SYSNCP ユーティリティは、Natural アプリケーションに対してコマンド方式のナビゲーションシステムを定義するために使用します。
Natural コマンドプロセッサ(NCP)は、メンテナンスとランタイムの 2 つのコンポーネントで構成されています。 SYSNCP ユーティリティはメンテナンス部分に相当し、アプリケーション内のナビゲーションを定義および制御するためのすべて機能を備えています。 PROCESS COMMAND ステートメント(『ステートメント』ドキュメントを参照)は、Natural プログラムを呼び出すために使用されるランタイム部分です。
「SYSNCP ユーティリティ」ドキュメントでは、次のトピックについて説明します。
ユーザーがダイレクトコマンドを使用してあるアクティビティから別のアクティビティに移動できるアプリケーションは、ユーザーがメニュー階層を経由して目的のアクティビティに移動するアプリケーションよりも、有用性の点ではるかに上回っています。
上の図は、ダイレクトコマンドを使用することの利点を示しています。 メニュー階層がナビゲーションの基盤となっているアプリケーションでは、Display Document(ドキュメント表示)機能から Delete File(ファイル削除)機能へ移動するユーザーは、ドキュメント関連のブランチを経由して Main Menu(メインメニュー)に戻ってから、ファイル関連のブランチに入る必要があります。 これは、Display Document(ドキュメント表示)機能から Delete File(ファイル削除)機能に直接アクセスする場合と比べて、明らかに非効率的です。
以下に参考情報を示します。
Natural コマンドプロセッサを使用して、アプリケーション内のナビゲーションを定義および制御します。 例えば、コマンドプロセッサを使用して、Display Document(ドキュメント表示)機能に直接アクセスできる DISPLAY DOCUMENT コマンドを定義します。 このコマンドを使用できる画面のコマンド行にこのコマンド文字列を入力すると、Natural コマンドプロセッサによって入力が処理され、コマンドに割り当てられているアクションが実行されます。
メニュー方式のアプリケーションとは対照的に、Natural コマンドプロセッサで実装されるコマンド方式のアプリケーションは、オブジェクト指向のデータ処理に向かって大きな一歩を踏み出しています。 このアプローチには次の利点があります。
アプリケーションの設計は、ある結果に達するまでの過程に依存する必要がなく、求める結果自体にのみ依存します。 そのため、アプリケーション設計は構成要素内の処理フローに影響されなくなります。
アプリケーションの処理ユニットが互いに独立するようになるため、簡単、迅速、しかもより効率的に、アプリケーションをメンテナンスすることができます。
アプリケーションは、独立した処理ユニットを追加することで簡単に拡張できます。 このため、エンドユーザーにとって利用しやすいだけでなく、プログラマにとっても作成しやすいアプリケーションになります。
Natural コマンドプロセッサには、さらに次の利点があります。
プログラムコーディングの縮小
今までは、コマンド処理を操作するために、長くて同じような構造化ステートメントブロックを繰り返す必要がありましたが、コマンドプロセッサを呼び出す PROCESS COMMAND ステートメントを指定するだけで済むようになりました。実際のコマンド操作をソースコードに指定する必要がなくなりました。 これにより、必要なコーディングの量が大幅に削減されます。
コマンド操作の効率化
標準的な方法で一元集中的にコマンド操作を定義するため、アプリケーションのコマンド処理部分の作成およびメンテナンスに伴う作業をより迅速かつ効率的に行うことができます。
パフォーマンスの改善
Natural コマンドプロセッサは、特にパフォーマンス面を考慮して設計されています。そのため、できる限り迅速にコマンドが処理され、Natural アプリケーションのパフォーマンス改善に役立ちます。
Natural コマンドプロセッサには、効率的で使いやすいコマンド操作のための機能が数多く備えられています。
コマンドの柔軟な操作
頻繁に使用するコマンドに対して、別名(キーワードのシノニム)および省略形を定義できます。
省略されたキーワードの一意性の自動チェック
コマンドプロセッサにより、SYSNCP に指定したキーワードごとに他のすべてのキーワードとの比較が自動的に行われ、キーワードを一意に識別するために必要な各キーワードの最小文字数が決定されます。 つまり、アプリケーションでコマンドを入力する場合、ユーザーは各キーワードを、コマンドプロセッサが他のキーワードと区別するために必要とする最小限の長さに短縮できます。
コマンドのローカルおよびグローバルな有効性
特定のコマンドに対応して実行するアクションを、すべての条件で同じにするか、または状況に依存するかを SYSNCP で指定できます。 例えば、前に発行されたプログラムに応じてアクションを決定することができます。 さらに、ある条件下では有効で、別の条件下では無効になるようにコマンドを定義できます。
不正コマンドに対するエラー処理
ユーザー独自のエラー処理ルーチンをコマンドに結び付けることや、エラー入力を Natural で処理することができます。
機能のセキュリティ
Natural Security を使用すると、ライブラリ固有およびユーザー固有の使用条件を SYSNCP で生成したテーブルに定義できます。 このようにして、Natural アプリケーションの特定の機能またはキーワードを、特定のユーザーに対して許可または禁止することができます。
これを、機能のセキュリティと呼びます。 『Natural Security』ドキュメントの「Functional Security」も参照してください。
ヘルプテキスト
SYSNCP では、キーワードまたはコマンドにヘルプテキストを結び付けることができます。 その後で PROCESS COMMAND ACTION TEXT ステートメントを指定することにより、コマンド固有のヘルプテキストをプログラムに返すことができます。
コマンド処理のオンラインテスト
コマンドの実行結果が意図したものにならなかった場合は、PROCESS COMMAND ステートメント(『ステートメント』ドキュメントを参照)とライブラリ SYSNCP に提供されているソース形式のサンプルテストプログラム EXAM* を使用して、コマンドが正しく処理されなかった理由を調べることができます。 EXAM-* プログラム名の末尾が、関連するアクションウィンドウの上の境界線に、省略形として表示されます。例えば、EXAM-C
の場合は C と表示されます。
コマンドプロセッサをランタイムでテストするには
ダイレクトコマンド「EXAM」を入力して、すべてのテストプログラムをリストします。 [Demonstrate PROCESS COMMAND Statement]ウィンドウが表示されます。
ファンクションコード「O」を入力して、プロセッサを開きます。
プロセッサの名前を入力します。
リストされたファンクションコードのいずれかを選択して、コマンドアクションを適用します。例えば、CHECK の場合は C を選択します。
ファンクションコード「Q」を入力して、プロセッサを閉じます。
Natural コマンドプロセッサは、開発とランタイムの 2 つの部分で構成されます。
開発部分は SYSNCP ユーティリティであり、このセクションで説明しています。 SYSNCP ユーティリティを使用して、コマンド(下記参照)およびコマンドの実行に対応して実行されるアクションを定義します。 SYSNCP は、管理者が設定した定義により、コマンド入力時に実行する処理を判断するデシジョンテーブルを生成します。 これらのテーブルは、プロセッサタイプの Natural メンバに含まれます。
ランタイム部分は PROCESS COMMAND ステートメントであり、『ステートメント』ドキュメントで説明しています。 PROCESS COMMAND ステートメントを使用して、Natural プログラム内でコマンドプロセッサを呼び出します。 PROCESS COMMAND ステートメントでは、ユーザーによるコマンド入力を処理するためにこの時点で使用するプロセッサの名前を指定します。
コマンドとは、コマンド行に入力される一連の値であり、アプリケーションによって認識および処理されます。 コマンドは、最大 3 つの要素を含むことができます。
機能:
1 つ以上の有効なキーワード。 MENU または DISPLAY DOCUMENT など。
パラメータインジケータ:
オプション。 コマンドデータを導くキーワード。
コマンドデータ:
機能に送られる情報。 コマンドデータは、英数字または数字で指定できます。例えば、表示されるファイルの名前または番号を指定します。
コマンドは、常にアプリケーション内のある状態から実行されます。この状態に達した位置をロケーションと呼びます。 コマンドによって、ユーザーはあるロケーションから別のロケーションに導かれます。そのため、各コマンドはベクトルとみなすことができます。
特定のコマンドを発行できるロケーションを、システム全体またはユーザーベースで制限することができます。 例えば、システム全体を基準とした場合、コマンド内に指定する機能をローカルまたはグローバルにすることができます。 グローバル機能はあらゆるロケーションから発行できるのに対し、ローカル機能は指定されたロケーションからのみ発行できます。 ただし、Natural Security がアクティブになっている環境では、キーワードおよび機能に制限を設けることができます。
SYSNCP ユーティリティを使用して、コマンドプロセッサを作成およびメンテナンスします。 コマンドプロセッサには、ユーザーが有効なコマンドを入力したときの処理を決定するデシジョンテーブルが含まれています。
コマンドプロセッサの作成は累積的な作業であり、プロセッサの全般的な設定を構築するヘッダー定義から、キーワード定義、機能定義、および機能に対するアクションの関連付けまでのさまざまな手順を伴います。 SYSNCP には、キーワード、機能、およびアクションを指定するための特別なエディタが用意されています。
コマンドプロセッサ開発の最終的な成果物は複合的なコマンドプロセッサソースであり、このソースをカタログすると、プロセッサタイプの Natural オブジェクトが生成されます。 このオブジェクトを Natural の PROCESS COMMAND ステートメントで参照するたびに、Natural コマンドプロセッサのランタイムシステムが起動されます。
コマンドプロセッサの作成に必要な手順の概要は、以下のとおりです。
コマンドプロセッサを作成するには
セッションプロファイルを確認および修正します。
SYSNCP 自体が使用するセッションプロファイルには、SYSNCP による特定のアクションの実行方法および情報の表示方法を制御するさまざまなパラメータが含まれています。 必要な修正を行った後、そのプロファイルを指定のユーザー ID で保存することができます。
「セッションプロファイル」を参照してください。
コマンドプロセッサを初期化します。
コマンドプロセッサの名前およびコマンドプロセッサを保存するライブラリを指定します。
グローバル設定(ヘッダー)を定義します。
コマンドプロセッサに対するさまざまなグローバル設定を定義します。 例えば、キーワード編集時の記述テキスト、キーワードの最小文字数と最大文字数、ランタイム時に処理するキーワードの順番、ランタイムエラー処理、およびランタイム時の機能呼び出しに PF
キーを使用できるかどうかを設定できます。 「ヘッダーレコード」を参照してください。
キーワードを定義します。
コマンドプロセッサで処理するキーワードはそれぞれ、コマンドの 1~3 番目のどのエントリとして入力するかに関する指定とともに定義します。 キーワードのシノニムは、パラメータインジケータとしても定義できます。 キーワードごとにユーザーテキストを定義できます。
このテキストは、その後、PROCESS COMMAND ACTION TEXT ステートメントを使用して、ランタイム時に読み込むことができます。 「キーワードのメンテナンス」を参照してください。
機能を定義します。
機能は、キーワード結合を有効にすることで定義します。 機能は、ローカル(アプリケーション内の特定のロケーションからのみ呼び出し可能)またはグローバル(アプリケーション内のどこからでも呼び出し可能)あるいはその両方として定義できます。 「機能のメンテナンス」を参照してください。
ランタイムアクションを定義します。
ランタイム時にコマンドが発行されたときに、コマンドプロセッサによって実行されるアクションを定義します。 例えば、Natural プログラムを取り出す、コマンドを Natural スタックの先頭に置く、データを Natural スタックの先頭に置く、およびコマンド行の内容を変更するアクションを定義します。
「ランタイムアクション」を参照してください。
コマンドプロセッサをカタログします。
作成したソースを Natural オブジェクト(プロセッサタイプ)として、指定した Natural ライブラリにカタログします。 これで、PROCESS COMMAND
ステートメントを使用して、Natural プログラムからこのコマンドプロセッサを呼び出すことができます。 「プロセッサのカタログ化」を参照してください。
SYSNCP ユーティリティを呼び出すには
システムコマンド SYSNCP を入力します。
[Processor Source Maintenance]メニューが表示されます。
18:22:53 ***** NATURAL SYSNCP UTILITY ***** 2000-05-22 User SAG - Processor Source Maintenance - Code Function S Select Processor N Create New Processor H Modify Header K Define Keywords F Define Functions R Define Runtime Actions C Catalog Processor A Administrator Services ? Help . Exit Code .. _ Name .. SAGTEST_ Library .. SYSNCP__ Logon to SYSNCP accepted. Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Cmd Exit Last List Flip Canc |
このメニューから、コマンドプロセッサの作成およびメンテナンスに必要なすべての機能を呼び出すことができます。 機能を呼び出すには、[Code]フィールドにコード文字を入力します。
注意:
SYSNCP ユーティリティを呼び出すか、または SYSNCP を再起動すると、ダイナミックなカスタマイズを目的としてユーザー出口 NCP-USR1 が呼び出されます。Natural システムライブラリ SYSNCP で提供されているプログラム
NCP-USR1 を参照してください。
SYSNCP の各入力フィールドおよび一部の出力フィールドのヘルプを表示するには、そのフィールドにカーソルを置いて PF1 キーを押します。
プロセッサ選択機能では、存在するすべてのコマンドプロセッサソースを関連情報とともにリストします。 Natural Security がインストールされている場合、ログオンを許可されているライブラリに対してカタログ可能なソースのみがリストされます。 これらの制限は、管理者ステータスを持つユーザーには適用されません。
プロセッサ選択機能を呼び出すには
[Processor Source Maintenance]メニューで、ファンクションコード「S」を入力します。
Enter キーを押します。
プロセッサごとに次の情報が表示されます。
Name | コマンドプロセッサの名前。 |
Library | プロセッサを作成する Natural ライブラリの名前。 プロセッサをカタログすると、このライブラリに保存されます。 |
User ID | プロセッサを作成したユーザーの ID。 |
Date | プロセッサが作成された日付。 |
Status | プロセッサ開発の段階。 有効なステータスの値については、「ヘッダーレコード」の Current Status を参照してください。 |
Cat | プロセッサがカタログされているかどうかを示します。 |
注意:
Natural システムライブラリ SYSNCP で提供されているユーザー出口 NCP-SELX を使用すると、表示内容を特定のプロセッサに制限することができます。
[Ac]フィールドに任意の文字を入力して、プロセッサを選択します。
[Processor Source Maintenance]メニューが開き、選択したプロセッサの名前が自動的に[Name]フィールドに表示されます。
[Ac]フィールドに「?」(疑問符)を入力すると、ウィンドウが開き、その他の有効なオプションがリストされます。
コマンドプロセッサの名前およびライブラリ名の長さは、1~8 文字です。 英大文字(A~Z)、数字(0~9)、および特殊文字("-"、"/ "、"$"、"&"、"#"、"+"、および "_")で構成できます。
ヘッダーメンテナンス機能では、コマンドプロセッサに対するさまざまなグローバル設定を定義します。 これらの定義をまとめてヘッダーと呼びます。 ヘッダーを作成および修正するために、7 つのヘッダーメンテナンス画面が用意されています。 コマンドプロセッサのヘッダー設定は、開発の任意の段階で更新できます(以下のセクションを参照)。 設定を修正した後、コマンドプロセッサのステータスは常に Header に設定されます(Current Status も参照)。
以下に参考情報を示します。
新しいコマンドプロセッサを作成するには
[Processor Source Maintenance]メニューで、ファンクションコード「N」(Create New Processor)、
作成するコマンドプロセッサの名前、および
後でコマンドプロセッサをカタログする Natural ライブラリの名前を入力します。
Enter キーを押します。
最初のヘッダーメンテナンス画面が表示されます。
最初のヘッダーメンテナンス画面および後続の画面には、編集可能なデフォルト値が入力されています。
ヘッダー修正機能を使用して既存のヘッダーをメンテナンスします。つまり、指定したコマンドプロセッサのさまざまなヘッダー設定を修正します。
既存のヘッダーを修正するには
[Processor Source Maintenance]メニューで、ファンクションコード「H」(Modify Header)、
該当するコマンドプロセッサの名前、および
このコマンドプロセッサがカタログされているライブラリの名前を入力します。
Enter キーを押します。
最初のヘッダーメンテナンス画面が表示されます。
以下に示すヘッダーメンテナンス画面の入力フィールドを修正します。
Enter キーを押して修正を確認します。
プロセッサヘッダーの定義とメンテナンスには、7 種類の画面を使用できます、ヘッダーの定義については前のセクションを参照してください。
ヘッダーメンテナンス画面間を移動するには
PF8 キー(進む)または PF7 キー(戻る)を使用します。
各画面には、次の情報が表示されます。
前述のとおりにヘッダー修正機能を選択すると、[Processor Header Maintenance 1]画面が表示されます。
16:40:19 ***** NATURAL SYSNCP UTILITY ***** 2000-05-04 User SAG - Processor Header Maintenance 1 - Modify Processor Name SAGTEST Library SYSNCP DBID 10 FNR 32 Created by SAG Date 2000-04-29 Current Status Init Keyword Runtime Options: ------------------------ First Entry used as ....... Action__________ Second Entry used as ....... Object__________ Third Entry used as ....... Addition________ Minimum Length ............. _1 Maximum Length ............. 16 Dynamic Length Adjustment .. - Keyword Sequence ........... 123_____ Alternative Sequence ....... ________ Local/Global Sequence ...... LG______ Processor Header with name SAGTEST for library SYSNCP has been added. Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Cmd Exit Last List Flip - + Canc |
コマンドプロセッサに定義するキーワードに適用されるさまざまな属性をこの画面に入力します。
フィールド | 説明 | ||||||
---|---|---|---|---|---|---|---|
First Entry used as |
キーワードシーケンスの定義時に、1 番目のエントリ(エントリタイプ 1)として入力したすべてのキーワードと関連付けられる記述テキスト。 例えば、キーワードシーケンスの 1 番目のキーワードが実行するアクション(DISPLAY、DELETE など)を示す場合、このフィールドに記述テキスト「Action」を入力します。 「キーワードのメンテナンス」セクションで説明されているように、このフィールドに入力したテキストの最初の 4 文字は、キーワードエディタの[Use]というヘッダー名の列に表示されます。 |
||||||
Second Entry used as |
キーワードシーケンスの定義時に、2 番目のエントリ(エントリタイプ 2)として入力したすべてのキーワードと関連付けられる記述テキスト。 例えば、キーワードシーケンスの 2 番目のキーワードが使用するオブジェクト(DOCUMENT、FILE など)を示す場合、このフィールドに記述テキスト「Object」を入力します。 「キーワードのメンテナンス」セクションで説明されているように、このフィールドに入力したテキストの最初の 4 文字は、キーワードエディタの[Use]というヘッダー名の列に表示されます。 |
||||||
Third Entry used as |
キーワードシーケンスの定義時に、3 番目のエントリ(エントリタイプ 3)として入力したすべてのキーワードと関連付けられる記述テキスト(TITLE、PARAGRAPH など)。 「キーワードのメンテナンス」セクションで説明されているように、このフィールドに入力したテキストの最初の 4 文字は、キーワードエディタの[Use]というヘッダー名の列に表示されます。 |
||||||
Minimum Length | キーワードを定義するときに指定可能な最小文字数。 有効な値は 1~16 文字です。 デフォルトは 1 文字です。 | ||||||
Maximum Length | キーワードを定義するときに指定可能な最大文字数。 有効な値は 1~16 文字です。 デフォルトは 16 文字です。 | ||||||
Dynamic Length Adjustment |
可能な値は次のとおりです。
|
||||||
Keyword Sequence | ランタイム時に処理される、キーワードエントリの順番。 指定できる値は 1、2、3、および P(パラメータインジケータ用)です。デフォルトは 12 で、最初が 1 番目のキーワードエントリ、次が 2 番目のキーワードエントリという順番になります。 「キーワードのメンテナンス」の[E]フィールドも参照してください。 | ||||||
Alternative Sequence | デフォルトの順番(上記で指定)がランタイム中にエラーになった場合に、ランタイムで処理されるキーワードの代替順序。 | ||||||
Local/Global Sequence |
ランタイム時にコマンドを有効にする順序を指定します。 可能な値は次のとおりです。
デフォルトの有効順序は LG です。この指定は、コマンドを最初にローカルコマンドとして有効にし、次に、必要に応じて、グローバルコマンドとして有効にします。 |
[Processor Header Maintenance 2]画面では、追加のキーワード属性を入力できます。
フィールド | 説明 | ||||
---|---|---|---|---|---|
Header 1 for User Text | この 2 つのフィールドには記述テキストを入力します。このテキストは、キーワードエディタの、ユーザーテキスト用に確保されている列の上に表示されます。 またこのテキストは、『ステートメント』ドキュメントの説明に従って PROCESS COMMAND ステートメントで TEXT オプションを指定すると、ランタイム中に出力されます。 | ||||
Header 2 for User Text | |||||
Prefix Character 1 |
このフィールドと次の 3 つのフィールドを使用して、キーワードに 16 進接頭辞を付けます。 これにより、通常のキーボードでは表せない内部キーワードの処理が可能になります。 コマンドプロセッサがカタログされると、キーワードのすべての接頭文字が、指定された 16 進値で置き換えられます。 [Prefix Character]フィールドのいずれかに空白以外の文字を入力した場合、指定された文字は[Hexadecimal Replacement]フィールドに指定した 16 進値で置き換えられます。 |
||||
Hex. Replacement 1 | このフィールドに指定した値が[Prefix Character]フィールドに指定した文字に代わって、ランタイム時にキーワードの接頭辞として使用されます。 | ||||
Prefix Character 2 | 上記の Prefix Character 1 を参照してください。 | ||||
Hex. Replacement 2 | 上記の Hex. Replacement 1 を参照してください。 | ||||
Keywords in Upper Case |
キーワードエディタおよびアプリケーション内で、キーワードを大文字に変換するかどうかを指定します。
|
||||
Unique Keywords |
プロセッサ内のキーワードを一意にする必要があるかどうかを指定します。
|
[Processor Header Maintenance 3]画面では、その他のオプションを入力できます。
フィールド | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Invoke Action Editor |
機能エディタからランタイムアクションエディタを呼び出すかどうかを指定します。「ランタイムアクションエディタ」および「機能定義」を参照してください。
注意: |
||||||||
Catalog User Texts |
ユーザーテキストをコマンドプロセッサとともにカタログするかどうかを指定します。
|
||||||||
Security Prefetch |
セキュリティチェックを、ランタイム中最初にコマンドプロセッサが呼び出されたときに実行するか、または各コマンドの評価時に実行するかを指定します。
オプション Y を選択した場合、セキュリティチェックは、コマンドプロセッサが呼び出されたときにすべてのキーワードに対して 1 回のみ実行されます。 チェック処理は時間がかかるため、ランタイム時の最初のコマンドの評価は比較的時間がかかりますが、残りすべてのコマンドの評価は比較的速く処理されます。 逆に、オプション N を選択した場合、セキュリティはコマンドが評価される前にキーワードごとに個別にチェックされるため、各コマンドの評価時間は常に同じとなります。 |
||||||||
Command Log Size |
ランタイム時に処理されたコマンドは、コマンドプロセッサによってコマンドログエリアに保存されます。 コマンドログに割り当てるストレージスペースを KB 数で入力フィールドに指定します。
|
||||||||
Implicit Keyword Entry |
後続するすべてのコマンドに対する暗黙的なキーワードとして、タイプ 1 のキーワードを保持するかどうかを指定します。
|
||||||||
Command Delimiter |
コマンド行に複数のコマンドを指定する場合は、コマンドを区切るために使用する文字を指定します。 ランタイム時には、先頭のコマンドのみが実行されます。 例: DISPLAY CUSTOMER; MODIFY CUSTOMER; PRINT |
||||||||
PF-Key may be Command |
PF キーにコマンドを割り当てることができるかどうかを指定します。ランタイム時にコマンドプロセッサですべて空白のコマンド行を受け取ると、ユーザーによって PF キーが押されたかどうかがチェックされます。 可能な値は次のとおりです。
システム変数 *PF-NAME および *PF-KEY の詳細については、『システム変数』ドキュメントを参照してください。 |
[Processor Header Maintenance 4]画面に入力する属性で、機能に対するコマンドデータの処理方法を指定します。コマンドデータはオプションです。
オプションは以下のとおりです。
フィールド | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Data Delimiter | データの前に付ける文字を指定します。 デフォルトのデータデリミタは "#" です。
例:ADD CUSTOMER #123 |
||||||||
Data Allowed |
ランタイム時にデータ入力を認めるかどうかを指定します。
Y を指定した場合の例:DISPLAY CUSTOMER NAME=SMITH |
||||||||
More than one Item Allowed |
適用されるのは、[Data Allowed]オプションが Y に設定されている場合に限られます。 複数のデータ文字列を許可するかどうかを指定します。
例:ADD ARTICLE #111 #222 一意性が保証される場合に限り、データデリミタを省略できます。 例:ADD ARTICLE 123 |
||||||||
Maximum Length |
適用されるのは、[Data Allowed]オプションが Y に設定されている場合に限られます。 |
||||||||
Item Must be Numeric |
適用されるのは、[Data Allowed]オプションが Y に設定されている場合に限られます。 各データ値を整数値にする必要があるかどうかを指定します。
|
||||||||
Put to Top of Stack |
適用されるのは、[Data Allowed]オプションが Y に設定されている場合に限られます。 データを配置する場所を指定します。
|
||||||||
If Error, Drop all Data |
適用されるのは、[Data Allowed]オプションが Y または N に設定されている場合に限られます。 データ評価エラーに対する処理を指定します。
|
[Processor Header Maintenance 5]画面に入力する属性で、ランタイムエラーの処理方法を指定します。
フィールド | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
General Error Program |
ランタイム処理中にコマンドプロセッサによってエラーが検出された場合に、制御を受け取るプログラムの名前。 このプログラムが呼び出されるとき、Natural スタックには次の情報が格納されています。
エラープログラムも特定のエラー処理も指定しなかった場合(下記参照)、Natural システム変数 *ERROR-TA に含まれている名前のプログラムが呼び出されます。それ以外の場合には、Natural システムエラーメッセージが発行されます。 |
||||||||||
Keyword not found | キーワードを見つけられなかった場合に実行するアクションが指定されているかどうかを示します。 | ||||||||||
Keyword missing | キーワードタイプがなかった場合に実行するアクションが指定されているかどうかを示します。 | ||||||||||
Keyword Sequence Error | キーワードシーケンスエラーの場合に実行するアクションが指定されているかどうかを示します。 | ||||||||||
Command not defined | 未定義コマンドの場合に実行するアクションが指定されているかどうかを示します。 | ||||||||||
Data disallowed | 禁止されたデータの場合に実行するアクションが指定されているかどうかを示します。 | ||||||||||
Data Format/Length Error | フォーマット/長さエラーの場合に実行するアクションが指定されているかどうかを示します。 | ||||||||||
General Security Error | 全体的なセキュリティチェック中にエラーが検出された場合に実行するアクションが指定されているかどうかを示します。 | ||||||||||
Keyword Security Error | キーワードのセキュリティチェック中にエラーが検出された場合に実行するアクションが指定されているかどうかを示します。 | ||||||||||
Command Security Error | コマンドのセキュリティチェック中にエラーが検出された場合に実行するアクションが指定されているかどうかを示します。 |
[Processor Header Maintenance 6]画面には、コマンドプロセッサに指定したキーワードに関する統計データをレポートする出力フィールドのみが表示されます。
次の統計情報が表示されます。
フィールド | 説明 |
---|---|
Entry n Keywords | コマンドプロセッサに定義されたタイプ n のキーワードの数。シノニムは含まれません。 |
Entry n Keywords + Synonyms | タイプ n のキーワードとそのシノニムの合計。 |
Highest IKN for Entry n | キーワードタイプ n の最大内部キーワード番号。 |
Possible Combinations | 定義されたキーワードの可能な結合の数。 |
Cataloged Functions | 現在カタログされているキーワード結合の数。 |
[Processor Header Maintenance 7]画面には、コマンドプロセッサの各部分が実行または修正されたときの日付と時刻をレポートする出力フィールドのみが表示されます。
キーワードは、機能を定義するための基本的なコンポーネントです。 キーワードを定義する前に、ヘッダーメンテナンスレコードを作成する必要があります。「ヘッダーレコード」を参照してください。
コマンドで使用するキーワードは、キーワード定義機能とキーワードエディタで作成します。 キーワードエディタは、エディタ行が別々のフィールドに分割されていること以外は、既存の Natural エディタと類似しています。 Natural プログラムエディタで使用するエディタコマンド(関連するセクションを参照)および行コマンド(関連するセクションを参照)の大部分は、キーワードエディタでも使用できます。
キーワードエディタを呼び出すには
[Processor Source Maintenance]メニューで、ファンクションコード「K」(Define Keywords)を入力します。
Enter キーを押します。
キーワードエディタ画面が表示されます。
以下のキーワードエディタ画面が表示されます。 このセクションの例として使用するキーワードがすでにいくつか定義されています。
09:42:39 - SYSNCP Keyword Editor - 2000-05-04 Modify Keywords Name SAGTEST Library SYSNCP DBID 10 FNR 32 I Line E Use Keyword IKN ML Comment - ---- - ---- ---------------- ---- -- ---------------------------------------- 1 1 Acti MENU 1004 1 2 1 Acti DISPLAY 1002 2 3 S Syno SHOW 1002 1 4 1 Acti DELETE 1001 2 5 S Syno PURGE 1001 1 6 S Syno ERASE 1001 1 7 1 Acti FILE 1003 4 8 P Parm NAME 4002 2 9 2 Obje FILE 2001 4 10 P Parm NUMBER 4001 2 11 2 Obje DOCUMENT 2003 2 12 1 Acti INFORMATION 1005 1 13 14 - ---- - ---- ----- All ------ ---- -- ---------------------------------------- Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Cmd Exit Last List Flip -1 +1 Top Bot Info Canc |
コマンド言語に必要なすべてのキーワードをキーワードエディタに入力します。 キーワードは任意の順番で入力できます。ただし、シノニムは関連するキーワードの直後に続ける必要があります。 各キーワードに対して、そのキーワードがコマンド構文のどの部分に属するかを指定するタイプを割り当てます。 コマンドプロセッサのコマンド構文規則は、プロセッサヘッダーで指定します。「ヘッダーレコード」の「キーワードランタイムオプション - ヘッダー 1」を参照してください。 例えば、キーワードを、タイプ 1(コマンドの先頭に入力)、タイプ 2、タイプ 3、別のキーワードのシノニム、またはパラメータインジケータのいずれにするかを指定できます。
注意:
現在のところ、どのようなコンピュータにも意味論を理解する能力はないため、コマンド言語には厳密な構文が必要です。 そのため、言葉による入力が、コマンド言語でやり取りする唯一の実用的な方法となっています。
上記の例では、キーワード DELETE と DISPLAY がタイプ 1 のキーワードとして定義されています。 プロセッサヘッダーで指定したとおり、これらのキーワードはアクションを示します。 キーワード DOCUMENT はタイプ 2 のキーワードとして定義されており、オブジェクトを示します。 ただし、キーワード FILE はタイプ 1 と 2 の両方として定義されているため、コマンド内の位置に応じてアクションまたはオブジェクトを示します。 2 つのキーワードタイプを結び付けて DELETE FILE や FILE DOCUMENT などのコマンドを作ることができます。
コマンド行から SAVE または STOW コマンドを発行して、入力したキーワードを保存することができます。 STOW コマンドは、キーワード定義をソース形式で保存することに加えて、それらの整合性チェックも実行します。 キーワードが正常に格納されると、ランタイム時にコマンドを評価するために使用される内部キーワード番号(IKN)がキーワードに与えられます。 シノニムは常にマスタキーワードと関連付けられ、マスタの IKN を取得します。
キーワードエディタの各行には以下のフィールドが含まれています。
フィールド | 説明 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
I |
出力フィールド。 この情報フィールドには次の値が表示されます。
|
||||||||||||||
Line | 出力フィールド。 エディタの行番号が表示されます。 | ||||||||||||||
E |
キーワードのエントリタイプ、つまり、キーワードをコマンドに入力する位置を指定します。エントリタイプは、1 番目、2 番目、3 番目、シノニム、またはパラメータインジケータのいずれかです。 例えば、上記のキーワードエディタ画面の例では、キーワード DELETE はエントリタイプ 1、DOCUMENT はエントリタイプ 2 になっています。 これらのキーワードを使用すると、DELETE DOCUMENT コマンドを定義できます。 このフィールドに入力できる文字は以下のとおりです。
|
||||||||||||||
Use |
出力フィールド。 このフィールドに表示される値は、[E]フィールドに入力した値で決まります。
|
||||||||||||||
Keyword |
定義するキーワードを入力します。 空白で埋めることはできません。 プロセッサヘッダーで、キーワードに大文字のみ使用できるように指定した場合、キーワードは、どのように入力されたかに関係なく、常に大文字に変換されます。 それ以外の場合、大文字/小文字は入力されたままとなります。 キーワードの最大文字数と最小文字数は、ヘッダーに指定した設定で決まります。デフォルトは 1~16 文字です。 キーワードは、ヘッダーにその他の指定がない限り、一意にする必要があります。 「ヘッダーレコード」の「キーワードエディタオプション - ヘッダー 2」で説明されているように、キーワード接頭辞を使用できます。 |
||||||||||||||
IKN | 出力フィールド。 内部キーワード番号(IKN)は、有効な各キーワードに割り当てられる識別子です。 IKN は、テストおよびデバッグに役立ちます。 IKN は、キーワードが正常に格納されたときにのみ割り当てられます。「エディタコマンド」の STOW コマンドも参照してください。 各キーワードに一意の IKN が割り当てられます。ただし、シノニムにはマスタの IKN が割り当てられます。上記のキーワードエディタ画面の例の DISPLAY および SHOW を参照してください。 | ||||||||||||||
ML | 入出力フィールド。キーワードの最小文字数を示します。 「ヘッダーレコード」の「キーワードランタイムオプション - ヘッダー 1」で説明されているように、プロセッサヘッダーの[Dynamic Length Adjustment]フィールドに S を指定していると、このフィールドは入力フィールドになります。 この場合、キーワードに必要な入力文字数を指定する必要があります。 S 以外の場合は、他のキーワードとの混同を避けるために、ユーザーが指定する必要がある、キーワードの最小文字数が、このフィールドに表示されます。
例えば、上記のキーワードエディタ画面の例の場合、キーワード MENU に必要な入力は M のみですが、キーワード DISPLAY は、キーワード DELETE との混同を避けるために、「DI」と入力する必要があります。 |
||||||||||||||
Comment | キーワードに関するテキストを自由に入力できます。 入力に対する制限はありません。 「ヘッダーレコード」の「その他のオプション - ヘッダー 3」で説明されているように、ヘッダー定義の[Catalog User Texts]フィールドを Y に設定した場合、このユーザーテキストはカタログされたコマンドプロセッサに組み込まれます。 このユーザーテキストは、PROCESS COMMAND ステートメントの TEXT オプションを使用して、ランタイム時に読み込むことができます。 この列の先頭に表示されるヘッダーテキストは、ヘッダー定義の[Header for User Text 1]および[Header for User Text 2]フィールドで制御されます。 |
キーワードエディタのコマンド行に入力できるコマンドは以下のとおりです。
コマンド | 機能 |
---|---|
ADD | エディタの最後の部分に空行を 10 行追加します。 |
CANCEL | プロセッサメンテナンスメニューに戻ります。 |
CHECK | キーワードソースの整合性をテストします。 |
EXIT | プロセッサメンテナンスメニューに戻ります。 |
HELP | 有効なエスケープ文字および他の有効なプロセッサ設定を表示します。 |
INFO | カーソルが位置付けられているキーワードに関する情報を表示します。 |
LET | 最後に Enter キーを押して以降、現在の画面に行ったすべての修正を無効にします。 |
POINT | 行コマンド .N が入力された行を現在の画面の先頭に位置付けます。 |
RECOVER | 最後の SAVE または STOW の前に存在したキーワードソースに戻します。 |
RESET | 現在の X および Y 行マークを削除します。 |
SAVE | キーワードソースを保存します。 |
SCAN | スキャンを実行して、スキャン値の次のオカレンスを探します。 |
STOW | キーワードソースが格納され、有効なキーワードに対して内部キーワード番号(IKN)が生成されます。 |
エディタの位置付けコマンドは、Natural プログラムエディタの位置付けコマンドと同じです。 詳細については、『エディタ』ドキュメントの「プログラムエディタ」を参照してください。
エディタの最後の行には、エディタ内の表示位置を示す出力フィールドが含まれています。 以下の出力値が表示されます。
Top | エディタは現在キーワードソースの先頭に位置付けられています。 |
Mid | エディタは現在キーワードソースの中央に位置付けられています。 |
Bot | エディタは現在キーワードソースの最後に位置付けられています。 |
Emp | エディタは現在空白です。 |
All | ソース全体が現在の画面に含まれています。 |
キーワードエディタの行コマンドは、コマンド .J および .S を使用できないこと以外は、Natural プログラムエディタと同じです。
各コマンドは[E]フィールドから入力します。コマンドの残りの部分は、次の画面のように、[Keyword]フィールドに入力します。
09:42:39 - SYSNCP Keyword Editor - 2000-05-04 Modify Keywords Name SAGTEST Library SYSNCP DBID 10 FNR 32 I Line E Use Keyword IKN ML Comment - ---- - ---- ---------------- ---- -- ---------------------------------------- 1 1 Acti MENU 1004 1 2 1 Acti DISPLAY 1002 2 3 S Syno SHOW 1002 1 4 . Acti i(3)TE 1001 2 5 S Syno PURGE 1001 1 |
注意:
行を移動(.M)またはコピー(.C)する場合は、個々のキーワードを常にシノニムと一緒に移動またはコピーするようにします。
行を削除(.D)する場合、対応するキーワードおよびこれらのキーワードを含むすべての機能は、STOW エディタコマンドを発行するまで、データベースから削除されません。 STOW コマンドを発行しない限り、これらの機能は機能エディタに表示され続けます。
機能は、キーワードエディタに入力したキーワードで構成されます。 機能を定義する前に、キーワードが正常に格納されている必要があります。「キーワードのメンテナンス」を参照してください。
機能定義機能および機能エディタを使用して機能を指定し、特定のロケーションからアクセスできる有効なコマンドを構成します。
機能エディタを呼び出すには
[Processor Source Maintenance]メニューで、ファンクションコード「F」(Define Functions)を入力します。
Enter キーを押します。
機能エディタ画面が表示されます。
機能エディタには、キーワードエディタで格納したキーワードの有効な結合がすべて表示されます。
次の画面は機能エディタを示しています。この画面には、「キーワードのメンテナンス」のキーワードエディタ画面で例として使用されているキーワードが含まれています。
09:45:53 ***** NATURAL SYSNCP UTILITY ***** 2000-05-04 User SAG - Function Editor - Edit Global Combinations Name SAGTEST Library SYSNCP DBID 10 FNR 32 Global I Ac Action Object Addition Global Local Any Loc - -- ---------------- ---------------- --------------- ------ ----- ------- DELETE DELETE DOCUMENT Yes DELETE FILE Yes DISPLAY DISPLAY DOCUMENT Yes DISPLAY FILE Yes FILE FILE DOCUMENT Yes FILE FILE Yes INFORMATION Yes INFORMATION DOCUMENT INFORMATION FILE Repos: ________________ ________________ ________________ ------ ----- ------- Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Cmd Exit Last List Flip + Top Loc Loc+ Canc |
アプリケーション内の有効な機能として指定するキーワード結合を、それぞれ有効にする必要があります。 キーワード結合は、グローバル機能、ローカル機能、またはその両方として有効にできます。 グローバル機能はアプリケーション内のどこからでも呼び出すことができますが、ローカル機能はアプリケーション内の特定のロケーションからのみ呼び出すことができます。
機能エディタ画面の左上隅に表示されている 2 つのフィールドは、現在有効なモード(ローカルまたはグローバル)および現在キーワード結合を有効にできるロケーションを示しています。 上の画面の "Edit Global Combinations" というテキストは、グローバルモードが有効になっていることを示しています。 ローカルモードが有効になっている場合は、ここに "Edit Local Combinations" というテキストが表示されます。 上の画面では、このテキストの下に "Global" というテキストが表示されています。 これは、リストされているすべての結合をグローバルとして有効にできることを示しています。 ローカルモードでは、このフィールドに、ローカルとして有効にできるロケーションの名前が表示されます(例:"Local DISPLAY FILE")。
機能エディタには次の列が含まれています。
列 | 説明 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
I |
出力フィールド。 機能編集の結果として次の値が出力されます。
|
||||||||||||||||||||
Ac |
実行するアクション。 次の値を入力できます。
|
||||||||||||||||||||
Action |
この 3 つの列を使用して、現在定義されているキーワードの有効な結合をすべて表示します。 各キーワード列の上部に表示されるテキストは、プロセッサヘッダーで指定した[First Entry used as]、[Second Entry used as]、および[Third Entry used as]の各フィールドで制御されます。「ヘッダーレコード」の「キーワードランタイムオプション - ヘッダー 1」を参照してください。 |
||||||||||||||||||||
Object | |||||||||||||||||||||
Addition | |||||||||||||||||||||
Global | 機能がグローバルコマンドとして定義されている場合、このフィールドに Yes が表示されます。 | ||||||||||||||||||||
Local | 機能がローカルコマンドとして定義されている場合、このフィールドには現在のロケーションに対する Yes が表示されます。ただし、ローカルモードの場合のみです。 | ||||||||||||||||||||
Any Loc | 任意のロケーション。 機能がプロセッサ内の別のどこかでローカルコマンドとして定義されている場合、このフィールドには他のいずれかのロケーションに対する Yes が表示されます。 |
機能エディタのコマンド行に入力できるコマンドは以下のとおりです。
コマンド | 機能 |
---|---|
ANY ON | [Any Loc]列を使用できるようにします。 |
ANY OFF | [Any Loc]列を使用できないようにします。列は疑問符で埋められます。 これにより、機能エディタ内のスクロールが速くなります。 さらに、3 番目の再位置付けフィールドを使用できます。 進行中の処理情報ウィンドウは表示されません。 |
FIELD | キーワード特定の結合を表示します。 |
GLOBAL | グローバルモードを有効にします。 |
LOC | 次のロケーショングループに位置付けます。 |
LOC+ | 1 ロケーション先に位置付けます。 |
SINGLE ON | 単一ワード機能のみを表示します。 |
SINGLE OFF | 使用可能なすべての結合を表示します。 |
TOP | リストの先頭に位置付けます。 |
ダイレクトコマンド QUICK-EDIT を使用すると、キーワードまたは IKN を直接入力することで、ローカル機能およびグローバル機能と、対応するランタイムアクションをすばやく定義することができます。 これは、非常に大きいコマンドプロセッサに役立ちます。 ただし、コマンドを発行できるロケーションが検証されないため、ランタイム時にナビゲーションが正しく機能しない場合があることに注意してください。
ローカル機能とグローバル機能の概念を理解するには、有効な各キーワードの結合をアプリケーション内のロケーションとして図に示す必要があります。例えば、Display File という名前のロケーションとして示します。 機能エディタでは、このロケーションから発行できるコマンドと、DISPLAY FILE コマンドを使用することでこのロケーションに到達できるロケーションを指定します。
上記のサンプルアプリケーションでは、Menu ロケーションと Information ロケーションのみが、グローバルとして指定されています。 そのため、これらのロケーションは、サンプルアプリケーション内の残りのすべてのロケーションから直接アクセスできます。 Information を除く全ロケーションは、Menu ロケーションに対してローカルとして指定されています。 Display File ロケーションから Display Document ロケーションに到達するには、Menu を経由する方法しかありません。
機能エディタは、グローバルモードとローカルモードの 2 つのモードで動作します。 グローバルモードではグローバル機能を有効にし、ローカルモードではグローバル機能とローカル機能を有効にすることができます。 グローバルモードがデフォルトのモードです。 エディタの[I]フィールドの上にある出力フィールドで、エディタがグローバルモードであるかローカルモードであるかを確認できます。 エディタがグローバルモードの場合は、Global と表示されます。 エディタがローカルモードの場合には、ローカル機能が有効になるロケーションが表示されます。 アプリケーションに対してグローバル機能とローカル機能を有効にする一般的な手順は、次のとおりです。
グローバル機能とローカル機能を有効にするには
グローバルモードの機能エディタで、該当するアクションの隣の[Ac]フィールドに「VG」(グローバルを有効にする)を入力して、すべてのグローバル機能を有効にします。
Enter キーを押します。
[Runtime Action Definition]画面が表示されます。
PF3 キーを押して、機能エディタに戻ります。
ヘッダー名[Global]列の下、検証された機能の横に[Yes]
が表示されます。
前の手順で有効にした各グローバル機能の[Ac]フィールドに「+L」を入力して、ローカルモードに切り換えます。
Enter キーを押します。
このグローバル機能のロケーションとして使用する各機能の[Ac]フィールドに、「VL」(ローカルを有効にする)を入力します。
Enter キーを押します。
[Runtime Action Definition]画面が表示されます。
PF3 キーを押して、機能エディタに戻ります。
ヘッダー名[Local]列の下、検証された機能の横に[Yes]
が表示されます。
ローカルロケーションに対してローカル機能を有効にするには、前の手順で有効にした各ロケーションの[Ac]フィールドに「+L」(ローカルモードを呼び出す)を入力して、このロケーションから使用するすべてのローカル機能を有効にします。
ENTER キーを押します。
現在のロケーションに対するローカル機能として使用する各機能の[Ac]フィールドに、「VL」(ローカルを有効にする)を入力します。
PF3 キーを押して、機能エディタに戻ります。
ヘッダー名[Local]列の下、検証された機能の横に[Yes]
が表示されます。
注意:
コマンドプロセッサヘッダー([Processor Header Maintenance 3])の[Invoke Action Editor]フィールドを Y
に設定していると、[Runtime Action Definition]ウィンドウがアクションごとに表示されます。「ランタイムアクション」の「ランタイムアクションエディタ」を参照してください。
機能エディタで有効なキーワード結合をローカル機能またはグローバル機能として特定した後、各機能を 1 つ以上のランタイムアクションと関連付けることができます。 ランタイムアクションは、機能が発行されると常に実行される 1 つ以上の手順で構成されます。
以下に参考情報を示します。
SYSNCP には、ランタイムアクションを定義できる場所が 2 つあります。機能エディタ(「機能のメンテナンス」を参照)と結果エディタです。 このセクションでは、結果エディタについて、機能に対するランタイムアクションの指定方法を説明します。
結果エディタを呼び出すには
[Processor Source Maintenance]メニューで、ファンクションコード「R」(Define Runtime Actions)を入力します。
Enter キーを押します。
結果エディタ画面が表示されます。
09:47:03 ***** NATURAL SYSNCP UTILITY ***** 2000-05-04 User SAG - Result Editor - List defined combinations Name SAGTEST Library SYSNCP DBID 10 FNR 32 I Ac Location Command Result - -- -------------------------------- -------------------------------- -------- < Global > MENU KR < Global > INFORMATION SF DELETE FILE DISPLAY FILE SF DELETE DOCUMENT DISPLAY DOCUMENT SF DISPLAY FILE DELETE FILE SF DISPLAY DOCUMENT DELETE DOCUMENT SF DISPLAY DOCUMENT FILE DOCUMENT SF FILE DOCUMENT DELETE DOCUMENT SF FILE DOCUMENT DISPLAY DOCUMENT SF MENU DELETE FILE KCS MENU DELETE DOCUMENT KCCS MENU DISPLAY FILE KRCS Repo ________________________________ ________________________________ -------- Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Cmd Exit Last List Flip + Top Loc-- Loc+ Canc |
結果エディタには、機能エディタで指定したすべてのローカル機能とグローバル機能が表示されます。 エディタの各行には、コマンドを発行できるロケーション([Location]フィールド)、コマンド([Command]フィールド)、およびコマンドが発行されたときに実行されるアクションの短縮形([Result]フィールド)が表示されます。
次の表は画面フィールドの説明です。
フィールド | 説明 | ||||||
---|---|---|---|---|---|---|---|
I | 出力フィールド。 この行で最後に実行されたアクションについての情報。 | ||||||
Ac |
実行するアクション。 次の値を入力できます。
|
||||||
Location |
出力フィールド。 コマンド(下記の[Command]フィールドを参照)を発行できるアプリケーション内のロケーション。 機能がグローバルの場合、このフィールドに < Global> が表示されます。コマンドは任意のロケーションから発行できます。 |
||||||
Command |
出力フィールド。 コマンド。 長いキーワードを使用しているときには、[Location]および[Command]フィールドの内容が切り捨てられる場合もあります。 |
||||||
Result |
出力フィールド。 コマンドが発行されたときに実行されるアクションの省略形が表示されます。 先頭文字は Keep Location 情報(下記参照)を示します。他の文字については、下記のランタイムアクション定義の表を参照してください。 |
ランタイムアクションエディタを使用して、特定のロケーションからコマンドが発行されたときに実行するアクションを定義します。 ランタイムアクションエディタは、グローバルまたはローカル機能として定義された機能に対してのみ呼び出されます。 このエディタは、機能エディタまたは結果エディタから呼び出すことができます。
機能エディタからランタイムアクションエディタを呼び出すには
グローバル機能の場合は、[Ac]フィールドに「EG」(グローバル編集)を入力します。
または:
ローカル機能の場合は、[Ac]フィールドに「EL」(ローカル編集)を入力します。
Enter キーを押します。
結果エディタからランタイムアクションエディタを呼び出すには
[Ac]フィールドに、「ED」を入力します。
[Runtime Action Definition]ウィンドウが表示されます。
Runtime Action Definition Location .... DISPLAY DOCUMENT Command ..... DELETE DOCUMENT Keep Location .... S Data allowed ..... Y More than one .... N Max. Length ...... 99 Numeric .......... N TOP of STACK ..... Y Error: Drop ...... Y A Runtime Action Definition - ---------------------------------------------------------------- F DE-PGM__________________________________________________________ _ ________________________________________________________________ _ ________________________________________________________________ _ ________________________________________________________________ _ ________________________________________________________________ _ ________________________________________________________________ _ ________________________________________________________________ _ ________________________________________________________________ |
アクションは常に発生元と宛先に関連付けられます。 発生元はコマンドが発行されるロケーションであり、宛先はコマンド自体です。 このように、コマンドが使用される関係を基準にして、1 つのコマンドに異なるアクションを関連付けることができます。
ランタイムアクションエディタでは、アクションが実行された後ロケーションをそのままにするか、またはコマンド自体を新たな現行ロケーションにするかも指定します。
アクションは、エディタの左端の列に 1 文字コードを入力して指定します。 コードの隣のフィールドに、アクションに付随するすべてのパラメータを入力します。 このフィールドに「/*」を入力すると、後続の入力はすべてコメントとみなされます。 必要なパラメータを省略すると、入力を求めるメッセージが表示されます。
ランタイム時に実行されるアクションの順番は、エディタのエントリ順序(上から下へ)で決定されます。 そのため、FETCH が指定されると、その下に指定されたいずれのアクションも実行されません。
フィールド | 説明 | ||||
---|---|---|---|---|---|
Location | 出力フィールド。 コマンドを発行するロケーション。 機能がグローバルとして定義されている場合、<Global> が表示されます。 | ||||
Command | 出力フィールド。 このコマンドに対するアクションを指定します。 | ||||
Keep Location |
アクションが実行された後、現在のロケーションをアクティブにするか、または新しいロケーションをアクティブにするかを指定します。 このフィールドの値は、EXEC オプションを指定した場合にのみコマンドに影響します。 可能な値は次のとおりです。
注意: |
||||
Other Options |
その他のオプションはすべて、このコマンドシーケンスで提供されるパラメータの処理と関連します。 詳細については、「ヘッダーレコード」の「コマンドデータ処理 - ヘッダー 4」を参照してください。 これらのオプションのヘッダーデフォルトを有効にするには、「*」(アスタリスク)を入力します。 |
ランタイムアクションを定義するには
前述のように、[Runtime Action Definition]ウィンドウを呼び出します。
フィールド[A]にアクションコードを入力し、対応するフィールドにアクションを入力します。
コード | ランタイムアクション定義 |
---|---|
V | デフォルト値です。 ランタイムアクションを指定しません。 |
T | PROCESS COMMAND ステートメントの TEXT または GET オプションを使用して、ランタイム時に読み込めるテキストです。 |
M | コマンド行を修正します。 このデータはコマンド行に置かれます。 |
C | コマンド。 このコマンドは Natural スタックの先頭に置かれます。 アスタリスク(*)を指定した場合、この PROCESS COMMAND ステートメントを発行したプログラムの名前がスタックの先頭に置かれます(STACK TOP COMMAND '*PROGRAM')。 (*) |
D | データ。 このデータは Natural スタックの先頭に置かれます。 (*) |
F | Natural プログラム名。 このプログラムに対して FETCH ステートメントが実行されます。 (*) |
S | Natural の STOP ステートメント。 ランタイム時にこのステートメントが実行されます。 (*) |
E | この行に指定した値は、即座に Natural システム変数 *ERROR-NR に転送されます。 |
R | DDM フィールド RETURN-CODE にリターンコードが入力されます。『ステートメント』ドキュメントの PROCESS COMMAND を参照してください。 |
1~9 | テキスト文字列。 この値は複数の DDM フィールド RESULT-FIELD に入力されます。『ステートメント』ドキュメントの PROCESS COMMAND を参照してください。 |
* | コメント行。 |
* これらのアクションは、PROCESS COMMAND ステートメントの EXEC オプションでのみ実行されます。
PF3 キーを押して、[Runtime Action Definition]ウィンドウを閉じます。
注意:
ユーザー出口 NCP-REAM を使用すると、上記のコードの一部またはすべてを使用できます。 ユーザー出口 NCP-REEM を使用すると、ランタイムアクション定義テーブルのヘッダーの下の行を修正できます。 ユーザー出口 NCP-REDM を使用すると、ランタイムアクション定義のデフォルト値を定義できます。このユーザー出口を使用する場合は、「ヘッダーレコード」の Invoke Action Editor も参照してください。 上記のユーザー出口はすべて Natural システムライブラリ SYSNCP で提供されています。
コマンドプロセッサで使用するすべての機能にランタイムアクションを指定した後、コマンドプロセッサをカタログする必要があります。 コマンドプロセッサをカタログすると、プロセッサタイプの Natural オブジェクトが生成されます。
コマンドプロセッサをカタログするには
[Processor Maintenance]メニューで、ファンクションコード「C」(Catalog Processor)、
カタログするコマンドプロセッサの名前、
およびコマンドプロセッサをカタログする Natural ライブラリの名前を入力します。
Enter キーを押します。
注意:
Natural Security がインストールされている場合、コマンドプロセッサの使用を許可する必要があります。『Natural Security』ドキュメントの「Functional Security」を参照してください。
SYSNCP には、コマンドプロセッサの管理機能が用意されています。 Natural Security で定義されたシステム管理者のみが、これらのサービスにアクセスする権限を持ちます。
管理者サービスにアクセスするには
[Processor Source Maintenance]メニューで、ファンクションコード「A」(Administrator Services)を入力します。
Enter キーを押します。
[Administrator Services]画面が表示されます。
09:49:11 ***** NATURAL SYSNCP UTILITY ***** 2000-05-04 User SAG - Administrator Services - Code Function S Select Processor C Copy Processor Source D Delete Processor Source P Print Source/Object/NCP-Buffer U Unload Processor to Work File 3 L Load Processor from Work File 3 F Freeze Processor Source R References from Natural Security ? Help . Exit Code .. _ Name .. SAGTEST_ Library .. SYSNCP__ Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Cmd Exit Last List Flip Canc |
注意:
Natural Security がインストールされていない場合、すべてのユーザーが管理者ステータスになることに注意してください。
以下に参考情報を示します。
「プロセッサの選択」を参照してください。
プロセッサソースのコピーでは、プロセッサ全体をコピーするか、または選択したソース(ヘッダー、キーワード、機能、ランタイムアクション定義)のみをコピーするかを選択できます。
コマンドプロセッサをコピーするには
[Administrator Services]メニューで、ファンクションコード「C」を入力します。
Enter キーを押します。
[Copy Processor Source]ウィンドウが開き、ソースおよびターゲット情報が表示されます。
Copy Processor Source Source Target Name ........ SAGTEST_ ________ Library ..... SYSNCP__ SYSNCP__ DBID ........ 10___ 10___ FNR ......... 32___ 32___ Password .... Cipher Key .. Replace ..... NO_ |
[Source]側のフィールドに、コピーするプロセッサの名前、プロセッサが保存されているライブラリ、データベース ID(DBID)、およびファイル番号(FNR)を入力します。 デフォルト値は[Administrator Services]メニューで指定したプロセッサです。
[Target]側のフィールドには、コピー先のプロセッサの名前、コピーしたプロセッサを保存するライブラリ、データベース ID(DBID)、およびファイル番号(FNR)を入力します。
ソースファイルやターゲットファイルがパスワードとサイファキーの両方またはいずれかで保護されている場合には、[Cipher Key]フィールドに適切なパスワードとサイファキーの両方またはいずれかを入力します。
ターゲット環境のプロセッサを上書きする場合は、[Replace]フィールドに「YES
」を入力します。 このフィールドのデフォルトは NO
です。
Enter キーを押します。
ソースを選択するための次のようなウィンドウが表示されます。
Copy Processor Source Mark Copy Source Target ---- ----------------------------- ------ ------ _ Header ...................... yes no _ Keywords .................... yes no _ Functions ................... yes no Runtime Action Definitions .. no no Source Name SAGTEST Library SYSNCP DBID 10 FNR 32 Target Name TEST2 Library SYSNCP DBID 10 FNR 32 Replace ... NO |
該当する[Mark]フィールドに任意の文字を入力して、コピーするソースを選択します。
Enter キーを押します。
この機能は、プロセッサソースを削除するために使用します。
コマンドプロセッサを削除するには
[Administrator Services]メニューで、ファンクションコード「D」を入力します。
Enter キーを押します。
[Delete Processor Source]ウィンドウが表示されます。
削除するプロセッサの名前、プロセッサが保存されているライブラリ、データベース ID、およびファイル番号を指定します。 ファイルがパスワードとサイファキーの両方またはいずれかによって保護されている場合、適切なパスワードとサイファキーの両方またはいずれかを入力する必要があります。
Enter キーを押します。
削除するソースを選択するための次のようなウィンドウが表示されます。
Delete Processor Source Mark Delete Available ---- ----------------------------- --------- _ Header ...................... yes _ Keywords .................... yes _ Functions ................... yes _ Runtime Action Definitions .. yes Name SAGTEST Library SYSNCP DBID 10 FNR 32 |
各プロセッサソース(ヘッダー、キーワード、機能、ランタイムアクション定義)の右側にあるフィールドは、ソースが存在するかどうかを示しています。 コマンドプロセッサの作成は累積的な処理であるため、あるソースを削除する場合、そのソースをベースにしているソースもすべて削除する必要があります。 例えば、上の画面で、機能のソースを削除する場合は、ランタイムアクション定義のソースも削除する必要があります。
[Available]と示されている各ソースを選択するには、該当する[Mark]フィールドに任意の文字を入力します。
Enter キーを押します。
プロセッサソースの他に、プロセッサオブジェクトおよび NCP バッファもプリントできます。
コマンドプロセッサ項目をプリントするには
[Administrator Services]メニューで、ファンクションコード「P」を入力します。
ENTER キーを押します。
[Print Source/Object/NCP-Buffer]ウィンドウが表示されます。
プリントするプロセッサの名前、プロセッサが保存されているライブラリ、データベース ID、およびファイル番号を指定します。 ファイルがパスワードとサイファキーの両方またはいずれかによって保護されている場合、適切なパスワードとサイファキーの両方またはいずれかを入力する必要があります。
Enter キーを押します。
プリントする項目を選択するための次のようなウィンドウが表示されます。
Print Source/Object/NCP-Buffer Mark Print Available ---- ----------------------------- --------- _ Header ...................... yes _ Keywords .................... yes _ Functions ................... yes _ Runtime Action Definitions .. yes _ Processor Object ............ yes NCP-Buffer .................. no Printer ..................... ________ Name SAGTEST Library SYSNCP DBID 10 FNR 32 |
各プロセッサソース(ヘッダー、キーワード、機能、ランタイムアクション定義)の右側にあるフィールドは、項目が存在するかどうかを示しています。
[Printer]フィールドに入力できる値は、論理プリンタ ID、VIDEO、または SOURCE です。『ステートメント』ドキュメントの DEFINE PRINTER も参照してください。
該当する[Mark]フィールドに任意の文字を入力してプリントする項目を選択し、[Printer]フィールドに論理プリンタ名、あるいは「VIDEO」または「SOURCE」を入力します。
Enter キーを押します。
コマンドプロセッサをアンロードするには
[Administrator Services]メニューで、ファンクションコード「U」を入力します。
Enter キーを押します。 [Unload Processor to Work File 3]ウィンドウが表示されます。
Unload Processor to Work File 3 Source Target Name ........ SAGTEST_ Library ..... SYSNCP__ SYSNCP__ DBID ........ 10___ FNR ......... 32___ Password .... Cipher Key .. Report ...... NO_ |
[Source]側のフィールドに、アンロードするプロセッサの名前、プロセッサが存在するライブラリ、データベース ID、およびファイル番号を入力します。デフォルト値は[Administrator Services]メニューで指定したプロセッサです。 ファイルがパスワードとサイファキーの両方またはいずれかで保護されている場合は、適切なパスワードとサイファキーの両方またはいずれかを入力します。
レポートを出力する場合は、[Report]フィールドに「YES
」を入力します。 デフォルトは NO
です。 ファイル拡張子を使用する必要はありません。 拡張子を使用する場合は、ファイル拡張子 ".sag" を使用する必要があります。
Enter キーを押します。
プロセッサをアンロードすると、すべてのプロセッサソース(ヘッダー、キーワード、機能、ランタイムアクション定義)がワークファイル 3 に書き込まれます。
注意:
あるハードウェアプラットフォームから別のハードウェアプラットフォームにコマンドプロセッサを転送するには、オブジェクトハンドラを使用します。
コマンドプロセッサをロードするには
[Administrator Services]メニューで、ファンクションコード「L」を入力します。
Enter キーを押します。
プロセッサをワークファイル 3 から Natural ライブラリにロードするための[Load Processor from Work File 3]ウィンドウが表示されます。
Load Processor from Work File 3 Replace existing processors .. N Produce load report .......... NO_ |
ロードするプロセッサで同じ名前を持つ既存のプロセッサを置き換えるかどうかを、[Replace existing processors]フィールドに「Y」または「N」(デフォルトは N)を入力して指定します。
レポートを出力する場合は、[Produce load report]フィールドに「YES
」(デフォルトは NO
)を入力します。
Enter キーを押します。
注意:
プロセッサ名とプロセッサのロード先のライブラリはワークファイルから取得されます。
プロセッサを現在の状態でフリーズして、ユーザーがこれ以上修正できないようにすることができます。
コマンドプロセッサをフリーズするには
[Administrator Services]メニューで、ファンクションコード「F」を入力します。
Enter キーを押します。 [Freeze Processor Source]ウィンドウが表示されます。
フリーズするプロセッサの名前、プロセッサが保存されているライブラリ、データベース ID、およびファイル番号を指定します。 ファイルがパスワードとサイファキーの両方またはいずれかによって保護されている場合、適切なパスワードとサイファキーの両方またはいずれかを入力する必要があります。
Enter キーを押します。
次に表示されるウィンドウで、プロセッサソースの修正を許可するかまたは禁止するかを Y または N で指定します。 デフォルトは Y です。
Enter キーを押します。
この機能は、Natural Security が稼働している環境でのみ有効です。 この機能を使用して、Natural Security から機能のセキュリティの参照を削除します。
Natural Security でプロセッサに対する機能のセキュリティを定義すると、自動的に参照が作成されます。 これらの参照はプロセッサソースとともに、FSEC ではなく、FNAT/FUSER システムファイルに保存されます。
Natural Security 機能から参照を呼び出すには
[Administrator Services]メニューで、ファンクションコード「R」を入力します。
Enter キーを押します。
[Delete References]ウィンドウが表示されます。
プロセッサの名前、プロセッサが保存されているライブラリ、データベース ID、およびファイル番号を指定します。 ファイルがパスワードとサイファキーの両方またはいずれかによって保護されている場合、適切なパスワードとサイファキーの両方またはいずれかを入力する必要があります。
Enter キーを押します。
次に表示されるウィンドウで、主参照、機能参照、および補助参照を削除できます。
コマンドプロセッサの機能のセキュリティの詳細については、『Natural Security』ドキュメントの「Functional Security」を参照してください。
セッションプロファイルとは、ユーザー定義が可能なデフォルトの集合のことです。セッションプロファイルによって、SYSNCP 画面の表示方法または入力に対する SYSNCP の応答方法が決定されます。 セッションプロファイルでは、例えば、セッションに対するデフォルトのコマンドプロセッサ、または画面属性に割り当てる色を定義できます。 SYSNCP には、すべての新規ユーザーに発行される STANDARD という標準セッションプロファイルがあります。 必要に応じて、複数の異なるセッションプロファイルを作成し、有効にすることができます。
SYSNCP の管理者は、SYSNCP 内のどのセッションプロファイルでもアクセスおよび修正できます。 その他のユーザーもすべてのセッションプロファイルにアクセスできますが、修正できるのは自分のユーザー ID で作成されたセッションプロファイル、または自分のユーザー ID と同じ名前をもつセッションプロファイルのみです。
セッションプロファイルを定義または修正するには
[Processor Source Maintenance]メニューのコマンド行から PROFILE
コマンドを発行します。
3 つのセッションプロファイルメンテナンス画面のうちの最初の画面が表示されます。
以下に参考情報を示します。
標準プロファイル STANDARD またはシステム変数 *USER の値が、デフォルトのプロファイル名として使用されます。
新規セッションプロファイルを定義するとき、パラメータおよび属性はデフォルト値になっています。 必要に応じてこれらのデフォルト値を修正し、新しい名前を入力して PF5 キーを押すことで、これらの値を保存できます。
各プロファイル画面の[Session Profile Name]フィールドは、入出力フィールドになっています。 そのため、[Profile Name]フィールドに別のプロファイル名を入力して PF5 キーまたは PF4 キーをそれぞれ押すことで、これらのどの画面からでもそのプロファイルを定義、読み込み、または保存することができます。
最初のプロファイルメンテナンス画面では、以下のフィールドを修正できます。
フィールド | 説明 | ||||
---|---|---|---|---|---|
Apply Terminal Control 1 | 起動時に SYSNCP によって発行される SET CONTROL ステートメントのパラメータを入力します。
例えば、このフィールドのいずれかに「Z」を入力すると、SYSNCP により |
||||
Apply Terminal Control 2 | |||||
Default Processor Name | このセッションで使用するデフォルトのコマンドプロセッサ名。 | ||||
Default Processor Library | コマンドプロセッサを保存するために使用する Natural ライブラリ。 | ||||
Cancel Reaction |
要求された修正を完了しないで CANCEL コマンドを発行した場合に必ず警告を発行するかどうかを指定します。
|
||||
Clear Key Allowed |
クリアキーの使用を許可するかどうかを指定します。
|
||||
Default Cursor Position |
カーソル位置を指定します。
|
||||
Exec/Display Last Command |
LAST コマンドで実行される処理を指定します。
|
2 番目のプロファイルメンテナンス画面では、さまざまな画面属性に色を割り当てることや、既存の色の割り当てを上書きすることができます。
以下のカラーコードを指定して、色を割り当てます。
コード | 色 |
---|---|
BL | 青 |
GR | 緑 |
NE | デフォルト色 |
PI | ピンク |
RE | 赤 |
TU | 空色 |
YE | 黄色 |
画面属性に対する色の割り当てについては、『端末コマンド』ドキュメントの端末コマンド %= も参照してください。
3 番目のプロファイルメンテナンス画面で指定できる属性は次のとおりです。
フィールド | 説明 |
---|---|
Message Line Position | メッセージを表示する行。 推奨値は 21 です。 詳細については、『端末コマンド』ドキュメントの端末コマンド %M も参照してください。 |
Text for PF5 Key | PF5 ファンクションキーは、グローバルな用途(セッション単位)のために予約されています。 PF キー行に表示される PF5 キーのテキストをこのフィールドに入力できます。 |
Command for PF5 Key | PF5 ファンクションキーは、グローバルな用途(セッション単位)のために予約されています。 PF5 キーを押したときに実行されるコマンドを、このフィールドに入力できます。 |
また、画面には、このプロファイルを最後に修正した日付およびユーザーも表示されます。