MFmainframe-rea
WS carddemo · 26f629ef

Business rules · 188 guarded actionsCOTRN02C

Each row is an action and the full chain of conditions that must hold for it to run, recovered from nested IF / EVALUATE / PERFORM UNTIL scopes. Name the rule; the evidence is already attached.

88 levels

Condition names used

CDEMO-PGM-REENTERmeans CDEMO-PGM-CONTEXT = 1COCOM01Y.cpy:31 via COTRN02C.cbl:71
ERR-FLG-ONmeans WS-ERR-FLG = 'Y'COTRN02C.cbl:45
19 rules

MAIN-PARA

WhenThenAt
  1. EIBCALEN = 0
MOVE 'COSGN00C' TO CDEMO-TO-PROGRAMCOTRN02C.cbl:116
  1. EIBCALEN = 0
PERFORM RETURN-TO-PREV-SCREENCOTRN02C.cbl:117
  1. NOT (EIBCALEN = 0)
MOVE DFHCOMMAREA(1:EIBCALEN) TO CARDDEMO-COMMAREACOTRN02C.cbl:119
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
SET CDEMO-PGM-REENTER TO TRUECOTRN02C.cbl:121
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
MOVE LOW-VALUES TO COTRN2AOCOTRN02C.cbl:122
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
MOVE -1 TO ACTIDINL OF COTRN2AICOTRN02C.cbl:123
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
  3. CDEMO-CT02-TRN-SELECTED NOT = SPACES AND LOW-VALUES
MOVE CDEMO-CT02-TRN-SELECTED TO CARDNINI OF COTRN2AICOTRN02C.cbl:126–127
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
  3. CDEMO-CT02-TRN-SELECTED NOT = SPACES AND LOW-VALUES
PERFORM PROCESS-ENTER-KEYCOTRN02C.cbl:128
  1. NOT (EIBCALEN = 0)
  2. NOT CDEMO-PGM-REENTER
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:130
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
PERFORM RECEIVE-TRNADD-SCREENCOTRN02C.cbl:132
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHENTER
PERFORM PROCESS-ENTER-KEYCOTRN02C.cbl:135
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
  4. CDEMO-FROM-PROGRAM = SPACES OR LOW-VALUES
MOVE 'COMEN01C' TO CDEMO-TO-PROGRAMCOTRN02C.cbl:138
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
  4. NOT (CDEMO-FROM-PROGRAM = SPACES OR LOW-VALUES)
MOVE CDEMO-FROM-PROGRAM TO CDEMO-TO-PROGRAMCOTRN02C.cbl:140–141
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF3
PERFORM RETURN-TO-PREV-SCREENCOTRN02C.cbl:143
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF4
PERFORM CLEAR-CURRENT-SCREENCOTRN02C.cbl:145
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID = DFHPF5
PERFORM COPY-LAST-TRAN-DATACOTRN02C.cbl:147
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4; DFHPF5]
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:149
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4; DFHPF5]
MOVE CCDA-MSG-INVALID-KEY TO WS-MESSAGECOTRN02C.cbl:150
  1. NOT (EIBCALEN = 0)
  2. CDEMO-PGM-REENTER
  3. EIBAID is none of [DFHENTER; DFHPF3; DFHPF4; DFHPF5]
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:151
9 rules

PROCESS-ENTER-KEY

WhenThenAt
  1. CONFIRMI OF COTRN2AI = 'Y' OR CONFIRMI OF COTRN2AI = 'y'
PERFORM ADD-TRANSACTIONCOTRN02C.cbl:172
  1. CONFIRMI OF COTRN2AI = 'N' OR CONFIRMI OF COTRN2AI = 'n' OR CONFIRMI OF COTRN2AI = SPACES OR CONFIRMI OF COTRN2AI = LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:177
  1. CONFIRMI OF COTRN2AI = 'N' OR CONFIRMI OF COTRN2AI = 'n' OR CONFIRMI OF COTRN2AI = SPACES OR CONFIRMI OF COTRN2AI = LOW-VALUES
MOVE 'Confirm to add this transaction...' TO WS-MESSAGECOTRN02C.cbl:178–179
  1. CONFIRMI OF COTRN2AI = 'N' OR CONFIRMI OF COTRN2AI = 'n' OR CONFIRMI OF COTRN2AI = SPACES OR CONFIRMI OF COTRN2AI = LOW-VALUES
MOVE -1 TO CONFIRML OF COTRN2AICOTRN02C.cbl:180
  1. CONFIRMI OF COTRN2AI = 'N' OR CONFIRMI OF COTRN2AI = 'n' OR CONFIRMI OF COTRN2AI = SPACES OR CONFIRMI OF COTRN2AI = LOW-VALUES
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:181
  1. CONFIRMI OF COTRN2AI is none of ['Y'; 'y'; 'N'; 'n'; SPACES; LOW-VALUES]
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:183
  1. CONFIRMI OF COTRN2AI is none of ['Y'; 'y'; 'N'; 'n'; SPACES; LOW-VALUES]
MOVE 'Invalid value. Valid values are (Y/N)...' TO WS-MESSAGECOTRN02C.cbl:184–185
  1. CONFIRMI OF COTRN2AI is none of ['Y'; 'y'; 'N'; 'n'; SPACES; LOW-VALUES]
MOVE -1 TO CONFIRML OF COTRN2AICOTRN02C.cbl:186
  1. CONFIRMI OF COTRN2AI is none of ['Y'; 'y'; 'N'; 'n'; SPACES; LOW-VALUES]
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:187
20 rules

VALIDATE-INPUT-KEY-FIELDS

WhenThenAt
  1. ACTIDINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
  2. ACTIDINI OF COTRN2AI IS NOT NUMERIC
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:198
  1. ACTIDINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
  2. ACTIDINI OF COTRN2AI IS NOT NUMERIC
MOVE 'Account ID must be Numeric...' TO WS-MESSAGECOTRN02C.cbl:199–200
  1. ACTIDINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
  2. ACTIDINI OF COTRN2AI IS NOT NUMERIC
MOVE -1 TO ACTIDINL OF COTRN2AICOTRN02C.cbl:201
  1. ACTIDINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
  2. ACTIDINI OF COTRN2AI IS NOT NUMERIC
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:202
  1. ACTIDINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
calc COMPUTE WS-ACCT-ID-N = FUNCTION NUMVAL(ACTIDINI OF COTRN2AI)COTRN02C.cbl:204–205
  1. ACTIDINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
MOVE WS-ACCT-ID-N TO XREF-ACCT-ID ACTIDINI OF COTRN2AICOTRN02C.cbl:206–207
  1. ACTIDINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
PERFORM READ-CXACAIX-FILECOTRN02C.cbl:208
  1. ACTIDINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
MOVE XREF-CARD-NUM TO CARDNINI OF COTRN2AICOTRN02C.cbl:209
  1. CARDNINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
  2. CARDNINI OF COTRN2AI IS NOT NUMERIC
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:212
  1. CARDNINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
  2. CARDNINI OF COTRN2AI IS NOT NUMERIC
MOVE 'Card Number must be Numeric...' TO WS-MESSAGECOTRN02C.cbl:213–214
  1. CARDNINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
  2. CARDNINI OF COTRN2AI IS NOT NUMERIC
MOVE -1 TO CARDNINL OF COTRN2AICOTRN02C.cbl:215
  1. CARDNINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
  2. CARDNINI OF COTRN2AI IS NOT NUMERIC
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:216
  1. CARDNINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
calc COMPUTE WS-CARD-NUM-N = FUNCTION NUMVAL(CARDNINI OF COTRN2AI)COTRN02C.cbl:218–219
  1. CARDNINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
MOVE WS-CARD-NUM-N TO XREF-CARD-NUM CARDNINI OF COTRN2AICOTRN02C.cbl:220–221
  1. CARDNINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
PERFORM READ-CCXREF-FILECOTRN02C.cbl:222
  1. CARDNINI OF COTRN2AI NOT = SPACES AND LOW-VALUES
MOVE XREF-ACCT-ID TO ACTIDINI OF COTRN2AICOTRN02C.cbl:223
  1. TRUE is none of [ACTIDINI OF COTRN2AI NOT = SPACES AND LOW-VALUES; CARDNINI OF COTRN2AI NOT = SPACES AND LOW-VALUES]
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:225
  1. TRUE is none of [ACTIDINI OF COTRN2AI NOT = SPACES AND LOW-VALUES; CARDNINI OF COTRN2AI NOT = SPACES AND LOW-VALUES]
MOVE 'Account or Card Number must be entered...' TO WS-MESSAGECOTRN02C.cbl:226–227
  1. TRUE is none of [ACTIDINI OF COTRN2AI NOT = SPACES AND LOW-VALUES; CARDNINI OF COTRN2AI NOT = SPACES AND LOW-VALUES]
