Documente Academic
Documente Profesional
Documente Cultură
000010 IDENTIFICATION
DIVISION.
000020 PROGRAM-ID. K1.
000030
000040 ENVIRONMENT DIVISION.
000050 INPUT-OUTPUT SECTION.
000060 FILE-CONTROL.
000070
SELECT OPTIONAL
LOGIN-TABLE1
000080
ASSIGN TO "LL22"
000090
ORGANIZATION IS
INDEXED
000100
RECORD KEY IS
LPASSWD
000110
ACCESS MODE IS
DYNAMIC.
000120
000130
SELECT OPTIONAL
MAIN-TABLE1
000140
ASSIGN TO "MM22"
000150
ORGANIZATION IS
INDEXED
000160
PASSWD
RECORD KEY IS
000170
ACCESS MODE IS
DYNAMIC.
000171
000172
MAIN3
SELECT OPTIONAL
000173
ASSIGN TO "MAM22"
000174
ORGANIZATION IS
SEQUENTIAL.
000175
000178
000179
SELECT PRINTFILE
000182
ASSIGN TO PRINTER.
000183
000184
SELECT PRINT2FILE
000185
ASSIGN TO PRINTER.
000186
000192
000240 DATA DIVISION.
000250 FILE SECTION.
000260 FD LOGIN-TABLE1
000270
LABEL RECORDS ARE
STANDARD.
000280 01 LOGIN-RECORDS.
000290
000300
000310
000320
000330
000340 FD MAIN-TABLE1
000350
LABEL RECORDS ARE
STANDARD.
000360 01 MAIN-RECORDS.
000370
000380
05 TOTAL PIC
S9(10)V99.
000381
000382 FD PRINTFILE
000383
REPORT IS MY-ATM.
000384
000385
000386 FD MAIN3
000387
LABEL RECORDS ARE
STANDARD.
000388 01 M2-RECORDS.
000389
9(4).
05 M2-PASSWD PIC
000390
000391
000392
05 M2-SAV PIC
S9(10)V99.
000393
05 M2-WITH PIC
S9(10)V99.
000394
000395
05 M2-TOTAL PIC
S9(10)V99.
000396
000397 FD PRINT2FILE
000398
000399
000400
REPORT IS MY-ATM2.
000401
000402 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.
000447
000448
000449 01 TIME11.
000450
000451
000452
000453
000454 01 DATE22.
000455
000456
"/".
000457
000458
"/".
000459
000460
000461
000462 01 TIME22.
000463
000464
":".
000465
000466
000467
000468
000469
000470
000471 01 SHOW-BAL.
000472
05 FILLER PIC X(4)
VALUE " ".
000473
05 AACC PIC X(74)
VALUE " YOUR CURRENT
ACCOUNT BALANCE ( in
indian 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
000482
05 FILLER PIC X(1)
VALUE "/".
000483
000484
05 FILLER PIC X(1)
VALUE "/".
000485
000486
000487 01 DIS-REPORT.
000488
VALUE "***".
000489*
VALUE "
REPORT".
000490
VALUE "
000491
05 FILLER PIC X(8)
VALUE "NAME : ".
000492
X(10).
05 DIS-NAME PIC
000493
05 FILLER PIC X(10)
VALUE " AGE : ".
000494
000495
VALUE "
000496
05 DIS-TOT PIC
Z(8)99.99.
000497
000498 01 TABB.
000499
02 TAB OCCURS 20
TIMES INDEXED BY SI.
000500
9(4).
05 TPASSWD PIC
000501
X(10).
05 TNAME PIC
000502
000503
000504 01 RR1-MAIN.
000505
02 RR-MAIN OCCURS
20 TIMES INDEXED BY SII.
000506
9(4).
05 RRPASSWD PIC
000507
S9(10)V99.
05 RRTOTAL PIC
000508
000509
000513
PAGE LIMIT IS 66
000514
HEADING 2
000515
FIRST DETAIL 12
000516
LAST DETAIL 50
000517
FOOTING 58.
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".
000530
000531
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 "--------------".
000536
000537 01 DETAIL1 TYPE IS
DETAIL .
000538
02 LINE IS PLUS 1.
000539
03 COLUMN 6 PIC Z9
SOURCE PGNO.
000540
000541
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
000548
VALUE " ".
02 LINE PLUS 1.
03 COLUMN 6 PIC X
02 LINE IS 53.
000551
03 COLUMN 6 PIC
X(50) VALUE "TOTAL NO OF
PERSONS HAVING
ACCOUNT BALANCE LESS".
000552
02 LINE IS 54.
000553
03 COLUMN 6 PIC
X(40) VALUE "MINIMUM
ACCOUNT ( < Rs
02 LINE IS 55.
000556
000557
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.
000562
000563 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.
000570
000571
000572 RD MY-ATM2
000573
PGNO
000574
PAGE LIMIT IS 66
000575
HEADING 2
000576
FIRST DETAIL 12
000577
LAST DETAIL 50
000578
FOOTING 58.
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.
000584
000585
03 COLUMN 10 PIC
X(6) VALUE "AGE :".
000586
03 COLUMN 22 PIC
X(2) SOURCE TEM-AGE.
000587
000588
02 LINE 4.
03 COLUMN 10 PIC
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 "#".
000605
000606
000607 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.
000616
000617 01 TYPE IS CONTROL
FOOTING PGNO NEXT GROUP
PLUS 1.
000618
000619
VALUE " ".
02 LINE PLUS 1.
03 COLUMN 6 PIC X
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.
000624
000625 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
000641
MOVE YY TO YYP.
000642
MOVE MM TO MMP.
000643
MOVE DD TO DDP.
000644
000645
EXEC SQL CONNECT
TO MYODBC2.
000646
PERFORM OPENNING.
000647
000648
PERFORM WELLCOME.
000649
PERFORM MAIN-PAGE.
000650*
PERFORM THE-CORE.
000651
000652
PERFORM THANKS.
000653
000654 PROGRAM-DONE.
000655
STOP RUN.
000656
000657 OPENNING.
000658
000659
TABLE1.
000660
TABLE1.
000661
OPEN OUTPUT
PRINTFILE.
000662
000663
000664 CLOSING.
000665
000666
CLOSE LOGIN-TABLE1.
000667
000668
CLOSE MAIN-TABLE1.
000669
CLOSE PRINTFILE.
000670
000671
000672 WELLCOME.
000676
CHOICE.
MOVE ZERO TO L-
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
USER".
000686
DISPLAY SP3.
000687
EXIT".
000688
DISPLAY SP3.
NEW
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 = ZERO
000695
PERFORM THANKS.
000696
IF L-CHOICE < 0 OR LCHOICE > 2
000697
DISPLAY " INVALID
CHOICE ...TRY AGAIN"
000698
PERFORM WELLCOME.
000699
IF SURE = "N" OR
SURE = "n" AND L-CHOICE NOT =
ZERO
000700
PERFORM WELLCOME.
000701
PERFORM LOGIN.
000702
000703
000704 LOGIN.
000705* NEW USER--REGISTER.
OLD--CHECK LOGIN. STOR INFO.
000706
000707
IF L-CHOICE = 1
000708
PERFORM MAKE-TAB
000709
PERFORM ASK-PASS
000710
PASS.
PERFORM CHECK-
000711
IF L-CHOICE = 2
000712
000713
000714
PERFORM REGISTER
UNTIL DDD = "N" OR DDD = "n"
000715
CLOSE MAIN3
000716
DISPLAY " THANK
YOU ..YOU ARE REGISTERED.
PROGRAM IS CLOSING
DOWN. RESTART IT."
000717
000718
000719
000720
PERFORM THANKS.
000721 MAIN-PAGE.
000722* SHOW MAIN PAGE.
ACCEPT CHOICE.
000723
000724
000725
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
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
EXIT".
000739
DISPLAY SP6.
000740
DISPLAY SP6.
000741
DISPLAY SP-D.
000742
DISPLAY SP3 " YOUR
CHOICE IS : ".
000743
ACCEPT CHOICE.
000744
PERFORM CH-
VALIDATION.
000745
000746 CH-VALIDATION.
000747
IF CHOICE > 0 AND
CHOICE < 8
000748
DISPLAY " YOUR
CHOICE " CHOICE " IS OK"
000749
PERFORM THE-CORE
000750
ELSE
000751
DISPLAY " INVALID
CHOICE. TRY AGAIN."
000752
000753
000754
000755
000756
000757
PERFORM MAIN-PAGE.
000758 THE-CORE.
000759* MAIN PROCESSING
BODY.
000760
IF CHOICE = 1 OR
CHOICE = 2
000761
PERFORM A-SAVING
000762
PERFORM
CALCULATION
000763
PAGE.
000764
000765
PERFORM A-BAL
000766
DISPLAY SP3
000767
DISPLAY " COLLECT
YOUR MONEY (Enter any key to
proceed..).
"000768
000769
ACCEPT AG
PERFORM MAIN-
PAGE.
000770
000771
REPORT
IF CHOICE = 4
PERFORM G-P-
000772
DISPLAY " WANT TO
GO BACK TO MAIN PAGE (ENTER
ANY CHARACTER ). "
000773
ACCEPT AG
000774
PAGE.
PERFORM MAIN-
000775
IF CHOICE = 5
000776
PERFORM PRINT
000777
PAGE.
PERFORM MAIN-
000778
IF CHOICE = 6
000779
PERFORM
STATEMENT-OF-ACC
000780
PERFORM MAIN-
PAGE.
000781
000782
IF CHOICE = 7
PERFORM THANKS.
000783
000784
000785 A-SAVING.
000786
000787
000788
000789
TIMES.
PERFORM LN 14
000790
DISPLAY SP-D.
000791
IF CHOICE = 1
000792
DISPLAY SP3 "ENTER
THE AMOUNT FOR SAVING IN
YOUR ACCOUNT (0-999,999.99):
".
000793
IF CHOICE = 2
000794
DISPLAY SP3 "ENTER
THE AMOUNT FOR WITHDRAWAL
FROM YOUR ACCOUNT (0999,999.99): ".
000795
000796
DISPLAY SP-D.
000797
DISPLAY SP3 "(Enter
zero to end)".
000798
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 = ZERO
000805
PERFORM MAIN-PAGE.
000806
000807
PERFORM AMT-VAL.
000808
000809
000810 AMT-VAL.
000811
IF AMT-S < 1 OR AMT-S
> 999999.99
000812
DISPLAY SP3
"INVALID AMOUNT.. TRY
AGAIN..."
000813
SAVING
000814
PERFORM AELSE
000815
DISPLAY SP3 "
YOUR TRANSACTION COMPLETED
SUCCESSFULLY.".
000816
000817 CALCULATION.
000818
000819
MOVE ZERO TO
PASSWD, TOTAL, M2-PASSWD,
M2-SAV, M2-WITH,M2-TOTAL, T1DATE, T1-TIME.
000820
OK.
000821
ACCEPT T1-DATE
FROM DATE.
000822
TIME.
000823
DT.
000824
TIM.
000825
MOVE TEM-PASS TO
PASSWD, M2-PASSWD.
000826
READ MAIN-TABLE1
CLOSE MAIN3
000829
PERFORM WELLCOME.
000830
TOTAL.
000831
BAL
000832
MOVE 1 TO BAL-OK.
000833
000834
000835
000836
SAV
IF CHOICE = 1
MOVE AMT-S TO M2-
000837
COMPUTE NEWTOTAL = TEM-TOTAL + AMT-S.
000838
000839
IF CHOICE = 2 AND
BAL-OK = ZERO
000840
WITH
000841
COMPUTE NEWTOTAL = TEM-TOTAL - AMT-S.
000842
IF CHOICE = 2 AND
BAL-OK = 1
000843
DISPLAY " LOW
BALANCE. YOU CANNOT
WITHDRAW UNLESS YOU HAVE
MINIMUM BALANCE i.e." MIN-BAL
000844
PAGE.
PERFORM MAIN-
000845
000846
MOVE NEW-TOTAL TO
TOTAL, M2-TOTAL.
000847
MOVE TEM-PASS TO
PASSWD, M2-PASSWD.
000848
WRITE M2-RECORDS.
000849
CLOSE MAIN3.
000850
REWRITE MAINRECORDS.
000851
000852
000853
000854 A-BAL.
000855
000856
MOVE TEM-PASS TO
PASSWD.
000857
READ MAIN-TABLE1
RECORD INVALID KEY
000858
DISPLAY " CANNOT
FIND OUT THE BALANCE.."
000859
PERFORM MAIN-PAGE.
000860
TOTAL.
MOVE TOTAL TO D-
000861
DISPLAY SP3.
000862
000863
DISPLAY SP-D.
000864
DISPLAY SP-D.
000865
000866
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.
000878
000879
000880
DISPLAY " YOUR
BALANCE IS LESS THAN
MINIMUM BALANCE.. you
cannot withdraw any more... "
000881
DISPLAY " TO GO BACK
TO MAIN PAGE ENTER ANY
CHARACTER . "
000882
ACCEPT AG
000883
PERFORM MAIN-PAGE.
000884
000885
000886
000887 G-P-REPORT.
000888
000889
FILE.
000890
MOVE ZERO TO NOOF-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
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.
000904
000905
PERFORM G-P-R-2
UNTIL END-OF-FILE = "Y".
000906
DISPLAY SP3.
000907
000908 G-P-R-1.
000909
SEARCH RR-MAIN
000910
FLAG
AT END MOVE 1 TO
000911
WHEN RRTOTAL (SII) <
1000.00 AND RRTOTAL (SII) > 0
000912
PERSON
ADD 1 TO NO-OF-
000913
SET SII UP BY 1.
000914
000915
000916 G-P-R.
000917
000918
READ MAIN-TABLE1
NEXT RECORD
000919
AT END
000920
FILE.
000921
"Y"
IF END-OF-FILE NOT =
000922
MOVE PASSWD TO
RRPASSWD (SII)
000923
MOVE TOTAL TO
RRTOTAL (SII)
000924
B.
000925
IF END-OF-FILE NOT =
"Y" AND SII < 20
000926
SET SII UP BY 1.
000927
000928 G-P-R-2.
000929*
PERFORM CLOSING.
000930
MOVE SPACE TO
LOGIN-RECORDS, MAINRECORDS.
000931*
PERFORM OPENNING.
000932
READ MAIN-TABLE1
NEXT RECORD AT END MOVE "Y"
TO END-OF-FILE.
000933
"Y"
IF END-OF-FILE NOT =
000934
MOVE PASSWD TO
LPASSWD
000935
TOT.
000936
000937
READ LOGIN-TABLE1
RECORD INVALID KEY GO TO
JUST-GO.
000938
NAME.
000939
AGE.
000940
IF CHOICE = 4
000941
DISPLAY SP-D
000942
DISPLAY DIS-REPORT
000943
DISPLAY SP3
000944
DISPLAY SP-D
000945
DISPLAY SP3.
000946
000947 JUST-GO.
000948
DISPLAY SP3.
000949
DISPLAY " TOTAL
ACCOUNT BALANCE IS : " TOTALBAL.
000950
000951
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.
000956
000957
000958
000959 THANKS.
000960* GOOD BYE...
000961
DISPLAY "THANKS FOR
VISITING......GOOD BYE".
000962
PERFORM CLOSING.
000963
DONE.
PERFORM PROGRAM-
000964
000965
000966 ASK-PASS.
000967
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' ) ".
000973
000974
ACCEPT OK1.
000975
IF ( OK1 = "N" OR OK1
= "n" ) OR ( PASS1 > 9999 OR
PASS1 < 0 )
000976
PERFORM ASK-PASS
000977
TAB.
PERFORM MAKE-
000978
"e"
000979
PERFORM THANKS.
000980
000981
000982 MAKE-TAB.
000983
000984
FILE.
000985
SET SI TO 1.
000986
PERFORM MAKE1
UNTIL END-OF-FILE = "Y".
000987
000988 MAKE1.
000989
000990
READ LOGIN-TABLE1
NEXT RECORD
000991
AT END
000992
FILE.
000993
"Y"
IF END-OF-FILE NOT =
000994
MOVE LPASSWD TO
TPASSWD (SI)
000995
MOVE LNAME TO
TNAME (SI)
000996
(SI).
000997
IF END-OF-FILE NOT =
"Y" AND SI < 20
000998
SET SI UP BY 1.
000999
001000
001001 CHECK-PASS.
001002
001003
001004
SET SI TO 1.
001005
SEARCH TAB
001006
OK2
AT END MOVE 1 TO
001007
WHEN PASS1 =
TPASSWD (SI)
001008
001009
DISPLAY "
PASSWORD IS CORRECT . YOU
ARE LOGGED IN."
001010
MOVE TPASSWD (SI)
TO TEM-PASS
001011
MOVE TNAME (SI) TO
TEM-NAME
001012
TEM-AGE.
001013
001014
001015
IF OK2 = 1
001016
DISPLAY "
INCORRECT PASSWORD . TRY
AGAIN..."
001017
PERFORM ASK-PASS.
001018
001019 REGISTER.
001020
001021
WITH.
001022
PERFORM GET-FIELDS.
001023
MOVE REG-PASS TO
LPASSWD, M2-PASSWD.
001024
LNAME.
MOVE REG-NAME TO
001025
LAGE.
MOVE REG-AGE TO
001026
WRITE LOGINRECORDS.
001027
MOVE ZERO TO MAINRECORDS.
001028
MOVE REG-PASS TO
PASSWD.
001029
MOVE REG-SAV TO
TOTAL, M2-SAV, M2-TOTAL.
001030
DATE.
001031
TIME.
001032
WRITE M2-RECORDS.
001033
WRITE MAINRECORDS.
001034
DISPLAY " WANT TO
DO MORE REGISTRATION : ( Y OR
N )".
001035
ACCEPT DDD.
001036
001037 GET-FIELDS.
001038
001039
DISPLAY SP3 " ENTER
YOUR NAME ( ONLY FIRST 10
CHARACTERS
WILL
BE ACCEPTED ): ".
001040
ACCEPT REG-NAME.
001041
DISPLAY SP3 " ENTER
YOUR AGE (ONLY FIRST 2 -DIGIT
WILL BE
ACCEPTED ): ".
001042
001043
ACCEPT REG-AGE.
001044
DISPLAY SP3 " ENTER
THE INITIAL AMOUNT TO BE
DEPOSITED: ".
001045
001046
ACCEPT REG-SAV.
001047
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 > 9999
001053
DISPLAY SP3 "
INVALID PASSWORD... TRY
AGAIN"
001054
PERFORM GET-FIELDS.
001055
IF SURE = "Y" OR
SURE = "y"
001056
PERFORM SRCH
001057
ELSE
001058
PERFORM GET-FIELDS.
001059
001060 SRCH.
001061
001062
001063
SET SI TO 1.
001064
SEARCH TAB
001065
OK2
AT END MOVE 1 TO
001066
WHEN REG-PASS =
TPASSWD (SI)
001067
DISPLAY "
PASSWORD ALREADY EXIST . TRY
AGAIN."
001068
FIELDS.
001069
PERFORM GET-
001070 LN.
001071
DISPLAY SP3.
001072
001073 PRINT.
001074
001075
PERFORM CLOSING.
001076
PERFORM OPENNING.
001077
MOVE ZERO TO ENDOF-FILE, LES, TOTAL.
001078
MOVE 1 TO PGNO.
001079
INITIATE MY-ATM.
001080
PERFORM REP UNTIL
END-OF-FILE = 1.
001081
PGNO.
SUBTRACT 1 FROM
001082
TERMINATE MY-ATM.
001083
ACCEPT DDD.
001086
001087
001088 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.
001091
001092
1
IF END-OF-FILE NOT =
001093
PERFORM REP1.
001094
001095 REP1.
001096
001097
IF TOTAL < 1000.00
AND TOTAL > -1
001098
001099
ADD 1 TO LES
001100
ELSE
001101
001102
GENERATE DETAIL1.
001103
001104
ADD 1 TO PGNO.
001105
001106
001107 STATEMENT-OF-ACC.
001108
001109
001110
001111
OPEN OUTPUT
PRINT2FILE.
001112
MOVE ZERO TO ENDOF-FILE, LES, TOTAL.
001113
MOVE 1 TO PGNO.
001114
INITIATE MY-ATM2.
001115
PERFORM REP7 UNTIL
END-OF-FILE = 1.
001116
PGNO.
SUBTRACT 1 FROM
001117
TERMINATE MY-ATM2.
001118
CLOSE MAIN3,
PRINT2FILE.
001119
DISPLAY " GO AND
COLLECT THE REPORT. ENTER
ANY KEY.....".
001120
001121
ACCEPT DDD.
001122
001123
001124 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
DATE11.
MOVE M2-DT TO
001128
TIME11.
MOVE M2-TIM TO
001129
001130
MM22.
MOVE MM11 TO
001131
001132
001133
001134
IF M2-SAV = ZERO
001135
STATE1.
MOVE "withdrawn" TO
001136
IF M2-WITH = ZERO
001137
STATE1.
MOVE "deposited" TO
001138
1
IF END-OF-FILE NOT =
001139
PERFORM REP9.
001140
001141 REP9.
001142
001143
PASS
IF M2-PASSWD = TEM-
001144
GENERATE DETAIL2
001145
001146
ADD 1 TO PGNO.
001147
001148* PROCEDURE DIVISION.
001149
001150* PROGRAM-START.
001151
001152*
TABLE1.
001153*
MOVE ZERO TO
PASSWD, TOTAL.
001154*
MOVE SPACE TO
LNAME, LAGE.
001155*
PASSWD.
MOVE 4420 TO
001156*
TOTAL.
MOVE 2000 TO
001157*
LNAME.
MOVE "SINGH" TO
001158*
001159*
WRITE MAINRECORDS.
001160*
READ MAIN-TABLE1
NEXT RECORD AT END DISPLAY "
FINISH".
001161*
DISPLAY MAINRECORDS.
001162*
CLOSE MAIN-TABLE1.
001163
001164* PROGRAM-STOP.
001165*
001166
STOP RUN.