IBM Support

PM32748: VAGen to EGL migration error with comment CRUCAT for a 'for update' clause

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Environment: Windows
    
    Product name: IBM? Rational? Business Developer
    
    Program Version    :  7.5.1.6
    Description.
    When migrating from VAGen to EGL an error occurs where the
    comments for an 'for update' clause are incorrectly defined in
    the EGL code.
    
    Example code from VAGen:
    :sql       clause    = SELECT      hostvar = '?'.
    EMPNO, FIRSTNME, MIDINIT, LASTNAME, WORKDEPT, PHONENO, HIREDATE,
    JOB, EDLEVEL, SEX, BIRTHDATE, SALARY, BONUS, COMM  /*  select
    comment */
    :esql.
    :sql       clause    = INTO      hostvar = '?'.
    ?EMPNO, ?FIRSTNME, ?MIDINIT, ?LASTNAME, ?WORKDEPT, ?PHONENO,
    ?HIREDATE, ?JOB, ?EDLEVEL, ?SEX, ?BIRTHDATE, ?SALARY, ?BONUS,
    ?COMM  /* into comment */
    :esql.
    :sql       clause    = WHERE      hostvar = '?'.
    :esql.
    :sql       clause    = FORUPDATEOF      hostvar = '?'.
    EMPNO, FIRSTNME, MIDINIT, LASTNAME, WORKDEPT, PHONENO, HIREDATE,
    JOB, EDLEVEL, SEX, BIRTHDATE, SALARY, BONUS, COMM   /** * CRUCAT
    */
    :esql.
    :efunc.
    
    Generated EGL code:
    Function TSTCOMM_MAIN()
      open TSTCOMM_MAIN_RSI01 forUpdate
        with #sql{
          select EMPNO, FIRSTNME, MIDINIT, LASTNAME, WORKDEPT,
    PHONENO, HIREDATE, JOB, EDLEVEL, SEX, BIRTHDATE, SALARY, BONUS,
    COMM   --  select comment */
          from DSN8810.EMP T1
          for update of EMPNO, FIRSTNME, MIDINIT, LASTNAME,
    WORKDEPT, PHONENO, HIREDATE, JOB, EDLEVEL, SEX, BIRTHDATE,
    SALARY, BONUS, COMM   /** * CRUCAT */
        }
        into EMPNO, FIRSTNME, MIDINIT, LASTNAME, WORKDEPT, PHONENO,
    HIREDATE, VAGen_JOB, EDLEVEL, SEX, BIRTHDATE, SALARY, BONUS,
    COMM  /* into comment */
        for HOSTEMPLOYEE ;
    end // end TSTCOMM_MAIN
    
    The comment line '/*** CRUCAT' is then incorrectly migrated to '
    /** * CRUCAT */' in the update clause rather then the required
    -- CRUCAT */ representation for SQL notation.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    User Affected:
    Users of RBD 7.5.1.x below 7.5.1.6 and RBD 8.0.x below 8.0.1
    using VAGen migration.
    
    Description:
    When migrating from VAGen to EGL an error occurs where the
    comments for an "for update" clause are incorrectly defined
    in the EGL code.
    
    Example code from VAGen:
    :sql   clause    = SELECT   hostvar = '?'.
    EMPNO, FIRSTNME, MIDINIT, LASTNAME, WORKDEPT, PHONENO,
    HIREDATE, JOB, EDLEVEL, SEX, BIRTHDATE, SALARY, BONUS, COMM
    /*  select comment */
    :esql.
    :sql   clause    = INTO hostvar = '?'.
    ?EMPNO, ?FIRSTNME, ?MIDINIT, ?LASTNAME, ?WORKDEPT, ?PHONENO,
    ?HIREDATE, ?JOB, ?EDLEVEL, ?SEX, ?BIRTHDATE, ?SALARY,
    ?BONUS, ?COMM  /* into comment */
    :esql.
    :sql   clause    = WHERE  hostvar = '?'.
    :esql.
    :sql   clause    = FORUPDATEOF      hostvar = '?'.
    EMPNO, FIRSTNME, MIDINIT, LASTNAME, WORKDEPT, PHONENO,
    HIREDATE, JOB, EDLEVEL, SEX, BIRTHDATE, SALARY, BONUS, COMM
    /** * CRUCAT */
    :esql.
    :efunc.
    
    The comment line "/*** CRUCAT" is then incorrectly migrated
    to " /** * CRUCAT */" in the update clause rather then the
    required -- CRUCAT */ representation for SQL notation.
    

Problem conclusion

  • The problem is resolved
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM32748

  • Reported component name

    RBD EGL FOR COB

  • Reported component ID

    5724S5001

  • Reported release

    751

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-02-15

  • Closed date

    2011-05-06

  • Last modified date

    2011-05-06

  • 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

    RBD EGL FOR COB

  • Fixed component ID

    5724S5001

Applicable component levels

  • R751 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":"7.5.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
06 May 2011