z/OS DFSMSdfp Advanced Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


PUT Return and Reason Codes

z/OS DFSMSdfp Advanced Services
SC23-6861-01

Figure 1 describes the return and reason codes for the PUT function.

Figure 1. PUT Return and Reason Codes
PUT Return and Reason Codes

The DESD (DESERV member data descriptor) is the input to the DESERV PUT function. The DESD is an array consisting of the number of entries defined by the DESP field DESP_MEM_DATA2. The DESP_MEM_DATA_PTR points to the DESD and the DESD CSECT of the IGWDES macro maps it. The DESD structure is shown in Table 1.

Table 1. DESD Parameter List
Offset Length or Bit Pattern Name Description
00 (X'00') 16 DESD Member data descriptor (structure)
00 (X'00') 16 DESD_ENTRY Entry descriptor (character)
00 (X'00') 1 DESD_FLAG Flags (bitstring)
1... .... DESD_FLAG_ALIAS Alias entry
1 (X'01') 1 DESD_CODE Processing code (error=X'02', not processed =X'01', successful =X'00')(unsigned)
X'02' DESD_CODE_ERROR Constant to be used with DESD_CODE
X'01' DESD_CODE_NOGO Constant to be used with DESD_CODE
X'00' DESD_CODE_SUCC Constant to be used with DESD_CODE
2 (X'02') 2 DESD_ERRCODE Error code (low order halfword of DESERV reason code if error) (unsigned)
4 (X'04') 2 - Reserved
6 (X'06') 2 DESD_DATA_LEN Length of data area (unsigned)
08 (X'08') 4 DESD_DATA_PTR Address of data (address)
12 (X'0C') 4 DESD_NAME_PTR Address of varying length name (address)

The DESD_NAME_PTR points to the DESN structure. The DESD_DATA_PTR points to the directory entry for the program object being saved in the PDSE directory. The format of the directory entry is different depending on whether the DESD entry represents the primary name or an alias name. For the primary name, the DESD_DATA_PTR points to the CSECT PMAR mapped by IEWPMAR. For an alias name, the DESD_DATA_PTR points to the CSECT PMARA mapped by the macro IEWPMAR. Table 13 shows the PMARA structure. The DESD_FLAG_ALIAS identifies the entry in the DESD as a primary or an alias.

The DESERV exit is passed to the current return and reason code that is to be passed back to the DESERV caller. The exit (either the pre-processing or the post-processing) can cause DESERV to return a different return and reason code to the DESERV caller by returning with a return code of 4 in register 15. If the exit returns control to DESERV with a return code of 4 in register 15, the (possibly modified) values of DESX_RETURN_CODE and DESX_REASON_CODE are returned to the caller of DESERV. If the pre-processing exit returns a return code of 0 in register 15, processing continues. Whereas if the post-processing exit returns with a return code of 0 in register 15, the original values of DESX_RETURN_CODE and DESX_REASON_CODE (those that were passed as input to the exit) are returned to the DESERV caller.

The exit processing can include interrogation of the DESERV parameter list (DESP) or interrogation or modification of the other interface structures and buffers. The DESP will not be modified by the DESERV exit. The exit is passed the caller key DESP, but DESERV has already made a key 5 copy of the DESP that is used for DESERV processing. Therefore modifications to the caller key DESP would not influence the DESERV processing. The DESERV interface structures are defined in the macro IGWDES. The macros IGWSMDE and IEWPMAR define the directory entry format.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014