Skip to content

Instantly share code, notes, and snippets.

@pdemby
pdemby / ucase to lcase
Last active August 29, 2015 14:16
UPPERCASE to lowercase
IDENTIFICATION DIVISION.
PROGRAM-ID. UCASE2LCASE.
ENVIRONMENT DIVISION.
WORKING-STORAGE SECTION.
01 TEXT-STRING PIC X(25).
PROCEDURE DIVISION.
START-ROUTINE.
MOVE "THIS IS A TEXT STRING" TO TEXT-STRING.
INSPECT TEXT-STRING CONVERTING "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
TO "abcdefghijklmnopqrstuvwxyz".
@pdemby
pdemby / lcase2ucase
Last active December 30, 2015 02:45
lowercase to UPPERCASE
IDENTIFICATION DIVISION.
PROGRAM-ID. UCASE2LCASE.
ENVIRONMENT DIVISION.
WORKING-STORAGE SECTION.
01 TEXT-STRING PIC X(25).
PROCEDURE DIVISION.
START-ROUTINE.
MOVE "this is a text string" TO TEXT-STRING.
INSPECT TEXT-STRING CONVERTING "abcdefghijklmnopqrstuvwxyz"
TO "ABCDEFGHIJKLMNOPQRSTUVWXYZ".
@pdemby
pdemby / csv-input
Last active May 20, 2017 05:33
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
@pdemby
pdemby / REDEFINES
Last active August 29, 2015 14:19
REDEFINES
MOVE-IT.
MOVE PRICE-EACH-TEXT (1:3) TO TEXT-FIELD (1:3).
MOVE "." TO TEXT-FIELD (4:1).
MOVE PRICE-EACH-TEXT (4:2) TO TEXT-FIELD (5:2).
INSPECT TEXT-FIELD REPLACING LEADING ZEROES BY SPACES.
MOVE SPACES TO TEXT-FIELD2.
MOVE 0 TO TEXT-SUB, TEXT-SUB2.
PERFORM DROP-LEADING-ZEROES THRU DROP-LEADING-ZEROES-EXIT.
DROP-LEADING-ZEROES.
ADD 1 TO TEXT-SUB.
@pdemby
pdemby / DateFunc
Last active August 29, 2015 14:25
DateFunc
01 WS-DATE-IN PIC X(8).
01 WS-DATE-IN-NUM REDEFINES WS-DATE-IN PIC 9(8).
01 WS-DATE-OUT.
05 WS-DATE-OUT-CC PIC XX.
05 WS-DATE-OUT-YY PIC XX.
05 WS-DATE-OUT-MM PIC XX.
05 WS-DATE-OUT-DD PIC XX.
01 WS-DATE-OUT-NUM REDEFINES WS-DATE-OUT PIC 9(8).
01 WS-DATE-TEMP PIC 9(8) VALUE 0.
01 WS-DAYS PIC 9(3) VALUE 0.
ADD-DAYS.
MOVE 0 TO WS-DATE-TEMP.
MOVE FUNCTION INTEGER-OF-DATE (WS-DATE-IN-NUM) TO WS-DATE-TEMP.
COMPUTE WS-DATE-TEMP = WS-DATE-TEMP + WS-DAYS.
MOVE FUNCTION DATE-OF-INTERGER (WS-DATE-TEMP) TO WS-DATE-OUT-NUM.
ADD-DAYS-EXIT.
EXIT.
ACCEPT WS-CCYYMMDD FROM CENTURY-DATE.
MOVE 30 TO WS-DAYS.
MOVE 0 TO WS-DATE-TEMP.
MOVE FUNCTION INTEGER-OF-DATE (WS-DATE-IN-NUM) TO WS-DATE-TEMP.
COMPUTE WS-DATE-TEMP = WS-DATE-TEMP + WS-DAYS.
MOVE FUNCTION DATE-OF-INTEGER (WS-DATE-TEMP) TO WS-DATE-OUT-NUM.
MOVE WS-DATE-OUT TO OUTPUT-DATE.