9.193 RESTORE_SAVED_LIST
保存済みの永久作業リストまたは一時作業リストの内容を復元します。
可搬性に関する注意事項 |
RESTORE_SAVED_LISTとSAVE_LISTは、同じコンテキスト内で使用する必要があります。つまり、Web上で実行されたファンクションからSAVE_LISTを使用し、その後でVisual LANSAファンクションとして実行されたファンクションから保存済みリストを復元しないでください。 |
各製品の対応
LANSA/AD |
使用可 |
Visual LANSA for Windows |
使用可 |
Visual LANSA for Linux |
使用可 |
引数
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
A |
必須 |
復元する保存済みリストの名前 |
1 |
10 |
戻り値
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
---|---|---|---|---|---|---|---|
1 |
L |
必須 |
保存済みリストをロード/復元する作業リスト |
1 |
10 |
||
2 |
A |
任意 |
戻りコード |
2 |
2 |
||
3 |
N |
任意 |
各リスト・エントリーの長さ |
1 |
15 |
0 |
0 |
4 |
A |
任意 |
リストのタイプ |
1 |
1 |
技術ノート
· この組み込み関数は、保存済み作業リストを復元する目的、またはジョブ間(例:インターラクティブからバッチ)で受け渡される作業リストの内容を取得する目的で作られています。同一ジョブ内でプログラムの作業リストの詳細を取得することが目的ではありません。FUNCTIONコマンドとCALLコマンドのRCV_LISTSパラメータとPASS_LISTSパラメータを使用すると、より効率的に同じジョブのプログラム間で作業リストの詳細を交換することができます。
· LANSAデータ・ライブラリにあるDC@F80ファイルで保存済みリストの詳細が保管されています。バックアップと復元の手順には、このファイルを含めることを検討する必要があります。
· 復元先のリストは、保存済みリストと同じかまたは大きなサイズにする必要があります。そうでない場合は保存済みの情報が復元されません。この場合、戻りコード'OV'と空のリストが戻されます。
· 通常のLANSA内部データベース再編成の際に、DC@F80ファイルの削除されたレコードのスペースは再編成され除去されます。この再編成により、保持期間が超えている一時リストも削除されます。
· I5/OS RGZPFM (Reorganize Physical File Member:物理ファイル・メンバーの再編成)コマンドを使えば、DC@F80ファイルの削除されたレコードのスペースはいつでも解放することができます。順次論理ビューにはDC@F80V1を使用します。
· DC@A08データ・エリア、DC@F80データベース・ファイル(およびその論理ビューであるDC@F80V1とDC@F80V2)のバックアップと復元は、お客様の責任で実行してください。
· DC@F80、つまり保存済みリストをコンピュータ間または環境間で移動する場合は、お客様の責任で実行してください。
例
あるリストが保存されています。これは顧客リストで、ユーザーがレポート印刷のためすでに顧客を選択済みです。投入元のジョブにより、このジョブにはすでにリスト名が渡されています。
DEF_LIST NAME(#RSTLST) FIELDS((#CLICDE) (#CLIDES)) TYPE(*WORKING)
DEF_LINE NAME(#LINE1) FIELDS((#CLICDE) (#CLIDES) (#CLIAD1) (#CLIAD2) (#CLIAD3) (#CLIPHO) (#CLIFAX))
DEFINE FIELD(#LSTNME) TYPE(*CHAR) LENGTH(10)
********** Clear the list
CLR_LIST NAMED(#RSTLST)
********** Restore the list
USE BUILTIN(RESTORE_SAVED_LIST) WITH_ARGS(#LSTNME) TO_GET(#RSTLST)
********** Process the list
SELECTLIST NAMED(#RSTLST)
FETCH FIELDS(#LINE1) FROM_FILE(CLIMASTER) WITH_KEY(#CLICDE)
PRINT LINE(#LINE1)
ENDSELECT
********** Close print file
ENDPRINT
********** Submit job to delete list
USE BUILTIN(DELETE_SAVED_LIST) WITH_ARGS(#LSTNME)