8.92 GET_ILENTRY_LIST

データ・ディクショナリから影響リスト・エントリーとその記述のリストを取得して、呼び出し元のRDMLファンクションに可変長の作業リストで戻します。事前にLANSA開発メニューを使用して影響リストを作成し、エントリーを追加しておく必要があります。

この BIF は、8.2 開発環境のみで使用される組み込み関数です。

 

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

取得するエントリーが入っている影響リストの名前

7

7

 

 

2

A

必須

開始位置の値。エントリー・タイプとエントリー名が含まれています。戻されるリストは、影響リストの中で、この引数で渡された値よりも大きく、かつ一番近いエントリーから始まります。

エントリー・タイプは以下のとおりです。
DF (フィールド)、FD (ファイル)、
PF (ファンクション)、SV (システム変数)、MT (多言語テキスト)

エントリー名は以下のとおりです。
フィールド - フィールド名
ファイル - ファイル名およびライブラリ
ファンクション - プロセスおよびファンクションの名前
システム変数名
言語変数名

1

22

 

 

 

戻り値

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

L

必須

フィールド情報を含める作業リスト。呼び出し元のRDMLファンクションは、項目の長さの合計が正確に70バイトの作業リストを提供しなければなりません。

戻されるそれぞれのリスト項目は、次のような形式にする必要があります。

開始 - 終了   説明

1 - 2   エントリー・タイプ

  DF = フィールド

  FD = ファイル

  PF = ファンクション

  SV = システム変数

  MT = 言語変数

3 - 22   エントリー名

  フィールド
3 - 12   フィールド名
13 - 22   ブランク

  ファイル

3 - 12   ファイル名

13 - 22   ライブラリ

ファンクション

3 - 12   プロセス名

13 - 19   ファンクション名

20 - 22   ブランク

  システム変数

3 - 22   変数名

  言語変数

3 - 22   変数名

23 - 62   記述

63 - 70   <<将来の拡張用>>

 

 

 

 

2

A

任意

戻されたリストの最後のエントリー。通常、この値は次にこの組み込み関数を呼び出す時にポジショニング用の引数として使用されます。

1

22

 

 

3

A

任意

戻りコード

OK = 影響リスト・エントリー詳細のリスト(満載または一部)が戻された。リストに戻された以上のエントリーは存在しない

OV = リスト(満載)が戻された。ただしリストに収まらなかったエントリーがさらに存在する

NR = リストは空で戻された。リストの最後のエントリーがブランクで戻される

2

2

 

 

 

このファンクションを使用すれば、影響リストの中にあるファイル・エントリーをコンパイルすることができます。影響リストは、LANSA開発者メニュー・オプションのインパクト・リストの処理を使って、事前に作成してファイル・エントリーを追加しておく必要があります。

**********    #ETYP  *CHAR 2     
**********    #FILE  *CHAR 10     
**********    #LIB   *CHAR 10     
**********    #DESC  *CHAR 40     
**********    #SPARE *CHAR 8     
**********    #START  *CHAR 22     
**********    #LAST   *CHAR 22     
DEF_LIST      NAME(#ELLST) FIELDS(#ETYP #FILE #LIB #DESC #SPARE)      
              TYPE(*WORKING) ENTRYS(10)      
**********    -Clear list-      
CLR_LIST      NAMED(#ELLST)      
**********    -Request Impact List name-      
REQUEST       FIELDS(#ILNAME) TEXT(('Impact List to use' 5 5))      
**********    -Set the start value to start at the file entries-      
CHANGE        FIELD(#START) TO(FD)      
**********    -Get the entries from the Impact List-      
BEGIN_LOOP     
USE           BUILTIN(GET_ILENTRY_LIST) WITH_ARGS(#ILNAME #START)    
              TO_GET(#ELLST #LAST #RETCOD)      
**********    -If entries found-      
IF            COND('(#RETCOD *EQ OK) *OR (#RETCOD *EQ OV)')      
SELECTLIST    NAMED(#ELLST)      
IF            COND('#TYP = FD')      
USE           BUILTIN(MAKE_FILE_OPERATIONL) WITH_ARGS(#FILE #LIB)  
              TO_GET(#RTN)      
ENDIF                
ENDSELECT            
**********    -If more entries, set start value for repeat -      
IF            COND('#RETCOD *EQ OV')      
CHANGE        FIELD(#START) TO(#LAST)      
ELSE            
RETURN          
ENDIF          
**********     
**********        -No entries-     
ELSE            
RETURN           
ENDIF           
END_LOOP