12.2.Q.画面命令のPUTOVRとOVRDTAの使い方が、よく分かりません。 |
PUTOVR(レコードレベル),OVRDTA(フィールドまたはレコードレベル),OVRATR(フィールドまたはレコードレベル)はまず、 「画面表示のパフォーマンス」を向上させるもの で、これがなくても、プログラムはきちんと動きます。というより、本当にパフォーマンス以外に関係する機能はないと思ってください。このキーワードを含む画面ファイルを作成するときは、RSTDSP(*YES)を忘れずにしてください。でないと、たまにプログラムエラーが起きます。それから、PUTOVRを含むレコードを頻繁に画面に出すプログラムでないと、効果はほとんどありません。 このPUTOVR-OVRXXXの関係ですが、レコードレベルにPUTOVRのついたレコードを表示すると、OVRDTA(データフィールド)やOVRATR(属性)のついたフィールド以外は、再表示のとき、画面に表示データが転送されなくなります。無駄にデータを転送しないことで、パフォーマンスを向上させているだけです。マニュアルを見るとOVRXXXに標識をつけていますが、私は面倒なので標識はつけていません。つまり、画面の固定情報のみ再表示されなくなるわけです。 うまくいかない場合とは、PUTOVRを指定したのに、内容の書き換わるフィールドにOVRDTAを付け忘れた場合や、OVRATRを忘れて標識30オンでDSPATR(HI)としても、高輝度にならなかったりする場合だと思いますが、PUTOVRをつけた時点で、必ずフィールドには、OVRXXXが必要になるのです。まるで、OVRXXXで穴を空けた厚紙(PUTOVR)を画面に敷いて、見ているようなもので、その穴を開けるのを忘れたら、見えるのは厚紙の表面だけで、その下のデータは見れません。 また、この機能を使った場合は、OVRATRを指定しても、標識により、固定情報を同じ場所に表示することはできません。OVRDTA付きの表示フィールドを画面に出して、そこに固定情報を入れ込んで、プログラム内部で制御しつつ、表示してください。 あくまで表示ロジックのパフォーマンス向上だけがねらいのキーワードなので、無理矢理つけて、バグで悩むより、PUTOVR,OVRXXXは、外したほうがいいかもしれませんね。必要か否かは、ご自分で判断してください。
|
You are at K's tips-n-kicks of AS/400
|
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||