最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

12.2.Q.画面命令のPUTOVRとOVRDTAの使い方が、よく分かりません。

[ Previous ] [ HOME ] [ Upper ] [ Next ]


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は、外したほうがいいかもしれませんね。必要か否かは、ご自分で判断してください。


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送