IBM Support

PM67821: DB2 PRECOMPILER error in generated COBOL due to order of sql statements

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Below EGL has DB2 PRECOMPILER error in EGL V8 with COBOLGen due
    to the order of Top Level Function is reordered by their name in
    compiler.
    
    package issues;
    
    
    
    import egl.syntax.sqlio.employeeRecordEGLDB2;
    
    
    
    // basic program
    
    //
    
    program TSQLOrder type BasicProgram {
    
    includeReferencedFunctions = yes, allowUnqualifiedItemReferences
    = yes,
    localSQLScope = yes, throwNrfEofExceptions = yes,
    handleHardIOErrors =
    no,
    
    V60ExceptionCompatibility = YES, TextLiteralDefaultIsString = NO
    
    }
    
    qualifiedData employeeRecordEGLDB2;  // need to hardcoded schema
    
    
    
    function main()
    
    func2();
    
    func4();
    
    func3();
    
    func1();
    
    end
    
    
    
    
    
    
    
    end
    
    
    
    function func2()
    
       execute #sql{
    
       declare EP_DCL_ETHALIPL1_RSI01 cursor for
    
           select *
    
             from EMPLOYEETEST
    
    
    
       };
    
    end
    
    
    
    function func1()
    
    execute #sql{
    
          close  EP_DCL_ETHALIPL1_RSI01
    
          };
    
    
    
    end
    
    
    
    function func3()
    
    a int;
    
       execute #sql{
    
        fetch EP_DCL_ETHALIPL1_RSI01 into :a
    
       };
    
    end
    
    
    
    function func4()
    
    
    
       execute #sql{
    
       open  EP_DCL_ETHALIPL1_RSI01
    
       };
    
    end
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Cobol compilation error results from functions being
    reordered by name. The reordering is done to assure that
    applications are always generated with the same function
    order. Howerver, this can cause problems for sql
    applications.
    

Problem conclusion

  • A new vm argument check has been added. To prevent EGL from
    reordering functions, specify:
    -Degl_maintain_function_order
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM67821

  • Reported component name

    RATL BUS DEV

  • Reported component ID

    5724S5000

  • Reported release

    801

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-06-28

  • Closed date

    2012-10-08

  • Last modified date

    2012-10-08

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

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

Fix information

  • Fixed component name

    RATL BUS DEV

  • Fixed component ID

    5724S5000

Applicable component levels

  • R801 PSN

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSMQ79","label":"Rational Business Developer"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
08 October 2012