Advertisement
Guest User

Untitled

a guest
May 3rd, 2019
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 104.98 KB | None | 0 0
  1. *COPYRIGHT* * * * * * * * * * * * * * * * * * * * * * * * * * * **
  2. **                                                              **
  3. *T               TITLE: CLEARPATH MCP RELEASE 18                **
  4. **                                                              **
  5. *F         FILE ID: SYMBOL/EPORTAL/EXAMPLE/T27FIRSTBANK         **
  6. **                                                              **
  7. *C         COPYRIGHT (C) 2014 2017 UNISYS CORPORATION           **
  8. **                  ALL RIGHTS RESERVED                         **
  9. **                  UNISYS PROPRIETARY                          **
  10. **                                                              **
  11. **   THIS  MATERIAL  IS  PROPRIETARY  TO  UNISYS  CORPORATION   **
  12. **   AND IS  NOT TO BE REPRODUCED, USED OR  DISCLOSED  EXCEPT   **
  13. **   IN ACCORDANCE  WITH  PROGRAM  LICENSE  OR  UPON  WRITTEN   **
  14. **   AUTHORIZATION OF UNISYS CORPORATION.                       **
  15. **                                                              **
  16. *** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **
  17. **                                                              **
  18. **   THE WITHIN INFORMATION IS NOT INTENDED TO BE NOR  SHOULD   **
  19. **   SUCH   BE  CONSTRUED  AS   AN   AFFIRMATION   OF   FACT,   **
  20. **   REPRESENTATION  OR  WARRANTY  BY  UNISYS  CORPORATION OF   **
  21. **   ANY  TYPE,  KIND OR CHARACTER.  ANY PRODUCT AND  RELATED   **
  22. **   MATERIALS DISCLOSED HEREIN IS  ONLY  FURNISHED  PURSUANT   **
  23. **   AND  SUBJECT  TO  THE  TERMS  AND  CONDITIONS OF A  DULY   **
  24. **   EXECUTED LICENSE AGREEMENT.  THE ONLY WARRANTIES MADE BY   **
  25. **   UNISYS  WITH RESPECT TO THE  PRODUCTS DESCRIBED  IN THIS   **
  26. **   MATERIAL ARE SETFORTH IN THE ABOVE MENTIONED AGREEMENT.    **
  27. **                                                              **
  28. **   THE CUSTOMER SHOULD EXERCISE CARE TO ASSURE THAT USE  OF   **
  29. **   THE SOFTWARE WILL BE IN FULL COMPLIANCE WITH LAWS, RULES   **
  30. **   AND REGULATIONS OF THE  JURISDICTIONS  WITH  RESPECT  TO   **
  31. **   WHICH IT IS USED.                                          **
  32. **                                                              **
  33. *COPYRIGHT* * * * * * * * * * * * * * * * * * * * * * * * * * * **
  34. *$ VERSION 59.180.001
  35.  IDENTIFICATION DIVISION.
  36.  PROGRAM-ID.     T27FIRSTBANK.
  37.  
  38.  ENVIRONMENT DIVISION.
  39.  
  40.  DATA DIVISION.
  41.  
  42.  FILE SECTION.
  43.  
  44.  WORKING-STORAGE SECTION.
  45.  
  46.  77 WAIT-RESULT                    PIC S9(11) BINARY.
  47.  77 ACCT-SUFFIX-X    PIC 99.9.
  48.  77 ACCT-SUFFIX-STR  PIC X(2).
  49.  77 DEFAULT-ACCT     PIC X(6)      VALUE "ACCT03".
  50.  77 MAX-CUSTOMERS    PIC 9(2)      VALUE 10.
  51.  77 MAX-ACCOUNTS     PIC 9(2)      VALUE 40.
  52.  77 MAX-TRANSACTIONS PIC 9(3)      VALUE 400.
  53.  77 TEMP-NUM         PIC S9(5) BINARY  VALUE 0.
  54.  77 TEMP-INDEX       PIC S9(5) BINARY  VALUE 0.
  55.  77 TRANS-INDEX      PIC S9(5) BINARY  VALUE 0.
  56.  77 ACCT-INDEX       PIC S9(5) BINARY  VALUE 0.
  57.  77 CUST-INDEX       PIC S9(5) BINARY  VALUE 0.
  58.  77 CURR-ACTION      PIC  X(1).
  59.  77 CURR-NUM         PIC S9(5) BINARY  VALUE 0.
  60.  77 CURR-CUST-NUM    PIC S9(5) BINARY  VALUE 0.
  61.  77 CURR-ACCT-NUM    PIC S9(5) BINARY  VALUE 0.
  62.  77 CURR-TRANS-NUM   PIC S9(5) BINARY  VALUE 0.
  63.  77 CURR-CUST-USERNAME PIC X(8).
  64.  77 CURR-ACCT-NUM-STR  PIC X(6).
  65.  77 TEMP-ACCT-IN     PIC X(6).
  66.  77 SAVE-ACCT-IN     PIC X(6).
  67.  77 TEMP-CUSTOMER-NUM PIC X(6).
  68.  77 BALANCE-X         PIC 9(12).9(2).
  69.  77 BALANCE-X2        PIC -9(11).9(2).
  70.  77 AMOUNT-X          PIC 9(12).9(2).
  71.  77 WITHDRAWAL-X      PIC 9(12).9(2).
  72.  77 DEPOSIT-X         PIC 9(12).9(2).
  73.  77 RATE-X            PIC 9(2).9(4).
  74.  77 WITHDRAWAL-STR    PIC X(15).
  75.  77 DEPOSIT-STR       PIC X(15).
  76.  77 RATE-STR          PIC X(7).
  77.  77 BALANCE-STR       PIC X(15).
  78.  77 AMOUNT            PIC 9(12)V9(2).
  79.  77 RATE              PIC 9(2)V9(4).
  80.  77 CHAR-COUNT        PIC 9(2).
  81.  77 CURR-DATE         PIC X(10).
  82.  77 CURR-DAY-NUM      PIC 9(2).
  83.  77 TEMPX             PIC X(100).
  84.  77 FROM-DATE         PIC 9(10).
  85.  77 TO-DATE           PIC 9(10).
  86.  77 TR-DATE           PIC 9(10).
  87.  77 ERROR-NUMBER      PIC 9(2) BINARY  VALUE 0.
  88.  77 INVALID-COMMAND   PIC 9(2)      VALUE 1.
  89.  77 INVALID-ACCT-NUM  PIC 9(2)      VALUE 2.
  90.  77 INVALID-AMOUNT    PIC 9(2)      VALUE 3.
  91.  77 INVALID-DATE      PIC 9(2)      VALUE 4.
  92.  77 TRANS-TABLE-FULL  PIC 9(2)      VALUE 5.
  93.  77 INVALID-ACTION    PIC 9(2)      VALUE 6.
  94.  77 CANCEL-OPERATION  PIC 9(2)      VALUE 7.
  95.  77 INVALID-USER      PIC 9(2)      VALUE 8.
  96.  77 INVALID-ACCT-TYPE PIC 9(2)      VALUE 9.
  97.  77 ACCT-TABLE-FULL   PIC 9(2)      VALUE 10.
  98.  77 INVALID-INT-RATE  PIC 9(2)      VALUE 11.
  99.  77 INVALID-EMAIL     PIC 9(2)      VALUE 12.
  100.  77 CREATED-NEW-ACCOUNT PIC 9(2)      VALUE 13.
  101.  77 BANK-DATA-RESTORED  PIC 9(2)      VALUE 14.
  102.  
  103.  01 DATE01.
  104.    05 CURR-YEAR   PIC X(4).
  105.    05 CURR-MONTH  PIC X(2).
  106.    05 CURR-DAY    PIC X(2).
  107.    05 CURR-REMAINER PIC X(13).
  108.  
  109.  01 TEMP-TR-DATE.
  110.    05 TEMP-TR-DATE-MONTH         PIC X(2).
  111.    05 TEMP-TR-DATE-SLASH1        PIC X(1).
  112.    05 TEMP-TR-DATE-DAY           PIC X(2).
  113.    05 TEMP-TR-DATE-SLASH2        PIC X(1).
  114.    05 TEMP-TR-DATE-YEAR          PIC X(4).
  115.  
  116.  01 CUST-RECORD-AREA.
  117.    03 CUST-RECORDS OCCURS 10.
  118.      05 CUST-USERNAME                PIC X(08).
  119.      05 CUST-PIN                     PIC X(08).
  120.      05 CUST-FIRSTNAME               PIC X(15).
  121.      05 CUST-LASTNAME                PIC X(15).
  122.      05 CUST-EMAIL                   PIC X(25).
  123.      05 CUST-ADDRESS                 PIC X(50).
  124. ***  change to PIC S(6)
  125.      05 CUST-NUMBER                  PIC X(06).
  126.  
  127.  01 ACCT-RECORD-AREA.
  128.    03 ACCT-RECORDS OCCURS 40.
  129.      05 ACCT-NUMBER                  PIC X(06).
  130. ***  AccountType
  131. ***  1 is Basic Checking
  132. ***  2 is Interest Checking
  133. ***  3 is Basic Savings
  134. ***  4 is Holiday Club
  135.      05 ACCT-TYPE                    PIC 9(2).
  136.      05 ACCT-BALANCE                 PIC S9(12)V9(2).
  137.      05 ACCT-OPENED-DATE             PIC X(10).
  138.      05 ACCT-INT-RATE                PIC 9(2)V9(4).
  139. ***  change to PIC S(6)
  140.      05 ACCT-EMAIL-STMT              PIC 9(1).
  141.      05 ACCT-CUST-NUMBER             PIC X(06).
  142.      05 ACCT-DESC                    PIC X(255).
  143.  
  144.  01 TRANS-RECORD-AREA.
  145.    03 TRANS-RECORDS OCCURS 400.
  146.      05 TRANS-ACCT-NUM                PIC X(06).
  147.      05 TRANS-DATE                    PIC X(10).
  148.      05 TRANS-DESC             PIC X(30).
  149. ***  TransType
  150. ***  1 is Deposit
  151. ***  2 is Withdrawal
  152.      05 TRANS-TYPE                    PIC 9(2).
  153.      05 TRANS-AMOUNT                  PIC S9(12)V9(2).
  154.      05 TRANS-ACCT-BALANCE            PIC S9(12)V9(2).
  155.  
  156.  01 ACCOUNT-TYPE-DATA.
  157.    05 FILLER      PIC X(20) VALUE "Basic Checking".
  158.    05 FILLER      PIC X(20) VALUE "Interest Checking".
  159.    05 FILLER      PIC X(20) VALUE "Basic Savings".
  160.    05 FILLER      PIC X(20) VALUE "Holiday Club".
  161.  
  162.  01 ACCOUNT-TYPE-TABLE  REDEFINES ACCOUNT-TYPE-DATA.
  163.    05 ACCOUNT-TYPE-TBL   OCCURS 4 TIMES PIC X(20).
  164.  
  165.  01 ERROR-DATA.
  166.    05 FILLER      PIC X(55) VALUE
  167.        "Enter a command 1 through 7                            ".
  168.    05 FILLER      PIC X(55) VALUE
  169.        "Enter a correct account number                         ".
  170.    05 FILLER      PIC X(55) VALUE
  171.        "Enter a correct amount                                 ".
  172.    05 FILLER      PIC X(55) VALUE
  173.        "Enter a date in the format of MM/DD/YYYY               ".
  174.    05 FILLER      PIC X(55) VALUE
  175.        "Transaction table is full. Cancel / Restore Bank Data  ".
  176.    05 FILLER      PIC X(55) VALUE
  177.        "Invalid Action                                         ".
  178.    05 FILLER      PIC X(55) VALUE
  179.        "Previous operation is cancelled                        ".
  180.    05 FILLER      PIC X(55) VALUE
  181.        "Invalid User Name                                      ".
  182.    05 FILLER      PIC X(55) VALUE
  183.        "Invalid Account Type                                   ".
  184.    05 FILLER      PIC X(55) VALUE
  185.        "Account table is full.  Cancel / Restore Bank Data     ".
  186.    05 FILLER      PIC X(55) VALUE
  187.        "Invalid Interest Rate.                                 ".
  188.    05 FILLER      PIC X(55) VALUE
  189.        "Invalid email option.                                  ".
  190.    05 FILLER      PIC X(55) VALUE
  191.        "Account created.                                       ".
  192.    05 FILLER      PIC X(55) VALUE
  193.        "Restored bank data successfully.                       ".
  194.  
  195.  01 ERROR-DATA-TABLE   REDEFINES ERROR-DATA.
  196.    05 ERRORS   OCCURS 14 TIMES PIC X(55).
  197.  
  198. *** Input / Output declarations
  199. ***
  200.  
  201.  01 BUFIN.
  202.   05 REQUEST-METHOD-NAME            PIC X(18).
  203.    88 LOGON-MENU          VALUE "LOGON             ".
  204.    88 ACCT-INFO-MENU      VALUE "ACCOUNT INFO      ".
  205.    88 DEPOSIT-MENU        VALUE "DEPOSIT           ".
  206.    88 WITHDRAW-MENU       VALUE "WITHDRAW          ".
  207.    88 ERROR-MENU          VALUE "ERROR             ".
  208.    88 ACCT-TASK-MENU      VALUE "WELCOME           ".
  209.    88 ACCT-LIST-MENU      VALUE "LIST              ".
  210.    88 TR-DATE-MENU        VALUE "SHOW TRANSACTIONS ".
  211.    88 ACCT-ACTIVITY-MENU  VALUE "ACCOUNT ACTIVITY  ".
  212.    88 ACCT-CREATE-MENU    VALUE "CREATE            ".
  213.    88 ACCT-BAL-MENU       VALUE "ACCTNUM BALANCE   ".
  214.    88 SHOW-BAL-MENU       VALUE "SHOW BALANCE      ".
  215.    88 ACCTNUM-UPD-MENU VALUE "ACCTNUM UPDATE    ".
  216.    88 ACCT-UPD-MENU    VALUE "UPDATE ACCOUNT    ".
  217.   05 BUFIN-REMAINDER                PIC X(614).
  218.   05 LOGON-IN REDEFINES BUFIN-REMAINDER.
  219.    10 LOGON-USERID-IN              PIC X(08).
  220.    10 LOGON-PIN-IN                 PIC X(08).
  221.    10 FILLER                       PIC X(598).
  222.   05 ACCT-INFO-IN REDEFINES BUFIN-REMAINDER.
  223.    10 ACCT-INFO-NUM-IN             PIC X(06).
  224.    10 ACCT-INFO-ACTION-IN          PIC X(01).
  225.    10 FILLER                       PIC X(607).
  226.   05 ACCT-TASK-IN REDEFINES BUFIN-REMAINDER.
  227.    10 ACCT-TASK-ACTION-IN          PIC X(10).
  228.    10 ACCT-TASK-CHOICE-IN          PIC X(01).
  229.    10 FILLER                       PIC X(603).
  230.   05 ACCT-LIST-IN REDEFINES BUFIN-REMAINDER.
  231.    10 ACCT-LIST-CUST-IN            PIC X(8).
  232.    10 ACCT-LIST-ACCT1-IN           PIC X(30).
  233.    10 ACCT-LIST-ACCT2-IN           PIC X(30).
  234.    10 ACCT-LIST-ACCT3-IN           PIC X(30).
  235.    10 ACCT-LIST-ACCT4-IN           PIC X(30).
  236.    10 ACCT-LIST-ACCT5-IN           PIC X(30).
  237.    10 ACCT-LIST-ACCT6-IN           PIC X(30).
  238.    10 ACCT-LIST-ACTION-IN          PIC X(1).
  239.    10 FILLER                       PIC X(425).
  240.   05 DEPOSIT-IN REDEFINES BUFIN-REMAINDER.
  241.    10 DEPOSIT-ACTION-IN            PIC X(10).
  242.    10 DEPOSIT-ACCT-NUM-IN          PIC X(06).
  243.    10 DEPOSIT-AMOUNT-IN            PIC X(15).
  244.    10 DEPOSIT-DESC-IN              PIC X(30).
  245.    10 DEPOSIT-CASH-IN              PIC X(01).
  246.    10 DEPOSIT-SEND-EMAIL-IN        PIC X(01).
  247.    10 DEPOSIT-SAVE-OPTION-IN       PIC X(01).
  248.    10 FILLER                       PIC X(550).
  249.   05 WITHDRAW-IN REDEFINES BUFIN-REMAINDER.
  250.    10 WITHDRAW-ACTION-IN           PIC X(10).
  251.    10 WITHDRAW-ACCT-NUM-IN         PIC X(06).
  252.    10 WITHDRAW-AMOUNT-IN           PIC X(15).
  253.    10 WITHDRAW-DESC-IN             PIC X(30).
  254.    10 FILLER                       PIC X(553).
  255.   05 BALANCE-IN REDEFINES BUFIN-REMAINDER.
  256.    10 BALANCE-ACTION-IN            PIC X(10).
  257.    10 BALANCE-ACCT-NUM-IN          PIC X(06).
  258.    10 FILLER                       PIC X(598).
  259.   05 SHOW-BAL-IN REDEFINES BUFIN-REMAINDER.
  260.    10 SHOW-BAL-ACTION-IN           PIC X(10).
  261.    10 FILLER                       PIC X(604).
  262.   05 TR-DATE-IN REDEFINES BUFIN-REMAINDER.
  263.    10 TR-DATE-ACTION-IN            PIC X(10).
  264.    10 TR-DATE-ACCT-NUM-IN          PIC X(06).
  265.    10 TR-DATE-FROM-IN.
  266.      15 TR-DATE-FROM-MONTH-IN      PIC X(2).
  267.      15 TR-DATE-FROM-SLASH1        PIC X(1).
  268.      15 TR-DATE-FROM-DAY-IN        PIC X(2).
  269.      15 TR-DATE-FROM-SLASH2        PIC X(1).
  270.      15 TR-DATE-FROM-YEAR-IN       PIC X(4).
  271.    10 TR-DATE-TO-IN.
  272.      15 TR-DATE-TO-MONTH-IN        PIC X(2).
  273.      15 TR-DATE-TO-SLASH1          PIC X(1).
  274.      15 TR-DATE-TO-DAY-IN          PIC X(2).
  275.      15 TR-DATE-TO-SLASH2          PIC X(1).
  276.      15 TR-DATE-TO-YEAR-IN         PIC X(4).
  277.    10 FILLER                       PIC X(578).
  278.   05 ACCT-ACTIVITY-IN REDEFINES BUFIN-REMAINDER.
  279.    10 ACCT-ACTIVITY-ACTION-IN      PIC X(10).
  280.    10 FILLER                       PIC X(604).
  281.   05 ACCTNUM-UPD-IN REDEFINES BUFIN-REMAINDER.
  282.    10 ACCTNUM-UPD-ACTION-IN        PIC X(10).
  283.    10 ACCTNUM-UPD-ACCT-NUM-IN      PIC X(06).
  284.    10 FILLER                       PIC X(598).
  285.   05 ACCT-UPD-IN REDEFINES BUFIN-REMAINDER.
  286.    10 ACCT-UPD-ACTION-IN           PIC X(10).
  287.    10 ACCT-UPD-ACCT-NUM-IN         PIC X(06).
  288.    10 ACCT-UPD-INT-RATE-IN         PIC X(7).
  289.    10 ACCT-UPD-EMAIL-IN            PIC X(1).
  290.    10 ACCT-UPD-DESC-IN             PIC X(255).
  291.    10 FILLER                       PIC X(335).
  292.   05 ACCT-CREATE-IN REDEFINES BUFIN-REMAINDER.
  293.    10 ACCT-CRE-ACTION-IN           PIC X(10).
  294.    10 ACCT-CRE-CUST-IN             PIC X(08).
  295.    10 ACCT-CRE-TYPE-IN             PIC X(1).
  296.    10 ACCT-CRE-INT-RATE-IN         PIC X(7).
  297.    10 ACCT-CRE-EMAIL-IN            PIC X(1).
  298.    10 ACCT-CRE-DESC-IN             PIC X(255).
  299.    10 FILLER                       PIC X(330).
  300.   05 ERROR-IN REDEFINES BUFIN-REMAINDER.
  301.    10 ERROR-NUM-IN                 PIC X(06).
  302.    10 FILLER                       PIC X(608).
  303.   05 CUST-REC-IN REDEFINES BUFIN-REMAINDER.
  304.    10 CUST-USERNAME-IN             PIC X(08).
  305.    10 CUST-PIN-IN                  PIC X(08).
  306.    10 CUST-FIRSTNAME-IN            PIC X(15).
  307.    10 CUST-LASTNAME-IN             PIC X(15).
  308.    10 CUST-EMAIL-IN                PIC X(25).
  309.    10 CUST-ADDRESS-IN              PIC X(50).
  310.    10 CUST-NUMBER-IN               PIC X(06).
  311. *  TOTAL CHARS IS 127
  312.    10 FILLER                       PIC X(487).
  313.   05 TRANS-REC-IN REDEFINES BUFIN-REMAINDER.
  314.    10 TRANS-ACCT-NUM-IN            PIC X(06).
  315.    10 TRANS-DESC-IN                PIC X(30).
  316.    10 TRANS-AMOUNT-IN              PIC 9(12)V9(2).
  317. *  TOTAL CHARS IS 50
  318.    10 FILLER                       PIC X(564).
  319.   05 ACCT-REC-IN REDEFINES BUFIN-REMAINDER.
  320.    10 ACCT-NUMBER-IN               PIC X(06).
  321.    10 ACCT-TYPE-IN                 PIC 9(2).
  322.       88 BASIC-CHECKING  VALUE 1.
  323.       88 INTEREST-CHECKING  VALUE 2.
  324.       88 BASIC-SAVING  VALUE 3.
  325.       88 HOLIDAY-CLUB  VALUE 4.
  326.    10 ACCT-BALANCE-IN              PIC S9(12)V9(2).
  327.    10 ACCT-INT-RATE-IN             PIC 9(2)V9(4).
  328.    10 ACCT-EMAIL-STMT-IN           PIC 9(1).
  329. ***  change to PIC S(6)
  330.    10 ACCT-CUST-NUMBER-IN          PIC X(06).
  331.    10 ACCT-DESC-IN                 PIC X(255).
  332. *  TOTAL CHARS IS 284 + REAL
  333.    10 FILLER                       PIC X(324).
  334.  
  335.  
  336.  01 LOGON-FORM.
  337.    05 FILLER                      PIC X(01) VALUE @0C@.
  338.  
  339.    05 FILLER                      PIC X(50) VALUE
  340.       "              WELCOME TO FIRST BANK              ".
  341.    05 FILLER                      PIC X(01) VALUE @0D@.
  342.    05 FILLER                      PIC X(01) VALUE @1C@.
  343.    05 FILLER                      PIC X(18) VALUE
  344.       "LOGON             ".
  345.    05 FILLER                      PIC X(01) VALUE @1E@.
  346.    05 FILLER                      PIC X(02) VALUE @0D0D@.
  347.    05 FILLER                      PIC X(27) VALUE
  348.       "enter bank user ID:        ".
  349.    05 FILLER                      PIC X(01) VALUE @1F@.
  350.    05 LOGON-USERID-OUT                PIC X(08).
  351.    05 FILLER                      PIC X(01) VALUE @1E@.
  352.    05 FILLER                      PIC X(01) VALUE @0D@.
  353.    05 FILLER                      PIC X(27) VALUE
  354.       "       and password:       ".
  355.    05 FILLER                      PIC X(01) VALUE @1F@.
  356.    05 LOGON-PASSWORD-OUT              PIC X(08).
  357.    05 FILLER                      PIC X(01) VALUE @1E@.
  358.    05 FILLER                      PIC X(01) VALUE @0D@.
  359.    05 FILLER                      PIC X(02) VALUE @3C12@.
  360.  
  361.  01 ACCT-TASK-FORM.
  362.    05 FILLER                      PIC X(01) VALUE @0C@.
  363.    05 FILLER                      PIC X(01) VALUE @1C@.
  364.    05 FILLER                      PIC X(18) VALUE
  365.       "WELCOME           ".
  366.    05 FILLER                      PIC X(01) VALUE @1E@.
  367.    05 FILLER                      PIC X(01) VALUE @0D@.
  368.    05 FILLER                      PIC X(50) VALUE
  369.       "                           Welcome to First Bank  ".
  370.    05 FILLER                      PIC X(01) VALUE @0D@.
  371.    05 FILLER                      PIC X(08) VALUE
  372.       "Action: ".
  373.    05 FILLER                      PIC X(01) VALUE @1F@.
  374.    05 ACCT-TASK-ACTION-OUT            PIC X(10).
  375.    05 FILLER                      PIC X(01) VALUE @1E@.
  376.    05 FILLER                      PIC X(01) VALUE @0D@.
  377.    05 FILLER                      PIC X(01) VALUE @0F@.
  378.    05 FILLER                      PIC X(30) VALUE
  379.       "       Quit                   ".
  380.    05 FILLER                      PIC X(49) VALUE
  381.       "                                                _".
  382.    05 FILLER                      PIC X(01) VALUE @0D@.
  383.    05 FILLER                      PIC X(01) VALUE @3F@.
  384.    05 FILLER                      PIC X(30) VALUE
  385.       "       Teller Services        ".
  386.    05 FILLER                      PIC X(01) VALUE @0D@.
  387.    05 FILLER                      PIC X(35) VALUE
  388.       "          1. Deposit               ".
  389.    05 FILLER                      PIC X(01) VALUE @0D@.
  390.    05 FILLER                      PIC X(35) VALUE
  391.       "          2. Withdraw              ".
  392.    05 FILLER                      PIC X(01) VALUE @0D@.
  393.    05 FILLER                      PIC X(35) VALUE
  394.       "          3. Balance               ".
  395.    05 FILLER                      PIC X(01) VALUE @0D@.
  396.    05 FILLER                      PIC X(35) VALUE
  397.       "          4. Show Account Activity ".
  398.    05 FILLER                      PIC X(01) VALUE @0D@.
  399.  
  400.    05 FILLER                      PIC X(01) VALUE @3F@.
  401.    05 FILLER                      PIC X(30) VALUE
  402.       "       Management Services    ".
  403.    05 FILLER                      PIC X(01) VALUE @0D@.
  404.    05 FILLER                      PIC X(35) VALUE
  405.       "          5. Update Account Info   ".
  406.    05 FILLER                      PIC X(01) VALUE @0D@.
  407.    05 FILLER                      PIC X(35) VALUE
  408.       "          6. Create Account        ".
  409.    05 FILLER                      PIC X(01) VALUE @0D@.
  410.    05 FILLER                      PIC X(35) VALUE
  411.       "          7. Restore Bank Data     ".
  412.    05 FILLER                  PIC X(07) VALUE @0D0D0D0D0D0D0D@.
  413.  
  414.    05 FILLER                      PIC X(08) VALUE
  415.       "Choice: ".
  416.    05 FILLER                      PIC X(01) VALUE @1F@.
  417.    05 ACCT-TASK-CHOICE-OUT            PIC X(1).
  418.    05 FILLER                      PIC X(01) VALUE @1E@.
  419.    05 FILLER                      PIC X(01) VALUE @0D@.
  420.  
  421.    05 FILLER                      PIC X(01) VALUE @0F@.
  422.    05 FILLER                      PIC X(50) VALUE
  423.       "                                                  ".
  424.    05 FILLER                      PIC X(29) VALUE
  425.       "                            _".
  426.    05 ACCT-TASK-ERROR-OUT         PIC X(80).
  427.    05 FILLER                      PIC X(01) VALUE @0D@.
  428.    05 FILLER                      PIC X(03) VALUE @3C1205@.
  429.  
  430.  01 DEPOSIT-FORM.
  431.    05 FILLER                      PIC X(01) VALUE @0C@.
  432.    05 FILLER                      PIC X(01) VALUE @1C@.
  433.    05 FILLER                      PIC X(18) VALUE
  434.       "DEPOSIT           ".
  435.    05 FILLER                      PIC X(01) VALUE @1E@.
  436.    05 FILLER                      PIC X(01) VALUE @0D@.
  437.    05 FILLER                      PIC X(50) VALUE
  438.       "                              ACCOUNT DEPOSIT    ".
  439.    05 FILLER                      PIC X(01) VALUE @0D@.
  440.  
  441.    05 FILLER                      PIC X(08) VALUE
  442.       "Action: ".
  443.    05 FILLER                      PIC X(01) VALUE @1F@.
  444.    05 DEPOSIT-ACTION-OUT          PIC X(10).
  445.    05 FILLER                      PIC X(01) VALUE @1E@.
  446.    05 FILLER                      PIC X(01) VALUE @0D@.
  447.    05 FILLER                      PIC X(01) VALUE @0F@.
  448.    05 FILLER                      PIC X(30) VALUE
  449.       "       Submit Cancel          ".
  450.    05 FILLER                      PIC X(49) VALUE
  451.       "                                                _".
  452.    05 FILLER                      PIC X(01) VALUE @0D@.
  453.  
  454.    05 FILLER                      PIC X(24) VALUE
  455.       "        Account Number: ".
  456.    05 FILLER                      PIC X(01) VALUE @1F@.
  457.    05 DEPOSIT-ACCT-NUM-OUT        PIC X(6).
  458.    05 FILLER                      PIC X(01) VALUE @1E@.
  459.    05 FILLER                      PIC X(26) VALUE
  460.       " (use ACCT01 thru ACCT05) ".
  461.    05 FILLER                      PIC X(01) VALUE @0D@.
  462.  
  463.    05 FILLER                      PIC X(24) VALUE
  464.       "        Deposit Amount: ".
  465.    05 FILLER                      PIC X(01) VALUE @1F@.
  466.    05 DEPOSIT-AMOUNT-OUT          PIC X(15).
  467.    05 FILLER                      PIC X(01) VALUE @1E@.
  468.    05 FILLER                      PIC X(01) VALUE @0D@.
  469.  
  470.    05 FILLER                      PIC X(24) VALUE
  471.       "        Description:    ".
  472.    05 FILLER                      PIC X(01) VALUE @1F@.
  473.    05 DEPOSIT-DESC-OUT            PIC X(30).
  474.    05 FILLER                      PIC X(01) VALUE @1E@.
  475.    05 FILLER                      PIC X(01) VALUE @0D@.
  476.    05 FILLER                      PIC X(01) VALUE @0D@.
  477.  
  478.    05 FILLER                      PIC X(34) VALUE
  479.       "        Cash Deposit:             ".
  480.    05 FILLER                      PIC X(01) VALUE @1F@.
  481.    05 DEPOSIT-CASH-OUT            PIC X(1).
  482.    05 FILLER                      PIC X(01) VALUE @1E@.
  483.    05 FILLER                      PIC X(26) VALUE
  484.       " (Enter X if cash deposit)".
  485.    05 FILLER                      PIC X(01) VALUE @0D@.
  486.  
  487.    05 FILLER                      PIC X(34) VALUE
  488.       "        Send email Confirmation:  ".
  489.    05 FILLER                      PIC X(01) VALUE @1F@.
  490.    05 DEPOSIT-SEND-EMAIL-OUT      PIC X(1).
  491.    05 FILLER                      PIC X(01) VALUE @1E@.
  492.    05 FILLER                      PIC X(26) VALUE
  493.       " (Enter Y or N)           ".
  494.    05 FILLER                      PIC X(02) VALUE @0D0D@.
  495.  
  496.    05 FILLER                      PIC X(34) VALUE
  497.       "        Transfer to Holiday Club: ".
  498.    05 FILLER                      PIC X(01) VALUE @1F@.
  499.    05 DEPOSIT-SAVE-OPTION-OUT     PIC X(1).
  500.    05 FILLER                      PIC X(01) VALUE @1E@.
  501.    05 FILLER                      PIC X(01) VALUE @0D@.
  502.    05 FILLER                      PIC X(56) VALUE
  503.       "                         1: No Transfer to Holiday Club ".
  504.    05 FILLER                      PIC X(01) VALUE @0D@.
  505.    05 FILLER                      PIC X(56) VALUE
  506.       "                         2: Transfer 1% to Holiday Club ".
  507.    05 FILLER                      PIC X(01) VALUE @0D@.
  508.    05 FILLER                      PIC X(56) VALUE
  509.       "                         3: Transfer 5% to Holiday Club ".
  510.    05 FILLER                      PIC X(06) VALUE @0D0D0D0D0D0D@.
  511.    05 FILLER                      PIC X(01) VALUE @0F@.
  512.    05 FILLER                      PIC X(39) VALUE
  513.       "                                       ".
  514.    05 FILLER                      PIC X(40) VALUE
  515.       "                                       _".
  516.    05 DEPOSIT-ERROR-OUT           PIC X(80).
  517.    05 FILLER                      PIC X(03) VALUE @3C1205@.
  518.  
  519.  01 WITHDRAW-FORM.
  520.    05 FILLER                      PIC X(01) VALUE @0C@.
  521.    05 FILLER                      PIC X(01) VALUE @1C@.
  522.    05 FILLER                      PIC X(18) VALUE
  523.       "WITHDRAW          ".
  524.    05 FILLER                      PIC X(01) VALUE @1E@.
  525.    05 FILLER                      PIC X(01) VALUE @0D@.
  526.    05 FILLER                      PIC X(50) VALUE
  527.       "                              ACCOUNT WITHDRAW   ".
  528.    05 FILLER                      PIC X(01) VALUE @0D@.
  529.  
  530.    05 FILLER                      PIC X(08) VALUE
  531.       "Action: ".
  532.    05 FILLER                      PIC X(01) VALUE @1F@.
  533.    05 WITHDRAW-ACTION-OUT         PIC X(10).
  534.    05 FILLER                      PIC X(01) VALUE @1E@.
  535.    05 FILLER                      PIC X(01) VALUE @0D@.
  536.    05 FILLER                      PIC X(01) VALUE @0F@.
  537.    05 FILLER                      PIC X(30) VALUE
  538.       "       Submit Cancel          ".
  539.    05 FILLER                      PIC X(49) VALUE
  540.       "                                                _".
  541.    05 FILLER                      PIC X(01) VALUE @0D@.
  542.  
  543.    05 FILLER                      PIC X(25) VALUE
  544.       "        Account Number:  ".
  545.    05 FILLER                      PIC X(01) VALUE @1F@.
  546.    05 WITHDRAW-ACCT-NUM-OUT       PIC X(6).
  547.    05 FILLER                      PIC X(01) VALUE @1E@.
  548.    05 FILLER                      PIC X(26) VALUE
  549.       " (use ACCT01 thru ACCT05) ".
  550.    05 FILLER                      PIC X(01) VALUE @0D@.
  551.  
  552.    05 FILLER                      PIC X(25) VALUE
  553.       "        WithDraw Amount: ".
  554.    05 FILLER                      PIC X(01) VALUE @1F@.
  555.    05 WITHDRAW-AMOUNT-OUT         PIC X(15).
  556.    05 FILLER                      PIC X(01) VALUE @1E@.
  557.    05 FILLER                      PIC X(01) VALUE @0D@.
  558.  
  559.    05 FILLER                      PIC X(25) VALUE
  560.       "        Description:     ".
  561.    05 FILLER                      PIC X(01) VALUE @1F@.
  562.    05 WITHDRAW-DESC-OUT            PIC X(30).
  563.    05 FILLER                      PIC X(01) VALUE @1E@.
  564.    05 FILLER                      PIC X(06) VALUE @0D0D0D0D0D0D@.
  565.    05 FILLER                      PIC X(06) VALUE @0D0D0D0D0D0D@.
  566.    05 FILLER                      PIC X(02) VALUE @0D0D@.
  567.    05 FILLER                      PIC X(01) VALUE @0F@.
  568.    05 FILLER                      PIC X(39) VALUE
  569.       "                                       ".
  570.    05 FILLER                      PIC X(40) VALUE
  571.       "                                       _".
  572.    05 WITHDRAW-ERROR-OUT          PIC X(80).
  573.    05 FILLER                      PIC X(03) VALUE @3C1205@.
  574.  
  575.  01 BALANCE-FORM.
  576.    05 FILLER                      PIC X(01) VALUE @0C@.
  577.    05 FILLER                      PIC X(01) VALUE @1C@.
  578.    05 FILLER                      PIC X(18) VALUE
  579.       "ACCTNUM BALANCE   ".
  580.    05 FILLER                      PIC X(01) VALUE @1E@.
  581.    05 FILLER                      PIC X(01) VALUE @0D@.
  582.    05 FILLER                      PIC X(55) VALUE
  583.       "                       Get Account Number for Balance ".
  584.    05 FILLER                      PIC X(01) VALUE @0D@.
  585.  
  586.    05 FILLER                      PIC X(08) VALUE
  587.       "Action: ".
  588.    05 FILLER                      PIC X(01) VALUE @1F@.
  589.    05 BAL-ACTION-OUT              PIC X(10).
  590.    05 FILLER                      PIC X(01) VALUE @1E@.
  591.    05 FILLER                      PIC X(01) VALUE @0D@.
  592.    05 FILLER                      PIC X(01) VALUE @0F@.
  593.    05 FILLER                      PIC X(30) VALUE
  594.       "       Submit Cancel          ".
  595.    05 FILLER                      PIC X(49) VALUE
  596.       "                                                _".
  597.    05 FILLER                      PIC X(01) VALUE @0D@.
  598.  
  599.    05 FILLER                      PIC X(24) VALUE
  600.       "        Account Number: ".
  601.    05 FILLER                      PIC X(01) VALUE @1F@.
  602.    05 BAL-ACCT-NUM-OUT            PIC X(6).
  603.    05 FILLER                      PIC X(01) VALUE @1E@.
  604.    05 FILLER                      PIC X(26) VALUE
  605.       " (use ACCT01 thru ACCT05) ".
  606.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  607.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  608.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  609.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  610.    05 FILLER                      PIC X(01) VALUE @0F@.
  611.    05 FILLER                      PIC X(50) VALUE
  612.       "                                                  ".
  613.    05 FILLER                      PIC X(29) VALUE
  614.       "                            _".
  615.    05 BAL-ERROR-OUT               PIC X(80).
  616.    05 FILLER                      PIC X(03) VALUE @3C1205@.
  617.  
  618.  01 SHOW-BALANCE-FORM.
  619.    05 FILLER                      PIC X(01) VALUE @0C@.
  620.    05 FILLER                      PIC X(01) VALUE @1C@.
  621.    05 FILLER                      PIC X(18) VALUE
  622.       "SHOW BALANCE      ".
  623.    05 FILLER                      PIC X(01) VALUE @1E@.
  624.    05 FILLER                      PIC X(01) VALUE @0D@.
  625.    05 FILLER                      PIC X(50) VALUE
  626.       "                          Show Current Balance   ".
  627.    05 FILLER                      PIC X(01) VALUE @0D@.
  628.  
  629.    05 FILLER                      PIC X(08) VALUE
  630.       "Action: ".
  631.    05 FILLER                      PIC X(01) VALUE @1F@.
  632.    05 SHOW-BAL-ACTION-OUT         PIC X(10).
  633.    05 FILLER                      PIC X(01) VALUE @1E@.
  634.    05 FILLER                      PIC X(01) VALUE @0D@.
  635.    05 FILLER                      PIC X(01) VALUE @0F@.
  636.    05 FILLER                      PIC X(30) VALUE
  637.       "       Home                   ".
  638.    05 FILLER                      PIC X(49) VALUE
  639.       "                                                _".
  640.    05 FILLER                      PIC X(01) VALUE @0D@.
  641.  
  642.    05 FILLER                      PIC X(26) VALUE
  643.       "          Account Number: ".
  644.    05 SHOW-BAL-ACCT-NUM-OUT       PIC X(6).
  645.    05 FILLER                      PIC X(01) VALUE @0D@.
  646.  
  647.    05 FILLER                      PIC X(26) VALUE
  648.       "         Current Balance: ".
  649.    05 SHOW-BAL-BALANCE-OUT        PIC X(15).
  650.    05 FILLER                      PIC X(01) VALUE @0D@.
  651.    05 FILLER                      PIC X(02) VALUE @0D0D@.
  652.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  653.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  654.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  655.    05 FILLER                      PIC X(01) VALUE @0F@.
  656.    05 FILLER                      PIC X(50) VALUE
  657.       "                                                  ".
  658.    05 FILLER                      PIC X(29) VALUE
  659.       "                            _".
  660.    05 SHOW-BAL-ERROR-OUT          PIC X(80).
  661.    05 FILLER                      PIC X(02) VALUE @3C12@.
  662.  
  663.  01 ACCT-INFO-FORM.
  664.    05 FILLER                      PIC X(01) VALUE @0C@.
  665.    05 FILLER                      PIC X(50) VALUE
  666.       "                      ACCOUNT INFORMATION        ".
  667.    05 FILLER                      PIC X(01) VALUE @0D@.
  668.    05 FILLER                      PIC X(01) VALUE @1C@.
  669.    05 FILLER                      PIC X(18) VALUE
  670.       "ACCOUNT INFO      ".
  671.    05 FILLER                      PIC X(01) VALUE @1E@.
  672.    05 FILLER                      PIC X(20) VALUE
  673.       "    AccountNumber: ".
  674.    05 FILLER                      PIC X(01) VALUE @1C@.
  675.    05 ACCT-INFO-NUM-OUT           PIC X(06).
  676.    05 FILLER                      PIC X(01) VALUE @1E@.
  677.    05 FILLER                      PIC X(02) VALUE @0D0D@.
  678.    05 FILLER                      PIC X(15) VALUE
  679.       "         Type: ".
  680.    05 ACCT-INFO-TYPE-OUT          PIC X(20).
  681.    05 FILLER                      PIC X(01) VALUE @0D@.
  682.    05 FILLER                      PIC X(15) VALUE
  683.       "      Balance: ".
  684.    05 ACCT-INFO-BALANCE-OUT       PIC X(15).
  685.    05 FILLER                      PIC X(01) VALUE @0D@.
  686.    05 FILLER                      PIC X(15) VALUE
  687.       "  Opened Date: ".
  688.    05 ACCT-INFO-OPENED-DATE-OUT   PIC X(10).
  689.    05 FILLER                      PIC X(01) VALUE @0D@.
  690.    05 FILLER                      PIC X(15) VALUE
  691.       "Interest Rate: ".
  692.    05 ACCT-INFO-INT-RATE-OUT      PIC X(7).
  693.    05 FILLER                      PIC X(01) VALUE @0D@.
  694.    05 FILLER                      PIC X(25) VALUE
  695.       "Send Statement by email: ".
  696.    05 ACCT-INFO-EMAIL-STMT-OUT    PIC X(1).
  697.    05 FILLER                      PIC X(01) VALUE @0D@.
  698.    05 FILLER                      PIC X(15) VALUE
  699.       "  Description: ".
  700.    05 ACCT-INFO-DESC-OUT          PIC X(255).
  701.    05 FILLER                      PIC X(01) VALUE @0D@.
  702.    05 FILLER                      PIC X(01) VALUE @1F@.
  703.    05 ACCT-INFO-XMIT-OUT          PIC X(01).
  704.    05 FILLER                      PIC X(01) VALUE @1E@.
  705.    05 FILLER                      PIC X(01) VALUE @0D@.
  706.    05 FILLER                      PIC X(03) VALUE @3C1205@.
  707.  
  708.  01 ACCTNUM-UPD-FORM.
  709.    05 FILLER                      PIC X(01) VALUE @0C@.
  710.    05 FILLER                      PIC X(01) VALUE @1C@.
  711.    05 FILLER                      PIC X(18) VALUE
  712.       "ACCTNUM UPDATE    ".
  713.    05 FILLER                      PIC X(01) VALUE @1E@.
  714.    05 FILLER                      PIC X(01) VALUE @0D@.
  715.    05 FILLER                      PIC X(55) VALUE
  716.       "                             Account Number for Update".
  717.    05 FILLER                      PIC X(01) VALUE @0D@.
  718.  
  719.    05 FILLER                      PIC X(08) VALUE
  720.       "Action: ".
  721.    05 FILLER                      PIC X(01) VALUE @1F@.
  722.    05 ACCTNUM-UPD-ACTION-OUT   PIC X(10).
  723.    05 FILLER                      PIC X(01) VALUE @1E@.
  724.    05 FILLER                      PIC X(01) VALUE @0D@.
  725.    05 FILLER                      PIC X(01) VALUE @0F@.
  726.    05 FILLER                      PIC X(30) VALUE
  727.       "       Submit Cancel          ".
  728.    05 FILLER                      PIC X(49) VALUE
  729.       "                                                _".
  730.    05 FILLER                      PIC X(01) VALUE @0D@.
  731.  
  732.    05 FILLER                      PIC X(26) VALUE
  733.       "          Account Number: ".
  734.    05 FILLER                      PIC X(01) VALUE @1F@.
  735.    05 ACCTNUM-UPD-ACCT-NUM-OUT    PIC X(6).
  736.    05 FILLER                      PIC X(01) VALUE @1E@.
  737.    05 FILLER                      PIC X(26) VALUE
  738.       " (use ACCT01 thru ACCT05) ".
  739.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  740.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  741.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  742.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  743.    05 FILLER                      PIC X(01) VALUE @0F@.
  744.    05 FILLER                      PIC X(50) VALUE
  745.       "                                                  ".
  746.    05 FILLER                      PIC X(29) VALUE
  747.       "                            _".
  748.    05 ACCTNUM-UPD-ERROR-OUT    PIC X(80).
  749.    05 FILLER                      PIC X(03) VALUE @3C1205@.
  750.  
  751.  01 ACCT-UPD-FORM.
  752.    05 FILLER                      PIC X(01) VALUE @0C@.
  753.    05 FILLER                      PIC X(01) VALUE @1C@.
  754.    05 FILLER                      PIC X(18) VALUE
  755.       "UPDATE ACCOUNT    ".
  756.    05 FILLER                      PIC X(01) VALUE @1E@.
  757.    05 FILLER                      PIC X(01) VALUE @0D@.
  758.    05 FILLER                      PIC X(50) VALUE
  759.       "                                 UPDATE ACCOUNT  ".
  760.    05 FILLER                      PIC X(01) VALUE @0D@.
  761.  
  762.    05 FILLER                      PIC X(08) VALUE
  763.       "Action: ".
  764.    05 FILLER                      PIC X(01) VALUE @1F@.
  765.    05 ACCT-UPD-ACTION-OUT      PIC X(10).
  766.    05 FILLER                      PIC X(01) VALUE @1E@.
  767.    05 FILLER                      PIC X(01) VALUE @0D@.
  768.    05 FILLER                      PIC X(01) VALUE @0F@.
  769.    05 FILLER                      PIC X(30) VALUE
  770.       "       Submit Cancel          ".
  771.    05 FILLER                      PIC X(49) VALUE
  772.       "                                                _".
  773.    05 FILLER                      PIC X(01) VALUE @0D@.
  774.    05 FILLER                      PIC X(24) VALUE
  775.       "       Account Number:  ".
  776.    05 FILLER                      PIC X(01) VALUE @1C@.
  777.    05 ACCT-UPD-ACCT-NUM-OUT       PIC X(6).
  778.    05 FILLER                      PIC X(01) VALUE @1E@.
  779.    05 FILLER                      PIC X(26) VALUE
  780.       " (use ACCT01 thru ACCT05) ".
  781.    05 FILLER                      PIC X(01) VALUE @0D@.
  782.  
  783.    05 FILLER                      PIC X(24) VALUE
  784.       "       User Name:       ".
  785.    05 ACCT-UPD-USERNAME-OUT       PIC X(08).
  786.    05 FILLER                      PIC X(01) VALUE @0D@.
  787.    05 FILLER                      PIC X(24) VALUE
  788.       "       Account Type:    ".
  789.    05 ACCT-UPD-TYPE-OUT        PIC X(20).
  790.    05 FILLER                      PIC X(01) VALUE @0D@.
  791.    05 FILLER                      PIC X(24) VALUE
  792.       "       Current Balance: ".
  793.    05 ACCT-UPD-BALANCE-OUT     PIC X(15).
  794.    05 FILLER                      PIC X(01) VALUE @0D@.
  795.    05 FILLER                      PIC X(20) VALUE
  796.       "       Opened Date: ".
  797.    05 ACCT-UPD-OPENED-DATE-OUT PIC X(10).
  798.    05 FILLER                      PIC X(01) VALUE @0D@.
  799.    05 FILLER                      PIC X(32) VALUE
  800.       "       Interest Rate:           ".
  801.    05 FILLER                      PIC X(01) VALUE @1F@.
  802.    05 ACCT-UPD-INT-RATE-OUT    PIC X(7).
  803.    05 FILLER                      PIC X(01) VALUE @1E@.
  804.    05 FILLER                      PIC X(01) VALUE @0D@.
  805.    05 FILLER                      PIC X(32) VALUE
  806.       "       Send Statement by email: ".
  807.    05 FILLER                      PIC X(01) VALUE @1F@.
  808.    05 ACCT-UPD-EMAIL-STMT-OUT    PIC X(1).
  809.    05 FILLER                      PIC X(01) VALUE @1E@.
  810.    05 FILLER                      PIC X(01) VALUE @0D@.
  811.    05 FILLER                      PIC X(32) VALUE
  812.       "       Description:             ".
  813.    05 FILLER                      PIC X(01) VALUE @1F@.
  814.    05 ACCT-UPD-DESC-OUT          PIC X(255).
  815.    05 FILLER                      PIC X(01) VALUE @1E@.
  816.    05 FILLER                      PIC X(03) VALUE @0D0D0D@.
  817.    05 FILLER                      PIC X(03) VALUE @0D0D0D@.
  818.    05 FILLER                      PIC X(01) VALUE @0F@.
  819.    05 FILLER                      PIC X(50) VALUE
  820.       "                                                  ".
  821.    05 FILLER                      PIC X(29) VALUE
  822.       "                            _".
  823.    05 ACCT-UPD-ERROR-OUT       PIC X(80).
  824.    05 FILLER                      PIC X(03) VALUE @3C1205@.
  825.  
  826.  01 TR-DATE-FORM.
  827.    05 FILLER                      PIC X(01) VALUE @0C@.
  828.    05 FILLER                      PIC X(01) VALUE @1C@.
  829.    05 FILLER                      PIC X(18) VALUE
  830.       "SHOW TRANSACTIONS ".
  831.    05 FILLER                      PIC X(01) VALUE @1E@.
  832.    05 FILLER                      PIC X(01) VALUE @0D@.
  833.    05 FILLER                      PIC X(50) VALUE
  834.       "                       ACCOUNT ACTIVITY RANGE    ".
  835.    05 FILLER                      PIC X(01) VALUE @0D@.
  836.  
  837.    05 FILLER                      PIC X(08) VALUE
  838.       "Action: ".
  839.    05 FILLER                      PIC X(01) VALUE @1F@.
  840.    05 TR-DATE-ACTION-OUT          PIC X(10).
  841.    05 FILLER                      PIC X(01) VALUE @1E@.
  842.    05 FILLER                      PIC X(01) VALUE @0D@.
  843.    05 FILLER                      PIC X(01) VALUE @0F@.
  844.    05 FILLER                      PIC X(30) VALUE
  845.       "       Submit Cancel          ".
  846.    05 FILLER                      PIC X(49) VALUE
  847.       "                                                _".
  848.    05 FILLER                      PIC X(01) VALUE @0D@.
  849.  
  850.    05 FILLER                      PIC X(24) VALUE
  851.       "        Account Number: ".
  852.    05 FILLER                      PIC X(01) VALUE @1F@.
  853.    05 TR-DATE-ACCT-NUM-OUT        PIC X(6).
  854.    05 FILLER                      PIC X(01) VALUE @1E@.
  855.    05 FILLER                      PIC X(26) VALUE
  856.       " (use ACCT01 thru ACCT05) ".
  857.    05 FILLER                      PIC X(01) VALUE @0D@.
  858.  
  859.    05 FILLER                      PIC X(14) VALUE
  860.       "        From: ".
  861.    05 FILLER                      PIC X(01) VALUE @1F@.
  862.    05 TR-DATE-FROM-OUT            PIC X(10).
  863.    05 FILLER                      PIC X(01) VALUE @1E@.
  864.    05 FILLER                      PIC X(30) VALUE
  865.       " (use MM/DD/YYYY date format) ".
  866.    05 FILLER                      PIC X(01) VALUE @0D@.
  867.    05 FILLER                      PIC X(14) VALUE
  868.       "        To:   ".
  869.    05 FILLER                      PIC X(01) VALUE @1F@.
  870.    05 TR-DATE-TO-OUT              PIC X(10).
  871.    05 FILLER                      PIC X(01) VALUE @1E@.
  872.    05 FILLER                      PIC X(30) VALUE
  873.       " (use MM/DD/YYYY date format) ".
  874.    05 FILLER                      PIC X(02) VALUE @0D0D@.
  875.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  876.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  877.    05 FILLER                      PIC X(04) VALUE @0D0D0D0D@.
  878.    05 FILLER                      PIC X(01) VALUE @0F@.
  879.    05 FILLER                      PIC X(50) VALUE
  880.       "                                                  ".
  881.    05 FILLER                      PIC X(29) VALUE
  882.       "                            _".
  883.    05 TR-DATE-ERROR-OUT           PIC X(80).
  884.    05 FILLER                      PIC X(03) VALUE @3C1205@.
  885.  
  886.  01 ACCT-ACT-FORM.
  887.    05 FILLER                      PIC X(01) VALUE @0C@.
  888.    05 FILLER                      PIC X(01) VALUE @1C@.
  889.    05 FILLER                      PIC X(18) VALUE
  890.       "ACCOUNT ACTIVITY  ".
  891.    05 FILLER                      PIC X(01) VALUE @1E@.
  892.    05 FILLER                      PIC X(01) VALUE @0D@.
  893.  
  894.    05 FILLER                      PIC X(50) VALUE
  895.       "                           SHOW ACCOUNT ACTIVITY ".
  896.    05 FILLER                      PIC X(01) VALUE @0D@.
  897.  
  898.    05 FILLER                      PIC X(08) VALUE
  899.       "Action: ".
  900.    05 FILLER                      PIC X(01) VALUE @1F@.
  901.    05 ACCT-ACT-ACTION-OUT         PIC X(10).
  902.    05 FILLER                      PIC X(01) VALUE @1E@.
  903.    05 FILLER                      PIC X(01) VALUE @0D@.
  904.    05 FILLER                      PIC X(01) VALUE @0F@.
  905.    05 FILLER                      PIC X(12) VALUE
  906.       "       Home ".
  907.    05 ACCT-ACT-HELP-OUT           PIC X(4).
  908.    05 FILLER                      PIC X(14) VALUE
  909.       "              ".
  910.    05 FILLER                      PIC X(49) VALUE
  911.       "                                                _".
  912.  
  913.    05 FILLER                      PIC X(50) VALUE
  914.       "                                                 ".
  915.    05 FILLER                      PIC X(01) VALUE @0D@.
  916.    05 FILLER                      PIC X(80) VALUE
  917.       "   Date       Description           Withdrawal          Dep
  918. -     "osit          Balance".
  919.   05 ACCT-ACT-RECORD OCCURS 15.
  920.      07 ACCT-ACT-OUT                PIC X(80).
  921.  
  922.   05 FILLER                      PIC X(01) VALUE @0F@.
  923.   05 FILLER                      PIC X(50) VALUE
  924.      "                                                  ".
  925.   05 FILLER                      PIC X(29) VALUE
  926.      "                            _".
  927.   05 ACCT-ACT-ERROR-OUT          PIC X(80).
  928.   05 FILLER                      PIC X(02) VALUE @3C12@.
  929.  
  930. 01 ACCT-CRE-FORM.
  931.   05 FILLER                      PIC X(01) VALUE @0C@.
  932.   05 FILLER                      PIC X(01) VALUE @1C@.
  933.   05 FILLER                      PIC X(18) VALUE
  934.      "CREATE            ".
  935.   05 FILLER                      PIC X(01) VALUE @1E@.
  936.   05 FILLER                      PIC X(01) VALUE @0D@.
  937.   05 FILLER                      PIC X(50) VALUE
  938.      "                              CREATE ACCOUNT      ".
  939.   05 FILLER                      PIC X(01) VALUE @0D@.
  940.  
  941.   05 FILLER                      PIC X(08) VALUE
  942.      "Action: ".
  943.   05 FILLER                      PIC X(01) VALUE @1F@.
  944.   05 ACCT-CRE-ACTION-OUT         PIC X(10).
  945.   05 FILLER                      PIC X(01) VALUE @1E@.
  946.   05 FILLER                      PIC X(01) VALUE @0D@.
  947.   05 FILLER                      PIC X(01) VALUE @0F@.
  948.   05 FILLER                      PIC X(30) VALUE
  949.      "       Submit Cancel          ".
  950.   05 FILLER                      PIC X(49) VALUE
  951.      "                                                _".
  952.   05 FILLER                      PIC X(01) VALUE @0D@.
  953.  
  954.   05 FILLER                      PIC X(22) VALUE
  955.      "        User Name:    ".
  956.   05 FILLER                      PIC X(01) VALUE @1F@.
  957.   05 ACCT-CRE-CUST-OUT           PIC X(8).
  958.   05 FILLER                      PIC X(01) VALUE @1E@.
  959.   05 FILLER                      PIC X(20) VALUE
  960.      " (use TOM or MARY)  ".
  961.   05 FILLER                      PIC X(01) VALUE @0D@.
  962.  
  963.   05 FILLER                      PIC X(22) VALUE
  964.      "        Account Type: ".
  965.   05 FILLER                      PIC X(01) VALUE @1F@.
  966.   05 ACCT-CRE-TYPE-OUT           PIC X(1).
  967.   05 FILLER                      PIC X(01) VALUE @1E@.
  968.   05 FILLER                      PIC X(01) VALUE @0D@.
  969.   05 FILLER                      PIC X(40) VALUE
  970.      "                  1: Basic Checking     ".
  971.   05 FILLER                      PIC X(01) VALUE @0D@.
  972.   05 FILLER                      PIC X(40) VALUE
  973.      "                  2: Interest Checking  ".
  974.   05 FILLER                      PIC X(01) VALUE @0D@.
  975.   05 FILLER                      PIC X(40) VALUE
  976.      "                  3: Basic Savings      ".
  977.   05 FILLER                      PIC X(01) VALUE @0D@.
  978.   05 FILLER                      PIC X(40) VALUE
  979.      "                  4: Holiday Club)      ".
  980.   05 FILLER                      PIC X(02) VALUE @0D0D@.
  981.   05 FILLER                      PIC X(33) VALUE
  982.      "        Interest Rate:           ".
  983.   05 FILLER                      PIC X(01) VALUE @1F@.
  984.   05 ACCT-CRE-INT-RATE-OUT       PIC X(7).
  985.   05 FILLER                      PIC X(01) VALUE @1E@.
  986.   05 FILLER                      PIC X(01) VALUE @0D@.
  987.   05 FILLER                      PIC X(33) VALUE
  988.      "        Send statement by email: ".
  989.   05 FILLER                      PIC X(01) VALUE @1F@.
  990.   05 ACCT-CRE-EMAIL-OUT          PIC X(1).
  991.   05 FILLER                      PIC X(01) VALUE @1E@.
  992.   05 FILLER                      PIC X(6) VALUE " (Y/N)".
  993.   05 FILLER                      PIC X(02) VALUE @0D0D@.
  994.   05 FILLER                      PIC X(21) VALUE
  995.      "        Description: ".
  996.   05 FILLER                      PIC X(01) VALUE @1F@.
  997.   05 ACCT-CRE-DESC-OUT           PIC X(255).
  998.   05 FILLER                      PIC X(01) VALUE @1E@.
  999.   05 FILLER                      PIC X(03) VALUE @0D0D0D@.
  1000.   05 FILLER                      PIC X(01) VALUE @0F@.
  1001.   05 FILLER                      PIC X(50) VALUE
  1002.      "                                                  ".
  1003.   05 FILLER                      PIC X(29) VALUE
  1004.      "                            _".
  1005.   05 ACCT-CRE-ERROR-OUT          PIC X(80).
  1006.   05 FILLER                      PIC X(03) VALUE @3C1205@.
  1007.  
  1008. 01 ACCT-LIST-FORM.
  1009.   05 FILLER                      PIC X(01) VALUE @0C@.
  1010.   05 FILLER                      PIC X(50) VALUE
  1011.      "                      ACCOUNT LIST               ".
  1012.   05 FILLER                      PIC X(01) VALUE @0D@.
  1013.   05 FILLER                      PIC X(01) VALUE @1C@.
  1014.   05 FILLER                      PIC X(18) VALUE
  1015.      "ACCOUNT LIST      ".
  1016.   05 FILLER                      PIC X(01) VALUE @1E@.
  1017.   05 FILLER                      PIC X(20) VALUE
  1018.      "       CustomerID: ".
  1019.   05 FILLER                      PIC X(01) VALUE @1C@.
  1020.   05 ACCT-LIST-CUST-OUT          PIC X(08).
  1021.   05 FILLER                      PIC X(01) VALUE @1E@.
  1022.   05 FILLER                      PIC X(02) VALUE @0D0D@.
  1023.   05 ACCT-LIST-PRE1-OUT          PIC X(3).
  1024.   05 FILLER                      PIC X(01) VALUE @1C@.
  1025.   05 ACCT-LIST-ACCT1-OUT         PIC X(30).
  1026.   05 FILLER                      PIC X(01) VALUE @1E@.
  1027.   05 FILLER                      PIC X(01) VALUE @0D@.
  1028.   05 ACCT-LIST-PRE2-OUT          PIC X(3).
  1029.   05 FILLER                      PIC X(01) VALUE @1C@.
  1030.   05 ACCT-LIST-ACCT2-OUT         PIC X(30).
  1031.   05 FILLER                      PIC X(01) VALUE @1E@.
  1032.   05 FILLER                      PIC X(01) VALUE @0D@.
  1033.  
  1034.   05 ACCT-LIST-PRE3-OUT          PIC X(3).
  1035.   05 FILLER                      PIC X(01) VALUE @1C@.
  1036.   05 ACCT-LIST-ACCT3-OUT         PIC X(30).
  1037.   05 FILLER                      PIC X(01) VALUE @1E@.
  1038.   05 FILLER                      PIC X(01) VALUE @0D@.
  1039.  
  1040.   05 ACCT-LIST-PRE4-OUT          PIC X(3).
  1041.   05 FILLER                      PIC X(01) VALUE @1C@.
  1042.   05 ACCT-LIST-ACCT4-OUT         PIC X(30).
  1043.   05 FILLER                      PIC X(01) VALUE @1E@.
  1044.   05 FILLER                      PIC X(01) VALUE @0D@.
  1045.  
  1046.   05 ACCT-LIST-PRE5-OUT          PIC X(3).
  1047.   05 FILLER                      PIC X(01) VALUE @1C@.
  1048.   05 ACCT-LIST-ACCT5-OUT         PIC X(30).
  1049.   05 FILLER                      PIC X(01) VALUE @1E@.
  1050.   05 FILLER                      PIC X(01) VALUE @0D@.
  1051.  
  1052.   05 ACCT-LIST-PRE6-OUT          PIC X(3).
  1053.   05 FILLER                      PIC X(01) VALUE @1C@.
  1054.   05 ACCT-LIST-ACCT6-OUT         PIC X(30).
  1055.   05 FILLER                      PIC X(01) VALUE @1E@.
  1056.   05 FILLER                      PIC X(02) VALUE @0D0D@.
  1057.  
  1058.   05 FILLER                      PIC X(01) VALUE @1F@.
  1059.   05 ACCT-LIST-ACTION-OUT          PIC X(01).
  1060.   05 FILLER                      PIC X(01) VALUE @1E@.
  1061.   05 FILLER                      PIC X(01) VALUE @0D@.
  1062.   05 FILLER                      PIC X(02) VALUE @3C12@.
  1063.  
  1064. 01 ERROR-FORM.
  1065.   05 FILLER                      PIC X(01) VALUE @0C@.
  1066.  
  1067.   05 FILLER                      PIC X(50) VALUE
  1068.      "              ERROR                              ".
  1069.   05 FILLER                      PIC X(01) VALUE @0D@.
  1070.   05 FILLER                      PIC X(01) VALUE @1C@.
  1071.   05 FILLER                      PIC X(18) VALUE
  1072.      "ERROR             ".
  1073.   05 FILLER                      PIC X(01) VALUE @1E@.
  1074.   05 FILLER                      PIC X(01) VALUE @0D@.
  1075.   05 FILLER                      PIC X(20) VALUE
  1076.      "    AccountNumber: ".
  1077.   05 FILLER                      PIC X(01) VALUE @1C@.
  1078.   05 ERROR-NUM-OUT               PIC X(06).
  1079.   05 FILLER                      PIC X(01) VALUE @1E@.
  1080.   05 FILLER                      PIC X(02) VALUE @0D0D@.
  1081.   05 FILLER                      PIC X(01) VALUE @1F@.
  1082.   05 ERROR-XMIT-OUT              PIC X(01).
  1083.   05 FILLER                      PIC X(01) VALUE @1E@.
  1084.   05 FILLER                      PIC X(01) VALUE @0D@.
  1085.   05 FILLER                      PIC X(02) VALUE @3C12@.
  1086.  
  1087.  
  1088. COMMUNICATION SECTION.
  1089.  
  1090. ***
  1091. *** COMS DCILibrary Input and Output Header declarations.
  1092. ***
  1093.  
  1094. INPUT HEADER COMS-IN;
  1095.     FUNCTIONSTATUS            IS COMS-IN-FUNCTION-STATUS
  1096.     TEXTLENGTH                IS COMS-IN-TEXT-LENGTH;
  1097.     STATUSVALUE               IS COMS-IN-STATUS-VALUE.
  1098.  
  1099. OUTPUT HEADER COMS-OUT;
  1100.     TEXTLENGTH                IS COMS-OUT-TEXT-LENGTH;
  1101.     STATUSVALUE               IS COMS-OUT-STATUS-VALUE.
  1102.  
  1103. ********************* PROCEDURE DIVISION *************************
  1104.   PROCEDURE DIVISION.
  1105.   MAIN-LINE.
  1106.  
  1107.     CHANGE ATTRIBUTE LIBACCESS OF "DCILIBRARY" TO BYINITIATOR.
  1108.     ENABLE INPUT COMS-IN KEY "ONLINE".
  1109.     PERFORM INIT-TABLES THRU INIT-TABLES-EXIT.
  1110.  
  1111.  PROCESS-TRANSACTION.
  1112.  
  1113. *  Clear the input buffer
  1114.     MOVE SPACES TO BUFIN.
  1115.  
  1116.     RECEIVE COMS-IN MESSAGE INTO BUFIN;
  1117.        NO DATA
  1118.           GO TO WAIT-FOR-INPUT.
  1119.  
  1120.     PERFORM PROCESS-MESSAGE THRU PROCESS-MESSAGE-EXIT.
  1121.     IF COMS-IN-STATUS-VALUE = 99
  1122.        GO TO FINISH.
  1123.  
  1124.     GO TO PROCESS-TRANSACTION.
  1125.  
  1126.  WAIT-FOR-INPUT.
  1127.  
  1128.     WAIT UNTIL
  1129.           ATTRIBUTE DCIINPUTEVENT  OF MYSELF
  1130.           ATTRIBUTE DCITASKEVENT   OF MYSELF
  1131.        GIVING WAIT-RESULT.
  1132.  
  1133.     GO TO PROCESS-TRANSACTION.
  1134.  
  1135.  PROCESS-TRANSACTION-EXIT.
  1136.     EXIT.
  1137.  
  1138.  FINISH.
  1139.     STOP RUN.
  1140.  
  1141.  MAIN-LINE-EXIT.
  1142.     EXIT.
  1143. ****************************************************************
  1144.  PROCESS-MESSAGE.
  1145.  
  1146. * Check to see if Transaction Server instructed us go to EOJ.
  1147.     IF COMS-IN-STATUS-VALUE = 99
  1148.        GO TO PROCESS-MESSAGE-EXIT.
  1149.  
  1150. * Check for window open notification.
  1151.     IF (COMS-IN-FUNCTION-STATUS = -16)
  1152. *       DISPLAY "== T27FIRSTBANK WINDOW OPEN ==="
  1153.        MOVE DEFAULT-ACCT TO CURR-ACCT-NUM-STR
  1154.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
  1155.        GO TO PROCESS-MESSAGE-EXIT.
  1156.  
  1157. * Check for window on notification.
  1158.     IF (COMS-IN-FUNCTION-STATUS = -17)
  1159. *       DISPLAY "== T27EPORTALBANK WINDOW ON ==="
  1160.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
  1161.        GO TO PROCESS-MESSAGE-EXIT.
  1162.  
  1163.     MOVE 0 TO ERROR-NUMBER.
  1164.     IF LOGON-MENU
  1165.        PERFORM PROCESS-LOGON THRU PROCESS-LOGON-EXIT
  1166.     ELSE
  1167.     IF ACCT-LIST-MENU
  1168.        MOVE ACCT-LIST-CUST-IN  TO CURR-CUST-USERNAME
  1169.        PERFORM PROCESS-ACCT-LIST THRU PROCESS-ACCT-LIST-EXIT
  1170.     ELSE
  1171.     IF ACCT-TASK-MENU
  1172.        PERFORM PROCESS-ACCT-TASK THRU PROCESS-ACCT-TASK-EXIT
  1173.     ELSE
  1174.     IF DEPOSIT-MENU
  1175.        PERFORM PROCESS-DEPOSIT THRU PROCESS-DEPOSIT-EXIT
  1176.     ELSE
  1177.     IF WITHDRAW-MENU
  1178.        MOVE WITHDRAW-ACCT-NUM-IN TO CURR-ACCT-NUM-STR
  1179.        PERFORM PROCESS-WITHDRAW THRU PROCESS-WITHDRAW-EXIT
  1180.     ELSE
  1181.     IF ACCT-BAL-MENU
  1182.        PERFORM PROCESS-ACCT-BAL THRU PROCESS-ACCT-BAL-EXIT
  1183.     ELSE
  1184.     IF SHOW-BAL-MENU
  1185.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
  1186.     ELSE
  1187.     IF TR-DATE-MENU
  1188.        MOVE TR-DATE-ACCT-NUM-IN   TO CURR-ACCT-NUM-STR
  1189.        PERFORM PROCESS-TR-DATE THRU PROCESS-TR-DATE-EXIT
  1190.     ELSE
  1191.     IF ACCT-ACTIVITY-MENU
  1192.        PERFORM PROCESS-ACCT-ACTIVITY THRU
  1193.                PROCESS-ACCT-ACTIVITY-EXIT
  1194.     ELSE
  1195.     IF ACCTNUM-UPD-MENU
  1196.        PERFORM PROCESS-ACCTNUM-UPD THRU PROCESS-ACCTNUM-UPD-EXIT
  1197.     ELSE
  1198.     IF ACCT-UPD-MENU
  1199.        PERFORM PROCESS-ACCT-UPD THRU PROCESS-ACCT-UPD-EXIT
  1200.     ELSE
  1201.     IF ACCT-CREATE-MENU
  1202.        PERFORM PROCESS-ACCT-CREATE THRU PROCESS-ACCT-CREATE-EXIT
  1203.     ELSE
  1204.     IF ERROR-MENU
  1205.        PERFORM PROCESS-ERROR THRU PROCESS-ERROR-EXIT
  1206.     ELSE
  1207. *       MOVE "Unknown command" TO ERR-TEXT
  1208. *       MOVE UNKNOWN-ERROR TO ERROR-NUMBER
  1209.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
  1210.  PROCESS-MESSAGE-EXIT.
  1211.     EXIT.
  1212. ****************************************************************
  1213.  
  1214.   INIT-TABLES.
  1215. ***  ADD 2 CUSTOMERS (TOM AND MARY)
  1216.     MOVE 0 TO TEMP-INDEX.
  1217.  NEXT-CU.
  1218.     ADD 1 TO TEMP-INDEX.
  1219.     MOVE SPACES TO CUST-NUMBER (TEMP-INDEX).
  1220.     IF TEMP-INDEX < MAX-CUSTOMERS
  1221.        GO TO NEXT-CU.
  1222.  
  1223.     MOVE "TOM"       TO CUST-USERNAME(1).
  1224.     MOVE "TOMPW"     TO CUST-PIN(1).
  1225.     MOVE "Tom"       TO CUST-FIRSTNAME (1).
  1226.     MOVE "Walker"    TO CUST-LASTNAME (1).
  1227.     MOVE "TomWalker@isp2net.com"   TO CUST-EMAIL(1).
  1228.     MOVE "132 Cardinal Steet Philadelphia, PA 19103"
  1229.          TO CUST-ADDRESS(1).
  1230.     MOVE "CUST01"   TO CUST-NUMBER(1).
  1231.  
  1232.     MOVE "MARY"    TO CUST-USERNAME(2).
  1233.     MOVE "MARYPW"   TO CUST-PIN(2).
  1234.     MOVE "Mary"     TO CUST-FIRSTNAME (2).
  1235.     MOVE "Cooper"   TO CUST-LASTNAME (2).
  1236.     MOVE "MaryCooper@isp2net.com"   TO CUST-EMAIL(2).
  1237.     MOVE "52 Oak Avenue Yonkers, NY 10702"  TO CUST-ADDRESS(2).
  1238.     MOVE "CUST02"   TO CUST-NUMBER(2).
  1239.  
  1240. ***  ADD 5 ACCOUNTS (2 TO TOM AND 3 TO MARY)
  1241.     MOVE 0 TO TEMP-INDEX.
  1242.  NEXT-AC.
  1243.     ADD 1 TO TEMP-INDEX.
  1244.     MOVE SPACES TO ACCT-NUMBER (TEMP-INDEX).
  1245.     MOVE SPACES TO ACCT-CUST-NUMBER (TEMP-INDEX).
  1246.     IF TEMP-INDEX < MAX-ACCOUNTS
  1247.        GO TO NEXT-AC.
  1248.  
  1249.     MOVE "ACCT01"   TO ACCT-NUMBER(1).
  1250.     MOVE 1          TO ACCT-TYPE(1).
  1251.     MOVE 0.0        TO ACCT-BALANCE(1).
  1252.     MOVE "01/11/2006"  TO ACCT-OPENED-DATE(1).
  1253.     MOVE 0.00          TO ACCT-INT-RATE(1).
  1254.     MOVE "CUST01"      TO ACCT-CUST-NUMBER(1).
  1255.     MOVE 1             TO ACCT-EMAIL-STMT(1).
  1256.     MOVE "Tom's Basic Checking Account" TO ACCT-DESC(1).
  1257.  
  1258.     MOVE "ACCT02"   TO ACCT-NUMBER(2).
  1259.     MOVE 3          TO ACCT-TYPE(2).
  1260.     MOVE 0.0        TO ACCT-BALANCE(2).
  1261.     MOVE "01/11/2006"  TO ACCT-OPENED-DATE(2).
  1262.     MOVE 0.04          TO ACCT-INT-RATE(2).
  1263.     MOVE "CUST01"      TO ACCT-CUST-NUMBER(2).
  1264.     MOVE 1             TO ACCT-EMAIL-STMT(2).
  1265.     MOVE "Tom's Basic Savings Account"  TO ACCT-DESC(2).
  1266.  
  1267.     MOVE "ACCT03"   TO ACCT-NUMBER(3).
  1268.     MOVE 1          TO ACCT-TYPE(3).
  1269.     MOVE 0.0        TO ACCT-BALANCE(3).
  1270.     MOVE "01/15/2006"  TO ACCT-OPENED-DATE(3).
  1271.     MOVE 0.00          TO ACCT-INT-RATE(3).
  1272.     MOVE "CUST02"      TO ACCT-CUST-NUMBER(3).
  1273.     MOVE 1             TO ACCT-EMAIL-STMT(3).
  1274.     MOVE "Mary's Basic Checking Account"  TO ACCT-DESC(3).
  1275.  
  1276.     MOVE "ACCT04"   TO ACCT-NUMBER(4).
  1277.     MOVE 4          TO ACCT-TYPE(4).
  1278.     MOVE 0.0        TO ACCT-BALANCE(4).
  1279.     MOVE "01/05/2006"  TO ACCT-OPENED-DATE(4).
  1280.     MOVE 0.03          TO ACCT-INT-RATE(4).
  1281.     MOVE "CUST02"      TO ACCT-CUST-NUMBER(4).
  1282.     MOVE 1             TO ACCT-EMAIL-STMT(4).
  1283.     MOVE "Tom's Holiday Club Account"  TO ACCT-DESC(4).
  1284.  
  1285.     MOVE "ACCT05"   TO ACCT-NUMBER(5).
  1286.     MOVE 3          TO ACCT-TYPE(5).
  1287.     MOVE 0.0        TO ACCT-BALANCE(5).
  1288.     MOVE "02/05/2006"  TO ACCT-OPENED-DATE(5).
  1289.     MOVE 0.03          TO ACCT-INT-RATE(5).
  1290.     MOVE "CUST02"      TO ACCT-CUST-NUMBER(5).
  1291.     MOVE 1             TO ACCT-EMAIL-STMT(5).
  1292.     MOVE "Mary's Basic Savings Account"  TO ACCT-DESC(5).
  1293.  
  1294. ***  ADD 70 TRANSACTIONS (5 transactions per account
  1295. ***                  except ACCT05 which has 50 transactions)
  1296.     MOVE 0 TO TEMP-INDEX.
  1297.  NEXT-TR.
  1298.     ADD 1 TO TEMP-INDEX.
  1299.     MOVE SPACES TO TRANS-ACCT-NUM (TEMP-INDEX).
  1300.     IF TEMP-INDEX < MAX-TRANSACTIONS
  1301.        GO TO NEXT-TR.
  1302.  
  1303.     MOVE "ACCT01" TO TEMP-ACCT-IN.
  1304.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(1).
  1305.     MOVE "01/11/2006"  TO TRANS-DATE(1).
  1306.     MOVE 1             TO TRANS-TYPE(1).
  1307.     MOVE 1000.0        TO TRANS-AMOUNT(1).
  1308.     MOVE "CASH DEPOSIT" TO TRANS-DESC(1).
  1309.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1310.     ADD TRANS-AMOUNT(1) TO ACCT-BALANCE (ACCT-INDEX).
  1311.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(1).
  1312.  
  1313.     MOVE "ACCT01" TO TEMP-ACCT-IN.
  1314.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(2).
  1315.     MOVE "01/15/2006"  TO TRANS-DATE(2).
  1316.     MOVE 2             TO TRANS-TYPE(2).
  1317.     MOVE 100.0         TO TRANS-AMOUNT(2).
  1318.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(2).
  1319.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1320.     SUBTRACT TRANS-AMOUNT(2) FROM ACCT-BALANCE (ACCT-INDEX).
  1321.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(2).
  1322.  
  1323.     MOVE "ACCT01" TO TEMP-ACCT-IN.
  1324.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(3).
  1325.     MOVE "01/15/2006"  TO TRANS-DATE(3).
  1326.     MOVE 2             TO TRANS-TYPE(3).
  1327.     MOVE 50.0          TO TRANS-AMOUNT(3).
  1328.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(3).
  1329.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1330.     SUBTRACT TRANS-AMOUNT(3) FROM ACCT-BALANCE (ACCT-INDEX).
  1331.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(3).
  1332.  
  1333.     MOVE "ACCT01" TO TEMP-ACCT-IN.
  1334.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(4).
  1335.     MOVE "02/22/2006"  TO TRANS-DATE(4).
  1336.     MOVE 1             TO TRANS-TYPE(4).
  1337.     MOVE 100.0         TO TRANS-AMOUNT(4).
  1338.     MOVE "ATM DEPOSIT   " TO TRANS-DESC(4).
  1339.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1340.     ADD  TRANS-AMOUNT(4) TO  ACCT-BALANCE (ACCT-INDEX).
  1341.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(4).
  1342.  
  1343.     MOVE "ACCT01" TO TEMP-ACCT-IN.
  1344.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(5).
  1345.     MOVE "03/15/2006"  TO TRANS-DATE(5).
  1346.     MOVE 2             TO TRANS-TYPE(5).
  1347.     MOVE 100.0         TO TRANS-AMOUNT(5).
  1348.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(5).
  1349.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1350.     SUBTRACT TRANS-AMOUNT(5) FROM ACCT-BALANCE (ACCT-INDEX).
  1351.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(5).
  1352.  
  1353.     MOVE "ACCT02" TO TEMP-ACCT-IN.
  1354.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(6).
  1355.     MOVE "01/11/2006"  TO TRANS-DATE(6).
  1356.     MOVE 1             TO TRANS-TYPE(6).
  1357.     MOVE 2000.0        TO TRANS-AMOUNT(6).
  1358.     MOVE "CASH DEPOSIT" TO TRANS-DESC(6).
  1359.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1360.     ADD TRANS-AMOUNT(6) TO ACCT-BALANCE (ACCT-INDEX).
  1361.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(6).
  1362.  
  1363.     MOVE "ACCT02" TO TEMP-ACCT-IN.
  1364.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(7).
  1365.     MOVE "01/28/2006"  TO TRANS-DATE(7).
  1366.     MOVE 2             TO TRANS-TYPE(7).
  1367.     MOVE 80.0          TO TRANS-AMOUNT(7).
  1368.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(7).
  1369.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1370.     SUBTRACT TRANS-AMOUNT(7) FROM ACCT-BALANCE (ACCT-INDEX).
  1371.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(7).
  1372.  
  1373.     MOVE "ACCT02" TO TEMP-ACCT-IN.
  1374.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(8).
  1375.     MOVE "02/15/2006"  TO TRANS-DATE(8).
  1376.     MOVE 2             TO TRANS-TYPE(8).
  1377.     MOVE 100.0         TO TRANS-AMOUNT(8).
  1378.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(8).
  1379.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1380.     SUBTRACT TRANS-AMOUNT(8) FROM ACCT-BALANCE (ACCT-INDEX).
  1381.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(8).
  1382.  
  1383.     MOVE "ACCT02" TO TEMP-ACCT-IN.
  1384.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(9).
  1385.     MOVE "02/23/2006"  TO TRANS-DATE(9).
  1386.     MOVE 1             TO TRANS-TYPE(9).
  1387.     MOVE 100.0         TO TRANS-AMOUNT(9).
  1388.     MOVE "ATM DEPOSIT   " TO TRANS-DESC(9).
  1389.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1390.     ADD  TRANS-AMOUNT(9) TO  ACCT-BALANCE (ACCT-INDEX).
  1391.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(9).
  1392.  
  1393.     MOVE "ACCT02" TO TEMP-ACCT-IN.
  1394.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(10).
  1395.     MOVE "03/15/2006"  TO TRANS-DATE(10).
  1396.     MOVE 2             TO TRANS-TYPE(10).
  1397.     MOVE 100.0         TO TRANS-AMOUNT(10).
  1398.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(10).
  1399.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1400.     SUBTRACT TRANS-AMOUNT(10) FROM ACCT-BALANCE (ACCT-INDEX).
  1401.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(10).
  1402.  
  1403.     MOVE "ACCT03" TO TEMP-ACCT-IN.
  1404.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(11).
  1405.     MOVE "01/15/2006"  TO TRANS-DATE(11).
  1406.     MOVE 1             TO TRANS-TYPE(11).
  1407.     MOVE 3000.0        TO TRANS-AMOUNT(11).
  1408.     MOVE "CASH DEPOSIT" TO TRANS-DESC(11).
  1409.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1410.     ADD TRANS-AMOUNT(11) TO ACCT-BALANCE (ACCT-INDEX).
  1411.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(11).
  1412.  
  1413.     MOVE "ACCT03" TO TEMP-ACCT-IN.
  1414.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(12).
  1415.     MOVE "01/19/2006"  TO TRANS-DATE(12).
  1416.     MOVE 2             TO TRANS-TYPE(12).
  1417.     MOVE 60.0          TO TRANS-AMOUNT(12).
  1418.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(12).
  1419.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1420.     SUBTRACT TRANS-AMOUNT(12) FROM ACCT-BALANCE (ACCT-INDEX).
  1421.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(12).
  1422.  
  1423.     MOVE "ACCT03" TO TEMP-ACCT-IN.
  1424.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(13).
  1425.     MOVE "01/15/2006"  TO TRANS-DATE(13).
  1426.     MOVE 2             TO TRANS-TYPE(13).
  1427.     MOVE 150.0         TO TRANS-AMOUNT(13).
  1428.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(13).
  1429.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1430.     SUBTRACT TRANS-AMOUNT(13) FROM ACCT-BALANCE (ACCT-INDEX).
  1431.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(13).
  1432.  
  1433.     MOVE "ACCT03" TO TEMP-ACCT-IN.
  1434.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(14).
  1435.     MOVE "02/25/2006"  TO TRANS-DATE(14).
  1436.     MOVE 1             TO TRANS-TYPE(14).
  1437.     MOVE 100.0         TO TRANS-AMOUNT(14).
  1438.     MOVE "ATM DEPOSIT   " TO TRANS-DESC(14).
  1439.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1440.     ADD  TRANS-AMOUNT(14) TO  ACCT-BALANCE (ACCT-INDEX).
  1441.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(14).
  1442.  
  1443.     MOVE "ACCT03" TO TEMP-ACCT-IN.
  1444.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(15).
  1445.     MOVE "03/15/2006"  TO TRANS-DATE(15).
  1446.     MOVE 2             TO TRANS-TYPE(15).
  1447.     MOVE 100.0         TO TRANS-AMOUNT(15).
  1448.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(15).
  1449.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1450.     SUBTRACT TRANS-AMOUNT(15) FROM ACCT-BALANCE (ACCT-INDEX).
  1451.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(15).
  1452.  
  1453.     MOVE "ACCT04" TO TEMP-ACCT-IN.
  1454.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(16).
  1455.     MOVE "01/05/2006"  TO TRANS-DATE(16).
  1456.     MOVE 1             TO TRANS-TYPE(16).
  1457.     MOVE 4000.0        TO TRANS-AMOUNT(16).
  1458.     MOVE "CASH DEPOSIT" TO TRANS-DESC(16).
  1459.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1460.     ADD TRANS-AMOUNT(16) TO ACCT-BALANCE (ACCT-INDEX).
  1461.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(16).
  1462.  
  1463.     MOVE "ACCT04" TO TEMP-ACCT-IN.
  1464.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(17).
  1465.     MOVE "01/26/2006"  TO TRANS-DATE(17).
  1466.     MOVE 2             TO TRANS-TYPE(17).
  1467.     MOVE 80.0          TO TRANS-AMOUNT(17).
  1468.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(17).
  1469.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1470.     SUBTRACT TRANS-AMOUNT(17) FROM ACCT-BALANCE (ACCT-INDEX).
  1471.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(17).
  1472.  
  1473.     MOVE "ACCT04" TO TEMP-ACCT-IN.
  1474.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(18).
  1475.     MOVE "02/15/2006"  TO TRANS-DATE(18).
  1476.     MOVE 2             TO TRANS-TYPE(18).
  1477.     MOVE 100.0         TO TRANS-AMOUNT(18).
  1478.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(18).
  1479.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1480.     SUBTRACT TRANS-AMOUNT(18) FROM ACCT-BALANCE (ACCT-INDEX).
  1481.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(18).
  1482.  
  1483.     MOVE "ACCT04" TO TEMP-ACCT-IN.
  1484.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(19).
  1485.     MOVE "03/05/2006"  TO TRANS-DATE(19).
  1486.     MOVE 1             TO TRANS-TYPE(19).
  1487.     MOVE 100.0         TO TRANS-AMOUNT(19).
  1488.     MOVE "ATM DEPOSIT   " TO TRANS-DESC(19).
  1489.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1490.     ADD  TRANS-AMOUNT(19) TO  ACCT-BALANCE (ACCT-INDEX).
  1491.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(19).
  1492.  
  1493.     MOVE "ACCT04" TO TEMP-ACCT-IN.
  1494.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(20).
  1495.     MOVE "03/20/2006"  TO TRANS-DATE(20).
  1496.     MOVE 2             TO TRANS-TYPE(20).
  1497.     MOVE 200.0         TO TRANS-AMOUNT(20).
  1498.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(20).
  1499.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1500.     SUBTRACT TRANS-AMOUNT(20) FROM ACCT-BALANCE (ACCT-INDEX).
  1501.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(20).
  1502.  
  1503. * ADD 50 TRANSACTIONS FOR ACCT05
  1504.  
  1505.     MOVE "ACCT05" TO TEMP-ACCT-IN.
  1506.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(21).
  1507.     MOVE "02/05/2006"  TO TRANS-DATE(21).
  1508.     MOVE 1             TO TRANS-TYPE(21).
  1509.     MOVE 5000.0        TO TRANS-AMOUNT(21).
  1510.     MOVE "CASH DEPOSIT" TO TRANS-DESC(21).
  1511.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1512.     ADD TRANS-AMOUNT(21) TO ACCT-BALANCE (ACCT-INDEX).
  1513.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(21).
  1514.  
  1515.     MOVE "ACCT05" TO TEMP-ACCT-IN.
  1516.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(22).
  1517.     MOVE "02/15/2006"  TO TRANS-DATE(22).
  1518.     MOVE 1             TO TRANS-TYPE(22).
  1519.     MOVE 400.0         TO TRANS-AMOUNT(22).
  1520.     MOVE "CASH DEPOSIT" TO TRANS-DESC(22).
  1521.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1522.     ADD 400.0 TO ACCT-BALANCE (ACCT-INDEX).
  1523.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(22).
  1524.  
  1525.     MOVE "ACCT05" TO TEMP-ACCT-IN.
  1526.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(23).
  1527.     MOVE "02/25/2006"  TO TRANS-DATE(23).
  1528.     MOVE 2             TO TRANS-TYPE(23).
  1529.     MOVE 100.0         TO TRANS-AMOUNT(23).
  1530.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(23).
  1531.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1532.     SUBTRACT 100.0 FROM ACCT-BALANCE (ACCT-INDEX).
  1533.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(23).
  1534.  
  1535.     MOVE "ACCT05" TO TEMP-ACCT-IN.
  1536.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(24).
  1537.     MOVE "02/28/2006"  TO TRANS-DATE(24).
  1538.     MOVE 2             TO TRANS-TYPE(24).
  1539.     MOVE 100.0         TO TRANS-AMOUNT(24).
  1540.     MOVE "CHECK 1002"  TO TRANS-DESC(24).
  1541.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1542.     SUBTRACT 100.0 FROM ACCT-BALANCE (ACCT-INDEX).
  1543.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(24).
  1544.  
  1545.     MOVE "ACCT05" TO TEMP-ACCT-IN.
  1546.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(25).
  1547.     MOVE "03/27/2006"  TO TRANS-DATE(25).
  1548.     MOVE 1             TO TRANS-TYPE(25).
  1549.     MOVE 200.0         TO TRANS-AMOUNT(25).
  1550.     MOVE "CASH DEPOSIT" TO TRANS-DESC(25).
  1551.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1552.     ADD 200.0 TO ACCT-BALANCE (ACCT-INDEX).
  1553.     MOVE ACCT-BALANCE (ACCT-INDEX) TO TRANS-ACCT-BALANCE(25).
  1554.  
  1555.     MOVE 26 TO TEMP-NUM.
  1556.     MOVE 0 TO CURR-DAY-NUM.
  1557.     MOVE "04" TO CURR-MONTH.
  1558.     MOVE "2006" TO CURR-YEAR.
  1559.     MOVE "ACCT05" TO TEMP-ACCT-IN.
  1560.  
  1561.  ACCT05-NEXT-TRANS.
  1562.     MOVE TEMP-ACCT-IN    TO TRANS-ACCT-NUM(TEMP-NUM).
  1563.  
  1564.     ADD 1 TO CURR-DAY-NUM.
  1565.     MOVE CURR-DAY-NUM   TO CURR-DAY.
  1566.     STRING  CURR-MONTH DELIMITED BY SIZE, "/",
  1567.             CURR-DAY DELIMITED BY SIZE, "/",
  1568.             CURR-YEAR DELIMITED BY SIZE INTO CURR-DATE.
  1569.     MOVE CURR-DATE TO TRANS-DATE(TEMP-NUM).
  1570.  
  1571.     MOVE 2             TO TRANS-TYPE(TEMP-NUM).
  1572.     MOVE 100.0         TO TRANS-AMOUNT(TEMP-NUM).
  1573.     MOVE "ATM WITHDRAWAL" TO TRANS-DESC(TEMP-NUM).
  1574.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1575.     SUBTRACT 100.0 FROM ACCT-BALANCE (ACCT-INDEX).
  1576.     MOVE ACCT-BALANCE (ACCT-INDEX) TO
  1577.          TRANS-ACCT-BALANCE(TEMP-NUM).
  1578.     IF TEMP-NUM = 50
  1579.        MOVE 0 TO CURR-DAY-NUM
  1580.        MOVE "05" TO CURR-MONTH.
  1581.     IF TEMP-NUM < 70
  1582.        ADD 1 TO TEMP-NUM
  1583.        GO TO ACCT05-NEXT-TRANS.
  1584.   INIT-TABLES-EXIT.
  1585.  
  1586.  FIND-AVAIL-TRANS.
  1587.      MOVE 0 TO TRANS-INDEX.
  1588.  NEXT-TRANS.
  1589.      ADD 1 TO TRANS-INDEX.
  1590.      IF TRANS-INDEX > MAX-TRANSACTIONS
  1591.         MOVE -1 TO TRANS-INDEX
  1592.         GO TO FIND-AVAIL-TRANS-EXIT.
  1593.      IF TRANS-ACCT-NUM (TRANS-INDEX) = SPACES
  1594.         GO TO FIND-AVAIL-TRANS-EXIT.
  1595.      GO TO NEXT-TRANS.
  1596.  FIND-AVAIL-TRANS-EXIT.
  1597.  
  1598.  FIND-AVAIL-ACCT.
  1599.      MOVE 0 TO ACCT-INDEX.
  1600.  NEXT-ACCT.
  1601.      ADD 1 TO ACCT-INDEX.
  1602.      IF ACCT-INDEX > MAX-ACCOUNTS
  1603.         MOVE -1 TO ACCT-INDEX
  1604.         GO TO FIND-AVAIL-ACCT-EXIT.
  1605.      IF ACCT-NUMBER (ACCT-INDEX) = SPACES
  1606.         GO TO FIND-AVAIL-ACCT-EXIT.
  1607.      GO TO NEXT-ACCT.
  1608.  FIND-AVAIL-ACCT-EXIT.
  1609.  
  1610.  FIND-AVAIL-CUST.
  1611.      MOVE 0 TO CUST-INDEX.
  1612.  NEXT-CUST.
  1613.      ADD 1 TO CUST-INDEX.
  1614.      IF CUST-INDEX > MAX-CUSTOMERS
  1615.         MOVE -1 TO CUST-INDEX
  1616.         GO TO FIND-AVAIL-CUST-EXIT.
  1617.      IF CUST-NUMBER (CUST-INDEX) = SPACES
  1618.         GO TO FIND-AVAIL-CUST-EXIT.
  1619.      GO TO NEXT-CUST.
  1620.  FIND-AVAIL-CUST-EXIT.
  1621.  
  1622.  FIND-ACCT-LOOP.
  1623.      MOVE 0 TO ACCT-INDEX.
  1624.  NEXT-ACCOUNT.
  1625.      ADD 1 TO ACCT-INDEX.
  1626.      IF ACCT-INDEX > MAX-ACCOUNTS
  1627.         MOVE -1 TO ACCT-INDEX
  1628.         GO TO FIND-ACCT-LOOP-EXIT.
  1629.      IF TEMP-ACCT-IN = ACCT-NUMBER (ACCT-INDEX)
  1630.         GO TO FIND-ACCT-LOOP-EXIT.
  1631.      GO TO NEXT-ACCOUNT.
  1632.  FIND-ACCT-LOOP-EXIT.
  1633.  
  1634.  FIND-CUST-LOOP.
  1635.      MOVE 0 TO CUST-INDEX.
  1636.  NEXT-CUSTOMER.
  1637.      ADD 1 TO CUST-INDEX.
  1638.      IF CUST-INDEX > MAX-CUSTOMERS
  1639.         MOVE -1 TO CUST-INDEX
  1640.         GO TO FIND-CUST-LOOP-EXIT.
  1641.      IF CURR-CUST-USERNAME = CUST-USERNAME (CUST-INDEX)
  1642.         GO TO FIND-CUST-LOOP-EXIT.
  1643.      GO TO NEXT-CUSTOMER.
  1644.  FIND-CUST-LOOP-EXIT.
  1645.  
  1646.  FIND-CUST-BY-NUM.
  1647.      MOVE 0 TO CUST-INDEX.
  1648.  NEXT-CUSTOMER2.
  1649.      ADD 1 TO CUST-INDEX.
  1650.      IF CUST-INDEX > MAX-CUSTOMERS
  1651.         MOVE -1 TO CUST-INDEX
  1652.         GO TO FIND-CUST-BY-NUM-EXIT.
  1653.      IF TEMP-CUSTOMER-NUM = CUST-NUMBER (CUST-INDEX)
  1654.         GO TO FIND-CUST-BY-NUM-EXIT.
  1655.      GO TO NEXT-CUSTOMER2.
  1656.  FIND-CUST-BY-NUM-EXIT.
  1657.  
  1658. ****************************************************************
  1659.  CLEAR-LOGON-FORM.
  1660.     MOVE SPACES             TO LOGON-USERID-OUT.
  1661.     MOVE SPACES             TO LOGON-PASSWORD-OUT.
  1662.  CLEAR-LOGON-FORM-EXIT.
  1663.  
  1664. ****************************************************************
  1665.  CLEAR-ACCT-TASK-FORM.
  1666.     MOVE SPACES             TO ACCT-TASK-ERROR-OUT.
  1667.  CLEAR-ACCT-TASK-FORM-EXIT.
  1668.  
  1669. ****************************************************************
  1670.  SEND-LOGON-FORM.
  1671.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  1672.        FORMATTED-SIZE (LOGON-FORM).
  1673.     SEND COMS-OUT FROM LOGON-FORM WITH EGI.
  1674.     IF COMS-OUT-STATUS-VALUE NOT = 0
  1675.        AND COMS-OUT-STATUS-VALUE NOT = 97
  1676.        DISPLAY " COMS SEND ERROR STATUS = ",
  1677.        COMS-OUT-STATUS-VALUE.
  1678.  SEND-LOGON-FORM-EXIT.
  1679. ****************************************************************
  1680.  SEND-ACCT-TASK-FORM.
  1681.     MOVE SPACES TO ACCT-TASK-ACTION-OUT.
  1682.     MOVE SPACES TO ACCT-TASK-CHOICE-OUT.
  1683.     MOVE SPACES TO ACCT-TASK-ERROR-OUT.
  1684.     IF ERROR-NUMBER = CREATED-NEW-ACCOUNT
  1685.        STRING "Created account ",
  1686.           CURR-ACCT-NUM-STR DELIMITED BY SIZE
  1687.           INTO ACCT-TASK-ERROR-OUT
  1688.     ELSE
  1689.     IF ERROR-NUMBER > 0
  1690.        MOVE ERRORS (ERROR-NUMBER) TO ACCT-TASK-ERROR-OUT.
  1691.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  1692.        FORMATTED-SIZE (ACCT-TASK-FORM).
  1693.     SEND COMS-OUT FROM ACCT-TASK-FORM WITH EGI.
  1694.     IF COMS-OUT-STATUS-VALUE NOT = 0
  1695.        AND COMS-OUT-STATUS-VALUE NOT = 97
  1696.        DISPLAY " COMS SEND ERROR STATUS = ",
  1697.        COMS-OUT-STATUS-VALUE.
  1698.  SEND-ACCT-TASK-FORM-EXIT.
  1699. ****************************************************************
  1700.  SEND-ACCT-LIST-FORM.
  1701.  
  1702. *     CLEAR THE FORM
  1703.      MOVE SPACES  TO ACCT-LIST-PRE1-OUT.
  1704.      MOVE SPACES  TO ACCT-LIST-ACCT1-OUT.
  1705.      MOVE SPACES  TO ACCT-LIST-PRE2-OUT.
  1706.      MOVE SPACES  TO ACCT-LIST-ACCT2-OUT.
  1707.      MOVE SPACES  TO ACCT-LIST-PRE3-OUT.
  1708.      MOVE SPACES  TO ACCT-LIST-ACCT3-OUT.
  1709.      MOVE SPACES  TO ACCT-LIST-PRE4-OUT.
  1710.      MOVE SPACES  TO ACCT-LIST-ACCT4-OUT.
  1711.      MOVE SPACES  TO ACCT-LIST-PRE5-OUT.
  1712.      MOVE SPACES  TO ACCT-LIST-ACCT5-OUT.
  1713.      MOVE SPACES  TO ACCT-LIST-PRE6-OUT.
  1714.      MOVE SPACES  TO ACCT-LIST-ACCT6-OUT.
  1715.  
  1716.      MOVE CURR-CUST-USERNAME TO ACCT-LIST-CUST-OUT.
  1717.      PERFORM FIND-CUST-LOOP THRU FIND-CUST-LOOP-EXIT.
  1718.      IF CUST-INDEX = -1
  1719. *        customer not found
  1720.         PERFORM SEND-ERROR-FORM THRU SEND-ERROR-FORM-EXIT
  1721.         GO TO SEND-ACCT-LIST-FORM-EXIT.
  1722.      MOVE CUST-NUMBER(CUST-INDEX) TO TEMP-CUSTOMER-NUM.
  1723.      MOVE 0 TO TEMP-NUM  CURR-NUM.
  1724.  GET-NEXT-ACCT.
  1725.      ADD 1 TO TEMP-NUM.
  1726.      IF TEMP-NUM > MAX-ACCOUNTS
  1727.         GO TO SEND-CUST-ACCTS.
  1728.      IF TEMP-CUSTOMER-NUM = ACCT-CUST-NUMBER (TEMP-NUM)
  1729.         ADD 1 TO CURR-NUM
  1730.         IF CURR-NUM = 1
  1731.            MOVE "1. " TO ACCT-LIST-PRE1-OUT
  1732.            STRING ACCT-NUMBER (TEMP-NUM) DELIMITED BY SIZE,
  1733.                   " - ",
  1734.                   ACCOUNT-TYPE-TBL (ACCT-TYPE (TEMP-NUM))
  1735.                   DELIMITED BY SIZE INTO ACCT-LIST-ACCT1-OUT
  1736.         ELSE
  1737.         IF CURR-NUM = 2
  1738.            MOVE "2. " TO ACCT-LIST-PRE2-OUT
  1739.            STRING ACCT-NUMBER (TEMP-NUM) DELIMITED BY SIZE,
  1740.                   " - ",
  1741.                   ACCOUNT-TYPE-TBL (ACCT-TYPE (TEMP-NUM))
  1742.                   DELIMITED BY SIZE INTO ACCT-LIST-ACCT2-OUT
  1743.         ELSE
  1744.         IF CURR-NUM = 3
  1745.            MOVE "3. " TO ACCT-LIST-PRE3-OUT
  1746.            STRING ACCT-NUMBER (TEMP-NUM) DELIMITED BY SIZE,
  1747.                   " - ",
  1748.                   ACCOUNT-TYPE-TBL (ACCT-TYPE (TEMP-NUM))
  1749.                   DELIMITED BY SIZE INTO ACCT-LIST-ACCT3-OUT
  1750.         ELSE
  1751.         IF CURR-NUM = 4
  1752.            MOVE "4. " TO ACCT-LIST-PRE4-OUT
  1753.            STRING ACCT-NUMBER (TEMP-NUM) DELIMITED BY SIZE,
  1754.                   " - ",
  1755.                   ACCOUNT-TYPE-TBL (ACCT-TYPE (TEMP-NUM))
  1756.                   DELIMITED BY SIZE INTO ACCT-LIST-ACCT4-OUT
  1757.         ELSE
  1758.         IF CURR-NUM = 5
  1759.            MOVE "5. " TO ACCT-LIST-PRE5-OUT
  1760.            STRING ACCT-NUMBER (TEMP-NUM) DELIMITED BY SIZE,
  1761.                   " - ",
  1762.                   ACCOUNT-TYPE-TBL (ACCT-TYPE (TEMP-NUM))
  1763.                   DELIMITED BY SIZE INTO ACCT-LIST-ACCT5-OUT
  1764.         ELSE
  1765.         IF CURR-NUM = 6
  1766.            MOVE "6. " TO ACCT-LIST-PRE6-OUT
  1767.            STRING ACCT-NUMBER (TEMP-NUM) DELIMITED BY SIZE,
  1768.                   " - ",
  1769.                   ACCOUNT-TYPE-TBL (ACCT-TYPE (TEMP-NUM))
  1770.                   DELIMITED BY SIZE INTO ACCT-LIST-ACCT6-OUT
  1771.         ELSE
  1772.            GO TO SEND-CUST-ACCTS.
  1773.      GO TO GET-NEXT-ACCT.
  1774.  
  1775.  SEND-CUST-ACCTS.
  1776.  
  1777.     MOVE " " TO ACCT-LIST-ACTION-OUT.
  1778.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  1779.        FORMATTED-SIZE (ACCT-LIST-FORM).
  1780.     SEND COMS-OUT FROM ACCT-LIST-FORM WITH EGI.
  1781.     IF COMS-OUT-STATUS-VALUE NOT = 0
  1782.        AND COMS-OUT-STATUS-VALUE NOT = 97
  1783.        DISPLAY " COMS SEND ERROR STATUS = ",
  1784.        COMS-OUT-STATUS-VALUE.
  1785.  SEND-ACCT-LIST-FORM-EXIT.
  1786. ****************************************************************
  1787.  SEND-ERROR-FORM.
  1788.     MOVE CURR-ACCT-NUM-STR TO ERROR-NUM-OUT.
  1789.     MOVE " " TO ERROR-XMIT-OUT.
  1790.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  1791.        FORMATTED-SIZE (ERROR-FORM).
  1792.     SEND COMS-OUT FROM ERROR-FORM WITH EGI.
  1793.     IF COMS-OUT-STATUS-VALUE NOT = 0
  1794.        AND COMS-OUT-STATUS-VALUE NOT = 97
  1795.        DISPLAY " COMS SEND ERROR STATUS = ",
  1796.        COMS-OUT-STATUS-VALUE.
  1797.  SEND-ERROR-FORM-EXIT.
  1798.  
  1799.  GET-CURR-DATE.
  1800.     MOVE FUNCTION CURRENT-DATE TO DATE01.
  1801.     STRING  CURR-MONTH DELIMITED BY SIZE, "/",
  1802.             CURR-DAY DELIMITED BY SIZE, "/",
  1803.             CURR-YEAR DELIMITED BY SIZE INTO CURR-DATE.
  1804.  GET-CURR-DATE-EXIT.
  1805.  
  1806.  PROCESS-LOGON.
  1807.     MOVE  FUNCTION UPPER-CASE (LOGON-USERID-IN)
  1808.       TO LOGON-USERID-IN.
  1809.     MOVE LOGON-USERID-IN  TO CURR-CUST-USERNAME.
  1810.     PERFORM SEND-ACCT-LIST-FORM THRU SEND-ACCT-LIST-FORM-EXIT.
  1811.  PROCESS-LOGON-EXIT.
  1812. ***************************************************************
  1813.  PROCESS-ACCT-CREATE.
  1814.     MOVE  FUNCTION UPPER-CASE (ACCT-CRE-ACTION-IN)
  1815.           TO ACCT-CRE-ACTION-IN.
  1816.     STRING  ACCT-CRE-ACTION-IN FOR 1 INTO CURR-ACTION.
  1817.     IF CURR-ACTION = "C"
  1818.        MOVE CANCEL-OPERATION TO ERROR-NUMBER
  1819.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
  1820.        GO TO PROCESS-ACCT-CREATE-EXIT
  1821.     ELSE
  1822.     IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
  1823.        MOVE INVALID-ACTION TO ERROR-NUMBER
  1824.        PERFORM SEND-ACCT-CRE-FORM THRU SEND-ACCT-CRE-FORM-EXIT
  1825.        GO TO PROCESS-ACCT-CREATE-EXIT.
  1826.  
  1827.     MOVE  FUNCTION UPPER-CASE (ACCT-CRE-CUST-IN)
  1828.           TO ACCT-CRE-CUST-IN.
  1829.     MOVE ACCT-CRE-CUST-IN  TO CURR-CUST-USERNAME.
  1830.     PERFORM FIND-CUST-LOOP THRU FIND-CUST-LOOP-EXIT.
  1831.     IF CUST-INDEX = -1 OR CURR-CUST-USERNAME = SPACES
  1832. *       customer not found
  1833.        MOVE INVALID-USER TO ERROR-NUMBER
  1834.        PERFORM SEND-ACCT-CRE-FORM THRU SEND-ACCT-CRE-FORM-EXIT
  1835.        GO TO PROCESS-ACCT-CREATE-EXIT.
  1836.  
  1837.     COMPUTE TEMP-NUM = FUNCTION NUMVAL (ACCT-CRE-TYPE-IN).
  1838.     IF TEMP-NUM < 1 OR TEMP-NUM > 4
  1839.        MOVE INVALID-ACCT-TYPE TO ERROR-NUMBER
  1840.        PERFORM SEND-ACCT-CRE-FORM THRU SEND-ACCT-CRE-FORM-EXIT
  1841.        GO TO PROCESS-ACCT-CREATE-EXIT.
  1842.  
  1843.     COMPUTE RATE = FUNCTION NUMVAL (ACCT-CRE-INT-RATE-IN).
  1844.     IF RATE < 0 OR RATE >= 1
  1845.        MOVE INVALID-INT-RATE TO ERROR-NUMBER
  1846.        PERFORM SEND-ACCT-CRE-FORM THRU SEND-ACCT-CRE-FORM-EXIT
  1847.        GO TO PROCESS-ACCT-CREATE-EXIT.
  1848.  
  1849.     MOVE FUNCTION UPPER-CASE (ACCT-CRE-EMAIL-IN)
  1850.          TO ACCT-CRE-EMAIL-IN.
  1851.     IF ACCT-CRE-EMAIL-IN NOT = "Y" AND
  1852.        ACCT-CRE-EMAIL-IN NOT = "N"
  1853.        MOVE INVALID-EMAIL    TO ERROR-NUMBER
  1854.        PERFORM SEND-ACCT-CRE-FORM THRU SEND-ACCT-CRE-FORM-EXIT
  1855.        GO TO PROCESS-ACCT-CREATE-EXIT.
  1856.  
  1857.     PERFORM FIND-AVAIL-ACCT THRU FIND-AVAIL-ACCT-EXIT.
  1858.     IF ACCT-INDEX = -1
  1859. *       account table full
  1860.        MOVE ACCT-TABLE-FULL TO ERROR-NUMBER
  1861.        PERFORM SEND-ACCT-CRE-FORM THRU SEND-ACCT-CRE-FORM-EXIT
  1862.        GO TO PROCESS-ACCT-CREATE-EXIT.
  1863.  
  1864.     MOVE  FUNCTION NUMVAL (ACCT-CRE-TYPE-IN) TO
  1865.              ACCT-TYPE (ACCT-INDEX).
  1866.     MOVE 0.0                 TO ACCT-BALANCE (ACCT-INDEX).
  1867.     PERFORM GET-CURR-DATE THRU GET-CURR-DATE-EXIT.
  1868.     MOVE CURR-DATE           TO ACCT-OPENED-DATE (ACCT-INDEX).
  1869.  
  1870.     MOVE RATE                TO ACCT-INT-RATE (ACCT-INDEX).
  1871.     MOVE ACCT-INDEX TO ACCT-SUFFIX-X.
  1872.     MOVE ACCT-SUFFIX-X TO  ACCT-SUFFIX-STR.
  1873.     STRING "ACCT", ACCT-SUFFIX-STR DELIMITED BY SIZE
  1874.                  INTO ACCT-NUMBER (ACCT-INDEX).
  1875.     MOVE CUST-NUMBER(CUST-INDEX) TO ACCT-CUST-NUMBER(ACCT-INDEX).
  1876.     IF ACCT-CRE-EMAIL-IN = "Y"
  1877.        MOVE 1 TO ACCT-EMAIL-STMT(ACCT-INDEX)
  1878.     ELSE
  1879.        MOVE 0 TO ACCT-EMAIL-STMT(ACCT-INDEX).
  1880.     MOVE ACCT-CRE-DESC-IN           TO ACCT-DESC (ACCT-INDEX).
  1881.     MOVE CREATED-NEW-ACCOUNT TO ERROR-NUMBER.
  1882.     MOVE ACCT-NUMBER(ACCT-INDEX) TO CURR-ACCT-NUM-STR.
  1883.  
  1884.     PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
  1885.  PROCESS-ACCT-CREATE-EXIT.
  1886. ****************************************************************
  1887.  PROCESS-ACCT-LIST.
  1888. *    DISPLAY "= ACCT-LIST = " ACCT-LIST-ACTION-IN.
  1889.     IF ACCT-LIST-ACTION-IN = "1"
  1890.        STRING  ACCT-LIST-ACCT1-IN FOR 6 INTO CURR-ACCT-NUM-STR
  1891.     ELSE
  1892.     IF ACCT-LIST-ACTION-IN = "2"
  1893.        STRING  ACCT-LIST-ACCT2-IN FOR 6 INTO CURR-ACCT-NUM-STR
  1894.     ELSE
  1895.     IF ACCT-LIST-ACTION-IN = "3"
  1896.        STRING  ACCT-LIST-ACCT3-IN FOR 6 INTO CURR-ACCT-NUM-STR
  1897.     ELSE
  1898.     IF ACCT-LIST-ACTION-IN = "4"
  1899.        STRING  ACCT-LIST-ACCT4-IN FOR 6 INTO CURR-ACCT-NUM-STR
  1900.     ELSE
  1901.     IF ACCT-LIST-ACTION-IN = "5"
  1902.        STRING  ACCT-LIST-ACCT5-IN FOR 6 INTO CURR-ACCT-NUM-STR
  1903.     ELSE
  1904.     IF ACCT-LIST-ACTION-IN = "6"
  1905.        STRING  ACCT-LIST-ACCT6-IN FOR 6 INTO CURR-ACCT-NUM-STR
  1906.     ELSE
  1907.        MOVE SPACES TO CURR-ACCT-NUM-STR.
  1908.  
  1909.     IF CURR-ACCT-NUM-STR = SPACES
  1910. *       not a valid selection, resend the account list form
  1911.        PERFORM SEND-ACCT-LIST-FORM THRU SEND-ACCT-LIST-FORM-EXIT
  1912.     ELSE
  1913.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
  1914.  PROCESS-ACCT-LIST-EXIT.
  1915. ****************************************************************
  1916.  PROCESS-ACCT-TASK.
  1917. *    DISPLAY "= ACCT-TASK = " ACCT-TASK-NUM-IN.
  1918.     MOVE  FUNCTION UPPER-CASE (ACCT-TASK-ACTION-IN)
  1919.           TO ACCT-TASK-ACTION-IN.
  1920.     STRING  ACCT-TASK-ACTION-IN FOR 1 INTO CURR-ACTION.
  1921.     IF CURR-ACTION = "Q"
  1922.        DISABLE INPUT TERMINAL COMS-IN KEY "NOCHECK"
  1923.        GO TO PROCESS-ACCT-TASK-EXIT.
  1924.  
  1925.     IF ACCT-TASK-CHOICE-IN = "1"
  1926.        PERFORM SEND-DEPOSIT-FORM THRU SEND-DEPOSIT-FORM-EXIT
  1927.     ELSE
  1928.     IF ACCT-TASK-CHOICE-IN = "2"
  1929.        PERFORM SEND-WITHDRAW-FORM THRU SEND-WITHDRAW-FORM-EXIT
  1930.     ELSE
  1931.     IF ACCT-TASK-CHOICE-IN = "3"
  1932.        PERFORM SEND-BALANCE-FORM THRU SEND-BALANCE-FORM-EXIT
  1933.     ELSE
  1934.     IF ACCT-TASK-CHOICE-IN = "4"
  1935.        PERFORM SEND-TR-DATE-FORM THRU SEND-TR-DATE-FORM-EXIT
  1936.     ELSE
  1937.     IF ACCT-TASK-CHOICE-IN = "5"
  1938.        PERFORM SEND-ACCTNUM-UPD-FORM THRU
  1939.                SEND-ACCTNUM-UPD-FORM-EXIT
  1940.     ELSE
  1941.     IF ACCT-TASK-CHOICE-IN = "6"
  1942.        PERFORM SEND-ACCT-CRE-FORM THRU
  1943.                SEND-ACCT-CRE-FORM-EXIT
  1944.     ELSE
  1945.     IF ACCT-TASK-CHOICE-IN = "7"
  1946.         PERFORM INIT-TABLES THRU INIT-TABLES-EXIT
  1947.         MOVE DEFAULT-ACCT TO CURR-ACCT-NUM-STR
  1948.         MOVE BANK-DATA-RESTORED TO ERROR-NUMBER
  1949.         PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
  1950.     ELSE
  1951.        MOVE INVALID-COMMAND TO ERROR-NUMBER
  1952.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
  1953.  PROCESS-ACCT-TASK-EXIT.
  1954. ****************************************************************
  1955.  PROCESS-DEPOSIT.
  1956.     MOVE  FUNCTION UPPER-CASE (DEPOSIT-ACTION-IN)
  1957.           TO DEPOSIT-ACTION-IN.
  1958.     MOVE  FUNCTION UPPER-CASE (DEPOSIT-ACCT-NUM-IN)
  1959.           TO DEPOSIT-ACCT-NUM-IN.
  1960.     STRING  DEPOSIT-ACTION-IN FOR 1 INTO CURR-ACTION.
  1961.     IF CURR-ACTION = "C"
  1962.        MOVE CANCEL-OPERATION TO ERROR-NUMBER
  1963.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
  1964.        GO TO PROCESS-DEPOSIT-EXIT
  1965.     ELSE
  1966.     IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
  1967.        MOVE INVALID-ACTION TO ERROR-NUMBER
  1968.        PERFORM SEND-DEPOSIT-FORM THRU SEND-DEPOSIT-FORM-EXIT
  1969.        GO TO PROCESS-DEPOSIT-EXIT.
  1970.  
  1971.     MOVE DEPOSIT-ACCT-NUM-IN   TO TEMP-ACCT-IN.
  1972.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  1973.     IF ACCT-INDEX = -1 OR TEMP-ACCT-IN = SPACES
  1974.        MOVE INVALID-ACCT-NUM TO ERROR-NUMBER
  1975.        PERFORM SEND-DEPOSIT-FORM THRU SEND-DEPOSIT-FORM-EXIT
  1976.        GO TO PROCESS-DEPOSIT-EXIT.
  1977.  
  1978.     PERFORM FIND-AVAIL-TRANS THRU FIND-AVAIL-TRANS-EXIT.
  1979.     IF TRANS-INDEX = -1
  1980.        MOVE TRANS-TABLE-FULL TO ERROR-NUMBER
  1981.        PERFORM SEND-DEPOSIT-FORM THRU SEND-DEPOSIT-FORM-EXIT
  1982.        GO TO PROCESS-DEPOSIT-EXIT.
  1983.  
  1984.     COMPUTE AMOUNT = FUNCTION NUMVAL (DEPOSIT-AMOUNT-IN).
  1985.     IF AMOUNT = 0
  1986.        MOVE INVALID-AMOUNT TO ERROR-NUMBER
  1987.        PERFORM SEND-DEPOSIT-FORM THRU SEND-DEPOSIT-FORM-EXIT
  1988.        GO TO PROCESS-DEPOSIT-EXIT.
  1989.     MOVE DEPOSIT-ACCT-NUM-IN  TO TRANS-ACCT-NUM (TRANS-INDEX).
  1990.     MOVE DEPOSIT-DESC-IN         TO TRANS-DESC (TRANS-INDEX).
  1991.     MOVE AMOUNT                  TO TRANS-AMOUNT (TRANS-INDEX).
  1992.     MOVE 1                       TO TRANS-TYPE (TRANS-INDEX).
  1993.     PERFORM GET-CURR-DATE THRU GET-CURR-DATE-EXIT.
  1994.     MOVE CURR-DATE TO TRANS-DATE (TRANS-INDEX).
  1995. *    UPDATE ACCOUNT BALANCE
  1996.     ADD AMOUNT    TO ACCT-BALANCE (ACCT-INDEX).
  1997.     MOVE ACCT-BALANCE(ACCT-INDEX) TO
  1998.        TRANS-ACCT-BALANCE(TRANS-INDEX).
  1999.  PROCESS-DEPOSIT-SEND-ACCT-TASK.
  2000.  
  2001.     PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
  2002.  PROCESS-DEPOSIT-EXIT.
  2003. ****************************************************************
  2004.  PROCESS-WITHDRAW.
  2005.     MOVE  FUNCTION UPPER-CASE (WITHDRAW-ACTION-IN)
  2006.           TO WITHDRAW-ACTION-IN.
  2007.     STRING  WITHDRAW-ACTION-IN FOR 1 INTO CURR-ACTION.
  2008.     IF CURR-ACTION = "C"
  2009.        MOVE CANCEL-OPERATION TO ERROR-NUMBER
  2010.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
  2011.        GO TO PROCESS-WITHDRAW-EXIT
  2012.     ELSE
  2013.     IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
  2014.        MOVE INVALID-ACTION TO ERROR-NUMBER
  2015.        PERFORM SEND-WITHDRAW-FORM THRU SEND-WITHDRAW-FORM-EXIT
  2016.        GO TO PROCESS-WITHDRAW-EXIT.
  2017.  
  2018.     MOVE  FUNCTION UPPER-CASE (WITHDRAW-ACCT-NUM-IN)
  2019.           TO WITHDRAW-ACCT-NUM-IN.
  2020.     MOVE WITHDRAW-ACCT-NUM-IN   TO TEMP-ACCT-IN.
  2021.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  2022.     IF ACCT-INDEX = -1 OR TEMP-ACCT-IN = SPACES
  2023.        MOVE INVALID-ACCT-NUM TO ERROR-NUMBER
  2024.        PERFORM SEND-WITHDRAW-FORM THRU SEND-WITHDRAW-FORM-EXIT
  2025.        GO TO PROCESS-WITHDRAW-EXIT.
  2026.     COMPUTE AMOUNT = FUNCTION NUMVAL (WITHDRAW-AMOUNT-IN).
  2027.     IF AMOUNT = 0
  2028.        MOVE INVALID-AMOUNT TO ERROR-NUMBER
  2029.        PERFORM SEND-WITHDRAW-FORM THRU SEND-WITHDRAW-FORM-EXIT
  2030.        GO TO PROCESS-WITHDRAW-EXIT.
  2031.     PERFORM FIND-AVAIL-TRANS THRU FIND-AVAIL-TRANS-EXIT.
  2032.     IF TRANS-INDEX = -1
  2033.        MOVE TRANS-TABLE-FULL TO ERROR-NUMBER
  2034.        PERFORM SEND-WITHDRAW-FORM THRU SEND-WITHDRAW-FORM-EXIT
  2035.        GO TO PROCESS-WITHDRAW-EXIT.
  2036.     MOVE WITHDRAW-ACCT-NUM-IN   TO TRANS-ACCT-NUM (TRANS-INDEX).
  2037.     MOVE WITHDRAW-DESC-IN       TO TRANS-DESC (TRANS-INDEX).
  2038.     MOVE AMOUNT                 TO TRANS-AMOUNT (TRANS-INDEX).
  2039.     MOVE 2                      TO TRANS-TYPE (TRANS-INDEX).
  2040.     PERFORM GET-CURR-DATE THRU GET-CURR-DATE-EXIT.
  2041.     MOVE CURR-DATE TO TRANS-DATE (TRANS-INDEX).
  2042. *    UPDATE ACCOUNT BALANCE
  2043.     SUBTRACT AMOUNT  FROM ACCT-BALANCE (ACCT-INDEX).
  2044.     MOVE ACCT-BALANCE(ACCT-INDEX) TO
  2045.        TRANS-ACCT-BALANCE(TRANS-INDEX).
  2046.  PROCESS-WITHDRAW-SEND-ACCTTASK.
  2047.     MOVE WITHDRAW-ACCT-NUM-IN TO CURR-ACCT-NUM-STR.
  2048.     PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
  2049.  PROCESS-WITHDRAW-EXIT.
  2050. ****************************************************************
  2051.  PROCESS-ACCT-BAL.
  2052.     MOVE  FUNCTION UPPER-CASE (BALANCE-ACTION-IN)
  2053.           TO BALANCE-ACTION-IN.
  2054.     STRING  BALANCE-ACTION-IN FOR 1 INTO CURR-ACTION.
  2055.     IF CURR-ACTION = "C"
  2056.        MOVE CANCEL-OPERATION TO ERROR-NUMBER
  2057.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
  2058.        GO TO PROCESS-ACCT-BAL-EXIT
  2059.     ELSE
  2060.     IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
  2061.        MOVE INVALID-ACTION TO ERROR-NUMBER
  2062.        PERFORM SEND-BALANCE-FORM THRU SEND-BALANCE-FORM-EXIT
  2063.        GO TO PROCESS-ACCT-BAL-EXIT.
  2064.  
  2065.     MOVE  FUNCTION UPPER-CASE (BALANCE-ACCT-NUM-IN)
  2066.           TO BALANCE-ACCT-NUM-IN.
  2067.     MOVE BALANCE-ACCT-NUM-IN   TO TEMP-ACCT-IN.
  2068.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  2069.     IF ACCT-INDEX = -1 OR TEMP-ACCT-IN = SPACES
  2070.        MOVE INVALID-ACCT-NUM TO ERROR-NUMBER
  2071.        PERFORM SEND-BALANCE-FORM THRU SEND-BALANCE-FORM-EXIT
  2072.        GO TO PROCESS-ACCT-BAL-EXIT.
  2073.  
  2074.     PERFORM SEND-SHOW-BAL-FORM THRU SEND-SHOW-BAL-FORM-EXIT.
  2075.  PROCESS-ACCT-BAL-EXIT.
  2076. ****************************************************************
  2077.  PROCESS-TR-DATE.
  2078. *   DISPLAY "= INSIDE TR-DATE = " TR-DATE-ACCT-NUM-IN " "
  2079. *   blank out the output records
  2080.     MOVE  FUNCTION UPPER-CASE (TR-DATE-ACTION-IN)
  2081.           TO TR-DATE-ACTION-IN.
  2082.     STRING  TR-DATE-ACTION-IN FOR 1 INTO CURR-ACTION.
  2083.     IF CURR-ACTION = "C"
  2084.        MOVE CANCEL-OPERATION TO ERROR-NUMBER
  2085.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
  2086.        GO TO PROCESS-TR-DATE-EXIT
  2087.     ELSE
  2088.     IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
  2089.        MOVE INVALID-ACTION TO ERROR-NUMBER
  2090.        PERFORM SEND-TR-DATE-FORM THRU SEND-TR-DATE-FORM-EXIT
  2091.        GO TO PROCESS-TR-DATE-EXIT.
  2092.  
  2093.     MOVE  FUNCTION UPPER-CASE (TR-DATE-ACCT-NUM-IN)
  2094.           TO TR-DATE-ACCT-NUM-IN.
  2095.     MOVE TR-DATE-ACCT-NUM-IN TO TEMP-ACCT-IN.
  2096.     MOVE TR-DATE-ACCT-NUM-IN TO SAVE-ACCT-IN.
  2097.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  2098.     IF ACCT-INDEX = -1 OR TEMP-ACCT-IN = SPACES
  2099.        MOVE INVALID-ACCT-NUM TO ERROR-NUMBER
  2100.        PERFORM SEND-TR-DATE-FORM THRU SEND-TR-DATE-FORM-EXIT
  2101.        GO TO PROCESS-TR-DATE-EXIT.
  2102.     MOVE 1 TO TEMP-INDEX.
  2103.     PERFORM 15 TIMES
  2104.        MOVE SPACES TO ACCT-ACT-OUT (TEMP-INDEX)
  2105.        ADD 1 TO TEMP-INDEX
  2106.     END-PERFORM.
  2107.     MOVE "HOME      " TO ACCT-ACT-ACTION-OUT.
  2108.     MOVE "    " TO ACCT-ACT-HELP-OUT.
  2109.     COMPUTE FROM-DATE =
  2110.           FUNCTION NUMVAL(TR-DATE-FROM-YEAR-IN) * 10000 +
  2111.           FUNCTION NUMVAL(TR-DATE-FROM-MONTH-IN) * 100 +
  2112.           FUNCTION NUMVAL(TR-DATE-FROM-DAY-IN).
  2113.     COMPUTE TO-DATE =
  2114.           FUNCTION NUMVAL(TR-DATE-TO-YEAR-IN) * 10000 +
  2115.           FUNCTION NUMVAL(TR-DATE-TO-MONTH-IN) * 100 +
  2116.           FUNCTION NUMVAL(TR-DATE-TO-DAY-IN).
  2117.     IF FROM-DATE > TO-DATE
  2118.        GO TO PROCESS-TR-DATE-SEND.
  2119.  
  2120.     MOVE 0 TO TEMP-NUM  CURR-NUM.
  2121.     PERFORM FILL-ACCT-LIST THRU FILL-ACCT-LIST-EXIT.
  2122.  
  2123.  PROCESS-TR-DATE-SEND.
  2124.     MOVE SPACES TO ACCT-ACT-ERROR-OUT.
  2125.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  2126.             FORMATTED-SIZE (ACCT-ACT-FORM).
  2127.     SEND COMS-OUT FROM ACCT-ACT-FORM WITH EGI.
  2128.     IF COMS-OUT-STATUS-VALUE NOT = 0
  2129.        AND COMS-OUT-STATUS-VALUE NOT = 97
  2130.        DISPLAY " COMS SEND ERROR STATUS = ",
  2131.        COMS-OUT-STATUS-VALUE.
  2132.  PROCESS-TR-DATE-EXIT.
  2133. ****************************************************************
  2134.  FILL-ACCT-LIST.
  2135.  
  2136.   GAH-NEXT-TRANS.
  2137.     ADD 1 TO TEMP-NUM.
  2138.     IF TEMP-NUM > MAX-TRANSACTIONS
  2139.        GO TO FILL-ACCT-LIST-EXIT.
  2140.     IF SAVE-ACCT-IN = TRANS-ACCT-NUM (TEMP-NUM)
  2141.        MOVE TRANS-DATE (TEMP-NUM) TO TEMP-TR-DATE
  2142.        COMPUTE TR-DATE =
  2143.           FUNCTION NUMVAL(TEMP-TR-DATE-YEAR) * 10000 +
  2144.           FUNCTION NUMVAL(TEMP-TR-DATE-MONTH) * 100 +
  2145.           FUNCTION NUMVAL(TEMP-TR-DATE-DAY)
  2146.        IF TR-DATE >= FROM-DATE AND
  2147.           TR-DATE <= TO-DATE
  2148.  
  2149.           ADD 1 TO CURR-NUM
  2150.           IF TRANS-TYPE (TEMP-NUM) = 1
  2151.              MOVE SPACES TO WITHDRAWAL-STR
  2152.              MOVE TRANS-AMOUNT (TEMP-NUM) TO DEPOSIT-X
  2153.              MOVE  DEPOSIT-X TO DEPOSIT-STR
  2154.              INSPECT DEPOSIT-STR REPLACING LEADING ZEROES
  2155.                 BY SPACES
  2156.           ELSE
  2157.              MOVE SPACES TO DEPOSIT-STR
  2158.              MOVE TRANS-AMOUNT (TEMP-NUM) TO WITHDRAWAL-X
  2159.              MOVE WITHDRAWAL-X TO WITHDRAWAL-STR
  2160.              INSPECT WITHDRAWAL-STR REPLACING LEADING ZEROES
  2161.                 BY SPACES
  2162.           END-IF
  2163.           IF TRANS-ACCT-BALANCE (TEMP-NUM) >= 0
  2164.              MOVE TRANS-ACCT-BALANCE (TEMP-NUM) TO BALANCE-X
  2165.              MOVE BALANCE-X TO BALANCE-STR
  2166.           ELSE
  2167.              MOVE TRANS-ACCT-BALANCE (TEMP-NUM) TO BALANCE-X2
  2168.              MOVE BALANCE-X2 TO BALANCE-STR
  2169.           END-IF
  2170.  
  2171.           INSPECT BALANCE-STR REPLACING LEADING ZEROES
  2172.               BY SPACES
  2173.  
  2174.           STRING TRANS-DATE (TEMP-NUM) DELIMITED BY SIZE, "  ",
  2175.                  TRANS-DESC (TEMP-NUM) FOR 17, "  ",
  2176.                  WITHDRAWAL-STR DELIMITED BY SIZE, "  ",
  2177.                  DEPOSIT-STR DELIMITED BY SIZE, "  ",
  2178.                  BALANCE-STR DELIMITED BY SIZE,
  2179.                  INTO ACCT-ACT-OUT (CURR-NUM)
  2180.           IF CURR-NUM = 15
  2181.              MOVE "NEXT      " TO ACCT-ACT-ACTION-OUT
  2182.              MOVE "Next" TO ACCT-ACT-HELP-OUT
  2183.              GO TO FILL-ACCT-LIST-EXIT
  2184.           END-IF
  2185.        END-IF
  2186.     END-IF.
  2187.     GO TO GAH-NEXT-TRANS.
  2188.  FILL-ACCT-LIST-EXIT.
  2189. ****************************************************************
  2190.  PROCESS-ACCT-ACTIVITY.
  2191.     MOVE  FUNCTION UPPER-CASE (ACCT-ACTIVITY-ACTION-IN )
  2192.           TO ACCT-ACTIVITY-ACTION-IN.
  2193.     STRING  ACCT-ACTIVITY-ACTION-IN  FOR 1 INTO CURR-ACTION.
  2194. ** IF CURR-ACTION NOT EQUAL TO NEXT COMMAND, SEND TASK MENU
  2195.     IF CURR-ACTION NOT = "N"
  2196.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
  2197.        GO TO PROCESS-ACCT-ACTIVITY-EXIT
  2198.     END-IF.
  2199.  
  2200. ** CURR-ACTION IS NEXT COMMAND
  2201.     MOVE 1 TO TEMP-INDEX.
  2202.     PERFORM 15 TIMES
  2203.        MOVE SPACES TO ACCT-ACT-OUT (TEMP-INDEX)
  2204.        ADD 1 TO TEMP-INDEX
  2205.     END-PERFORM.
  2206. ** TEMP-NUM ALREADY POINTS TO THE NEXT ACCT TO PROCESS
  2207.     MOVE "HOME      " TO ACCT-ACT-ACTION-OUT.
  2208.     MOVE "    " TO ACCT-ACT-HELP-OUT
  2209.     MOVE 0 TO CURR-NUM.
  2210.     PERFORM FILL-ACCT-LIST THRU FILL-ACCT-LIST-EXIT.
  2211.  
  2212.     MOVE SPACES TO ACCT-ACT-ERROR-OUT.
  2213.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  2214.             FORMATTED-SIZE (ACCT-ACT-FORM).
  2215.     SEND COMS-OUT FROM ACCT-ACT-FORM WITH EGI.
  2216.     IF COMS-OUT-STATUS-VALUE NOT = 0
  2217.        AND COMS-OUT-STATUS-VALUE NOT = 97
  2218.        DISPLAY " COMS SEND ERROR STATUS = ",
  2219.        COMS-OUT-STATUS-VALUE.
  2220.  PROCESS-ACCT-ACTIVITY-EXIT.
  2221. ****************************************************************
  2222.   PROCESS-ACCTNUM-UPD.
  2223. *    DISPLAY "= INSIDE PROCESS-ACCTNUM-UPDO = " ACCT-TASK-NUM-IN "
  2224.     MOVE  FUNCTION UPPER-CASE (ACCTNUM-UPD-ACTION-IN)
  2225.           TO ACCTNUM-UPD-ACTION-IN.
  2226.     STRING  ACCTNUM-UPD-ACTION-IN FOR 1 INTO CURR-ACTION.
  2227.     IF CURR-ACTION = "C"
  2228.        MOVE CANCEL-OPERATION TO ERROR-NUMBER
  2229.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
  2230.        GO TO PROCESS-ACCTNUM-UPD-EXIT
  2231.     ELSE
  2232.     IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
  2233.        MOVE INVALID-ACTION TO ERROR-NUMBER
  2234.        PERFORM SEND-ACCTNUM-UPD-FORM THRU
  2235.                SEND-ACCTNUM-UPD-FORM-EXIT
  2236.        GO TO PROCESS-ACCTNUM-UPD-EXIT.
  2237.  
  2238.     MOVE  FUNCTION UPPER-CASE (ACCTNUM-UPD-ACCT-NUM-IN)
  2239.           TO ACCTNUM-UPD-ACCT-NUM-IN.
  2240.     MOVE ACCTNUM-UPD-ACCT-NUM-IN TO TEMP-ACCT-IN.
  2241.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  2242.     IF ACCT-INDEX = -1 OR TEMP-ACCT-IN = SPACES
  2243.        MOVE INVALID-ACCT-NUM TO ERROR-NUMBER
  2244.        PERFORM SEND-ACCTNUM-UPD-FORM THRU
  2245.                SEND-ACCTNUM-UPD-FORM-EXIT
  2246.        GO TO PROCESS-ACCTNUM-UPD-EXIT.
  2247.  
  2248.     PERFORM SEND-ACCT-UPD-FORM THRU
  2249.             SEND-ACCT-UPD-FORM-EXIT.
  2250.   PROCESS-ACCTNUM-UPD-EXIT.
  2251. ****************************************************************
  2252.   PROCESS-ACCT-UPD.
  2253.     MOVE  FUNCTION UPPER-CASE (ACCT-UPD-ACTION-IN)
  2254.           TO ACCT-UPD-ACTION-IN.
  2255.     STRING  ACCT-UPD-ACTION-IN FOR 1 INTO CURR-ACTION.
  2256.     IF CURR-ACTION = "C"
  2257.        MOVE CANCEL-OPERATION TO ERROR-NUMBER
  2258.        PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT
  2259.        GO TO PROCESS-ACCT-UPD-EXIT
  2260.     ELSE
  2261.     IF CURR-ACTION NOT = " " AND CURR-ACTION NOT = "S"
  2262.        MOVE INVALID-ACTION TO ERROR-NUMBER
  2263.        PERFORM SEND-ACCT-UPD-FORM THRU SEND-ACCT-UPD-FORM-EXIT
  2264.        GO TO PROCESS-ACCT-UPD-EXIT.
  2265.  
  2266.     MOVE  FUNCTION UPPER-CASE (ACCT-UPD-ACCT-NUM-IN)
  2267.           TO ACCT-UPD-ACCT-NUM-IN.
  2268.     MOVE ACCT-UPD-ACCT-NUM-IN TO TEMP-ACCT-IN.
  2269.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  2270.     IF ACCT-INDEX = -1 OR TEMP-ACCT-IN = SPACES
  2271.        MOVE INVALID-ACCT-NUM TO ERROR-NUMBER
  2272.        PERFORM SEND-DEPOSIT-FORM THRU SEND-DEPOSIT-FORM-EXIT
  2273.        GO TO PROCESS-ACCT-UPD-EXIT.
  2274.  
  2275.     COMPUTE RATE = FUNCTION NUMVAL (ACCT-UPD-INT-RATE-IN).
  2276.     IF RATE < 0 OR RATE >= 1
  2277.        MOVE INVALID-INT-RATE TO ERROR-NUMBER
  2278.        PERFORM SEND-ACCT-UPD-FORM THRU SEND-ACCT-UPD-FORM-EXIT
  2279.        GO TO PROCESS-ACCT-UPD-EXIT.
  2280.  
  2281.     MOVE FUNCTION UPPER-CASE (ACCT-UPD-EMAIL-IN)
  2282.          TO ACCT-UPD-EMAIL-IN.
  2283.     IF ACCT-UPD-EMAIL-IN NOT = "Y" AND
  2284.        ACCT-UPD-EMAIL-IN NOT = "N"
  2285.        MOVE INVALID-EMAIL    TO ERROR-NUMBER
  2286.        PERFORM SEND-ACCT-UPD-FORM THRU SEND-ACCT-UPD-FORM-EXIT
  2287.        GO TO PROCESS-ACCT-UPD-EXIT.
  2288.  
  2289.     MOVE RATE                TO ACCT-INT-RATE (ACCT-INDEX).
  2290.     IF ACCT-UPD-EMAIL-IN = "Y"
  2291.        MOVE 1 TO ACCT-EMAIL-STMT(ACCT-INDEX)
  2292.     ELSE
  2293.        MOVE 0 TO ACCT-EMAIL-STMT(ACCT-INDEX).
  2294.     MOVE ACCT-UPD-DESC-IN           TO ACCT-DESC (ACCT-INDEX).
  2295.  
  2296.     PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
  2297.   PROCESS-ACCT-UPD-EXIT.
  2298. ****************************************************************
  2299.  PROCESS-ERROR.
  2300.     DISPLAY "= INSIDE ERROR = " ERROR-NUM-IN " ".
  2301.  
  2302.     MOVE ERROR-NUM-IN TO CURR-ACCT-NUM-STR.
  2303.     PERFORM SEND-ACCT-TASK-FORM THRU SEND-ACCT-TASK-FORM-EXIT.
  2304.  PROCESS-ERROR-EXIT.
  2305. ****************************************************************
  2306.  SEND-DEPOSIT-FORM.
  2307.     MOVE SPACES TO DEPOSIT-ACTION-OUT.
  2308.     MOVE SPACES TO DEPOSIT-ACCT-NUM-OUT.
  2309.     MOVE "0.00" TO DEPOSIT-AMOUNT-OUT.
  2310.     MOVE " " TO DEPOSIT-CASH-OUT.
  2311.     MOVE "Y" TO DEPOSIT-SEND-EMAIL-OUT.
  2312.     MOVE "1" TO DEPOSIT-SAVE-OPTION-OUT.
  2313.     MOVE SPACES TO DEPOSIT-DESC-OUT.
  2314.     MOVE SPACES TO DEPOSIT-ERROR-OUT.
  2315.     IF ERROR-NUMBER > 0
  2316.        MOVE ERRORS (ERROR-NUMBER) TO DEPOSIT-ERROR-OUT.
  2317.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  2318.        FORMATTED-SIZE (DEPOSIT-FORM).
  2319.     SEND COMS-OUT FROM DEPOSIT-FORM WITH EGI.
  2320.     IF COMS-OUT-STATUS-VALUE NOT = 0
  2321.        AND COMS-OUT-STATUS-VALUE NOT = 97
  2322.        DISPLAY " COMS SEND ERROR STATUS = ",
  2323.        COMS-OUT-STATUS-VALUE.
  2324.  SEND-DEPOSIT-FORM-EXIT.
  2325. ****************************************************************
  2326.  SEND-WITHDRAW-FORM.
  2327.     MOVE SPACES TO WITHDRAW-ACTION-OUT.
  2328.     MOVE SPACES TO WITHDRAW-ACCT-NUM-OUT.
  2329.     MOVE "0.00"  TO WITHDRAW-AMOUNT-OUT.
  2330.     MOVE SPACES TO WITHDRAW-DESC-OUT.
  2331.     MOVE SPACES TO WITHDRAW-ERROR-OUT.
  2332.     IF ERROR-NUMBER > 0
  2333.        MOVE ERRORS (ERROR-NUMBER) TO WITHDRAW-ERROR-OUT.
  2334.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  2335.        FORMATTED-SIZE (WITHDRAW-FORM).
  2336.     SEND COMS-OUT FROM WITHDRAW-FORM WITH EGI.
  2337.     IF COMS-OUT-STATUS-VALUE NOT = 0
  2338.        AND COMS-OUT-STATUS-VALUE NOT = 97
  2339.        DISPLAY " COMS SEND ERROR STATUS = ",
  2340.        COMS-OUT-STATUS-VALUE.
  2341.  SEND-WITHDRAW-FORM-EXIT.
  2342. ****************************************************************
  2343.  SEND-BALANCE-FORM.
  2344.     MOVE SPACES TO BAL-ACTION-OUT.
  2345.     MOVE SPACES TO BAL-ACCT-NUM-OUT.
  2346.     MOVE SPACES TO BAL-ERROR-OUT.
  2347.     IF ERROR-NUMBER > 0
  2348.        MOVE ERRORS (ERROR-NUMBER) TO BAL-ERROR-OUT.
  2349.  
  2350.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  2351.        FORMATTED-SIZE (BALANCE-FORM).
  2352.     SEND COMS-OUT FROM BALANCE-FORM WITH EGI.
  2353.     IF COMS-OUT-STATUS-VALUE NOT = 0
  2354.        AND COMS-OUT-STATUS-VALUE NOT = 97
  2355.        DISPLAY " COMS SEND ERROR STATUS = ",
  2356.        COMS-OUT-STATUS-VALUE.
  2357.  SEND-BALANCE-FORM-EXIT.
  2358. ****************************************************************
  2359.  SEND-SHOW-BAL-FORM.
  2360.     MOVE SPACES TO SHOW-BAL-ACTION-OUT.
  2361.     MOVE SPACES TO SHOW-BAL-ERROR-OUT.
  2362.     MOVE TEMP-ACCT-IN       TO SHOW-BAL-ACCT-NUM-OUT.
  2363.  
  2364. *    send balance without leading zeroes
  2365.     IF ACCT-BALANCE(ACCT-INDEX) >= 0
  2366.        MOVE ACCT-BALANCE(ACCT-INDEX)        TO BALANCE-X
  2367.        MOVE BALANCE-X TO SHOW-BAL-BALANCE-OUT
  2368.     ELSE
  2369.        MOVE ACCT-BALANCE(ACCT-INDEX)        TO BALANCE-X2
  2370.        MOVE BALANCE-X2 TO SHOW-BAL-BALANCE-OUT
  2371.     END-IF.
  2372.     MOVE 1 TO CHAR-COUNT.
  2373.     INSPECT SHOW-BAL-BALANCE-OUT TALLYING CHAR-COUNT
  2374.        FOR LEADING ZERO.
  2375.     MOVE SHOW-BAL-BALANCE-OUT (CHAR-COUNT: 16 - CHAR-COUNT) TO
  2376.          SHOW-BAL-BALANCE-OUT.
  2377.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  2378.        FORMATTED-SIZE (SHOW-BALANCE-FORM).
  2379.     SEND COMS-OUT FROM SHOW-BALANCE-FORM WITH EGI.
  2380.     IF COMS-OUT-STATUS-VALUE NOT = 0
  2381.        AND COMS-OUT-STATUS-VALUE NOT = 97
  2382.        DISPLAY " COMS SEND ERROR STATUS = ",
  2383.        COMS-OUT-STATUS-VALUE.
  2384.  SEND-SHOW-BAL-FORM-EXIT.
  2385. ****************************************************************
  2386.  SEND-TR-DATE-FORM.
  2387.     MOVE SPACES TO TR-DATE-ACTION-OUT.
  2388.     MOVE SPACES TO TR-DATE-ACCT-NUM-OUT.
  2389.     MOVE "01/01/2006" TO TR-DATE-FROM-OUT.
  2390.     PERFORM GET-CURR-DATE THRU GET-CURR-DATE-EXIT.
  2391.     MOVE CURR-DATE TO TR-DATE-TO-OUT.
  2392.     MOVE SPACES TO TR-DATE-ERROR-OUT.
  2393.     IF ERROR-NUMBER > 0
  2394.        MOVE ERRORS (ERROR-NUMBER) TO TR-DATE-ERROR-OUT.
  2395.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  2396.        FORMATTED-SIZE (TR-DATE-FORM).
  2397.     SEND COMS-OUT FROM TR-DATE-FORM WITH EGI.
  2398.     IF COMS-OUT-STATUS-VALUE NOT = 0
  2399.        AND COMS-OUT-STATUS-VALUE NOT = 97
  2400.        DISPLAY " COMS SEND ERROR STATUS = ",
  2401.        COMS-OUT-STATUS-VALUE.
  2402.  SEND-TR-DATE-FORM-EXIT.
  2403. ****************************************************************
  2404.  SEND-ACCTNUM-UPD-FORM.
  2405.     MOVE SPACES TO ACCTNUM-UPD-ACTION-OUT.
  2406.     MOVE SPACES TO ACCTNUM-UPD-ACCT-NUM-OUT.
  2407.     MOVE SPACES TO ACCTNUM-UPD-ERROR-OUT.
  2408.  
  2409.     IF ERROR-NUMBER > 0
  2410.        MOVE ERRORS (ERROR-NUMBER) TO ACCTNUM-UPD-ERROR-OUT.
  2411.  
  2412.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  2413.        FORMATTED-SIZE (ACCTNUM-UPD-FORM).
  2414.     SEND COMS-OUT FROM ACCTNUM-UPD-FORM WITH EGI.
  2415.     IF COMS-OUT-STATUS-VALUE NOT = 0
  2416.        AND COMS-OUT-STATUS-VALUE NOT = 97
  2417.        DISPLAY " COMS SEND ERROR STATUS = ",
  2418.        COMS-OUT-STATUS-VALUE.
  2419.  SEND-ACCTNUM-UPD-FORM-EXIT.
  2420.  
  2421. ****************************************************************
  2422.   SEND-ACCT-UPD-FORM.
  2423. *    DISPLAY "= INSIDE SEND-ACCT-UPDO = " ACCT-TASK-NUM-IN " "
  2424.     MOVE SPACES TO ACCT-UPD-ACTION-OUT.
  2425.     MOVE SPACES TO ACCT-UPD-ERROR-OUT.
  2426.     MOVE SPACES TO ACCT-UPD-USERNAME-OUT.
  2427.     IF ERROR-NUMBER > 0
  2428.        MOVE ERRORS (ERROR-NUMBER) TO ACCT-UPD-ERROR-OUT.
  2429.     MOVE ACCT-NUMBER(ACCT-INDEX)  TO ACCT-UPD-ACCT-NUM-OUT.
  2430. *    send User Name
  2431.     MOVE ACCT-CUST-NUMBER(ACCT-INDEX) TO TEMP-CUSTOMER-NUM .
  2432.     PERFORM FIND-CUST-BY-NUM THRU FIND-CUST-BY-NUM-EXIT.
  2433.     IF CUST-INDEX NOT = -1
  2434.        MOVE CUST-USERNAME(CUST-INDEX) TO ACCT-UPD-USERNAME-OUT.
  2435. *    send Account Type
  2436.     MOVE ACCOUNT-TYPE-TBL (ACCT-TYPE (ACCT-INDEX)) TO
  2437.          ACCT-UPD-TYPE-OUT.
  2438. *    send balance without leading zeroes
  2439.     IF ACCT-BALANCE(ACCT-INDEX) >= 0
  2440.        MOVE ACCT-BALANCE(ACCT-INDEX)        TO BALANCE-X
  2441.        MOVE BALANCE-X TO ACCT-UPD-BALANCE-OUT
  2442.     ELSE
  2443.        MOVE ACCT-BALANCE(ACCT-INDEX)        TO BALANCE-X2
  2444.        MOVE BALANCE-X2 TO ACCT-UPD-BALANCE-OUT
  2445.     END-IF.
  2446.     MOVE 1 TO CHAR-COUNT.
  2447.     INSPECT ACCT-UPD-BALANCE-OUT TALLYING CHAR-COUNT
  2448.        FOR LEADING ZERO.
  2449.     MOVE ACCT-UPD-BALANCE-OUT (CHAR-COUNT: 16 - CHAR-COUNT) TO
  2450.          ACCT-UPD-BALANCE-OUT.
  2451.  
  2452.     MOVE ACCT-OPENED-DATE(ACCT-INDEX) TO
  2453.        ACCT-UPD-OPENED-DATE-OUT.
  2454. *    send int rate without leading zeroes
  2455.     MOVE ACCT-INT-RATE(ACCT-INDEX)        TO RATE-X.
  2456.     MOVE RATE-X TO ACCT-UPD-INT-RATE-OUT.
  2457.     MOVE 1 TO CHAR-COUNT.
  2458.     INSPECT ACCT-UPD-INT-RATE-OUT TALLYING CHAR-COUNT
  2459.        FOR LEADING ZERO.
  2460.     MOVE ACCT-UPD-INT-RATE-OUT (CHAR-COUNT: 8 - CHAR-COUNT) TO
  2461.          ACCT-UPD-INT-RATE-OUT.
  2462.     IF ACCT-EMAIL-STMT(ACCT-INDEX) = "1"
  2463.        MOVE "Y" TO ACCT-UPD-EMAIL-STMT-OUT
  2464.     ELSE
  2465.        MOVE "N" TO ACCT-UPD-EMAIL-STMT-OUT.
  2466.     MOVE ACCT-DESC      (ACCT-INDEX)     TO ACCT-UPD-DESC-OUT.
  2467.  
  2468.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  2469.        FORMATTED-SIZE (ACCT-UPD-FORM).
  2470.     SEND COMS-OUT FROM ACCT-UPD-FORM.
  2471.   SEND-ACCT-UPD-FORM-EXIT.
  2472. ****************************************************************
  2473.  SEND-ACCT-CRE-FORM.
  2474.  
  2475.     MOVE SPACES TO ACCT-CRE-ACTION-OUT.
  2476.     MOVE SPACES TO ACCT-CRE-CUST-OUT.
  2477.     MOVE "1" TO ACCT-CRE-TYPE-OUT
  2478.     MOVE "0.00" TO ACCT-CRE-INT-RATE-OUT.
  2479.     MOVE "Y" TO ACCT-CRE-EMAIL-OUT
  2480.     MOVE SPACES TO ACCT-CRE-DESC-OUT
  2481.     MOVE SPACES TO ACCT-CRE-ERROR-OUT
  2482.  
  2483.     IF ERROR-NUMBER > 0
  2484.        MOVE ERRORS (ERROR-NUMBER) TO ACCT-CRE-ERROR-OUT.
  2485.  
  2486.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  2487.         FORMATTED-SIZE (ACCT-CRE-FORM)
  2488.     SEND COMS-OUT FROM ACCT-CRE-FORM WITH EGI
  2489.     IF COMS-OUT-STATUS-VALUE NOT = 0
  2490.        AND COMS-OUT-STATUS-VALUE NOT = 97
  2491.        DISPLAY " COMS SEND ERROR STATUS = ",
  2492.                COMS-OUT-STATUS-VALUE
  2493.     END-IF.
  2494.  SEND-ACCT-CRE-FORM-EXIT.
  2495. ****************************************************************
  2496.  
  2497.   HANDLE-ACCT-INFO.
  2498. *    DISPLAY "= INSIDE ACCT-INFO = " ACCT-TASK-NUM-IN " ".
  2499. * FIX     MOVE ACCT-TASK-NUM-IN TO TEMP-ACCT-IN.
  2500.     PERFORM FIND-ACCT-LOOP THRU FIND-ACCT-LOOP-EXIT.
  2501.     IF ACCT-INDEX = -1
  2502.        PERFORM SEND-ERROR-FORM THRU SEND-ERROR-FORM-EXIT
  2503.        GO TO HANDLE-ACCT-INFO-EXIT.
  2504.     MOVE ACCT-NUMBER(ACCT-INDEX)         TO ACCT-INFO-NUM-OUT.
  2505.     MOVE ACCOUNT-TYPE-TBL (ACCT-TYPE (ACCT-INDEX)) TO
  2506.          ACCT-INFO-TYPE-OUT.
  2507. *    send balance without leading zeroes
  2508.     IF ACCT-BALANCE(ACCT-INDEX) >= 0
  2509.        MOVE ACCT-BALANCE(ACCT-INDEX)        TO BALANCE-X
  2510.        MOVE BALANCE-X TO ACCT-INFO-BALANCE-OUT
  2511.     ELSE
  2512.        MOVE ACCT-BALANCE(ACCT-INDEX)        TO BALANCE-X2
  2513.        MOVE BALANCE-X2 TO ACCT-INFO-BALANCE-OUT
  2514.     END-IF.
  2515.     MOVE 1 TO CHAR-COUNT.
  2516.     INSPECT ACCT-INFO-BALANCE-OUT TALLYING CHAR-COUNT
  2517.        FOR LEADING ZERO.
  2518.     MOVE ACCT-INFO-BALANCE-OUT (CHAR-COUNT: 16 - CHAR-COUNT) TO
  2519.          ACCT-INFO-BALANCE-OUT.
  2520.  
  2521.     MOVE ACCT-OPENED-DATE(ACCT-INDEX) TO
  2522.        ACCT-INFO-OPENED-DATE-OUT.
  2523. *    send int rate without leading zeroes
  2524.     MOVE ACCT-INT-RATE(ACCT-INDEX)        TO RATE-X.
  2525.     MOVE RATE-X TO ACCT-INFO-INT-RATE-OUT.
  2526.     MOVE 1 TO CHAR-COUNT.
  2527.     INSPECT ACCT-INFO-INT-RATE-OUT TALLYING CHAR-COUNT
  2528.        FOR LEADING ZERO.
  2529.     MOVE ACCT-INFO-INT-RATE-OUT (CHAR-COUNT: 8 - CHAR-COUNT) TO
  2530.          ACCT-INFO-INT-RATE-OUT.
  2531.     IF ACCT-EMAIL-STMT(ACCT-INDEX) = "1"
  2532.        MOVE "Y" TO ACCT-INFO-EMAIL-STMT-OUT
  2533.     ELSE
  2534.        MOVE "N" TO ACCT-INFO-EMAIL-STMT-OUT.
  2535.     MOVE ACCT-DESC      (ACCT-INDEX)     TO ACCT-INFO-DESC-OUT.
  2536.     MOVE " " TO ACCT-INFO-XMIT-OUT.
  2537.  
  2538.     COMPUTE COMS-OUT-TEXT-LENGTH = FUNCTION
  2539.        FORMATTED-SIZE (ACCT-INFO-FORM).
  2540.     SEND COMS-OUT FROM ACCT-INFO-FORM.
  2541.   HANDLE-ACCT-INFO-EXIT.
  2542. ****************************************************************
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement