SYSEXT ユーティリティを使用すると、現在のシステムライブラリ SYSEXT に含まれている Natural アプリケーションプログラミングインターフェイス(API)を検索し、テストできます。
Natural API は Natural サブプログラム(カタログ化オブジェクト)で、データにアクセスして必要に応じて変更したり、Natural ステートメントではアクセスできないサービスを実行したりする場合に使用します。Natural API は、Natural、サブコンポーネント、またはサブ製品を参照します。
「SYSEXT ユーティリティ- Natural アプリケーションプログラミングインターフェイス」ドキュメントでは、次のトピックについて説明します。
「Application Programming Interfaces」 - 『Natural Security』ドキュメント
SYSEXT ユーティリティには、各 Natural API について、機能説明、1 つのプログラム例、1 つのカテゴリ、および API に固有のキーワードがあります。
次の図に、SYSEXT で提供されている Natural オブジェクトおよび主な機能の概要を示します。
各 Natural API に提供されている一般的な Natural オブジェクトのタイプは、次のセクションでリストされています。特定の API 用に存在する可能性のある追加オブジェクトは含まれていません。
API のすべての関連オブジェクトは、システムファイル FNAT のライブラリ SYSEXT に含まれています。
次の表の nnnn は、API、および対応するプログラム例とテキストオブジェクトを識別するための 4 桁の番号を表します。
Object Name | 説明 |
---|---|
USRnnnnN | 指定された機能を実行する API サブプログラム(カタログ化オブジェクト)。 |
USRnnnnP |
API の効果のテストに使用できるプログラム例(ソースオブジェクト)。 プログラム例によって、対応するサブプログラム USRnnnnN が呼び出されます。 |
USRnnnnT |
短い説明と長い説明をリスト表示するテキストオブジェクト、および使用法、キーワード、カテゴリ、インターフェイスバージョンに関する情報。 テキストオブジェクトを表示するには、行コマンド |
一部の API では、API に関連する機能を提供するコピーコードを使用できます。コピーコードには USRnnnnX
という名前が付けられています。X
は識別文字("Z"、"Y" など)です。
SYSEXT ユーティリティは、次の構文図で説明されているシステムコマンド SYSEXT
によって起動されます。
SYSEXT |
ALL |
FIRST |
DESCENDING |
||||||
CURRENT |
SECOND |
ASCENDING |
次の表に、パラメータの説明を示します。
パラメータ | 説明 |
---|---|
ALL | すべての API をリストします(デフォルト)。 |
CURRENT | 現在の API、つまりすべてのユニークな API、およびインターフェイスバージョンを持つ API の現在のバージョン(キーワード +CURRENT-VERSION を使用)のみをリストします。「インターフェイスバージョン」を参照してください。 |
FIRST | 最初のメニューと製品コード項目(デフォルト)を表示します。以下の例を参照してください。 |
SECOND | 2 番目のメニューとカテゴリ項目を表示します。以下の例を参照してください。 |
ASCENDING | API を昇順で表示します(デフォルト)。 |
DESCENDING | API を降順で表示します。 |
SYSEXT を呼び出すには
次のシステムコマンドを入力します。
SYSEXT
以下の例に示すようなメニューが表示されます。最初のメニューに応じて、使用可能なすべての Natural API のリストが表示されます。
10:57:31 ***** NATURAL SYSEXT UTILITY ***** 2012-04-23 User SAG - Menu - Library SYSEXT Cmd Interface Description Prod --- USR*____ _____________________________________________________________ *__ _ USR0010N Get SYSPROF information NAT _ USR0011N Get information on logical file NAT _ USR0020N Read any error message from FNAT or FUSER NAT _ USR0040N Get type of last error NAT _ USR0050N Get SYSPROD information NAT _ USR0060N Copy LFILE definition from FNAT to FUSER NAT _ USR0080N Get or set type and name of editor contents NAT _ USR0120N Read Natural short error message NAT _ USR0210N Save, catalog or stow Natural object NAT _ USR0220N Read Natural long error message NAT _ USR0221N Read Natural long error message NAT _ USR0320N Read user short error message from FNAT or FUSER NAT _ USR0330N Read Natural object directory NAT Category .. ______________________________ Keyword .. ____________________ Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Reset Exit Desc Curr -- - + ++ > Canc |
任意のパラメータで SYSEXT を呼び出すことができます。例えば、起動時に 2 番目のメニューを表示することができます。
SYSEXT SECOND
この場合は、次のようなメニューが表示されます。
10:57:31 ***** NATURAL SYSEXT UTILITY ***** 2012-04-23 User SAG - Menu - Library SYSEXT Cmd Interface Description Category --- USR*____ __________________________________ *_____________________________ _ USR0010N Get SYSPROF information SYSTEM COMMANDS _ USR0011N Get information on logical file SYSTEM FILES _ USR0020N Read any error message from FNAT o ERROR MESSAGES _ USR0040N Get type of last error ERROR HANDLING _ USR0050N Get SYSPROD information SYSTEM COMMANDS _ USR0060N Copy LFILE definition from FNAT to SYSTEM FILES _ USR0080N Get or set type and name of editor EDITOR _ USR0120N Read Natural short error message ERROR MESSAGES _ USR0210N Save, catalog or stow Natural obje NATURAL OBJECTS _ USR0220N Read Natural long error message ERROR MESSAGES _ USR0221N Read Natural long error message ERROR MESSAGES _ USR0320N Read user short error message from ERROR MESSAGES _ USR0330N Read Natural object directory NATURAL OBJECTS Category .. ______________________________ Keyword .. ____________________ Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Reset Exit Desc Curr -- - + ++ < Canc |
別の方法として、パラメータなしで SYSEXT を呼び出し、表示されるメニューを調整することもできます。「PF キー」を参照してください。
SYSEXT を終了するには
SYSEXT ユーティリティメニューで PF3 キーまたは PF12 キーを押します。
または:
コマンド行にピリオド(.
)または EXIT
を入力します。
このセクションでは、次のトピックについて説明します。
SYSEXT ユーティリティメニューには、API のリストが表示されます。各 API には、API 名([Interface])、説明([Description])、および選択したメニューに応じて製品コード([Prod])またはカテゴリ([Category])による分類があります。左端の列([Cmd])を除き、各列のヘッダーは選択条件を入力できる選択フィールドです。
メニューの下部にある[Category]検索フィールドを使用して、使用可能なカテゴリを検索することもできます。
[Keywords]入力フィールドは、使用可能なキーワードを取得するための検索フィールドとして使用することも、API を取得するための選択フィールドとして使用することもできます。
複数選択フィールドで選択条件を指定することもできます。例えば、キーワード PF-KEY
およびカテゴリ NATURAL
ENVIRONMENT
を使用して、USR4
で始まる API を 1 つの手順で選択できます。
すべてのメニュー要素とその使用方法の詳細を以下に示します。
要素 | 説明 | 使用方法 | ||||
---|---|---|---|---|---|---|
Cmd | テキストオブジェクトまたはプログラム例で実行される行コマンドの入力フィールド。「行コマンド」を参照してください。 | 行コマンドを入力します。例:
|
||||
インターフェイス | API サブプログラムの名前。インターフェイスバージョンを持つ API が強調表示されます。 | アスタリスク(* )を入力するか、アスタリスクで区切った接頭辞を入力します。例:
|
||||
説明 | API の目的の概要。 | 文字列を入力します。例:
|
||||
Prod |
API の影響を受ける Natural( 使用可能な製品コード:
最初のメニューにのみ表示されます。 |
名前を入力するか、アスタリスク(* )で区切った接頭辞を入力します。例:
|
||||
カテゴリ(選択フィールド) |
API が機能エリアまたは目的に従って分類されるカテゴリ。 1 つの API には 1 つのカテゴリしか設定できません。 2 番目のメニューにのみ表示され、API のリストの上に配置されます。 |
名前を入力するか、アスタリスク(* )で区切った接頭辞を入力します。例:
|
||||
Category(検索フィールド) |
すべてのカテゴリをリストします。 API のリストの下にあります。 |
「カテゴリ検索」を参照してください | ||||
キーワード | すべてのキーワードをリストします。または選択条件としてキーワードを入力します。 | 「キーワード検索」または「キーワード選択」を参照してください。 | ||||
Command | ユーティリティコマンドを入力するコマンド行。 | ユーティリティコマンドを入力します。「ユーティリティコマンド」を参照してください。 |
カテゴリ検索
アスタリスク(*
)を入力するか、オプションでアスタリスクで区切った接頭辞をカテゴリ検索フィールドに入力します。例:
N*
これで、次のようなメニューが表示されます。
Search for Categories Mark Category ---- N*____________________________ _ NATURAL ENVIRONMENT _ NATURAL OBJECTS |
特定のカテゴリを選択条件として選択するには、任意の文字を[Mark]列に入力します。これで、この選択条件を満たすすべての API のリストが表示されます。
キーワード検索
アスタリスク(*
)を入力するか、アスタリスクで区切った接頭辞を入力します。例:
PF*
次のようなメニューが表示され、別のウィンドウに PF
で始まるキーワードが表示されます。
Search for Keywords Mark Keyword ---- PF*_________________ _ PF-KEY _ PF-KEY LINE |
特定のキーワードを選択条件として選択するには、任意の文字を[Mark]列に入力します。これで、この選択条件を満たすすべての API のリストが表示されます。
キーワード選択
キーワード全体を入力します。例:
PF-KEY
これで、キーワードが PF-KEY
であるすべての API のリストが表示されます。
注意:
末尾以外のアスタリスクは文字どおりに解釈されます。例えば、*LANGUAGE
を入力すると、キーワードが *LANGUAGE
である API のリストが表示されます。
次の PF キーを使用できます。
PF キー | Name | 関数 |
---|---|---|
PF1 | Help | コンテキスト依存ヘルプを表示します。入力フィールドごとに特定のヘルプテキストがあります。コマンド行などのその他のコンテキストでは、一般的なヘルプテキストが表示されます。 |
PF2 | Reset | すべての選択フィールドをクリアし、API リストを再調整します。 |
PF3 | Exit | SYSEXT ユーティリティを終了するか、現在のメニューまたはウィンドウを閉じます。 |
PF4 | Asc/Desc | API の昇順(Asc)と降順(Desc)を切り替えます。 |
PF5 | All/Curr | すべての API を表示するメニュー(All)と、現在の API のみを表示するメニュー(Curr)を切り替えます。「インターフェイスバージョン」を参照してください。 |
PF6 | -- | リストの先頭までスクロールします。 |
PF7 | - | 1 ページ上方にスクロールします。 |
PF8 | + | 1 ページ下方にスクロールします。 |
PF9 | ++ | リストの末尾までスクロールします。 |
PF10 | < | 最初のメニューに移動します。 |
PF11 | > | 2 番目のメニューに移動します。 |
PF12 | Canc | SYSEXT ユーティリティを終了するか、現在のメニューまたはウィンドウを閉じます。 |
行コマンドを使用すると、オブジェクト操作を実行できます。行コマンドは、目的の API の横の[Cmd]列に入力できます。疑問符(?
)を入力するか PF1 キーを押すと、有効な行コマンドがリストされます。
次の行コマンドを使用できます。
行コマンド | 関数 |
---|---|
K |
指定されている API に関連するキーワードをリストします。 |
T |
対応する API の説明のテキストオブジェクト USRnnnnT をリストします。
API と API に関連するキーワードおよびカテゴリの目的、機能、および呼び出し規則について説明します。 |
L |
プログラム例 USRnnnnP をリストします。 |
E |
プログラム例 USRnnnnP を編集します。 |
R |
プログラム例 USRnnnnP を実行します。 |
X |
プログラム例 USRnnnnP を実行します。 |
. |
SYSEXT ユーティリティを終了します。 |
このセクションでは、コマンド行で入力する次のユーティリティコマンドについて説明します。
EXIT
SYSEXT ユーティリティを終了します。
REFRESH
現在のライブラリ SYSEXT に含まれているオブジェクトのデータを使用して、API 情報を更新します。REFRESH
コマンドは、API の説明またはキーワードが変更されたり、テキストオブジェクトが追加または削除されたりした場合にのみ必要となります。
正常に完了すると、テキストモジュール EXT-XML1 および EXT-XML2 がライブラリ SYSEXT 内に生成されたことが確認されます。
注意:
ソースオブジェクトの EXT-XML1 と EXT-XML2 は変更しないでください。これらは、SYSEXT ユーティリティの設定に必須で、Software AG 内部でのみ使用されます。
インターフェイスバージョンは、(ほぼ)機能が同じでも、拡張パラメータ仕様が異なる API のコレクションとみなすことができます。したがって、新しいバージョンと以前のバージョンの互換性を保つために、明確な開発サイクルに対応します。
API にインターフェイスバージョンがある場合は、対応するテキストオブジェクト USRnnnnT に表示されますインターフェイスバージョンは、それが属するバージョンに応じてリスト内で整列されます。右端の要素は現在のバージョンに属します。このステータスは、予約キーワード +CURRENT-VERSION
で表されます。他のすべての要素は前のバージョンに属し、予約キーワード +PREVIOUS-VERSION
でマークされています。インターフェイスバージョンを持たない API は、「ユニーク」な API と呼ばれています。
インターフェイスバージョンを持つ API は、メニュー上で強調表示されます。
現在の API すべてのリスト(「PF5」を参照)は、すべてのユニークな API、およびインターフェイスバージョンを持つ API の現在のバージョン(キーワード +CURRENT-VERSION
を使用)で構成されます。
予約キーワードとは、API のメタ情報を指し、例えば API が追加された Natural バージョンなどが該当します。予約キーワードは常にプラス記号(+
)で始まります。詳細については、次の表を参照してください。
予約キーワード | 説明 |
---|---|
+CURRENT-VERSION | インターフェイスバージョンを持つ API の現在のバージョン(「インターフェイスバージョン」を参照)。 |
+PREVIOUS-VERSION | インターフェイスバージョンを持つ API の以前のバージョン(「インターフェイスバージョン」を参照)。 |
+NEW-PROD-version | 特定の製品に特定のバージョンで追加された API。例えば、+NEW-NAT-6.3.11 は、バージョン 6.3.11 で製品 Natural に追加された API を指します。
|
+MOD-PROD-version | 特定の製品に属し、特定のバージョンで変更された API。例えば、+MOD-NAT-6.3.12 は、製品 Natural に属し、バージョン 6.3.12 で変更された API を指します。
|
システムライブラリ SYSEXT に含まれる Natural API を使用する場合は、次のいずれかの手順を実行します。
この API を使用する Natural オブジェクトが含まれるユーザーライブラリの steplib ライブラリとして、システムファイル FNAT のシステムライブラリ SYSEXT を定義します。したがって、Natural バージョンをアップグレードする場合は、API 固有のアクションは必要ありません。
目的の API をシステムファイル FNAT のシステムライブラリ SYSTEM にコピーします。したがって、Natural バージョンをアップグレードする場合は、1 つのライブラリで API をチェックするだけで済みます。
目的の API をシステムファイル FUSER のシステムライブラリ SYSTEM にコピーします(非推奨)。
目的の API を、この API を使用する Natural オブジェクトが格納されているシステムファイル FUSER のユーザーライブラリ(またはその steplib の 1 つ)にコピーします(非推奨)。
API は、その API が提供されている Natural バージョンでのみ使用できます。API は FNAT システムファイルにのみ保存することを強くお勧めします。これにより、正しいバージョンが常に実行されます。
インターフェイスを使用するには
呼び出し元のプログラムで DEFINE DATA
ステートメントを使用して、その API のテキストオブジェクト USRnnnnT
にリストされているパラメータを指定します。プログラム例 USRnnnnP
では、DEFINE DATA
LOCAL
ステートメント内でパラメータを定義しています。または、呼び出し元のプログラム外の別の LDA(ローカルデータエリア)または PDA(パラメータデータエリア)で、そのデータエリアを参照する DEFINE DATA LOCAL USING
ステートメントを使用してパラメータを指定できます。
次のステートメントを入力します。
CALLNAT 'USRnnnnN' parameters
詳細については、『ステートメント』ドキュメントの「CALLNAT」ステートメントを参照してください。
注意:
非標準の使用方法は、常にそれぞれのテキストオブジェクト USRnnnnT
で記述します。
システムライブラリ SYSEXT に含まれている Natural コピーコードを使用する場合は、次の手順を実行します。
目的のコピーコードを、このコピーコードを使用する Natural オブジェクトが格納されているシステムファイル FUSER のユーザーライブラリにコピーします。
コピーコードを使用するには
呼び出し元のプログラムで INCLUDE
ステートメントを使用して、その API のテキストオブジェクト USRnnnnT
またはコピーコード自体にリストされているパラメータを指定します。プログラム例 USRnnnnP
では、DEFINE DATA
LOCAL
ステートメント内でパラメータを定義しています。または、呼び出し元のプログラム外の別の LDA(ローカルデータエリア)または PDA(パラメータデータエリア)で、そのデータエリアを参照する DEFINE DATA LOCAL USING
ステートメントを使用してパラメータを指定できます。
一部のコピーコードでは、追加のデータ定義が必要です。これらは API のテキストオブジェクト USRnnnnT
とコピーコード自体に記述します。
次のステートメントを入力します。
INCLUDE USRnnnnX 'parameter'...
詳細については、『ステートメント』ドキュメントの「INCLUDE」ステートメントを参照してください。
注意:
非標準の使用方法は、常にそれぞれのテキストオブジェクト USRnnnnT
で記述します。