Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *COPYRIGHT* * * * * * * * * * * * * * * * * * * * * * * * * * * **
- ** **
- *T TITLE: CLEARPATH MCP RELEASE 18 **
- ** **
- *F FILE ID: SYMBOL/EPORTAL/EXAMPLE/T27FIRSTBANK **
- ** **
- *C COPYRIGHT (C) 2014 2017 UNISYS CORPORATION **
- ** ALL RIGHTS RESERVED **
- ** UNISYS PROPRIETARY **
- ** **
- ** THIS MATERIAL IS PROPRIETARY TO UNISYS CORPORATION **
- ** AND IS NOT TO BE REPRODUCED, USED OR DISCLOSED EXCEPT **
- ** IN ACCORDANCE WITH PROGRAM LICENSE OR UPON WRITTEN **
- ** AUTHORIZATION OF UNISYS CORPORATION. **
- ** **
- *** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **
- ** **
- ** THE WITHIN INFORMATION IS NOT INTENDED TO BE NOR SHOULD **
- ** SUCH BE CONSTRUED AS AN AFFIRMATION OF FACT, **
- ** REPRESENTATION OR WARRANTY BY UNISYS CORPORATION OF **
- ** ANY TYPE, KIND OR CHARACTER. ANY PRODUCT AND RELATED **
- ** MATERIALS DISCLOSED HEREIN IS ONLY FURNISHED PURSUANT **
- ** AND SUBJECT TO THE TERMS AND CONDITIONS OF A DULY **
- ** EXECUTED LICENSE AGREEMENT. THE ONLY WARRANTIES MADE BY **
- ** UNISYS WITH RESPECT TO THE PRODUCTS DESCRIBED IN THIS **
- ** MATERIAL ARE SETFORTH IN THE ABOVE MENTIONED AGREEMENT. **
- ** **
- ** THE CUSTOMER SHOULD EXERCISE CARE TO ASSURE THAT USE OF **
- ** THE SOFTWARE WILL BE IN FULL COMPLIANCE WITH LAWS, RULES **
- ** AND REGULATIONS OF THE JURISDICTIONS WITH RESPECT TO **
- ** WHICH IT IS USED. **
- ** **
- *COPYRIGHT* * * * * * * * * * * * * * * * * * * * * * * * * * * **
- *$ VERSION 59.180.001
- IDENTIFICATION DIVISION.
- PROGRAM-ID. T27FIRSTBANK.
- ENVIRONMENT DIVISION.
- DATA DIVISION.
- FILE SECTION.
- WORKING-STORAGE SECTION.
- 77 WAIT-RESULT PIC S9(11) BINARY.
- 77 ACCT-SUFFIX-X PIC 99.9.
- 77 ACCT-SUFFIX-STR PIC X(2).
- 77 DEFAULT-ACCT PIC X(6) VALUE "ACCT03".
- 77 MAX-CUSTOMERS PIC 9(2) VALUE 10.
- 77 MAX-ACCOUNTS PIC 9(2) VALUE 40.
- 77 MAX-TRANSACTIONS PIC 9(3) VALUE 400.
- 77 TEMP-NUM PIC S9(5) BINARY VALUE 0.
- 77 TEMP-INDEX PIC S9(5) BINARY VALUE 0.
- 77 TRANS-INDEX PIC S9(5) BINARY VALUE 0.
- 77 ACCT-INDEX PIC S9(5) BINARY VALUE 0.
- 77 CUST-INDEX PIC S9(5) BINARY VALUE 0.
- 77 CURR-ACTION PIC X(1).
- 77 CURR-NUM PIC S9(5) BINARY VALUE 0.
- 77 CURR-CUST-NUM PIC S9(5) BINARY VALUE 0.
- 77 CURR-ACCT-NUM PIC S9(5) BINARY VALUE 0.
- 77 CURR-TRANS-NUM PIC S9(5) BINARY VALUE 0.
- 77 CURR-CUST-USERNAME PIC X(8).
- 77 CURR-ACCT-NUM-STR PIC X(6).
- 77 TEMP-ACCT-IN PIC X(6).
- 77 SAVE-ACCT-IN PIC X(6).
- 77 TEMP-CUSTOMER-NUM PIC X(6).
- 77 BALANCE-X PIC 9(12).9(2).
- 77 BALANCE-X2 PIC -9(11).9(2).
- 77 AMOUNT-X PIC 9(12).9(2).
- 77 WITHDRAWAL-X PIC 9(12).9(2).
- 77 DEPOSIT-X PIC 9(12).9(2).
- 77 RATE-X PIC 9(2).9(4).
- 77 WITHDRAWAL-STR PIC X(15).
- 77 DEPOSIT-STR PIC X(15).
- 77 RATE-STR PIC X(7).
- 77 BALANCE-STR PIC X(15).
- 77 AMOUNT PIC 9(12)V9(2).
- 77 RATE PIC 9(2)V9(4).
- 77 CHAR-COUNT PIC 9(2).
- 77 CURR-DATE PIC X(10).
- 77 CURR-DAY-NUM PIC 9(2).
- 77 TEMPX PIC X(100).
- 77 FROM-DATE PIC 9(10).
- 77 TO-DATE PIC 9(10).
- 77 TR-DATE PIC 9(10).
- 77 ERROR-NUMBER PIC 9(2) BINARY VALUE 0.
- 77 INVALID-COMMAND PIC 9(2) VALUE 1.
- 77 INVALID-ACCT-NUM PIC 9(2) VALUE 2.
- 77 INVALID-AMOUNT PIC 9(2) VALUE 3.
- 77 INVALID-DATE PIC 9(2) VALUE 4.
- 77 TRANS-TABLE-FULL PIC 9(2) VALUE 5.
- 77 INVALID-ACTION PIC 9(2) VALUE 6.
- 77 CANCEL-OPERATION PIC 9(2) VALUE 7.
- 77 INVALID-USER PIC 9(2) VALUE 8.
- 77 INVALID-ACCT-TYPE PIC 9(2) VALUE 9.
- 77 ACCT-TABLE-FULL PIC 9(2) VALUE 10.
- 77 INVALID-INT-RATE PIC 9(2) VALUE 11.
- 77 INVALID-EMAIL PIC 9(2) VALUE 12.
- 77 CREATED-NEW-ACCOUNT PIC 9(2) VALUE 13.
- 77 BANK-DATA-RESTORED PIC 9(2) VALUE 14.
- 01 DATE01.
- 05 CURR-YEAR PIC X(4).
- 05 CURR-MONTH PIC X(2).
- 05 CURR-DAY PIC X(2).
- 05 CURR-REMAINER PIC X(13).
- 01 TEMP-TR-DATE.
- 05 TEMP-TR-DATE-MONTH PIC X(2).
- 05 TEMP-TR-DATE-SLASH1 PIC X(1).
- 05 TEMP-TR-DATE-DAY PIC X(2).
- 05 TEMP-TR-DATE-SLASH2 PIC X(1).
- 05 TEMP-TR-DATE-YEAR PIC X(4).
- 01 CUST-RECORD-AREA.
- 03 CUST-RECORDS OCCURS 10.
- 05 CUST-USERNAME PIC X(08).
- 05 CUST-PIN PIC X(08).
- 05 CUST-FIRSTNAME PIC X(15).
- 05 CUST-LASTNAME PIC X(15).
- 05 CUST-EMAIL PIC X(25).
- 05 CUST-ADDRESS PIC X(50).
- *** change to PIC S(6)
- 05 CUST-NUMBER PIC X(06).
- 01 ACCT-RECORD-AREA.
- 03 ACCT-RECORDS OCCURS 40.
- 05 ACCT-NUMBER PIC X(06).
- *** AccountType
- *** 1 is Basic Checking
- *** 2 is Interest Checking
- *** 3 is Basic Savings
- *** 4 is Holiday Club
- 05 ACCT-TYPE PIC 9(2).
- 05 ACCT-BALANCE PIC S9(12)V9(2).
- 05 ACCT-OPENED-DATE PIC X(10).
- 05 ACCT-INT-RATE PIC 9(2)V9(4).
- *** change to PIC S(6)
- 05 ACCT-EMAIL-STMT PIC 9(1).
- 05 ACCT-CUST-NUMBER PIC X(06).
- 05 ACCT-DESC PIC X(255).
- 01 TRANS-RECORD-AREA.
- 03 TRANS-RECORDS OCCURS 400.
- 05 TRANS-ACCT-NUM PIC X(06).
- 05 TRANS-DATE PIC X(10).
- 05 TRANS-DESC PIC X(30).
- *** TransType
- *** 1 is Deposit
- *** 2 is Withdrawal
- 05 TRANS-TYPE PIC 9(2).
- 05 TRANS-AMOUNT PIC S9(12)V9(2).
- 05 TRANS-ACCT-BALANCE PIC S9(12)V9(2).
- 01 ACCOUNT-TYPE-DATA.
- 05 FILLER PIC X(20) VALUE "Basic Checking".
- 05 FILLER PIC X(20) VALUE "Interest Checking".
- 05 FILLER PIC X(20) VALUE "Basic Savings".
- 05 FILLER PIC X(20) VALUE "Holiday Club".
- 01 ACCOUNT-TYPE-TABLE REDEFINES ACCOUNT-TYPE-DATA.
- 05 ACCOUNT-TYPE-TBL OCCURS 4 TIMES PIC X(20).
- 01 ERROR-DATA.
- 05 FILLER PIC X(55) VALUE
- "Enter a command 1 through 7 ".
- 05 FILLER PIC X(55) VALUE
- "Enter a correct account number ".
- 05 FILLER PIC X(55) VALUE
- "Enter a correct amount ".
- 05 FILLER PIC X(55) VALUE
- "Enter a date in the format of MM/DD/YYYY ".
- 05 FILLER PIC X(55) VALUE
- "Transaction table is full. Cancel / Restore Bank Data ".
- 05 FILLER PIC X(55) VALUE
- "Invalid Action ".
- 05 FILLER PIC X(55) VALUE
- "Previous operation is cancelled ".
- 05 FILLER PIC X(55) VALUE
- "Invalid User Name ".
- 05 FILLER PIC X(55) VALUE
- "Invalid Account Type ".
- 05 FILLER PIC X(55) VALUE
- "Account table is full. Cancel / Restore Bank Data ".
- 05 FILLER PIC X(55) VALUE
- "Invalid Interest Rate. ".
- 05 FILLER PIC X(55) VALUE
- "Invalid email option. ".
- 05 FILLER PIC X(55) VALUE
- "Account created. ".
- 05 FILLER PIC X(55) VALUE
- "Restored bank data successfully. ".
- 01 ERROR-DATA-TABLE REDEFINES ERROR-DATA.
- 05 ERRORS OCCURS 14 TIMES PIC X(55).
- *** Input / Output declarations
- ***
- 01 BUFIN.
- 05 REQUEST-METHOD-NAME PIC X(18).
- 88 LOGON-MENU VALUE "LOGON ".
- 88 ACCT-INFO-MENU VALUE "ACCOUNT INFO ".
- 88 DEPOSIT-MENU VALUE "DEPOSIT ".
- 88 WITHDRAW-MENU VALUE "WITHDRAW ".
- 88 ERROR-MENU VALUE "ERROR ".
- 88 ACCT-TASK-MENU VALUE "WELCOME ".
- 88 ACCT-LIST-MENU VALUE "LIST ".
- 88 TR-DATE-MENU VALUE "SHOW TRANSACTIONS ".
- 88 ACCT-ACTIVITY-MENU VALUE "ACCOUNT ACTIVITY ".
- 88 ACCT-CREATE-MENU VALUE "CREATE ".
- 88 ACCT-BAL-MENU VALUE "ACCTNUM BALANCE ".
- 88 SHOW-BAL-MENU VALUE "SHOW BALANCE ".
- 88 ACCTNUM-UPD-MENU VALUE "ACCTNUM UPDATE ".
- 88 ACCT-UPD-MENU VALUE "UPDATE ACCOUNT ".
- 05 BUFIN-REMAINDER PIC X(614).
- 05 LOGON-IN REDEFINES BUFIN-REMAINDER.
- 10 LOGON-USERID-IN PIC X(08).
- 10 LOGON-PIN-IN PIC X(08).
- 10 FILLER PIC X(598).
- 05 ACCT-INFO-IN REDEFINES BUFIN-REMAINDER.
- 10 ACCT-INFO-NUM-IN PIC X(06).
- 10 ACCT-INFO-ACTION-IN PIC X(01).
- 10 FILLER PIC X(607).
- 05 ACCT-TASK-IN REDEFINES BUFIN-REMAINDER.
- 10 ACCT-TASK-ACTION-IN PIC X(10).
- 10 ACCT-TASK-CHOICE-IN PIC X(01).
- 10 FILLER PIC X(603).
- 05 ACCT-LIST-IN REDEFINES BUFIN-REMAINDER.
- 10 ACCT-LIST-CUST-IN PIC X(8).
- 10 ACCT-LIST-ACCT1-IN PIC X(30).
- 10 ACCT-LIST-ACCT2-IN PIC X(30).
- 10 ACCT-LIST-ACCT3-IN PIC X(30).
- 10 ACCT-LIST-ACCT4-IN PIC X(30).
- 10 ACCT-LIST-ACCT5-IN PIC X(30).
- 10 ACCT-LIST-ACCT6-IN PIC X(30).
- 10 ACCT-LIST-ACTION-IN PIC X(1).
- 10 FILLER PIC X(425).
- 05 DEPOSIT-IN REDEFINES BUFIN-REMAINDER.
- 10 DEPOSIT-ACTION-IN PIC X(10).
- 10 DEPOSIT-ACCT-NUM-IN PIC X(06).
- 10 DEPOSIT-AMOUNT-IN PIC X(15).
- 10 DEPOSIT-DESC-IN PIC X(30).
- 10 DEPOSIT-CASH-IN PIC X(01).
- 10 DEPOSIT-SEND-EMAIL-IN PIC X(01).
- 10 DEPOSIT-SAVE-OPTION-IN PIC X(01).
- 10 FILLER PIC X(550).
- 05 WITHDRAW-IN REDEFINES BUFIN-REMAINDER.
- 10 WITHDRAW-ACTION-IN PIC X(10).
- 10 WITHDRAW-ACCT-NUM-IN PIC X(06).
- 10 WITHDRAW-AMOUNT-IN PIC X(15).
- 10 WITHDRAW-DESC-IN PIC X(30).
- 10 FILLER PIC X(553).
- 05 BALANCE-IN REDEFINES BUFIN-REMAINDER.
- 10 BALANCE-ACTION-IN PIC X(10).
- 10 BALANCE-ACCT-NUM-IN PIC X(06).
- 10 FILLER PIC X(598).
- 05 SHOW-BAL-IN REDEFINES BUFIN-REMAINDER.
- 10 SHOW-BAL-ACTION-IN PIC X(10).
- 10 FILLER PIC X(604).
- 05 TR-DATE-IN REDEFINES BUFIN-REMAINDER.
- 10 TR-DATE-ACTION-IN PIC X(10).
- 10 TR-DATE-ACCT-NUM-IN PIC X(06).
- 10 TR-DATE-FROM-IN.
- 15 TR-DATE-FROM-MONTH-IN PIC X(2).
- 15 TR-DATE-FROM-SLASH1 PIC X(1).
- 15 TR-DATE-FROM-DAY-IN PIC X(2).
- 15 TR-DATE-FROM-SLASH2 PIC X(1).
- 15 TR-DATE-FROM-YEAR-IN PIC X(4).
- 10 TR-DATE-TO-IN.
- 15 TR-DATE-TO-MONTH-IN PIC X(2).
- 15 TR-DATE-TO-SLASH1 PIC X(1).
- 15 TR-DATE-TO-DAY-IN PIC X(2).
- 15 TR-DATE-TO-SLASH2 PIC X(1).
- 15 TR-DATE-TO-YEAR-IN PIC X(4).
- 10 FILLER PIC X(578).
- 05 ACCT-ACTIVITY-IN REDEFINES BUFIN-REMAINDER.
- 10 ACCT-ACTIVITY-ACTION-IN PIC X(10).
- 10 FILLER PIC X(604).
- 05 ACCTNUM-UPD-IN REDEFINES BUFIN-REMAINDER.
- 10 ACCTNUM-UPD-ACTION-IN PIC X(10).
- 10 ACCTNUM-UPD-ACCT-NUM-IN PIC X(06).
- 10 FILLER PIC X(598).
- 05 ACCT-UPD-IN REDEFINES BUFIN-REMAINDER.
- 10 ACCT-UPD-ACTION-IN PIC X(10).
- 10 ACCT-UPD-ACCT-NUM-IN PIC X(06).
- 10 ACCT-UPD-INT-RATE-IN PIC X(7).
- 10 ACCT-UPD-EMAIL-IN PIC X(1).
- 10 ACCT-UPD-DESC-IN PIC X(255).
- 10 FILLER PIC X(335).
- 05 ACCT-CREATE-IN REDEFINES BUFIN-REMAINDER.
- 10 ACCT-CRE-ACTION-IN PIC X(10).
- 10 ACCT-CRE-CUST-IN PIC X(08).
- 10 ACCT-CRE-TYPE-IN PIC X(1).
- 10 ACCT-CRE-INT-RATE-IN PIC X(7).
- 10 ACCT-CRE-EMAIL-IN PIC X(1).
- 10 ACCT-CRE-DESC-IN PIC X(255).
- 10 FILLER PIC X(330).
- 05 ERROR-IN REDEFINES BUFIN-REMAINDER.
- 10 ERROR-NUM-IN PIC X(06).
- 10 FILLER PIC X(608).
- 05 CUST-REC-IN REDEFINES BUFIN-REMAINDER.
- 10 CUST-USERNAME-IN PIC X(08).
- 10 CUST-PIN-IN PIC X(08).
- 10 CUST-FIRSTNAME-IN PIC X(15).
- 10 CUST-LASTNAME-IN PIC X(15).
- 10 CUST-EMAIL-IN PIC X(25).
- 10 CUST-ADDRESS-IN PIC X(50).
- 10 CUST-NUMBER-IN PIC X(06).
- * TOTAL CHARS IS 127
- 10 FILLER PIC X(487).
- 05 TRANS-REC-IN REDEFINES BUFIN-REMAINDER.
- 10 TRANS-ACCT-NUM-IN PIC X(06).
- 10 TRANS-DESC-IN PIC X(30).
- 10 TRANS-AMOUNT-IN PIC 9(12)V9(2).
- * TOTAL CHARS IS 50
- 10 FILLER PIC X(564).
- 05 ACCT-REC-IN REDEFINES BUFIN-REMAINDER.
- 10 ACCT-NUMBER-IN PIC X(06).
- 10 ACCT-TYPE-IN PIC 9(2).
- 88 BASIC-CHECKING VALUE 1.
- 88 INTEREST-CHECKING VALUE 2.
- 88 BASIC-SAVING VALUE 3.
- 88 HOLIDAY-CLUB VALUE 4.
- 10 ACCT-BALANCE-IN PIC S9(12)V9(2).
- 10 ACCT-INT-RATE-IN PIC 9(2)V9(4).
- 10 ACCT-EMAIL-STMT-IN PIC 9(1).
- *** change to PIC S(6)
- 10 ACCT-CUST-NUMBER-IN PIC X(06).
- 10 ACCT-DESC-IN PIC X(255).
- * TOTAL CHARS IS 284 + REAL
- 10 FILLER PIC X(324).
- 01 LOGON-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(50) VALUE
- " WELCOME TO FIRST BANK ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "LOGON ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(02) VALUE @0D0D@.
- 05 FILLER PIC X(27) VALUE
- "enter bank user ID: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 LOGON-USERID-OUT PIC X(08).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(27) VALUE
- " and password: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 LOGON-PASSWORD-OUT PIC X(08).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(02) VALUE @3C12@.
- 01 ACCT-TASK-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "WELCOME ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(50) VALUE
- " Welcome to First Bank ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(08) VALUE
- "Action: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-TASK-ACTION-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(30) VALUE
- " Quit ".
- 05 FILLER PIC X(49) VALUE
- " _".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @3F@.
- 05 FILLER PIC X(30) VALUE
- " Teller Services ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(35) VALUE
- " 1. Deposit ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(35) VALUE
- " 2. Withdraw ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(35) VALUE
- " 3. Balance ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(35) VALUE
- " 4. Show Account Activity ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @3F@.
- 05 FILLER PIC X(30) VALUE
- " Management Services ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(35) VALUE
- " 5. Update Account Info ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(35) VALUE
- " 6. Create Account ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(35) VALUE
- " 7. Restore Bank Data ".
- 05 FILLER PIC X(07) VALUE @0D0D0D0D0D0D0D@.
- 05 FILLER PIC X(08) VALUE
- "Choice: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-TASK-CHOICE-OUT PIC X(1).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(50) VALUE
- " ".
- 05 FILLER PIC X(29) VALUE
- " _".
- 05 ACCT-TASK-ERROR-OUT PIC X(80).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(03) VALUE @3C1205@.
- 01 DEPOSIT-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "DEPOSIT ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(50) VALUE
- " ACCOUNT DEPOSIT ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(08) VALUE
- "Action: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 DEPOSIT-ACTION-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(30) VALUE
- " Submit Cancel ".
- 05 FILLER PIC X(49) VALUE
- " _".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(24) VALUE
- " Account Number: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 DEPOSIT-ACCT-NUM-OUT PIC X(6).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(26) VALUE
- " (use ACCT01 thru ACCT05) ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(24) VALUE
- " Deposit Amount: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 DEPOSIT-AMOUNT-OUT PIC X(15).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(24) VALUE
- " Description: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 DEPOSIT-DESC-OUT PIC X(30).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(34) VALUE
- " Cash Deposit: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 DEPOSIT-CASH-OUT PIC X(1).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(26) VALUE
- " (Enter X if cash deposit)".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(34) VALUE
- " Send email Confirmation: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 DEPOSIT-SEND-EMAIL-OUT PIC X(1).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(26) VALUE
- " (Enter Y or N) ".
- 05 FILLER PIC X(02) VALUE @0D0D@.
- 05 FILLER PIC X(34) VALUE
- " Transfer to Holiday Club: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 DEPOSIT-SAVE-OPTION-OUT PIC X(1).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(56) VALUE
- " 1: No Transfer to Holiday Club ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(56) VALUE
- " 2: Transfer 1% to Holiday Club ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(56) VALUE
- " 3: Transfer 5% to Holiday Club ".
- 05 FILLER PIC X(06) VALUE @0D0D0D0D0D0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(39) VALUE
- " ".
- 05 FILLER PIC X(40) VALUE
- " _".
- 05 DEPOSIT-ERROR-OUT PIC X(80).
- 05 FILLER PIC X(03) VALUE @3C1205@.
- 01 WITHDRAW-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "WITHDRAW ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(50) VALUE
- " ACCOUNT WITHDRAW ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(08) VALUE
- "Action: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 WITHDRAW-ACTION-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(30) VALUE
- " Submit Cancel ".
- 05 FILLER PIC X(49) VALUE
- " _".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(25) VALUE
- " Account Number: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 WITHDRAW-ACCT-NUM-OUT PIC X(6).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(26) VALUE
- " (use ACCT01 thru ACCT05) ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(25) VALUE
- " WithDraw Amount: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 WITHDRAW-AMOUNT-OUT PIC X(15).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(25) VALUE
- " Description: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 WITHDRAW-DESC-OUT PIC X(30).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(06) VALUE @0D0D0D0D0D0D@.
- 05 FILLER PIC X(06) VALUE @0D0D0D0D0D0D@.
- 05 FILLER PIC X(02) VALUE @0D0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(39) VALUE
- " ".
- 05 FILLER PIC X(40) VALUE
- " _".
- 05 WITHDRAW-ERROR-OUT PIC X(80).
- 05 FILLER PIC X(03) VALUE @3C1205@.
- 01 BALANCE-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "ACCTNUM BALANCE ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(55) VALUE
- " Get Account Number for Balance ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(08) VALUE
- "Action: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 BAL-ACTION-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(30) VALUE
- " Submit Cancel ".
- 05 FILLER PIC X(49) VALUE
- " _".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(24) VALUE
- " Account Number: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 BAL-ACCT-NUM-OUT PIC X(6).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(26) VALUE
- " (use ACCT01 thru ACCT05) ".
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(50) VALUE
- " ".
- 05 FILLER PIC X(29) VALUE
- " _".
- 05 BAL-ERROR-OUT PIC X(80).
- 05 FILLER PIC X(03) VALUE @3C1205@.
- 01 SHOW-BALANCE-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "SHOW BALANCE ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(50) VALUE
- " Show Current Balance ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(08) VALUE
- "Action: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 SHOW-BAL-ACTION-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(30) VALUE
- " Home ".
- 05 FILLER PIC X(49) VALUE
- " _".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(26) VALUE
- " Account Number: ".
- 05 SHOW-BAL-ACCT-NUM-OUT PIC X(6).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(26) VALUE
- " Current Balance: ".
- 05 SHOW-BAL-BALANCE-OUT PIC X(15).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(02) VALUE @0D0D@.
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(50) VALUE
- " ".
- 05 FILLER PIC X(29) VALUE
- " _".
- 05 SHOW-BAL-ERROR-OUT PIC X(80).
- 05 FILLER PIC X(02) VALUE @3C12@.
- 01 ACCT-INFO-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(50) VALUE
- " ACCOUNT INFORMATION ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "ACCOUNT INFO ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(20) VALUE
- " AccountNumber: ".
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 ACCT-INFO-NUM-OUT PIC X(06).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(02) VALUE @0D0D@.
- 05 FILLER PIC X(15) VALUE
- " Type: ".
- 05 ACCT-INFO-TYPE-OUT PIC X(20).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(15) VALUE
- " Balance: ".
- 05 ACCT-INFO-BALANCE-OUT PIC X(15).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(15) VALUE
- " Opened Date: ".
- 05 ACCT-INFO-OPENED-DATE-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(15) VALUE
- "Interest Rate: ".
- 05 ACCT-INFO-INT-RATE-OUT PIC X(7).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(25) VALUE
- "Send Statement by email: ".
- 05 ACCT-INFO-EMAIL-STMT-OUT PIC X(1).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(15) VALUE
- " Description: ".
- 05 ACCT-INFO-DESC-OUT PIC X(255).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-INFO-XMIT-OUT PIC X(01).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(03) VALUE @3C1205@.
- 01 ACCTNUM-UPD-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "ACCTNUM UPDATE ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(55) VALUE
- " Account Number for Update".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(08) VALUE
- "Action: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCTNUM-UPD-ACTION-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(30) VALUE
- " Submit Cancel ".
- 05 FILLER PIC X(49) VALUE
- " _".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(26) VALUE
- " Account Number: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCTNUM-UPD-ACCT-NUM-OUT PIC X(6).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(26) VALUE
- " (use ACCT01 thru ACCT05) ".
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(50) VALUE
- " ".
- 05 FILLER PIC X(29) VALUE
- " _".
- 05 ACCTNUM-UPD-ERROR-OUT PIC X(80).
- 05 FILLER PIC X(03) VALUE @3C1205@.
- 01 ACCT-UPD-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "UPDATE ACCOUNT ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(50) VALUE
- " UPDATE ACCOUNT ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(08) VALUE
- "Action: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-UPD-ACTION-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(30) VALUE
- " Submit Cancel ".
- 05 FILLER PIC X(49) VALUE
- " _".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(24) VALUE
- " Account Number: ".
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 ACCT-UPD-ACCT-NUM-OUT PIC X(6).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(26) VALUE
- " (use ACCT01 thru ACCT05) ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(24) VALUE
- " User Name: ".
- 05 ACCT-UPD-USERNAME-OUT PIC X(08).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(24) VALUE
- " Account Type: ".
- 05 ACCT-UPD-TYPE-OUT PIC X(20).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(24) VALUE
- " Current Balance: ".
- 05 ACCT-UPD-BALANCE-OUT PIC X(15).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(20) VALUE
- " Opened Date: ".
- 05 ACCT-UPD-OPENED-DATE-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(32) VALUE
- " Interest Rate: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-UPD-INT-RATE-OUT PIC X(7).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(32) VALUE
- " Send Statement by email: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-UPD-EMAIL-STMT-OUT PIC X(1).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(32) VALUE
- " Description: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-UPD-DESC-OUT PIC X(255).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(03) VALUE @0D0D0D@.
- 05 FILLER PIC X(03) VALUE @0D0D0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(50) VALUE
- " ".
- 05 FILLER PIC X(29) VALUE
- " _".
- 05 ACCT-UPD-ERROR-OUT PIC X(80).
- 05 FILLER PIC X(03) VALUE @3C1205@.
- 01 TR-DATE-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "SHOW TRANSACTIONS ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(50) VALUE
- " ACCOUNT ACTIVITY RANGE ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(08) VALUE
- "Action: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 TR-DATE-ACTION-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(30) VALUE
- " Submit Cancel ".
- 05 FILLER PIC X(49) VALUE
- " _".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(24) VALUE
- " Account Number: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 TR-DATE-ACCT-NUM-OUT PIC X(6).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(26) VALUE
- " (use ACCT01 thru ACCT05) ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(14) VALUE
- " From: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 TR-DATE-FROM-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(30) VALUE
- " (use MM/DD/YYYY date format) ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(14) VALUE
- " To: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 TR-DATE-TO-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(30) VALUE
- " (use MM/DD/YYYY date format) ".
- 05 FILLER PIC X(02) VALUE @0D0D@.
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(04) VALUE @0D0D0D0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(50) VALUE
- " ".
- 05 FILLER PIC X(29) VALUE
- " _".
- 05 TR-DATE-ERROR-OUT PIC X(80).
- 05 FILLER PIC X(03) VALUE @3C1205@.
- 01 ACCT-ACT-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "ACCOUNT ACTIVITY ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(50) VALUE
- " SHOW ACCOUNT ACTIVITY ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(08) VALUE
- "Action: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-ACT-ACTION-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(12) VALUE
- " Home ".
- 05 ACCT-ACT-HELP-OUT PIC X(4).
- 05 FILLER PIC X(14) VALUE
- " ".
- 05 FILLER PIC X(49) VALUE
- " _".
- 05 FILLER PIC X(50) VALUE
- " ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(80) VALUE
- " Date Description Withdrawal Dep
- - "osit Balance".
- 05 ACCT-ACT-RECORD OCCURS 15.
- 07 ACCT-ACT-OUT PIC X(80).
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(50) VALUE
- " ".
- 05 FILLER PIC X(29) VALUE
- " _".
- 05 ACCT-ACT-ERROR-OUT PIC X(80).
- 05 FILLER PIC X(02) VALUE @3C12@.
- 01 ACCT-CRE-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "CREATE ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(50) VALUE
- " CREATE ACCOUNT ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(08) VALUE
- "Action: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-CRE-ACTION-OUT PIC X(10).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(30) VALUE
- " Submit Cancel ".
- 05 FILLER PIC X(49) VALUE
- " _".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(22) VALUE
- " User Name: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-CRE-CUST-OUT PIC X(8).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(20) VALUE
- " (use TOM or MARY) ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(22) VALUE
- " Account Type: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-CRE-TYPE-OUT PIC X(1).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(40) VALUE
- " 1: Basic Checking ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(40) VALUE
- " 2: Interest Checking ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(40) VALUE
- " 3: Basic Savings ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(40) VALUE
- " 4: Holiday Club) ".
- 05 FILLER PIC X(02) VALUE @0D0D@.
- 05 FILLER PIC X(33) VALUE
- " Interest Rate: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-CRE-INT-RATE-OUT PIC X(7).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(33) VALUE
- " Send statement by email: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-CRE-EMAIL-OUT PIC X(1).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(6) VALUE " (Y/N)".
- 05 FILLER PIC X(02) VALUE @0D0D@.
- 05 FILLER PIC X(21) VALUE
- " Description: ".
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-CRE-DESC-OUT PIC X(255).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(03) VALUE @0D0D0D@.
- 05 FILLER PIC X(01) VALUE @0F@.
- 05 FILLER PIC X(50) VALUE
- " ".
- 05 FILLER PIC X(29) VALUE
- " _".
- 05 ACCT-CRE-ERROR-OUT PIC X(80).
- 05 FILLER PIC X(03) VALUE @3C1205@.
- 01 ACCT-LIST-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(50) VALUE
- " ACCOUNT LIST ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "ACCOUNT LIST ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(20) VALUE
- " CustomerID: ".
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 ACCT-LIST-CUST-OUT PIC X(08).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(02) VALUE @0D0D@.
- 05 ACCT-LIST-PRE1-OUT PIC X(3).
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 ACCT-LIST-ACCT1-OUT PIC X(30).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 ACCT-LIST-PRE2-OUT PIC X(3).
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 ACCT-LIST-ACCT2-OUT PIC X(30).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 ACCT-LIST-PRE3-OUT PIC X(3).
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 ACCT-LIST-ACCT3-OUT PIC X(30).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 ACCT-LIST-PRE4-OUT PIC X(3).
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 ACCT-LIST-ACCT4-OUT PIC X(30).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 ACCT-LIST-PRE5-OUT PIC X(3).
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 ACCT-LIST-ACCT5-OUT PIC X(30).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 ACCT-LIST-PRE6-OUT PIC X(3).
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 ACCT-LIST-ACCT6-OUT PIC X(30).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(02) VALUE @0D0D@.
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ACCT-LIST-ACTION-OUT PIC X(01).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(02) VALUE @3C12@.
- 01 ERROR-FORM.
- 05 FILLER PIC X(01) VALUE @0C@.
- 05 FILLER PIC X(50) VALUE
- " ERROR ".
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 FILLER PIC X(18) VALUE
- "ERROR ".
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(20) VALUE
- " AccountNumber: ".
- 05 FILLER PIC X(01) VALUE @1C@.
- 05 ERROR-NUM-OUT PIC X(06).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(02) VALUE @0D0D@.
- 05 FILLER PIC X(01) VALUE @1F@.
- 05 ERROR-XMIT-OUT PIC X(01).
- 05 FILLER PIC X(01) VALUE @1E@.
- 05 FILLER PIC X(01) VALUE @0D@.
- 05 FILLER PIC X(02) VALUE @3C12@.
- COMMUNICATION SECTION.
- ***
- *** COMS DCILibrary Input and Output Header declarations.
- ***
- INPUT HEADER COMS-IN;
- FUNCTIONSTATUS IS COMS-IN-FUNCTION-STATUS
- TEXTLENGTH IS COMS-IN-TEXT-LENGTH;
- STATUSVALUE IS COMS-IN-STATUS-VALUE.
- OUTPUT HEADER COMS-OUT;
- TEXTLENGTH IS COMS-OUT-TEXT-LENGTH;
- STATUSVALUE IS COMS-OUT-STATUS-VALUE.
- ********************* PROCEDURE DIVISION *************************
- PROCEDURE DIVISION.
- MAIN-LINE.
- CHANGE ATTRIBUTE LIBACCESS OF "DCILIBRARY" TO BYINITIATOR.
- ENABLE INPUT COMS-IN KEY "ONLINE".
- PERFORM INIT-TABLES THRU INIT-TABLES-EXIT.
- PROCESS-TRANSACTION.
- * Clear the input buffer
- MOVE SPACES TO BUFIN.
- RECEIVE COMS-IN MESSAGE INTO BUFIN;
- NO DATA
- GO TO WAIT-FOR-INPUT.
- PERFORM PROCESS-MESSAGE THRU PROCESS-MESSAGE-EXIT.
- IF COMS-IN-STATUS-VALUE = 99
- GO TO FINISH.
- GO TO PROCESS-TRANSACTION.
- WAIT-FOR-INPUT.
- WAIT UNTIL
- ATTRIBUTE DCIINPUTEVENT OF MYSELF
- ATTRIBUTE DCITASKEVENT OF MYSELF
- GIVING WAIT-RESULT.
- GO TO PROCESS-TRANSACTION.
- PROCESS-TRANSACTION-EXIT.
- EXIT.
- FINISH.
- STOP RUN.
- MAIN-LINE-EXIT.
- EXIT.
- ****************************************************************
- PROCESS-MESSAGE.
- * Check to see if Transaction Server instructed us go to EOJ.
- IF COMS-IN-STATUS-VALUE = 99
- GO TO PROCESS-MESSAGE-EXIT.
- * Check for window open notification.
- IF (COMS-IN-FUNCTION-STATUS = -16)
- * DISPLAY "== T27FIRSTBANK WINDOW OPEN ==="
- MOVE DEFAULT-ACCT TO CURR-ACCT-NUM-STR
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
- GO TO PROCESS-MESSAGE-EXIT.
- * Check for window on notification.
- IF (COMS-IN-FUNCTION-STATUS = -17)
- * DISPLAY "== T27EPORTALBANK WINDOW ON ==="
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
- GO TO PROCESS-MESSAGE-EXIT.
- MOVE 0 TO ERROR-NUMBER.
- IF LOGON-MENU
- PERFORM PROCESS-LOGON THRU PROCESS-LOGON-EXIT
- ELSE
- IF ACCT-LIST-MENU
- MOVE ACCT-LIST-CUST-IN TO CURR-CUST-USERNAME
- PERFORM PROCESS-ACCT-LIST THRU PROCESS-ACCT-LIST-EXIT
- ELSE
- IF ACCT-TASK-MENU
- PERFORM PROCESS-ACCT-TASK THRU PROCESS-ACCT-TASK-EXIT
- ELSE
- IF DEPOSIT-MENU
- PERFORM PROCESS-DEPOSIT THRU PROCESS-DEPOSIT-EXIT
- ELSE
- IF WITHDRAW-MENU
- MOVE WITHDRAW-ACCT-NUM-IN TO CURR-ACCT-NUM-STR
- PERFORM PROCESS-WITHDRAW THRU PROCESS-WITHDRAW-EXIT
- ELSE
- IF ACCT-BAL-MENU
- PERFORM PROCESS-ACCT-BAL THRU PROCESS-ACCT-BAL-EXIT
- ELSE
- IF SHOW-BAL-MENU
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
- ELSE
- IF TR-DATE-MENU
- MOVE TR-DATE-ACCT-NUM-IN TO CURR-ACCT-NUM-STR
- PERFORM PROCESS-TR-DATE THRU PROCESS-TR-DATE-EXIT
- ELSE
- IF ACCT-ACTIVITY-MENU
- PERFORM PROCESS-ACCT-ACTIVITY THRU
- PROCESS-ACCT-ACTIVITY-EXIT
- ELSE
- IF ACCTNUM-UPD-MENU
- PERFORM PROCESS-ACCTNUM-UPD THRU PROCESS-ACCTNUM-UPD-EXIT
- ELSE
- IF ACCT-UPD-MENU
- PERFORM PROCESS-ACCT-UPD THRU PROCESS-ACCT-UPD-EXIT
- ELSE
- IF ACCT-CREATE-MENU
- PERFORM PROCESS-ACCT-CREATE THRU PROCESS-ACCT-CREATE-EXIT
- ELSE
- IF ERROR-MENU
- PERFORM PROCESS-ERROR THRU PROCESS-ERROR-EXIT
- ELSE
- * MOVE "Unknown command" TO ERR-TEXT
- * MOVE UNKNOWN-ERROR TO ERROR-NUMBER
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
- PROCESS-MESSAGE-EXIT.
- EXIT.
- ****************************************************************
- INIT-TABLES.
- *** ADD 2 CUSTOMERS (TOM AND MARY)
- MOVE 0 TO TEMP-INDEX.
- NEXT-CU.
- ADD 1 TO TEMP-INDEX.
- MOVE SPACES TO CUST-NUMBER (TEMP-INDEX).
- IF TEMP-INDEX < MAX-CUSTOMERS
- GO TO NEXT-CU.
- MOVE "TOM" TO CUST-USERNAME(1).
- MOVE "TOMPW" TO CUST-PIN(1).
- MOVE "Tom" TO CUST-FIRSTNAME (1).
- MOVE "Walker" TO CUST-LASTNAME (1).
- MOVE "TomWalker@isp2net.com" TO CUST-EMAIL(1).
- MOVE "132 Cardinal Steet Philadelphia, PA 19103"
- TO CUST-ADDRESS(1).
- MOVE "CUST01" TO CUST-NUMBER(1).
- MOVE "MARY" TO CUST-USERNAME(2).
- MOVE "MARYPW" TO CUST-PIN(2).
- MOVE "Mary" TO CUST-FIRSTNAME (2).
- MOVE "Cooper" TO CUST-LASTNAME (2).
- MOVE "MaryCooper@isp2net.com" TO CUST-EMAIL(2).
- MOVE "52 Oak Avenue Yonkers, NY 10702" TO CUST-ADDRESS(2).
- MOVE "CUST02" TO CUST-NUMBER(2).
- *** ADD 5 ACCOUNTS (2 TO TOM AND 3 TO MARY)
- MOVE 0 TO TEMP-INDEX.
- NEXT-AC.
- ADD 1 TO TEMP-INDEX.
- MOVE SPACES TO ACCT-NUMBER (TEMP-INDEX).
- MOVE SPACES TO ACCT-CUST-NUMBER (TEMP-INDEX).
- IF TEMP-INDEX < MAX-ACCOUNTS
- GO TO NEXT-AC.
- MOVE "ACCT01" TO ACCT-NUMBER(1).
- MOVE 1 TO ACCT-TYPE(1).
- MOVE 0.0 TO ACCT-BALANCE(1).
- MOVE "01/11/2006" TO ACCT-OPENED-DATE(1).
- MOVE 0.00 TO ACCT-INT-RATE(1).
- MOVE "CUST01" TO ACCT-CUST-NUMBER(1).
- MOVE 1 TO ACCT-EMAIL-STMT(1).
- MOVE "Tom's Basic Checking Account" TO ACCT-DESC(1).
- MOVE "ACCT02" TO ACCT-NUMBER(2).
- MOVE 3 TO ACCT-TYPE(2).
- MOVE 0.0 TO ACCT-BALANCE(2).
- MOVE "01/11/2006" TO ACCT-OPENED-DATE(2).
- MOVE 0.04 TO ACCT-INT-RATE(2).
- MOVE "CUST01" TO ACCT-CUST-NUMBER(2).
- MOVE 1 TO ACCT-EMAIL-STMT(2).
- MOVE "Tom's Basic Savings Account" TO ACCT-DESC(2).
- MOVE "ACCT03" TO ACCT-NUMBER(3).
- MOVE 1 TO ACCT-TYPE(3).
- MOVE 0.0 TO ACCT-BALANCE(3).
- MOVE "01/15/2006" TO ACCT-OPENED-DATE(3).
- MOVE 0.00 TO ACCT-INT-RATE(3).
- MOVE "CUST02" TO ACCT-CUST-NUMBER(3).
- MOVE 1 TO ACCT-EMAIL-STMT(3).
- MOVE "Mary's Basic Checking Account" TO ACCT-DESC(3).
- MOVE "ACCT04" TO ACCT-NUMBER(4).
- MOVE 4 TO ACCT-TYPE(4).
- MOVE 0.0 TO ACCT-BALANCE(4).
- MOVE "01/05/2006" TO ACCT-OPENED-DATE(4).
- MOVE 0.03 TO ACCT-INT-RATE(4).
- MOVE "CUST02" TO ACCT-CUST-NUMBER(4).
- MOVE 1 TO ACCT-EMAIL-STMT(4).
- MOVE "Tom's Holiday Club Account" TO ACCT-DESC(4).
- MOVE "ACCT05" TO ACCT-NUMBER(5).
- MOVE 3 TO ACCT-TYPE(5).
- MOVE 0.0 TO ACCT-BALANCE(5).
- MOVE "02/05/2006" TO ACCT-OPENED-DATE(5).
- MOVE 0.03 TO ACCT-INT-RATE(5).
- MOVE "CUST02" TO ACCT-CUST-NUMBER(5).
- MOVE 1 TO ACCT-EMAIL-STMT(5).
- MOVE "Mary's Basic Savings Account" TO ACCT-DESC(5).
- *** ADD 70 TRANSACTIONS (5 transactions per account
- *** except ACCT05 which has 50 transactions)
- MOVE 0 TO TEMP-INDEX.
- NEXT-TR.
- ADD 1 TO TEMP-INDEX.
- MOVE SPACES TO TRANS-ACCT-NUM (TEMP-INDEX).
- IF TEMP-INDEX < MAX-TRANSACTIONS
- GO TO NEXT-TR.
- MOVE "ACCT01" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(1).
- MOVE "01/11/2006" TO TRANS-DATE(1).
- MOVE 1 TO TRANS-TYPE(1).
- MOVE 1000.0 TO TRANS-AMOUNT(1).
- MOVE "CASH DEPOSIT" TO TRANS-DESC(1).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- ADD TRANS-AMOUNT(1) TO ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(1).
- MOVE "ACCT01" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(2).
- MOVE "01/15/2006" TO TRANS-DATE(2).
- MOVE 2 TO TRANS-TYPE(2).
- MOVE 100.0 TO TRANS-AMOUNT(2).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(2).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT TRANS-AMOUNT(2) FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(2).
- MOVE "ACCT01" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(3).
- MOVE "01/15/2006" TO TRANS-DATE(3).
- MOVE 2 TO TRANS-TYPE(3).
- MOVE 50.0 TO TRANS-AMOUNT(3).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(3).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT TRANS-AMOUNT(3) FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(3).
- MOVE "ACCT01" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(4).
- MOVE "02/22/2006" TO TRANS-DATE(4).
- MOVE 1 TO TRANS-TYPE(4).
- MOVE 100.0 TO TRANS-AMOUNT(4).
- MOVE "ATM DEPOSIT " TO TRANS-DESC(4).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- ADD TRANS-AMOUNT(4) TO ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(4).
- MOVE "ACCT01" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(5).
- MOVE "03/15/2006" TO TRANS-DATE(5).
- MOVE 2 TO TRANS-TYPE(5).
- MOVE 100.0 TO TRANS-AMOUNT(5).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(5).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT TRANS-AMOUNT(5) FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(5).
- MOVE "ACCT02" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(6).
- MOVE "01/11/2006" TO TRANS-DATE(6).
- MOVE 1 TO TRANS-TYPE(6).
- MOVE 2000.0 TO TRANS-AMOUNT(6).
- MOVE "CASH DEPOSIT" TO TRANS-DESC(6).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- ADD TRANS-AMOUNT(6) TO ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(6).
- MOVE "ACCT02" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(7).
- MOVE "01/28/2006" TO TRANS-DATE(7).
- MOVE 2 TO TRANS-TYPE(7).
- MOVE 80.0 TO TRANS-AMOUNT(7).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(7).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT TRANS-AMOUNT(7) FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(7).
- MOVE "ACCT02" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(8).
- MOVE "02/15/2006" TO TRANS-DATE(8).
- MOVE 2 TO TRANS-TYPE(8).
- MOVE 100.0 TO TRANS-AMOUNT(8).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(8).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT TRANS-AMOUNT(8) FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(8).
- MOVE "ACCT02" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(9).
- MOVE "02/23/2006" TO TRANS-DATE(9).
- MOVE 1 TO TRANS-TYPE(9).
- MOVE 100.0 TO TRANS-AMOUNT(9).
- MOVE "ATM DEPOSIT " TO TRANS-DESC(9).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- ADD TRANS-AMOUNT(9) TO ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(9).
- MOVE "ACCT02" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(10).
- MOVE "03/15/2006" TO TRANS-DATE(10).
- MOVE 2 TO TRANS-TYPE(10).
- MOVE 100.0 TO TRANS-AMOUNT(10).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(10).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT TRANS-AMOUNT(10) FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(10).
- MOVE "ACCT03" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(11).
- MOVE "01/15/2006" TO TRANS-DATE(11).
- MOVE 1 TO TRANS-TYPE(11).
- MOVE 3000.0 TO TRANS-AMOUNT(11).
- MOVE "CASH DEPOSIT" TO TRANS-DESC(11).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- ADD TRANS-AMOUNT(11) TO ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(11).
- MOVE "ACCT03" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(12).
- MOVE "01/19/2006" TO TRANS-DATE(12).
- MOVE 2 TO TRANS-TYPE(12).
- MOVE 60.0 TO TRANS-AMOUNT(12).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(12).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT TRANS-AMOUNT(12) FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(12).
- MOVE "ACCT03" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(13).
- MOVE "01/15/2006" TO TRANS-DATE(13).
- MOVE 2 TO TRANS-TYPE(13).
- MOVE 150.0 TO TRANS-AMOUNT(13).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(13).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT TRANS-AMOUNT(13) FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(13).
- MOVE "ACCT03" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(14).
- MOVE "02/25/2006" TO TRANS-DATE(14).
- MOVE 1 TO TRANS-TYPE(14).
- MOVE 100.0 TO TRANS-AMOUNT(14).
- MOVE "ATM DEPOSIT " TO TRANS-DESC(14).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- ADD TRANS-AMOUNT(14) TO ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(14).
- MOVE "ACCT03" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(15).
- MOVE "03/15/2006" TO TRANS-DATE(15).
- MOVE 2 TO TRANS-TYPE(15).
- MOVE 100.0 TO TRANS-AMOUNT(15).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(15).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT TRANS-AMOUNT(15) FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(15).
- MOVE "ACCT04" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(16).
- MOVE "01/05/2006" TO TRANS-DATE(16).
- MOVE 1 TO TRANS-TYPE(16).
- MOVE 4000.0 TO TRANS-AMOUNT(16).
- MOVE "CASH DEPOSIT" TO TRANS-DESC(16).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- ADD TRANS-AMOUNT(16) TO ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(16).
- MOVE "ACCT04" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(17).
- MOVE "01/26/2006" TO TRANS-DATE(17).
- MOVE 2 TO TRANS-TYPE(17).
- MOVE 80.0 TO TRANS-AMOUNT(17).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(17).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT TRANS-AMOUNT(17) FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(17).
- MOVE "ACCT04" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(18).
- MOVE "02/15/2006" TO TRANS-DATE(18).
- MOVE 2 TO TRANS-TYPE(18).
- MOVE 100.0 TO TRANS-AMOUNT(18).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(18).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT TRANS-AMOUNT(18) FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(18).
- MOVE "ACCT04" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(19).
- MOVE "03/05/2006" TO TRANS-DATE(19).
- MOVE 1 TO TRANS-TYPE(19).
- MOVE 100.0 TO TRANS-AMOUNT(19).
- MOVE "ATM DEPOSIT " TO TRANS-DESC(19).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- ADD TRANS-AMOUNT(19) TO ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(19).
- MOVE "ACCT04" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(20).
- MOVE "03/20/2006" TO TRANS-DATE(20).
- MOVE 2 TO TRANS-TYPE(20).
- MOVE 200.0 TO TRANS-AMOUNT(20).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(20).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT TRANS-AMOUNT(20) FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(20).
- * ADD 50 TRANSACTIONS FOR ACCT05
- MOVE "ACCT05" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(21).
- MOVE "02/05/2006" TO TRANS-DATE(21).
- MOVE 1 TO TRANS-TYPE(21).
- MOVE 5000.0 TO TRANS-AMOUNT(21).
- MOVE "CASH DEPOSIT" TO TRANS-DESC(21).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- ADD TRANS-AMOUNT(21) TO ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(21).
- MOVE "ACCT05" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(22).
- MOVE "02/15/2006" TO TRANS-DATE(22).
- MOVE 1 TO TRANS-TYPE(22).
- MOVE 400.0 TO TRANS-AMOUNT(22).
- MOVE "CASH DEPOSIT" TO TRANS-DESC(22).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- ADD 400.0 TO ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(22).
- MOVE "ACCT05" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(23).
- MOVE "02/25/2006" TO TRANS-DATE(23).
- MOVE 2 TO TRANS-TYPE(23).
- MOVE 100.0 TO TRANS-AMOUNT(23).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(23).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT 100.0 FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(23).
- MOVE "ACCT05" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(24).
- MOVE "02/28/2006" TO TRANS-DATE(24).
- MOVE 2 TO TRANS-TYPE(24).
- MOVE 100.0 TO TRANS-AMOUNT(24).
- MOVE "CHECK 1002" TO TRANS-DESC(24).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT 100.0 FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(24).
- MOVE "ACCT05" TO TEMP-ACCT-IN.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(25).
- MOVE "03/27/2006" TO TRANS-DATE(25).
- MOVE 1 TO TRANS-TYPE(25).
- MOVE 200.0 TO TRANS-AMOUNT(25).
- MOVE "CASH DEPOSIT" TO TRANS-DESC(25).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- ADD 200.0 TO ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(25).
- MOVE 26 TO TEMP-NUM.
- MOVE 0 TO CURR-DAY-NUM.
- MOVE "04" TO CURR-MONTH.
- MOVE "2006" TO CURR-YEAR.
- MOVE "ACCT05" TO TEMP-ACCT-IN.
- ACCT05-NEXT-TRANS.
- MOVE TEMP-ACCT-IN TO TRANS-ACCT-NUM(TEMP-NUM).
- ADD 1 TO CURR-DAY-NUM.
- MOVE CURR-DAY-NUM TO CURR-DAY.
- STRING CURR-MONTH DELIMITED BY SIZE, "/",
- CURR-DAY DELIMITED BY SIZE, "/",
- CURR-YEAR DELIMITED BY SIZE INTO CURR-DATE.
- MOVE CURR-DATE TO TRANS-DATE(TEMP-NUM).
- MOVE 2 TO TRANS-TYPE(TEMP-NUM).
- MOVE 100.0 TO TRANS-AMOUNT(TEMP-NUM).
- MOVE "ATM WITHDRAWAL" TO TRANS-DESC(TEMP-NUM).
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- SUBTRACT 100.0 FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE (ACCT-INDEX) TO
- TRANS-ACCT-BALANCE(TEMP-NUM).
- IF TEMP-NUM = 50
- MOVE 0 TO CURR-DAY-NUM
- MOVE "05" TO CURR-MONTH.
- IF TEMP-NUM < 70
- ADD 1 TO TEMP-NUM
- GO TO ACCT05-NEXT-TRANS.
- INIT-TABLES-EXIT.
- FIND-AVAIL-TRANS.
- MOVE 0 TO TRANS-INDEX.
- NEXT-TRANS.
- ADD 1 TO TRANS-INDEX.
- IF TRANS-INDEX > MAX-TRANSACTIONS
- MOVE -1 TO TRANS-INDEX
- GO TO FIND-AVAIL-TRANS-EXIT.
- IF TRANS-ACCT-NUM (TRANS-INDEX) = SPACES
- GO TO FIND-AVAIL-TRANS-EXIT.
- GO TO NEXT-TRANS.
- FIND-AVAIL-TRANS-EXIT.
- FIND-AVAIL-ACCT.
- MOVE 0 TO ACCT-INDEX.
- NEXT-ACCT.
- ADD 1 TO ACCT-INDEX.
- IF ACCT-INDEX > MAX-ACCOUNTS
- MOVE -1 TO ACCT-INDEX
- GO TO FIND-AVAIL-ACCT-EXIT.
- IF ACCT-NUMBER (ACCT-INDEX) = SPACES
- GO TO FIND-AVAIL-ACCT-EXIT.
- GO TO NEXT-ACCT.
- FIND-AVAIL-ACCT-EXIT.
- FIND-AVAIL-CUST.
- MOVE 0 TO CUST-INDEX.
- NEXT-CUST.
- ADD 1 TO CUST-INDEX.
- IF CUST-INDEX > MAX-CUSTOMERS
- MOVE -1 TO CUST-INDEX
- GO TO FIND-AVAIL-CUST-EXIT.
- IF CUST-NUMBER (CUST-INDEX) = SPACES
- GO TO FIND-AVAIL-CUST-EXIT.
- GO TO NEXT-CUST.
- FIND-AVAIL-CUST-EXIT.
- FIND-ACCT-LOOP.
- MOVE 0 TO ACCT-INDEX.
- NEXT-ACCOUNT.
- ADD 1 TO ACCT-INDEX.
- IF ACCT-INDEX > MAX-ACCOUNTS
- MOVE -1 TO ACCT-INDEX
- GO TO FIND-ACCT-LOOP-EXIT.
- IF TEMP-ACCT-IN = ACCT-NUMBER (ACCT-INDEX)
- GO TO FIND-ACCT-LOOP-EXIT.
- GO TO NEXT-ACCOUNT.
- FIND-ACCT-LOOP-EXIT.
- FIND-CUST-LOOP.
- MOVE 0 TO CUST-INDEX.
- NEXT-CUSTOMER.
- ADD 1 TO CUST-INDEX.
- IF CUST-INDEX > MAX-CUSTOMERS
- MOVE -1 TO CUST-INDEX
- GO TO FIND-CUST-LOOP-EXIT.
- IF CURR-CUST-USERNAME = CUST-USERNAME (CUST-INDEX)
- GO TO FIND-CUST-LOOP-EXIT.
- GO TO NEXT-CUSTOMER.
- FIND-CUST-LOOP-EXIT.
- FIND-CUST-BY-NUM.
- MOVE 0 TO CUST-INDEX.
- NEXT-CUSTOMER2.
- ADD 1 TO CUST-INDEX.
- IF CUST-INDEX > MAX-CUSTOMERS
- MOVE -1 TO CUST-INDEX
- GO TO FIND-CUST-BY-NUM-EXIT.
- IF TEMP-CUSTOMER-NUM = CUST-NUMBER (CUST-INDEX)
- GO TO FIND-CUST-BY-NUM-EXIT.
- GO TO NEXT-CUSTOMER2.
- FIND-CUST-BY-NUM-EXIT.
- ****************************************************************
- CLEAR-LOGON-FORM.
- MOVE SPACES TO LOGON-USERID-OUT.
- MOVE SPACES TO LOGON-PASSWORD-OUT.
- CLEAR-LOGON-FORM-EXIT.
- ****************************************************************
- CLEAR-ACCT-TASK-FORM.
- MOVE SPACES TO ACCT-TASK-ERROR-OUT.
- CLEAR-ACCT-TASK-FORM-EXIT.
- ****************************************************************
- SEND-LOGON-FORM.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (LOGON-FORM).
- SEND COMS-OUT FROM LOGON-FORM WITH EGI.
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE.
- SEND-LOGON-FORM-EXIT.
- ****************************************************************
- SEND-ACCT-TASK-FORM.
- MOVE SPACES TO ACCT-TASK-ACTION-OUT.
- MOVE SPACES TO ACCT-TASK-CHOICE-OUT.
- MOVE SPACES TO ACCT-TASK-ERROR-OUT.
- IF ERROR-NUMBER = CREATED-NEW-ACCOUNT
- STRING "Created account ",
- CURR-ACCT-NUM-STR DELIMITED BY SIZE
- INTO ACCT-TASK-ERROR-OUT
- ELSE
- IF ERROR-NUMBER > 0
- MOVE ERRORS (ERROR-NUMBER) TO ACCT-TASK-ERROR-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (ACCT-TASK-FORM).
- SEND COMS-OUT FROM ACCT-TASK-FORM WITH EGI.
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE.
- SEND-ACCT-TASK-FORM-EXIT.
- ****************************************************************
- SEND-ACCT-LIST-FORM.
- * CLEAR THE FORM
- MOVE SPACES TO ACCT-LIST-PRE1-OUT.
- MOVE SPACES TO ACCT-LIST-ACCT1-OUT.
- MOVE SPACES TO ACCT-LIST-PRE2-OUT.
- MOVE SPACES TO ACCT-LIST-ACCT2-OUT.
- MOVE SPACES TO ACCT-LIST-PRE3-OUT.
- MOVE SPACES TO ACCT-LIST-ACCT3-OUT.
- MOVE SPACES TO ACCT-LIST-PRE4-OUT.
- MOVE SPACES TO ACCT-LIST-ACCT4-OUT.
- MOVE SPACES TO ACCT-LIST-PRE5-OUT.
- MOVE SPACES TO ACCT-LIST-ACCT5-OUT.
- MOVE SPACES TO ACCT-LIST-PRE6-OUT.
- MOVE SPACES TO ACCT-LIST-ACCT6-OUT.
- MOVE CURR-CUST-USERNAME TO ACCT-LIST-CUST-OUT.
- PERFORM FIND-CUST-LOOP THRU FIND-CUST-LOOP-EXIT.
- IF CUST-INDEX = -1
- * customer not found
- PERFORM SEND-ERROR-FORM THRU SEND-ERROR-FORM-EXIT
- GO TO SEND-ACCT-LIST-FORM-EXIT.
- MOVE CUST-NUMBER(CUST-INDEX) TO TEMP-CUSTOMER-NUM.
- MOVE 0 TO TEMP-NUM CURR-NUM.
- GET-NEXT-ACCT.
- ADD 1 TO TEMP-NUM.
- IF TEMP-NUM > MAX-ACCOUNTS
- GO TO SEND-CUST-ACCTS.
- IF TEMP-CUSTOMER-NUM = ACCT-CUST-NUMBER (TEMP-NUM)
- ADD 1 TO CURR-NUM
- IF CURR-NUM = 1
- MOVE "1. " TO ACCT-LIST-PRE1-OUT
- STRING ACCT-NUMBER (TEMP-NUM) DELIMITED BY SIZE,
- " - ",
- ACCOUNT-TYPE-TBL (ACCT-TYPE (TEMP-NUM))
- DELIMITED BY SIZE INTO ACCT-LIST-ACCT1-OUT
- ELSE
- IF CURR-NUM = 2
- MOVE "2. " TO ACCT-LIST-PRE2-OUT
- STRING ACCT-NUMBER (TEMP-NUM) DELIMITED BY SIZE,
- " - ",
- ACCOUNT-TYPE-TBL (ACCT-TYPE (TEMP-NUM))
- DELIMITED BY SIZE INTO ACCT-LIST-ACCT2-OUT
- ELSE
- IF CURR-NUM = 3
- MOVE "3. " TO ACCT-LIST-PRE3-OUT
- STRING ACCT-NUMBER (TEMP-NUM) DELIMITED BY SIZE,
- " - ",
- ACCOUNT-TYPE-TBL (ACCT-TYPE (TEMP-NUM))
- DELIMITED BY SIZE INTO ACCT-LIST-ACCT3-OUT
- ELSE
- IF CURR-NUM = 4
- MOVE "4. " TO ACCT-LIST-PRE4-OUT
- STRING ACCT-NUMBER (TEMP-NUM) DELIMITED BY SIZE,
- " - ",
- ACCOUNT-TYPE-TBL (ACCT-TYPE (TEMP-NUM))
- DELIMITED BY SIZE INTO ACCT-LIST-ACCT4-OUT
- ELSE
- IF CURR-NUM = 5
- MOVE "5. " TO ACCT-LIST-PRE5-OUT
- STRING ACCT-NUMBER (TEMP-NUM) DELIMITED BY SIZE,
- " - ",
- ACCOUNT-TYPE-TBL (ACCT-TYPE (TEMP-NUM))
- DELIMITED BY SIZE INTO ACCT-LIST-ACCT5-OUT
- ELSE
- IF CURR-NUM = 6
- MOVE "6. " TO ACCT-LIST-PRE6-OUT
- STRING ACCT-NUMBER (TEMP-NUM) DELIMITED BY SIZE,
- " - ",
- ACCOUNT-TYPE-TBL (ACCT-TYPE (TEMP-NUM))
- DELIMITED BY SIZE INTO ACCT-LIST-ACCT6-OUT
- ELSE
- GO TO SEND-CUST-ACCTS.
- GO TO GET-NEXT-ACCT.
- SEND-CUST-ACCTS.
- MOVE " " TO ACCT-LIST-ACTION-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (ACCT-LIST-FORM).
- SEND COMS-OUT FROM ACCT-LIST-FORM WITH EGI.
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE.
- SEND-ACCT-LIST-FORM-EXIT.
- ****************************************************************
- SEND-ERROR-FORM.
- MOVE CURR-ACCT-NUM-STR TO ERROR-NUM-OUT.
- MOVE " " TO ERROR-XMIT-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (ERROR-FORM).
- SEND COMS-OUT FROM ERROR-FORM WITH EGI.
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE.
- SEND-ERROR-FORM-EXIT.
- GET-CURR-DATE.
- MOVE FUNCTION CURRENT-DATE TO DATE01.
- STRING CURR-MONTH DELIMITED BY SIZE, "/",
- CURR-DAY DELIMITED BY SIZE, "/",
- CURR-YEAR DELIMITED BY SIZE INTO CURR-DATE.
- GET-CURR-DATE-EXIT.
- PROCESS-LOGON.
- MOVE FUNCTION UPPER-CASE (LOGON-USERID-IN)
- TO LOGON-USERID-IN.
- MOVE LOGON-USERID-IN TO CURR-CUST-USERNAME.
- PERFORM SEND-ACCT-LIST-FORM THRU SEND-ACCT-LIST-FORM-EXIT.
- PROCESS-LOGON-EXIT.
- ***************************************************************
- PROCESS-ACCT-CREATE.
- MOVE FUNCTION UPPER-CASE (ACCT-CRE-ACTION-IN)
- TO ACCT-CRE-ACTION-IN.
- STRING ACCT-CRE-ACTION-IN FOR 1 INTO CURR-ACTION.
- IF CURR-ACTION = "C"
- MOVE CANCEL-OPERATION TO ERROR-NUMBER
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
- GO TO PROCESS-ACCT-CREATE-EXIT
- ELSE
- IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
- MOVE INVALID-ACTION TO ERROR-NUMBER
- PERFORM SEND-ACCT-CRE-FORM THRU SEND-ACCT-CRE-FORM-EXIT
- GO TO PROCESS-ACCT-CREATE-EXIT.
- MOVE FUNCTION UPPER-CASE (ACCT-CRE-CUST-IN)
- TO ACCT-CRE-CUST-IN.
- MOVE ACCT-CRE-CUST-IN TO CURR-CUST-USERNAME.
- PERFORM FIND-CUST-LOOP THRU FIND-CUST-LOOP-EXIT.
- IF CUST-INDEX = -1 OR CURR-CUST-USERNAME = SPACES
- * customer not found
- MOVE INVALID-USER TO ERROR-NUMBER
- PERFORM SEND-ACCT-CRE-FORM THRU SEND-ACCT-CRE-FORM-EXIT
- GO TO PROCESS-ACCT-CREATE-EXIT.
- COMPUTE TEMP-NUM = FUNCTION NUMVAL (ACCT-CRE-TYPE-IN).
- IF TEMP-NUM < 1 OR TEMP-NUM > 4
- MOVE INVALID-ACCT-TYPE TO ERROR-NUMBER
- PERFORM SEND-ACCT-CRE-FORM THRU SEND-ACCT-CRE-FORM-EXIT
- GO TO PROCESS-ACCT-CREATE-EXIT.
- COMPUTE RATE = FUNCTION NUMVAL (ACCT-CRE-INT-RATE-IN).
- IF RATE < 0 OR RATE >= 1
- MOVE INVALID-INT-RATE TO ERROR-NUMBER
- PERFORM SEND-ACCT-CRE-FORM THRU SEND-ACCT-CRE-FORM-EXIT
- GO TO PROCESS-ACCT-CREATE-EXIT.
- MOVE FUNCTION UPPER-CASE (ACCT-CRE-EMAIL-IN)
- TO ACCT-CRE-EMAIL-IN.
- IF ACCT-CRE-EMAIL-IN NOT = "Y" AND
- ACCT-CRE-EMAIL-IN NOT = "N"
- MOVE INVALID-EMAIL TO ERROR-NUMBER
- PERFORM SEND-ACCT-CRE-FORM THRU SEND-ACCT-CRE-FORM-EXIT
- GO TO PROCESS-ACCT-CREATE-EXIT.
- PERFORM FIND-AVAIL-ACCT THRU FIND-AVAIL-ACCT-EXIT.
- IF ACCT-INDEX = -1
- * account table full
- MOVE ACCT-TABLE-FULL TO ERROR-NUMBER
- PERFORM SEND-ACCT-CRE-FORM THRU SEND-ACCT-CRE-FORM-EXIT
- GO TO PROCESS-ACCT-CREATE-EXIT.
- MOVE FUNCTION NUMVAL (ACCT-CRE-TYPE-IN) TO
- ACCT-TYPE (ACCT-INDEX).
- MOVE 0.0 TO ACCT-BALANCE (ACCT-INDEX).
- PERFORM GET-CURR-DATE THRU GET-CURR-DATE-EXIT.
- MOVE CURR-DATE TO ACCT-OPENED-DATE (ACCT-INDEX).
- MOVE RATE TO ACCT-INT-RATE (ACCT-INDEX).
- MOVE ACCT-INDEX TO ACCT-SUFFIX-X.
- MOVE ACCT-SUFFIX-X TO ACCT-SUFFIX-STR.
- STRING "ACCT", ACCT-SUFFIX-STR DELIMITED BY SIZE
- INTO ACCT-NUMBER (ACCT-INDEX).
- MOVE CUST-NUMBER(CUST-INDEX) TO ACCT-CUST-NUMBER(ACCT-INDEX).
- IF ACCT-CRE-EMAIL-IN = "Y"
- MOVE 1 TO ACCT-EMAIL-STMT(ACCT-INDEX)
- ELSE
- MOVE 0 TO ACCT-EMAIL-STMT(ACCT-INDEX).
- MOVE ACCT-CRE-DESC-IN TO ACCT-DESC (ACCT-INDEX).
- MOVE CREATED-NEW-ACCOUNT TO ERROR-NUMBER.
- MOVE ACCT-NUMBER(ACCT-INDEX) TO CURR-ACCT-NUM-STR.
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
- PROCESS-ACCT-CREATE-EXIT.
- ****************************************************************
- PROCESS-ACCT-LIST.
- * DISPLAY "= ACCT-LIST = " ACCT-LIST-ACTION-IN.
- IF ACCT-LIST-ACTION-IN = "1"
- STRING ACCT-LIST-ACCT1-IN FOR 6 INTO CURR-ACCT-NUM-STR
- ELSE
- IF ACCT-LIST-ACTION-IN = "2"
- STRING ACCT-LIST-ACCT2-IN FOR 6 INTO CURR-ACCT-NUM-STR
- ELSE
- IF ACCT-LIST-ACTION-IN = "3"
- STRING ACCT-LIST-ACCT3-IN FOR 6 INTO CURR-ACCT-NUM-STR
- ELSE
- IF ACCT-LIST-ACTION-IN = "4"
- STRING ACCT-LIST-ACCT4-IN FOR 6 INTO CURR-ACCT-NUM-STR
- ELSE
- IF ACCT-LIST-ACTION-IN = "5"
- STRING ACCT-LIST-ACCT5-IN FOR 6 INTO CURR-ACCT-NUM-STR
- ELSE
- IF ACCT-LIST-ACTION-IN = "6"
- STRING ACCT-LIST-ACCT6-IN FOR 6 INTO CURR-ACCT-NUM-STR
- ELSE
- MOVE SPACES TO CURR-ACCT-NUM-STR.
- IF CURR-ACCT-NUM-STR = SPACES
- * not a valid selection, resend the account list form
- PERFORM SEND-ACCT-LIST-FORM THRU SEND-ACCT-LIST-FORM-EXIT
- ELSE
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
- PROCESS-ACCT-LIST-EXIT.
- ****************************************************************
- PROCESS-ACCT-TASK.
- * DISPLAY "= ACCT-TASK = " ACCT-TASK-NUM-IN.
- MOVE FUNCTION UPPER-CASE (ACCT-TASK-ACTION-IN)
- TO ACCT-TASK-ACTION-IN.
- STRING ACCT-TASK-ACTION-IN FOR 1 INTO CURR-ACTION.
- IF CURR-ACTION = "Q"
- DISABLE INPUT TERMINAL COMS-IN KEY "NOCHECK"
- GO TO PROCESS-ACCT-TASK-EXIT.
- IF ACCT-TASK-CHOICE-IN = "1"
- PERFORM SEND-DEPOSIT-FORM THRU SEND-DEPOSIT-FORM-EXIT
- ELSE
- IF ACCT-TASK-CHOICE-IN = "2"
- PERFORM SEND-WITHDRAW-FORM THRU SEND-WITHDRAW-FORM-EXIT
- ELSE
- IF ACCT-TASK-CHOICE-IN = "3"
- PERFORM SEND-BALANCE-FORM THRU SEND-BALANCE-FORM-EXIT
- ELSE
- IF ACCT-TASK-CHOICE-IN = "4"
- PERFORM SEND-TR-DATE-FORM THRU SEND-TR-DATE-FORM-EXIT
- ELSE
- IF ACCT-TASK-CHOICE-IN = "5"
- PERFORM SEND-ACCTNUM-UPD-FORM THRU
- SEND-ACCTNUM-UPD-FORM-EXIT
- ELSE
- IF ACCT-TASK-CHOICE-IN = "6"
- PERFORM SEND-ACCT-CRE-FORM THRU
- SEND-ACCT-CRE-FORM-EXIT
- ELSE
- IF ACCT-TASK-CHOICE-IN = "7"
- PERFORM INIT-TABLES THRU INIT-TABLES-EXIT
- MOVE DEFAULT-ACCT TO CURR-ACCT-NUM-STR
- MOVE BANK-DATA-RESTORED TO ERROR-NUMBER
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
- ELSE
- MOVE INVALID-COMMAND TO ERROR-NUMBER
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
- PROCESS-ACCT-TASK-EXIT.
- ****************************************************************
- PROCESS-DEPOSIT.
- MOVE FUNCTION UPPER-CASE (DEPOSIT-ACTION-IN)
- TO DEPOSIT-ACTION-IN.
- MOVE FUNCTION UPPER-CASE (DEPOSIT-ACCT-NUM-IN)
- TO DEPOSIT-ACCT-NUM-IN.
- STRING DEPOSIT-ACTION-IN FOR 1 INTO CURR-ACTION.
- IF CURR-ACTION = "C"
- MOVE CANCEL-OPERATION TO ERROR-NUMBER
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
- GO TO PROCESS-DEPOSIT-EXIT
- ELSE
- IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
- MOVE INVALID-ACTION TO ERROR-NUMBER
- PERFORM SEND-DEPOSIT-FORM THRU SEND-DEPOSIT-FORM-EXIT
- GO TO PROCESS-DEPOSIT-EXIT.
- MOVE DEPOSIT-ACCT-NUM-IN TO TEMP-ACCT-IN.
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- IF ACCT-INDEX = -1 OR TEMP-ACCT-IN = SPACES
- MOVE INVALID-ACCT-NUM TO ERROR-NUMBER
- PERFORM SEND-DEPOSIT-FORM THRU SEND-DEPOSIT-FORM-EXIT
- GO TO PROCESS-DEPOSIT-EXIT.
- PERFORM FIND-AVAIL-TRANS THRU FIND-AVAIL-TRANS-EXIT.
- IF TRANS-INDEX = -1
- MOVE TRANS-TABLE-FULL TO ERROR-NUMBER
- PERFORM SEND-DEPOSIT-FORM THRU SEND-DEPOSIT-FORM-EXIT
- GO TO PROCESS-DEPOSIT-EXIT.
- COMPUTE AMOUNT = FUNCTION NUMVAL (DEPOSIT-AMOUNT-IN).
- IF AMOUNT = 0
- MOVE INVALID-AMOUNT TO ERROR-NUMBER
- PERFORM SEND-DEPOSIT-FORM THRU SEND-DEPOSIT-FORM-EXIT
- GO TO PROCESS-DEPOSIT-EXIT.
- MOVE DEPOSIT-ACCT-NUM-IN TO TRANS-ACCT-NUM (TRANS-INDEX).
- MOVE DEPOSIT-DESC-IN TO TRANS-DESC (TRANS-INDEX).
- MOVE AMOUNT TO TRANS-AMOUNT (TRANS-INDEX).
- MOVE 1 TO TRANS-TYPE (TRANS-INDEX).
- PERFORM GET-CURR-DATE THRU GET-CURR-DATE-EXIT.
- MOVE CURR-DATE TO TRANS-DATE (TRANS-INDEX).
- * UPDATE ACCOUNT BALANCE
- ADD AMOUNT TO ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE(ACCT-INDEX) TO
- TRANS-ACCT-BALANCE(TRANS-INDEX).
- PROCESS-DEPOSIT-SEND-ACCT-TASK.
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
- PROCESS-DEPOSIT-EXIT.
- ****************************************************************
- PROCESS-WITHDRAW.
- MOVE FUNCTION UPPER-CASE (WITHDRAW-ACTION-IN)
- TO WITHDRAW-ACTION-IN.
- STRING WITHDRAW-ACTION-IN FOR 1 INTO CURR-ACTION.
- IF CURR-ACTION = "C"
- MOVE CANCEL-OPERATION TO ERROR-NUMBER
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
- GO TO PROCESS-WITHDRAW-EXIT
- ELSE
- IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
- MOVE INVALID-ACTION TO ERROR-NUMBER
- PERFORM SEND-WITHDRAW-FORM THRU SEND-WITHDRAW-FORM-EXIT
- GO TO PROCESS-WITHDRAW-EXIT.
- MOVE FUNCTION UPPER-CASE (WITHDRAW-ACCT-NUM-IN)
- TO WITHDRAW-ACCT-NUM-IN.
- MOVE WITHDRAW-ACCT-NUM-IN TO TEMP-ACCT-IN.
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- IF ACCT-INDEX = -1 OR TEMP-ACCT-IN = SPACES
- MOVE INVALID-ACCT-NUM TO ERROR-NUMBER
- PERFORM SEND-WITHDRAW-FORM THRU SEND-WITHDRAW-FORM-EXIT
- GO TO PROCESS-WITHDRAW-EXIT.
- COMPUTE AMOUNT = FUNCTION NUMVAL (WITHDRAW-AMOUNT-IN).
- IF AMOUNT = 0
- MOVE INVALID-AMOUNT TO ERROR-NUMBER
- PERFORM SEND-WITHDRAW-FORM THRU SEND-WITHDRAW-FORM-EXIT
- GO TO PROCESS-WITHDRAW-EXIT.
- PERFORM FIND-AVAIL-TRANS THRU FIND-AVAIL-TRANS-EXIT.
- IF TRANS-INDEX = -1
- MOVE TRANS-TABLE-FULL TO ERROR-NUMBER
- PERFORM SEND-WITHDRAW-FORM THRU SEND-WITHDRAW-FORM-EXIT
- GO TO PROCESS-WITHDRAW-EXIT.
- MOVE WITHDRAW-ACCT-NUM-IN TO TRANS-ACCT-NUM (TRANS-INDEX).
- MOVE WITHDRAW-DESC-IN TO TRANS-DESC (TRANS-INDEX).
- MOVE AMOUNT TO TRANS-AMOUNT (TRANS-INDEX).
- MOVE 2 TO TRANS-TYPE (TRANS-INDEX).
- PERFORM GET-CURR-DATE THRU GET-CURR-DATE-EXIT.
- MOVE CURR-DATE TO TRANS-DATE (TRANS-INDEX).
- * UPDATE ACCOUNT BALANCE
- SUBTRACT AMOUNT FROM ACCT-BALANCE (ACCT-INDEX).
- MOVE ACCT-BALANCE(ACCT-INDEX) TO
- TRANS-ACCT-BALANCE(TRANS-INDEX).
- PROCESS-WITHDRAW-SEND-ACCTTASK.
- MOVE WITHDRAW-ACCT-NUM-IN TO CURR-ACCT-NUM-STR.
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
- PROCESS-WITHDRAW-EXIT.
- ****************************************************************
- PROCESS-ACCT-BAL.
- MOVE FUNCTION UPPER-CASE (BALANCE-ACTION-IN)
- TO BALANCE-ACTION-IN.
- STRING BALANCE-ACTION-IN FOR 1 INTO CURR-ACTION.
- IF CURR-ACTION = "C"
- MOVE CANCEL-OPERATION TO ERROR-NUMBER
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
- GO TO PROCESS-ACCT-BAL-EXIT
- ELSE
- IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
- MOVE INVALID-ACTION TO ERROR-NUMBER
- PERFORM SEND-BALANCE-FORM THRU SEND-BALANCE-FORM-EXIT
- GO TO PROCESS-ACCT-BAL-EXIT.
- MOVE FUNCTION UPPER-CASE (BALANCE-ACCT-NUM-IN)
- TO BALANCE-ACCT-NUM-IN.
- MOVE BALANCE-ACCT-NUM-IN TO TEMP-ACCT-IN.
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- IF ACCT-INDEX = -1 OR TEMP-ACCT-IN = SPACES
- MOVE INVALID-ACCT-NUM TO ERROR-NUMBER
- PERFORM SEND-BALANCE-FORM THRU SEND-BALANCE-FORM-EXIT
- GO TO PROCESS-ACCT-BAL-EXIT.
- PERFORM SEND-SHOW-BAL-FORM THRU SEND-SHOW-BAL-FORM-EXIT.
- PROCESS-ACCT-BAL-EXIT.
- ****************************************************************
- PROCESS-TR-DATE.
- * DISPLAY "= INSIDE TR-DATE = " TR-DATE-ACCT-NUM-IN " "
- * blank out the output records
- MOVE FUNCTION UPPER-CASE (TR-DATE-ACTION-IN)
- TO TR-DATE-ACTION-IN.
- STRING TR-DATE-ACTION-IN FOR 1 INTO CURR-ACTION.
- IF CURR-ACTION = "C"
- MOVE CANCEL-OPERATION TO ERROR-NUMBER
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
- GO TO PROCESS-TR-DATE-EXIT
- ELSE
- IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
- MOVE INVALID-ACTION TO ERROR-NUMBER
- PERFORM SEND-TR-DATE-FORM THRU SEND-TR-DATE-FORM-EXIT
- GO TO PROCESS-TR-DATE-EXIT.
- MOVE FUNCTION UPPER-CASE (TR-DATE-ACCT-NUM-IN)
- TO TR-DATE-ACCT-NUM-IN.
- MOVE TR-DATE-ACCT-NUM-IN TO TEMP-ACCT-IN.
- MOVE TR-DATE-ACCT-NUM-IN TO SAVE-ACCT-IN.
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- IF ACCT-INDEX = -1 OR TEMP-ACCT-IN = SPACES
- MOVE INVALID-ACCT-NUM TO ERROR-NUMBER
- PERFORM SEND-TR-DATE-FORM THRU SEND-TR-DATE-FORM-EXIT
- GO TO PROCESS-TR-DATE-EXIT.
- MOVE 1 TO TEMP-INDEX.
- PERFORM 15 TIMES
- MOVE SPACES TO ACCT-ACT-OUT (TEMP-INDEX)
- ADD 1 TO TEMP-INDEX
- END-PERFORM.
- MOVE "HOME " TO ACCT-ACT-ACTION-OUT.
- MOVE " " TO ACCT-ACT-HELP-OUT.
- COMPUTE FROM-DATE =
- FUNCTION NUMVAL(TR-DATE-FROM-YEAR-IN) * 10000 +
- FUNCTION NUMVAL(TR-DATE-FROM-MONTH-IN) * 100 +
- FUNCTION NUMVAL(TR-DATE-FROM-DAY-IN).
- COMPUTE TO-DATE =
- FUNCTION NUMVAL(TR-DATE-TO-YEAR-IN) * 10000 +
- FUNCTION NUMVAL(TR-DATE-TO-MONTH-IN) * 100 +
- FUNCTION NUMVAL(TR-DATE-TO-DAY-IN).
- IF FROM-DATE > TO-DATE
- GO TO PROCESS-TR-DATE-SEND.
- MOVE 0 TO TEMP-NUM CURR-NUM.
- PERFORM FILL-ACCT-LIST THRU FILL-ACCT-LIST-EXIT.
- PROCESS-TR-DATE-SEND.
- MOVE SPACES TO ACCT-ACT-ERROR-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (ACCT-ACT-FORM).
- SEND COMS-OUT FROM ACCT-ACT-FORM WITH EGI.
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE.
- PROCESS-TR-DATE-EXIT.
- ****************************************************************
- FILL-ACCT-LIST.
- GAH-NEXT-TRANS.
- ADD 1 TO TEMP-NUM.
- IF TEMP-NUM > MAX-TRANSACTIONS
- GO TO FILL-ACCT-LIST-EXIT.
- IF SAVE-ACCT-IN = TRANS-ACCT-NUM (TEMP-NUM)
- MOVE TRANS-DATE (TEMP-NUM) TO TEMP-TR-DATE
- COMPUTE TR-DATE =
- FUNCTION NUMVAL(TEMP-TR-DATE-YEAR) * 10000 +
- FUNCTION NUMVAL(TEMP-TR-DATE-MONTH) * 100 +
- FUNCTION NUMVAL(TEMP-TR-DATE-DAY)
- IF TR-DATE >= FROM-DATE AND
- TR-DATE <= TO-DATE
- ADD 1 TO CURR-NUM
- IF TRANS-TYPE (TEMP-NUM) = 1
- MOVE SPACES TO WITHDRAWAL-STR
- MOVE TRANS-AMOUNT (TEMP-NUM) TO DEPOSIT-X
- MOVE DEPOSIT-X TO DEPOSIT-STR
- INSPECT DEPOSIT-STR REPLACING LEADING ZEROES
- BY SPACES
- ELSE
- MOVE SPACES TO DEPOSIT-STR
- MOVE TRANS-AMOUNT (TEMP-NUM) TO WITHDRAWAL-X
- MOVE WITHDRAWAL-X TO WITHDRAWAL-STR
- INSPECT WITHDRAWAL-STR REPLACING LEADING ZEROES
- BY SPACES
- END-IF
- IF TRANS-ACCT-BALANCE (TEMP-NUM) >= 0
- MOVE TRANS-ACCT-BALANCE (TEMP-NUM) TO BALANCE-X
- MOVE BALANCE-X TO BALANCE-STR
- ELSE
- MOVE TRANS-ACCT-BALANCE (TEMP-NUM) TO BALANCE-X2
- MOVE BALANCE-X2 TO BALANCE-STR
- END-IF
- INSPECT BALANCE-STR REPLACING LEADING ZEROES
- BY SPACES
- STRING TRANS-DATE (TEMP-NUM) DELIMITED BY SIZE, " ",
- TRANS-DESC (TEMP-NUM) FOR 17, " ",
- WITHDRAWAL-STR DELIMITED BY SIZE, " ",
- DEPOSIT-STR DELIMITED BY SIZE, " ",
- BALANCE-STR DELIMITED BY SIZE,
- INTO ACCT-ACT-OUT (CURR-NUM)
- IF CURR-NUM = 15
- MOVE "NEXT " TO ACCT-ACT-ACTION-OUT
- MOVE "Next" TO ACCT-ACT-HELP-OUT
- GO TO FILL-ACCT-LIST-EXIT
- END-IF
- END-IF
- END-IF.
- GO TO GAH-NEXT-TRANS.
- FILL-ACCT-LIST-EXIT.
- ****************************************************************
- PROCESS-ACCT-ACTIVITY.
- MOVE FUNCTION UPPER-CASE (ACCT-ACTIVITY-ACTION-IN )
- TO ACCT-ACTIVITY-ACTION-IN.
- STRING ACCT-ACTIVITY-ACTION-IN FOR 1 INTO CURR-ACTION.
- ** IF CURR-ACTION NOT EQUAL TO NEXT COMMAND, SEND TASK MENU
- IF CURR-ACTION NOT = "N"
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
- GO TO PROCESS-ACCT-ACTIVITY-EXIT
- END-IF.
- ** CURR-ACTION IS NEXT COMMAND
- MOVE 1 TO TEMP-INDEX.
- PERFORM 15 TIMES
- MOVE SPACES TO ACCT-ACT-OUT (TEMP-INDEX)
- ADD 1 TO TEMP-INDEX
- END-PERFORM.
- ** TEMP-NUM ALREADY POINTS TO THE NEXT ACCT TO PROCESS
- MOVE "HOME " TO ACCT-ACT-ACTION-OUT.
- MOVE " " TO ACCT-ACT-HELP-OUT
- MOVE 0 TO CURR-NUM.
- PERFORM FILL-ACCT-LIST THRU FILL-ACCT-LIST-EXIT.
- MOVE SPACES TO ACCT-ACT-ERROR-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (ACCT-ACT-FORM).
- SEND COMS-OUT FROM ACCT-ACT-FORM WITH EGI.
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE.
- PROCESS-ACCT-ACTIVITY-EXIT.
- ****************************************************************
- PROCESS-ACCTNUM-UPD.
- * DISPLAY "= INSIDE PROCESS-ACCTNUM-UPDO = " ACCT-TASK-NUM-IN "
- MOVE FUNCTION UPPER-CASE (ACCTNUM-UPD-ACTION-IN)
- TO ACCTNUM-UPD-ACTION-IN.
- STRING ACCTNUM-UPD-ACTION-IN FOR 1 INTO CURR-ACTION.
- IF CURR-ACTION = "C"
- MOVE CANCEL-OPERATION TO ERROR-NUMBER
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
- GO TO PROCESS-ACCTNUM-UPD-EXIT
- ELSE
- IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
- MOVE INVALID-ACTION TO ERROR-NUMBER
- PERFORM SEND-ACCTNUM-UPD-FORM THRU
- SEND-ACCTNUM-UPD-FORM-EXIT
- GO TO PROCESS-ACCTNUM-UPD-EXIT.
- MOVE FUNCTION UPPER-CASE (ACCTNUM-UPD-ACCT-NUM-IN)
- TO ACCTNUM-UPD-ACCT-NUM-IN.
- MOVE ACCTNUM-UPD-ACCT-NUM-IN TO TEMP-ACCT-IN.
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- IF ACCT-INDEX = -1 OR TEMP-ACCT-IN = SPACES
- MOVE INVALID-ACCT-NUM TO ERROR-NUMBER
- PERFORM SEND-ACCTNUM-UPD-FORM THRU
- SEND-ACCTNUM-UPD-FORM-EXIT
- GO TO PROCESS-ACCTNUM-UPD-EXIT.
- PERFORM SEND-ACCT-UPD-FORM THRU
- SEND-ACCT-UPD-FORM-EXIT.
- PROCESS-ACCTNUM-UPD-EXIT.
- ****************************************************************
- PROCESS-ACCT-UPD.
- MOVE FUNCTION UPPER-CASE (ACCT-UPD-ACTION-IN)
- TO ACCT-UPD-ACTION-IN.
- STRING ACCT-UPD-ACTION-IN FOR 1 INTO CURR-ACTION.
- IF CURR-ACTION = "C"
- MOVE CANCEL-OPERATION TO ERROR-NUMBER
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
- GO TO PROCESS-ACCT-UPD-EXIT
- ELSE
- IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
- MOVE INVALID-ACTION TO ERROR-NUMBER
- PERFORM SEND-ACCT-UPD-FORM THRU SEND-ACCT-UPD-FORM-EXIT
- GO TO PROCESS-ACCT-UPD-EXIT.
- MOVE FUNCTION UPPER-CASE (ACCT-UPD-ACCT-NUM-IN)
- TO ACCT-UPD-ACCT-NUM-IN.
- MOVE ACCT-UPD-ACCT-NUM-IN TO TEMP-ACCT-IN.
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- IF ACCT-INDEX = -1 OR TEMP-ACCT-IN = SPACES
- MOVE INVALID-ACCT-NUM TO ERROR-NUMBER
- PERFORM SEND-DEPOSIT-FORM THRU SEND-DEPOSIT-FORM-EXIT
- GO TO PROCESS-ACCT-UPD-EXIT.
- COMPUTE RATE = FUNCTION NUMVAL (ACCT-UPD-INT-RATE-IN).
- IF RATE < 0 OR RATE >= 1
- MOVE INVALID-INT-RATE TO ERROR-NUMBER
- PERFORM SEND-ACCT-UPD-FORM THRU SEND-ACCT-UPD-FORM-EXIT
- GO TO PROCESS-ACCT-UPD-EXIT.
- MOVE FUNCTION UPPER-CASE (ACCT-UPD-EMAIL-IN)
- TO ACCT-UPD-EMAIL-IN.
- IF ACCT-UPD-EMAIL-IN NOT = "Y" AND
- ACCT-UPD-EMAIL-IN NOT = "N"
- MOVE INVALID-EMAIL TO ERROR-NUMBER
- PERFORM SEND-ACCT-UPD-FORM THRU SEND-ACCT-UPD-FORM-EXIT
- GO TO PROCESS-ACCT-UPD-EXIT.
- MOVE RATE TO ACCT-INT-RATE (ACCT-INDEX).
- IF ACCT-UPD-EMAIL-IN = "Y"
- MOVE 1 TO ACCT-EMAIL-STMT(ACCT-INDEX)
- ELSE
- MOVE 0 TO ACCT-EMAIL-STMT(ACCT-INDEX).
- MOVE ACCT-UPD-DESC-IN TO ACCT-DESC (ACCT-INDEX).
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
- PROCESS-ACCT-UPD-EXIT.
- ****************************************************************
- PROCESS-ERROR.
- DISPLAY "= INSIDE ERROR = " ERROR-NUM-IN " ".
- MOVE ERROR-NUM-IN TO CURR-ACCT-NUM-STR.
- PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
- PROCESS-ERROR-EXIT.
- ****************************************************************
- SEND-DEPOSIT-FORM.
- MOVE SPACES TO DEPOSIT-ACTION-OUT.
- MOVE SPACES TO DEPOSIT-ACCT-NUM-OUT.
- MOVE "0.00" TO DEPOSIT-AMOUNT-OUT.
- MOVE " " TO DEPOSIT-CASH-OUT.
- MOVE "Y" TO DEPOSIT-SEND-EMAIL-OUT.
- MOVE "1" TO DEPOSIT-SAVE-OPTION-OUT.
- MOVE SPACES TO DEPOSIT-DESC-OUT.
- MOVE SPACES TO DEPOSIT-ERROR-OUT.
- IF ERROR-NUMBER > 0
- MOVE ERRORS (ERROR-NUMBER) TO DEPOSIT-ERROR-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (DEPOSIT-FORM).
- SEND COMS-OUT FROM DEPOSIT-FORM WITH EGI.
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE.
- SEND-DEPOSIT-FORM-EXIT.
- ****************************************************************
- SEND-WITHDRAW-FORM.
- MOVE SPACES TO WITHDRAW-ACTION-OUT.
- MOVE SPACES TO WITHDRAW-ACCT-NUM-OUT.
- MOVE "0.00" TO WITHDRAW-AMOUNT-OUT.
- MOVE SPACES TO WITHDRAW-DESC-OUT.
- MOVE SPACES TO WITHDRAW-ERROR-OUT.
- IF ERROR-NUMBER > 0
- MOVE ERRORS (ERROR-NUMBER) TO WITHDRAW-ERROR-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (WITHDRAW-FORM).
- SEND COMS-OUT FROM WITHDRAW-FORM WITH EGI.
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE.
- SEND-WITHDRAW-FORM-EXIT.
- ****************************************************************
- SEND-BALANCE-FORM.
- MOVE SPACES TO BAL-ACTION-OUT.
- MOVE SPACES TO BAL-ACCT-NUM-OUT.
- MOVE SPACES TO BAL-ERROR-OUT.
- IF ERROR-NUMBER > 0
- MOVE ERRORS (ERROR-NUMBER) TO BAL-ERROR-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (BALANCE-FORM).
- SEND COMS-OUT FROM BALANCE-FORM WITH EGI.
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE.
- SEND-BALANCE-FORM-EXIT.
- ****************************************************************
- SEND-SHOW-BAL-FORM.
- MOVE SPACES TO SHOW-BAL-ACTION-OUT.
- MOVE SPACES TO SHOW-BAL-ERROR-OUT.
- MOVE TEMP-ACCT-IN TO SHOW-BAL-ACCT-NUM-OUT.
- * send balance without leading zeroes
- IF ACCT-BALANCE(ACCT-INDEX) >= 0
- MOVE ACCT-BALANCE(ACCT-INDEX) TO BALANCE-X
- MOVE BALANCE-X TO SHOW-BAL-BALANCE-OUT
- ELSE
- MOVE ACCT-BALANCE(ACCT-INDEX) TO BALANCE-X2
- MOVE BALANCE-X2 TO SHOW-BAL-BALANCE-OUT
- END-IF.
- MOVE 1 TO CHAR-COUNT.
- INSPECT SHOW-BAL-BALANCE-OUT TALLYING CHAR-COUNT
- FOR LEADING ZERO.
- MOVE SHOW-BAL-BALANCE-OUT (CHAR-COUNT: 16 - CHAR-COUNT) TO
- SHOW-BAL-BALANCE-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (SHOW-BALANCE-FORM).
- SEND COMS-OUT FROM SHOW-BALANCE-FORM WITH EGI.
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE.
- SEND-SHOW-BAL-FORM-EXIT.
- ****************************************************************
- SEND-TR-DATE-FORM.
- MOVE SPACES TO TR-DATE-ACTION-OUT.
- MOVE SPACES TO TR-DATE-ACCT-NUM-OUT.
- MOVE "01/01/2006" TO TR-DATE-FROM-OUT.
- PERFORM GET-CURR-DATE THRU GET-CURR-DATE-EXIT.
- MOVE CURR-DATE TO TR-DATE-TO-OUT.
- MOVE SPACES TO TR-DATE-ERROR-OUT.
- IF ERROR-NUMBER > 0
- MOVE ERRORS (ERROR-NUMBER) TO TR-DATE-ERROR-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (TR-DATE-FORM).
- SEND COMS-OUT FROM TR-DATE-FORM WITH EGI.
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE.
- SEND-TR-DATE-FORM-EXIT.
- ****************************************************************
- SEND-ACCTNUM-UPD-FORM.
- MOVE SPACES TO ACCTNUM-UPD-ACTION-OUT.
- MOVE SPACES TO ACCTNUM-UPD-ACCT-NUM-OUT.
- MOVE SPACES TO ACCTNUM-UPD-ERROR-OUT.
- IF ERROR-NUMBER > 0
- MOVE ERRORS (ERROR-NUMBER) TO ACCTNUM-UPD-ERROR-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (ACCTNUM-UPD-FORM).
- SEND COMS-OUT FROM ACCTNUM-UPD-FORM WITH EGI.
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE.
- SEND-ACCTNUM-UPD-FORM-EXIT.
- ****************************************************************
- SEND-ACCT-UPD-FORM.
- * DISPLAY "= INSIDE SEND-ACCT-UPDO = " ACCT-TASK-NUM-IN " "
- MOVE SPACES TO ACCT-UPD-ACTION-OUT.
- MOVE SPACES TO ACCT-UPD-ERROR-OUT.
- MOVE SPACES TO ACCT-UPD-USERNAME-OUT.
- IF ERROR-NUMBER > 0
- MOVE ERRORS (ERROR-NUMBER) TO ACCT-UPD-ERROR-OUT.
- MOVE ACCT-NUMBER(ACCT-INDEX) TO ACCT-UPD-ACCT-NUM-OUT.
- * send User Name
- MOVE ACCT-CUST-NUMBER(ACCT-INDEX) TO TEMP-CUSTOMER-NUM .
- PERFORM FIND-CUST-BY-NUM THRU FIND-CUST-BY-NUM-EXIT.
- IF CUST-INDEX NOT = -1
- MOVE CUST-USERNAME(CUST-INDEX) TO ACCT-UPD-USERNAME-OUT.
- * send Account Type
- MOVE ACCOUNT-TYPE-TBL (ACCT-TYPE (ACCT-INDEX)) TO
- ACCT-UPD-TYPE-OUT.
- * send balance without leading zeroes
- IF ACCT-BALANCE(ACCT-INDEX) >= 0
- MOVE ACCT-BALANCE(ACCT-INDEX) TO BALANCE-X
- MOVE BALANCE-X TO ACCT-UPD-BALANCE-OUT
- ELSE
- MOVE ACCT-BALANCE(ACCT-INDEX) TO BALANCE-X2
- MOVE BALANCE-X2 TO ACCT-UPD-BALANCE-OUT
- END-IF.
- MOVE 1 TO CHAR-COUNT.
- INSPECT ACCT-UPD-BALANCE-OUT TALLYING CHAR-COUNT
- FOR LEADING ZERO.
- MOVE ACCT-UPD-BALANCE-OUT (CHAR-COUNT: 16 - CHAR-COUNT) TO
- ACCT-UPD-BALANCE-OUT.
- MOVE ACCT-OPENED-DATE(ACCT-INDEX) TO
- ACCT-UPD-OPENED-DATE-OUT.
- * send int rate without leading zeroes
- MOVE ACCT-INT-RATE(ACCT-INDEX) TO RATE-X.
- MOVE RATE-X TO ACCT-UPD-INT-RATE-OUT.
- MOVE 1 TO CHAR-COUNT.
- INSPECT ACCT-UPD-INT-RATE-OUT TALLYING CHAR-COUNT
- FOR LEADING ZERO.
- MOVE ACCT-UPD-INT-RATE-OUT (CHAR-COUNT: 8 - CHAR-COUNT) TO
- ACCT-UPD-INT-RATE-OUT.
- IF ACCT-EMAIL-STMT(ACCT-INDEX) = "1"
- MOVE "Y" TO ACCT-UPD-EMAIL-STMT-OUT
- ELSE
- MOVE "N" TO ACCT-UPD-EMAIL-STMT-OUT.
- MOVE ACCT-DESC (ACCT-INDEX) TO ACCT-UPD-DESC-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (ACCT-UPD-FORM).
- SEND COMS-OUT FROM ACCT-UPD-FORM.
- SEND-ACCT-UPD-FORM-EXIT.
- ****************************************************************
- SEND-ACCT-CRE-FORM.
- MOVE SPACES TO ACCT-CRE-ACTION-OUT.
- MOVE SPACES TO ACCT-CRE-CUST-OUT.
- MOVE "1" TO ACCT-CRE-TYPE-OUT
- MOVE "0.00" TO ACCT-CRE-INT-RATE-OUT.
- MOVE "Y" TO ACCT-CRE-EMAIL-OUT
- MOVE SPACES TO ACCT-CRE-DESC-OUT
- MOVE SPACES TO ACCT-CRE-ERROR-OUT
- IF ERROR-NUMBER > 0
- MOVE ERRORS (ERROR-NUMBER) TO ACCT-CRE-ERROR-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (ACCT-CRE-FORM)
- SEND COMS-OUT FROM ACCT-CRE-FORM WITH EGI
- IF COMS-OUT-STATUS-VALUE NOT = 0
- AND COMS-OUT-STATUS-VALUE NOT = 97
- DISPLAY " COMS SEND ERROR STATUS = ",
- COMS-OUT-STATUS-VALUE
- END-IF.
- SEND-ACCT-CRE-FORM-EXIT.
- ****************************************************************
- HANDLE-ACCT-INFO.
- * DISPLAY "= INSIDE ACCT-INFO = " ACCT-TASK-NUM-IN " ".
- * FIX MOVE ACCT-TASK-NUM-IN TO TEMP-ACCT-IN.
- PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
- IF ACCT-INDEX = -1
- PERFORM SEND-ERROR-FORM THRU SEND-ERROR-FORM-EXIT
- GO TO HANDLE-ACCT-INFO-EXIT.
- MOVE ACCT-NUMBER(ACCT-INDEX) TO ACCT-INFO-NUM-OUT.
- MOVE ACCOUNT-TYPE-TBL (ACCT-TYPE (ACCT-INDEX)) TO
- ACCT-INFO-TYPE-OUT.
- * send balance without leading zeroes
- IF ACCT-BALANCE(ACCT-INDEX) >= 0
- MOVE ACCT-BALANCE(ACCT-INDEX) TO BALANCE-X
- MOVE BALANCE-X TO ACCT-INFO-BALANCE-OUT
- ELSE
- MOVE ACCT-BALANCE(ACCT-INDEX) TO BALANCE-X2
- MOVE BALANCE-X2 TO ACCT-INFO-BALANCE-OUT
- END-IF.
- MOVE 1 TO CHAR-COUNT.
- INSPECT ACCT-INFO-BALANCE-OUT TALLYING CHAR-COUNT
- FOR LEADING ZERO.
- MOVE ACCT-INFO-BALANCE-OUT (CHAR-COUNT: 16 - CHAR-COUNT) TO
- ACCT-INFO-BALANCE-OUT.
- MOVE ACCT-OPENED-DATE(ACCT-INDEX) TO
- ACCT-INFO-OPENED-DATE-OUT.
- * send int rate without leading zeroes
- MOVE ACCT-INT-RATE(ACCT-INDEX) TO RATE-X.
- MOVE RATE-X TO ACCT-INFO-INT-RATE-OUT.
- MOVE 1 TO CHAR-COUNT.
- INSPECT ACCT-INFO-INT-RATE-OUT TALLYING CHAR-COUNT
- FOR LEADING ZERO.
- MOVE ACCT-INFO-INT-RATE-OUT (CHAR-COUNT: 8 - CHAR-COUNT) TO
- ACCT-INFO-INT-RATE-OUT.
- IF ACCT-EMAIL-STMT(ACCT-INDEX) = "1"
- MOVE "Y" TO ACCT-INFO-EMAIL-STMT-OUT
- ELSE
- MOVE "N" TO ACCT-INFO-EMAIL-STMT-OUT.
- MOVE ACCT-DESC (ACCT-INDEX) TO ACCT-INFO-DESC-OUT.
- MOVE " " TO ACCT-INFO-XMIT-OUT.
- COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
- FORMATTED-SIZE (ACCT-INFO-FORM).
- SEND COMS-OUT FROM ACCT-INFO-FORM.
- HANDLE-ACCT-INFO-EXIT.
- ****************************************************************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement