バージョン 6.3.3
 —  ツールおよびユーティリティ  —

サブプログラムでの SYSMAIN の使用

MAINUSER サブプログラムは、一種のアプリケーションプログラミングインターフェイスです。ユーザーは SYSMAIN ユーティリティメニューを使わずに、ユーザー記述オブジェクト(サブルーチン、プログラム、またはサブプログラム)から SYSMAIN ユーティリティ機能を実行できるようになります。 SYSMAIN 機能が完了した時点でユーティリティは終了し、制御は要求を発行したオブジェクトに戻されます。 MAINUSER は、オンラインモードでもバッチモードでも使用することができます。 呼び出し可能なルーチンの例として、SYSMAIN システムライブラリで提供される MAINCALL プログラムがあります。

このセクションでは、MAINUSER の使用手順に加えて、SYSMAIN ユーティリティ機能の実行用コマンドを指定するときに使用する構文について説明します。


MAINUSER の呼び出しと実行

Start of instruction set MAINUSER を呼び出して実行するには

Top of page

コマンドの使用

SYSMAIN 機能は、MAINUSER サブプログラムのパラメータとして発行するコマンドを使用して実行できます。

command は、キーワードと変数値で構成されます。 実行される SYSMAIN 機能ごとに、対応する構文図でキーワードと変数値を示し、「コマンドのキーワードと変数」で説明します。 構文図の記号は、システムコマンドで使用される構文記号に対応します。 これらの記号の詳細については、『システムコマンド』ドキュメントの「システムコマンド構文」を参照してください。

コマンド構文の順序は必ずしも固定されていません。 次の規則が適用されます。

Top of page

LIST および FIND コマンド構文

次のコマンド構文は、検索およびリスト機能に適用されます。

LIST
FIND

ALL
CATALOGED
SAVED
STOWED
VIEW

name

IN [LIBRARY] lib-name

[where-clause] [with-clause]

LIST および FIND の例

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

Top of page

COPY および MOVE コマンド構文

次のコマンド構文は、コピーおよび移動機能に適用されます。

COPY
MOVE

ALL
CATALOGED
SAVED
STOWED
VIEW
RESOURCE

         
name

FM [LIBRARY] lib-name

[where-clause]
    TO [LIBRARY] lib-name [where-clause] [with-clause]

COPY および MOVE の例

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

Top of page

DELETE コマンド構文

次のコマンド構文は、削除機能に適用されます。

DELETE

ALL
CATALOGED
SAVED
STOWED
VIEW
RESOURCE

name

IN [LIBRARY] lib-name

[where-clause] [with-clause]

DELETE の例

DELETE SA * IN LIBTEST TYPE GLA
D * IN TESTORD TYPE PM
D VIEW FINANCE IN TESTLIB DBID 12 FNR 27

Top of page

RENAME コマンド構文

次のコマンド構文は、名前の変更機能に適用されます。

RENAME

ALL
CATALOGED
SAVED
STOWED
VIEW
RESOURCE

   
name AS new-name [with-clause]
  FM [LIBRARY] lib-name [where-clause]
  TO [LIBRARY] lib-name [where-clause]

RENAME の例

RENAME PGM1 AS PROG1
R PGM1 AS PROG1 FM TESTLIB DBID 1 FNR 5 TO PRODLIB DBID 2 FNR 6

Top of page

IMPORT コマンド構文

次のコマンド構文は、インポート機能に適用されます。

IMPORT

ALL
CATALOGED
SAVED
STOWED
VIEW
RESOURCE

   
   
name FM [PATH] path-name
  TO [LIBRARY] lib-name [where-clause] [with-clause]

IMPORT の例

IMPORT ALL PGM* FM D:\NAT-PROGRAMS TO IMP-LIB
I RES res1.bmp FM D:\RESOURCES TO IMP-LIB

Top of page

where-clause

[WHERE] [DBID dbid] [FNR fnr]
  [DIC (dbid,fnr,password,cipher)]
  [SEC (dbid,fnr,password,cipher)]

セパレータ

DIC および SEC キーワードに続く各値の間に、または値がない場合に、セパレータとしてコンマを使用する必要があります。 例えば、DIC (10,,secret,2a) のように使用します。 ID セッションパラメータ(『パラメータリファレンス』ドキュメントの「ID - INPUT 区切り文字」も参照)がコンマに設定されている場合は、値を区切るセパレータとしてスラッシュ(/)を使用します。

Top of page

with-clause

[WITH] [TYPE type] [FMDATE date] [FMTIME time]
  [USER user-id]

XREF

Y
N

  [REPLACE] [RCOP] [NOPROMPT] [HELP]
 

STRUCT
SM
REPORT

           

