Skip to Main Content
IBM Power Ideas Portal


This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Not under consideration
Workspace IBM i
Categories Core OS
Created by Guest
Created on Jun 9, 2020

Add Object Info Status to QUSROBJD 0100 Format

Today when QUSROBJD is used and the Object is "damaged" an exception/error is issued, CPF2115 in the QUSEC error structure.
Add Object Status (including Damaged Object status) similar that which is returned by QGYOLOBJ Information Status token.


Use Case:

When retrieving object descriptions, a consistent method to know if the object is "damaged" or has some other status is preferred over the myriad styles and cryptic techniques required today. Using QGYOLOBJ we have the object's information status, with various codes P, D, L, etc. But no such info returned via QUSROBJD thus exception messages must be looked up, monitored for, interpreted and handled, usually in a programming language that does not lend itself to MONMSG CL commands or other such methods. Also the information is not returned in this context.


Idea priority Low
  • Guest
    Reply
    |
    Mar 22, 2024
    The QUSROBJD and QGYOLOBJ APIs report errors differently. The QGYOLOBJ API returns library errors but not individual object errors since multiple objects may be returned. Errors for the object are communicated with the "information status" field. Since the QUSROBJD API works with a single object, it returns error messages instead of a status flag. For the QUSROBJD API, we've decided that it's better to report object errors instead of using a status flag.

    You could use the DSPOBJD command with output to an outfile, OUTPUT(*OUTFILE), and get flags in the outfile for "object damaged" and "object locked". DSPOBJD returns the fields when DETAIL(*BASIC) is specified. Then you can query the outfile to find the damaged objects:

    SELECT ODOBNM, ODOBTP, ODOBAT, ODOBDM, ODOBLK, ODOBTX FROM
    libname/dmgobjs

    The ODOBDM field has the following values returned for damage
    Object damaged: 0=Not damaged, 1=Full, 2=Partial


    IBM Power Systems Development
  • Guest
    Reply
    |
    Dec 3, 2020

    IBM will consider your request for a future code update, though no commitment is made or implied.

  • Guest
    Reply
    |
    Oct 19, 2020

    Well, I think you could add a field to the OBJD0100 structure since it has a BYTES PROVIDED/BYTES RETURNED subfields.
    If you're not already checking those fields then that's a different issue.
    Having said that, The OBJECT DOMAIN field would be a good candidate for a Damaged Object flag of sorts.

  • Guest
    Reply
    |
    Sep 29, 2020

    We cannot add a new "information status" field to the existing OBJD0100 format. We have no reserved fields left in the OBJD0100 return structure and we cannot add a new field to the end of the structure.

    We could reuse one of the existing fields in the OBJD0100 return structure and return the "information status" in the field if an error occurred and return a value for the object if there was no object error. Would that work for you?

    Here is a list of fields in the OBJD0100 structure which could have the "information status" returned:
    BINARY(4) Object auxiliary storage pool (ASP) number
    CHAR(10) Object owner
    CHAR(2) Object domain
    CHAR(13) Creation date and time
    CHAR(13) Object change date and time

    The "information status" field in the QGYOLOBJ and QUSLOBJ APIs is a CHAR(1) field.
    To be consistent with the QGYOLOBJ and QUSLOBJ APIs, we would add "information status" in one of the character fields.

  • Guest
    Reply
    |
    Sep 21, 2020

    Yes, the Damaged Object Status should be returned instead of only available via the error message.

  • Guest
    Reply
    |
    Sep 21, 2020

    The QUSROBJD API returns information for a single object and sends error messages for an object in error. The QGYOLOBJ API works differently and does not send error messages for an object in error.

    Are you asking for more information to be returned for an object error on the object in addition to the error message?
    A change to return an information status and not an error would be an inconsistent change for the API.

  • Guest
    Reply
    |
    Jun 15, 2020

    Due to processing by IBM, this request was reassigned to have the following updated attributes:
    Brand - Servers and Systems Software
    Product family - Power Systems
    Product - IBM i
    Component - Core OS
    Operating system - IBM i
    Source - None

    For recording keeping, the previous attributes were:
    Brand - Servers and Systems Software
    Product family - Power Systems
    Product - IBM i
    Component - Application Development
    Operating system - IBM i
    Source - None