バージョン 4.2.5
 —  ユーティリティ  —

管理者向けの特別な考慮事項

このセクションでは、SYSMAIN ユーティリティのセキュリティ面および SYSMAIN に提供されるユーザー出口ルーチンについて説明します。


ファイルセキュリティ

ファイルセキュリティ(パスワードとサイファコード)は、Adabas または VSAM 環境のシステムファイルに対して定義されたセキュリティと関連付けられています。 システムファイルにファイルセキュリティが定義されている場合、SYSMAIN 機能を実行する前に、必要なソースシステムファイルまたはターゲットシステムファイル(あるいはその両方)に関して、パスワード、サイファコード、または VSAM 名(あるいはそのすべて)を指定する必要があります。 これを行わなかった場合、Adabas または VSAM によって該当するエラーメッセージが発行されます。 SYSMAIN ユーティリティの開始時に Natural セッションに割り当てられるデフォルトシステムファイルに対してセキュリティ情報を指定する必要はありません。

Start of instruction set パスワードおよびサイファコードを指定するには

  1. 任意の SYSMAIN ユーティリティメニューから、次の表に示す PF キーまたは特殊コマンドを使用して、必要なシステムファイルのセキュリティウィンドウを呼び出します。

    システムファイル コマンド PF キー 影響を受けるオブジェクト/データ
    FUSER、FNAT SET FNAT PF12

    - プログラミングオブジェクト
    - デバッグ環境
    - エラーメッセージ
    - プロファイル

    FDIC SET FDIC PF11

    - ルール
    - DL/I サブファイル
    - DDM
    - XRef 情報

    FSEC SET FSEC PF10 - Natural Security プロファイル

    指定したシステムファイルについて表示されるセキュリティウィンドウは、次の FUSER システムファイルおよび FNAT システムファイルの例に類似しています。

    +---------------------------------------------------+
    !   --- Security for the Natural System Files ---   !
    !                                                   !
    !  Specify the password(s), cipher(s) and VSAM FCT  !
    !  name(s) for the source/target file(s) below:     !
    !                                                   !
    !      - Source -                - Target -         !
    ! Library .... OLDLIB       Library .... NEWLIB     !
    ! Database ... 10           Database ... 10         !
    ! File ....... 32           File ....... 32         !
    !                                                   !
    ! Password ...              Password ...            !
    ! Cipher .....              Cipher .....            !
    ! VSAM Name .. ________     VSAM Name .. ________   !
    +---------------------------------------------------+
    
  2. ウィンドウで、必要なソースシステムファイルまたはターゲットシステムファイル(あるいはその両方)に関して、適切なパスワード、サイファコード、または VSAM 名(あるいはそのすべて)を入力します。

    注意:
    [Library]フィールドは、プログラミングオブジェクト、デバッグ環境、またはエラーメッセージを処理する場合にのみ適用されます。

ファイルセキュリティを定義すると、SYSMAIN ユーティリティでは、そのセキュリティ情報がすべての後続処理に使用されます。 セッションの初期化時に取得したデフォルトのセキュリティ情報を使用する必要がある場合は、対応するセキュリティウィンドウを再度呼び出し、パスワード、サイファコード、または VSAM 名の各フィールド、あるいはそのすべてをクリアする必要があります。 パスワードとサイファコードは非表示であるため、フィールドが空であるかのように見える場合にも、再度クリアする必要があります。

Top of page

Natural Security

Natural Security 環境内で SYSMAIN ユーティリティを使用する場合は、次の 2 つの点について考慮する必要があります。

Natural Security 環境の定義

ソースライブラリとターゲットライブラリは、1 つの Natural Security 環境内または異なる 2 つの Natural Security 環境内に配置できます。 これらの環境は SYSMAIN ユーティリティに対して定義されている必要があります。

使用する Natural Security 環境の定義は、特殊コマンド SET FSEC で指定します。

