アプリ版:「スタンプのみでお礼する」機能のリリースについて

0001.00 READ PGM 91
0002.00 91 EXSR @shori

0050.00 MOVEL*HIVAL #KF01

っというような流れがあります。
#KF01というのはKFLDで指定してある、
キーフィールドのうちのひとつです。

この場合MOVEL*HIVALというのは何を意味しているのでしょうか?

A 回答 (3件)

RPGの場合は MOVE *HIVAL #KF01


だけではキーの中に最高値を入れているだけですので
それだけでは意味をなしません。
その後にキーによるSETLLやSETGTがあると思います。
そこで初めて次処理を何処からするか読み始める位置を
移動のみします。また、その後のREADから実際の処理が
始まります。
ファイルの並び順(降順・昇順)とSET○○と
READの種類により処理も変わってきます。
これらは余計な処理をしなくても良いように必要ない
データは読まないという処理に使用したり、READ
の場合一度ファイルを読むとそのまま同じファイルを
読もうとしても最後まで読まれているため1件も
読まれないということがあるためちゃんとファイルが
読めるようにというときに使用されます。
*LOVAL(最小値)も同じようなときに使用されます。

この回答への補足

アドバイスありがとうございます。
ずいぶんたつ質問ですがお付き合いいただきありがとうございます。
アドバイスを元に会社でソースリストを見直してみて、
SET○○やREADの流れを見て、再度記載したいと思います。

補足日時:2006/07/27 18:51
    • good
    • 0

>ところで今回の質問のような場合は*HIVALは何を意味しているのでしょうか?


HIVALUEの略で最高値(数値としての一番高い値です)をあらわしています。ですから変数に最高値を代入しているということです。
>RPGは簡単だとか言われていますが、
プログラムを本格的に行った事がないので疑問点がたくさんです。
AS/400は、職場からなくなって5年以上たっていますのでRPGの記憶もだんだん薄れてきています。(決してダウンしないことだけは覚えています)

この回答への補足

アドバイスありがとうございます。
最高値というのは実データ内の一番大きな数値という意味ですか?
それとも変数の中に入っているのでは「一番大きな数値ですよ。」という意味で使うのでしょうか?
ちょっと質問はわかりづらくてすみません。

補足日時:2006/07/27 18:49
    • good
    • 0

想像ですが、


この後で#KF01に値をセットする処理があり
その処理ができているかどうかを判定するためではないでしょうか。
普通は、*HIVALをセットすることはありませんから。

この回答への補足

アドバイスありがとうございます。
ところで今回の質問のような場合は*HIVALは何を意味しているのでしょうか?

DO *HIVAL

とかだと、降順に順次読んでいくとかの意味だったような気がするのですが?

RPGは簡単だとか言われていますが、
プログラムを本格的に行った事がないので疑問点がたくさんです。

補足日時:2006/07/18 08:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています