9.123 GET_SYSVAR_LIST

LANSA

9.123 GET_SYSVAR_LIST


Þ 注:組み込み関数の規則

システム変数、その記述、プログラム、およびプログラム・タイプのリストを取得して、呼び出し元のRDMLファンクションに可変長の作業リストで戻します。

Þこれは、 開発環境のみで使用される特殊BIF です。

各製品の対応

LANSA/AD

使用可

Visual LANSA for Windows

使用可

Visual LANSA for Linux

未対応 

引数

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

ポジショニング・システム変数。戻されるリストは、ディレクトリの中で、この引数で渡された値よりも大きく、かつ一番近い名前のシステム変数から始まります。

1

20

 

 

戻り値

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

L

必須

システム変数の情報を含める作業リスト

リストは以下のエントリー数を越えてはいけません。
Windowsで32767項目
IBM iで9999項目

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

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

開始 - 終了 説明

1 - 20 システム変数名
21 - 60 システム変数の記述
61 - 70 システム変数プログラム

71 - 73 プログラム・タイプ

74 - 80 <<将来の拡張用>>

80

80

 

 

2

A

任意

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

1

20

 

 

3

A

任意

戻りコード

OK = システム変数の詳細のリスト(満載または一部)が戻された。リストに戻された以上のシステム変数は存在しない

OV = リスト(満載)が戻された。ただしリストに収まらなかったシステム変数がさらに存在する。通常、スタイル・リストを表示する時に、この値を使ってページに次のシステム変数があることを示す

NR = リストは空で戻された。リストの最後のシステム変数がブランクで戻される

2

2

 

 

すべてのシステム変数のリストを印刷します。

DEF_LIST      NAME(#VARLST) FIELDS(#VARNAM #VARDES #VARPGM #VARTYP #SPARE)       
              TYPE(*WORKING) ENTRYS(1000)      
**********    -Define the report layout-      
DEF_REPORT    PRT_FILE(QSYSPRT)      
DEF_HEAD      NAME(#HEAD01) FIELDS(#TEXT #PAGE . . . )      
DEF_LINE      NAME(#VARPRT) FIELDS(#VARNAM #VARDES #VARPGM #VARTYP)      
**********    -Set start system variable to blanks-      
CHANGE        FIELD(#STRVAR) TO(*BLANKS)      
**********    -Get list of system variables-      
USE           BUILTIN(GET_SYSVAR_LIST) WITH_ARGS(#STRVAR) TO_GET(#VARLST #LAST #RETCOD)
**********    -If return code is OK then process list-      
IF            COND('#RETCOD *EQ OK')      
SELECTLIST    NAMED(#VARLST)      
**********    -Print system variables-      
PRINT         LINE(#VARPRT)      
ENDSELECT            
**********    -Otherwise issue an error-      
ELSE            
MESSAGE       MSGTXT('An error has occurred. Report not produced.')      
ENDIF            
**********    -Close printer file-      
ENDPRINT