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.

  • 相关阅读:
    PAT 乙级真题 1013.组个最小数
    PAT 乙级真题 1012.D进制的A+B
    PAT 乙级真题 1011.个位数统计
    PAT 乙级真题 1010.月饼
    PAT 乙级真题 1009.1019.数字黑洞
    PAT 乙级真题 1008.锤子剪刀布
    PAT 乙级真题 1007.A除以B
    PAT 乙级真题 1006.1016.部分A+B
    C++自定义sort函数
    VS2017如何使用scanf函数
  • 原文地址:https://www.cnblogs.com/rainysblog/p/6408901.html
Copyright © 2011-2022 走看看