プログラム スケルトンの作成

ステップ 1 では、COBOL データ構造を示すために、部分的なプログラムから始めました。

ソース テキストの置換を行う COBOL コピーブックをいくつか使用することで、XML 拡張ライブラリ (COBOL 呼び出し可能サブプログラム) のインターフェイスが簡略化されます。つまり、開発者は、XML 拡張ライブラリのエントリ ポイントに直接アクセスする CALL 文を記述するのではなく、COBOL 文によく似た XML 拡張文を使用することができます。また、COBOL コピーブックでは、XML 拡張文とともに使用されるプログラム変数も定義します。XML 拡張を使用するには、コピーブック lixmlall.cpy (または lixmlall.cpy によって参照されるコピーブック) をプログラムの作業場所節にコピーする必要があります。詳細については、「コピーブック」を参照してください。

XML 拡張ライブラリを呼び出すには、次の行 (太字部分) をステップ 1 の COBOL プログラムに追加します。

Identification Division.
Program-Id. Getting-Started.
Data Division.
Working-Storage Section.
01  Customer-Address.
    02  Cust-Name     Pic X(128).
    02  Address-1     Pic X(128).
    02  Address-2     Pic X(128).
    02  Address-3.
        03  City      Pic X(64).
        03  State     Pic X(2).
        03  Zip       Pic 9(5) Binary.
Copy "lixmlall.cpy".
Procedure Division.
A.
    XML INITIALIZE.
    If Not XML-OK Go To Z.

< insert COBOL PROCEDURE DIVISION logic here >

Z.
Copy "lixmltrm.cpy".
    GoBack.
Copy "lixmldsp.cpy".
End Program  Getting-Started.

COPY 文は、データ構造の後の作業場所節に配置されています。

手続き部ヘッダーの後には、段落名 A. が入力されています。

XML INITIALIZE 文は、XML 拡張ライブラリの呼び出しを行います。XML INITIALIZE 文は COBOL OPEN 文と同様のものと考えることができます。

終了ロジックは、プログラムの最後に配置されています。段落名 Z. は、エラーまたは他の終了条件のための GO TO ターゲットとして使用されます。

コピーブック lixmltrm.cpy は、正しい終了シーケンスを生成するために使用されます。このコピーブックには、XML TERMINATE (COBOL CLOSE 文と同様) の呼び出しが含まれています。エラーがある場合は、このコピーブックのロジックによって、コピーブック lixmldsp.cpy で定義されている手続きが実行され、エラー メッセージが表示されます。

これで、元の部分的なプログラムは、XML 拡張ライブラリを呼び出す作業 COBOL プログラムとなります。その唯一の機能は、ライブラリのインターフェイスの開閉を行うことです。

コマンド ラインから、次のように入力して、プログラムをコンパイルおよび実行します。

cobol getstarted.cbl xmlgen(ws) noobj; run getstarted

run コマンドの最初のパラメーターは COBOL オブジェクト ファイルの名前です。