MainframeMaster

COBOL Tutorial

COBOL SYMBOL - Quick Reference

Progress0 of 0 lessons

Overview

The SYMBOL keyword in COBOL is used to define symbolic constants and data representations. It allows programmers to assign meaningful names to values, making code more readable and maintainable.

Purpose and Usage

  • Symbolic constants - Define named constants for values
  • Special character representation - Represent special characters
  • System value representation - Represent system values
  • Data value representation - Represent specific data values
  • Configuration symbols - Define program configuration values

Syntax and Usage

SYMBOL is defined in the SPECIAL-NAMES paragraph of the CONFIGURATION SECTION and can be referenced throughout the program.

Basic SYMBOL Syntax

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
* Basic SYMBOL syntax examples IDENTIFICATION DIVISION. PROGRAM-ID. SYMBOL-DEMO. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. SYMBOLIC CONSTANTS MAX-RECORDS IS 1000 MIN-BALANCE IS 0 DEFAULT-CURRENCY IS "USD" SYSTEM-DATE-FORMAT IS "YYYY-MM-DD" ERROR-CODE-SUCCESS IS 0 ERROR-CODE-FAILURE IS 1 SYMBOLIC CHARACTERS PLUS-SIGN IS "+" MINUS-SIGN IS "-" DECIMAL-POINT IS "." COMMA-SEPARATOR IS "," SYMBOLIC VALUES TRUE-VALUE IS "Y" FALSE-VALUE IS "N" BLANK-VALUE IS SPACE ZERO-VALUE IS "0".

Basic SYMBOL usage for defining symbolic constants and values.

Complete SYMBOL Program Example

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
* Complete COBOL program demonstrating SYMBOL usage IDENTIFICATION DIVISION. PROGRAM-ID. SYMBOL-EXAMPLE. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. SYMBOLIC CONSTANTS MAX-CUSTOMERS IS 10000 MIN-ACCOUNT-BALANCE IS 0 DEFAULT-INTEREST-RATE IS 0.05 SYSTEM-TIMEOUT IS 30 SUCCESS-STATUS IS "SUCCESS" ERROR-STATUS IS "ERROR" SYMBOLIC CHARACTERS CURRENCY-SYMBOL IS "$" PERCENT-SYMBOL IS "%" ASTERISK-SYMBOL IS "*" HASH-SYMBOL IS "#" SYMBOLIC VALUES ACTIVE-STATUS IS "A" INACTIVE-STATUS IS "I" PENDING-STATUS IS "P" COMPLETED-STATUS IS "C". DATA DIVISION. WORKING-STORAGE SECTION. 01 PROGRAM-CONSTANTS. 05 MAX-RECORDS-PER-BATCH PIC 9(4) VALUE MAX-CUSTOMERS. 05 MIN-BALANCE-REQUIRED PIC 9(8)V99 VALUE MIN-ACCOUNT-BALANCE. 05 DEFAULT-RATE PIC 9(3)V99 VALUE DEFAULT-INTEREST-RATE. 01 STATUS-VALUES. 05 CUSTOMER-STATUS PIC X. 05 TRANSACTION-STATUS PIC X(10). PROCEDURE DIVISION. MAIN-LOGIC. PERFORM INITIALIZE-PROGRAM PERFORM PROCESS-CUSTOMER-DATA PERFORM DISPLAY-RESULTS STOP RUN. INITIALIZE-PROGRAM. DISPLAY "Program initialized with symbolic constants" DISPLAY "Max customers: " MAX-CUSTOMERS DISPLAY "Min balance: " MIN-ACCOUNT-BALANCE DISPLAY "Default rate: " DEFAULT-INTEREST-RATE. PROCESS-CUSTOMER-DATA. MOVE ACTIVE-STATUS TO CUSTOMER-STATUS MOVE SUCCESS-STATUS TO TRANSACTION-STATUS DISPLAY "Customer status: " CUSTOMER-STATUS DISPLAY "Transaction status: " TRANSACTION-STATUS. DISPLAY-RESULTS. DISPLAY "=== SYMBOL USAGE RESULTS ===" DISPLAY "Currency symbol: " CURRENCY-SYMBOL DISPLAY "Percent symbol: " PERCENT-SYMBOL DISPLAY "Active status: " ACTIVE-STATUS DISPLAY "Success status: " SUCCESS-STATUS.

