IBM Support

IZ53257: SQL0451N error occurs when the DECIMAL data type is used in COBOL language

 

APAR status

  • Closed as program error.

Error description

  • For Cobol procedure creation, we always reproduced this problem
    on db2v9.5:
    Store Procedure Testing in DB2 V9.5
    =====================================
    1.Using language Cobol
    
    create procedure tp.crossbrd (
     in    lic_user_id            char(8),
     in    lic_pgm_id             char(8),
     in    lic_upd_mode           char(1),
     in    lic_upd_ind            char(12),
     out   lic_ret_cd             integer,
     in    anml_key               integer,
     in    brd_cd                 char(2),
     in    portion_16th           smallint,
     in    anml_reg_cd            decimal(1,0),
     in    hdbk_sect_cd           char(1),
     in    hdbk_sect_sts_cd       char(1),
     in    bsoc_proc_date         char(10),
     in    frgn_hdbk_anml_num     char(13),
     in    stud_fee_ind           decimal(1,0),
     in    hdbk_vol               char(8),
     in    frgn_hdbk_name         char(30),
     in    hdbk_sect_sts_id       integer
    )
           external name 'H80002'
           language cobol
           PARAMETER STYLE GENERAL WITH NULLS
           modifies sql data
    
    
    Result
    ===
    DB21034E  The command was processed as an SQL statement because
    it was
    not a
    valid Command Line Processor command.  During SQL processing it
    returned:
    SQL0451N  The "PARAMETER #9" definition, in the statement that
    defines
    routine
    "TP      .CROSSBRD", contains a data type "DECIMAL" that is not
    appropriate
    for a non-sourced routine written in the given language.  LINE
    NUMBER=21.
    SQLSTATE=42815
    
    SQL0451N  The "PARAMETER #9" definition, in the statement that
    defines
    routine "TP      .CROSSBRD", contains a data type "DECIMAL
    " that is not appropriate for a non-sourced routine written in
    the given
    language.
    
    But above test works fine on db2 v82 and db2 v91.
    

Local fix

  • Change Decimal type to float type
    

Problem summary

  • Users affected: All
    Problem Description: See above
    Problem Summary: See above
    

Problem conclusion

  • First fixed in DB2 UDB Version 9.5fp6
    

Temporary fix

  • N/A
    

Comments

APAR Information

  • APAR number

    IZ53257

  • Reported component name

    DB2 UDB ESE SOL

  • Reported component ID

    5765F4102

  • Reported release

    950

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2009-06-14

  • Closed date

    2010-10-12

  • Last modified date

    2023-07-25

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

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

    IC66520 IC66521

Fix information

  • Fixed component name

    DB2 UDB ESE SOL

  • Fixed component ID

    5765F4102

Applicable component levels

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"DB2 for Linux- UNIX and Windows"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"950","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
21 August 2023