zoukankan      html  css  js  c++  java
  • PR修改例子

      DATA: lt_items_old    LIKE TABLE OF bapiebanv   WITH HEADER LINE.
      DATA: lt_items_new    LIKE TABLE OF bapiebanv   WITH HEADER LINE.
      DATA: lt_account_old  LIKE TABLE OF bapiebknv   WITH HEADER LINE.
      DATA: lt_account_new  LIKE TABLE OF bapiebknv   WITH HEADER LINE.
      DATA: lt_items        LIKE TABLE OF bapieban    WITH HEADER LINE.
      DATA: lt_account      LIKE TABLE OF bapiebkn    WITH HEADER LINE.
      DATA: lt_bapireturn   LIKE TABLE OF bapireturn  WITH HEADER LINE.
      DATA: t_eban LIKE eban OCCURS WITH HEADER LINE.
      DATA: t_ebkn LIKE ebkn OCCURS WITH HEADER LINE.

      CALL FUNCTION 'BAPI_REQUISITION_GETDETAIL'
        EXPORTING
          number             = lt_zmlprtopo-banfn
          account_assignment 'X'
        TABLES
          requisition_items  = lt_items.
    * requisition_account_assignment = lt_account.

      LOOP AT lt_items.
        MOVE-CORRESPONDING lt_items TO lt_items_old.
        MOVE-CORRESPONDING lt_items TO lt_items_new.
    *&->add.
    *& X-固定供应商
        IF lt_zmlprtopo-flag 'X'.
          lt_items_new-fixed_vend = lt_zmlprtopo-flief.
        ELSE .
          lt_items_new-des_vendor = lt_zmlprtopo-flief."期望供应商
        ENDIF.

        APPEND:lt_items_old, lt_items_new.
        CLEAR lt_items_old.
        CLEAR lt_items_new.
        CLEAR lt_items.
      ENDLOOP.

      CALL FUNCTION 'BAPI_REQUISITION_CHANGE'
        EXPORTING
          number                  = lt_zmlprtopo-banfn
        TABLES
          requisition_items_old   = lt_items_old
          requisition_items_new   = lt_items_new
          requisition_account_old = lt_account_old
          requisition_account_new = lt_account_new
          return                  = lt_bapireturn.
      READ TABLE lt_bapireturn WITH KEY type 'E'"or type = 'A'.
      IF sy-subrc EQ 0.
        l_flag 'X'.
        LOOP AT lt_bapireturn WHERE type 'E'.
          lt_zmlprtopo-req_qty_total '更改PR供应商失败!'.
          CONCATENATE lt_zmlprtopo-req_qty_total lt_bapireturn-message INTO lt_zmlprtopo-req_qty_total SEPARATED BY '&'.
        ENDLOOP.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

      ELSE.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
      ENDIF.

  • 相关阅读:
    理解vue数据驱动
    深入理解vue的watch
    Vue如何用虚拟dom进行渲染view的
    小程序开发-自定义组件的扩展
    让微信小程序页面之间的通信不在变得困难
    借鉴redux,实现一个react状态管理方案
    Vue的computed计算属性是如何实现的
    读redux有感: redux原来是这样操作的。
    web前端面试题记录
    前端知识理解的笔记
  • 原文地址:https://www.cnblogs.com/rainysblog/p/6408901.html
Copyright © 2011-2022 走看看