MOVE -1 TO ACTIDINL OF COTRN2AICOTRN02C.cbl:228
  1. TRUE is none of [ACTIDINI OF COTRN2AI NOT = SPACES AND LOW-VALUES; CARDNINI OF COTRN2AI NOT = SPACES AND LOW-VALUES]
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:229
78 rules

VALIDATE-INPUT-DATA-FIELDS

WhenThenAt
  1. ERR-FLG-ON
MOVE SPACES TO TTYPCDI OF COTRN2AI TCATCDI OF COTRN2AI TRNSRCI OF COTRN2AI TRNAMTI OF COTRN2AI TDESCI OF COTRN2AI TORIGDTI OF COTRN2AI TPROCDTI OF COTRN2AI MIDI OF COTRN2AI MNAMEI OF COTRN2AI MCITYI OF COTRN2AI MZIPI OF COTRN2AICOTRN02C.cbl:238–248
  1. TTYPCDI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:253
  1. TTYPCDI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Type CD can NOT be empty...' TO WS-MESSAGECOTRN02C.cbl:254–255
  1. TTYPCDI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE -1 TO TTYPCDL OF COTRN2AICOTRN02C.cbl:256
  1. TTYPCDI OF COTRN2AI = SPACES OR LOW-VALUES
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:257
  1. TCATCDI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:259
  1. TCATCDI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Category CD can NOT be empty...' TO WS-MESSAGECOTRN02C.cbl:260–261
  1. TCATCDI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE -1 TO TCATCDL OF COTRN2AICOTRN02C.cbl:262
  1. TCATCDI OF COTRN2AI = SPACES OR LOW-VALUES
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:263
  1. TRNSRCI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:265
  1. TRNSRCI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Source can NOT be empty...' TO WS-MESSAGECOTRN02C.cbl:266–267
  1. TRNSRCI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE -1 TO TRNSRCL OF COTRN2AICOTRN02C.cbl:268
  1. TRNSRCI OF COTRN2AI = SPACES OR LOW-VALUES
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:269
  1. TDESCI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:271
  1. TDESCI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Description can NOT be empty...' TO WS-MESSAGECOTRN02C.cbl:272–273
  1. TDESCI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE -1 TO TDESCL OF COTRN2AICOTRN02C.cbl:274
  1. TDESCI OF COTRN2AI = SPACES OR LOW-VALUES
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:275
  1. TRNAMTI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:277
  1. TRNAMTI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Amount can NOT be empty...' TO WS-MESSAGECOTRN02C.cbl:278–279
  1. TRNAMTI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE -1 TO TRNAMTL OF COTRN2AICOTRN02C.cbl:280
  1. TRNAMTI OF COTRN2AI = SPACES OR LOW-VALUES
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:281
  1. TORIGDTI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:283
  1. TORIGDTI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Orig Date can NOT be empty...' TO WS-MESSAGECOTRN02C.cbl:284–285
  1. TORIGDTI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE -1 TO TORIGDTL OF COTRN2AICOTRN02C.cbl:286
  1. TORIGDTI OF COTRN2AI = SPACES OR LOW-VALUES
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:287
  1. TPROCDTI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:289
  1. TPROCDTI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Proc Date can NOT be empty...' TO WS-MESSAGECOTRN02C.cbl:290–291
  1. TPROCDTI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE -1 TO TPROCDTL OF COTRN2AICOTRN02C.cbl:292
  1. TPROCDTI OF COTRN2AI = SPACES OR LOW-VALUES
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:293
  1. MIDI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:295
  1. MIDI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Merchant ID can NOT be empty...' TO WS-MESSAGECOTRN02C.cbl:296–297
  1. MIDI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE -1 TO MIDL OF COTRN2AICOTRN02C.cbl:298
  1. MIDI OF COTRN2AI = SPACES OR LOW-VALUES
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:299
  1. MNAMEI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:301
  1. MNAMEI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Merchant Name can NOT be empty...' TO WS-MESSAGECOTRN02C.cbl:302–303
  1. MNAMEI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE -1 TO MNAMEL OF COTRN2AICOTRN02C.cbl:304
  1. MNAMEI OF COTRN2AI = SPACES OR LOW-VALUES
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:305
  1. MCITYI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:307
  1. MCITYI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Merchant City can NOT be empty...' TO WS-MESSAGECOTRN02C.cbl:308–309
  1. MCITYI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE -1 TO MCITYL OF COTRN2AICOTRN02C.cbl:310
  1. MCITYI OF COTRN2AI = SPACES OR LOW-VALUES
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:311
  1. MZIPI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:313
  1. MZIPI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE 'Merchant Zip can NOT be empty...' TO WS-MESSAGECOTRN02C.cbl:314–315
  1. MZIPI OF COTRN2AI = SPACES OR LOW-VALUES
