++INCLUDE ESP.BPM ! standard MAPs for ESP screens MAP1 SCREEN'TST,X,8192 ! buffer to FETCH/load ESP screen file MAP1 CHAR'TST,F,6 ! GTSCR return character MAP1 FIELD'TST,F,6,1 ! GTSCR return field number MAP1 FUND'NUM,F,6 MAP1 REC'AMT,F,6 MAP1 TAX'DED,S,1 MAP1 REC'TYPE,S,6 MAP1 REF,S,30 MAP1 FUND'DESC,S,30 MAP1 RECEIPT'DESC,S,20 MAP1 CUR'DISTR,F,6 MAP1 TMP'DISTR,F,6 MAP1 TMP'REC'TOTAL,F,6 XCALL FETCH, "NRSCR:TST.SCR", SCREEN'TST, ESP'RETCOD IF ESP'RETCOD <> 0 THEN GOTO END'OF'PGM'ER XCALL INITRM XCALL OPNSCR, SCREEN'TST XCALL SETVAL, SCREEN'TST, 14, " [ EXECUTE when correct | MENU/F13 to abort ]" XCALL SETVAL, SCREEN'TST, 1, "", "", "", "", "", "", "", "", "", "" FIELD'TST = 1 EDTSCR'TST: ! **** - Don't know why test is nec, but PREEDIT cond won't work without it here IF (CHAR'TST AND ESP'PREEDIT) THEN & CHAR'TST = ESP'BEGLIN OR ESP'PREEDIT ELSE & CHAR'TST = ESP'BEGLIN OR ESP'DAF XCALL GTSCR, SCREEN'TST, CHAR'TST, FIELD'TST XCALL GETVAL, SCREEN'TST, 1, FUND'NUM, REC'AMT, TAX'DED, & REC'TYPE, REF, FUND'DESC, RECEIPT'DESC, CUR'DISTR, TMP'DISTR, TMP'REC'TOTAL IF (CHAR'TST AND 255) = ESP'MENU THEN GOTO END'OF'PGM'M IF (CHAR'TST AND ESP'PREEDIT) THEN CALL TST'PRE2 IF (CHAR'TST AND ESP'POSTEDIT) THEN & ON FIELD'TST CALL TST'POST1, TST'POST2, NOCHK, TST'POST4, TST'POST5 IF (CHAR'TST AND 255) = ESP'EXECUTE THEN GOTO END'OF'PGM'E GOTO EDTSCR'TST NOCHK: ! Do nothing (postedit interrupt not set in SCR file) RETURN TST'POST1: ! Receipting Fund Number IF FUND'NUM = 0 THEN XCALL ERRDSP, "Fund number cannot be zero" : & FIELD'TST = 1 : GOTO EDTSCR'TST ! **** - if omit following assignment, then cannot move out of field FIELD'TST = 2 GOTO EDTSCR'TST TST'PRE2: ! Test routine normally goes here, taken out for now RETURN TST'POST2: ! Distribution Dollar Amount IF REC'AMT = 0 THEN XCALL ERRDSP, "Invalid dollar amount" : & FIELD'TST = 2 : GOTO EDTSCR'TST ! **** - if omit following assignment, then cannot move out of field FIELD'TST = 3 GOTO EDTSCR'TST TST'POST4: ! G/L Receipt Type ! Test routine normally goes here, taken out for now ! **** - if omit following assignment, then cannot move out of field FIELD'TST = 5 GOTO EDTSCR'TST TST'POST5: ! G/L Receipt Reference GOTO END'OF'PGM'N END'OF'PGM'M: XCALL CLSSCR, SCREEN'TST XCALL INITRM PRINT "PROGRAM END WITH MENU KEY" END END'OF'PGM'E: XCALL CLSSCR, SCREEN'TST XCALL INITRM PRINT "PROGRAM END WITH EXECUTE KEY" END END'OF'PGM'N: XCALL CLSSCR, SCREEN'TST XCALL INITRM PRINT "PROGRAM ENDED NORMALLY" END END'OF'PGM'ER: PRINT "PROGRAM END DUE TO SCREEN FILE NOT FOUND" .