9.123 GET_SYSVAR_LIST
システム変数、その記述、プログラム、およびプログラム・タイプのリストを取得して、呼び出し元のRDMLファンクションに可変長の作業リストで戻します。
Þこれは、 開発環境のみで使用される特殊BIF です。
各製品の対応
LANSA/AD |
使用可 |
Visual LANSA for Windows |
使用可 |
Visual LANSA for Linux |
未対応 |
引数
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
ポジショニング・システム変数。戻されるリストは、ディレクトリの中で、この引数で渡された値よりも大きく、かつ一番近い名前のシステム変数から始まります。 |
1 |
20 |
戻り値
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
L |
必須 |
システム変数の情報を含める作業リスト リストは以下のエントリー数を越えてはいけません。 呼び出し元のRDMLファンクションは、項目の長さの合計が正確に80バイトの作業リストを提供しなければなりません。 戻されるそれぞれのリスト項目は、次のような形式にする必要があります。 開始 - 終了 説明 1 - 20 システム変数名 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