Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IDENTIFICATION DIVISION.
- PROGRAM-ID. Subscriber-List.
- AUTHOR. John Bakalis.
- * this program generates a list of Subscribers
- ENVIRONMENT DIVISION.
- INPUT-OUTPUT SECTION.
- FILE-CONTROL.
- SELECT In-File ASSIGN TO 'Subscribers.txt'
- ORGANIZATION IS LINE SEQUENTIAL.
- SELECT Out-File ASSIGN TO 'Report.txt'.
- DATA DIVISION.
- FILE SECTION.
- FD In-File RECORD CONTAINS 84 CHARACTERS.
- 01 In-Record.
- 05 Sub-Num-in PIC X(8).
- 05 Title-in PIC X(2).
- 05 LastName-in PIC X(15).
- 05 FirstName-in PIC X(10).
- 05 Street-in PIC X(20).
- 05 City-in PIC X(15).
- 05 Prov-in PIC X(2).
- 05 PostalCode-in PIC X(3).
- 05 PostalCode2-in PIC X(3).
- 05 Year-in PIC 9(4).
- 05 Month-in PIC 9(2).
- FD Out-File RECORD CONTAINS 35 CHARACTERS.
- 01 Out-Record PIC X(35).
- WORKING-STORAGE SECTION.
- 01 End-Of-File PIC X VALUE 'N'.
- 01 First-line.
- 05 Sub-Num-out PIC X(8).
- 05 PIC X(18) VALUE SPACES.
- 05 Year-out PIC X(4).
- 05 PIC X VALUE '/'.
- 05 Month-out PIC X(2).
- 01 Second-line.
- 05 Title-out PIC X(2).
- 05 PIC X(2) VALUE '. '.
- 05 FirstName-out PIC X(10).
- 05 PIC X(7) VALUE SPACES.
- 05 LastName-out PIC X(15).
- 01 Third-line.
- 05 Street-out PIC X(20).
- 01 Forth-line.
- 05 City-out PIC X(15).
- 05 PIC X(7) VALUE SPACES.
- 05 PIC X(2) VALUE ', '.
- 05 Prov-out PIC X(2).
- 01 Fifth-line.
- 05 PIC X(5) VALUE SPACES.
- 05 PostalCode-out PIC X(3).
- 05 PIC X VALUE SPACES.
- 05 PostalCode2-out PIC X(3).
- PROCEDURE DIVISION.
- * Opens both files. Performs my 100 and 200 paragraphs and closes the files.
- 000-Main-Paragraph.
- OPEN INPUT In-File, OUTPUT Out-File.
- PERFORM 100-Read-a-Record.
- PERFORM 200-Output-Title UNTIL End-Of-File = 'Y'.
- CLOSE In-File, Out-File.
- STOP RUN.
- * Reads a Record
- 100-Read-a-Record.
- READ In-File
- AT END MOVE 'Y' TO End-Of-File
- END-READ.
- * Moves all variables from in to out and then writes all the lines to the Out-Record. Finally it calls Read A record to check for another record.
- 200-Output-Title.
- MOVE Sub-Num-in TO Sub-Num-out.
- MOVE Year-in TO Year-out.
- MOVE Month-in TO Month-out.
- MOVE Title-in TO Title-out.
- MOVE FirstName-in TO FirstName-out.
- MOVE LastName-in TO LastName-out.
- MOVE City-in TO City-out.
- MOVE Prov-in TO Prov-out.
- MOVE Street-in TO Street-out.
- MOVE PostalCode-in TO PostalCode-out.
- MOVE PostalCode2-in TO PostalCode2-out.
- WRITE Out-Record FROM First-line AFTER ADVANCING 1 LINE.
- WRITE Out-Record FROM Second-line AFTER ADVANCING 1 LINE.
- WRITE Out-Record FROM Third-line AFTER ADVANCING 1 LINE.
- WRITE Out-Record FROM Forth-line AFTER ADVANCING 1 LINE.
- WRITE Out-Record FROM Fifth-line BEFORE ADVANCING 4 LINE.
- PERFORM 100-Read-a-Record.
Add Comment
Please, Sign In to add comment