ユーザーエントリーのプログラムを作る際に
入力画面を保持した上で、顧客マスタや製品マスタなどを
ポップアップウィンドウという形で表示して、選択された値を入力画面に戻すみたいな。
ユーザーは入力する際にコードが覚えなくても、ポップアップウィンドウを表示して一覧からの選択が可能になります。ポップアップウィンドウに検索機能がついてるとさらに使いやすいですね。
直接コーディングでも良いのですが、
今回は以前の記事で投稿したSTRSDAでの作成方法を記載いたします。
WINDOW作成の流れ
- ポップアップウィンドウのレコード様式を作成
- ダミーレコードを作成
ポップアップウィンドウ作成

OPTに1(追加)
レコード様式名に任意の値を入力して実行キーを押下します



薄らと表示されているのが、このレコード様式のポップアップです。
表示位置や、枠の文字や色指定などは自由に変更可能です。

画像では12になってますが、ここに8を入力です。

ということと、現在設定がされているか、ということがわかります。
上記の画像では、WINDOWパラメーターの設定だけがされている状態ですね。
パラメーター選択の欄にYを入力して実行キーを押下すると
ウィンドウパラメーターの設定画面に遷移します。


画面を戻ってウィンドウの表示を見てみましょう。

WINDOWの引数は左から
開始行、開始列、ウィンドウの行数、ウィンドウの列数ですね。


先ほどの画面と同様に上段がその項目の設定状態を表示
下段にYを入力して実行キーで設定画面に遷移します。

使用する色の箇所でYを入力してください。

お好みの箇所でYを入力してください。

お試しで上記の様に入力してみました。
結果を確認してみます。

AS/400の説明表示やヘルプはわかりやすいので
まあ読んだままではあるのですが。
なお、こんなポップアップは怖いのでやめましょう
ダミーレコードを作成
ポップアップウィンドウを作って表示しても
これだけだと親画面が消えてしまいます。
親画面が消えてしまうと、意味がありませんので
あくまで親画面を保持した上で、一部の領域にだけポップアップウィンドウを
表示する必要があります。
そのための作り込みとして、ダミーレコードを作成します。




ASSUMEキーワードを設定したダミーレコード様式ができましたね。
ではコンパイルしてみましょう。
すると・・・?

なるほど、ダミーレコードにはなんらかの出力用フィールドがいるようです。

これでコンパイル時の上記エラーはなくなると思います。
お試しで作ってみました。
時間がなかったので丁寧な作り込みではありませんせんが
受注入力画面で製品NOを入力する際の、在庫状況をポップアップウィンドウで表示して確認が出来るイメージです。
このサンプルでは直接10項目書いていますが
ポップアップ上でのサブファイル表示ももちろん可能です。

RPGで制御する場合は、現在の親画面のレコード様式の上に
EXFMTでポップアップウィンドウを指定して頂ければOKです。