新規投稿 記事一覧 ホーム
●ご利用方法,ご利用に際しての規約はこちらをお読みください。
こちらからの投稿は、先頭に表示されているコメントへの返信になります。
RE:複数キーがある場合のREADEの使い方 QQ さん [ 6月15日(火) 21時6分 ]

    SETLLは位置決めの為に一度行うものです。
    KEY1=B・KEY2=ABDの位置から読み始めなさい、とPGMに命令してます。
    ファイルにKEY3まで定義してあったとしても、KEY1・KEY2をキーリストに定義し
    SETLL・READEで問題ありません。
    むしろ今回の処理では、記述しない方がすっきりします。

    SETLL・READEでDOで回した時、に該当する一件目しか読み込まないというのであれば、
    ロジックを見直した方がいいかと思います。
    キーリスト
      KEY001 KLIST
          KFLD     KEY1
          KFLD     KEY2

    パターン1・・・IKDさんの記述した*HIVAL
      KEY001  SETLLFILEA
           DO  *HIVAL
        KEY001    READEFILEA                90
    90            LEAVE 
               処理
           ENDDO
    パターン2・・・DOWEQ
      KEY001  SETLLFILEA
        KEY001    READEFILEA                90
        *IN90     DOWEQ*OFF
                  処理
      KEY001    READEFILEA                90
                  ENDDO
    パターン3・・・DOUEQ
      KEY001    SETLLFILEA                
        *IN90     DOUEQ*ON
        KEY001    READEFILEA                90
        *IN90     IFEQ  *ON
                  処理
                  ELSE
                  処理
           ENDIF
                  ENDDO

    この何れかに該当するようロジックを見直してください。
    DOの回し方は好みが分かれるところですが、それぞれ特性を生かした
    記述を心がけて下さい。
    極力余計な記述をさけ、特性を生かしメンテナンスの向上を意識しましょう。
    尚、CHAIN・LOKUP・READなどの命令直前でフラグを*OFFにする必要もありません。

お名前
パスワード
e-mailアドレス
タイトル
ホームページ
アドレス