9.3 ACCESS_FILE
システムの任意のファイルからレコードを読み出します。これには、LANSAで認識されていないファイルを含まれます。
警告:
このBIFを使用するときは、ファイルまたはメンバーが存在することを確認してください。ファイルまたはメンバーがシステムに存在しないとジョブは失敗します。
ファイルからレコードを読み取るには、その前にファイルがオープンされている必要があります。
ファイルは一度オープンされると、ファイル/メンバーを変更することはできません。新しいファイル/メンバーにアクセスするには、最初にオープンされているファイル/メンバーをクローズする必要があります。
ライブラリが指定されていない場合は、要求されたファイル名とライブラリ・リストで名前が最初に一致したファイルが使用されます。
メンバーが指定されていない場合は、ファイルの最初のメンバーが使用されます。
各製品の対応
LANSA/AD |
使用可 |
RDMLXでは使用不可 |
Visual LANSA for Windows |
未対応 |
|
Visual LANSA for Linux |
未対応 |
|
引数
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
アクション:
OPEN:
READ:
CLOSE: |
4 |
5 |
|
|
2 |
A |
必須 |
ファイル名 |
1 |
10 |
|
|
3 |
A |
任意 |
ライブラリ名 デフォルトは*LIBL |
1 |
10 |
|
|
4 |
A |
任意 |
メンバー名 |
1 |
10 |
|
|
戻り値
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
任意 |
戻りコード OK:アクションが完了した ER:エラーが発生した EF:ファイルの終わりに達した |
2 |
2 |
|
|
2 |
A |
任意 |
戻りデータ・ブロック1 |
1 |
256 |
|
|
3 |
A |
任意 |
戻りデータ・ブロック2 |
1 |
256 |
|
|
4 |
A |
任意 |
戻りデータ・ブロック3 |
1 |
256 |
|
|
5 |
A |
任意 |
戻りデータ・ブロック4 |
1 |
256 |
|
|
6 |
A |
任意 |
戻りデータ・ブロック5 |
1 |
256 |
|
|
7 |
A |
任意 |
戻りデータ・ブロック6 |
1 |
256 |
|
|
8 |
A |
任意 |
戻りデータ・ブロック7 |
1 |
256 |
|
|
9 |
A |
任意 |
戻りデータ・ブロック8 |
1 |
256 |
|
|
ファイルのレコード長が256バイトを超える場合は、レコードの1から256バイトまでがデータ・ブロック1で戻され、257から512バイトまでがデータ・ブロック2で、513から768バイトまでがデータ・ブロック3で、という具合に、それぞれ対応するブロックで戻されます。
例
要求されたファイルおよびメンバーから最初の10レコードを読み取ります。
DEFINE FIELD(#FILENM) TYPE(*CHAR) LENGTH(10)
DEFINE FIELD(#LIBRARY) TYPE(*CHAR) LENGTH(10)
DEFINE FIELD(#MEMBER) TYPE(*CHAR) LENGTH(10)
DEFINE FIELD(#RETCOD) TYPE(*CHAR) LENGTH(2)
DEFINE FIELD(#DATA1) TYPE(*CHAR) LENGTH(256)
**********
REQUEST FIELDS(#FILENM #LIBRARY #MEMBER)
USE BUILTIN(ACCESS_FILE) WITH_ARGS(OPEN #FILENM #LIBRARY
#MEMBER) TO_GET(#RETCOD)
DOUNTIL COND('(#I *GE 10) *OR (#RETCOD *NE OK)')
USE BUILTIN(ACCESS_FILE) WITH_ARGS(READ #FILENM)
TO_GET(#RETCOD #DATA1)
* < process data1 >
ENDUNTIL
USE BUILTIN(ACCESS_FILE) WITH_ARGS(CLOSE #FILENM....) TO_GET(#RETCOD)