MainframeMaster

COBOL Tutorial

COBOL VALIDATE-STATUS - Quick Reference

Progress0 of 0 lessons

Overview

VALIDATE-STATUS is a special register or data item that contains the result of a VALIDATE operation. It provides status codes indicating whether validation succeeded or failed, allowing programs to handle validation errors appropriately.

Key Features

  • Status indication - Shows validation success or failure
  • Error codes - Provides specific error information
  • Program control - Enables conditional processing based on validation results
  • Error handling - Supports robust error management

Syntax and Usage

VALIDATE-STATUS usage patterns and status code checking for different validation scenarios.

Basic VALIDATE-STATUS Usage

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
IDENTIFICATION DIVISION. PROGRAM-ID. VALIDATE-STATUS-EXAMPLE. DATA DIVISION. WORKING-STORAGE SECTION. 01 CUSTOMER-AGE PIC 9(3) VALUE 25. 01 VALIDATE-STATUS PIC 9(2) VALUE 0. PROCEDURE DIVISION. VALIDATE CUSTOMER-AGE IF VALIDATE-STATUS = 00 DISPLAY "Validation successful" ELSE DISPLAY "Validation failed with status: " VALIDATE-STATUS END-IF STOP RUN.

Basic usage of VALIDATE-STATUS to check validation results.

VALIDATE-STATUS with Multiple Validations

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
IDENTIFICATION DIVISION. PROGRAM-ID. MULTIPLE-VALIDATE. DATA DIVISION. WORKING-STORAGE SECTION. 01 CUSTOMER-DATA. 05 CUSTOMER-AGE PIC 9(3) VALUE 25. 05 CUSTOMER-NAME PIC X(30) VALUE "JOHN DOE". 05 CUSTOMER-EMAIL PIC X(50) VALUE "john@example.com". 01 VALIDATE-STATUS PIC 9(2) VALUE 0. PROCEDURE DIVISION. MAIN-LOGIC. VALIDATE CUSTOMER-AGE IF VALIDATE-STATUS NOT = 00 DISPLAY "Age validation failed: " VALIDATE-STATUS GO TO ERROR-EXIT END-IF VALIDATE CUSTOMER-NAME IF VALIDATE-STATUS NOT = 00 DISPLAY "Name validation failed: " VALIDATE-STATUS GO TO ERROR-EXIT END-IF VALIDATE CUSTOMER-EMAIL IF VALIDATE-STATUS NOT = 00 DISPLAY "Email validation failed: " VALIDATE-STATUS GO TO ERROR-EXIT END-IF DISPLAY "All validations successful" GO TO NORMAL-EXIT. ERROR-EXIT. DISPLAY "Validation error occurred" STOP RUN. NORMAL-EXIT. STOP RUN.

Checking VALIDATE-STATUS after multiple validation operations.

VALIDATE-STATUS with Error Handling

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
IDENTIFICATION DIVISION. PROGRAM-ID. VALIDATE-ERROR-HANDLING. DATA DIVISION. WORKING-STORAGE SECTION. 01 INVALID-DATA PIC 9(3) VALUE 999. 01 VALIDATE-STATUS PIC 9(2) VALUE 0. 01 ERROR-MESSAGE PIC X(50). PROCEDURE DIVISION. VALIDATE INVALID-DATA EVALUATE VALIDATE-STATUS WHEN 00 DISPLAY "Validation successful" WHEN 01 MOVE "Data format error" TO ERROR-MESSAGE PERFORM HANDLE-ERROR WHEN 02 MOVE "Data range error" TO ERROR-MESSAGE PERFORM HANDLE-ERROR WHEN OTHER MOVE "Unknown validation error" TO ERROR-MESSAGE PERFORM HANDLE-ERROR END-EVALUATE STOP RUN. HANDLE-ERROR. DISPLAY "Error: " ERROR-MESSAGE DISPLAY "Status: " VALIDATE-STATUS EXIT.

Using EVALUATE to handle different validation status codes.

Status Codes

Success Codes

Status codes indicating successful validation.

text
1
2
00 - Validation successful 01 - Validation successful with warnings

Error Codes

Common error status codes.

text
1
2
3
4
01 - Format validation error 02 - Range validation error 03 - Custom validation error 99 - General validation failure

Checking Status

How to check validation status.

cobol
1
2
3
4
5
IF VALIDATE-STATUS = 00 * Success handling ELSE * Error handling END-IF

Status Declaration

Declaring VALIDATE-STATUS variable.

cobol
1
01 VALIDATE-STATUS PIC 9(2) VALUE 0.

Best Practices

  • Always check status - Check VALIDATE-STATUS after every validation operation
  • Handle all codes - Provide handling for all possible status codes
  • Use meaningful messages - Provide clear error messages based on status codes
  • Document status codes - Document the meaning of status codes for your implementation
  • Test error scenarios - Test your error handling with various validation failures

VALIDATE-STATUS Quick Reference

Status CodeMeaningAction
00SuccessContinue processing
01Format errorCheck data format
02Range errorCheck data range
99General failureInvestigate error

Test Your Knowledge

1. What does VALIDATE-STATUS represent in COBOL?

  • A program compilation status
  • The result of a VALIDATE operation
  • A system error code
  • A file operation status

2. What is a typical value for VALIDATE-STATUS when validation succeeds?

  • 00
  • 99
  • FF
  • Any non-zero value

3. How do you check VALIDATE-STATUS after a validation operation?

  • Use IF VALIDATE-STATUS = 00
  • Use IF VALIDATE-STATUS IS SUCCESS
  • Use IF VALIDATE-STATUS IS VALID
  • All of the above depending on implementation

4. What should you do when VALIDATE-STATUS indicates failure?

  • Terminate the program immediately
  • Handle the error appropriately and provide user feedback
  • Ignore the error and continue processing
  • Restart the validation process

5. Can VALIDATE-STATUS be used with all validation methods?

  • Yes, with all validation approaches
  • Only with VALIDATE statement
  • Only with manual validation
  • Only with file validation

Frequently Asked Questions