デフォルトでは、Natural セッションの開始時に割り当てられた現在の FSEC 設定が使用されます。 これらの設定は、[Security for Natural Security (FSEC) Files]ウィンドウで変更した場合、次の SET FSEC プロセスで変更するまで有効です。 バッチモードまたはダイレクトコマンドモードでは、SEC キーワードを使用して、ファイルセキュリティと要求の割り当てを指定する必要があります。

ソース環境とターゲット環境を決定すると、SYSMAIN では、Natural Security を使用してソースライブラリとターゲットライブラリの両方が確認されます (ソースまたはターゲットのデータベースとファイル、あるいはその両方は、ライブラリセキュリティプロファイルで指定したデータベース ID(DBID)およびファイル番号(FNR)に対応している必要があります。これらの値を指定しない場合、セキュリティプロファイルからデフォルト値が取得されます)。

Natural Security 環境での SYSMAIN の使用制限

SYSMAIN ユーティリティ自体の使用を制限することも、SYSMAIN ユーティリティで処理されるソースライブラリおよびターゲットライブラリの使用を制限することもできます。 SYSMAIN 機能の使用は、アプリケーションプログラミングインターフェイス MAINUSER を使用して呼び出した場合、個別に制御できます。 詳細については、『Natural Security』ドキュメントの「Protecting Utilities」を参照してください。

Top of page

ユーザー出口ルーチン

SYSMAIN ユーティリティのユーザー出口ルーチンは、処理中の各オブジェクトに関する情報を提供するため、または機能処理を制御するために使用されます。 ユーザー出口ルーチンは Natural サブプログラムであり、CALLNAT ステートメントを使用して呼び出されます。

サブプログラムのソースコードとそれらのソースコードが使用するデータエリアは、SM-UX-nnnn = 01~11)の名前でソースオブジェクトとしてライブラリ SYSMAIN に格納されます。 ユーザー出口ルーチンを使用可能にするには、対応するソースオブジェクトをライブラリ SYSMAIN またはその steplib のいずれかに、MAINEXnn の名前でカタログ化します。

注意:
ユーザー出口ルーチンのソースオブジェクトの名前とカタログ化オブジェクトの名前は、更新インストールによるソースオブジェクトの上書きがカタログ化オブジェクトに影響することがないよう、異なるものとなっています。

必要に応じて、任意のユーザー出口ルーチンを変更したり、展開したりできます。

コード論理によっては、これらの出口ルーチンを使用することにより、SYSMAIN ユーティリティに追加のオーバーヘッドが発生します。 ただし、出口処理が完了したら、常に SYSMAIN に制御を返す必要があります。

SYSMAIN ユーティリティでは Adabas ファイルに対して ET ロジックが使用されるため、ユーザー出口ルーチンの使用により、トランザクションタイムリミット(Adabas パラメータ TT)が延長されることがあります。 また、Adabas トランザクションの定義は変更しないでください。つまり、ET/BT コマンドや END/BACKOUT TRANSACTION ステートメントは発行しないでください。 END TRANSACTION ステートメントの発行は、すべて SYSMAIN によって実行されます。 ただし、ユーザーがユーザー出口ルーチンを使用して SYSMAIN 機能を正常終了する場合、このルールは適用されません。 その場合は、終了する前に BACKOUT TRANSACTION を発行する必要があります。

リターンコードをゼロ以外の値に設定すると、SYSMAIN から受け取ったエラーよりも優先されます。 出口からエラーを受け取った場合、エラーはメッセージフィールドに配置され、必要に応じて表示または出力されます。 ただし、自動処理は、処理が最少の端末 I/O で完了するため、例外となります。

次のセクションでは、個々のユーザー出口ルーチンについて説明します。

MAINEX01 - オブジェクト検証用の第 1 ユーザー出口ルーチン

機能 オブジェクトが SYSMAIN によって処理される前に、オブジェクトに関連付けられたデータ要素の現在の値設定を検証します。
注意 RESP-CODE パラメータをゼロ以外の値に設定することにより、MAINEX01 に渡されるすべてのオブジェクトを拒否できます。

いずれかの追加ロジックを実行する場合、トランザクションはトランザクション終了ステータスにできません。このため、END TRANSACTION ステートメントや BACKOUT TRANSACTION ステートメントは発行しないでください。

