質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
RPG

RPG (Report Program Generator)とは、IBMの System i(AS/400)サーバ向けのプログラミング言語です。

Q&A

解決済

1回答

7730閲覧

サブファイルを含む表示装置ファイルのカーソル制御について

k1000

総合スコア67

RPG

RPG (Report Program Generator)とは、IBMの System i(AS/400)サーバ向けのプログラミング言語です。

0グッド

0クリップ

投稿2016/08/28 12:38

編集2016/08/29 07:48

###前提・実現したいこと
サブファイルよりも前(画面の上)のレコードに入力可能項目があってもサブファイルの最初の入力可能項目にカーソルをセットしたい。ただし、入力内容にエラーがあればそちらを優先してセットしたい。

###発生している問題・エラーメッセージ
サブファイルの前の入力可能項目にカーソルがセットされる。
DSPATR(PC) を有効にしてサブファイルレコードを出力すればカーソルはそこに動くが、後からサブファイル内にエラーレコードが発生するなどしてカーソルを優先して配置したいときにじゃまになってしまう。

###試したこと
思考の段階でつまづいています。

###補足情報(言語/FW/ツール等のバージョンなど)
OSバージョンは V7R1M0 です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

画面の最初のページのサブファイルが全部保護項目だった場合にまだうまくいかなかったりしますが、これでおおむねできてきました。

  1. 画面DDSに CSRLOC キーワードを設定し、RPG側でカーソルを任意の場所にロケートできるようにする。
  2. サブファイル書き出し時に入力可能項目を持つレコードの出力があればそのレコード行番号からカーソルを置くべき位置を計算し、ワーク変数にセットする(初期値をゼロなどにしておき、一度セットしたら画面をEXFMTするまでキープする)。
  3. サブファイルを出力し終えるまでにカーソル位置を優先させたいエラー項目がなければ(これは標識管理すれば容易に判断できる)、CSRLOC で定義したロケーション用の変数にワーク変数をセットする。

投稿2016/08/29 02:00

編集2016/08/29 07:43
k1000

総合スコア67

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k1000

2016/08/29 02:02

もっとスマートな解決方法があるかもしれませんので、解決済みにせずに少し置いておきます。
k1000

2016/11/04 00:55

特に他に回答も出ませんので、クローズします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問