• ベストアンサー

RPGの配列について

0040.00 E NMK 20 1 0200.00 C MOVELP1NMK NMK 0201.00 C* 0202.00 C 1 DO 20 Y 20 0203.00 C NMK,Y IFEQ *BLANK 0204.00 C MOVEL*HIVAL NMK,Y 0205.00 C ENDIF 0206.00 C ENDDO 0207.00 C* 0208.00 C SETOF 92 0209.00 C P1NMK SETLLEDTML01 0210.00 C* 0211.00 C *IN92 DOWEQ*OFF 0212.00 C READ EDTML01 92 0213.00 C TMNMK IFGT NMK 0214.00 C SETON 92 ・・・・・ こんな感じでやっているんですが213行目のところでコンパイル落ちちゃいます・・・ エラーでは 指定された演算命令に対して演算項目2の配列名が正しくない とでます ちなみにTMNMKはカナ名称属性Aで20桁です。 演算項目2に配列名を入れることは無理なのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • taranko
  • ベストアンサー率21% (516/2403)
回答No.2

>0213.00 C TMNMK IFGT NMK ここで20桁のものと、1桁を比べれるか自体やったことが無いので わからないのですが、演算項目2に配列名を入れることは可能です。 E AR6 3 5 1 C 1 DO 3 A C WSJYUR IFLE AR6,A C 処理 C ENDDO このように配列の数だけループさせて調べる方法があります。 hisajiroさんの場合は配列の何番目を使って調べたら良いのか 指定されていなかったのでコンパイルエラーになったのでは 無いでしょうか(,A)の部分です。 いかがでしょうか。

hisajiro
質問者

お礼

0040.00 E NMK 20 1 0052.00 I DS 0053.00 I 1 20 NMK 0054.00 I 1 20 P1NMK 0055.00 I 1 20 WNMK これでやってみたらうまくいきました。 ありがとうございます^^

その他の回答 (1)

  • miria
  • ベストアンサー率33% (17/51)
回答No.1

目的が良く分からないプログラムですが この場合の演算横目2は NWK,x の形をとるか 事前にMOVEA コマンドで配列全体を変数に移送しておくと良いのではないでしょうか。 TMNNKと比較する配列のブランクを事前に*HIVILに置き換える意味も良く分かりません。 AS/400にはINFOSEEKERが導入されていれば マニュアルと同等の内容が検索できますのでご確認下さい。 蛇足ですがこのサイトでAS/400 RPGの回答が得られるのは機会が少ないと思いますので AS/400関連のFAQサイト等を検索されてはいかがでしょうか。

hisajiro
質問者

お礼

ありがとうございます。 このプログラム自体は名称の類似検索の為に組んでいるものです。 このサイトでもAS/400関連の回答は結構あるので役にたっています^^ また何かあったらお願いします

関連するQ&A