制御を SYSMAIN に戻す必要があります。

パラメータ
PARM-AREA1 (A250) SYSMAIN パラメータエリア(固定値)。
PARM-AREA2 (A250) SYSMAIN パラメータエリア(変数値)。
RESP-CODE (B1) SYSMAIN に返されるレスポンスコード。

注意:
変更できるのは RESP-CODE パラメータのみです。

ローカルデータエリア SM-UX-L

MAINEX02 - オブジェクト検証用の第 2 ユーザー出口ルーチン

機能 オブジェクトが SYSMAIN によって処理された後に、オブジェクトに関連付けられたデータ要素の現在の値設定を検証します。
注意 RESP-CODE パラメータをゼロ以外の値に設定することにより、MAINEX02 に渡されるすべてのオブジェクトを拒否できます。

いずれかの追加ロジックを実行する場合、トランザクションはトランザクション終了ステータスにできません。このため、END TRANSACTION ステートメントや BACKOUT TRANSACTION ステートメントは発行しないでください。

制御を SYSMAIN に戻す必要があります。

パラメータ
PARM-AREA1 (A250) SYSMAIN パラメータエリア(固定値)。
PARM-AREA2 (A250) SYSMAIN パラメータエリア(変数値)。
RESP-CODE (B1) SYSMAIN に返されるレスポンスコード。

注意:
変更できるのは RESP-CODE パラメータのみです。

ローカルデータエリア SM-UX-L

MAINEX03 - 要求検証用のユーザー出口ルーチン

機能 ダイレクトコマンドまたはメニューモードでオンライン入力された情報に関して SYSMAIN に対して行われたすべての要求を検証します。 MAINEX03 では、SYSMAIN がコマンドを処理する前に制御を取得します。
注意 RESP-CODE パラメータをゼロ以外の値に設定することにより、MAINEX03 に渡されるすべてのコマンドを拒否できます。

他のロジックを追加できますが、必要な END TRANSACTION 要求はユーザーがデータベースに発行する必要があります。

制御を SYSMAIN に戻す必要があります。

パラメータ
PARM-AREA (A250) コマンド文字列。
RESP-CODE (B1) SYSMAIN に返されるレスポンスコード。

注意:
変更できるのは RESP-CODE パラメータのみです。

MAINEX04 - ファイル割り当ての変更用のユーザー出口ルーチン

機能 Natural システムファイルのデータベース、ファイル、パスワード、およびサイファコードを上書きします。
注意 MAINEX04 は、いずれかの要求が SYSMAIN によって処理または検証される前に呼び出されます。 制御が MAINEX04 に渡されると、ステータスはトランザクション終了となります。このため、要求を拒否する場合は、RESP-CODE パラメータをゼロ以外の値に設定する必要があります。

制御を SYSMAIN に戻す必要があります。

パラメータ
PARM-AREA (A250) SYSMAIN パラメータエリア
RESP-CODE (B1) SYSMAIN に返されるレスポンスコード。
ローカルデータエリア SM-UX-L4

MAINEX05 - ダイレクトコマンド検証用のユーザー出口ルーチン

機能 SYSMAIN のオンライン処理中に入力されたすべてのダイレクトコマンドを検証します。 また、システムコマンドを示すために使用された特殊コマンドを上書きできます。
注意 MAINEX05 は、SYSMAIN 内で発行されたいずれかのダイレクトコマンドが処理される前に呼び出されます。 例えば、MAINEX05 を使用すると、いずれかの SET コマンド(「SYSMAIN に発行される特殊コマンド」を参照)を検証できます。また、それらのコマンドが発行されるのを防ぐこともできます。 これらのコマンドを検証し、RESP-CODE パラメータにゼロ以外の値を返して拒否できます。 制御が MAINEX05 に渡されると、ステータスはトランザクション終了となります。

