バージョン 4.2.5
 —  オペレーション  —

バックエンドプログラムの呼び出し規則

このドキュメントでは、バックエンドプログラムの呼び出しに適用される規則について説明します。

注:

以下のトピックについて説明します。


バックエンドプログラムの呼び出し規則(バッチモード)

プロファイルパラメータ PROGRAM を指定している(または SYSEXTP ライブラリのサブプログラム CMPGMSET を呼び出して Natural セッション中にダイナミックに設定する)場合は、セッションが正常終了していても異常終了していても、バックエンドプログラムが起動されます。 バックエンドプログラムは標準の OS リンケージ規則を使用して呼び出し、制御を呼び出し元に返す必要があります。

バックエンドプログラムが使用可能な場合は、セッション終了メッセージは表示されません。 Natural TERMINATE ステートメントの operand1 を使用して指定された 0 以外のユーザーリターンコードは、Natural エラーメッセージ NAT9987 によって示されます。

以下の情報を含むパラメータエリアがバックエンドプログラムに渡されます。

バックエンドプログラムのパラメータエリアの長さは 80 バイト以上です。 バックエンドプログラムのパラメータエリアの DSECT レイアウトを含む NAMBCKP マクロは、Natural ソースライブラリで提供され、アセンブラのバックエンドプログラムで使用されます。

Top of page

CICS 固有の考慮事項

CICS 環境では、バックエンドプログラムのパラメータデータは COMMAREA と TWA で渡されます。 TWA では、リターンコードとメッセージを含む 80 バイトのみが渡され、長さフィールドにはバックエンドプログラムのパラメータエリア全体をポイントするアドレスが含まれます。 Natural が EXEC CICS LINK を使用して起動されている場合も、同じ TWA が提供されます。Natural の『TP モニタインターフェイス』ドキュメントの「CICS 環境での Natural」および「LINK を介して起動されたフロントエンド」も参照してください。

Natural/CICS 生成マクロ(NCIPARM)でパラメータ COMAMSG=NO を設定している場合は、終了データのみが COMMAREA で渡されます。

Top of page

IMS/TM 固有の考慮事項

IMS/TM のダイアログ指向の環境では、バックエンドプログラムの呼び出し規則が異なります。 バックエンドプログラムはプログラム間の切り替えによって呼び出され、バックエンドプログラムの名前が IMS/TM トランザクションコードとして使用されます。 この場合は、プログラム間の切り替えが行われる前に Natural 環境が終了します。Natural の『TP モニタインターフェイス』ドキュメントの「IMS/TM 環境の Natural - 環境」で「Natural プロファイルパラメータ PROGRAM のサポート」を参照してください。

Top of page

サンプルバックエンドプログラム

以下に、いくつかのサンプルプログラムを示します。

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:

バッチモード用のサンプルプログラムは、XNATBACK として Natural ソースライブラリで提供されます。 このプログラムは、SYSPRINT(z/OS)/SYSLST(z/VSE)とオペレータコンソールの両方に Natural 終了メッセージを発行します。潜在的な終了データは SYSPRINT/SYSLST にダンプフォーマットで出力されます。

Top of page