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

BS2000/OSD 環境下のバッチモードの Natural

このドキュメントでは、BS2000/OSD オペレーティングシステムで Natural をバッチモードで実行する際の特別な考慮事項について説明します。

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

BS2000/OSD 環境下の Natural のバッチエラーメッセージ」も参照してください。

バッチモードの Natural 全般に適用される考慮事項については、以下のセクションを参照してください。


BS2000/OSD バッチモードセッションで使用される Natural データセット

Natural BS2000/OSD バッチモードセッション時には、以下のシーケンシャルデータセットがオプションで使用されます。

データセット 説明
CMPRMIN ダイナミックパラメータデータセット
CMSYNIN プライマリ入力
CMOBJIN Natural INPUT ステートメントの入力
CMPRINT プライマリレポート出力
CMPLOG ダイナミックパラメータのレポート出力(オプション)
CMTRACE Natural トレースのレポート出力(オプション)
CMHCOPY ハードコピーのレポート出力(オプション)
CMPRT 追加レポート
CMWKF Natural ワークファイル

CMPRMIN - ダイナミックパラメータデータセット

CMPRMIN をダイナミックパラメータデータセットとして使用すると、EXEC ステートメントのジョブ制御キーワード PARM の文字列の長さ制限を超えることができます。

CMPRMIN からのすべての入力レコードが、1 つのパラメータ文字列に連結されます。 各 CMPRMIN レコードの最初の 72 文字目までが有効です。 各レコードの末尾の空白は切り捨てられます。コンマは挿入されません。

PARM ジョブ制御キーワードを使用して、ダイナミックパラメータを追加することができます。 追加したダイナミックパラメータは、CMPRMIN からのパラメータの後に連結されます。つまり、PARM 文字列を使用して、CMPRMIN データセットで指定されたダイナミックパラメータを上書きできます。

ダイナミックパラメータの読み取りの詳細については、マクロ NAMBS2 のキーワードパラメータ DYNPAR=FILE を参照してください(「DYNPAR」を参照)。

CMSYNIN - プライマリ入力

CMSYNIN は、Natural コマンドと Natural ソースプログラム(およびオプションで Natural プログラムの実行中に INPUT ステートメントによって読み取られるデータ)を含むプライマリ入力ファイルに使用されます。

実際に処理される行当たりの文字数は、プロファイル/セッションパラメータ SL の現在の設定によって決まります。 この設定は、ソースステートメントと実行時入力データの両方に適用されます。 これにより、必要に応じて、ID またはシーケンス番号を各レコードの右端の列に配置することができます。

/SYSFILE SYSDTA=file.

CMOBJIN - Natural INPUT ステートメントの入力

CMOBJIN は、Natural INPUT ステートメントで読み取られるデータに使用されます。 このタイプのデータは、関連するソースプログラムや関連する RUN または EXEC コマンドの直後の CMSYNIN データセットに配置することもできます。

プロファイルパラメータ OBJIN を "N" に設定すると、Natural は CMSYNIN から入力を読み取ります。 OBJIN を "Y" に設定すると、Natural は CMOBJIN から入力を読み取ります。

OBJIN を "R" に設定すると、Natural は CMOBJIN の DD ステートメントの有無に基づいて、特定のセッション用に選択されたオプションを判別します。

CMOBJIN に関する DCB の考慮事項は CMSYNIN と同じです。 レコードの読み取りでは、プロファイル/セッションパラメータ SL で指定された最大文字数が解釈されます。 エラーが発生した場合は、プロファイル/セッションパラメータ CC の設定に従って対処されます。

/SYSFILE SYSDTA=file

/SYSFILE SYSIPT=file は、ダイナミックセッションパラメータを読み取れるように設定する必要があります。 ファイル当たり最大 3 行がダイナミックセッションパラメータとして読み取られます。

CMPRINT - プライマリレポート出力

CMPRINT は、Natural プログラム内の DISPLAYPRINT、および WRITE ステートメントの結果をレポートするプライマリ出力に使用されます。

/SYSFILE SYSOUT=file

または

/SYSFILE SYSLST=file

GLOBAL SET パラメータ &WRITE の値に基づきます。

CMPLOG - ダイナミックパラメータのレポート出力(オプション)

プロファイルパラメータ PLOG が "ON" に設定されている場合は、すべてのダイナミックプロファイルパラメータはセッションの初期化時にこのデータセットに書き込まれます。 CMPLOG が定義されていない場合は、代わりに CMPRINT が使用されます。

/SYSFILE SYSOUT=file

または

/SYSFILE SYSLST=file

GLOBAL SET パラメータ &WRITE の値に基づきます。

CMTRACE - Natural トレースのレポート出力(オプション)

プロファイルパラメータ ETRACEON に設定されている場合は、すべてのトレース出力はセッション中にこのデータセットに書き込まれます。

/SYSFILE SYSOUT=file

または

/SYSFILE SYSLST=file

GLOBAL SET パラメータ &WRITE の値に基づきます。

CMHCOPY - ハードコピーのレポート出力(オプション)

ハードコピーの出力先。 このデータセットの名前は、プロファイルパラメータ HCDEST または端末コマンド %H を使用して変更できます。

/SYSFILE SYSOUT=file

または

/SYSFILE SYSLST=file

GLOBAL SET パラメータ &WRITE の値に基づきます。

CMPRTnn - 追加レポート

CMPRTnn は、セッション中にコンパイルまたは実行された Natural プログラムによって参照される追加の各レポートに使用されます。 nn は、DISPLAYPRINT、および WRITE ステートメントで使用されているレポート番号に対応する 01~31 の 2 桁の 10 進数である必要があります。

CMPRTnn の代わりに、プロファイルパラメータ PRINTDEST サブパラメータを適切な値に設定することで、別の名前を使用できます。以下に例を示します。

PRINT=((nn),...,DEST=PRINTFIL)

DCB 情報は省略可能です。 省略した場合は、プロファイルパラメータ PRINT、サブパラメータ RECFMLRECL、および BLKSIZE で提供されます。 RECFM を指定していない場合は、"VBA" に設定されます。 DCB 情報が提供されていない場合は、以下の処理が適用されます。

/FILE file, LINK=Pnn.

CMWKFnn - Natural ワークファイル

CMWKFnn は、セッション中にコンパイルまたは実行された Natural プログラムによって参照される各 Natural ワークファイルに使用されます。 nn は、READ WORK FILE または WRITE WORK FILE ステートメントで使用されているレポート番号に対応する 01~32 の 2 桁の 10 進数である必要があります。

CMWKFnn の代わりに、プロファイルパラメータ WORK のサブパラメータ DEST を適切な値に設定することで、別の名前を使用することができます。

DCB 情報は出力ファイル用で省略可能です。 省略した場合は、プロファイルパラメータ WORK、サブパラメータ RECFMLRECL、および BLKSIZE で提供されます。 DCB 情報が提供されていない場合は、以下の処理が適用されます。

/FILE file,LINK=Wnn

Top of page

キーワードパラメータ

Natural BS2000/OSD バッチモードドライバは、NAMBS2 マクロをアセンブルして生成されます。 ドライバモジュールの条件付きアセンブルの制御には、以下のキーワードパラメータを使用できます。

パラメータは名前のアルファベット順に示しています。

ADACOM

設定可能値: ADACOM=ADAUSERADACOM=ADABASADACOM=ADALNK
デフォルト値: ADACOM=ADALNK

このパラメータは、フロントエンド部分の生成に適用されます。 使用する Adabas リンクモジュールを決定します。 設定可能値:

ADACOM=ADAUSER モジュール ADAUSER がフロントエンド部分にリンクされます(Adabas バージョン 7.1 未満)。
ADACOM=ADABAS モジュール ADAUSER および SSFB2C がフロントエンド部分にリンクされます(Adabas バージョン 7.1 以降)。
ADACOM=ADALNK モジュール ADALNK(Adabas バージョン 7.1 未満)、またはモジュール ADALNKADAL2P、および SSFB2C(Adabas バージョン 7.1 以降)がフロントエンド部分にリンクされます。

