このドキュメントでは、BS2000/OSD オペレーティングシステムで Natural をバッチモードで実行する際の特別な考慮事項について説明します。
以下のトピックについて説明します。
「BS2000/OSD 環境下の Natural のバッチエラーメッセージ」も参照してください。
バッチモードの Natural 全般に適用される考慮事項については、以下のセクションを参照してください。
Natural BS2000/OSD バッチモードセッション時には、以下のシーケンシャルデータセットがオプションで使用されます。
データセット | 説明 |
---|---|
CMPRMIN |
ダイナミックパラメータデータセット |
CMSYNIN |
プライマリ入力 |
CMOBJIN |
Natural INPUT ステートメントの入力
|
CMPRINT |
プライマリレポート出力 |
CMPLOG |
ダイナミックパラメータのレポート出力(オプション) |
CMTRACE |
Natural トレースのレポート出力(オプション) |
CMHCOPY |
ハードコピーのレポート出力(オプション) |
CMPRT |
追加レポート |
CMWKF |
Natural ワークファイル |
CMPRMIN
をダイナミックパラメータデータセットとして使用すると、EXEC
ステートメントのジョブ制御キーワード PARM
の文字列の長さ制限を超えることができます。
CMPRMIN
からのすべての入力レコードが、1 つのパラメータ文字列に連結されます。 各 CMPRMIN
レコードの最初の 72 文字目までが有効です。 各レコードの末尾の空白は切り捨てられます。コンマは挿入されません。
PARM
ジョブ制御キーワードを使用して、ダイナミックパラメータを追加することができます。 追加したダイナミックパラメータは、CMPRMIN
からのパラメータの後に連結されます。つまり、PARM
文字列を使用して、CMPRMIN
データセットで指定されたダイナミックパラメータを上書きできます。
ダイナミックパラメータの読み取りの詳細については、マクロ NAMBS2
のキーワードパラメータ DYNPAR=FILE
を参照してください(「DYNPAR
」を参照)。
CMSYNIN
は、Natural コマンドと Natural ソースプログラム(およびオプションで Natural プログラムの実行中に INPUT
ステートメントによって読み取られるデータ)を含むプライマリ入力ファイルに使用されます。
実際に処理される行当たりの文字数は、プロファイル/セッションパラメータ SL
の現在の設定によって決まります。 この設定は、ソースステートメントと実行時入力データの両方に適用されます。 これにより、必要に応じて、ID またはシーケンス番号を各レコードの右端の列に配置することができます。
/SYSFILE SYSDTA=file.
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
は、Natural プログラム内の DISPLAY
、PRINT
、および WRITE
ステートメントの結果をレポートするプライマリ出力に使用されます。
/SYSFILE SYSOUT=file
または
/SYSFILE SYSLST=file
GLOBAL SET
パラメータ &WRITE
の値に基づきます。
プロファイルパラメータ PLOG
が "ON" に設定されている場合は、すべてのダイナミックプロファイルパラメータはセッションの初期化時にこのデータセットに書き込まれます。 CMPLOG
が定義されていない場合は、代わりに CMPRINT
が使用されます。
/SYSFILE SYSOUT=file
または
/SYSFILE SYSLST=file
GLOBAL SET
パラメータ &WRITE
の値に基づきます。
プロファイルパラメータ ETRACE
が ON
に設定されている場合は、すべてのトレース出力はセッション中にこのデータセットに書き込まれます。
/SYSFILE SYSOUT=file
または
/SYSFILE SYSLST=file
GLOBAL SET
パラメータ &WRITE
の値に基づきます。
ハードコピーの出力先。 このデータセットの名前は、プロファイルパラメータ HCDEST
または端末コマンド %H
を使用して変更できます。
/SYSFILE SYSOUT=file
または
/SYSFILE SYSLST=file
GLOBAL SET
パラメータ &WRITE
の値に基づきます。
CMPRTnn
は、セッション中にコンパイルまたは実行された Natural プログラムによって参照される追加の各レポートに使用されます。 nn
は、DISPLAY
、PRINT
、および WRITE
ステートメントで使用されているレポート番号に対応する 01~31 の 2 桁の 10 進数である必要があります。
CMPRTnn の代わりに、プロファイルパラメータ PRINT
の DEST
サブパラメータを適切な値に設定することで、別の名前を使用できます。以下に例を示します。
PRINT=((nn),...,DEST=PRINTFIL)
DCB 情報は省略可能です。 省略した場合は、プロファイルパラメータ PRINT
、サブパラメータ RECFM
、LRECL
、および BLKSIZE
で提供されます。 RECFM
を指定していない場合は、"VBA" に設定されます。 DCB 情報が提供されていない場合は、以下の処理が適用されます。
/FILE file, LINK=Pnn.
CMWKFnn
は、セッション中にコンパイルまたは実行された Natural プログラムによって参照される各 Natural ワークファイルに使用されます。 nn
は、READ WORK FILE
または WRITE WORK FILE
ステートメントで使用されているレポート番号に対応する 01~32 の 2 桁の 10 進数である必要があります。
CMWKFnn
の代わりに、プロファイルパラメータ WORK
のサブパラメータ DEST
を適切な値に設定することで、別の名前を使用することができます。
DCB 情報は出力ファイル用で省略可能です。 省略した場合は、プロファイルパラメータ WORK
、サブパラメータ RECFM
、LRECL
、および BLKSIZE
で提供されます。 DCB 情報が提供されていない場合は、以下の処理が適用されます。
/FILE file,LINK=Wnn
Natural BS2000/OSD バッチモードドライバは、NAMBS2
マクロをアセンブルして生成されます。 ドライバモジュールの条件付きアセンブルの制御には、以下のキーワードパラメータを使用できます。
パラメータは名前のアルファベット順に示しています。
設定可能値: | ADACOM=ADAUSER 、ADACOM=ADABAS 、ADACOM=ADALNK |
デフォルト値: | ADACOM=ADALNK |
このパラメータは、フロントエンド部分の生成に適用されます。 使用する Adabas リンクモジュールを決定します。 設定可能値:
ADACOM=ADAUSER |
モジュール ADAUSER がフロントエンド部分にリンクされます(Adabas バージョン 7.1 未満)。
|
ADACOM=ADABAS |
モジュール ADAUSER および SSFB2C がフロントエンド部分にリンクされます(Adabas バージョン 7.1 以降)。
|
ADACOM=ADALNK |
モジュール ADALNK (Adabas バージョン 7.1 未満)、またはモジュール ADALNK 、ADAL2P 、および SSFB2C (Adabas バージョン 7.1 以降)がフロントエンド部分にリンクされます。
|
設定可能値: | 1~8 |
デフォルト値: | なし |
このパラメータは、フロントエンド部分の生成に適用されます。
端末 I/O バッファの追加のページ数(4 KB 単位)を決定します。
設定可能値: | name |
デフォルト値: | NATBS2 |
このパラメータは、フロントエンド部分の生成に適用されます。
name
は、Natural バッチアプリケーションの名前(最大 8 文字)です。 この名前は、Natural バッチタスクが初期化される際のシリアライゼーション ID の一部です。
設定可能値: | FRONT/RENT |
デフォルト値: | FRONT |
このパラメータは、フロントエンド部分とリエントラント部分の両方の生成に適用されます。
生成する Natural BS2000/OSD インターフェイスの部分を決定します。
CODE=FRONT |
フロントエンド部分を生成/アセンブルすることを示します。 |
CODE=RENT |
リエントラント部分を生成/アセンブルすることを示します。 |
設定可能値: | ON/OFF |
デフォルト値: | ON |
このパラメータは、リエントラント部分の生成に適用されます。
DELETE=ON |
Natural パラメータモジュール内のプロファイルパラメータ DELETE の設定は、ダイナミックにロードされた非 Natural プログラムをロード先 の Natural プログラムの終了時にアンロードするかどうか、またコマンドモードに入ったときにアンロードするかどうかを決定します。
|
DELETE=OFF |
いったんダイナミックにロードされた非 Natural プログラムは、Natural セッション全体を通じて保持されます。 |
設定可能値: | SYSDTA/SYSIPT/FILE/NO |
デフォルト値: | NO |
このパラメータは、フロントエンド部分の生成に適用されます。
DYNPAR=NO |
ダイナミックパラメータは読み取られません。 |
DYNPAR=SYSDTA |
ダイナミックパラメータは SYSDTA から読み取られます。 SYSDTA が SYSCMD に割り当てられている場合は、/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 |
設定可能値: | YES/NO/CRTE |
デフォルト値: | NO |
このパラメータは、リエントラント部分の生成に適用されます。
ILCS=CRTE |
3GL サブプログラムは、共通ランタイム環境規則を使用して起動されます。 これを可能にするには、 INCLUDE IT0SL#,SYSLNK.CRTE.010 RESOLVE,SYSLNK.CRTE.010 |
ILCS=YES |
3GL サブプログラムは、拡張 INCLUDE IT0INITS,SYSLNK.ILCS RESOLVE,SYSLNK.ILCS |
ILCS=NO |
標準の処理が適用されます。 |
設定可能値: | ON/OFF |
デフォルト値: | OFF |
このパラメータは、フロントエンド部分の生成に適用されます。
JV=ON |
ジョブ変数がリンク名 *NATB2JV で宣言されていれば、Natural セッションの終了時に作成されるコンディションコードがそのジョブ変数に渡されます。
|
JV=OFF |
BS2000/OSD インストールに Siemens 製品の "ジョブ変数" が含まれていない場合は、このパラメータを OFF に設定する必要があります。そうしないと、NAMBS2 コンパイルでアセンブルエラーが発生します。
|
設定可能値: | X'zz' |
デフォルト値: | X'25' |
このパラメータは、フロントエンド部分の生成に適用されます。
このパラメータを使用して、ローカルプリンタで印刷するときに行送りに使用される制御文字を指定します。
設定可能値: |
|
デフォルト値: | なし |
このパラメータは、フロントエンド部分の生成に適用されます。
Natural プログラムから呼び出され、非リエントラント部分とリンクされるプログラムおよびモジュールの name(s)
は、このパラメータで指定する必要があります。 逆に、名前を指定するプログラムおよびモジュールは、非リエントラント部分とリンクする必要があります。そうしないと、アプリケーションのステータスが SYSTEMERROR
になり、すべてのユーザーが拒否され、エラーメッセージが表示されます。
"TABLE" マクロコールは、指定したプログラムおよびモジュールのために実行され、プログラムおよびモジュールのロードアドレスをダイナミックローダーのリンクテーブルに入力します。 したがって、Natural プログラムから呼び出されたときに、これらのプログラムをダイナミックにロードする必要がありません。 ダイナミックにロードされるプログラムについては、Natural パラメータモジュール内でロードライブラリを定義する必要があるだけです。
例:
LINK=PROG1 LINK=(PROG1,PROG2,MODUL111)
設定可能値: |
name |
デフォルト値: | なし |
これらのパラメータは、フロントエンド部分の生成に適用されます。
パラメータ LINK2
、LINK3
、および LINK4
は LINK
パラメータの拡張です。 オペランドの定義は 127 文字以下(カッコを含めて)にする必要があるので、これらのパラメータはパラメータ LINK
のオペランドが長くなりすぎる場合のために提供されています。 構文は LINK
の構文と似ています。
例:
NAMBS2 LINK=(PROG1,PROG2,...), LINK2=(PROG54,...) NAMBS2 LINK=(PROG1,PROG2,PROG3,PROG4)
設定可能値: | name |
デフォルト値: | NB2RENT |
このパラメータは、フロントエンド部分の生成に適用されます。
このパラメータでは、連結される Natural のリエントラントモジュールの名前を指定します。 ADDON
マクロの Natural プールおよびロード情報には、この名前を使用する必要があります(ADDON
マクロは BS2STUB
をアセンブルします)。
設定可能値: | (nn ,loc )
|
デフォルト値: | (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
設定可能値: | RES/BELOW/ABOVE |
デフォルト値: | RES |
このパラメータは、31 ビットモード(PARMOD=31
)のフロントエンド部分とリエントラント部分の両方の生成に適用されます。
このパラメータは、要求された Natural ワークエリアを、要求メモリを使用してシステムで割り当てる位置を決定します。
REQMLOC=BELOW |
すべてのエリアは 16 MB より下で要求されます。 |
REQMLOC=ABOVE |
すべてのエリアは 16 MB より上で要求されます。 |
REQMLOC=RES |
すべてのエリアは、リエントラント部分の位置に基づいて要求されます。 |
REQMLOC
パラメータは、BS2000/OSD システムマクロ REQM
の LOC
パラメータに対応します。
設定可能値: | PRIMARY/SYSCMD |
デフォルト値: | PRIMARY |
このパラメータは、フロントエンド部分の生成に適用されます。
SYSDTA=PRIMARY |
SYSDTA からのダイナミックパラメータの読み取りが終了した後、SYSDTA は SYSFILE SYSDTA=(PRIMARY) に設定されます。
|
SYSDTA=SYSCMD |
SYSDTA からのダイナミックパラメータの読み取りが終了した後、SYSDTA は SYSFILE SYSDTA=(SYSCMD) に設定されます。
|
設定可能値: | PRGR/STEP |
---|---|
デフォルト値: | PRGR |
このパラメータは、フロントエンド部分の生成に適用されます。
TERM=PRGR |
Natural バッチアプリケーションは終了します。 |
TERM=STEP |
システムはさらに次の SET-JOB-STEP コマンドを実行します。
|
設定可能値: | nn, ll
nn:01~99 |
---|---|
デフォルト値: | 99,71 |
このパラメータは、リエントラント部分の生成に適用されます。
このパラメータを使用して、トレースファイルの数とトレース出力レコードの最大長を指定します。 nn
は SYSLSTnn
トレースファイルの数、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)
設定可能値: | 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 によって作成されます。
|
設定可能値: | SYSOUT/SYSLST |
---|---|
デフォルト値: | SYSLST |
このパラメータは、フロントエンド部分とリエントラント部分の両方の生成に適用されます。
このパラメータは、Natural によって生成された出力を SYSOUT
または SYSLST
に書き込むかどうかを制御します。
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