proiect cobol

Download Proiect Cobol

If you can't read please download the document

Upload: birsan-silviu

Post on 15-Jan-2016

217 views

Category:

Documents


0 download

DESCRIPTION

I_T

TRANSCRIPT

Code :000010 IDENTIFICATION DIVISION.000020 PROGRAM-ID. K1.000030000040 ENVIRONMENT DIVISION.000050 INPUT-OUTPUT SECTION.000060 FILE-CONTROL.000070 SELECT OPTIONAL LOGIN-TABLE1000080 ASSIGN TO "LL22"000090 ORGANIZATION IS INDEXED000100 RECORD KEY IS LPASSWD000110 ACCESS MODE IS DYNAMIC.000120000130 SELECT OPTIONAL MAIN-TABLE1000140 ASSIGN TO "MM22"000150 ORGANIZATION IS INDEXED000160 RECORD KEY IS PASSWD000170 ACCESS MODE IS DYNAMIC.000171000172 SELECT OPTIONAL MAIN3000173 ASSIGN TO "MAM22"000174 ORGANIZATION IS SEQUENTIAL.000175000178000179 SELECT PRINTFILE000182 ASSIGN TO PRINTER.000183000184 SELECT PRINT2FILE000185 ASSIGN TO PRINTER.000186000192000240 DATA DIVISION.000250 FILE SECTION.000260 FD LOGIN-TABLE1000270 LABEL RECORDS ARE STANDARD.000280 01 LOGIN-RECORDS.000290 05 LPASSWD PIC 9(4).000300 05 LNAME PIC X(10).000310 05 LAGE PIC XX.000320000330000340 FD MAIN-TABLE1000350 LABEL RECORDS ARE STANDARD.000360 01 MAIN-RECORDS.000370 05 PASSWD PIC 9(4).000380 05 TOTAL PIC S9(10)V99.000381000382 FD PRINTFILE000383 REPORT IS MY-ATM.000384000385000386 FD MAIN3000387 LABEL RECORDS ARE STANDARD.000388 01 M2-RECORDS.000389 05 M2-PASSWD PIC 9(4).000390 05 M2-DT PIC X(6).000391 05 M2-TIM PIC X(8).000392 05 M2-SAV PIC S9(10)V99.000393 05 M2-WITH PIC S9(10)V99.000394000395 05 M2-TOTAL PIC S9(10)V99.000396000397 FD PRINT2FILE000398 REPORT IS MY-ATM2.000399000400000401000402 WORKING-STORAGE SECTION.000403 01 SP-D PIC X(100) VALUE"**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&&&&~~~~~~~~~~~~~~~~~~~**".000404 01 AMT-S PIC S9999999V99.000405 01 MIN-BAL PIC 9999 VALUE 1000.000406 01 BAL-OK PIC 9 VALUE ZERO.000407 01 L-CHOICE PIC 9 VALUE ZERO.000408 01 SP3 PIC XXX VALUE " ".000409 01 SP6 PIC X(6) VALUE " ".000410 01 NA PIC XXXX VALUE "AJAY".000411 01 AG PIC X .000412 01 L PIC XXXX VALUE "2222".000413 01 PASS1 PIC 99999.000414 01 OK1 PIC X VALUE "Y".000415 01 OK2 PIC 9 VALUE ZERO.000416 01 I PIC 9 VALUE 1.000417 01 END-OF-FILE PIC X VALUE "N".000418 01 TEM-PASS PIC 9999.000419 01 TEM-NAME PIC X(10).000420 01 TEM-AGE PIC XX.000421 01 SURE PIC X.000422 01 REG-NAME PIC X(10).000423 01 REG-AGE PIC XX.000424 01 REG-PASS PIC 9999.000425 01 CHOICE PIC 9.000426 01 TEM-TOTAL PIC S9(10)V99.000427 01 REG-SAV PIC S9(10)V99.000428 01 AMT-W PIC S9999999V99.000429 01 NEW-TOTAL PIC S9(10)V99.000430 01 TOTAL-B PIC S9(10)V99.000431 01 TOTAL-BAL PIC Z(8)99.99.000432 01 NO-OF-PERSON PIC 99.000433 01 FLAG PIC 9.000434 01 DT PIC X(6).000435 01 TIM PIC X(8).000436000437 01 LES PIC 99.000438 01 STT PIC X(14).000439 01 PGNO PIC 99.000440 01 DDD PIC X.000441 01 T1-DATE PIC X(6).000442 01 T1-TIME PIC X(8).000443000444 01 STATE1 PIC X(9).000445 01 DATE11.000446 02 YY11 PIC XX.000447 02 MM11 PIC XX.000448 02 DD11 PIC XX.000449 01 TIME11.000450 02 HH11 PIC XX.000451 02 MO11 PIC XX.000452 02 FILLER PIC X(8).000453000454 01 DATE22.000455 02 DD22 PIC XX.000456 02 FILLER PIC X VALUE "/".000457 02 MM22 PIC XX.000458 02 FILLER PIC X VALUE "/".000459000460 02 YY22 PIC XX.000461000462 01 TIME22.000463 02 HH22 PIC XX.000464 02 FILLER PIC X VALUE ":".000465000466 02 MO22 PIC XX.000467000468000469000470000471 01 SHOW-BAL.000472 05 FILLER PIC X(4) VALUE " ".000473 05 AACC PIC X(74) VALUE " YOUR CURRENT ACCOUNT BALANCE ( inindian Rupees ) IS ".000474 05 D-TOTAL PIC Z(8)99.99.000475 01 THE.000476 05 YY PIC XX.000477 05 MM PIC XX.000478 05 DD PIC XX.000479 01 THE-D.000480* 05 FILLER PIC X(10) VALUE " DAY :".000481 05 DDP PIC XX.000482 05 FILLER PIC X(1) VALUE "/".000483 05 MMP PIC XX.000484 05 FILLER PIC X(1) VALUE "/".000485 05 YYP PIC XX.000486000487 01 DIS-REPORT.000488 05 FILLER PIC X(3) VALUE "***".000489* 05 FILLER PIC X(50) VALUE " ACCOUNT -REPORT".000490 05 FILLER PIC X(8) VALUE " ".000491 05 FILLER PIC X(8) VALUE "NAME : ".000492 05 DIS-NAME PIC X(10).000493 05 FILLER PIC X(10) VALUE " AGE : ".000494 05 DIS-AGE PIC XX.000495 05 FILLER PIC X(19) VALUE " ACC BALANCE : ".000496 05 DIS-TOT PIC Z(8)99.99.000497000498 01 TABB.000499 02 TAB OCCURS 20 TIMES INDEXED BY SI.000500 05 TPASSWD PIC 9(4).000501 05 TNAME PIC X(10).000502 05 TAGE PIC XX.000503000504 01 RR1-MAIN.000505 02 RR-MAIN OCCURS 20 TIMES INDEXED BY SII.000506 05 RRPASSWD PIC 9(4).000507 05 RRTOTAL PIC S9(10)V99.000508000509000510 REPORT SECTION.000511 RD MY-ATM000512 CONTROL ARE FINAL, LNAME000513 PAGE LIMIT IS 66000514 HEADING 2000515 FIRST DETAIL 12000516 LAST DETAIL 50000517 FOOTING 58.000518 01 TYPE IS PAGE HEADING.000519 02 LINE 2.000520 03 COLUMN 6 PIC X(76) VALUE ALL "#".000521 02 LINE 4.000522 03 COLUMN 36 PIC X(16) VALUE "ACCOUNT REPORT".000523 02 LINE 6.000524 03 COLUMN 6 PIC X(76) VALUE ALL "#".000525 02 LINE 9.000526 03 COLUMN 10 PIC X(10) VALUE "NAME ".000527 03 COLUMN 22 PIC X(4) VALUE "AGE".000528 03 COLUMN 30 PIC X(18) VALUE " ACCOUNT BALANCE".000529 03 COLUMN 50 PIC X(14) VALUE "BALANCE STATUS".000530000531 02 LINE 10.000532 03 COLUMN 10 PIC X(10) VALUE "---- ".000533 03 COLUMN 22 PIC X(4) VALUE "---".000534 03 COLUMN 30 PIC X(18) VALUE "----------------".000535 03 COLUMN 50 PIC X(14) VALUE "--------------".000536000537 01 DETAIL1 TYPE IS DETAIL .000538 02 LINE IS PLUS 1.000539 03 COLUMN 6 PIC Z9 SOURCE PGNO.000540000541 03 COLUMN 10 PIC X(10) SOURCE LNAME.000542 03 COLUMN 22 PIC X(2) SOURCE LAGE.000543 03 COLUMN 30 PIC X(4) VALUE "Rs. ".000544 03 COLUMN 34 PIC Z(8)99.99 SOURCE TOTAL.000545 03 COLUMN 55 PIC X(4) SOURCE STT.000546 01 TYPE IS CONTROL FOOTING LNAME NEXT GROUP PLUS 1.000547 02 LINE PLUS 1.000548 03 COLUMN 6 PIC X VALUE " ".000549 01 TYPE IS CONTROL FOOTING FINAL.000550 02 LINE IS 53.000551 03 COLUMN 6 PIC X(50) VALUE "TOTAL NO OF PERSONS HAVINGACCOUNT BALANCE LESS".000552 02 LINE IS 54.000553 03 COLUMN 6 PIC X(40) VALUE "MINIMUM ACCOUNT ( < Rs1000.00 ) ARE :".000554 03 COLUMN 64 PIC Z9 SOURCE LES.000555 02 LINE IS 55.000556000557 03 COLUMN 6 PIC X(26) VALUE "TOTAL NO . OF NAMES ARE ".000558 03 COLUMN 64 PIC Z9 SOURCE PGNO.000559 02 LINE IS 57.000560 03 COLUMN 6 PIC X(30) VALUE "TOTAL ACCOUNT BALANCE IS Rs. ".000561 03 COLUMN 64 PIC Z(8)99.99 SUM TOTAL.000562000563 01 TYPE IS PAGE FOOTING.000564 02 LINE IS 59.000565 03 COLUMN 6 PIC X(76) VALUE ALL "#".000566 02 LINE IS 60.000567 03 COLUMN 6 PIC X(18) VALUE "SANDEEP KR SINGH ".000568 03 COLUMN 64 PIC X(10) VALUE "PAGE NO. ".000569 03 COLUMN 76 PIC Z9 SOURCE PAGE-COUNTER.000570000571000572 RD MY-ATM2000573 CONTROL ARE FINAL, PGNO000574 PAGE LIMIT IS 66000575 HEADING 2000576 FIRST DETAIL 12000577 LAST DETAIL 50000578 FOOTING 58.000579 01 TYPE IS PAGE HEADING.000580 02 LINE 2.000581 03 COLUMN 10 PIC X(10) VALUE "NAME :".000582 03 COLUMN 22 PIC X(10) SOURCE TEM-NAME.000583 02 LINE 3.000584000585 03 COLUMN 10 PIC X(6) VALUE "AGE :".000586 03 COLUMN 22 PIC X(2) SOURCE TEM-AGE.000587 02 LINE 4.000588 03 COLUMN 10 PIC X(10) VALUE "DATE :".000589 03 COLUMN 22 PIC X(10) SOURCE THE-D.000590000591 02 LINE 5.000592 03 COLUMN 34 PIC X(28) VALUE "STATEMENTS OF ACCOUNTS".000593 02 LINE 6.000594 03 COLUMN 6 PIC X(78) VALUE ALL "#".000595 02 LINE 8.000596 03 COLUMN 6 PIC X(4) VALUE "SLNO".000597 03 COLUMN 11 PIC X(8) VALUE " DATE ".000598 03 COLUMN 19 PIC X(5) VALUE " TIME".000599 03 COLUMN 25 PIC X(9) VALUE "STATEMENT".000600 03 COLUMN 35 PIC X(14) VALUE "DEPOSIT AMOUNT".000601 03 COLUMN 50 PIC X(14) VALUE "WITHDRAWL AMT".000602 03 COLUMN 65 PIC X(14) VALUE " NET-BALANCE".000603 02 LINE 9.000604 03 COLUMN 6 PIC X(78) VALUE ALL "#".000605000606000607 01 DETAIL2 TYPE IS DETAIL .000608 02 LINE IS PLUS 1.000609 03 COLUMN 6 PIC Z9 SOURCE PGNO.000610 03 COLUMN 11 PIC X(8) SOURCE DATE22.000611 03 COLUMN 20 PIC X(5) SOURCE TIME22.000612 03 COLUMN 26 PIC X(9) SOURCE STATE1.000613 03 COLUMN 35 PIC Z(8)99.99 SOURCE M2-SAV.000614 03 COLUMN 50 PIC Z(8)99.99 SOURCE M2-WITH.000615 03 COLUMN 65 PIC Z(8)99.99 SOURCE M2-TOTAL.000616000617 01 TYPE IS CONTROL FOOTING PGNO NEXT GROUP PLUS 1.000618 02 LINE PLUS 1.000619 03 COLUMN 6 PIC X VALUE " ".000620 01 TYPE IS CONTROL FOOTING FINAL.000621 02 LINE IS PLUS 2.000622 03 COLUMN 6 PIC X(30) VALUE "TOTAL ACCOUNT BALANCE IS Rs. ".000623 03 COLUMN 64 PIC Z(8)99.99 SOURCE M2-TOTAL.000624000625 01 TYPE IS PAGE FOOTING.000626 02 LINE IS 59.000627 03 COLUMN 6 PIC X(78) VALUE ALL "#".000628 02 LINE IS 60.000629 03 COLUMN 6 PIC X(18) VALUE "SANDEEP KR SINGH ".000630 03 COLUMN 64 PIC X(10) VALUE "PAGE NO. ".000631 03 COLUMN 76 PIC Z9 SOURCE PAGE-COUNTER.000632000633000634000635000636 PROCEDURE DIVISION.000637 MAIN-LOGIC SECTION.000638 PROGRAM-BEGIN.000639000640 ACCEPT THE FROM DATE.000641 MOVE YY TO YYP.000642 MOVE MM TO MMP.000643 MOVE DD TO DDP.000644000645 EXEC SQL CONNECT TO MYODBC2.000646 PERFORM OPENNING.000647000648 PERFORM WELLCOME.000649 PERFORM MAIN-PAGE.000650* PERFORM THE-CORE.000651000652 PERFORM THANKS.000653000654 PROGRAM-DONE.000655 STOP RUN.000656000657 OPENNING.000658000659 OPEN I-O LOGIN-TABLE1.000660 OPEN I-O MAIN-TABLE1.000661 OPEN OUTPUT PRINTFILE.000662000663000664 CLOSING.000665000666 CLOSE LOGIN-TABLE1.000667000668 CLOSE MAIN-TABLE1.000669 CLOSE PRINTFILE.000670000671000672 WELLCOME.000673* INITIALIZE. IST WELLCOME PAGE HERE. IT WILL ASK TO ENTER CHOSEPASSWORD000674* OR NEW USER. AND GET THE L-CHOICE. VALIDATION OF L-CHOICE.000675 MOVE SPACE TO SURE.000676 MOVE ZERO TO L-CHOICE.000677 DISPLAY SP3 .000678 DISPLAY SP-D.000679 DISPLAY SP3 SP6 "WELLCOME TO MY ATM".000680 DISPLAY SP-D.000681 DISPLAY SP3.000682 DISPLAY SP3 " CHOSE ANY ONE OPTION :".000683 DISPLAY SP3.000684 DISPLAY SP6 " 1 ENTER YOUR PASSWORD".000685 DISPLAY SP6 " 2 NEW USER".000686 DISPLAY SP3.000687 DISPLAY SP3 " 0 EXIT".000688 DISPLAY SP3.000689 DISPLAY SP3 " YOUR CHOICE IS : ".000690 ACCEPT L-CHOICE.000691 DISPLAY SP3.000692 DISPLAY SP3 " IS YOUR CHOICE CORRECT : ".000693 ACCEPT SURE.000694 IF L-CHOICE = ZERO000695 PERFORM THANKS.000696 IF L-CHOICE < 0 OR L-CHOICE > 2000697 DISPLAY " INVALID CHOICE ...TRY AGAIN"000698 PERFORM WELLCOME.000699 IF SURE = "N" OR SURE = "n" AND L-CHOICE NOT = ZERO000700 PERFORM WELLCOME.000701 PERFORM LOGIN.000702000703000704 LOGIN.000705* NEW USER--REGISTER. OLD--CHECK LOGIN. STOR INFO.000706000707 IF L-CHOICE = 1000708 PERFORM MAKE-TAB000709 PERFORM ASK-PASS000710 PERFORM CHECK-PASS.000711 IF L-CHOICE = 2000712 OPEN EXTEND MAIN3000713 MOVE SPACE TO DDD000714 PERFORM REGISTER UNTIL DDD = "N" OR DDD = "n"000715 CLOSE MAIN3000716 DISPLAY " THANK YOU ..YOU ARE REGISTERED. PROGRAM IS CLOSINGDOWN. RESTART IT."000717 PERFORM THANKS.000718000719000720000721 MAIN-PAGE.000722* SHOW MAIN PAGE. ACCEPT CHOICE.000723000724000725 MOVE ZERO TO CHOICE, L-CHOICE.000726 PERFORM LN 7 TIMES.000727 DISPLAY SP-D.000728 DISPLAY SP3 "WELLCOME " TEM-NAME.000729 DISPLAY SP3.000730 DISPLAY SP3.000731 DISPLAY SP6 " 1 AMOUNT SAVING".000732 DISPLAY SP6 " 2 AMOUNT WITHDRAW".000733 DISPLAY SP6 " 3 SHOW BALANCE".000734 DISPLAY SP6 " 4 GENERATE REPORT".000735 DISPLAY SP6 " 5 PRINT REPORT".000736 DISPLAY SP6 " 6 YOUR STATEMENTS OF ACCOUNT".000737 DISPLAY SP3.000738 DISPLAY SP6 " 7 EXIT".000739 DISPLAY SP6.000740 DISPLAY SP6.000741 DISPLAY SP-D.000742 DISPLAY SP3 " YOUR CHOICE IS : ".000743 ACCEPT CHOICE.000744 PERFORM CH-VALIDATION.000745000746 CH-VALIDATION.000747 IF CHOICE > 0 AND CHOICE < 8000748 DISPLAY " YOUR CHOICE " CHOICE " IS OK"000749 PERFORM THE-CORE000750 ELSE000751 DISPLAY " INVALID CHOICE. TRY AGAIN."000752 PERFORM MAIN-PAGE.000753000754000755000756000757000758 THE-CORE.000759* MAIN PROCESSING BODY.000760 IF CHOICE = 1 OR CHOICE = 2000761 PERFORM A-SAVING000762 PERFORM CALCULATION000763 PERFORM MAIN-PAGE.000764 IF CHOICE = 3000765 PERFORM A-BAL000766 DISPLAY SP3000767 DISPLAY " COLLECT YOUR MONEY (Enter any key to proceed..)."000768 ACCEPT AG000769 PERFORM MAIN-PAGE.000770 IF CHOICE = 4000771 PERFORM G-P-REPORT000772 DISPLAY " WANT TO GO BACK TO MAIN PAGE (ENTER ANY CHARACTER ). "000773 ACCEPT AG000774 PERFORM MAIN-PAGE.000775 IF CHOICE = 5000776 PERFORM PRINT000777 PERFORM MAIN-PAGE.000778 IF CHOICE = 6000779 PERFORM STATEMENT-OF-ACC000780 PERFORM MAIN-PAGE.000781 IF CHOICE = 7000782 PERFORM THANKS.000783000784000785 A-SAVING.000786000787 MOVE ZERO TO AMT-S.000788 MOVE "Y" TO SURE.000789 PERFORM LN 14 TIMES.000790 DISPLAY SP-D.000791 IF CHOICE = 1000792 DISPLAY SP3 "ENTER THE AMOUNT FOR SAVING IN YOUR ACCOUNT (0-999,999.99): ".000793 IF CHOICE = 2000794 DISPLAY SP3 "ENTER THE AMOUNT FOR WITHDRAWAL FROM YOUR ACCOUNT (0-999,999.99): ".000795000796 DISPLAY SP-D.000797 DISPLAY SP3 "(Enter zero to end)".000798 DISPLAY "Rs. ".000799 ACCEPT AMT-S.000800 DISPLAY SP3 " ARE YOU CORRECT ( Y OR N ) :".000801 ACCEPT SURE.000802 IF SURE = "N" OR SURE = "n"000803 PERFORM A-SAVING.000804 IF AMT-S = ZERO000805 PERFORM MAIN-PAGE.000806000807 PERFORM AMT-VAL.000808000809000810 AMT-VAL.000811 IF AMT-S < 1 OR AMT-S > 999999.99000812 DISPLAY SP3 "INVALID AMOUNT.. TRY AGAIN..."000813 PERFORM A-SAVING000814 ELSE000815 DISPLAY SP3 " YOUR TRANSACTION COMPLETED SUCCESSFULLY.".000816000817 CALCULATION.000818 OPEN EXTEND MAIN3.000819 MOVE ZERO TO PASSWD, TOTAL, M2-PASSWD, M2-SAV, M2-WITH,M2-TOTAL, T1-DATE, T1-TIME.000820 MOVE ZERO TO BAL-OK.000821 ACCEPT T1-DATE FROM DATE.000822 ACCEPT T1-TIME FROM TIME.000823 MOVE T1-DATE TO M2-DT.000824 MOVE T1-TIME TO M2-TIM.000825 MOVE TEM-PASS TO PASSWD, M2-PASSWD.000826 READ MAIN-TABLE1 RECORD INVALID KEY000827 DISPLAY SP3 " YOUR ACCOUNT NOT FOUND ..SORRY"000828 CLOSE MAIN3000829 PERFORM WELLCOME.000830 MOVE TOTAL TO TEM-TOTAL.000831 IF TEM-TOTAL < MIN-BAL000832 MOVE 1 TO BAL-OK.000833000834000835 IF CHOICE = 1000836 MOVE AMT-S TO M2-SAV000837 COMPUTE NEW-TOTAL = TEM-TOTAL + AMT-S.000838000839 IF CHOICE = 2 AND BAL-OK = ZERO000840 MOVE AMT-S TO M2-WITH000841 COMPUTE NEW-TOTAL = TEM-TOTAL - AMT-S.000842 IF CHOICE = 2 AND BAL-OK = 1000843 DISPLAY " LOW BALANCE. YOU CANNOT WITHDRAW UNLESS YOU HAVEMINIMUM BALANCE i.e." MIN-BAL000844 PERFORM MAIN-PAGE.000845000846 MOVE NEW-TOTAL TO TOTAL, M2-TOTAL.000847 MOVE TEM-PASS TO PASSWD, M2-PASSWD.000848 WRITE M2-RECORDS.000849 CLOSE MAIN3.000850 REWRITE MAIN-RECORDS.000851000852000853000854 A-BAL.000855000856 MOVE TEM-PASS TO PASSWD.000857 READ MAIN-TABLE1 RECORD INVALID KEY000858 DISPLAY " CANNOT FIND OUT THE BALANCE.."000859 PERFORM MAIN-PAGE.000860 MOVE TOTAL TO D-TOTAL.000861 DISPLAY SP3.000862000863 DISPLAY SP-D.000864 DISPLAY SP-D.000865000866 DISPLAY SP3.000867 DISPLAY SP3 " TODAYS DATE IS :" THE-D.000868 DISPLAY SP3.000869 DISPLAY SP3 " YOUR INFORMATION :".000870 DISPLAY SP3.000871 DISPLAY SP3 " NAME : " TEM-NAME.000872 DISPLAY SP3.000873 DISPLAY SP3 " AGE : " TEM-AGE.000874 DISPLAY SP3.000875 DISPLAY SHOW-BAL .000876 DISPLAY SP-D.000877 DISPLAY SP-D.000878000879 IF TOTAL < 1000000880 DISPLAY " YOUR BALANCE IS LESS THAN MINIMUM BALANCE.. youcannot withdraw any more... "000881 DISPLAY " TO GO BACK TO MAIN PAGE ENTER ANY CHARACTER . "000882 ACCEPT AG000883 PERFORM MAIN-PAGE.000884000885000886000887 G-P-REPORT.000888000889 MOVE "N" TO END-OF-FILE.000890 MOVE ZERO TO NO-OF-PERSON, FLAG, TOTAL-BAL.000891 MOVE 1 TO I.000892 SET SII TO 1.000893 PERFORM G-P-R UNTIL END-OF-FILE = "Y".000894 SET SII TO 1.000895 MOVE TOTAL-B TO TOTAL-BAL.000896 PERFORM G-P-R-1 UNTIL FLAG = 1.000897 MOVE "N" TO END-OF-FILE.000898 PERFORM CLOSING.000899 PERFORM OPENNING.000900 DISPLAY SP3.000901 DISPLAY " ##### ACCOUNT - REPORT ##### ".000902 DISPLAY SP3.000903 DISPLAY SP3 " TODAYS DATE IS :" THE-D.000904000905 PERFORM G-P-R-2 UNTIL END-OF-FILE = "Y".000906 DISPLAY SP3.000907000908 G-P-R-1.000909 SEARCH RR-MAIN000910 AT END MOVE 1 TO FLAG000911 WHEN RRTOTAL (SII) < 1000.00 AND RRTOTAL (SII) > 0000912 ADD 1 TO NO-OF-PERSON000913 SET SII UP BY 1.000914000915000916 G-P-R.000917000918 READ MAIN-TABLE1 NEXT RECORD000919 AT END000920 MOVE "Y" TO END-OF-FILE.000921 IF END-OF-FILE NOT = "Y"000922 MOVE PASSWD TO RRPASSWD (SII)000923 MOVE TOTAL TO RRTOTAL (SII)000924 ADD TOTAL TO TOTAL-B.000925 IF END-OF-FILE NOT = "Y" AND SII < 20000926 SET SII UP BY 1.000927000928 G-P-R-2.000929* PERFORM CLOSING.000930 MOVE SPACE TO LOGIN-RECORDS, MAIN-RECORDS.000931* PERFORM OPENNING.000932 READ MAIN-TABLE1 NEXT RECORD AT END MOVE "Y" TO END-OF-FILE.000933 IF END-OF-FILE NOT = "Y"000934 MOVE PASSWD TO LPASSWD000935 MOVE TOTAL TO DIS-TOT.000936000937 READ LOGIN-TABLE1 RECORD INVALID KEY GO TO JUST-GO.000938 MOVE LNAME TO DIS-NAME.000939 MOVE LAGE TO DIS-AGE.000940 IF CHOICE = 4000941 DISPLAY SP-D000942 DISPLAY DIS-REPORT000943 DISPLAY SP3000944 DISPLAY SP-D000945 DISPLAY SP3.000946000947 JUST-GO.000948 DISPLAY SP3.000949 DISPLAY " TOTAL ACCOUNT BALANCE IS : " TOTAL-BAL.000950000951 DISPLAY "TOTAL NUMBER OF PERSONS BELOW THE MINIMUM BALANCE ARE: " NO-OF-PERSON.000952 DISPLAY SP3.000953 DISPLAY " WANT TO GO BACK TO MAIN PAGE (ENTER ANY CHARACTER ).".000954 ACCEPT AG.000955 PERFORM MAIN-PAGE.000956000957000958000959 THANKS.000960* GOOD BYE...000961 DISPLAY "THANKS FOR VISITING......GOOD BYE".000962 PERFORM CLOSING.000963 PERFORM PROGRAM-DONE.000964000965000966 ASK-PASS.000967 MOVE ZERO TO PASS1.000968 DISPLAY SP3 " ENTER YOUR PASSWORD (ONLY 4 DIGIT): ".000969 DISPLAY SP3 "ONLY FIRST 4 DIGIT WILL BE CONSIDERED".000970 ACCEPT PASS1.000971 DISPLAY SP3 " IS THE PASSWORD CORRECT ( Y OR N) ?".000972 DISPLAY SP3 " (TO EXIT ENTER 'E' ) ".000973000974 ACCEPT OK1.000975 IF ( OK1 = "N" OR OK1 = "n" ) OR ( PASS1 > 9999 OR PASS1 < 0 )000976 PERFORM ASK-PASS000977 PERFORM MAKE-TAB.000978 IF OK1 = "E" OR OK1 = "e"000979 PERFORM THANKS.000980000981000982 MAKE-TAB.000983000984 MOVE "N" TO END-OF-FILE.000985 SET SI TO 1.000986 PERFORM MAKE1 UNTIL END-OF-FILE = "Y".000987000988 MAKE1.000989000990 READ LOGIN-TABLE1 NEXT RECORD000991 AT END000992 MOVE "Y" TO END-OF-FILE.000993 IF END-OF-FILE NOT = "Y"000994 MOVE LPASSWD TO TPASSWD (SI)000995 MOVE LNAME TO TNAME (SI)000996 MOVE LAGE TO TAGE (SI).000997 IF END-OF-FILE NOT = "Y" AND SI < 20000998 SET SI UP BY 1.000999001000001001 CHECK-PASS.001002001003 MOVE ZERO TO OK2.001004 SET SI TO 1.001005 SEARCH TAB001006 AT END MOVE 1 TO OK2001007 WHEN PASS1 = TPASSWD (SI)001008001009 DISPLAY " PASSWORD IS CORRECT . YOU ARE LOGGED IN."001010 MOVE TPASSWD (SI) TO TEM-PASS001011 MOVE TNAME (SI) TO TEM-NAME001012 MOVE TAGE (SI) TO TEM-AGE.001013001014001015 IF OK2 = 1001016 DISPLAY " INCORRECT PASSWORD . TRY AGAIN..."001017 PERFORM ASK-PASS.001018001019 REGISTER.001020 MOVE SPACE TO DDD.001021 MOVE ZERO TO M2-WITH.001022 PERFORM GET-FIELDS.001023 MOVE REG-PASS TO LPASSWD, M2-PASSWD.001024 MOVE REG-NAME TO LNAME.001025 MOVE REG-AGE TO LAGE.001026 WRITE LOGIN-RECORDS.001027 MOVE ZERO TO MAIN-RECORDS.001028 MOVE REG-PASS TO PASSWD.001029 MOVE REG-SAV TO TOTAL, M2-SAV, M2-TOTAL.001030 ACCEPT M2-DT FROM DATE.001031 ACCEPT M2-TIM FROM TIME.001032 WRITE M2-RECORDS.001033 WRITE MAIN-RECORDS.001034 DISPLAY " WANT TO DO MORE REGISTRATION : ( Y OR N )".001035 ACCEPT DDD.001036001037 GET-FIELDS.001038 MOVE SPACE TO SURE.001039 DISPLAY SP3 " ENTER YOUR NAME ( ONLY FIRST 10 CHARACTERS WILLBE ACCEPTED ): ".001040 ACCEPT REG-NAME.001041 DISPLAY SP3 " ENTER YOUR AGE (ONLY FIRST 2 -DIGIT WILL BEACCEPTED ): ".001042001043 ACCEPT REG-AGE.001044 DISPLAY SP3 " ENTER THE INITIAL AMOUNT TO BE DEPOSITED: ".001045 ACCEPT REG-SAV.001046001047 DISPLAY SP3 " ENTER YOUR PASSWORD ( 4 DIGIT ONLY ) ".001048 ACCEPT REG-PASS.001049 DISPLAY SP3 " ARE YOU SURE ( Y OR N ). TO EXIT ENTER 'E' :".001050 ACCEPT SURE.001051 IF SURE = "E" PERFORM THANKS.001052 IF REG-PASS < 0 OR REG-PASS > 9999001053 DISPLAY SP3 " INVALID PASSWORD... TRY AGAIN"001054 PERFORM GET-FIELDS.001055 IF SURE = "Y" OR SURE = "y"001056 PERFORM SRCH001057 ELSE001058 PERFORM GET-FIELDS.001059001060 SRCH.001061001062 MOVE ZERO TO OK2.001063 SET SI TO 1.001064 SEARCH TAB001065 AT END MOVE 1 TO OK2001066 WHEN REG-PASS = TPASSWD (SI)001067 DISPLAY " PASSWORD ALREADY EXIST . TRY AGAIN."001068 PERFORM GET-FIELDS.001069001070 LN.001071 DISPLAY SP3.001072001073 PRINT.001074001075 PERFORM CLOSING.001076 PERFORM OPENNING.001077 MOVE ZERO TO END-OF-FILE, LES, TOTAL.001078 MOVE 1 TO PGNO.001079 INITIATE MY-ATM.001080 PERFORM REP UNTIL END-OF-FILE = 1.001081 SUBTRACT 1 FROM PGNO.001082 TERMINATE MY-ATM.001083 DISPLAY " GO AND COLLECT THE REPORT. ENTER ANY KEY.....".001084001085 ACCEPT DDD.001086001087001088 REP.001089 READ LOGIN-TABLE1 NEXT RECORD AT END MOVE 1 TO END-OF-FILE.001090 READ MAIN-TABLE1 NEXT RECORD AT END MOVE 1 TO END-OF-FILE.001091001092 IF END-OF-FILE NOT = 1001093 PERFORM REP1.001094001095 REP1.001096001097 IF TOTAL < 1000.00 AND TOTAL > -1001098 MOVE "BAD" TO STT001099 ADD 1 TO LES001100 ELSE001101 MOVE "OK" TO STT.001102 GENERATE DETAIL1.001103001104 ADD 1 TO PGNO.001105001106001107 STATEMENT-OF-ACC.001108001109001110 OPEN I-O MAIN3.001111 OPEN OUTPUT PRINT2FILE.001112 MOVE ZERO TO END-OF-FILE, LES, TOTAL.001113 MOVE 1 TO PGNO.001114 INITIATE MY-ATM2.001115 PERFORM REP7 UNTIL END-OF-FILE = 1.001116 SUBTRACT 1 FROM PGNO.001117 TERMINATE MY-ATM2.001118 CLOSE MAIN3, PRINT2FILE.001119 DISPLAY " GO AND COLLECT THE REPORT. ENTER ANY KEY.....".001120001121 ACCEPT DDD.001122001123001124 REP7.001125* READ LOGIN-TABLE1 AT END MOVE 1 TO END-OF-FILE.001126 READ MAIN3 AT END MOVE 1 TO END-OF-FILE.001127 MOVE M2-DT TO DATE11.001128 MOVE M2-TIM TO TIME11.001129 MOVE YY11 TO YY22.001130 MOVE MM11 TO MM22.001131 MOVE DD11 TO DD22.001132 MOVE HH11 TO HH22.001133 MOVE MO11 TO MO22.001134 IF M2-SAV = ZERO001135 MOVE "withdrawn" TO STATE1.001136 IF M2-WITH = ZERO001137 MOVE "deposited" TO STATE1.001138 IF END-OF-FILE NOT = 1001139 PERFORM REP9.001140001141 REP9.001142001143 IF M2-PASSWD = TEM-PASS001144 GENERATE DETAIL2001145001146 ADD 1 TO PGNO.001147001148* PROCEDURE DIVISION.001149001150* PROGRAM-START.001151001152* OPEN I-O MAIN-TABLE1.001153* MOVE ZERO TO PASSWD, TOTAL.001154* MOVE SPACE TO LNAME, LAGE.001155* MOVE 4420 TO PASSWD.001156* MOVE 2000 TO TOTAL.001157* MOVE "SINGH" TO LNAME.001158* MOVE "21" TO LAGE.001159* WRITE MAIN-RECORDS.001160* READ MAIN-TABLE1 NEXT RECORD AT END DISPLAY " FINISH".001161* DISPLAY MAIN-RECORDS.001162* CLOSE MAIN-TABLE1.001163001164* PROGRAM-STOP.001165* STOP RUN.001166