ADDBUFF

設定可能値: 1~8
デフォルト値: なし

このパラメータは、フロントエンド部分の生成に適用されます。

端末 I/O バッファの追加のページ数(4 KB 単位)を決定します。

APPLNAM

設定可能値: name
デフォルト値: NATBS2

このパラメータは、フロントエンド部分の生成に適用されます。

name は、Natural バッチアプリケーションの名前(最大 8 文字)です。 この名前は、Natural バッチタスクが初期化される際のシリアライゼーション ID の一部です。

CODE

設定可能値: FRONT/RENT
デフォルト値: FRONT

このパラメータは、フロントエンド部分とリエントラント部分の両方の生成に適用されます。

生成する Natural BS2000/OSD インターフェイスの部分を決定します。

CODE=FRONT フロントエンド部分を生成/アセンブルすることを示します。
CODE=RENT リエントラント部分を生成/アセンブルすることを示します。

DELETE

設定可能値: ON/OFF
デフォルト値: ON

このパラメータは、リエントラント部分の生成に適用されます。

DELETE=ON Natural パラメータモジュール内のプロファイルパラメータ DELETE の設定は、ダイナミックにロードされた非 Natural プログラムをロード先 の Natural プログラムの終了時にアンロードするかどうか、またコマンドモードに入ったときにアンロードするかどうかを決定します。
DELETE=OFF いったんダイナミックにロードされた非 Natural プログラムは、Natural セッション全体を通じて保持されます。

DYNPAR

設定可能値: SYSDTA/SYSIPT/FILE/NO
デフォルト値: NO

このパラメータは、フロントエンド部分の生成に適用されます。

DYNPAR=NO ダイナミックパラメータは読み取られません。
DYNPAR=SYSDTA ダイナミックパラメータは SYSDTA から読み取られます。 SYSDTASYSCMD に割り当てられている場合は、/EXEC Natural カードの後に少なくとも 1 つの /EOF カードが必要です。
例:
/LOGON
/SYSFILE SYSDTA=(SYSCMD)
/EXEC NATBAT
/EOF * Null dynamic parameters
LOGON SYSEXTP
L * *
FIN
/LOGOFF

DYNPAR=SYSIPT ダイナミックパラメータは SYSIPT から読み取られます。
DYNPAR=FILE ダイナミックパラメータはシーケンシャルファイルから読み取られます。 この SAM ファイルの入力は単一のテキスト文字列として解釈されます。つまり、個々のエントリは行末にある場合でもコンマで区切る必要があります。 このようなパラメータファイルは、LINK パラメータ CMPRMIN を使用して FILE コマンドで定義する必要があります。
例:
/FILE NAT.PARAMS,LINK=CMPRMIN

ILCS

設定可能値: YES/NO/CRTE
デフォルト値: NO

このパラメータは、リエントラント部分の生成に適用されます。

ILCS=CRTE

3GL サブプログラムは、共通ランタイム環境規則を使用して起動されます。 これを可能にするには、ILCS 初期化ルーチン IT0SL# が Natural フロントエンドにリンクされている必要があります。

INCLUDE IT0SL#,SYSLNK.CRTE.010
RESOLVE,SYSLNK.CRTE.010
ILCS=YES

3GL サブプログラムは、拡張 ILCS リンケージ規則を使用して起動されます。 これを可能にするには、ILCS 初期化ルーチン IT0INITS が Natural フロントエンドにリンクされている必要があります。

INCLUDE IT0INITS,SYSLNK.ILCS
RESOLVE,SYSLNK.ILCS
ILCS=NO 標準の処理が適用されます。

JV

設定可能値: ON/OFF
デフォルト値: OFF

このパラメータは、フロントエンド部分の生成に適用されます。

JV=ON ジョブ変数がリンク名 *NATB2JV で宣言されていれば、Natural セッションの終了時に作成されるコンディションコードがそのジョブ変数に渡されます。
JV=OFF BS2000/OSD インストールに Siemens 製品の "ジョブ変数" が含まれていない場合は、このパラメータを OFF に設定する必要があります。そうしないと、NAMBS2 コンパイルでアセンブルエラーが発生します。

