Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
← Back to COBOL Basics
COBOL Basics | Intermediate | COBOL

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.