You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

9.3 ACCESS_FILE

注意: 9.1 組み込み関数の規則     &<a href="ladtgub1_0011.htm"&>利用オプション&</a&>
システムの任意のファイルからレコードを読み出します。これには、LANSAで認識されていないファイルを含まれます。
警告:
このBIFを使用するときは、ファイルまたはメンバーが存在することを確認してください。ファイルまたはメンバーがシステムに存在しないとジョブは失敗します。
ファイルからレコードを読み取るには、その前にファイルがオープンされている必要があります。
ファイルは一度オープンされると、ファイル/メンバーを変更することはできません。新しいファイル/メンバーにアクセスするには、最初にオープンされているファイル/メンバーをクローズする必要があります。
ライブラリが指定されていない場合は、要求されたファイル名とライブラリ・リストで名前が最初に一致したファイルが使用されます。
メンバーが指定されていない場合は、ファイルの最初のメンバーが使用されます。
 
引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

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)  

  • No labels