7.91 OPEN

Þ: 利用法の確認

OPENコマンドは、FILEパラメータで指定されたデータベース・ファイルを開く(または開く操作を制御する)ために使用します。個々のファイルまたはすべてのファイルを開くか、制御することができます。

OPENコマンドには2つの形式があります。

最初の形式は実行可能形式です。実行可能形式と呼ばれるのは、ファイルがOPENコマンドの実行時に開かれるからです。この形式では、IBM iオペレーティング・システム・コマンドOPNQRYF (オープン・クエリー・ファイル)へのアクセスがサポートされます。

2つ目の形式は宣言形式です。宣言形式と呼ばれるのは、実際にはOPENコマンドが実行されないからです。RDMLプログラム内にこのコマンドが存在することで、LANSAがファイルを自動的に開く方法とそのタイミングが宣言されます。

上記の2つのコマンド形式については、後で詳しく説明します。

通常、RDMLプログラムにOPENまたはCLOSEコマンドをコーディングする必要はありません。ファイルを開く/閉じる操作は、必要に応じてLANSAが自動的に実行します。OPENおよびCLOSEコマンドは、ファイルを明示的に開く/閉じる操作を実行したり、LANSAがファイルを自動的に開く/閉じる方法およびそのタイミングを変更したりする場合のみ使用します。

移植性に関する考慮事項

Visual LANSAでは、FILE (ライブラリ)はサポートされません。Visual LANSAコード内で使用すると、ビルド警告が生成されます。パラメータALWCPYDTA、COMMIT、およびFILE KEYFLD OPTIMIZE、QRYSLT SEQONLY、TYPE 、およびUSE_OPTION を参照してください。

参照

7.91.1 OPEN のパラメータ

7.91.2 OPEN についてのコメント/警告

7.91.3 OPEN の使用例

                                                         任意指定

 

  OPEN --------- FILE---------- *ALL. *FIRST ------------------->

                                ファイル名.ライブラリ名

 

             >-- USE_OPTION --- *FIRSTSCREEN ------------------->

                                *IMMEDIATE

                                *ONDEMAND

                                *OPNQRYF

                                *KEEPOPEN

 

             >-- IO_STATUS ---- *STATUS ------------------------>

                                フィールド名

 

             >-- IO_ERROR ----- *ABORT ------------------------->

                                *NEXT

                                *RETURN

                                ラベル

 

             >-- QRYSLT ------- *ALL --------------------------->

                                '選択条件'

                                #フィールド名

                                '=EXCHANGE'

 

             >-- KEYFLD ------- *NONE -------------------------->

                                *FILE

                                '必要なキー/ソート順'

                                #フィールド名

 

             >-- ALWCPYDTA ---- *YES --------------------------->

                                *NO

 

             >-- OPTIMIZE ----- *ALLIO ------------------------->

                                *FIRSTIO

                                *MINWAIT

 

             >-- SEQONLY ------ *YES --- レコード数 ----->

                                *NO

 

             >-- COMMIT ------- *NO ---------------------------->

                                *YES

 

             >-- TYPE --------- *NORMAL ------------------------|

                                *PERM