The program demonstrates comprehensive SYMBOL usage for constants and values.

Common Use Cases

SYMBOL is essential in various scenarios where symbolic constants, special characters, and configuration values are needed.

Configuration and Constants

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
* Configuration and constants using SYMBOL ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. SYMBOLIC CONSTANTS DATABASE-TIMEOUT IS 60 FILE-BUFFER-SIZE IS 4096 MAX-RETRY-ATTEMPTS IS 3 LOG-LEVEL-INFO IS 1 LOG-LEVEL-WARNING IS 2 LOG-LEVEL-ERROR IS 3 SYMBOLIC VALUES DATABASE-STATUS-OK IS "OK" DATABASE-STATUS-ERROR IS "ERROR" FILE-STATUS-OPEN IS "OPEN" FILE-STATUS-CLOSED IS "CLOSED".

Configuration and constants use SYMBOL for program settings and status values.

Special Character Representation

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
* Special character representation using SYMBOL ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. SYMBOLIC CHARACTERS TAB-CHARACTER IS X"09" NEWLINE-CHARACTER IS X"0A" CARRIAGE-RETURN IS X"0D" ESCAPE-CHARACTER IS X"1B" NULL-CHARACTER IS X"00" BACKSPACE-CHARACTER IS X"08" SYMBOLIC VALUES YES-RESPONSE IS "Y" NO-RESPONSE IS "N" UNKNOWN-RESPONSE IS "U".

Special character representation uses SYMBOL for control characters and responses.

Best Practices and Tips

Following these best practices ensures effective use of SYMBOL in COBOL applications for better maintainability.

SYMBOL Best Practices

  • Use descriptive names - Choose names that clearly indicate the purpose
  • Group related symbols - Organize symbols by category or function
  • Document symbol meanings - Add comments explaining symbol purposes
  • Use consistent naming - Follow consistent naming conventions
  • Avoid hard-coded values - Use symbols instead of literal values
  • Centralize symbol definitions - Keep all symbols in one location

SYMBOL Quick Reference

AspectDescriptionExample
LocationSPECIAL-NAMES paragraphCONFIGURATION SECTION
Basic SyntaxSYMBOLIC CONSTANTS name IS valueMAX-RECORDS IS 1000
Character SymbolsSYMBOLIC CHARACTERS name IS valuePLUS-SIGN IS "+"
Value SymbolsSYMBOLIC VALUES name IS valueTRUE-VALUE IS "Y"
UsageReference by name in programMOVE MAX-RECORDS TO WS-COUNTER

Test Your Knowledge

1. What is the primary purpose of SYMBOL in COBOL?

  • To define arithmetic operations
  • To represent symbolic constants and data values
  • To control file operations
  • To define data types

2. Where is SYMBOL typically defined in a COBOL program?

  • In the DATA DIVISION for data definitions
  • In the SPECIAL-NAMES paragraph of the CONFIGURATION SECTION
  • In the PROCEDURE DIVISION for program logic
  • In the ENVIRONMENT DIVISION

3. What types of values can SYMBOL represent?

  • Only numeric values
  • Only alphabetic values
  • Various data values including constants, special characters, and system values
  • Only file names

4. How does SYMBOL improve program maintainability?

  • By reducing program size
  • By providing symbolic names for constants and values, making code more readable and maintainable
  • By increasing execution speed
  • By reducing memory usage

5. Which of the following is a common use of SYMBOL?

  • File sorting operations
  • Defining symbolic constants, representing special values, and improving code readability
  • Database operations
  • Mathematical calculations

Frequently Asked Questions