Exit parameter block DSECT


This topic displays the Assembler exit parameter block DSECT.


* ADUEXITP DEFINES THE UNLOAD USER EXIT PARM BLOCK
* YOU MAY NOT MODIFY THE FIELDS IN FRONT OF THE USER AREA
*
* NOTE THAT THE UNLOAD USER EXIT PARM BLOCK IS UNIQUE FOR EACH
* INVOCATION OF THE EXIT. ANY ADDRESSES STORED INTO/MODIFICATIONS
* MADE TO THE USER PORTION OF THIS Control BLOCK ARE NOT SHARABLE
* IN A MULTITASKING ENVIRONMENT.
**********************************************************************
*
ADUEXITP DSECT ,                  PARMS PASSED TO EXIT
XPFUNC   DS    F                  0 = PROCESS, 1 = INIT, 2=TERMINATE
XPSQLDA@ DS    F                  A(SQLDA) FOR THIS TABLE
XPTABLE@ DS    F                  A(TABLE NAME BEING UNLOADED)
* THE ABOVE POINTS TO 128 BYTE CREATOR, FOLLOWED BY 128 BYTE NAME
         DS    H                  RESERVED FOR UNLOAD PLUS
XPREF#   DS    H                  BLOCK REFERENCE#
XPSSID@  DS    F                  A(SSID)         4  BYTES
XPUSER@  DS    F                  A(USERID)       8  BYTES
XPUTID@  DS    F                  A(UTILITY ID)   16 BYTES
         DS    6F                 RESERVED FOR UNLOAD PLUS
*
** USER AREA
*
* XPUSRMSG CONTAINS A SINGLE MESSAGE ENTRY.  ON RETURN FROM THE EXIT,
*          IF THIS FIELD IS NON-BLANK, IT IS PRINTED THEN BLANKED.
*
* XPUSRMS@ POINTS TO A MESSAGE BUFFER THAT CAN CONTAIN MULTIPLE EXIT
*          MESSAGES OF EQUAL LENGTH.  THESE MESSAGE(S) WILL BE
*          PRINTED AFTER XPUSRMSG (IF ANY).
*          FORMAT OF THE MESSAGE BUFFER AT THIS ADDRESS IS:
*
*          #MSGS    DS  H         NUMBER OF LINES, 0 = NO PRINT
*          MSGSIZE  DS  H         SIZE OF EACH LINE (MAX = 100)
*          MSGTEXT  DS  CL(#MSGS*MSGSIZE)  USER MESSAGES
*
XPUSERW@ DS    F                  USER WORK AREA ADDRESS
XPUSERF1 DS    F                  USER FIELD
XPUSERF2 DS    F                  USER FIELD
XPUSERF3 DS    F                  USER FIELD
XPUSERF4 DS    F                  USER FIELD
XPUSERM@ DS    F                  USER MESSAGE BUFFER ADDRESS
XPUSERM$ DS    F                  USER MESSAGE BUFFER TOTAL SIZE
XPUSRMSG DS    CL100              USER SINGLE MESSAGE AREA
*
XPFLAGS  DS    X                  VARIOUS FLAGS FOR EXIT
XPFDEBUG EQU   X'01'              DEBUG IS ON
         DS    X
*
** USER WORK SPACE
*
XPUSER   DS    0F                 USER WORK AREA
*
XPUSRPAD DS    (1024-(*-ADUEXITP))C     PADDING
XPUSER$  EQU   *-XPUSER
XP$      EQU   *-ADUEXITP

 The following table explains the major DSECT fields and their uses:

Field

Description

XPSQLDA@

Address of the pseudo-SQLDA for this table as shown in  Pseudo-SQLDA DSECT 

For each table that UNLOAD PLUS unloads, this control block describes the column names, data types, and pointers to the column data within the output record being unloaded. This control block is identical in format to a Db2 SQLDA, and is used in much the same way.

XPTABLE@

Pointer to the name of the table being unloaded

This name field allows for a 128-byte creator name, followed by a 128-byte table name.

XPREF#

Exit reference number

Each table being unloaded gets its own copy of a user parameter block and an SQLDA. The XPREF# is incremented to provide a unique reference number.

XPSSID@

Pointer to a 4-byte field containing the SSID value

XPUSER@

Pointer to an 8-byte field containing your user ID to run the UNLOAD PLUS utility

XPUTID@

Pointer to the 16-byte utility ID

XPUSRMSG

A 100-byte message field to use when issuing a simple message

On return from any function call, if this field is nonblank, UNLOAD PLUS issues message BMC51635I identifying the exit name, exit reference number, and this message text. This field is blank after processing.

XPUSERM@

Pointer to a user-defined message buffer that might contain multiple messages of equal length

Any messages to which this address points are printed after the XPUSRMSG message. The format of the message buffer pointed to is

#MSGS DS H NUMBER OF LINES, 0 = NO PRINT MSGSIZE DS H SIZE OF EACH LINE (MAX = 100) MSGTEXT DS CL(#MSGS*MSGSIZE) USER MESSAGES

XPUSERM$

Must be set to the size of the user message buffer pointed to by XPUSERM@


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*