MOVE -1 TO MZIPL OF COTRN2AICOTRN02C.cbl:316
  1. MZIPI OF COTRN2AI = SPACES OR LOW-VALUES
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:317
  1. TTYPCDI OF COTRN2AI NOT NUMERIC
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:324
  1. TTYPCDI OF COTRN2AI NOT NUMERIC
MOVE 'Type CD must be Numeric...' TO WS-MESSAGECOTRN02C.cbl:325–326
  1. TTYPCDI OF COTRN2AI NOT NUMERIC
MOVE -1 TO TTYPCDL OF COTRN2AICOTRN02C.cbl:327
  1. TTYPCDI OF COTRN2AI NOT NUMERIC
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:328
  1. TCATCDI OF COTRN2AI NOT NUMERIC
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:330
  1. TCATCDI OF COTRN2AI NOT NUMERIC
MOVE 'Category CD must be Numeric...' TO WS-MESSAGECOTRN02C.cbl:331–332
  1. TCATCDI OF COTRN2AI NOT NUMERIC
MOVE -1 TO TCATCDL OF COTRN2AICOTRN02C.cbl:333
  1. TCATCDI OF COTRN2AI NOT NUMERIC
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:334
  1. TRNAMTI OF COTRN2AI(1:1) NOT EQUAL '-' AND '+' | TRNAMTI OF COTRN2AI(2:8) NOT NUMERIC | TRNAMTI OF COTRN2AI(10:1) NOT = '.' | TRNAMTI OF COTRN2AI(11:2) IS NOT NUMERIC
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:344
  1. TRNAMTI OF COTRN2AI(1:1) NOT EQUAL '-' AND '+' | TRNAMTI OF COTRN2AI(2:8) NOT NUMERIC | TRNAMTI OF COTRN2AI(10:1) NOT = '.' | TRNAMTI OF COTRN2AI(11:2) IS NOT NUMERIC
MOVE 'Amount should be in format -99999999.99' TO WS-MESSAGECOTRN02C.cbl:345–346
  1. TRNAMTI OF COTRN2AI(1:1) NOT EQUAL '-' AND '+' | TRNAMTI OF COTRN2AI(2:8) NOT NUMERIC | TRNAMTI OF COTRN2AI(10:1) NOT = '.' | TRNAMTI OF COTRN2AI(11:2) IS NOT NUMERIC
MOVE -1 TO TRNAMTL OF COTRN2AICOTRN02C.cbl:347
  1. TRNAMTI OF COTRN2AI(1:1) NOT EQUAL '-' AND '+' | TRNAMTI OF COTRN2AI(2:8) NOT NUMERIC | TRNAMTI OF COTRN2AI(10:1) NOT = '.' | TRNAMTI OF COTRN2AI(11:2) IS NOT NUMERIC
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:348
  1. TORIGDTI OF COTRN2AI(1:4) IS NOT NUMERIC | TORIGDTI OF COTRN2AI(5:1) NOT EQUAL '-' | TORIGDTI OF COTRN2AI(6:2) NOT NUMERIC | TORIGDTI OF COTRN2AI(8:1) NOT EQUAL '-' | TORIGDTI OF COTRN2AI(9:2) NOT NUMERIC
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:359
  1. TORIGDTI OF COTRN2AI(1:4) IS NOT NUMERIC | TORIGDTI OF COTRN2AI(5:1) NOT EQUAL '-' | TORIGDTI OF COTRN2AI(6:2) NOT NUMERIC | TORIGDTI OF COTRN2AI(8:1) NOT EQUAL '-' | TORIGDTI OF COTRN2AI(9:2) NOT NUMERIC
