Skip to content

Instantly share code, notes, and snippets.

@tjwebb
Forked from pdemby/csv-input
Created May 20, 2017 05:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tjwebb/cf0000a0f33444783f7757c0291c70ed to your computer and use it in GitHub Desktop.
Save tjwebb/cf0000a0f33444783f7757c0291c70ed to your computer and use it in GitHub Desktop.
csv input
IDENTIFICATION DIVISION.
PROGRAM-ID. READ-CSV.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
SELECT INPUT-FILE
ASSIGN TO DISC
ORGANIZATION IS LINE SEQUENTIAL
ACCESS MODE IS SEQUENTIAL.
SELECT OUTPUT-RECORD
ASSIGN TO DISC
ORGANIZATION IS LINE SEQUENTIAL
ACCESS MODE IS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD INPUT-FILE RECORD CONTAINS 80 CHARACTERS.
01 INPUT-RECORD PIC X(80).
FD OUTPUT-FILE RECORD CONTAINS 160 CHARACTERS.
01 OUTPUT-RECORD.
05 OUT-LAST-NAME PIC X(25).
05 FILLER PIC X(5).
05 OUR-FIRST-NAME PIC X(15).
05 FILLER PIC X(5).
05 OUT-STREET PIC X(30).
05 FILLER PIC X(5).
05 OUT-CITY PIC X(15).
05 FILLER PIC X(5).
05 OUT-STATE PIC XX.
05 FILLER PIC X(5).
05 OUT-ZIP PIC X(10).
05 FILLER PIC X(38).
WORKING-STORAGE SECTION.
01 SEPARATE-IT.
05 LAST_NAME PIC X(25).
05 FIRST_NAME PIC X(15).
05 STREET_ADDR PIC X(30).
05 CITY PIC X(15).
05 STATE PIC XX.
05 ZIP PIC X(10).
PROCEDURE DIVISION.
START-ROUTINE.
OPEN INPUT INPUT-FILE.
OPEN OUTPUT OUTPUT-FILE.
READ-ROUTINE.
MOVE SPACES TO INPUT-RECORD.
READ INPUT-RECORD AT END GO TO END-ROUTINE.
MOVE SPACES TO SEPARATE-IT.
UNSTRING INPUT-RECORD DELIMITED BY ","
INTO LAST_NAME, FIRST_NAME, STREET_ADDR,
CITY, STATE, ZIP.
MOVE SPACES TO OUTPUT-RECORD.
MOVE LAST_NAME TO OUT-LAST-NAME.
MOVE FIRST_NAME TO OUT-FIRST-NAME.
MOVE STREET_ADDR TO OUT-STREET.
MOVE CITY TO OUT-CITY.
MOVE STATE TO OUT-STATE.
MOVE ZIP TO OUT-ZIP.
WRITE OUTPUT-RECORD.
GO TO READ-ROUTINE.
END-ROUTINE.
CLOSE INPUT-FILE.
CLOSE OUTPUT-FILE.
STOP RUN.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment