cobol-sample-app/src/cobol/VALIDATE.CBL

46 lines
1.5 KiB
COBOL

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)) >= 10
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.