Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
💻 COBOL

COBOL SUBTRACT Statement

Beginner 🕑 10 min read 👁 0 views

COBOL SUBTRACT Statement

The SUBTRACT statement subtracts one or more numeric values from another.

Syntax

SUBTRACT identifier-1/literal FROM identifier-2
SUBTRACT identifier-1 FROM identifier-2 GIVING identifier-3
SUBTRACT CORRESPONDING group-1 FROM group-2

Example Program

       IDENTIFICATION DIVISION.
       PROGRAM-ID. SUB-DEMO.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-BALANCE     PIC 9(5) VALUE 10000.
       01 WS-WITHDRAWAL  PIC 9(4) VALUE 2500.
       01 WS-RESULT      PIC S9(5) VALUE 0.

       PROCEDURE DIVISION.
      * SUBTRACT FROM
           SUBTRACT WS-WITHDRAWAL FROM WS-BALANCE
           DISPLAY 'Balance after withdrawal: ' WS-BALANCE

      * SUBTRACT GIVING
           SUBTRACT 1000 FROM WS-BALANCE GIVING WS-RESULT
           DISPLAY 'Result: ' WS-RESULT

      * Multiple subtractions
           SUBTRACT 100 200 300 FROM WS-BALANCE
           DISPLAY 'After multiple subs: ' WS-BALANCE

           STOP RUN.

Expected Output

Balance after withdrawal: 07500
Result: 06500
After multiple subs: 06900

Key Points

  • SUBTRACT FROM modifies the destination
  • SUBTRACT GIVING preserves source values
  • Can subtract multiple values in one statement
  • Use signed fields (S9) for negative results