Você está na página 1de 4

000010******************************************************************00001009

000011**
IDENTIFICATION DIVISION
**00001109
000020******************************************************************00002009
000030
00003009
000100 ID DIVISION.
00010009
000200 PROGRAM-ID. E710RPTS.
00020001
000303
00030309
000310******************************************************************00031009
000311**
DATA DIVISION
**00031109
000320******************************************************************00032009
000330
00033009
000400 DATA DIVISION.
00040001
000410
00041009
000420******************************************************************00042009
000430**
WORKING-STORAGE SECTION
**00043009
000440******************************************************************00044009
000450
00045009
000500 WORKING-STORAGE SECTION.
00050001
000510
00051009
000520***
INCLUDE THE DCLGEN MEMBER
**00052009
000530
00053009
000600
EXEC SQL
00060001
000700
INCLUDE E710ACCT
00070001
000800
END-EXEC
00080001
000810
00081009
000900
EXEC SQL
00090001
001000
INCLUDE E710TRNS
00100001
001100
END-EXEC
00110001
001101
00110109
001102
EXEC SQL
00110204
001103
INCLUDE SQLCA
00110304
001104
END-EXEC
00110404
001105
00110509
001106**
VARIABLES USED IN THE PROGRAM
***00110609
001107
00110709
001110 01 WS-DATE
PIC X(10).
00111009
001111 01 WS-TEMP1
PIC 9(8)V9(2).
00111109
001112 01 WS-TEMP2
PIC 9(8)V9(2).
00111209
001120 01 WS-01-DEPOSIT
PIC Z(8).9(2).
00112009
001130 01 WS-01-WITHDRAW
PIC Z(8).9(2).
00113009
001140 01 WS-02-DEPOSIT
PIC Z(8).9(2).
00114009
001150 01 WS-02-WITHDRAW
PIC Z(8).9(2).
00115009
001160 01 WS-01-TOTAMT
PIC Z(8).9(2).
00116009
001170 01 WS-02-TOTAMT
PIC Z(8).9(2).
00117009
001180 01 WS-01-OPEN
PIC 9(8)V9(2).
00118009
001181 01 WS-01-ACT-TOT
PIC S9(2) COMP.
00118109
001190 01 WS-01-ACT-OPEN
PIC S9(2) COMP.
00119009
001191 01 WS-01-ACT-CLOSE
PIC S9(2) COMP.
00119109
001192 01 WS-02-ACT-OPEN
PIC S9(2) COMP.
00119209
001193 01 WS-02-ACT-CLOSE
PIC S9(2) COMP.
00119309
001194 01 WS-MAX-BAL
PIC Z(8).9(2).
00119409
001195 01 WS-MAX-ACCT
PIC X(5).
00119509
001196 01 WS-OPEN
PIC S9(2).
00119609
001197 01 WS-CLOSED
PIC S9(2).
00119709
001198 01 WS-M-W-BAL
PIC Z(8).9(2).
00119809
001199 01 WS-M-W-ACCT
PIC X(5).
00119909
001200 01 WS-M-D-BAL
PIC Z(8).9(2).
00120009
001201 01 WS-M-D-ACCT
PIC X(5).
00120109
001202
00120209
001203******************************************************************00120309

001204**
PROCEDURE DIVISION
**00120409
001205******************************************************************00120509
001206
00120609
001210 PROCEDURE DIVISION.
00121001
001300 A000-MAIN-PARA.
00130001
001301
00130109
001302**** TO GET THE CURRENT DATE FROM THE SYSTEM
****00130209
001303
00130309
001304
EXEC SQL
00130404
001305
SELECT CURRENT DATE INTO :WS-DATE FROM SYSIBM.SYSDUMMY1
00130504
001306
END-EXEC
00130604
001401
00140109
001402**** TOTAL AMOUNT DEPOSITED IN THE BANK TILL DATE
****00140209
001403
00140309
001404
EXEC SQL
00140404
001405
SELECT SUM(TRANSAMT) INTO :WS-T-TRANSAMT
00140504
001406
FROM TRANSACTION
00140604
001407
WHERE TRANSTYPE = 'D'
00140704
001408
END-EXEC
00140804
001409
00140909
001410
MOVE WS-T-TRANSAMT TO WS-TEMP1
00141006
001420
MOVE WS-T-TRANSAMT TO WS-01-DEPOSIT
00142004
001421
00142109
001434**** TOTAL AMOUNT WITHDRAWN FROM THE BANK TILL DATE
****00143409
001435
00143509
001436
EXEC SQL
00143604
001437
SELECT SUM(TRANSAMT) INTO :WS-T-TRANSAMT
00143704
001438
FROM TRANSACTION
00143804
001439
WHERE TRANSTYPE = 'W'
00143904
001440
END-EXEC
00144004
001441
00144109
001442
MOVE WS-T-TRANSAMT TO WS-TEMP2
00144206
001443
MOVE WS-T-TRANSAMT TO WS-01-WITHDRAW
00144304
001444
00144409
001445**** TO CALCULATE THE AMOUNT IN THE BANK TILL DATE
****00144509
001446
00144609
001447
SUBTRACT WS-TEMP2 FROM WS-TEMP1 GIVING WS-01-TOTAMT
00144706
001448
00144809
001449**** TOTAL AMOUNT DEPOSITED IN THE BANK ON CURRENT DATE
****00144909
001450
00145009
001451
EXEC SQL
00145104
001452
SELECT SUM(TRANSAMT) INTO :WS-T-TRANSAMT
00145204
001453
FROM TRANSACTION
00145304
001454
WHERE TRANSTYPE = 'D' AND TRANSDATE = :WS-DATE
00145405
001455
END-EXEC
00145504
001456
00145609
001457
MOVE WS-T-TRANSAMT TO WS-TEMP1
00145706
001458
MOVE WS-T-TRANSAMT TO WS-02-DEPOSIT
00145804
001459
00145909
001460**** TOTAL AMOUNT WITHDRAWN FROM THE BANK ON CURRENT DATE
****00146009
001461
00146109
001462
EXEC SQL
00146204
001463
SELECT SUM(TRANSAMT) INTO :WS-T-TRANSAMT
00146304
001464
FROM TRANSACTION
00146404
001465
WHERE TRANSTYPE = 'W' AND TRANSDATE = :WS-DATE
00146505
001466
END-EXEC
00146604
001467
00146709
001468
MOVE WS-T-TRANSAMT TO WS-TEMP2
00146806
001469
MOVE WS-T-TRANSAMT TO WS-02-WITHDRAW
00146904
001470
00147009