SYSMAIN 内で入力するコマンドは、先頭に 2 つのスラッシュ(//)を付ける必要があります(「SYSMAIN コマンド行の使用」も参照)。 MAINEX05 では、この目的で他の 2 つの特殊文字を定義できます。そのためには、希望する文字を CMD-DEL パラメータに割り当てます。 CMD-DEL を空白に設定した場合、SYSMAIN ではデフォルト値の 2 つのスラッシュ(//)が使用されます。 制御を SYSMAIN に戻す必要があります。

パラメータ
COMMAND (A68) SYSMAIN に発行された現在のコマンド。
CMD-DEL (A3) システムコマンド用の特殊文字。
RESP-CODE (B1) SYSMAIN に返されるレスポンスコード。

MAINEX06 - SYSMAIN 初期化用のユーザー出口ルーチン。

機能 SYSMAIN セッションの初期化時に制御を取得します。
注意 MAINEX06 は SYSMAIN セッションの開始時に呼び出され、オブジェクトの削除、移動、置き換えのような要求を確認するためのプロンプトなど、一部の SYSMAIN デフォルト設定を上書きできます。

すべてのパラメータが検証されます。 パラメータが無効な場合は、ソフトウェア設定が使用されます。

制御を SYSMAIN に戻す必要があります。

パラメータ
データエリア

SM-UX-L6

MAINEX07 - SYSMAIN 終了用のユーザー出口ルーチン。

機能 SYSMAIN セッションの終了時に制御を取得します。
注意 MAINEX07 は、SYSMAIN セッションの終了時に、制御を SYSMAIN で保持するかどうかを決定するために呼び出されます。
パラメータ
USER-AREA (A50) 自由に使用するエリア。

MAINEX08 - バッチモードで何も検出されない場合のユーザー出口ルーチン

機能 バッチモードでコマンドについてオブジェクトが検出されない場合、追加の処理を決定します。
注意 MAINEX08 は、バッチモードで実行された特定のコマンドについて、指定した条件に一致するオブジェクトが検出されなかった場合に呼び出されます。 この場合は、制御を SYSMAIN に戻す必要はありませんが、戻してもかまいません。 制御が SYSMAIN に戻ると、SYSMAIN は次のコマンドの処理を続行します。
パラメータ
CMD (A250) コマンド文字列。

MAINEX09 - バッチモードでの異常終了用のユーザー出口ルーチン

機能 バッチモードでエラーが発生した場合に実行するアクションを決定します。
注意 MAINEX09 は、バッチモードの SYSMAIN 処理でエラーが発生した場合に呼び出されます。 この場合は、制御を SYSMAIN に戻す必要はありませんが、戻してもかまいません。 制御を SYSMAIN に戻した場合、SYSMAIN はコンディションコード 45 で終了します。

注意:
エラー NAT4810NAT4818NAT4867NAT4868、および NAT4893 は、このユーザー出口ルーチンでは処理できません。

パラメータ
CMD (A250) コマンド文字列。
ERROR-CODE (N4) 終了の原因となったエラーの番号

MAINEX10 - バッチモードでのコマンドエラー用のユーザー出口ルーチン

機能 バッチモードでコマンドエラーが発生した場合に実行するアクションを決定します。
注意 MAINEX10 は、バッチモードで SYSMAIN コマンドにエラーが検出された場合に呼び出されます。 この場合は、制御を SYSMAIN に戻す必要はありませんが、戻してもかまいません。 制御が SYSMAIN に戻ると、SYSMAIN は次のコマンドの処理を続行します。
パラメータ
CMD (A250) コマンド文字列。
ERROR-CODE (N4) 終了の原因となったエラーの番号

MAINEX11 - SYSMAIN に特殊フラグを設定するためのユーザー出口ルーチン

機能 特殊設定ユーザー出口ルーチン。
注意 MAINEX11 は、SYSMAIN セッションの開始時に呼び出され、バッチでの MAINUSER メッセージの表示など、一部の特殊 SYSMAIN フラグを設定できます。

使用可能なフラグの詳細については、ユーザー出口ルーチンのソースオブジェクト(SM-UX-11)を参照してください。

制御を SYSMAIN に戻す必要があります。

パラメータ
FLAGS (A250) フラグ文字列(再定義)。

Top of page