COBOL サンプルについて
このサンプルは、WebSphere Message Broker を使用して 2 項メッセージをモデル化する方法を紹介する 2 つのシナリオを提供します。
最初のシナリオでは、2 つの DFDL スキーマ・ファイル (OrderList.xsd および PurchaseData.xsd) を使用します。これらの DFDL スキーマ・ファイルはどちらも、DFDL の COBOL インポーターを使用して作成されました。このシナリオは、モデル化されたメッセージの内容を変更する方法、および異なるモデルが含まれているメッセージへシリアライズする方法を示しています。
2 つ目のシナリオは DFDL スキーマ・ファイル CustomerAddress を使用します。このスキーマの作成に使用された COBOL コピーブックは、88 レベルの変数を使用しています。
DFDL COBOL インポーター・ウィザードで 88 レベルの変数を使用すると、DFDL スキーマ・ファイルは 88 レベルの変数の値の列挙になります。
このサンプルに組み込まれている DFDL スキーマ・ファイルは、以下が含まれたサンプル・メッセージを正確にモデル化します。
- OCCURS
COBOL コピーブック "OrderList" 内で、レベル 10 の構造体 "Item" は 10 回出現します。
- OCCURS DEPENDING ON
COBOL コピーブック "OrderList" 内で、レベル 10 の構造体 "Invoice" の出現回数は、レベル 5 の構造体 "InvoiceCount" によって異なり、1 回から 50 回の間です。レベル 20 の構造体 "Item" の出現回数は、レベル 5 の構造体 "ItemCount" によって異なり、1 回から 50 回の間です。
- REDEFINES
- COBOL コピーブック "OrderList" 内で、レベル 5 の構造体 "PointOfSale2" はレベル 5 の構造体 "PointOfSale1" を再定義します。
- COBOL プログラムは、レベル 5 の構造体 "PointOfSaleType" の値を使用して、再定義を適用するかどうかを決めるように設計されています。COBOL コピーブック "OrderList" を使用して DFDL メッセージ・モデルを WebSphere Message Broker で構成すると、DFDL 判別注釈が DFDL スキーマ・ファイルに追加されます。
DFDL 判別は正しい論理モデルを作成するために DFDL パーサーによって使用されます。
- COBOL コピーブック "CustomerAddress" 内で、レベル 5 の構造体 "AddressParts" はレベル 5 の要素 "AddressString" を再定義します。
この再定義により、COBOL プログラムはアドレス・データを単一のデータ要素 "AddressString" として移動すること、
またはデータを "AddressParts" に含まれる別個の要素として処理することができます。
COBOL コピーブック "CustomerAddress" を使用して DFDL メッセージ・モデルを WebSphere Message Broker に構成すると、
論理モデルにアドレス・データが別個の要素として含まれるように、レベル 5 の構造体 "AddressParts" に含まれる再定義がデフォルトになります。
- 88 レベルの変数
COBOL コピーブック "CustomerAddress" 内で、レベル 7 の要素 "Country" には 4 つの可能な 88 レベル値があります。
各シナリオを実行する方法について詳しくは、COBOL サンプルの実行を参照してください。
これらのスキーマを再作成する方法の説明については、COBOL サンプルの作成を参照してください。
サンプルのホームに戻る