MOVE 'Orig Date should be in format YYYY-MM-DD' TO WS-MESSAGECOTRN02C.cbl:360–361
  1. TORIGDTI OF COTRN2AI(1:4) IS NOT NUMERIC | TORIGDTI OF COTRN2AI(5:1) NOT EQUAL '-' | TORIGDTI OF COTRN2AI(6:2) NOT NUMERIC | TORIGDTI OF COTRN2AI(8:1) NOT EQUAL '-' | TORIGDTI OF COTRN2AI(9:2) NOT NUMERIC
MOVE -1 TO TORIGDTL OF COTRN2AICOTRN02C.cbl:362
  1. TORIGDTI OF COTRN2AI(1:4) IS NOT NUMERIC | TORIGDTI OF COTRN2AI(5:1) NOT EQUAL '-' | TORIGDTI OF COTRN2AI(6:2) NOT NUMERIC | TORIGDTI OF COTRN2AI(8:1) NOT EQUAL '-' | TORIGDTI OF COTRN2AI(9:2) NOT NUMERIC
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:363
  1. TPROCDTI OF COTRN2AI(1:4) IS NOT NUMERIC | TPROCDTI OF COTRN2AI(5:1) NOT EQUAL '-' | TPROCDTI OF COTRN2AI(6:2) NOT NUMERIC | TPROCDTI OF COTRN2AI(8:1) NOT EQUAL '-' | TPROCDTI OF COTRN2AI(9:2) NOT NUMERIC
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:374
  1. TPROCDTI OF COTRN2AI(1:4) IS NOT NUMERIC | TPROCDTI OF COTRN2AI(5:1) NOT EQUAL '-' | TPROCDTI OF COTRN2AI(6:2) NOT NUMERIC | TPROCDTI OF COTRN2AI(8:1) NOT EQUAL '-' | TPROCDTI OF COTRN2AI(9:2) NOT NUMERIC
MOVE 'Proc Date should be in format YYYY-MM-DD' TO WS-MESSAGECOTRN02C.cbl:375–376
  1. TPROCDTI OF COTRN2AI(1:4) IS NOT NUMERIC | TPROCDTI OF COTRN2AI(5:1) NOT EQUAL '-' | TPROCDTI OF COTRN2AI(6:2) NOT NUMERIC | TPROCDTI OF COTRN2AI(8:1) NOT EQUAL '-' | TPROCDTI OF COTRN2AI(9:2) NOT NUMERIC
MOVE -1 TO TPROCDTL OF COTRN2AICOTRN02C.cbl:377
  1. TPROCDTI OF COTRN2AI(1:4) IS NOT NUMERIC | TPROCDTI OF COTRN2AI(5:1) NOT EQUAL '-' | TPROCDTI OF COTRN2AI(6:2) NOT NUMERIC | TPROCDTI OF COTRN2AI(8:1) NOT EQUAL '-' | TPROCDTI OF COTRN2AI(9:2) NOT NUMERIC
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:378
alwayscalc COMPUTE WS-TRAN-AMT-N = FUNCTION NUMVAL-C(TRNAMTI OF COTRN2AI)COTRN02C.cbl:383–384
  1. NOT (CSUTLDTC-RESULT-SEV-CD = '0000')
  2. CSUTLDTC-RESULT-MSG-NUM NOT = '2513'
MOVE 'Orig Date - Not a valid date...' TO WS-MESSAGECOTRN02C.cbl:401–402
  1. NOT (CSUTLDTC-RESULT-SEV-CD = '0000')
  2. CSUTLDTC-RESULT-MSG-NUM NOT = '2513'
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:403
  1. NOT (CSUTLDTC-RESULT-SEV-CD = '0000')
  2. CSUTLDTC-RESULT-MSG-NUM NOT = '2513'
MOVE -1 TO TORIGDTL OF COTRN2AICOTRN02C.cbl:404
  1. NOT (CSUTLDTC-RESULT-SEV-CD = '0000')
  2. CSUTLDTC-RESULT-MSG-NUM NOT = '2513'
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:405
  1. NOT (CSUTLDTC-RESULT-SEV-CD = '0000')
  2. CSUTLDTC-RESULT-MSG-NUM NOT = '2513'
MOVE 'Proc Date - Not a valid date...' TO WS-MESSAGECOTRN02C.cbl:421–422
  1. NOT (CSUTLDTC-RESULT-SEV-CD = '0000')
  2. CSUTLDTC-RESULT-MSG-NUM NOT = '2513'
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:423
  1. NOT (CSUTLDTC-RESULT-SEV-CD = '0000')
  2. CSUTLDTC-RESULT-MSG-NUM NOT = '2513'
