46 lines
1.5 KiB
COBOL
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)) = 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.
|