7.42 EXCHANGE
EXCHANGEコマンドを使用すると、「交換リスト」と呼ばれるLANSA内部の待ち行列を介してファンクション間で情報を交換できます。
「交換リスト」は、ファンクション間で情報を交換するための掲示板のようなものです。プログラム間で情報を交換するために従来使用されてきたパラメータ・リストとは概念が異なります。
ファンクションがEXCHANGEコマンドを実行(またはEXCHANGEパラメータを使用)すると、掲示板に情報が「張り出され」ます。この情報は、別のファンクションが呼び出されるまで掲示板に残されます。
別のファンクションが呼び出されると、そのファンクションは、まず掲示板上の項目を調べます。そのファンクションに「該当」する項目がある場合、その項目が掲示板からファンクションにコピーされます。
その後、掲示板はクリアされます。この手順が必ず実行されることを覚えておいてください。
コンポーネント内のEXCHANGEコマンドは、ファンクションとの情報の受け渡しに対してのみ有効です。例えば、CALLまたはSUBMITコマンドの使用は、コンポーネントで情報を受け取る方法として有効ではないため、予期しない結果が生じます(例えば、コンポーネントをインスタンス化しても、交換リストはクリアされません)。コンポーネントと情報を受け渡しするには、メソッド呼び出しを使用するか、プロパティを取得するか、またはプロパティを設定することをお勧めします。
ファンクションを呼び出す方法は多数あります。例えば、TRANSFERコマンド、CALLコマンド、またはSUBMITコマンドを実行するか、[プロンプト]ファンクション・キーを押して、プロセスのメイン・メニューから選択することができます。
参照
EXCHANGEによるRPG/COBOLから交換リストへのアクセス
任意指定
EXCHANGE ----- FIELDS ------- フィールド名 --------------------->
| 拡張可能なグループ式 |
| |
--------- 最大100 -----------
OPTION ------- *NOW ---------------------------|
*ALWAYS