とあるSEの色々ブログ

プログラミングで全ての人を幸せに。プログラミングとITと転職と雑記と備忘録

AS400

WINDOWの作り方

投稿日:

ユーザーエントリーのプログラムを作る際に
入力画面を保持した上で、顧客マスタや製品マスタなどを
ポップアップウィンドウという形で表示して、選択された値を入力画面に戻すみたいな。
ユーザーは入力する際にコードが覚えなくても、ポップアップウィンドウを表示して一覧からの選択が可能になります。ポップアップウィンドウに検索機能がついてるとさらに使いやすいですね。

直接コーディングでも良いのですが、
今回は以前の記事で投稿したSTRSDAでの作成方法を記載いたします。

WINDOW作成の流れ

  • ポップアップウィンドウのレコード様式を作成
  • ダミーレコードを作成

ポップアップウィンドウ作成

STRSDAを実行して
OPTに1(追加)
レコード様式名に任意の値を入力して実行キーを押下します
タイプはWINDOWを入力して実行キー
今回は何も入力せずに実行キー
こんな画面が表示されると思います。
薄らと表示されているのが、このレコード様式のポップアップです。
表示位置や、枠の文字や色指定などは自由に変更可能です。
ではこのレコード様式の画面で8のキーワード選択を実行してみましょう。
画像では12になってますが、ここに8を入力です。
この画面でどんな内容の設定画面を表示するか
ということと、現在設定がされているか、ということがわかります。
上記の画像では、WINDOWパラメーターの設定だけがされている状態ですね。
パラメーター選択の欄にYを入力して実行キーを押下すると
ウィンドウパラメーターの設定画面に遷移します。
この画面でウィンドウの表示位置や領域などの設定が可能です。
試しにこんな感じに変更してみました。
画面を戻ってウィンドウの表示を見てみましょう。
ソースの画面で見るとこんな感じです。
WINDOWの引数は左から
開始行、開始列、ウィンドウの行数、ウィンドウの列数ですね。
では次にウィンドウ枠のパラメーター選択でYを実行してみます。
色、属性、文字の変更が可能です。
先ほどの画面と同様に上段がその項目の設定状態を表示
下段にYを入力して実行キーで設定画面に遷移します。
枠色の選択画面です。
使用する色の箇所でYを入力してください。
表示属性の選択画面です。
お好みの箇所でYを入力してください。
枠に指定する文字列の選択画面です。
お試しで上記の様に入力してみました。
結果を確認してみます。
こんな感じですね。
AS/400の説明表示やヘルプはわかりやすいので
まあ読んだままではあるのですが。
なお、こんなポップアップは怖いのでやめましょう

ダミーレコードを作成

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

名前はなんでも構いません。
タイプはRECORDを選択してください
一般キーワードでYを入力、実行キー
ASSUMEキーワードの欄でYを入力して実行キー

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

すると・・・?

叱られます。
なるほど、ダミーレコードにはなんらかの出力用フィールドがいるようです。
ではこんな感じで表示可能フィールドを用意します。
これでコンパイル時の上記エラーはなくなると思います。

お試しで作ってみました。
時間がなかったので丁寧な作り込みではありませんせんが
受注入力画面で製品NOを入力する際の、在庫状況をポップアップウィンドウで表示して確認が出来るイメージです。

このサンプルでは直接10項目書いていますが
ポップアップ上でのサブファイル表示ももちろん可能です。

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

-AS400

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【RPG4】DSについて

RPG4になって、I仕様書とE仕様書は廃止されました。D仕様書を使って変数、配列、定数、DSなどを記述していきます。特にこのD仕様書は色々便利になっている反面、戸惑うところもありましたので備忘録も兼ね …

デバッグの勧め STRISDB

RPG3のデバッグが出来る「STRISDB」の操作方法を記載します。自分への備忘録&迷えるAS/400ビギナーの方の参考になれば幸いです。 対象:自分、AS/400ビギナーの方、もしくはSTRISDB …

ユーザー定義コマンド作成方法

コマンドの入力文字数を減らしたい visual studioや他の豪華なIDEとかでは、インテリセンスという入力補完の機能があったりしますが、AS400のコーディングや保守を行うエミュレーターにはそん …

【RPG4】フリーフォーマット

この記事の概要 RPG4をはじめたいけど、どこから手を付けたら良いか分からない人このシリーズを読むことで、RPG4、その先のRPGLEの始め方がわかる知識0から実践して覚えた内容をアウトプット いつも …

no image

【RPG4】EVAL

RPG4から追加されたEVALという命令を紹介します。RPG3では代入処理は、文字型の場合はMOVE、数値型の場合はZ-ADDを使用していたと思いますがRPG4ではMOVEやZ-ADDは非推奨です。フ …