OA30685: SYSIN DATA NOT RETURNED FOR JESJCLIN SDSB ALLOCATED DATASET

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as documentation error.

Error description

  • External Symptoms
    When allocating a  Spool data set browse (SDSB) data set
    userid.jobname.jobid.jes_dsname
    Where the  jes_dsname  is JCL or JESJCLIN
    The data read from this DD card should return the input JCL
    including the SYSIN data sets.
    The JCL is returned but they do  not  receive the SYSIN data
    .
    Impact to Customer
    The data from the SYSIN DD card is not returned to the
    application.
    .
    Analysis
    Looking into the DSB / DSS pair for the allocated DD card we
    see that the DSS contains the following flags
    .
    Bits set in flag DSSFLAG9
    -------------------------
       DSSSPLBR - Spool browse data set
       DSSSBCTK - Spool browse with CTOKEN
       DSSSBCBF - Spool browse with core-buf
    .
    The module IATDMDM after label DMG011 test for DSSSPLBR+DSSSBJCL
    when it decides if the SYSIN data is requested.
    We are missing DSSSBJCL so we skip the SYSIN data processing.
    .
    The flag  DSSSBJCL  is supposed to be set on in  IATSIAD  after
    label  ADDSN400.
    Unfortunately we skip this part of the code after label ADSETDSN
    due to a test of the flag  DSSSBCTK  that is on.
    DSSSBCTK - Spool browse with CTOKEN
    
    The projected closing code for this APAR is DOC.
    

Local fix

  • Verification step:
    1. DSSSPLBR - Spool browse data set
       DSSSBCTK - Spool browse with CTOKEN
       DSSSBCBF - Spool browse with core-buf
     Are all on and DSSSBJCL is off and SYSIN data is missing.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of HJS7750 and HJS7760.            *
    ****************************************************************
    * PROBLEM DESCRIPTION: Instream data not returned for JESJCLIN *
    *                      SDSB allocated data set.                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A customer followed the documented instructions to dynamically
    allocate a job's JESJCLIN data set for Spool Data Set Browse
    (SDSB).  He also specified the documented alternate data set
    name for JESJCLIN to have instream SYSIN data inserted into the
    JCL.  However, the instream data was not returned with the JCL.
    
    The documentation for the SDSB interface says both the
    DALDSNAM (data set name) and the DALBRTKN (browse token)
    keys are required to dynamically allocate a data set.
    Further, since the customer was running under JES3, the browse
    token's type (BTOKTYPE in IAZBTOKP) was required to be
    BTOKSTKN and BTOKIOTP (IAZBTOKP) was required to point to a
    data set token.  However, module IATSIAD ignores the data set
    name if BTOKIOTP points to a data set token.  As a result,
    IATSIAD does not check for the alternate form of the data set
    name and does not return the instream data when the published
    documentation is followed.
    

