IDENTIFICATION DIVISION. PROGRAM-ID. VALIDATE. ***************************************************************** * PROGRAM: VALIDATE - Input Validation Module * PURPOSE: Validate transaction input data ***************************************************************** ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-VALIDATION-FLAGS. 05 WS-CARD-VALID PIC X VALUE 'N'. 05 WS-AMOUNT-VALID PIC X VALUE 'N'. 05 WS-MERCHANT-VALID PIC X VALUE 'N'. 01 WS-INPUT-DATA. 05 WS-IN-CARD-NUMBER PIC X(16). 05 WS-IN-AMOUNT PIC 9(11)V99. 05 WS-IN-MERCHANT PIC X(15). PROCEDURE DIVISION. 0000-MAIN-VALIDATE. PERFORM 1000-VALIDATE-CARD PERFORM 2000-VALIDATE-AMOUNT PERFORM 3000-VALIDATE-MERCHANT STOP RUN. 1000-VALIDATE-CARD. IF WS-IN-CARD-NUMBER NOT = SPACES IF FUNCTION LENGTH( FUNCTION TRIM(WS-IN-CARD-NUMBER)) = 16 MOVE 'Y' TO WS-CARD-VALID END-IF END-IF. 2000-VALIDATE-AMOUNT. IF WS-IN-AMOUNT > 0 MOVE 'Y' TO WS-AMOUNT-VALID END-IF. 3000-VALIDATE-MERCHANT. IF WS-IN-MERCHANT NOT = SPACES MOVE 'Y' TO WS-MERCHANT-VALID END-IF.