MOVE -1 TO TPROCDTL OF COTRN2AICOTRN02C.cbl:424
  1. NOT (CSUTLDTC-RESULT-SEV-CD = '0000')
  2. CSUTLDTC-RESULT-MSG-NUM NOT = '2513'
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:425
  1. MIDI OF COTRN2AI IS NOT NUMERIC
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:431
  1. MIDI OF COTRN2AI IS NOT NUMERIC
MOVE 'Merchant ID must be Numeric...' TO WS-MESSAGECOTRN02C.cbl:432–433
  1. MIDI OF COTRN2AI IS NOT NUMERIC
MOVE -1 TO MIDL OF COTRN2AICOTRN02C.cbl:434
  1. MIDI OF COTRN2AI IS NOT NUMERIC
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:435
2 rules

ADD-TRANSACTION

WhenThenAt
alwayscalc ADD 1 TO WS-TRAN-ID-NCOTRN02C.cbl:449
alwayscalc COMPUTE WS-TRAN-AMT-N = FUNCTION NUMVAL-C(TRNAMTI OF COTRN2AI)COTRN02C.cbl:456–457
12 rules

COPY-LAST-TRAN-DATA

WhenThenAt
  1. NOT ERR-FLG-ON
MOVE TRAN-AMT TO WS-TRAN-AMT-ECOTRN02C.cbl:481
  1. NOT ERR-FLG-ON
MOVE TRAN-TYPE-CD TO TTYPCDI OF COTRN2AICOTRN02C.cbl:482
  1. NOT ERR-FLG-ON
MOVE TRAN-CAT-CD TO TCATCDI OF COTRN2AICOTRN02C.cbl:483
  1. NOT ERR-FLG-ON
MOVE TRAN-SOURCE TO TRNSRCI OF COTRN2AICOTRN02C.cbl:484
  1. NOT ERR-FLG-ON
MOVE WS-TRAN-AMT-E TO TRNAMTI OF COTRN2AICOTRN02C.cbl:485
  1. NOT ERR-FLG-ON
MOVE TRAN-DESC TO TDESCI OF COTRN2AICOTRN02C.cbl:486
  1. NOT ERR-FLG-ON
MOVE TRAN-ORIG-TS TO TORIGDTI OF COTRN2AICOTRN02C.cbl:487
  1. NOT ERR-FLG-ON
MOVE TRAN-PROC-TS TO TPROCDTI OF COTRN2AICOTRN02C.cbl:488
  1. NOT ERR-FLG-ON
MOVE TRAN-MERCHANT-ID TO MIDI OF COTRN2AICOTRN02C.cbl:489
  1. NOT ERR-FLG-ON
MOVE TRAN-MERCHANT-NAME TO MNAMEI OF COTRN2AICOTRN02C.cbl:490
  1. NOT ERR-FLG-ON
MOVE TRAN-MERCHANT-CITY TO MCITYI OF COTRN2AICOTRN02C.cbl:491
  1. NOT ERR-FLG-ON
MOVE TRAN-MERCHANT-ZIP TO MZIPI OF COTRN2AICOTRN02C.cbl:492
1 rules

RETURN-TO-PREV-SCREEN

WhenThenAt
  1. CDEMO-TO-PROGRAM = LOW-VALUES OR SPACES
MOVE 'COSGN00C' TO CDEMO-TO-PROGRAMCOTRN02C.cbl:503
9 rules

READ-CXACAIX-FILE

WhenThenAt
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:592
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'Account ID NOT found...' TO WS-MESSAGECOTRN02C.cbl:593–594
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE -1 TO ACTIDINL OF COTRN2AICOTRN02C.cbl:595
  1. WS-RESP-CD = DFHRESP(NOTFND)
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:596
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
DISPLAY 'RESP:' WS-RESP-CD 'REAS:' WS-REAS-CDCOTRN02C.cbl:598
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:599
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Unable to lookup Acct in XREF AIX file...' TO WS-MESSAGECOTRN02C.cbl:600–601
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE -1 TO ACTIDINL OF COTRN2AICOTRN02C.cbl:602
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:603
9 rules

READ-CCXREF-FILE

