CP SMFOUT_LINE,PACK_60 04090000 BL PUT_DETAIL_RECORD 04100000 ZAP SMFOUT_LINE,PACK_0 04100100 PERFORM CLEAR_OUTPUT_RECORD,R 04110037 LA R2,REPORT_TABLE 04120006 USING REPORT_ENTRY,R2 04130000 L R8,REPORT_ADDRESS 04140000 PERFORM CREATE_TEXT_RECORD,R 04150037 PERFORM PUT_SMFOUT_RECORD,R 04160037 PERFORM CLEAR_OUTPUT_RECORD,R 04170037 LA R2,REPORT_TABLE 04180006 L R8,REPORT_ADDRESS 04190000 PERFORM CREATE_LINE_RECORD,R 04200037 PERFORM PUT_SMFOUT_RECORD,R 04210037 ZAP SMFOUT_LINE,PACK_2 04220000 PUT_DETAIL_RECORD EQU * 04230000 PERFORM CLEAR_OUTPUT_RECORD,R 04240037 LA R2,REPORT_TABLE 04250006 L R8,REPORT_ADDRESS 04260000 PERFORM CREATE_DETAIL_RECORD,R 04270037 PERFORM PUT_SMFOUT_RECORD,R 04280037 AP SMFOUT_LINE,PACK_1 04290000 BR R10 04300000 */*******************************************************************/* 04310000 */* CREATE A RECORD WITH SEPARATOR CHARACTER TO BE PRINTED */* 04320000 */*******************************************************************/* 04330000 CREATE_LINE_RECORD EQU * 04340000 CLC 0(L'END_TABLE,R2),END_TABLE 04350000 BER R10 04360000 CLI REPORT_FIELD_INUSE,X'00' 04361062 BE NEXT_LINE_FIELD 04362062 XR R15,R15 04370000 XR R14,R14 04380000 IC R14,REPORT_FIELD_LENGTH 04390000 IC R15,REPORT_KEYWORD_LENGTH 04400000 BCTR R14,0 04410000 BCTR R15,0 04420000 MVI 0(R8),C'-' 04440000 LR R1,R8 04450000 LA R8,1(R8) 04451000 CR R15,R14 04460000 BNL MOVE_LINE_FIELD 04470000 LR R15,R14 04480000 MOVE_LINE_FIELD EQU * 04490000 BCTR R15,0 04500000 EX R15,MOVE_REPORT_FIELD 04510000 LA R8,2(R15,R8) 04520000 NEXT_LINE_FIELD EQU * 04521059 LA R2,L'REPORT_TABLE_ENTRY(R2) 04530000 B CREATE_LINE_RECORD 04540000 */*******************************************************************/* 04550000 */* CREATE A RECORD WITH COLUMNS NAMES TO BE PRINTED */* 04560000 */*******************************************************************/* 04570000 CREATE_TEXT_RECORD EQU * 04580000 CLC 0(L'END_TABLE,R2),END_TABLE 04590000 Appendix C. Sample SMF84 Report program  213