IBM SC34-6814-04 Server User Manual


 
An example showing how to build a parameter list incrementally
In the following example, the parameter list is built incrementally. The initialization of
the parameter list (using the CLEAR option), the building of the parameter list, and
the GETMAIN call are separated into discrete steps.
DFHSMMCX CLEAR
.
.
.
DFHSMMCX GET_LENGTH(100)
.
.
.
DFHSMMCX CALL, *
IN, *
FUNCTION(GETMAIN), *
GET_LENGTH(*), *
SUSPEND(NO), *
INITIAL_IMAGE(X’00’), *
STORAGE_CLASS(USER), *
* OUT -- output values follow *
* *
* RESPONSE(*) -- put response at SMMC_RESPONSE in *
* macro parameter list. *
* REASON(*) -- put reason at SMMC_REASON in macro *
* parameter list. *
* *
*************************************************************************
*
DFHSMMCX CALL, +
CLEAR, +
IN, +
FUNCTION(FREEMAIN), +
ADDRESS((R6)), +
STORAGE_CLASS(USER), +
OUT, +
RESPONSE(*), +
REASON(*)
* *
*************************************************************************
* Test SMMC_RESPONSE -- if OK, then branch round error handling. *
*************************************************************************
* *
CLI SMMC_RESPONSE,SMMC_OK CHECK RESPONSE AND...
BE STEND ...IF OK, BYPASS ERROR ROUTINES
* *
.
.
.
error-handling routines
.
.
.
*
*************************************************************************
* Restore registers, set return code, and return to user exit handler *
*************************************************************************
* *
STEND DS 0H
L R13,UEPEPSA
RETURN (14,12),RC=UERCNORM
LTORG
END GXPI
Figure 15. Global user exit program with XPI (part 4)
318 Customization Guide