DCLGEN


What is DCLGEN?


DCLGEN (Declarations Generator) is a DB2 utility that generates the COBOL host variable declarations and table definitions automatically. It helps developers ensure that the COBOL variables match the DB2 table columns correctly, reducing the risk of data type mismatches.

How DCLGEN Works -

  1. Generate DCLGEN Output:
    • COBOL host variable declarations for all the columns in a table.
    • SQL table definition as part of the output.
  2. Include DCLGEN in a COBOL Program: Use EXEC SQL INCLUDE to pull the generated declarations into your COBOL program.

DCLGEN Example and Usage in a COBOL + DB2 Program -

Step1 - Generated DCLGEN for Employees Table

DCLGEN generates the following COBOL declarations and SQL table definition:

* DCLGEN Output for Employees Table
01 EMPLOYEES-REC.
   05 EMP-ID     PIC S9(5) COMP.
   05 EMP-NAME   PIC X(50).
   05 EMP-SALARY PIC 9(7)V99 COMP-3.

EXEC SQL DECLARE EMPLOYEES TABLE (
    EMP_ID     INTEGER,
    EMP_NAME   VARCHAR(50),
    SALARY     DECIMAL(9,2)
) END-EXEC.

Step2 - Use DCLGEN in COBOL Program

...
 WORKING-STORAGE SEXTION.
....
* Include DCLGEN declarations
   EXEC SQL 
	INCLUDE EMPLOYEES 
   END-EXEC.  
...
Note! The EXEC SQL and END-EXEC keywords are used to embed SQL statements within COBOL code. All SQL statements like SELECT, INSERT, UPDATE, DELETE, COMMIT, SQLCA and table DCLGENs are enclosed between these keywords.

Benefits of Using DCLGEN -

  • Reduces Errors: Ensures consistency between COBOL variables and DB2 table columns.
  • Saves Time: Automates the generation of host variable declarations.
  • Improves Maintainability: Easier to manage large programs with consistent declarations.