IBM Support

PM98480: RAS: PM79543 FIX COMPLETION. 13/10/03 PTF PECHANGE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • PM79543 fixed a logic problem in CSLULGTP. But the fix is not
    completed. We need to add some filtering to the exit logic
    introduced by the PM79543/UK90140.
    .
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All IMS V11 users using REXX SPOC            *
    ****************************************************************
    * PROBLEM DESCRIPTION: PM79543/UK90140 added logic to account  *
    *                      for error conditions where there is no  *
    *                      XML data from OM to parse and the stem  *
    *                      variables can not be set, but the test  *
    *                      for the condition is too inclusive and  *
    *                      prevents error data that is in the XML  *
    *                      from being processed and placed in the  *
    *                      stem variables by CSLULGTP.             *
    ****************************************************************
    * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF      *
    ****************************************************************
    PM79543/UK90140 added logic to account for error conditions
    where there is no XML data from OM to parse.  When there is
    no XML data, stem variables can not be set and the function
    must exit setting the IMSRC and IMSREASON REXX variables to
    the return code and reason code for the error condition.
    
    Prior to PM79543/UK90140, CSLULGTP returned RC=0, RSN=0 for
    these error conditions, or alternately, fell into a loop and
    consumed 100% of the CPU until cancelled.
    
    The problem with the logic introduced by PM79543/UK90140 to
    identify these error conditions is that it is too inclusive,
    processing all errors, including errors with valid XML data,
    instead of just terminating errors.
    

