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

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

よく使うマニュアルです

Wiki

updated on 2004.06.23

12.14.Q.名前/身長/体重の3つの配列で身長配列をソートした結果と他の配列を連動

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


例えば、名前/身長/体重の3つの配列があって、身長配列の中身をソートした結果と、他の2つの配列をリンクさせたいのですが、うまい方法がありません。


解決1:あくまで配列にこだわる場合

配列:

  1. NAM:名前
  2. TAL:身長
  3. WGH:体重
  4. WRK:作業

と準備して、

身長でソートする場合、

  1. WRKに 、TALを入れて、ソートします。
  2. WRK,1の内容で、TALをLOKUPして、その指標で、名前や体重の指標にセットして、内容を取り出します。
  3. 同じ内容が入っている場合に注意です。LOKUPは一回ではなくて、前回  見つかったら、その内容の次の指標から開始して、LOKUPする。

と言う具合にする。あとはこの繰り返し、で、最後の指標までWRKの内容で繰り返す。

別の方法も考えましょう。

以下は、配列にセットさせるはずのデータが、名前/身長/体重の3つのフィールドを1レコードとして、ワークファイルを作成したとします。

解決2:RPG内部で、CLRPFMして、作業ファイル作成して、そのまま、それを読み込む

  1. QTEMPとかに、ファイル準備。
  2. RPG内部で、UCで、CLRPFM -> OPENする。
  3. そのまま、READしてSFLを作成する。

解決3:RPG内部で、OPNQRYFをする

  1. RPG内部で、UCで、 OVRDBF SHARE(*YES) -> OPENする。このときの、 OPNQRYFでKEYFLD()を指定して、ソートする。(これだと、画面の指定で、ソートを自由に指定できるので、高機能に成りそうです。)
  2. そのまま、READしてSFLを作成する。

この方が簡単かもしれません。件数が多ければ、*FIRSTIOを指定してみて下さい。

2000-8-9


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

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

 

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