IBM Support

PI28531: MSGDSNH312I DSNH312I UNDEFINED OR UNUSABLE HOST VARIABLE WITH CREATE STORED PROCEDURE SQLPL

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Create  Stored procedure gives following message:
    "
    PRECOMPILE SQLPRINT 27 0DSNH312I E     DSNHSMUD LINE 1408 COL 32
    UNDEFINED OR UNUSABLE HOST VARIABLE "P1"
    

Local fix

  • n/a
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of DB2 11 for z/OS who declare     *
    *                 a varying character with the length of one   *
    ****************************************************************
    * PROBLEM DESCRIPTION: DB2 precompiler may return message      *
    *                      DSNH312I from DSNHSMUD for a variable   *
    *                      declared in C as char with a length     *
    *                      of one                                  *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    DB2 precompiler may return message DSNH312I from DSNHSMUD for
    a varying length character variable declared with a length of
    one, or a NUL-terminated character host variable in C declared
    with a length of one.  Internally, DB2 will convert a varying
    length character with the length of one to a NUL-terminated
    character variable in C with a length of one.  The DB2
    precompiler fails to account for the null byte.  The precompiler
    miscalculates the length, resulting in message DSNH312I.
    Variables declared with a length greater than one do not
    have this problem.
    
    For example:
    
    char x 1 ;
    
    DSNH312I can be returned for variable x.
    
    Additional Keywords:
    MSGDSNH312I  NULL-terminated  IDAAV4R1/K
    

Problem conclusion

  • Code is updated to correct the handling of character strings
    with a length of one in C.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI28531

  • Reported component name

    DB2 OS/390 & Z/

  • Reported component ID

    5740XYR00

  • Reported release

    B10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-10-28

  • Closed date

    2015-01-30

  • Last modified date

    2015-03-03

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UI24848

Modules/Macros

  •    DSNHLEXD
    

Fix information

  • Fixed component name

    DB2 OS/390 & Z/

  • Fixed component ID

    5740XYR00

Applicable component levels

  • RB10 PSY UI24848

       UP15/02/14 P F502

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
06 May 2020