PROCESS COMMAND ACTION
|
|||||||
CLOSE
|
|||||||
CHECK |
|||||||
EXEC |
USING
|
PROCESSOR-NAME= operand1
|
|||||
COMMAND-LINE (index[: index])=operand2
|
|||||||
TEXT |
|||||||
HELP
|
|||||||
GET USING
|
PROCESSOR-NAME= operand1
|
||||||
GETSET-FIELD-NAME = operand3
|
|||||||
SET USING
|
PROCESSOR-NAME= operand1
|
||||||
GETSET-FIELD-NAME = operand3
|
|||||||
GETSET-FIELD-VALUE = operand4
|
PROCESS COMMAND ACTION
|
|||||||
CLOSE [GIVING NATURAL-ERROR ]
|
|||||||
CHECK |
|||||||
EXEC |
USING
|
PROCESSOR-NAME= operand1 |
|||||
COMMAND-LINE (index[: index])=operand2
|
|||||||
TEXT |
GIVING RESULT-FIELD (index[: index ])
|
||||||
HELP
|
RETURN-CODE [NATURAL-ERROR ]
|
||||||
GET USING
|
PROCESSOR-NAME= operand1
|
||||||
GETSET-FIELD-NAME= operand3
|
|||||||
GETSET-FIELD-VALUE= operand4 [NATURAL-ERROR ]
|
|||||||
SET USING
|
PROCESSOR-NAME= operand1
|
||||||
GETSET-FIELD-NAME= operand3 |
|||||||
GETSET-FIELD-VALUE= operand4 [GIVING NATURAL-ERROR ]
|
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
Natural ユーティリティ SYSNCP で作成したコマンドプロセッサは、PROCESS COMMAND
ステートメントを使用して Natural プログラムから呼び出すことができます。
Natural コマンドプロセッサの作成方法の詳細については、『SYSNCP ユーティリティ』ドキュメントを参照してください。
注意:
PROCESS COMMAND
ステートメント内の単語 "COMMAND" は実際のビュー名です。 使用されるビューの名前は必ずしも "COMMAND" である必要はありませんが、同じ名前の DDM が存在するため、"COMMAND" を使用することをお勧めします。 DEFINE DATA
ステートメント(例えば、COMMAND VIEW OF COMMAND
)内でこの DDM を参照する必要があります。
Natural Security では、コマンドプロセッサで定義された特定のキーワードや機能の使用を制限できます。 特定のユーザーまたはユーザーグループに対して、キーワードや機能の使用を許可/禁止できます。 詳細については、『Natural Security』ドキュメントを参照してください。
オペランド定義テーブル:
オペランド | 構文要素 | フォーマット | ステートメント参照 | ダイナミック定義 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | C | S | A | 不可 | 不可 | |||||||||||||||
operand2 | C | S | A | G | A | N | 不可 | 不可 | ||||||||||||
operand3 | C | S | A | N | 不可 | 不可 | ||||||||||||||
operand4 | C | S | A | N | P | I | 不可 | 不可 |
構文要素の説明:
CLOSE |
セッション中にコマンドプロセッサを使用し、 このステートメントに続けて 「例 1 - PROCESS COMMAND ACTION CLOSE」も参照してください。 |
---|---|
CHECK |
または、ランタイムアクション定義 "R"、"M"、および "1~9" は
注意: |
EXEC |
注意: 「例 2 - PROCESS COMMAND ACTION EXEC」も参照してください。 |
HELP |
詳細については、以下のセクションを参照してください。 注意: |
TEXT |
詳細については、以下のセクションを参照してください。 注意: |
このオプションは、アルファベット順にソートされたキーワードまたは同義語を IKN 付きで返します。
コマンド行 | 内容 | |
---|---|---|
1 | インジケータ "K" で始める必要があります。 | |
次のキーワードタイプが返されます。 | ||
* | すべてのタイプのキーワード | |
1 | タイプ "1" のキーワード | |
2 | タイプ "2" のキーワード | |
3 | タイプ "3" のキーワード | |
P | タイプ "P"(パラメータ)のキーワード | |
オプション: | ||
I | キーワードと IKN を返します。 | |
T | キーワードの一部を大文字で示します(可能な省略形を示すため)。 | |
S | 同義語とキーワードを返します。 | |
X | 指定したキーワードの同義語のみを返します。 | |
A | 内部キーワードも返されます。 | |
+ | 検索には開始値は含まれません。 | |
2 | キーワード検索の開始値(オプション)。
デフォルトでは、検索は開始値から始まります。 ただし、オプション "+" を指定すると、開始値自体は検索に含まれず、次に高い値から検索されます。 |
フィールド RESULT-FIELD (1:n)
は、指定したリストを返します。
Command Line 1: K*X Returns all synonyms of all keyword types.
Command Line 1: K123S Returns all keywords of type 1, 2 and 3 including synonyms.
指定された IKN に対して、このオプションは元のキーワードとすべての同義語を返します。
コマンド行 | 内容 | |
---|---|---|
1 | インジケータ "S" で始める必要があります。 | |
オプション: | ||
T | キーワードの一部を大文字で示します(可能な省略形を示すため)。 | |
2 | フォーマット N4 のキーワードの内部キーワード番号(IKN)。 |
フィールド RESULT-FIELD (1)
は、元のキーワードを返します。 フィールド RESULT-FIELD (2:n)
は、このキーワードに関連する同義語を返します。
入力: | 出力: |
---|---|
Command Line 1: S Command Line 2: 1003 |
Result-Field 1: Edit Result-Field 2: Maintain Result-Field 3: Modify |
このオプションは、すべてのグローバル機能のリストを返します。
コマンド行 | 内容 | |
---|---|---|
1 | インジケータ "G" で始める必要があります。 | |
オプション: | ||
I | 内部機能番号(IFN:Internal Function Number)も返されます。 | |
T | キーワードの一部を大文字で示します(可能な省略形を示すため)。 | |
S | RESULT-FIELD に返されたキーワードは列に整列されます。
|
|
A | 内部キーワードも返されます。 | |
1 | タイプ 1 の特定のキーワードを含む機能のみが返されます。 | |
2 | タイプ 2 の特定のキーワードを含む機能のみが返されます。 | |
3 | タイプ 3 の特定のキーワードを含む機能のみが返されます。 | |
+ | 検索には開始値は含まれません。 | |
2 | グローバル機能検索の開始値。 キーワードは "123" の順序で指定する必要があります。
デフォルトでは、検索は開始値から始まります。 ただし、オプション "+" を指定すると、開始値自体は検索に含まれず、次に高い値から検索されます。 |
|
3 | 空白にする必要があります。 | |
4 | 特定のキーワードを含むグローバル機能のみを検索するには、ここにそのキーワードを指定します。
キーワードを指定する場合、オプション(上記参照)としてキーワードタイプ(1、2、または 3)を指定する必要もあります。 |
フィールド RESULT-FIELD (1:n)
は、指定したリストを返します。
入力: | 出力: |
---|---|
Command Line 1: G Command Line 2: ADD |
Result-Field 1: ADD CUSTOMER Result-Field 2: ADD FILE Result-Field 3: ADD USER |
このオプションは、指定したロケーションのすべてのローカル機能のリストを返します。
コマンド行 | 内容 | |
---|---|---|
1 | インジケータ "L" で始める必要があります。 | |
オプション: | ||
I | 内部機能番号(IFN:Internal Function Number)も返されます。 | |
T | キーワードの一部を大文字で示します(可能な省略形を示すため)。 | |
S | RESULT-FIELD に返されたキーワードは列に整列されます。
|
|
A | 内部キーワードも返されます。 | |
1 | タイプ 1 の特定のキーワードを含む機能のみが返されます。 | |
2 | タイプ 2 の特定のキーワードを含む機能のみが返されます。 | |
3 | タイプ 3 の特定のキーワードを含む機能のみが返されます。 | |
C | 現在のロケーションに定義されている機能のみが返されます(コマンド行 3 は無視されます)。 | |
F | ローカル機能の "再帰的な" リストを呼び出します。つまり、現在のロケーション/指定したロケーションに関連するすべてのローカルコマンドが返されます。 | |
2 | ローカル機能検索の開始値(オプション)。
キーワードは "123" の順序で指定する必要があります。 |
|
3 | 返されるリストに対応するロケーションを指定します。
キーワードは "123" の順序で指定する必要があります。 ロケーションを指定しなかった場合、コマンドプロセッサの現在のロケーションが使用されます。 |
|
4 | キーワードの制限(オプション):
キーワード、またはフォーマット N4 の IKN を指定した場合、このキーワードを含む機能のみが返されます。 |
フィールド RESULT-FIELD (1:n)
は、指定したリストを返します。
指定された内部キーワード番号(IKN)に対して、このオプションは元のキーワードを返します。
コマンド行 | 内容 | |
---|---|---|
1 | "IKN" で開始する必要があります。 | |
オプション: | ||
A | 内部キーワードが示されます。 | |
T | キーワードの一部を大文字で示します(可能な省略形を示すため)。 | |
2 | 変換する IKN をフォーマット N4 で指定します。 |
フィールド RESULT-FIELD (1)
は、キーワードを返します。
入力: | 出力: |
---|---|
Command Line 1: IKN Command Line 2: 0000002002 |
Result-Field 1: CUSTOMER |
指定された内部機能番号(IFN)に対して、このオプションは機能のキーワードを返します。
コマンド行 | 内容 | |
---|---|---|
1 | "IFN" で開始する必要があります。 | |
オプション: | ||
A | 内部キーワードを含む機能は省略されません。 | |
2 | 変換する IFN をフォーマット N10 で指定します。 | |
3 | その他のオプション: | |
S | IFN に属すキーワードが RESULT-FIELD (1:3) に返されます。
|
|
T | キーワードの一部を大文字で示します(可能な省略形を示すため)。 | |
L | IFN をロケーションとして使用した場合、IFN が返されます。 | |
C | IFN をコマンドとして使用した場合、IFN が返されます。 |
フィールド RESULT-FIELD(1)
は、機能を返します。オプション "S" を使用した場合、機能は RESULT-FIELD (1:3)
に返されます。
入力: | 出力: |
---|---|
Command Line 1: IFN Command Line 2: 0001048578 |
Result-Field 1: DISPLAY INVOICE |
全般的な情報については、COMMAND-LINE (*)
、つまりすべてのコマンド行を空白にする必要があります。 RESULT-FIELD
の最大 9 個のフィールドに次の情報が返されます。
RESULT-FIELD | 内容 | フォーマット |
---|---|---|
1 | ユーザーテキスト用のヘッダー 1 | テキスト(A40) |
2 | ユーザーテキスト用のヘッダー 2 | テキスト(A40) |
3 | テキスト "First Entry used as" | テキスト(A16) |
4 | テキスト "Second Entry used as" | テキスト(A16) |
5 | テキスト "Third Entry used as" | テキスト(A16) |
6 | エントリ 1 のキーワード数 | 数値(N3) |
7 | エントリ 2 のキーワード数 | 数値(N3) |
8 | エントリ 3 のキーワード数 | 数値(N3) |
9 | カタログされた機能数 | 数値(N7) |
キーワード情報については、COMMAND-LINE (1)
には対応するキーワードが含まれている必要があります。COMMAND-LINE (2)
にはオプションでキーワードタイプ(1、2、3、または P)を含めることができます。COMMAND-LINE (3:6)
は空にする必要があります。
RESULT-FIELD | 内容 | フォーマット |
---|---|---|
1 | キーワードコメントテキスト | テキスト(A40) |
2 | 完全な長さのキーワード | テキスト(A16) |
3 | 一意の短縮形キーワード | テキスト(A16) |
4 | "Keyword used as" エントリ | テキスト(A16) |
5 | 内部キーワード番号(IKN) | 数値(N4) |
6 | キーワードの最小長 | 数値(N2) |
7 | キーワードの最大長 | 数値(N2) |
8 | キーワードタイプ(1、2、3、1S、2S、3S、P) | テキスト(A2) |
機能情報については、COMMAND-LINE (1:3)
には目的のロケーションを指定するキーワードが含まれている必要があります。 COMMAND-LINE (4:6)
には目的の機能を指定するキーワードが含まれている必要があります。 例えば、グローバルコマンド ADD USER
に関する情報を返す場合、コマンド行 1、2、3、6 が空白であり、コマンド行 4 には "ADD"、コマンド行 5 には "USER" がそれぞれ含まれている必要があります。
RESULT-FIELD | 内容 | フォーマット |
---|---|---|
1 | ランタイムアクション定義にオプション T で定義されたテキスト。 | テキスト(A40) |
2 | 指定したロケーションの内部機能番号(IFN)。 | 数値(N10) |
3 | 指定した機能の内部機能番号(IFN)。 | 数値(N10) |
GET
オプションは、内部コマンドプロセッサ情報や現在のコマンドプロセッサ設定をダイナミックに割り当てられたバッファ NCPWORK から読み取るために使用します。 次のフィールドが使用されます。
フィールド名 | 内容 |
---|---|
GETSET-FIELD-NAME (A32) | 読み取る変数の名前。 |
GETSET-FIELD-VALUE (A32) | PROCESS COMMAND ACTION GET の実行後に指定した変数の値。
|
GETSET-FIELD-NAME
に有効な値のリストについては、下記を参照してください。
SET
オプションは、バッファ NCPWORK の内部コマンドプロセッサ設定を変更するために使用します。
フィールド名 | 内容 |
---|---|
GETSET-FIELD-NAME (A32) | 変更する変数の名前。 |
GETSET-FIELD-VALUE (A32) | 指定した変数に書き込まれる値。 |
フィールド名 | フォーマット | G/S* | 内容 |
---|---|---|---|
NAME | A8 | G | 現在のプロセッサの名前。 |
LIBRARY | A8 | G | ロード元のライブラリ。 |
FNR | N10 | G | ロード元のファイル。 |
DBID | N10 | G | ロード元のデータベース。 |
TIMESTMP | A8 | G | 現在のプロセッサのタイムスタンプ。 |
COUNTER | N10 | G | アクセスカウンタ。 |
BUFFER-LENGTH | N10 | G | NCPWORK 用に割り当てられたバイト数。 |
C-DELIMITER | A1 | G/S | 複数コマンドのデリミタ。 |
DATA-DELIMITER | A1 | G | データの前に付けられるデリミタ。 |
PF-KEY | A1 | G/S | PF キーをコマンドとして使用(Y/N)。 |
UPPER-CASE | A1 | G | 大文字のキーワード(Y/N)。 |
UQ-KEYWORDS | A1 | G | 一意のキーワード(Y/N)。 |
IMPLICIT-KEYWORD | A1 | G/S | 暗黙的なキーワードエントリの識別子。 |
MIN-LEN | N10 | G | キーワードの最小長。 |
MAX-LEN | N10 | G | キーワードの最大長。 |
KEYWORD-SEQ | A8 | G/S | キーワードシーケンス。 |
ALT-KEYWORD-SEQ | A8 | G/S | 代替キーワードシーケンス。 |
USER-SEQUENCE | A1 | G | ユーザーによる KEYWORD-SEQ の上書きを許可(Y/N)。
|
CURR-LOCATION | N10 | G/S | 現在のロケーション(IFN)。 |
CURR-IKN1 | N10 | G/S | 現在のロケーションの IKN1。 |
CURR-IKN2 | N10 | G/S | 現在のロケーションの IKN2。 |
CURR-IKN3 | N10 | G/S | 現在のロケーションの IKN3。 |
CHECK-LOCATION | N10 | G | 最後にチェックされたロケーション(IFN)。 |
CHECK-IKN1 | N10 | G | CHECK-LOCATION の IKN1。
|
CHECK-IKN2 | N10 | G | CHECK-LOCATION の IKN2。
|
CHECK-IKN3 | N10 | G | CHECK-LOCATION の IKN3。
|
TOP-IKN1 | N10 | G | 先頭キーワードの IKN1。 |
TOP-IKN2 | N10 | G | 先頭キーワードの IKN2。 |
TOP-IKN3 | N10 | G | 先頭キーワードの IKN3。 |
KEY1-TOTAL | N10 | G | タイプ 1 のキーワードの数。 |
KEY2-TOTAL | N10 | G | タイプ 2 のキーワードの数。 |
KEY3-TOTAL | N10 | G | タイプ 3 のキーワードの数。 |
FUNCTIONS-TOTAL | N10 | G | カタログされた機能の数。 |
LOCAL-GLOBAL-SEQ | A8 | G/S | ローカル/グローバル機能の確認。 |
ERROR-HANDLER | A8 | G/S | 一般的なエラープログラム。 |
SECURITY | A1 | G | Natural Security がインストール済み(Y/N)。 |
SEC-PREFETCH | A1 | G | Natural Security データを読み取る(Y/N)または読み取り済み(D = 終了) |
PREFIX1 | A1 | G | プロセッサヘッダーメンテナンス 2 画面のフィールド Prefix Character 1 に対応。 |
PREFIX2 | A1 | G | プロセッサヘッダーメンテナンス 2 画面のフィールド Prefix Character 2 に対応。 |
HEX1 | A1 | G | プロセッサヘッダーメンテナンス 2 画面のフィールド Hex. Replacement 1 に対応。 |
HEX2 | A1 | G | プロセッサヘッダーメンテナンス 2 画面のフィールド Hex. Replacement 2 に対応。 |
DYNAMIC | A32 | G | 最後のエラーメッセージのダイナミック部分(:n:)。 |
LAST | - | G | データとしてスタックの先頭に置かれる最後のコマンド。 |
LAST-ALL | - | G | データとしてスタックの先頭に置かれる最後のコマンド群。 |
LAST-COM | - | G | *COM に移される最後のコマンド。
|
MULTI | - | G | 最後の複数コマンドをデータとしてスタックの先頭に挿入。 |
MULTI-COM | - | G | 最後の複数コマンドをシステム変数 *COM に挿入。
|
*G = GET
オプションで使用できます。
*S = SET
オプションで使用できます。
フィールドの内容(プロセッサ名やコマンド行など)を USING
節に指定します。
USING
節では、コマンドプロセッサに送信するフィールドを指定します。
オプション | フィールド名 | |||
---|---|---|---|---|
PROCESSOR-NAME | COMMAND-LINE | GETSET-FIELD-NAME | GETSET-FIELD-VALUE | |
CLOSE | ||||
CHECK | 必須 | 必須 | ||
EXEC | 必須 | 必須 | ||
TEXT | 必須 | 必須 | ||
HELP | 必須 | 必須 | ||
GET | 必須 | 必須 | ||
SET | 必須 | 必須 | 必須 |
注意:
この節はレポーティングモードでのみ使用できます。
GIVING
節では、各オプションの処理結果として、コマンドプロセッサによって埋められるフィールドを指定します。
オプション | フィールド名 | |||
---|---|---|---|---|
NATURAL-ERROR | RETURN-CODE | RESULT-FIELD | GETSET-FIELD-VALUE | |
CLOSE | 推奨 | |||
CHECK | 推奨 | 必須 | 必須 | |
EXEC | 推奨 | 必須 | 必須 | |
TEXT | 推奨 | 必須 | 必須 | |
HELP | 推奨 | 必須 | 必須 | |
GET | 推奨 | 必須 | ||
SET | 推奨 |
注意:
GIVING
節はストラクチャードモードでは利用できません。DEFINE DATA
ステートメントに指定されたすべてのフィールドで構成される暗黙的な GIVING
節が存在するためです。通常、これらのフィールドはレポーティングモードの GIVING
節で参照されます。 つまり、ストラクチャードモードでは、上記の表の "必須" でマークされたフィールドはすべて DEFINE DATA
ステートメントで定義する必要があります。
データ定義モジュール(DDM)"COMMAND" は、PROCESS COMMAND
ステートメントと組み合わせて使用するために特別に作成されたものです。
DB: 1 File: 1 - COMMAND Default Sequence: ? TYL DB NAME F LENG S D REMARKS --- -- -------------------------------- - ---- - - ------------------------ 1 AA PROCESSOR-NAME A 8 N D DE USING M 1 AB COMMAND-LINE A 80 N D MU/DE USING 1 AF GETSET-FIELD-NAME A 32 N D DE USING 1 BA NATURAL-ERROR N 4.0 N GIVING 1 BB RETURN-CODE A 4 N GIVING M 1 BC RESULT-FIELD A 80 N MU GIVING 1 BD GETSET-FIELD-VALUE A 32 N D USING; GIVING ***** DDM OUTPUT TERMINATED ******
注意:
コンパイルエラーやランタイムエラーを回避するため、使用前に DDM "COMMAND" がタイプ "C"(SYSDDM メニューの DDM Type フィールド)でカタログされていることを確認してください。 DDM を再カタログする場合、SYSDDM ユーティリティの DBID/FNR 指定は無視されます。
DDM "COMMAND" のフィールドは次のとおりです。
DDM フィールド | 説明 |
---|---|
PROCESSOR-NAME | PROCESS COMMAND ステートメントが発行されるコマンドプロセッサの名前です。 指定するコマンドプロセッサはカタログする必要があります。
|
COMMAND-LINE | コマンドプロセッサで処理されるコマンド行(オプション CHECK 、EXEC )、またはプログラムに返されるユーザーテキストやヘルプテキストに対するキーワード/コマンド(オプション TEXT 、HELP )です。 このフィールドは複数行指定できます。
|
GETSET-FIELD-NAME | GET および SET オプションとともに使用し、読み取り(GET )または書き込み(SET )が行う定数や変数の名前を指定します。
|
RETURN-CODE | このフィールドには、ランタイムアクション定義内で指定されたオプション EXEC や CHECK による処理のリターンコードが入ります(Natural SYSNCP ユーティリティを参照)。
|
NATURAL-ERROR | すべてのオプションと組み合わせて使用します。 DEFINE DATA でこのフィールドを使用した場合、コマンドプロセッサに対する Natural エラーコードが返されます。 フィールドが存在しない場合、エラーの発生時に Natural ランタイムエラー処理が開始されます。
|
RESULT-FIELD | このフィールドには、ランタイムアクション定義内で指定された各種オプションの使用結果情報が入ります(Natural SYSNCP ユーティリティのランタイムアクションを参照)。 このフィールドは複数行指定できます。 |
GETSET-FIELD-VALUE | GET および SET オプションとともに使用し、GETSET-FIELD-NAME フィールドで指定された定数や変数の値が入ります。
|
/* EXAM-CLS - Example for PROCESS COMMAND ACTION CLOSE (Structured Mode) /*********************************************************************** DEFINE DATA LOCAL 01 COMMAND VIEW OF COMMAND END-DEFINE /* PROCESS COMMAND ACTION CLOSE /* DEFINE WINDOW CLS INPUT WINDOW = 'CLS' 'NCPWORK has just been released.' /* END
/* EXAM-EXS - Example for PROCESS COMMAND ACTION EXEC (Structured Mode) /********************************************************************** DEFINE DATA LOCAL 01 COMMAND VIEW OF COMMAND 02 PROCESSOR-NAME 02 COMMAND-LINE (1) 02 NATURAL-ERROR 02 RETURN-CODE 02 RESULT-FIELD (1) 01 MSG (A65) INIT <'Please enter a command.'> END-DEFINE /* REPEAT INPUT (AD=MIT' ' IP=OFF) WITH TEXT MSG 'Example for PROCESS COMMAND ACTION EXEC (Structured Mode)' (I) / 'Command ==>' COMMAND-LINE (1) (AL=64) /******* PROCESS COMMAND ACTION EXEC USING PROCESSOR-NAME = 'DEMO' COMMAND-LINE (1) = COMMAND-LINE (1) /******* COMPRESS 'NATURAL-ERROR =' NATURAL-ERROR TO MSG END-REPEAT END
注意:
他のプログラム例については、SYSNCP ライブラリを参照してください。 これらのプログラムはすべて "EXAM" で始まります。