LF

設定可能値: X'zz'
デフォルト値: X'25'

このパラメータは、フロントエンド部分の生成に適用されます。

このパラメータを使用して、ローカルプリンタで印刷するときに行送りに使用される制御文字を指定します。

LINK

設定可能値:

name
(name,name,...)

デフォルト値: なし

このパラメータは、フロントエンド部分の生成に適用されます。

Natural プログラムから呼び出され、非リエントラント部分とリンクされるプログラムおよびモジュールの name(s) は、このパラメータで指定する必要があります。 逆に、名前を指定するプログラムおよびモジュールは、非リエントラント部分とリンクする必要があります。そうしないと、アプリケーションのステータスが SYSTEMERROR になり、すべてのユーザーが拒否され、エラーメッセージが表示されます。

"TABLE" マクロコールは、指定したプログラムおよびモジュールのために実行され、プログラムおよびモジュールのロードアドレスをダイナミックローダーのリンクテーブルに入力します。 したがって、Natural プログラムから呼び出されたときに、これらのプログラムをダイナミックにロードする必要がありません。 ダイナミックにロードされるプログラムについては、Natural パラメータモジュール内でロードライブラリを定義する必要があるだけです。

例:

LINK=PROG1
LINK=(PROG1,PROG2,MODUL111)

LINK2/LINK3/LINK4

設定可能値:

name
(name,name,...)

デフォルト値: なし

これらのパラメータは、フロントエンド部分の生成に適用されます。

パラメータ LINK2LINK3、および LINK4LINK パラメータの拡張です。 オペランドの定義は 127 文字以下(カッコを含めて)にする必要があるので、これらのパラメータはパラメータ LINK のオペランドが長くなりすぎる場合のために提供されています。 構文は LINK の構文と似ています。

例:

NAMBS2 LINK=(PROG1,PROG2,...),
LINK2=(PROG54,...)
NAMBS2 LINK=(PROG1,PROG2,PROG3,PROG4)

NUCNAME

設定可能値: name
デフォルト値: NB2RENT

このパラメータは、フロントエンド部分の生成に適用されます。

このパラメータでは、連結される Natural のリエントラントモジュールの名前を指定します。 ADDON マクロの Natural プールおよびロード情報には、この名前を使用する必要があります(ADDON マクロは BS2STUB をアセンブルします)。

PARMOD

設定可能値: (nn,loc)

nn: 24/31
loc:BELOW/ABOVE

デフォルト値: (31,ABOVE)

このパラメータは、フロントエンド部分とリエントラント部分の両方の生成に適用されます。

このパラメータの最初の部分(nn)は、Natural BS2000/OSD アプリケーションのアドレッシングモード(24 ビットまたは 31 ビットモード)の定義に使用されます。

Natural バッファプール、Natural BS2000/OSD アプリケーションのリエントラント部分、Adabas または Adabas Fast Path プールが 16 MB より上にある場合は、31 ビットモードが必要です。

このパラメータの 2 番目の部分(loc)は、Natural BS2000/OSD アプリケーションのフロントエンド部分の位置の定義に使用されます。 16 MB より上のアプリケーションのフロントエンド部分をロードする場合は、このパラメータを以下のようにフロントエンド部分のリンクプロシージャ内に定義する必要があります。

LOADPT=*XS 

または

LOADPT=X'address'

例:

