000100 Identification Division. 000200 Program-Id. OVN161 000300 Environment Division. 000400 Input-Output Section. 000500 File-Control. 000600 Select GRPFIL Assign to GRPDD 000700 Organization is Indexed 000800 Access Is Random 000900 Record Key is NYCKEL 001000 . 001100 Select ARTFIL Assign to ARTDD 001200 Organization is Sequential 001300 Access Is Sequential 001400 File Status is Artfil-Status 001500 . 001600 Select LISTFIL Assign to LISTDD 001700 Organization is Sequential 001800 Access Is Sequential 001900 . 002000 Data Division. 002100 File Section. 002200 FD GRPFIL. 002300 01 Grpfil-Post. 002400 05 Nyckel Pic X(01). 002500 05 Grpfil-Beskrivning Pic X(79). 002600 002700 FD ARTFIL Recording Mode f 002800 Record Contains 80. 002900 01 Artfil-Post. 003000 05 Artfil-Nr Pic X(05). 003100 05 Pic X(01). 003200 05 Artfil-Namn Pic X(25). 003300 05 Pic X(01). 003400 05 Artfil-Typ Pic X(01). 003500 05 Pic X(01). 003600 05 Artfil-Lp1 Pic X(02). 003700 05 Artfil-Kv1 Pic 9(06). 003800 05 Artfil-Lp2 Pic X(02). 003900 05 Artfil-Kv2 Pic 9(06). 004000 05 Artfil-Lp3 Pic X(02). 004100 05 Artfil-Kv3 Pic 9(06). 004200 05 Pic X(22). 004300 004400 FD LISTFIL Recording Mode f 004500 Record Contains 120. 004600 01 List-Rad Pic X(120). 004700 004800 004900 Working-Storage Section. 005000 01 Raknare-och-Annat. 005100 05 Radnummer Pic 99 Value 0. 005200 88 Radstart Value 0. 005300 88 Radmax Value 25. 005400 05 Sidnr Pic 99 Value 0. 005500 88 ListStart Value 0. 005600 05 Gammal-Grupp Pic 9 Value 0. 005700 05 Ny-Grupp Pic 9. 005800 005900 01 Summor. 006000 05 Artfil-Radsumma Pic 9(06) Value 0. 006100 05 Artfil-Kv1-Summa Pic 9(06) Value 0. 006200 05 Artfil-Kv2-Summa Pic 9(06) Value 0. 006300 05 Artfil-Kv3-Summa Pic 9(06) Value 0. 006400 05 Artfil-Kv1-Total Pic 9(06) Value 0. 006500 05 Artfil-Kv2-Total Pic 9(06) Value 0. 006600 05 Artfil-Kv3-Total Pic 9(06) Value 0. 006700 006800 01 Artfil-Meddelande. 006900 05 Pic X(35) Value 'ARTFIL gick ej att öppna, status: '. 007000 05 Artfil-Status Pic X(02) Value Space. 007100 88 Artfil-Openfel Value '01' thru '99'. 007200 007300 01 Villkor Pic 9 Value 0. 007400 88 Klar Value 1. 007500 007600 01 List-Separator. 007700 05 Pic X(120) Value All '_'. 007800 007900 01 List-Blankrad. 008000 05 Pic X(120) Value All Space. 008100 008200 01 List-Rubrik. 008300 05 Pic X(65) Value 'Utskrift av Artikelregister'. 008400 05 Pic X(07) Value 'Sidnr:'. 008500 05 List-Sidnr Pic Z(02). 008600 008700 01 List-Summa. 008800 05 Pic X(38) Value 'Totalsummor'. 008900 05 List-Kv1-Summa Pic Z(06). 009000 05 Pic X(05) Value Space. 009100 05 List-Kv2-Summa Pic Z(06). 009200 05 Pic X(05) Value Space. 009300 05 List-Kv3-Summa Pic Z(06). 009400 009500 01 List-Slutrad. 009600 05 Pic X(120) Value 'Slut på utskrift'. 009700 009800 01 List-Artikelgrupp. 009900 05 List-Beskrivning Pic X(25). 010000 010100 01 List-ArtikelRubrik. 010200 05 Pic X(06) Value 'Artnr'. 010300 05 Pic X(26) Value 'Artnamn'. 010400 05 Pic X(02) Value Space. 010500 05 Pic X(04) Value 'Lp1'. 010600 05 Pic X(07) Value 'Antal'. 010700 05 Pic X(04) Value 'Lp2'. 010800 05 Pic X(07) Value 'Antal'. 010900 05 Pic X(04) Value 'Lp3'. 011000 05 Pic X(07) Value 'Antal'. 011100 05 Pic X(05) Value 'Summa'. 011200 011300 01 List-ArtikelRad. 011400 05 Artfil-Nr Pic X(05). 011500 05 Pic X(01) Value Space. 011600 05 Artfil-Namn Pic X(25). 011700 05 Pic X(01) Value Space. 011800 05 Artfil-Typ Pic X(01). 011900 05 Pic X(01) Value Space. 012000 05 Artfil-Lp1 Pic X(02). 012100 05 Pic X(02) Value Space. 012200 05 Artfil-Kv1 Pic Z(06). 012300 05 Pic X(01) Value Space. 012400 05 Artfil-Lp2 Pic X(02). 012500 05 Pic X(02) Value Space. 012600 05 Artfil-Kv2 Pic Z(06). 012700 05 Pic X(01) Value Space. 012800 05 Artfil-Lp3 Pic X(02). 012900 05 Pic X(02) Value Space. 013000 05 Artfil-Kv3 Pic Z(06). 013100 05 Pic X(01) Value Space. 013200 05 Artfil-Summa Pic Z(06). 013300 013400 Procedure Division. 013500 Perform Initiera 013600 Perform Until Klar 013700 Read ARTFIL 013800 At End 013900 Set KLAR to True 014000 Not At End 014100 Perform Skrivut 014200 End-Read 014300 End-Perform 014400 Perform Skriv-List-Summa 014500 Perform Skriv-List-Slutrad 014600 Perform Avsluta 014700 GoBack 014800 . 014900 Initiera. 015000 Open Input ARTFIL 015100 If Artfil-Openfel 015200 Move 99 to Return-Code 015300 Display Artfil-Meddelande 015400 Stop Run 015500 Else 015600 Display 'OPEN av ARTFIL ok...' 015700 Open Output LISTFIL 015800 Display 'OPEN av LISTFIL ok...' 015900 Open Input GRPFIL 016000 Display 'OPEN av GRPFIL ok...' 016100 End-If 016200 . 016300 Skrivut. 016400 Move Artfil-Nr in Artfil-Post(1:1) to Ny-Grupp 016500 Perform Kontrollera-Brytning 016600 Move Corr Artfil-Post 016700 to List-ArtikelRad 016800 Perform Summeringar 016900 017000 Write List-Rad 017100 from List-ArtikelRad 017200 Add 1 to Radnummer 017300 Move Ny-Grupp to Gammal-Grupp 017400 . 017500 Kontrollera-Brytning. 017600 Evaluate True 017700 When Liststart 017800 Perform Skriv-List-Rubrik 017900 Perform Skriv-Artikel-Rubrik 018000 Perform Skriv-Artikel-Grupp 018100 When Gammal-Grupp Not Equal Ny-Grupp 018200 Perform Skriv-List-Summa 018300 Perform Skriv-Artikel-Rubrik 018400 Perform Skriv-Artikel-Grupp 018500 When Radmax 018600 Perform Skriv-List-Rubrik 018700 Perform Skriv-Artikel-Rubrik 018800 Set Radstart to True 018900 End-Evaluate 019000 . 019100 Summeringar. 019200 Add Artfil-Kv1 in Artfil-Post to 019300 Artfil-Kv1-Summa Artfil-RadSumma 019400 Artfil-Kv1-Total 019500 Add Artfil-Kv2 in Artfil-Post to 019600 Artfil-Kv2-Summa Artfil-RadSumma 019700 Artfil-Kv2-Total 019800 Add Artfil-Kv3 in Artfil-Post to 019900 Artfil-Kv3-Summa Artfil-RadSumma 020000 Artfil-Kv3-Total 020100 Move Artfil-Radsumma to Artfil-Summa 020200 Move Zero to Artfil-Radsumma 020300 . 020400 Skriv-Artikel-Grupp. 020500 Move Ny-Grupp to Nyckel 020600 Read GRPFIL 020700 Invalid Key 020800 Move '*** I/U ***' 020900 to List-Beskrivning 021000 Not Invalid Key 021100 Move Grpfil-Beskrivning 021200 to List-Beskrivning 021300 End-Read 021400 Write List-Rad 021500 from List-Artikelgrupp 021600 . 021700 Skriv-Artikel-Rubrik. 021800 Write List-Rad 021900 from List-Blankrad 022000 Write List-Rad 022100 from List-ArtikelRubrik 022200 Write List-Rad 022300 from List-Separator 022400 . 022500 Skriv-List-Rubrik. 022600 Add 1 to Sidnr 022700 Move Sidnr to List-Sidnr 022800 022900 Write List-Rad 023000 from List-Rubrik 023100 . 023200 Skriv-List-Slutrad. 023300 Write List-Rad 023400 from List-Separator 023500 Write List-Rad 023600 from List-Slutrad 023700 . 023800 Skriv-List-Summa. 023900 Move Artfil-Kv1-Summa to List-Kv1-Summa 024000 Move Artfil-Kv2-Summa to List-Kv2-Summa 024100 Move Artfil-Kv3-Summa to List-Kv3-Summa 024200 Write List-Rad 024300 from List-Separator 024400 Write List-Rad 024500 from List-Summa 024600 Move 0 to Artfil-Kv1-Summa 024700 Artfil-Kv2-Summa 024800 Artfil-Kv3-Summa 024900 If Klar 025000 Move Artfil-Kv1-Total to List-Kv1-Summa 025100 Move Artfil-Kv2-Total to List-Kv2-Summa 025200 Move Artfil-Kv3-Total to List-Kv3-Summa 025300 Write List-Rad 025400 from List-Separator 025500 Write List-Rad 025600 from List-Summa 025700 End-If 025800 . 025900 Avsluta. 026000 Close ARTFIL 026100 Display 'CLOSE av ARTFIL ok...' 026200 Close ARTFIL 026300 Display 'CLOSE av LISTFIL ok...' 026400 Close GRPFIL 026500 Display 'CLOSE av GRPFIL ok...' 026600 Display 'Programmet avslutar...' 026700 .