IBM Support

PK95737: Incorrect handling of error in call to QCMDEXC

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The gist of the problem is that in the program BFTUA, function B
    FTUP-CHECK-FILE, they do a call to QCMDEXC to issue some FTP com
    mands (QCMDEXC is a CL command processor program).
    
    In the called CL program, they are issuing a SHL0001 message (i.
    e. escape).
    
    In VAGen, this condition was handled and the program continued (
    see job log for VAGen)
    
    In EGL, this condition is considered unhandled, and the program
    ends with a runtime termination error  (see job log for EGL).
    
    Looking at this, in VAGen around the call,  we registered a cond
    ition handler (VGNRCACH) that seemed to handle any escape/condit
    ion in the called programs and set EZERT8.
    
     309700            MOVE 'QCMDEXC' TO EZEPROGM
     309800            CALL 'CEEHDLR' USING EZE-CALL-STMT-COND-HDLR-
    PTR              ?---- points to VGNRCACH in VGNRSERR
     309900                                 EZE-CALL-STMT-COND-HDLR-
    PARM-P
     310000                                 OMITTED
     310100            END-CALL
     310200            MOVE ZEROS TO EZERT8
     310300            SET EZERTS-STATIC-CALL TO TRUE
     310400            SET EZERTS-CALL-OSLINKAGE TO TRUE
     310500            CALL 'QCMDEXC'
     310600                 USING
     310700                      REFERENCE EZEI-83 OF EZE77-ITEMS
     310800                      REFERENCE EZEI-82 OF EZE77-ITEMS
     310900            END-CALL
     311000            CALL 'CEEHDLU' USING EZE-CALL-STMT-COND-HDLR-
    PTR
     311100                                 OMITTED
     311200            END-CALL
    
    In EGL, we don't use the condition handler, so it is an 'unhandl
    ed' exception and it looks like it drives the on Exception and t
    erminates:
    
            6082     773600     MOVE ZEROS TO EZERT8
                                                      /  /
       6083     773700     SET EZEDLR-RECORD-PTR TO NULL
                                                 /  /
       6084     773800     SET EZERTS-STATIC-CALL TO TRUE
                                                 /  /
       6085     773900     SET EZERTS-CALL-OSLINKAGE TO TRUE
                                                 /  /
       6086     774000     CALL 'QCMDEXC' USING AS400-COMMAND-219 IN
     COMMWS-LEV-238                              /  /
                774100     AS400-COMMAND-LEN-220 IN COMMWS-LEV-238
                                                 /  /
                774200          ON EXCEPTION
                                                 /  /
       6087     774300             MOVE EZE-PROGRAM-SAVED-AREAS TO
                                                 /  /
                774400     EZE-PROGRAM-CALLER-AREAS
                                                 /  /
       6088     774500             MOVE 363 TO EZERTS-PRC-NUM
                                                 /  /
       6089     774600             PERFORM EZE-THROW-INV-EXCEPTION
                                                 /  /
                774700     END-CALL
    
    
    This is a VAGen migration, so the VAGCompatibility and V60Except
    ionCompatibility are on.
    
    The EGL code is:
    
    try
    call 'QCMDEXC'  (parmlist .....)
    end
    

Local fix

Problem summary

  • An abend handler was not being set up for externally defined
    iseries program execution.
    

Problem conclusion

  • Software updated. Fixtest available.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK95737

  • Reported component name

    RBD EGL FOR COB

  • Reported component ID

    5724S5001

  • Reported release

    710

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-09-09

  • Closed date

    2009-11-09

  • Last modified date

    2009-11-09

  • 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

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

Document Information

Modified date:
09 November 2009