MAINUSER サブプログラムは、一種のアプリケーションプログラミングインターフェイスです。ユーザーは SYSMAIN ユーティリティメニューを使わずに、ユーザー記述オブジェクト(サブルーチン、プログラム、またはサブプログラム)から SYSMAIN ユーティリティ機能を実行できるようになります。 SYSMAIN 機能が完了した時点でユーティリティは終了し、制御は要求を発行したオブジェクトに戻されます。 MAINUSER は、オンラインモードでもバッチモードでも使用することができます。 呼び出し可能なルーチンの例として、SYSMAIN システムライブラリで提供される MAINCALL プログラムがあります。
このセクションでは、MAINUSER の使用手順に加えて、SYSMAIN ユーティリティ機能の実行用コマンドを指定するときに使用する構文について説明します。
MAINUSER を呼び出して実行するには
次の構文要素を指定して CALLNAT
ステートメントを発行します。
CALLNAT 'MAINUSER' command error message library
ここでの各変数値は次のパラメータを表します。
パラメータ | Natural データフォーマット/データ長 | 説明 |
---|---|---|
command | A250 | SYSMAIN で実行するコマンド文字列の詳細については、「コマンドの使用」を参照してください。 |
error | N4 | 処理の最後に SYSMAIN によって発行される、処理の正常終了またはエラーを示すリターンコード。 |
message | A72 | オンラインでのエラーに対応したメッセージ。 |
library | A8 | ユーティリティ SYSMAIN を含むライブラリの名前。デフォルトでは、ライブラリ SYSMAIN がこれに当たります。 (このパラメータは、互換性保持の目的でのみ提供されています)。 |
SYSMAIN 機能は、MAINUSER サブプログラムのパラメータとして発行するコマンドを使用して実行できます。
command は、キーワードと変数値で構成されます。 実行される SYSMAIN 機能ごとに、対応する構文図でキーワードと変数値を示し、「コマンドのキーワードと変数」で説明します。 構文図の記号は、システムコマンドで使用される構文記号に対応します。 これらの記号の詳細については、『システムコマンド』ドキュメントの「システムコマンド構文」を参照してください。
コマンド構文の順序は必ずしも固定されていません。 次の規則が適用されます。
SYSMAIN 機能、オブジェクトタイプ、およびオブジェクト名は、コマンド文字列の最初の 3 つのパラメータとして指定する必要があります。
ピリオド(.)は、コマンドの終わりを示します。 この文字がコマンド文字列内で検出されると、後続のデータはすべて無視されます。
構文図では、読みやすくするために FROM
キーワードの代わりに FM
または IN
を使用していますが、常に FROM
を FM
または IN
の同義語として使用でき、その逆も可能です。
where-clause および with-clause の構文は、すべてのコマンドで同じです。
次のコマンド構文は、検索およびリスト機能に適用されます。
|
name | IN [LIBRARY ] lib-name |
[where-clause] [with-clause] |
LIST VIEW * IN TESTLIB
L SAVED TEST* IN TESTLIB TYPE PNS FNR 6
L SA TEST* IN TESTLIB FNR 6 DBID 2 TYPE PM FMDATE 2007-01-01
FIND PROG1 IN * DBID 1 FNR 6
F STOWED MAINMENU IN SYS* WHERE DBID 1 FNR 5
FIND ALL PROG2 IN PROD* FNR 27 DBID 1
次のコマンド構文は、コピーおよび移動機能に適用されます。
|
||||||||||
name | FM [LIBRARY ] lib-name
|
[where-clause] | ||||||||
TO [LIBRARY ] lib-name |
[where-clause] [with-clause] |
COPY PROG1 FM TESTORD TO ORDERS DBID 1 FNR 6 REP
C PGM* FM TESTLIB TO PRODLIB WITH REP TYPE PNS
C VIEW PERS FM OLDLIB FNR 10 TO NEWLIB FNR 16 REPLACE
MOVE VIEW PERSONNEL FM OLDLIB FNR 20 TO NEWLIB FNR 24
M PROG1 TO NEWLIB
M STOWED * FM OLDLIB TO NEWLIB WHERE DBID 100 FNR 160 WITH XREF Y
次のコマンド構文は、削除機能に適用されます。
DELETE
|
name | IN [LIBRARY ] lib-name
|
[where-clause] [with-clause] |
DELETE SA * IN LIBTEST TYPE GLA
D * IN TESTORD TYPE PM
D VIEW FINANCE IN TESTLIB DBID 12 FNR 27
次のコマンド構文は、名前の変更機能に適用されます。
RENAME
|
|||
name | AS new-name [with-clause]
|
||
FM [LIBRARY ] lib-name [where-clause]
|
|||
TO [LIBRARY ] lib-name [where-clause]
|
RENAME PGM1 AS PROG1
R PGM1 AS PROG1 FM TESTLIB DBID 1 FNR 5 TO PRODLIB DBID 2 FNR 6
次のコマンド構文は、インポート機能に適用されます。
IMPORT
|
|||
name | FM [PATH ] path-name |
||
TO [LIBRARY ] lib-name [where-clause] [with-clause]
|
IMPORT ALL PGM* FM D:\NAT-PROGRAMS TO IMP-LIB
I RES res1.bmp FM D:\RESOURCES TO IMP-LIB
[WHERE ] [DBID dbid] [FNR fnr]
|
|
[DIC (dbid,fnr,password,cipher)]
|
|
[SEC (dbid,fnr,password,cipher)]
|
DIC
および SEC
キーワードに続く各値の間に、または値がない場合に、セパレータとしてコンマを使用する必要があります。 例えば、DIC (10,,secret,2a)
のように使用します。 ID
セッションパラメータ(『パラメータリファレンス』ドキュメントの「ID - INPUT 区切り文字」も参照)がコンマに設定されている場合は、値を区切るセパレータとしてスラッシュ(/)を使用します。
[WITH ]
|
[TYPE type] [FMDATE date] [FMTIME time]
|
||||||||
[USER user-id]
|
XREF
|
|
|||||||
[REPLACE ] [RCOP ] [NOPROMPT ] [HELP ]
|
|||||||||
このセクションでは、コマンドで使用するキーワードと、必要に応じて、対応する変数値について説明します。
キーワードはアルファベット順に示しています。 斜体の文字はキーワードで指定する必要がある変数値です。 変数値ごとに Natural データのフォーマットと長さが示されています。
キーワード | 値 |
Natural データ |
説明 | ||||
---|---|---|---|---|---|---|---|
ALL
|
name | A9 | プログラミングオブジェクトにのみ適用されます。
処理されるオブジェクトの名前または名前の範囲(「名前の範囲の指定」を参照)。 保存(ソース)オブジェクトおよびカタログ化オブジェクトのいずれかまたは両方が処理されます。 |
||||
CATALOGED
|
name | A9 | プログラミングオブジェクトにのみ適用されます。
処理されるカタログ化オブジェクトの名前または名前の範囲(「名前の範囲の指定」を参照)。 |
||||
SAVED
|
name | A9 | プログラミングオブジェクトにのみ適用されます。
処理される保存(ソース)オブジェクトの名前または名前の範囲(「名前の範囲の指定」を参照)。 |
||||
STOWED
|
name | A9 | プログラミングオブジェクトにのみ適用されます。
保存(ソース)オブジェクトおよびカタログ化オブジェクトが処理されるオブジェクトの名前または名前の範囲(「名前の範囲の指定」も参照)。 保存(ソース)オブジェクトおよびカタログ化オブジェクトの両方として存在するオブジェクトのみが処理されます。 この例外はコピーコードとテキストで、両方ともカタログ化できません。 ただし、このオプションを指定すると処理対象になります。 |
||||
VIEW
|
name | A32 | DDM(データ定義モジュール)にのみ適用されます。
処理される DDM の名前または名前の範囲(「名前の範囲の指定」を参照)。 |
||||
RESOURCE
|
name | A255 | 共有リソースにのみ適用されます。
処理される共有リソースの名前または名前の範囲(「名前の範囲の指定」を参照)。 |
||||
lib-name |
A8 |
ソースライブラリまたはソースパスを指定します。
ソースライブラリまたはソースパスは、処理対象のオブジェクトを含みます。 |
|||||
TO
|
lib-name | A8 | ターゲットライブラリを指定します。 | ||||
AS
|
new-name |
A8 |
RENAME コマンドで名前を変更するときに、オブジェクトに付ける新しい名前。 フォーマット/長さは、プログラミングオブジェクトには A8、DDM には A32、共有リソースには A255 が適用されます。
|
||||
LIBRARY
|
lib-name | A8 | ソースライブラリまたはターゲットライブラリの名前(lib-name)を示すオプションキーワード。 キーワードと各値を省略すると、SYSMAIN を呼び出す前にログオンしたライブラリが処理に使用されます。
ソースライブラリは、処理対象のオブジェクトを含みます。 ターゲットライブラリは、オブジェクトのコピー先または移動先のライブラリです。オブジェクト名はここで変更されることがあります。 lib-name は、 |
||||
PATH
|
path-name | A253 | IMPORT コマンドにのみ適用されます。
ソースパスの名前(path-name)を示すオプションキーワード。 path-name は、 |
||||
WHERE
|
where-clause | - | where-clause の開始を示すオプションキーワード。
where-clause は常に、 |
||||
DBID
|
dbid | N5 | ソースシステムファイルまたはターゲットシステムファイルのデータベース ID(DBID)。
ソースシステムファイルは、処理対象のオブジェクトを含みます。 ターゲットシステムファイルは、オブジェクトのコピー先または移動先のシステムファイルです。必要に応じてオブジェクト名が変更されます。 有効な DBID は DBID または FNR(ファイル番号)を指定しない場合は、次の処理が適用されます。 「リモート環境のファイルセキュリティ」も参照してください。 |
||||
FNR
|
fnr | N5 | ソースシステムファイルまたはターゲットシステムファイルのファイル番号(FNR)。
ソースシステムファイルは、処理対象のオブジェクトを含みます。 ターゲットシステムファイルは、オブジェクトのコピー先または移動先のシステムファイルです。必要に応じてオブジェクト名が変更されます。 有効な FNR は 「リモート環境のファイルセキュリティ」も参照してください。 |
||||
DIC
|
dbid |
A80 | データベース ID(dbid)、ファイル番号(fnr)、Adabas パスワード(password)、Adabas サイファコード(cipher)など、FDIC ソースシステムファイルとターゲットシステムファイルのいずれかまたは両方の環境を指定します。
「リモート環境のファイルセキュリティ」も参照してください。 |
||||
SEC
|
dbid |
A80 | データベース ID(dbid)、ファイル番号(fnr)、Adabas パスワード(password)、Adabas サイファコード(cipher)など、FSEC ソースシステムファイルとターゲットシステムファイルのいずれかまたは両方の環境を指定します。
「リモート環境のファイルセキュリティ」も参照してください。 |
||||
WITH
|
with-clause | - | with-clause の開始を示すオプションキーワード。
with-clause のキーワードと値は任意の順序で指定でき、with-clause はコマンド文字列内の最初の 3 つの位置を除く任意の位置に配置できます。 |
||||
TYPE
|
type | A20 | 以下の「TYPE の指定」でリストしている、処理対象オブジェクトのタイプ。 | ||||
FMDATE
|
date | A10 |
期間の開始日。 日付は有効な Natural 日付フォーマットで指定する必要があります。 デフォルトフォーマットは、 |
||||
FMTIME
|
time | A5 | FMDATE を指定した場合にのみ適用されます。
開始時刻を指定します。 時刻は、 |
||||
USER
|
user-id | A8 |
ユーザー ID。 |
||||
XREF
|
|
A1 | Predict をインストールしている場合に、プログラミングオブジェクトにのみ適用されます。
Predict システムファイルに保存されている XRef データを処理するかどうかを指定します。 次の値のいずれかを指定できます。
「XRef について」セクションも参照してください。 |
||||
REPLACE
|
- | - | with-clause で使用されている置換オプションをアクティブ化します。
ターゲット環境内の同じ名前のオブジェクトが、処理されるオブジェクトで置き換えられます。 注意: |
||||
RCOP
|
- | - | 名前を変更するオブジェクトのコピーを作成することを指定します。 | ||||
NOPROMPT
|
- | - | バッチモードでは適用されません。
SYSMAIN プロンプトを無効化( |
||||
HELP
|
- | - | このキーワードは、互換性保持の目的でのみ提供されています。 | ||||
IMPORT コマンドにのみ適用されます。
ストラクチャードモード(『プログラミングガイド』の「Natural プログラミングモード」を参照)を示します。 |
|||||||
REPORT
|
IMPORT コマンドにのみ適用されます。
レポーティングモード(『プログラミングガイド』の「Natural プログラミングモード」を参照)を示します。 |
||||||
.
|
- | - | ピリオド(.)は、コマンドの終わりを示します。 この文字がコマンド文字列内で検出されると、後続のデータはすべて無視されます。 |
次の表に、TYPE
キーワードで使用できるプログラミングオブジェクトの有効なオブジェクトタイプコードをすべて示します。
コード | オブジェクトタイプ |
---|---|
P
|
プログラム |
N
|
サブプログラム |
S
|
サブルーチン |
M
|
マップ |
H
|
ヘルプルーチン |
3
|
ダイアログ |
5
|
プロセッサ |
A
|
パラメータデータエリア |
G
|
グローバルデータエリア |
L
|
ローカルデータエリア |
C
|
コピーコード |
T
|
テキスト |
4
|
クラス |
7
|
ファンクション |
V
|
ビュー(DDM) |
8 |
アダプタ |
* |
すべてのプログラミングオブジェクトタイプ |
すべての SYSMAIN 機能には、選択されるライブラリまたはオブジェクトについて名前または名前の範囲のいずれかを指定するオプションが用意されています。
次の表に、名前の範囲として有効なアスタリスク(*)表記を示します。value は 1 文字または複数文字の任意の組み合わせを示します。
入力 | 選択されるオブジェクトまたはライブラリ |
---|---|
* | すべてのオブジェクトまたはライブラリ。 |
value* | 名前が value で始まるすべてのオブジェクトまたはライブラリ。
例: |
value*value* | 1 つまたは 2 つのアスタリスク(*)と任意の順序で組み合わされた value に一致するすべてのオブジェクトまたはライブラリ。
例: |