       IDENTIFICATION DIVISION.
       PROGRAM-ID. CSEN2.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT KAYIT ASSIGN TO DISK ORGANIZATION INDEXED
           ACCESS DYNAMIC RECORD KEY KOD.
       DATA DIVISION.
       FILE SECTION.
       COPY B:CEKSEN.KYD.
       WORKING-STORAGE SECTION.
       COPY B:NIHAT.BLG.
       SCREEN SECTION.
       COPY B:YAVAS.BLG.
       PROCEDURE DIVISION.
       BASLA. DISPLAY EKRAN1.
       10. ACCEPT EKRAN1. 
	       IF N = 0 GO DOKUM-SON
           ELSE IF N = 1 MOVE "BORC SENETLERI" TO DOKUM-TURU
           MOVE "BS" TO SAKLA PERFORM CARI-DOKUM
           ELSE IF N = 2 MOVE "ALACAK SENETLERI" TO DOKUM-TURU
           MOVE "AS" TO SAKLA PERFORM CARI-DOKUM
           ELSE IF N = 3 MOVE "BORC CEKLERI" TO DOKUM-TURU
           MOVE "BC" TO SAKLA PERFORM CARI-DOKUM
           ELSE IF N = 4 MOVE "ALACAK CEKLERI" TO DOKUM-TURU
           MOVE "AC" TO SAKLA PERFORM CARI-DOKUM
           ELSE IF N = 5 MOVE "BORC NAKITLERI" TO DOKUM-TURU
           MOVE "BN" TO SAKLA PERFORM CARI-DOKUM
           ELSE IF N = 6 MOVE "ALACAK NAKITLERI" TO DOKUM-TURU
           MOVE "AN" TO SAKLA PERFORM CARI-DOKUM       
           ELSE IF N = 7 PERFORM GELIR-GIDER ELSE DISPLAY EKRAN3
           GO 10. DISPLAY EKRAN1 EKRAN2 GO 10.
       CARI-DOKUM. OPEN I-O KAYIT. 
           MOVE SAKLA TO K-KISIM.
           MOVE "E" TO KONTROL. PERFORM BASLANGIC THRU BASLANGIC-SON.
           IF KONTROL = "E" PERFORM ISLEM THRU ISLEM-SON.
           CLOSE KAYIT.
       BASLANGIC. DISPLAY (1 1) ERASE. MOVE 0 TO ILK-TARIH SON-TARIH.
           DISPLAY (8 1) "ILK TARIH <GG/AA/YY>:  /  /  ".
           DISPLAY (10 1) "SON TARIH <GG/AA/YY>:  /  /  ".
           IF KONTROL = "A" GO BB0. DISPLAY (23 1)
           "ILK TARIH = < 00/00/00 > VE SON TARIH = <99/99/99>".
           DISPLAY (24 1) "GIRERSEN TUM KAYITLARI GORUNTULERSIN".
       BB0. ACCEPT (8 22) ILK-GUN WITH PROMPT UPDATE.
           ACCEPT (8 26) ILK-AY WITH PROMPT UPDATE.
           ACCEPT (8 29) ILK-YIL WITH PROMPT UPDATE.
           DISPLAY (15 5) "ILK TARIH DOGRUMU (E/H):"
           ACCEPT (15 30) CEVAP. 
  	       IF CEVAP = "H" DISPLAY (15 5) 
		   "                              " GO BB0. 
       BB1. ACCEPT (10 22) SON-GUN WITH PROMPT UPDATE.
           ACCEPT (10 26) SON-AY WITH PROMPT UPDATE.
           ACCEPT (10 29) SON-YIL WITH PROMPT UPDATE.
           DISPLAY (15 5) "SON TARIH DOGRUMU (E/H):"
           ACCEPT (15 30) CEVAP.
  		   IF CEVAP = "H" DISPLAY (15 5) 
		   "                              " GO BB1.
       BB2. MOVE ILK-TARIH TO K-TARIH.
           MOVE 0 TO K-NO. 
		   START KAYIT KEY NOT LESS THAN KOD INVALID KEY 
		   DISPLAY (23 2) "ILK TARIHTEN SONRA KAYIT ISLENMEMIS"
           DISPLAY (24 1) "ANA MENUYE DONMEK ICIN ENT BAS"
           ACCEPT (24 37) CEVAP MOVE "H" TO KONTROL GO BASLANGIC-SON.
           READ KAYIT NEXT AT END MOVE "H" TO KONTROL GO BASLANGIC-SON.
           IF K-KISIM NOT = SAKLA MOVE "H" TO KONTROL GO BASLANGIC-SON.
           IF K-TARIH > SON-TARIH MOVE "H" TO KONTROL GO BASLANGIC-SON.
           MOVE ALL ZEROS TO GENEL-TOPLAM S-NO SAYFA-NO.
       BASLANGIC-SON. EXIT.
       ISLEM. PERFORM BASLIKLAR.
       CC0. ADD 1 TO S-NO. ADD 1 TO LIN. ADD K-TUTAR TO SAYFA-TOPLAMI.
           MOVE K-TUTAR TO KK-TUTAR. MOVE S-NO TO SIRA-NO.
           MOVE K-GUN TO V-GUN. MOVE K-AY TO V-AY.
           MOVE K-YIL TO V-YIL. MOVE H-GUN TO A-GUN.
           MOVE H-AY TO A-AY.
           MOVE H-YIL TO A-YIL. MOVE IZAHAT TO IZ.
           MOVE K-KNT TO ODEMESI. DISPLAY (LIN + 1 1) BAS4.
           READ KAYIT NEXT END GO ISLEM-SON.
		   IF SAKLA NOT = K-KISIM GO ISLEM-SON.
		   IF K-TARIH > SON-TARIH GO ISLEM-SON.
           IF LIN < 18 GO CC0. PERFORM SAYFA-SONU.
           DISPLAY(24 10) "DOKUME DEVAMETMEK ISTIYORMUSUSNUZ (E/H):".
           ACCEPT (24 40) CEVAP WITH PROMPT UPDATE.
           IF CEVAP = "H" GO ISLEM-SON. PERFORM BASLIKLAR. GO CC0.
       BASLIKLAR. ADD 1 TO SAYFA-NO. MOVE 3 TO LIN.
           MOVE 0 TO SAYFA-TOPLAMI. DISPLAY (1 1) ERASE.
           DISPLAY (1 1) ERASE BAS1. DISPLAY(2 1) BAS2.
           DISPLAY (3 1) BAS3. DISPLAY (4 1) CIZGI.
       SAYFA-SONU. ADD SAYFA-TOPLAMI TO GENEL-TOPLAM.
           MOVE SAYFA-TOPLAMI TO S-TOPLAM.
           MOVE GENEL-TOPLAM TO G-TOPLAM. DISPLAY (LIN + 2 1) CIZGI.
           DISPLAY (LIN + 3 1)BAS5. DISPLAY (LIN + 4 1) BAS6.
       ISLEM-SON. IF KONTROL = "E" PERFORM SAYFA-SONU.
           DISPLAY (24 1) ERASE. DISPLAY(24 1)
           "ANA MENUYE DONMEK ICIN  ENT BAS:". ACCEPT (24 37) CEVAP.
       GELIR-GIDER SECTION.
       DD0. PERFORM SIFIRLAMA VARYING I FROM 1 BY 1 UNTIL I > 31.
           MOVE "A" TO KONTROL. OPEN I-O KAYIT.
       DD10. PERFORM BASLANGIC THRU BB1.
           IF ILK-AY NOT = SON-AY DISPLAY (23 1)
           "GELIR/GIDER BILANCOSU AYLIK OLMALIDIR" DISPLAY(24 1)
           "LUTFEN DOGRU GIRINIZ ENT BAS:" ACCEPT (24 35) CEVAP
           GO DD10. MOVE ALL ZEROS TO SYF-NO G-GLR G-GDR G-SGLR
           G-SGDR K-TARIH K-NO. MOVE SPACES TO K-KISIM.
           MOVE ILK-TARIH TO K-TARIH.
           START KAYIT KEY NOT LESS THAN KOD INVALID KEY
           GO GELIR-GIDER-SON. PERFORM DD-BASLIK.
       DD1. READ KAYIT NEXT RECORD AT END GO DD2.
           IF K-KNT = 3 OR 6 GO DD1.
           IF K-TARIH < ILK-TARIH OR K-TARIH > SON-TARIH GO DD1.
           IF K-KISIM = "AC" OR "AS" OR "AN" MOVE K-GUN TO GUN (K-GUN)
           MOVE K-AY TO AY (K-GUN) MOVE K-YIL TO YIL (K-GUN)
           IF K-KNT = 0 OR 1 OR 4 OR 7 ADD K-TUTAR TO GELIR (K-GUN)
           ELSE ADD K-TUTAR TO SUPHELI-GELIR (K-GUN)
           ELSE MOVE K-GUN TO GUN (K-GUN) MOVE K-AY TO AY (K-GUN) 
           MOVE K-YIL TO YIL (K-GUN) IF K-KNT = 0 OR 1 OR 4 OR 7
           ADD K-TUTAR TO GIDER (K-GUN)
           ELSE ADD K-TUTAR TO SUPHELI-GIDER (K-GUN). GO DD1.
       DD2. MOVE 1 TO I.
       DD20. IF AY (I) = 0 OR YIL (I) = 0 GO DD3.
           ADD GELIR (I) TO S-GLR.
           ADD GIDER (I) TO S-GDR.
           ADD SUPHELI-GELIR (I) TO S-SGLR.
           ADD SUPHELI-GIDER (I) TO S-SGDR. ADD 1 TO LIN.
           MOVE GUN (I) TO B-GUN. MOVE AY (I) TO B-AY.
           MOVE YIL (I) TO B-YIL. MOVE GELIR (I) TO B-GELIR.
           MOVE GIDER (I) TO B-GIDER.
           MOVE SUPHELI-GELIR (I) TO BG-GELIR.
           MOVE SUPHELI-GIDER (I) TO BG-GIDER.
           DISPLAY (LIN + 1 1) BAS9. IF LIN < 18 GO DD3.
           PERFORM SAYFA-SON. DISPLAY (24 1)
           "DOKUME DEVAM ETMEK ISTIYORMUSUNUZ (E/H):".
           ACCEPT (24 40) CEVAP WITH PROMPT UPDATE.
           IF CEVAP = "H" GO GELIR-GIDER-SON. PERFORM DD-BASLIK.
       DD3. ADD 1 TO I. IF  I < 32 GO DD20. GO DD-SON.
       DD-BASLIK. ADD 1 TO SYF-NO. MOVE 3 TO LIN.  
           MOVE ALL ZEROS TO S-GLR S-GDR  S-SGDR S-SGLR.
           DISPLAY (1 1) ERASE. DISPLAY (1 1) BAS7.
           DISPLAY (2 1) BAS8. DISPLAY (3 1) CIZGI.
       SIFIRLAMA. MOVE ALL ZEROS TO AY-GUNU (I).
       SAYFA-SON. ADD S-GLR TO G-GLR.
           ADD S-GDR TO G-GDR.
           ADD S-SGLR TO G-SGLR. ADD S-SGDR TO G-SGDR.
           MOVE S-GLR TO S-GELIR. MOVE S-GDR TO S-GIDER.
           MOVE S-SGLR TO SS-GELIR. MOVE S-SGDR TO SS-GIDER.
           MOVE G-GLR TO G-GELIR. MOVE G-GDR TO G-GIDER.
           MOVE G-SGLR TO GS-GELIR. MOVE G-SGDR TO GS-GIDER.
           DISPLAY (LIN + 2 1) CIZGI. DISPLAY (LIN + 3 1) BAS10.
           DISPLAY (LIN + 4 1) BAS11.
       DD-SON. PERFORM SAYFA-SON.
       GELIR-GIDER-SON. CLOSE KAYIT. DISPLAY (24 1) ERASE.
           DISPLAY (24 1) "ANAMENUYE DONMEK ICIN ENT BAS:".
           ACCEPT (24 36) CEVAP.
       DOKUM-SON SECTION.
       80. EXIT PROGRAM.
