MDCLGEN は、OpenESQL アシスタントの代わりにコピーブックおよびインクルード ファイルの生成に使用できるバッチ ツールです。MDCLGEN は、ほとんどのオプションについて、OpenESQL アシスタントに対する現在の設定を使用してコードを生成します。ただし、コマンド ライン パラメーターを使用して特定のデフォルト設定をオーバーライドできます。
MDCLGEN mode={ADO.NET | ODBC}; db=dsn; tbl=table-name; file=cpy-filename; [u=user-id;] [p=password;] [typevar={STD | OBJECT | SQL}]; [case={U | L | ASIS};] [schema=schema-name;] [sjis={T | F};}
| STD | 標準タイプの COBOL 型変数。デフォルト設定です | 
| OBJECT | .NET アプリケーションのパフォーマンスを向上できます | 
| SQL | OpenESQL プリプロセッサでホスト変数の用途をより適切に判断できます | 
MDCLGEN mode=odbc; db=sample; tbl=EMPLOYEE; file=employee.cpy; typevar=sql;
      *> -------------------------------------------
      *> DECLARE TABLE for EMPLOYEE
      *> -------------------------------------------
           EXEC SQL DECLARE EMPLOYEE TABLE 
           ( EMPNO                CHAR(6)      NOT NULL
           , FIRSTNME             VARCHAR(12)  NOT NULL
           , MIDINIT              CHAR(1)
           , LASTNAME             VARCHAR(15)  NOT NULL
           , WORKDEPT             CHAR(3)
           , PHONENO              CHAR(4)
           , HIREDATE             DATE
           , JOB                  CHAR(8)
           , EDLEVEL              SMALLINT     NOT NULL
           , SEX                  CHAR(1)
           , BIRTHDATE            DATE
           , SALARY               DECIMAL(9,2)
           , BONUS                DECIMAL(9,2)
           , COMM                 DECIMAL(9,2)
           ) END-EXEC.
      *> -------------------------------------------
      *> COBOL HOST VARIABLES FOR TABLE EMPLOYEE
      *> -------------------------------------------
       01  DCLEMPLOYEE.
           03 EMPLOYEE-EMPNO                  SQL TYPE IS
                                              CHAR(6).
           03 EMPLOYEE-FIRSTNME               SQL TYPE IS
                                              CHAR-VARYING(12).
           03 EMPLOYEE-MIDINIT                SQL TYPE IS
                                              CHAR(1).
           03 EMPLOYEE-LASTNAME               SQL TYPE IS
                                              CHAR-VARYING(15).
           03 EMPLOYEE-WORKDEPT               SQL TYPE IS
                                              CHAR(3).
           03 EMPLOYEE-PHONENO                SQL TYPE IS
                                              CHAR(4).
           03 EMPLOYEE-HIREDATE               SQL TYPE IS DATE.
           03 EMPLOYEE-JOB                    SQL TYPE IS
                                              CHAR(8).
           03 EMPLOYEE-EDLEVEL                PIC S9(04)  COMP-5.
           03 EMPLOYEE-SEX                    SQL TYPE IS
                                              CHAR(1).
           03 EMPLOYEE-BIRTHDATE              SQL TYPE IS DATE.
           03 EMPLOYEE-SALARY                 PIC S9(7)V9(2)  COMP-3.
           03 EMPLOYEE-BONUS                  PIC S9(7)V9(2)  COMP-3.
           03 EMPLOYEE-COMM                   PIC S9(7)V9(2)  COMP-3.
      *> -------------------------------------------
      *> COBOL INDICATOR VARIABLES FOR TABLE EMPLOYEE
      *> -------------------------------------------
       01  DCLEMPLOYEE-NULL.
           03 EMPLOYEE-MIDINIT-NULL           PIC S9(04)  COMP-5.
           03 EMPLOYEE-WORKDEPT-NULL          PIC S9(04)  COMP-5.
           03 EMPLOYEE-PHONENO-NULL           PIC S9(04)  COMP-5.
           03 EMPLOYEE-HIREDATE-NULL          PIC S9(04)  COMP-5.
           03 EMPLOYEE-JOB-NULL               PIC S9(04)  COMP-5.
           03 EMPLOYEE-SEX-NULL               PIC S9(04)  COMP-5.
           03 EMPLOYEE-BIRTHDATE-NULL         PIC S9(04)  COMP-5.
           03 EMPLOYEE-SALARY-NULL            PIC S9(04)  COMP-5.
           03 EMPLOYEE-BONUS-NULL             PIC S9(04)  COMP-5.
           03 EMPLOYEE-COMM-NULL              PIC S9(04)  COMP-5.