WhenThenAt
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:625
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'Card Number NOT found...' TO WS-MESSAGECOTRN02C.cbl:626–627
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE -1 TO CARDNINL OF COTRN2AICOTRN02C.cbl:628
  1. WS-RESP-CD = DFHRESP(NOTFND)
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:629
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
DISPLAY 'RESP:' WS-RESP-CD 'REAS:' WS-REAS-CDCOTRN02C.cbl:631
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:632
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Unable to lookup Card # in XREF file...' TO WS-MESSAGECOTRN02C.cbl:633–634
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE -1 TO CARDNINL OF COTRN2AICOTRN02C.cbl:635
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:636
9 rules

STARTBR-TRANSACT-FILE

WhenThenAt
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:656
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE 'Transaction ID NOT found...' TO WS-MESSAGECOTRN02C.cbl:657–658
  1. WS-RESP-CD = DFHRESP(NOTFND)
MOVE -1 TO ACTIDINL OF COTRN2AICOTRN02C.cbl:659
  1. WS-RESP-CD = DFHRESP(NOTFND)
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:660
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
DISPLAY 'RESP:' WS-RESP-CD 'REAS:' WS-REAS-CDCOTRN02C.cbl:662
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:663
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE 'Unable to lookup Transaction...' TO WS-MESSAGECOTRN02C.cbl:664–665
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
MOVE -1 TO ACTIDINL OF COTRN2AICOTRN02C.cbl:666
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(NOTFND)]
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:667
6 rules

READPREV-TRANSACT-FILE

WhenThenAt
  1. WS-RESP-CD = DFHRESP(ENDFILE)
MOVE ZEROS TO TRAN-IDCOTRN02C.cbl:689
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
DISPLAY 'RESP:' WS-RESP-CD 'REAS:' WS-REAS-CDCOTRN02C.cbl:691
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:692
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
MOVE 'Unable to lookup Transaction...' TO WS-MESSAGECOTRN02C.cbl:693–694
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
MOVE -1 TO ACTIDINL OF COTRN2AICOTRN02C.cbl:695
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(ENDFILE)]
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:696
14 rules

WRITE-TRANSACT-FILE

WhenThenAt
  1. WS-RESP-CD = DFHRESP(NORMAL)
PERFORM INITIALIZE-ALL-FIELDSCOTRN02C.cbl:725
  1. WS-RESP-CD = DFHRESP(NORMAL)
MOVE SPACES TO WS-MESSAGECOTRN02C.cbl:726
  1. WS-RESP-CD = DFHRESP(NORMAL)
MOVE DFHGREEN TO ERRMSGC OF COTRN2AOCOTRN02C.cbl:727
  1. WS-RESP-CD = DFHRESP(NORMAL)
STRING 'Transaction added successfully. ' DELIMITED BY SIZE ' Your Tran ID is ' DELIMITED BY SIZE TRAN-ID DELIMITED BY SPACE '.' DELIMITED BY SIZE INTO WS-MESSAGECOTRN02C.cbl:728–733
  1. WS-RESP-CD = DFHRESP(NORMAL)
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:734
  1. WS-RESP-CD = DFHRESP(DUPKEY) OR WS-RESP-CD = DFHRESP(DUPREC)
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:737
  1. WS-RESP-CD = DFHRESP(DUPKEY) OR WS-RESP-CD = DFHRESP(DUPREC)
MOVE 'Tran ID already exist...' TO WS-MESSAGECOTRN02C.cbl:738–739
  1. WS-RESP-CD = DFHRESP(DUPKEY) OR WS-RESP-CD = DFHRESP(DUPREC)
MOVE -1 TO ACTIDINL OF COTRN2AICOTRN02C.cbl:740
  1. WS-RESP-CD = DFHRESP(DUPKEY) OR WS-RESP-CD = DFHRESP(DUPREC)
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:741
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(DUPKEY); DFHRESP(DUPREC)]
DISPLAY 'RESP:' WS-RESP-CD 'REAS:' WS-REAS-CDCOTRN02C.cbl:743
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(DUPKEY); DFHRESP(DUPREC)]
MOVE 'Y' TO WS-ERR-FLGCOTRN02C.cbl:744
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(DUPKEY); DFHRESP(DUPREC)]
MOVE 'Unable to Add Transaction...' TO WS-MESSAGECOTRN02C.cbl:745–746
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(DUPKEY); DFHRESP(DUPREC)]
MOVE -1 TO ACTIDINL OF COTRN2AICOTRN02C.cbl:747
  1. WS-RESP-CD is none of [DFHRESP(NORMAL); DFHRESP(DUPKEY); DFHRESP(DUPREC)]
PERFORM SEND-TRNADD-SCREENCOTRN02C.cbl:748