このドキュメントでは、バックエンドプログラムの呼び出しに適用される規則について説明します。
注:
このセクションは BS2000/OSD には適用されません。Natural の『TP モニタインターフェイス』ドキュメントの「UTM 環境の Natural」で「Natural 以外のプログラムの呼び出し」および「チェーンで結ばれた部分的な UTM プログラムの呼び出し」を参照してください。
z/OS 環境でのバッチモードを除いて、Natural セッションが Natural 開発サーバーで実行中の場合は、指定されたバックエンドプログラムは起動されません。
以下のトピックについて説明します。
プロファイルパラメータ PROGRAM
を指定している(または SYSEXTP
ライブラリのサブプログラム CMPGMSET
を呼び出して Natural セッション中にダイナミックに設定する)場合は、セッションが正常終了していても異常終了していても、バックエンドプログラムが起動されます。 バックエンドプログラムは標準の OS リンケージ規則を使用して呼び出し、制御を呼び出し元に返す必要があります。
バックエンドプログラムが使用可能な場合は、セッション終了メッセージは表示されません。 Natural TERMINATE
ステートメントの operand1 を使用して指定された 0 以外のユーザーリターンコードは、Natural エラーメッセージ NAT9987 によって示されます。
以下の情報を含むパラメータエリアがバックエンドプログラムに渡されます。
Natural システムまたはユーザーのリターンコードを保持するフルワード
72 文字の Natural 終了メッセージ
Natural 終了データの長さ(または 0)を保持するフルワード
TERMINATE
ステートメントの operand2
によって渡された終了データ(存在する場合)
バックエンドプログラムのパラメータエリアの長さは 80 バイト以上です。 バックエンドプログラムのパラメータエリアの DSECT
レイアウトを含む NAMBCKP
マクロは、Natural ソースライブラリで提供され、アセンブラのバックエンドプログラムで使用されます。
CICS 環境では、バックエンドプログラムのパラメータデータは COMMAREA と TWA で渡されます。 TWA では、リターンコードとメッセージを含む 80 バイトのみが渡され、長さフィールドにはバックエンドプログラムのパラメータエリア全体をポイントするアドレスが含まれます。
Natural が EXEC CICS LINK
を使用して起動されている場合も、同じ TWA が提供されます。Natural の『TP モニタインターフェイス』ドキュメントの「CICS 環境での Natural」および「LINK を介して起動されたフロントエンド」も参照してください。
Natural/CICS 生成マクロ(NCIPARM
)でパラメータ COMAMSG=NO
を設定している場合は、終了データのみが COMMAREA で渡されます。
IMS/TM のダイアログ指向の環境では、バックエンドプログラムの呼び出し規則が異なります。 バックエンドプログラムはプログラム間の切り替えによって呼び出され、バックエンドプログラムの名前が IMS/TM トランザクションコードとして使用されます。 この場合は、プログラム間の切り替えが行われる前に Natural 環境が終了します。Natural の『TP モニタインターフェイス』ドキュメントの「IMS/TM 環境の Natural - 環境」で「Natural プロファイルパラメータ PROGRAM のサポート」を参照してください。
以下に、いくつかのサンプルプログラムを示します。
COBOL によるバッチおよび TSO 環境用のサンプルバックエンドプログラム: LINKAGE SECTION 01 BACKEND-PARM-AREA. 02 TERMINATION-RETURN-CODE PIC S9(8) COMP. 02 TERMINATION-MESSAGE PIC X(72). 02 TERMINATION-DATA-LENGTH PIC S9(8) COMP. 02 TERMINATION-DATA PIC X(100) ... PROCEDURE DIVISION USING BACKEND-PARM-AREA アセンブラによるバッチおよび TSO 環境用のサンプルバックエンドプログラム: BACKPROG CSECT SAVE (14,12) LR 11,15 USING BACKPROG,11 L 2,0(1) USING BCKPARM,2 ... RETURN (14,12) BCKPARM NAMBCKP END アセンブラによる CICS 用のサンプルバックエンドプログラム: L 2,DFHEICAP USING BCKPARM,2 ... BCKPARM NAMBCKP END バッチモード(z/OS および z/VSE)用のサンプルバックエンドプログラム XNATBACK:
バッチモード用のサンプルプログラムは、 |