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.