マッピング・サポート・システムの紹介
本章では、マッピング・サポート・システムおよびその構成について紹介します。
1. 概要
マッピング・サポートは、OpenFrame OSC(以下、OSC)プログラムとTN3270端末間の通信プログラミング・インターフェースを提供する、OSCアプリケーション・サーバーのサブシステムです。
TN3270端末の入出力は3270データ・ストリームというデータ構造で定義されています。マッピング・サポートは、マップというリソースを使用して、OSCアプリケーション・プログラムから渡されたデータを3270データ・ストリームに変換したり、端末から受信した3270データ・ストリームをOSCアプリケーションが使用するデータ型に変換したりします。
以下は、マッピング・サポートの基本構造を示す図です。

マッピング・サポート機能には以下のようなメリットがあります。
-
端末への依存性を除去
アプリケーション開発者は、複雑な3270データ・ストリーム構造を把握して、それを制御するプログラム・ロジックをアプリケーションに実装する必要がありません。いくつかのEXEC CICSコマンドを使用して簡単に端末の入出力を制御することができます。
-
アプリケーション・ロジックから画面構成を分離
画面構成を変更する場合はマップのみ変更し、プログラム・ロジックを変更する場合はプログラムのみを修正すれば済みます。そのため、既存の画面をそのまま使用する新規プログラムの作成や既存のプログラムとマップのメンテナンスが便利です。
2. マップの構成
1つのマップは物理マップ、シンボリック・マップ、マップ・ソースコードの3つの要素で構成されます。
マップ・ソースコードには1つ以上のマップ・セットが宣言されている必要があります。マップ・ソースコードをコンパイルすると、それぞれのマップ・セットに対してマップ・セット名をファイル名として持つ物理マップ・ファイルとシンボリック・マップ・ファイルが1つずつ作成されます。
-
物理マップ
マップを構成する各フィールドの属性とデータ変換に必要な情報が保存されているバイナリ・ファイルです。物理マップは、OSCアプリケーション・サーバーで3270データ・ストリームとシンボリック・マップに宣言されているデータ構造間の変換に使用されます。
-
シンボリック・マップ
アプリケーションが使用するデータの構造が定義されているCOBOLコピーブック・ファイルです。TN3270端末から受信したデータは、物理マップの情報に基づいてシンボリック・マップに定義されている形式に変換されます。一方、アプリケーションからTN3270端末にデータを送信するときは、シンボリック・マップに定義されている形式でデータを構成する必要があります。
-
マップ・ソースコード
ユーザーが作成したIBMアセンブラー言語マクロのソースコードです。マップ・ソースコードを利用して、COBOLまたはOSCアプリケーション・サーバーが使用する物理マップとアプリケーションのコンパイルに使用されるシンボリック・マップを作成することができます。
以下は、マッピング・サポート・システムの動作を示すフローチャートです。

以下は、マッピング・サポート・システムの動作についての説明です。
-
IBMアセンブラー言語マクロのフォーマットに従ってマップ・ソースコードを作成するか、リホストの対象となるIBM CICSトランザクション・サーバー(以下、CICS)で使用されていたマップ・ソースコードを移行します。
-
mscmapcツールを使ってマップ・ソースコードをコンパイルします。マップ・ソースコードにDFHMSD/DFHMDI/DFHMDFマクロ以外のIBMアセンブラー言語マクロが含まれている場合は、mscasmcツールを使用してアセンブラー・マクロを前処理した後、mscmapcツールを使ってコンパイルします。
-
コンパイルによって作成されたシンボリック・マップは、当該マップを使用するOSCアプリケーションのコンパイル時にプログラム・ソースコードと一緒にコンパイルします。
-
OSCアプリケーション・サーバーは、物理マップ・ファイルを使用して3270データ・ストリームとアプリケーション・データの変換を行います。