Guest User

Untitled

a guest
Oct 24th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 3.20 KB | None | 0 0
  1.  IDENTIFICATION DIVISION.
  2.  PROGRAM-ID. Subscriber-List.
  3.  AUTHOR. John Bakalis.
  4. * this program generates a list of Subscribers
  5.  
  6.  ENVIRONMENT DIVISION.
  7.  INPUT-OUTPUT SECTION.
  8.  FILE-CONTROL.
  9.      SELECT In-File ASSIGN TO 'Subscribers.txt'
  10.             ORGANIZATION IS LINE SEQUENTIAL.
  11.      SELECT Out-File ASSIGN TO 'Report.txt'.
  12.  
  13.  DATA DIVISION.
  14.  FILE SECTION.
  15.  FD  In-File      RECORD CONTAINS 84 CHARACTERS.
  16.  01  In-Record.
  17.      05 Sub-Num-in        PIC X(8).
  18.      05 Title-in          PIC X(2).
  19.      05 LastName-in       PIC X(15).
  20.      05 FirstName-in      PIC X(10).
  21.      05 Street-in         PIC X(20).
  22.      05 City-in           PIC X(15).
  23.      05 Prov-in           PIC X(2).
  24.      05 PostalCode-in     PIC X(3).
  25.      05 PostalCode2-in    PIC X(3).
  26.      05 Year-in           PIC 9(4).
  27.      05 Month-in          PIC 9(2).
  28.  
  29.  FD  Out-File     RECORD CONTAINS 35 CHARACTERS.
  30.  01  Out-Record           PIC X(35).
  31.  
  32.  WORKING-STORAGE SECTION.
  33.  
  34.  01  End-Of-File          PIC X VALUE 'N'.
  35.  
  36.  01  First-line.
  37.      05 Sub-Num-out       PIC X(8).
  38.      05                   PIC X(18) VALUE SPACES.
  39.      05 Year-out          PIC X(4).
  40.      05                   PIC X VALUE '/'.
  41.      05 Month-out         PIC X(2).
  42.  01  Second-line.
  43.      05 Title-out         PIC X(2).
  44.      05                   PIC X(2) VALUE '. '.
  45.      05 FirstName-out     PIC X(10).
  46.      05                   PIC X(7) VALUE SPACES.
  47.      05 LastName-out      PIC X(15).
  48.  
  49.  01  Third-line.
  50.      05 Street-out                  PIC X(20).
  51.  01  Forth-line.
  52.      05 City-out          PIC X(15).
  53.      05                   PIC X(7) VALUE SPACES.
  54.      05                   PIC X(2) VALUE ', '.
  55.      05 Prov-out          PIC X(2).
  56.  01 Fifth-line.
  57.      05                   PIC X(5) VALUE SPACES.
  58.      05 PostalCode-out    PIC X(3).
  59.      05                   PIC X VALUE SPACES.
  60.      05 PostalCode2-out   PIC X(3).        
  61.  PROCEDURE DIVISION.
  62. * Opens both files. Performs my 100 and 200 paragraphs and closes the files.
  63.  000-Main-Paragraph.
  64.      OPEN INPUT In-File, OUTPUT Out-File.
  65.      PERFORM 100-Read-a-Record.
  66.      PERFORM 200-Output-Title UNTIL End-Of-File = 'Y'.
  67.      CLOSE In-File, Out-File.
  68.      STOP RUN.
  69. * Reads a Record
  70.  100-Read-a-Record.
  71.      READ In-File
  72.          AT END MOVE 'Y' TO End-Of-File
  73.      END-READ.
  74. * 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.
  75.  200-Output-Title.
  76.      MOVE Sub-Num-in TO Sub-Num-out.
  77.      MOVE Year-in TO Year-out.
  78.      MOVE Month-in TO Month-out.
  79.      MOVE Title-in TO Title-out.
  80.      MOVE FirstName-in TO FirstName-out.
  81.      MOVE LastName-in TO LastName-out.  
  82.      MOVE City-in TO City-out.
  83.      MOVE Prov-in TO Prov-out.
  84.      MOVE Street-in TO Street-out.
  85.      MOVE PostalCode-in TO PostalCode-out.
  86.      MOVE PostalCode2-in TO PostalCode2-out.
  87.  
  88.      WRITE Out-Record FROM First-line AFTER ADVANCING 1 LINE.
  89.      WRITE Out-Record FROM Second-line AFTER ADVANCING 1 LINE.
  90.      WRITE Out-Record FROM Third-line AFTER ADVANCING 1 LINE.
  91.      WRITE Out-Record FROM Forth-line AFTER ADVANCING 1 LINE.
  92.      WRITE Out-Record FROM Fifth-line BEFORE ADVANCING 4 LINE.
  93.      PERFORM 100-Read-a-Record.
Add Comment
Please, Sign In to add comment