Top of page

コマンドのキーワードと変数

このセクションでは、コマンドで使用するキーワードと、必要に応じて、対応する変数値について説明します。

キーワードはアルファベット順に示しています。 斜体の文字はキーワードで指定する必要がある変数値です。 変数値ごとに Natural データのフォーマットと長さが示されています。

キーワード

Natural データ
フォーマット/長さ

説明
ALL name A9 プログラミングオブジェクトにのみ適用されます。

処理されるオブジェクトの名前または名前の範囲(「名前の範囲の指定」を参照)。 保存(ソース)オブジェクトおよびカタログ化オブジェクトのいずれかまたは両方が処理されます。

CATALOGED name A9 プログラミングオブジェクトにのみ適用されます。

処理されるカタログ化オブジェクトの名前または名前の範囲(「名前の範囲の指定」を参照)。

SAVED name A9 プログラミングオブジェクトにのみ適用されます。

処理される保存(ソース)オブジェクトの名前または名前の範囲(「名前の範囲の指定」を参照)。

STOWED name A9 プログラミングオブジェクトにのみ適用されます。

保存(ソース)オブジェクトおよびカタログ化オブジェクトが処理されるオブジェクトの名前または名前の範囲(「名前の範囲の指定」も参照)。 保存(ソース)オブジェクトおよびカタログ化オブジェクトの両方として存在するオブジェクトのみが処理されます。

この例外はコピーコードとテキストで、両方ともカタログ化できません。 ただし、このオプションを指定すると処理対象になります。

VIEW name A32 DDM(データ定義モジュール)にのみ適用されます。

処理される DDM の名前または名前の範囲(「名前の範囲の指定」を参照)。

RESOURCE name A255 共有リソースにのみ適用されます。

処理される共有リソースの名前または名前の範囲(「名前の範囲の指定」を参照)。

FROM
または
FM
または
IN

lib-name
または
path-name

A8
または
A253

ソースライブラリまたはソースパスを指定します。

ソースライブラリまたはソースパスは、処理対象のオブジェクトを含みます。

TO lib-name A8 ターゲットライブラリを指定します。
AS new-name

A8
または
A32
または
A255

RENAME コマンドで名前を変更するときに、オブジェクトに付ける新しい名前。 フォーマット/長さは、プログラミングオブジェクトには A8、DDM には A32、共有リソースには A255 が適用されます。
LIBRARY lib-name A8 ソースライブラリまたはターゲットライブラリの名前(lib-name)を示すオプションキーワード。 キーワードと各値を省略すると、SYSMAIN を呼び出す前にログオンしたライブラリが処理に使用されます。

ソースライブラリは、処理対象のオブジェクトを含みます。 ターゲットライブラリは、オブジェクトのコピー先または移動先のライブラリです。オブジェクト名はここで変更されることがあります。

lib-name は、FROM/FM/IN または TO キーワードの直後に指定する必要があります。 LIBRARY は、使用する場合は FROM/FM/IN または TOlib-name の間に入力する必要があります。

PATH path-name A253 IMPORT コマンドにのみ適用されます。

ソースパスの名前(path-name)を示すオプションキーワード。

path-name は、FROM/FM/IN または TO キーワードの直後に指定する必要があります。 PATH は、使用する場合は FROM/FM/IN または TOpath-name の間に入力する必要があります。

WHERE where-clause where-clause の開始を示すオプションキーワード。

where-clause は常に、FROM/FM/IN または TO キーワードおよび該当する場合はライブラリ名(lib-name)またはパス名(path-name)の後に入力する必要があります。節内のキーワードと値の順序は任意です。

DBID dbid N5 ソースシステムファイルまたはターゲットシステムファイルのデータベース ID(DBID)。

ソースシステムファイルは、処理対象のオブジェクトを含みます。 ターゲットシステムファイルは、オブジェクトのコピー先または移動先のシステムファイルです。必要に応じてオブジェクト名が変更されます。

有効な DBID は 165535 です。

DBID または FNR(ファイル番号)を指定しない場合は、次の処理が適用されます。
現在のライブラリが含まれているシステムファイルの DBID と FNR が常に使用されます。
例:FUSER システムファイルに含まれているライブラリを指定した場合は、このシステムファイルの DBID と FNR が使用されます。

リモート環境のファイルセキュリティ」も参照してください。

FNR fnr N5 ソースシステムファイルまたはターゲットシステムファイルのファイル番号(FNR)。

ソースシステムファイルは、処理対象のオブジェクトを含みます。 ターゲットシステムファイルは、オブジェクトのコピー先または移動先のシステムファイルです。必要に応じてオブジェクト名が変更されます。

有効な FNR は 165535 です。

