STRING Statement
Problem Description
Concatenate multiple fields using STRING statement.
Expected Output
Combined string output
Hints
STRING...DELIMITED BY...INTO with POINTER for position.
Solution
IDENTIFICATION DIVISION.
PROGRAM-ID. STRCAT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-FIRST PIC X(10) VALUE "JOHN".
01 WS-LAST PIC X(15) VALUE "SMITH".
01 WS-FULL PIC X(30).
01 WS-PTR PIC 9(2) VALUE 1.
01 WS-ADDR1 PIC X(20) VALUE "123 MAIN ST".
01 WS-CITY PIC X(15) VALUE "NEW YORK".
01 WS-STATE PIC X(2) VALUE "NY".
01 WS-ZIP PIC X(5) VALUE "10001".
01 WS-ADDRESS PIC X(60).
PROCEDURE DIVISION.
MOVE SPACES TO WS-FULL.
STRING WS-FIRST DELIMITED SPACE
" " DELIMITED SIZE
WS-LAST DELIMITED SPACE
INTO WS-FULL.
DISPLAY "FULL NAME: [" WS-FULL "]".
MOVE SPACES TO WS-ADDRESS.
MOVE 1 TO WS-PTR.
STRING WS-ADDR1 DELIMITED SPACE
", " DELIMITED SIZE
WS-CITY DELIMITED SPACE
", " DELIMITED SIZE
WS-STATE DELIMITED SIZE
" " DELIMITED SIZE
WS-ZIP DELIMITED SIZE
INTO WS-ADDRESS
WITH POINTER WS-PTR.
DISPLAY "ADDRESS: " WS-ADDRESS.
STOP RUN.
Explanation:
STRING concatenates fields. DELIMITED BY controls what part to use.