001472****
001473
001474
001475
001476****
001477
001478
001479
001480
001481
001482
001483
001484****
001485
001486
001487
001488
001489
001490
001491
001492****
001493
001494
001495
001496
001497
001498
001499
001500
001501****
001502
001503
001504
001505
001506
001507
001508
001509
001510****
001511
001512
001513
001514
001515
001516
001517
001518
001519
001520
001521
001522****
001523****
001524
001525
001526
001527
001528
001529
001530
001531

TO CALCULATE THE AMOUNT IN THE BANK FOR CURRENT DATE

****00147209
00147309
SUBTRACT WS-TEMP2 FROM WS-TEMP1 GIVING WS-02-TOTAMT
00147406
00147509
TO CALCULATE THE NUMBER OF ACCOUNTS IN THE BANK TILL DATE****00147609
00147709
EXEC SQL
00147807
SELECT COUNT(*) INTO :WS-01-ACT-TOT
00147909
FROM TRANSACTION
00148007
WHERE TRANSTYPE = 'O'
00148107
END-EXEC
00148207
00148309
TO CALCULATE THE NUMBER OF ACCOUNTS CLOSED TILL DATE
****00148409
00148509
EXEC SQL
00148607
SELECT COUNT(*) INTO :WS-01-ACT-CLOSE
00148707
FROM TRANSACTION
00148807
WHERE TRANSTYPE = 'L'
00148907
END-EXEC
00149007
00149109
TO CALCULATE THE NUMBER OF ACCOUNTS OPENED TODAY
****00149209
00149309
EXEC SQL
00149407
SELECT COUNT(*) INTO :WS-02-ACT-OPEN
00149507
FROM TRANSACTION
00149607
WHERE TRANSTYPE = 'O'
00149707
AND TRANSDATE = :WS-DATE
00149807
END-EXEC
00149907
00150009
TO CALCULATE THE NUMBER OF ACCOUNTS CLOSED TODAY
****00150109
00150209
EXEC SQL
00150307
SELECT COUNT(*) INTO :WS-02-ACT-CLOSE
00150407
FROM TRANSACTION
00150507
WHERE TRANSTYPE = 'L'
00150607
AND TRANSDATE = :WS-DATE
00150707
END-EXEC
00150807
00150909
TO FIND THE ACCOUNT NUMBER WITH MAXIMUM BALANCE
****00151009
00151109
EXEC SQL
00151208
SELECT ACCOUNTNO, BALANCE
00151308
INTO :WS-A-ACCOUNTNO,:WS-A-BALANCE
00151408
FROM ACCOUNTS
00151509
WHERE BALANCE = ( SELECT MAX(BALANCE) FROM ACCOUNTS )
00151609
END-EXEC
00151708
00151809
MOVE WS-A-ACCOUNTNO TO WS-MAX-ACCT
00151909
MOVE WS-A-BALANCE TO WS-MAX-BAL
00152009
00152109
TO FIND THE ACCOUNT NUMBER WITH MAXIMUM WITHDRAWAL AMOUNT****00152209
ON CURRENT DATE
****00152309
00152409
EXEC SQL
00152509
SELECT ACCOUNTNO, TRANSAMT
00152609
INTO :WS-T-ACCOUNTNO,:WS-T-TRANSAMT
00152709
FROM TRANSACTION
00152809
WHERE TRANSAMT = ( SELECT MAX(TRANSAMT)
00152909
FROM TRANSACTION WHERE TRANSTYPE = 'W'
00153009
AND TRANSDATE = :WS-DATE)
00153109

001532
END-EXEC
00153209
001533
00153309
001534
MOVE WS-T-ACCOUNTNO TO WS-M-W-ACCT
00153409
001535
MOVE WS-T-TRANSAMT TO WS-M-W-BAL
00153509
001536
00153609
001537**** TO FIND THE ACCOUNT NUMBER WITH MAXIMUM DEPOSIT AMOUNT ****00153709
001538**** ON CURRENT DATE
****00153809
001539
00153909
001540
EXEC SQL
00154009
001541
SELECT ACCOUNTNO, TRANSAMT
00154109
001542
INTO :WS-T-ACCOUNTNO,:WS-T-TRANSAMT
00154209
001543
FROM TRANSACTION
00154309
001544
WHERE TRANSAMT = ( SELECT MAX(TRANSAMT)
00154409
001545
FROM TRANSACTION WHERE TRANSTYPE = 'D'
00154509
001546
AND TRANSDATE = :WS-DATE)
00154609
001547
END-EXEC
00154709
001548
00154809
001549
MOVE WS-T-ACCOUNTNO TO WS-M-D-ACCT
00154909
001550
MOVE WS-T-TRANSAMT TO WS-M-D-BAL
00155009
001551
00155109
001552*** TO CALCULATE THE TOTAL NUMBER OF ACCOUNTS ACTIVE TILL DATE **00155209
001553
00155309
001554
SUBTRACT WS-01-ACT-CLOSE FROM WS-01-ACT-TOT
00155409
001555
GIVING WS-01-ACT-OPEN
00155509
001556
00155609
001557
DISPLAY ' ************************************************* '00155709
001558
DISPLAY '
DETAILS TILL DATE
'00155809
001559
DISPLAY ' ************************************************* '00155909
001560
DISPLAY ' TOTAL AMOUNT DEPOSITED
: ' WS-01-DEPOSIT 00156009
001561
DISPLAY ' TOTAL AMOUNT WITHDRAWN
: ' WS-01-WITHDRAW 00156109
001562
DISPLAY ' TOTAL AMOUNT IN BANK
: ' WS-01-TOTAMT
00156209
001563
DISPLAY ' TOTAL NO OF ACCOUNTS IN BANK : ' WS-01-ACT-TOT 00156309
001564
DISPLAY ' TOTAL NO OF ACCOUNTS OPENED
: ' WS-01-ACT-OPEN 00156409
001565
DISPLAY ' TOTAL NO OF ACCOUNTS CLOSED
: ' WS-01-ACT-CLOSE 00156509
001566
DISPLAY ' ************************************************* '00156609
001567
DISPLAY '
'00156709
001568
DISPLAY ' ************************************************* '00156809
001569
DISPLAY '
DETAILS FOR TODAY
'00156909
001570
DISPLAY ' ************************************************* '00157009
001571
DISPLAY ' TOTAL AMOUNT DEPOSITED
: ' WS-02-DEPOSIT
00157109
001572
DISPLAY ' TOTAL AMOUNT WITHDRAWN
: ' WS-02-WITHDRAW
00157209
001573
DISPLAY ' TOTAL AMOUNT REMAINING
: ' WS-02-TOTAMT
00157309
001574
DISPLAY ' TOTAL NO OF ACCOUNTS OPENED : ' WS-02-ACT-OPEN
00157409
001575
DISPLAY ' TOTAL NO OF ACCOUNTS CLOSED : ' WS-02-ACT-CLOSE
00157509
001576
DISPLAY ' ************************************************* '00157609
001577
DISPLAY '
'00157709
001578
DISPLAY ' ACCOUNT DETAILS FOR MAXIMUM BALANCE ACCOUNT '
00157809
001579
DISPLAY ' ACCOUNT NO : ' WS-MAX-ACCT
00157909
001581
DISPLAY ' BALANCE
: ' WS-MAX-BAL
00158109
001582
DISPLAY '
'00158209
001583
DISPLAY ' ACCOUNT DETAILS WITH MAXIMUM DEPOSIT AMOUNT '
00158309
001584
DISPLAY ' ACCOUNT NO : ' WS-M-D-ACCT
00158409
001585
DISPLAY ' BALANCE
: ' WS-M-D-BAL
00158509
001586
DISPLAY '
'00158609
001587
DISPLAY ' ACCOUNT DETAILS WITH MAXIMUM WITHDRAWAL AMOUNT ' 00158709
001588
DISPLAY ' ACCOUNT NO : ' WS-M-W-ACCT
00158809
001589
DISPLAY ' BALANCE
: ' WS-M-W-BAL
00158909
001590
STOP RUN
00159004
001600
.
00160004

Você também pode gostar