/EXEC TSOLINK
PROG NAT230,FILENAM=NAT230,LOADPT=*XS,...
TRAITS RMODE=ANY,AMODE=31
INCLUDE....
/* PARMOD=(nn,loc) MUST BE IDENTICAL IN THE FRONT-END AND REENTRANT PARTS

REQMLOC

設定可能値: RES/BELOW/ABOVE
デフォルト値: RES

このパラメータは、31 ビットモード(PARMOD=31)のフロントエンド部分とリエントラント部分の両方の生成に適用されます。

このパラメータは、要求された Natural ワークエリアを、要求メモリを使用してシステムで割り当てる位置を決定します。

REQMLOC=BELOW すべてのエリアは 16 MB より下で要求されます。
REQMLOC=ABOVE すべてのエリアは 16 MB より上で要求されます。
REQMLOC=RES すべてのエリアは、リエントラント部分の位置に基づいて要求されます。

REQMLOC パラメータは、BS2000/OSD システムマクロ REQMLOC パラメータに対応します。

SYSDTA

設定可能値: PRIMARY/SYSCMD
デフォルト値: PRIMARY

このパラメータは、フロントエンド部分の生成に適用されます。

SYSDTA=PRIMARY SYSDTA からのダイナミックパラメータの読み取りが終了した後、SYSDTASYSFILE SYSDTA=(PRIMARY) に設定されます。
SYSDTA=SYSCMD SYSDTA からのダイナミックパラメータの読み取りが終了した後、SYSDTASYSFILE SYSDTA=(SYSCMD) に設定されます。

TERM

設定可能値: PRGR/STEP
デフォルト値: PRGR

このパラメータは、フロントエンド部分の生成に適用されます。

TERM=PRGR Natural バッチアプリケーションは終了します。
TERM=STEP システムはさらに次の SET-JOB-STEP コマンドを実行します。

TRACE

設定可能値: nn, ll

nn:01~99
ll:71~132

デフォルト値: 99,71

このパラメータは、リエントラント部分の生成に適用されます。

このパラメータを使用して、トレースファイルの数とトレース出力レコードの最大長を指定します。 nnSYSLSTnn トレースファイルの数、ll はトレース出力レコードの最大長(文字数)です。

外部 Natural トレース機能がアクティブな場合は、トレースレコードは SYSLSTnn に書き込まれます。 この場合は、Natural バッチモードドライバにより、以下のようなトレースファイルが作成されます。

例:

NATURAL.TRACE.BTCH.TTTT,SPACE=(30,3)
SYSFILE SYSLSTnn=Natural.TRACE.BTCH.TTTT
/* TTTT is the task sequence number

Natural バッチモードセッションが終了する前に、トレースファイルは以下のようにして閉じられます。

SYSFILE SYSLSTnn=(PRIMARY)

USERID

設定可能値: YES/SYSTEM/NO/USER
デフォルト値: USER

このパラメータは、フロントエンド部分の生成に適用されます。

USERID=SYSTEM または USERID=YES Natural ユーザー ID は、BS2000/OSD ユーザー ID を使用して作成されます。
USERID=USER または USERID=NO Natural ユーザー ID は、ジョブ名、つまり LOGON コマンドの /.JOBNAME を使用して作成されます。 BS2000/OSD ジョブ名が LOGON コマンドで指定されていない場合は、Natural ユーザー ID は USERID=SYSTEM または YES によって作成されます。

WRITE

設定可能値: SYSOUT/SYSLST
デフォルト値: SYSLST

このパラメータは、フロントエンド部分とリエントラント部分の両方の生成に適用されます。

このパラメータは、Natural によって生成された出力を SYSOUT または SYSLST に書き込むかどうかを制御します。

Top of page

BS2000/OSD ジョブ変数

Natural バッチモードドライバは、BS2000/OSD 機能の "ジョブ変数" を使用してリターンコードをユーザーまたは後続のジョブ(ステップ)に渡します。 リターンコードは、Natural 自体(1~31 の範囲)によって、または TERMINATE ステートメントをコンディションコードオプションとともに使用している場合は Natural アプリケーション(32~256 の範囲)によって作成されます。

リターンコードを含めるジョブ変数は、リンク名 *NATB2JV を使用して宣言する必要があります。 ジョブ変数のサポートは、Natural BS2000/OSD バッチモードドライバ NATBS2 内の SET パラメータ &JV の設定に依存します。

例:

/LOGON
/DCLJV NATBJV,LINK=*NATB2JV
/EXEC NATnnnB
*TERMCC
/LOGOFF

リターンコード 36 を NATBJV に割り当てるには、Natural プログラム TERMCC を以下のように指定します。

ASSIGN CC(N8) = 36
TERMINATE CC
END

Top of page