* /* START OF SPECIFICATIONS **** 00060000 * 00070000 *01* MODULE-NAME = USSMSG 00080000 * 00090000 *01* DESCRIPTIVE-NAME = USS ALTERNATE MESSAGE DEFINITION MACRO 00092000 * 00094000 *01* COPYRIGHT = NONE 00096000 * 00098000 *01* STATUS = RELEASE 2 00098400 * 00098800 *01* FUNCTION = THE PURPOSE OF THIS MACRO IS TO GENERATE AN MPB 00099200 * (MESSAGE PROCESSING BLOCK). THE BLOCK IS USED TO SPECIFY AN 00099600 * ALTERNATE FORM OF A USS MESSAGE. THE MACRO CREATES A 4 WORD TABLE 00099700 * CONSISTING OF CHAIN PTR, MESSAGE MEMBER STRING PTR, MESSAGE TEXT 00103000 * PTR, AND MESSAGE NUMBER STRING ( HIGH ORDER BYTE=X'03'). A CALL 00105000 * TO USSEND IS USED TO GENERATE THE MESSAGE TEXT DATA. 00105400 * 00106700 *02* CHARACTER-CODE-DEPENDENCIES = NONE 00110000 * 00113300 *02* DEPENDENCIES= NONE 00116600 * 00126600 *02* RESTRICTIONS = NONE 00128600 * 00130600 *02* REGISTER-CONVENTIONS = NONE 00132600 * 00133000 *02* PATCH-LABEL = NONE 00133100 * 00133200 *01* MODULE-TYPE = MACRO 00138800 * 00140800 *02* PROCESSOR = ASSEM-370R 00142800 * 00143200 *02* MACRO-SIZE = 28 STATEMENTS 00143600 * 00144000 *02* ATTRIBUTES = LIST-EXEC 00144100 * 00144200 *01* ENTRY-POINT = NA 00144300 * 00158200 *01* EXIT-NORMAL = NA 00168200 * 00170200 *01* EXIT-ERROR = NA 00170600 * 00171000 *01* EXTERNAL-REFERENCES = NONE 00171400 * 00171800 *01* TABLES = MPB (MESSAGE PROCESSING BLOCK) 00171900 * 00172000 *01* INNER-MACROS = USSEND 00172100 * 00176700 *01* SYSTEM-MACROS = NONE 00178700 * 00180700 *01* CHANGE-ACTIVITY = AS-FOLLOWS 00181100 * NEW MACRO - FIRST RELEASE 32 DOS/VS 00181200 * 04 OS/VS1 00181300 * 03 OS/VS2 00181400 * APAR OZ26263 ADDITIONAL VALIDITY CHECKS @ZA26263 00183400 **** END OF SPECIFICATIONS ***/ 00186000 MACRO 00188100 &LABEL USSMSG &MSG=,&TEXT= 00190800 GBLC &T USSEND OUTPUT VARIABLE 00195400 GBLC &Q USSEND OUTPUT VARIABLE 00200000 GBLC &N STATEMENT LABEL PREFIX 00250000 GBLB &Z SWITCH FOR USSTAB SPECIFIED 00270000 LCLC &R INTERNAL LABEL VARIABLE 00300000 LCLA &X INTERNAL INDEX VARIABLE 00350000 AIF (&Z EQ 1).SQ003 00360000 SPACE 1 00370000 MNOTE 4,'USSTAB MACRO NOT SPECIFIED' 00380000 .SQ003 ANOP 00390000 AIF ('&MSG' NE '').SQ005 00400000 MNOTE 4,'&N.001 MSG= PARAMETER OMITTED' 00450000 .SQ005 SPACE 1 00500000 &LABEL DC 0F'0' ALIGN ON FULLWORD BOUNDARY 00550000 USSEND INC=M INCREMENT USSMSG COUNTER 00600000 &R SETC '&T' SAVE USSMSG COUNTER 00650000 AGO .SQ020 00700000 .SQ010 SPACE 1 00750000 USSEND INC=M INCREMENT USSMSG COUNTER 00800000 .SQ020 ANOP 00850000 &X SETA &X+1 00900000 &N.M&T DC A(&N.M&Q) ADDR NEXT USSMSG BLOCK 00950000 DC A(&N.N&T) ADDR MESSAGE NUMBER STRING 01000000 DC A(&N.T&R) ADDR MESSAGE TEXT STRING 01050000 &Q SETC '00&MSG(&X)' PAD MESSAGE NUMBER 01100000 &Q SETC '&Q'(K'&Q-2,3) TRUNC TO LENGTH = 3 01150000 &N.N&T USSEND GEN=&Q,NAME=&N.O&T 01200000 AIF (&X LT N'&MSG).SQ010 01250000 &N.T&R USSEND GEN=&TEXT,NAME=&N.U&R 01300000 SPACE 1 01350000 MEND 01400000