Problem conclusion

  • The documentation will be changed to more accurately describe
    the Spool Data Set Browse (SDSB) interface.
    
    The information in the following z/OS manuals should appear as
    indicated below.  Updates will only be made to the manuals in
    future z/OS releases.
    
    SA23-2240-xx   JES Application Programming
    
    The "Building the Browse Token (DALBRTKN)" section in Chapter
    2 should read as follows (changes marked with "|"):
    
    Building the Browse Token (DALBRTKN)
    
     Before issuing the dynamic allocation request, the application
     must build the browse token and pass it with the DALBRTKN text
     unit. The format of the browse token is mapped by macro
     IAZBTOKP.  The browse token is built in text unit format with
     7 subparameters. When building the browse token, the following
     SVC 99 text unit fields must be set:
    
     Field                         Value
     S99TUKEY                      DALBRTKN
     S99TUNUM                      7
     S99TUPAR                      Mapped by IAZBTOKP
    
    
     The token is of fixed length and all subparameters must be
     coded. Each browse token subparameter contains a length
     followed by the data, so it will be in text unit format.
    
     You can complete the fields in the token as follows:
    
     BTOKPL1
       Length of the browse token identifier (LENGTH(BTOKID)).
    
     BTOKID
       Browse token id (BTOK). The IAZBTOKP macro defines constant
       BTOKCID to be used to set this field.
    
     BTOKPL2
       Length of the token version field (LENGTH(BTOKVER)).
    
     BTOKVER
       The 2 byte version number of the token parameter list. Byte
       1 (or TOKTYPE) indicates the call type. If it is set to
       BTOKBRWS, then this is a normal browse request. If it is set
       to BTOKSTKN, then this is a SPOOL token based browse request.
       JES3 supports only BTOKSTKN. Byte 2 (or BTOKVERS) is the
       parm list version and should be set to BTOKVRNM.
    
    |BTOKPL3
    |  Length of the data pointer field.
    |
    |BTOKIOTP/BTOKSPLT
    |  Data pointer whose content is based on the first byte of
    |  BTOKVER.
    |
    |  BTOKIOTP
    |  If BTOKVER is set to BTOKBRWS (JES2 only), this is a normal
    |  browse, and BTOKIOTP is either zero or the MTTR of the IOT
    |  containing the PDDB of the file to be allocated (obtained
    |  from JOEIOTTR or IOTTRACK, for example).  The data set name
    |  supplied in DALDSNAM keyed text unit is used to locate the
    |  specific data set to be allocated.  If BTOKIOTP is zero, the
    |  data set is located by using only the data set name.
    |
    |  BTOKSPLT
    |  If BTOKVER is set to BTOKSTKN, BTOKSPLT may be zeroes or
    |  point to a client token (returned from dynamic allocation
    |  using key DALRTCTK) or a data set token (returned by the SAPI
    |  SSI in field SSS2DSTR or the Extended Status SSI in field
    |  STVSCTKN).  If BTOKIOTP is zeroes, JES will use the data set
    |  name suppliedin the DALDSNAM keyed text unit to find the
    |  specific data set to allocate.  If BTOKIOTP points to a
    |  client or data set token, the token is used to find the data
    |  set to allocate and the data set name supplied in the
    |  DALDSNAM keyed text unit is ignored.
    
     BTOKPL4
       Length of the job key field (LENGTH(BTOKJKEY)).
    
     BTOKJKEY
       Optional job key of the file to be allocated (for example,
       the job key obtained from JCTJBKEY, JQEJBKEY, or SJBJKEY).
       This field is not used if BTOKVER is set to BTOKSTKN. This
       field is required if BTOKTYPE is set to BTOKBRWS and BTOKIOTP
       is non-zero. JES3 does not support this parameter and this
       field is set to zero.
    
     BTOKPL5
       Length of the ASID field (LENGTH(BTOKASID)).
    
     BTOKASID
       The 2 byte ASID of the data set owning job if active buffers
       are needed. If active buffers are not needed, then pass 0.
       If the ASID is not known, then pass X"FFFF" and JES will
       determine the correct ASID.
    
     BTOKPL6
       Length of the RECVR field (LENGTH(BTOKRCID)).
    
     BTOKRCID
       Eight byte userid to be used as the RECVR on the SAF call or
       zeros if the RECVR is not being used. JES uses this field to
       check authority to the browse request. When RECVR is used,
       the value must be left justified and padded with blanks.
    
       When this parameter is specified, the logstr field should
       also be used so that usage of recvr can be logged. However,
       neither JES nor SAF enforces this convention.
    
     BTOKPL7
       Length of the logstr field (LENGTH(BTOKLOGS)).
    
     BTOKLSDL
       Length of the logstr (specified in field BTOKLSDA) to be
       used on the SAF call used by JES to check authority to the
       browse request, or zero if the logstr is not being used.
    
        The logstr length must be a value from 0 to 254.
    
     BTOKLSDA
       Text of the logstr if BTOKLSDL is non-zero, or zeros if the
       logstr is not being used.
    
       The maximum length text is 254 characters.
    
     Note: When you use the compatibility interface to read the
           data set, you could also use text units specifying the
           record format, record length, and blocksize.
    

Temporary fix

Comments

APAR Information

  • APAR number

    OA30685

  • Reported component name

    JES3

  • Reported component ID

    5752SC1BA

  • Reported release

    750

  • Status

    CLOSED DOC

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-10-16

  • Closed date

    2010-01-08

  • Last modified date

    2010-01-08

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

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

Publications Referenced
SA232240XX        

Fix information

Applicable component levels



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

z/OS family

Software version:

750

Operating system(s):

MVS, z/OS

Reference #:

OA30685

Modified date:

2010-01-08

Translate my page

Machine Translation

Content navigation