PROCESS
COMMAND ACTION |
|||||||
USING |
PROCESSOR-NAME= operand1 |
||||||
COMMAND-LINE (index[:index])=operand2 |
|||||||
GIVING |
RESULT-FIELD (index[:index])
|
(「Syntax Note」を参照してください) | |||||
RETURN-CODE |
|||||||
[NATURAL-ERROR ]
|
PROCESS
COMMAND ACTION |
|||||
GET |
USING |
PROCESSOR-NAME= operand1 |
|||
GETSET-FIELD-NAME= operand3 |
|||||
GIVING |
GETSET-FIELD-VALUE |
(「Syntax Note」を参照してください) | |||
[NATURAL-ERROR ]
|
PROCESS
COMMAND ACTION |
||
SET |
USING |
PROCESSOR-NAME= operand1 |
GETSET-FIELD-NAME= operand3 |
||
GETSET-FIELD-VALUE= operand4 |
||
[ GIVING |
NATURAL-ERROR ] (「Syntax
Note」を参照してください)
|
PROCESS
COMMAND ACTION |
|
CLOSE |
[ GIVING NATURAL-ERROR ] (「Syntax
Note」を参照してください)
|
GIVING
オプションは、レポーティングモードで、DEFINE DATA
ステートメントに VIEW OF
COMMAND
が定義されていない場合にのみ必要です。
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連機能グループ:プログラムおよびルーチンの呼び出し
Natural ユーティリティ SYSNCP
で作成した Natural コマンドプロセッサは、PROCESS COMMAND
ステートメントを使用して Natural プログラムから呼び出すことができます。
Natural コマンドプロセッサの作成方法の詳細については、『SYSNCP ユーティリティ』ドキュメントを参照してください。
重要:PROCESS
COMMAND
ステートメント内の単語 COMMAND
は実際のビュー名です。使用されるビューの名前は必ずしも COMMAND
である必要はありませんが、同じく COMMAND
という名前の DDM(データ定義モジュール)が存在するため、COMMAND
を使用することをお勧めします。この DDM は、例えば COMMAND VIEW OF
COMMAND
など、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 に含まれるフィールドは、PROCESS COMMAND
ステートメントで使用されるフィールドに対応しています。これらについては、「構文要素の説明」で説明します。
注意:
コンパイルエラーやランタイムエラーを回避するため、使用前に COMMAND
という名前の DDM がタイプ C
(SYSDDM メニューの DDM Type
フィールド)でカタログされていることを確認します。DDM を再カタログする場合、SYSDDM
ユーティリティの DBID/FNR 指定は無視されます。
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 | × | × |
構文要素 | 説明 |
---|---|
CHECK |
CHECK アクション: CHECK は、コマンドが PROCESS COMMAND EXEC ステートメントで実行可能かどうかを判断するための手段として使用します。指定コマンドプロセッサ名に対して、ランタイムチェックが 2 段階で行われます。
または、ランタイムアクション定義
注意: |
EXEC |
EXEC アクション:
「例 1 - PROCESS COMMAND ACTION EXEC」も参照してください。 |
TEXT |
TEXT アクション:
このテキストは、コマンドプロセッサ定義時に 詳細については、以下の「TEXT アクションの入力値」のセクションを参照してください。 注意: |
HELP |
HELP アクション:
詳細については、以下の「HELP アクションの入力値」のセクションを参照してください。 注意: |
GET |
GET アクション: GET は、ダイナミックに割り当てられた NCPWORK バッファから内部コマンドプロセッサ情報と現在のコマンドプロセッサ設定を読み取ります。
|
SET |
SET アクション: SET は、NCPWORK バッファの内部コマンドプロセッサ設定を変更します。
|
CLOSE |
CLOSE アクション: CLOSE では、コマンドプロセッサの使用を終了し、コマンドプロセッサバッファを解放します。
セッション中にコマンドプロセッサを使用し、 このステートメントに続けて 「例 2 - PROCESS COMMAND ACTION CLOSE」も参照してください。 |
GIVING |
GIVING オプション:
このオプションは、レポーティングモードで、
つまり、ストラクチャードモードでは、 注意: |
PROCESSOR-NAME |
その処理に使用するコマンドプロセッサの名前。
指定するコマンドプロセッサはカタログ化する必要があります。 |
COMMAND-LINE |
CHECK または EXEC で処理されるコマンド行、または TEXT または HELP アクションによりプログラムに返されるユーザーテキストやヘルプテキストに対するキーワード/コマンド。このフィールドには複数のオカレンスを指定できます。
|
RESULT-FIELD |
コマンドプロセッサ関数に定義されたランタイムアクション内で指定できるオプションの使用による結果の情報が含まれます(『Natural SYSNCP ユーティリティ』の「ランタイムアクション」を参照)。このフィールドには複数のオカレンスを指定できます。
|
RETURN-CODE |
ランタイムアクション定義内で指定された EXEC または CHECK アクションによる処理のリターンコード(「Natural SYSNCP ユーティリティ」を参照)。
|
NATURAL-ERROR |
PROCESS
COMMAND アクションに返された Natural エラー。
このフィールドは、コマンドプロセッサの Natural エラーコードを返すため、 |
GETSET-FIELD-NAME |
GET アクションが実行されたとき、または SET アクションによって書き込まれたときに読み込まれる定数または変数の名前。
|
GETSET-FIELD-VALUE |
GET アクションが実行されたとき、または SET アクションによって書き込まれたときに読み込まれるフィールド GETSET-FIELD-NAME で指定される定数または変数の値。
|
このセクションでは、次のトピックについて説明します。
GETSET-FIELD-NAME
フィールド(A32)には、次の値を使用できます。
フィールド名 | Format | 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 | SYSNCP ユーティリティの Processor Header Maintenance 2 画面のフィールド Prefix Character
1 に対応します(「キーワードエディタオプション - ヘッダー 2」セクションを参照)。
|
PREFIX2 |
A1 | G | Processor Header Maintenance 2 画面のフィールド Prefix Character 2 に対応します。 |
HEX1 |
A1 | G | Processor Header Maintenance 2 画面のフィールド Hex. Replacement 1 に対応します。 |
HEX2 |
A1 | G | Processor Header Maintenance 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
アクション とともに使用できます。
以下の入力値が TEXT
アクションから異なる情報を返すために使用されます。
- 全般的な情報の TEXT
全般的な情報については、
COMMAND-LINE (*)
、つまりすべてのコマンド行を空白にする必要があります。以下の情報を含む、最大 9 個のRESULT-FIELD
フィールドが返されます。
RESULT-FIELD Format Contents 1 テキスト(A40) Header 1 for User Text 2 テキスト(A40) Header 2 for User Text 3 テキスト(A16) テキスト "First Entry used as" 4 テキスト(A16) テキスト "Second Entry used as" 5 テキスト(A16) テキスト "Third Entry used as" 6 数値(N3) エントリ 1 のキーワード数 7 数値(N3) エントリ 2 のキーワード数 8 数値(N3) エントリ 3 のキーワード数 9 数値(N7) カタログされた機能数 - キーワード情報の TEXT
キーワード情報については、
COMMAND-LINE (1)
には対応するキーワードが含まれている必要があります。COMMAND-LINE (2)
にはオプションでキーワードタイプ(1、2、3、または P)を含めることができます。COMMAND-LINE (3:6)
は空にする必要があります。
RESULT-FIELD Contents Format 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) - 機能情報の TEXT
機能情報については、
COMMAND-LINE (1:3)
に目的のロケーションを指定するキーワードが含まれている必要があります。COMMAND-LINE (4:6)
には目的の機能を指定するキーワードが含まれている必要があります。例えば、グローバルコマンドADD USER
に関する情報を返す場合、コマンド行 1、2、3、6 が空白であり、コマンド行 4 にはテキスト文字列ADD
、コマンド行 5 にはテキスト文字列USER
がそれぞれ含まれている必要があります。
RESULT-FIELD Format Contents 1 テキスト(A40) ランタイムアクション定義にオプション T で定義されたテキスト。 2 数値(N10) 指定したロケーションの内部機能番号(IFN)。 3 数値(N10) 指定した機能の内部機能番号(IFN)。
以下の入力値が HELP
アクションから異なる情報を返すために使用されます。
- キーワードの HELP
このアクションは、アルファベット順にソートされたキーワードまたは同義語を内部キーワード番号(IKN)付きで返します。
コマンド行 Contents 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.- 同義語の HELP
指定された IKN に対して、このアクションは元のキーワードとすべての同義語を返します。
コマンド行 Contents 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- グローバル機能の HELP
このアクションは、すべてのグローバル機能のリストを返します。
コマンド行 Contents 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- ローカル機能の HELP
このアクションは、指定したロケーションのすべてのローカル機能のリストを返します。
コマンド行 Contents 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 の HELP
指定された内部キーワード番号(IKN)に対して、このアクションは元のキーワードを返します。
コマンド行 Contents 1 IKN
で始まる必要があります。オプション: A
内部キーワードが示されます。 T
キーワードの一部を大文字で示します(可能な省略形を示すため)。 2 変換する IKN をフォーマット N4 で指定します。 フィールド
RESULT-FIELD (1)
は、キーワードを返します。例:
入力: 出力: Command Line 1: IKN Command Line 2: 0000002002 Result-Field 1: CUSTOMER- IFN の HELP
指定された内部機能番号(IFN)に対して、このアクションは機能のキーワードを返します。
コマンド行 Contents 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
このセクションで示すプログラム例に加えて、SYSNCP
システムライブラリにプログラム例が記載されています。これらのプログラムはすべて EXAM
で始まります。
SYSNCP
で EXAM
プログラムを実行することにより、PROCESS COMMAND
で使用可能なすべてのアクションをテストできます。その後で、メニューからアクションを選択できます。
/* 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
/* 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