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.

  • 相关阅读:
    C++ for(char c:s)遍历字符串||for (char c : s)和for (char& c : s)的区别
    二维数组的查找--剑指offer(C++)
    C++学习笔记之--boolalpha
    在C++中matrix.size()和matrix [0] .size()之间的区别是什么?
    C3_note
    用webpack4从零开始构建react脚手架
    php
    正则表达式基础
    DOM
    常用H5
  • 原文地址:https://www.cnblogs.com/rainysblog/p/6408901.html
Copyright © 2011-2022 走看看