IBM Data and AI Ideas Portal for Customers


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:

Post your ideas

Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea

Help IBM prioritize your ideas and requests

The IBM team may need your help to refine the ideas so they may ask for more information or feedback. The product management team will then decide if they can begin working on your idea. If they can start during the next development cycle, they will put the idea on the priority list. Each team at IBM works on a different schedule, where some ideas can be implemented right away, others may be placed on a different schedule.

Receive notification on the decision

Some ideas can be implemented at IBM, while others may not fit within the development plans for the product. In either case, the team will let you know as soon as possible. In some cases, we may be able to find alternatives for ideas which cannot be implemented in a reasonable time.

Additional Information

To view our roadmaps: http://ibm.biz/Data-and-AI-Roadmaps

Reminder: This is not the place to submit defects or support needs, please use normal support channel for these cases

IBM Employees:

The correct URL for entering your ideas is: https://hybridcloudunit-internal.ideas.aha.io


Status Under review
Workspace Db2 for z/OS
Created by Guest
Created on Oct 27, 2021

SQL Error Code -305 & -803 in Program DSNTRIN After DSNTIJRT job run Case TS007245993

Hello Team,


  • We are getting sqlid error code -305 & -803 in program DSNTRIN after submiiting DSNTIJRT job while applying Db2 mainteance.
    DSNTIJRT job run fine without any issue but in log we can see the errors.
    SELECT does not have a null-indicator for the SQLTYPEINFO column TYPE-NAME. That Table is used by Java.
    JOb output and MEPl report uploaded.
    Display ==> M (M=Msg,X=Hex) DB2 SSID ==> PD01
    SQLcode ==> -305 Opid ==> V991813 Planname ==> ?RRSAF
    SQLstate ==> 22002 Connid ==> RRSAF Contoken ==> 1AFCF4BA01D291A8
    Program ==> DSNTRIN Type ==> PKGE Stmt# ==> 23748
    Collid ==> DSNTRIN
    Version ==> UI69433

    -------------------------------------------------------------------------------

    DSNT408I SQLCODE = -305, ERROR: THE NULL VALUE CANNOT BE ASSIGNED TO OUTPUT
    HOST VARIABLE NUMBER 1 BECAUSE NO INDICATOR VARIABLE IS SPECIFIED
    DSNT418I SQLSTATE = 22002 SQLSTATE RETURN CODE
    DSNT415I SQLERRP = DSNXROHB SQL PROCEDURE DETECTING ERROR
    DSNT416I SQLERRD = -115 0 0 -1 0 0 SQL DIAGNOSTIC INFORMATION
    DSNT416I SQLERRD = X'FFFFFF8D' X'00000000' X'00000000' X'FFFFFFFF'
    X'00000000' X'00000000' SQL DIAGNOSTIC INFORMATION
    ******************************* BOTTOM OF DATA ********************************

    SELECT COLUMN_SIZE
    INTO :H
    FROM SYSIBM.SQLTYPEINFO
    WHERE TYPE_NAME = 'ARRAY'


    Display ==> M (M=Msg,X=Hex) DB2 SSID ==> PD01
    SQLcode ==> -803 Opid ==> V991813 Planname ==> ?RRSAF
    SQLstate ==> 23505 Connid ==> RRSAF Contoken ==> 1AFCF4BA01D291A8
    Program ==> DSNTRIN Type ==> PKGE Stmt# ==> 19903
    Collid ==> DSNTRIN
    Version ==> UI69433

    -------------------------------------------------------------------------------

    DSNT408I SQLCODE = -803, ERROR: AN INSERTED OR UPDATED VALUE IS INVALID
    BECAUSE INDEX IN INDEX SPACE TIX12768 CONSTRAINS COLUMNS OF THE
    TABLE SO NO TWO ROWS CAN CONTAIN DUPLICATE VALUES IN THOSE COLUMNS.
    RID OF EXISTING ROW IS X'0000002201'.
    DSNT418I SQLSTATE = 23505 SQLSTATE RETURN CODE
    DSNT415I SQLERRP = DSNXRINS SQL PROCEDURE DETECTING ERROR
    DSNT416I SQLERRD = -110 13172739 0 13817814 -490143744 0 SQL
    DIAGNOSTIC INFORMATION
    DSNT416I SQLERRD = X'FFFFFF92' X'00C90003' X'00000000' X'00D2D7D6'
    X'E2C90000' X'00000000' SQL DIAGNOSTIC INFORMATION
    ******************************* BOTTOM OF DATA ********************************


    INSERT
    INTO SESSION.OBJECT_ACCESS_LIST
    VALUES ( :H )After


After the analysis we got to know its normal and basically can be ignored .

They are really working as design.

E.g. for SQLCODE -803 DSNTRIN is creating a consolidated access list for an object.

To do this, DSNTRIN inserts the GRANTTO user IDs into the

SESSION.OBJECT_ACCESS_LIST table, which is defined with a unique index

key, to come up with a list of unique user IDs for the CGTT. Inserting

the duplicate user IDs causes SQLCODE -803.


So , you could accept these sqlcodes may in monitor,

IBM dev team has agreed that this is an internal query and that we're giving back the correct results so we're going to leave it as working as design.

We think otherwise :

any SQL Programmer would code an SQL Statement for a nullable column that can return a null value and trigger an error (-305).

The Programmer must either add a Null-Indicator to avoid the error, or he must use the COALESCE Function to assign a non-null Value in its place, avoiding the error.

Even if he is using the -305 to check if a null value exists, he could still assign a specific non-null value as default in the COALESCE that would help him identify that a null value has been found and avoid the error code.


Needed By Not sure -- Just thought it was cool