明細入力のタスク後にヘッダメモリが消えてしまう
ヘッダ、明細関係のプログラムを作成しています。
デバッグモードで確認したところ、
明細入力のタスク後を通った後、ヘッダに入力した情報が消えてしまいます。
どのような原因が考えられますでしょうか。
ご教示お願いいたします。
-
ヘッダ入力タスクのタスク特性 → 動作 → 循環入力 → YESにしてみるといかがですか?
ヘッダが消えたと思ってても、
もしかするとそれをデータリポジトリ上でAPGで確認すると、レコードは残っているかもしれません。 -
タイトルに「ヘッダメモリが消えてしまう」と書いてしまいましたが、
一時テーブルのヘッダメモリには、データは残ってました。
ヘッダメモリに登録されているデータの表示がうまくいってないのでしょうか…?
-
ヘッダ入力タスクのタスク特性 → 動作 → 循環入力 がNoだと、もしかすると
次のレコード入力画面に移動しているのかもしれません。 -
nkmtさん
すみません、投稿のタイミングが悪かったので削除させていただきました。
教えていただいた通り、循環入力をYesに変更したところ、表示が消えなくなりました!
ありがとうございます。
自習のために参考にしているコーディングサンプルでは、循環入力がNoでしたので、
同じように作れていない部分がありそうです…。
度重ねの質問で恐れ入りますが、
ヘッダ入力タスクの循環入力はYesになっているのが一般的でしょうか?
-
おそらく今の親 タスクにはメインソースにデータが指定されているのだと思います。
明細入力のサブフォームがプログラム全体としては最後のタブ 順序になっているんだと思います。
明細入力 サブフォームを終了するとヘッダー入力 タスクに入力が戻ろうとしますが、ヘッダの項目は全て入力を終えている タブ 順序だと思いますので、 親タスクが循環入力=Noの場合は次のレコードの入力へと進む 動きになっていると思います。
ヘッダーフォームに明細入力よりも後のタブ順序入力項目が存在すれば、循環入力YESでも ヘッダー入力画面は消えないと思います。
※最初、スマホの音声入力で入力し、誤字が多かったので文章を訂正しました。 -
1画面 ワンレコードのタスクの場合 その画面上の最後の入力項目を終えると点 次のレコード つまり 次の画面に進みますのでデータは実際は消えていないけれども 次の新規レコード入力の画面へと 遷移します。ヘッダー 入力 タスクが循環 入力 YES あるいはノーが選べるのはそれぞれ適したプログラムの作りがあるからだと思います。
-
nkmtさん
タブ順序も影響してくるのですね。
大変勉強なりました。
ご教示いただきありがとうございます。
サインインしてコメントを残してください。
コメント
7件のコメント