IBM Support

PM18490: CPSM API PROGRAM PERFORM SET RECEIVES NODATA/FORWARD 1027/1288

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Your API program issues a GET to retrieve a list of resources.
    It then begins a program loop to FETCH a resource and then a
    PERFORM SET to update an attribute of that resource.  For
    example:
    
      (PERFORM SET ACTION('NEWCOPY') on a PROGRAM resource
    
    You successfully process all but the last resource.  On the last
    one, the FETCH is successful, but the PERFORM SET receives CPSM
    Response and Reason codes:
    .
      RESPONSE = 1027 or x'403' meaning 'NODATA'
      REASON   = 1288 or x'508' meaning 'FORWARD'
    .
    In a CPSM trace with KNL level 30 and DAT levels 18 and 19 in
    the CMAS and MAS where the API runs, you will see a trace
    similar to the following, reporting the error:
    .
    TASK:12345 METHOD:XDER PRIOR:XLAP DEBUG:PostArgs POINTID: 18000
               MAJOBJ:DAT  ENVRN:LMAS TYPE:LEVEL  18 TOD:hh:mm:ss
               UOW(CPSM):  SYSTM:ABCD NAME:MYLMAS    CICS-TASK: 999
    ..
    Resp       LEN:000004   ALET:00000000 ADDR:1649C2C0
           0 - 00000403
    Reason     LEN:000004   ALET:00000000 ADDR:1649C2C8
           0 - 00000508
    .
    Additional Keywords:  KIXREVxxx
    BDC000033264 DCF 1379014 NODATA/FORWARD NODATA FORWARD 403 508
    00000403 00000508
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICSPlex SM V4R1M0 Users                 *
    ****************************************************************
    * PROBLEM DESCRIPTION:    You write a CPSM API program wnich   *
    *                      issues a GET to retrieve a list of re-  *
    *                      sources.  It then begins a program loop *
    *                      to FETCH a resource and then execute a  *
    *                      PERFORM SET to perform an action on     *
    *                      that resource.  For example:            *
    *                      .                                       *
    *                         PERFORM SET CURRENT                  *
    *                                     ACTION('NEWCOPY')        *
    *                      .                                       *
    *                      on a PROGRAM resource.  You process all *
    *                      but one of the resources in the result  *
    *                      set, but while the FETCH is successful  *
    *                      for the last resource, the PERFORM SET  *
    *                      receives CPSM Response and Reason:      *
    *                      .                                       *
    *                         RESPONSE = 1027 (NODATA)             *
    *                         REASON   = 1288 (FORWARD)            *
    ****************************************************************
    * RECOMMENDATION: After applying the PTF that resolves this    *
    *                 APAR, all CMASes and MASes must be recycled  *
    *                 to pick up the new code.  Note that the      *
    *                 restarts do not need to be done at the same  *
    *                 time.                                        *
    ****************************************************************
       The CPSM API maintains two cursors for a result set.  One
    points to the last record which was FETCHed from the result
    set;  the other points to the next record to be FETCHed.
       Modules EYU0XDP4 (XDP4 - API PERFORM SET), EYU0XDP5 (XDP5 -
    API REFRESH), and EYU0XDW1 (XDW1 - API SET) make an internal
    call to EYU0XDY1 (XDY1 - API FETCH) to retrieve the key fields
    for the target resources.  If these commands are called with
    the CURRENT option, the last-record-FETCHed cursor is used to
    locate the current record, but the next-record cursor is tested
    to identify an end-of-set (NODATA) condition.  Because the
    next-record cursor normally points to the record following the
    last record FETCHed, this results in a RESPONSE and REASON of
    NODATA / FORWARD for forward processing, or NODATA / BACKWARD
    for backward processing, when processing the final resource in
    the result set.
    

Problem conclusion

  •    Because the last-record-FETCHed cursor is known to point to a
    valid record, it is not necessary to test for end-of-set when
    FETCH is called for an internal CURRENT request.  A test is made
    later in the module to insure that the record pointed to by the
    last-record-FETCHed cursor was not logically deleted.  EYU0XDY1
    has been modified to bypass the check for end-of-set if the call
    is for an internal CURRENT request.
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PM18490

  • Reported component name

    CICS TS Z/OS V4

  • Reported component ID

    5655S9700

  • Reported release

    60M

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-07-16

  • Closed date

    2010-07-21

  • Last modified date

    2010-08-02

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

    PM18605

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

    UK58922

Modules/Macros

  •    EYU0XDY1
    

Publications Referenced
SC34703100    

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R60M PSY UK58922

       UP10/07/22 P F007

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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"4.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"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":"4.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 August 2010