更新表失败的校验保证数据100%更新

    TRY.
        INSERT yft10002 FROM TABLE lt_yft10002.
        COMMIT WORK AND WAIT.

        DO 10 TIMES.
          SELECT *
            FROM yft10002
            INTO TABLE  pt_yft10002
            FOR ALL ENTRIES IN lt_yft10002
          WHERE vbeln  = lt_yft10002-vbeln
            AND zvbeln = lt_yft10002-zvbeln
            AND zsntpl = lt_yft10002-zsntpl.

          lv_tab1 = lines( lt_yft10002 ).
          lv_tab2 = lines( pt_yft10002 ).
          IF lv_tab1 <> lv_tab2.
            WAIT UP TO 1 SECONDS.
            MODIFY  yft10002 FROM  TABLE lt_yft10002.
            COMMIT WORK AND WAIT.
          ELSE.
            EXIT.
          ENDIF.ENDDO.

 

posted @ 2023-04-25 10:12  YangMeiko  阅读(19)  评论(0)    收藏  举报