The SECTION statement is used to organize procedures in the PROCEDURE DIVISION into logical groups. It improves program structure and readability by grouping related paragraphs together.
The SECTION statement follows a simple syntax for organizing procedures.
123456789101112131415161718192021222324252627282930313233343536373839* Basic SECTION syntax SECTION-NAME SECTION. paragraph-name. statements another-paragraph. statements * Complete example IDENTIFICATION DIVISION. PROGRAM-ID. SECTION-EXAMPLE. PROCEDURE DIVISION. MAIN-LOGIC. PERFORM INITIALIZATION-SECTION PERFORM PROCESSING-SECTION PERFORM CLEANUP-SECTION STOP RUN. INITIALIZATION-SECTION SECTION. INIT-PARAGRAPH. DISPLAY "Initializing program" OPEN INPUT INPUT-FILE OPEN OUTPUT OUTPUT-FILE. PROCESSING-SECTION SECTION. PROCESS-DATA. READ INPUT-FILE AT END GO TO END-PROCESSING END-READ PERFORM PROCESS-RECORD. PROCESS-RECORD. * Process record logic here. CLEANUP-SECTION SECTION. CLEANUP-PROCEDURES. CLOSE INPUT-FILE OUTPUT-FILE DISPLAY "Program completed".
SECTION organizes procedures into logical groups.
Examples of using the SECTION statement in different program structures.
123456789101112131415161718192021222324252627282930313233* File processing with SECTIONs PROCEDURE DIVISION. MAIN-CONTROL. PERFORM INITIALIZATION PERFORM MAIN-PROCESSING PERFORM TERMINATION STOP RUN. INITIALIZATION SECTION. SETUP-PROGRAM. DISPLAY "Starting file processing" OPEN INPUT MASTER-FILE OPEN OUTPUT REPORT-FILE. MAIN-PROCESSING SECTION. PROCESS-FILES. READ MASTER-FILE AT END GO TO END-PROCESSING END-READ PERFORM VALIDATE-RECORD PERFORM WRITE-RECORD. VALIDATE-RECORD. * Validation logic here. WRITE-RECORD. * Write logic here. TERMINATION SECTION. CLEANUP-PROGRAM. CLOSE MASTER-FILE REPORT-FILE DISPLAY "Processing completed".
SECTIONs organize file processing operations.
Understanding best practices ensures effective use of the SECTION statement.
1. What is the primary purpose of the SECTION statement in COBOL?
2. In which COBOL division is the SECTION statement typically used?
3. What is the relationship between SECTION and PARAGRAPH?
4. Can a SECTION be called directly using PERFORM?
5. What is the main benefit of using SECTIONs in COBOL?