IBM SC34-6814-04 User Manual

Page 340

Advertising
background image

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

Advertising