Problem conclusion

  • GEN:
    KEYWORDS:
    
    *** END IMS KEYWORDS ***
    The following modules were updated to address this problem:
    
    CSLULGTP:  The check for error conditions has been adjusted
               so that only terminating errors - errors thrown by
               SCI for logic, environment, and system problems -
               will be processed by the early termination logic
               introduced by PM79543/UK90140.
    
    PUBLICATION CHANGE:
    Book IMS Version 11,
    System Programming APIs
    SC19-2445-00,
    will be changed to reflect the following.
    
    In Chapter 10. REXX SPOC API and the CSL,
    under the heading 'CSLULGTP: retrieving command responses
    directly to a REXX stem variable',
    after the subheading 'Sample code for retrieving command
    responses using the CSLULGTP request',
    the following subheading and paragraph will be added:
    
    Handling errors when using the CSLULGTP function
    
    The CSLULGTP function will not set the "ctl.rc" and
    "ctl.rsn" stem variables if an error is encountered in
    the function itself or with an SCI service request.  It
    is therefore highly recommended that any REXX program
    using the CSLULGTP function first check the IMSRC and
    IMSREASON REXX variables before any other processing
    continues to determine if the function has completed
    successfully.
    
    If the IMSRC variable is non-zero, and the error was
    encountered in CSLULGTP itself, the value in IMSRC will
    begin with "08".  If the IMSRC variable is non-zero, and
    the error was encountered in SCI, the value in IMSRC will
    begin with "01".  In these cases, the "ctl.rc" and
    "ctl.rsn" stem variables are not set and no data is
    returned in the stem variables.
    
    For example, if the OM address space is not available
    when a command is issued and the CSLULGTP function is
    invoked, no stem variables are created and the IMSRC
    and IMSREASON variables will have the following values:
    
      IMSRC     = '01000010X'
      IMSREASON = '0000400CX'
    
    For other errors, the "ctl.rc" and "ctl.rsn" stem
    variables will contain the command return code and reason
    code and some of the other stem variables are set based on
    the command response.  For example, if an invalid verb was
    entered, there is no command response data returned, but
    the "ctl.rc" and "ctl.rsn" stem variables, as well as the
    REXX IMSRC and IMSREASON variables will be set:
    
      stem.XML             = '1.0'
      stem.DTD             = 'imsout.dtd'
      stem.CTL.OMNAME      = 'OM1OM'
      stem.CTL.OMVSN       = '1.5.0'
      stem.CTL.XMLVSN      = '20'
      stem.CTL.STATIME     = '2013.278 11:13:51.333637'
      stem.CTL.STOTIME     = '2013.278 11:13:51.333725'
      stem.CTL.RQSTTKN1    = 'ZZ'
      stem.CTL.RC          = '02000008'
      stem.CTL.RSN         = '00002004'
      stem.CMD.USERID      = 'USRT001'
      stem.CMD.VERB        = 'QRY'
      stem.CMD.INPUT       = 'qry invalid command'
      IMSRC                = '02000008X'
      IMSREASON            = '00002004X'
    
    If an invalid resource was entered, "ctl.rc" and "ctl.rsn"
    stem variables, additional stem variables pertaining to the
    command, and IMSRC and IMSREASON variables will be set:
    
      stem.XML             = '1.0'
      stem.DTD             = 'imsout.dtd'
      stem.CTL.OMNAME      = 'OM1OM'
      stem.CTL.OMVSN       = '1.5.0'
      stem.CTL.XMLVSN      = '20'
      stem.CTL.STATIME     = '2013.278 11:27:53.223819'
      stem.CTL.STOTIME     = '2013.278 11:27:53.224185'
      stem.CTL.RQSTTKN1    = 'ZZ'
      stem.CTL.RC          = '0000000C'
      stem.CTL.RSN         = '00003004'
      stem.CMDERR.0        = '1'
      stem.CMDERR.1.NAME   = 'IMS1'
      stem.CMDERR.1.TYP    = 'IMS'
      stem.CMDERR.1.STYP   = 'DBDC'
      stem.CMDERR.1.RC     = '0000000C'
      stem.CMDERR.1.RSN    = '00003004'
      stem.CMD.MASTER      = 'IMS1'
      stem.CMD.USERID      = 'USRT001'
      stem.CMD.VERB        = 'QRY'
      stem.CMD.KWD         = 'DB'
      stem.CMD.INPUT       = 'QUERY DB NAME(NOTTHERE)'
      stem.HDR.0           = '6'
      stem.HDR.1.SLBL      = 'DB'
      stem.HDR.1.LLBL      = 'DBName'
      stem.HDR.1.SCOPE     = 'LCL'
      stem.HDR.1.SORT      = 'a'
      stem.HDR.1.SCROLL    = 'no'
      stem.HDR.1.LEN       = '8'
      stem.HDR.1.DTYPE     = 'CHAR'
      stem.HDR.1.ALIGN     = 'left'
      stem.HDR.2.SLBL      = 'AREA'
      stem.HDR.2.LLBL      = 'AreaName'
      stem.HDR.2.SCOPE     = 'LCL'
      stem.HDR.2.SORT      = 'a'
      stem.HDR.2.SCROLL    = 'no'
      stem.HDR.2.LEN       = '8'
      stem.HDR.2.DTYPE     = 'CHAR'
      stem.HDR.2.ALIGN     = 'left'
      stem.HDR.3.SLBL      = 'PART'
      stem.HDR.3.LLBL      = 'PartName'
      stem.HDR.3.SCOPE     = 'LCL'
      stem.HDR.3.SORT      = 'a'
      stem.HDR.3.SCROLL    = 'no'
      stem.HDR.3.LEN       = '8'
      stem.HDR.3.DTYPE     = 'CHAR'
      stem.HDR.3.ALIGN     = 'left'
      stem.HDR.4.SLBL      = 'MBR'
      stem.HDR.4.LLBL      = 'MbrName'
      stem.HDR.4.SCOPE     = 'LCL'
      stem.HDR.4.SORT      = 'a'
      stem.HDR.4.SCROLL    = 'no'
      stem.HDR.4.LEN       = '8'
      stem.HDR.4.DTYPE     = 'CHAR'
      stem.HDR.4.ALIGN     = 'left'
      stem.HDR.5.SLBL      = 'CC'
      stem.HDR.5.LLBL      = 'CC'
      stem.HDR.5.SCOPE     = 'LCL'
      stem.HDR.5.SORT      = 'n'
      stem.HDR.5.SCROLL    = 'yes'
      stem.HDR.5.LEN       = '4'
      stem.HDR.5.DTYPE     = 'INT'
      stem.HDR.5.ALIGN     = 'right'
      stem.HDR.6.SLBL      = 'CCTXT'
      stem.HDR.6.LLBL      = 'CCText'
      stem.HDR.6.SCOPE     = 'LCL'
      stem.HDR.6.SORT      = 'n'
      stem.HDR.6.SCROLL    = 'yes'
      stem.HDR.6.LEN       = '18'
      stem.HDR.6.DTYPE     = 'CHAR'
      stem.HDR.6.ALIGN     = 'left'
      stem.REPORT.0        = '3'
      stem.REPORT.1        = 'DBName   AreaName  PartName  ...
      stem.REPORT.2        = 'NOTTHERE                     ...
      stem.REPORT.3        = '                             ...
      IMSRC                = '0200000CX'
      IMSREASON            = '00003008X'
    
    At all times when the function is successful, the IMSRC
    and IMSREASON variables will have the following values:
    
      IMSRC     = '00000000X'
      IMSREASON = '00000000X'
    
    Note:  In the above examples the trailing  X  is actually
    part of the value and not the REXX representation for a
    hexadecimal value.  Both IMSRC and IMSREASON are character
    values with a length of 9: 8-characters representing the
    hexadecimal value followed by a ninth character which is
    always the letter  X .
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM98480

  • Reported component name

    IMS V11

  • Reported component ID

    5635A0200

  • Reported release

    100

  • Status

    CLOSED PER

  • PE

    YesPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2013-10-04

  • Closed date

    2013-11-01

  • Last modified date

    2013-12-02

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

    PM98391

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

    UI12113

Modules/Macros

  • CSLULGTP
    

Publications Referenced
SC19244500    

Fix information

  • Fixed component name

    IMS V11

  • Fixed component ID

    5635A0200

Applicable component levels

  • R100 PSY UI12113

       UP13/11/06 P F311 Ø

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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"100","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVRBJ","label":"System Services"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"100","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 December 2013