DBID または FNR を指定しない場合は、次の処理が適用されます。
現在のライブラリが含まれているシステムファイルの DBID と FNR が常に使用されます。
例:FUSER システムファイルに含まれているライブラリを指定した場合は、このシステムファイルの DBID と FNR が使用されます。

リモート環境のファイルセキュリティ」も参照してください。

DIC

dbid
fnr
password
cipher

A80 データベース ID(dbid)、ファイル番号(fnr)、Adabas パスワード(password)、Adabas サイファコード(cipher)など、FDIC ソースシステムファイルとターゲットシステムファイルのいずれかまたは両方の環境を指定します。

リモート環境のファイルセキュリティ」も参照してください。

SEC

dbid
fnr
password
cipher

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 日付フォーマットで指定する必要があります。 デフォルトフォーマットは、2006-05-20 のように、国際標準フォーマットの YYYY-MM-DDYYYY = 年、MM = 月、DD = 日)です。

FMTIME time A5 FMDATE を指定した場合にのみ適用されます。

開始時刻を指定します。
指定した日時以降に保存またはカタログ化されたすべてのオブジェクトが処理されます。

時刻は、11:33 のように、HH:IIHH = 時間、II = 分)の形式で指定する必要があります。

USER user-id A8

ユーザー ID。
指定したユーザーによって保存またはカタログ化されたすべてのオブジェクトが処理されます。

XREF

N
または
Y

A1 Predict をインストールしている場合に、プログラミングオブジェクトにのみ適用されます。

Predict システムファイルに保存されている XRef データを処理するかどうかを指定します。

次の値のいずれかを指定できます。

N DELETE コマンドを使用する場合を除いて、XRef データは処理されません。 カタログ化オブジェクトを削除すると、このオブジェクトの既存の XRef データはすべて SYSMAIN により必ず削除されます。
Y すべての XRef データが処理されます。

XRef について」セクションも参照してください。

REPLACE with-clause で使用されている置換オプションをアクティブ化します。

ターゲット環境内の同じ名前のオブジェクトが、処理されるオブジェクトで置き換えられます。

注意:
オブジェクトが置き換えられた場合、そのオブジェクトは Natural バッファプールからも削除されます。既存のクロスリファレンスレコードもすべて削除されます。

RCOP 名前を変更するオブジェクトのコピーを作成することを指定します。
NOPROMPT バッチモードでは適用されません。

SYSMAIN プロンプトを無効化(NOPROMPT)します。
NOPROMPT の場合は、確認画面は表示されません。
例えば、何かを削除する前に、SYSMAIN はユーザーに確認を求めます。

HELP このキーワードは、互換性保持の目的でのみ提供されています。

STRUCT
または
SM

    IMPORT コマンドにのみ適用されます。

ストラクチャードモード(『プログラミングガイド』の「Natural プログラミングモード」を参照)を示します。

REPORT     IMPORT コマンドにのみ適用されます。

レポーティングモード(『プログラミングガイド』の「Natural プログラミングモード」を参照)を示します。

. ピリオド(.)は、コマンドの終わりを示します。 この文字がコマンド文字列内で検出されると、後続のデータはすべて無視されます。

TYPE の指定

次の表に、TYPE キーワードで使用できるプログラミングオブジェクトの有効なオブジェクトタイプコードをすべて示します。

コード オブジェクトタイプ
P プログラム
N サブプログラム
S サブルーチン
M マップ
H ヘルプルーチン
3 ダイアログ
5 プロセッサ
A パラメータデータエリア
G グローバルデータエリア
L ローカルデータエリア
C コピーコード
T テキスト
4 クラス
7 ファンクション
V ビュー(DDM)
8 アダプタ
* すべてのプログラミングオブジェクトタイプ

Top of page

名前の範囲の指定

すべての SYSMAIN 機能には、選択されるライブラリまたはオブジェクトについて名前または名前の範囲のいずれかを指定するオプションが用意されています。

次の表に、名前の範囲として有効なアスタリスク(*)表記を示します。value は 1 文字または複数文字の任意の組み合わせを示します。

入力 選択されるオブジェクトまたはライブラリ
* すべてのオブジェクトまたはライブラリ。
value* 名前が value で始まるすべてのオブジェクトまたはライブラリ。

例:AB*
選択対象:AB、AB1、ABC、ABEZ
選択対象外:AA1、ACB

value*value* 1 つまたは 2 つのアスタリスク(*)と任意の順序で組み合わされた value に一致するすべてのオブジェクトまたはライブラリ。

例:A*C*
選択される:ABCZ、AXXCBBBZ、ANCZ
選択されない:ABDEZ、ACBBBZA

Top of page