1. 程式人生 > >【轉載】對BP進行增強後(螢幕欄位擴充)後,如何通過BAPI建立BP

【轉載】對BP進行增強後(螢幕欄位擴充)後,如何通過BAPI建立BP

建立BP成功後,直接呼叫更改客戶的一般資料 函式進行更改,注意幾個輸入引數。

        CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL'
          EXPORTING
            I_KNA1 = LS_KNA1
            I_MAINTAIN_ADDRESS_BY_KNA1 = 'X'
            PI_POSTFLAG = 'X'
          IMPORTING
            O_KNA1 = O_KNA1

參考示例程式碼:

*&---------------------------------------------------------------------*
*& Report  Y_ERIC_CREATE_BP
*&
*&---------------------------------------------------------------------*

REPORT  y_eric_create_bp.

DATA: it_header TYPE bapibus1006_head OCCURS 0 WITH HEADER LINE.
DATA: it_centr  TYPE bapibus1006_central OCCURS 0 WITH HEADER LINE.
DATA: g_bp      LIKE bapibus1006_head-bpartner.
DATA: g_cat     LIKE bapibus1006_head-partn_cat VALUE '1'.
DATA: it_guid   LIKE bus000___i OCCURS 0 WITH HEADER LINE.
DATA: it_custo  LIKE bus000_eew OCCURS 0 WITH HEADER LINE.

DATA: i_centraldataperson LIKE bapibus1006_central_person OCCURS 0 WITH HEADER LINE.
DATA: t_centraldataperson LIKE bapibus1006_central_person OCCURS 0 WITH HEADER LINE.
DATA: i_times             TYPE n LENGTH 3 VALUE 1.

DO 10 TIMES.
  i_centraldataperson-firstname = 'xxxxxxxxxx'.
  CONCATENATE i_centraldataperson-firstname i_times INTO i_centraldataperson-firstname.
  i_centraldataperson-lastname = 'yyyyyyyy'.
  CONCATENATE i_centraldataperson-lastname i_times INTO i_centraldataperson-lastname.
  APPEND i_centraldataperson.
  i_times = i_times + 1.
ENDDO.

LOOP AT i_centraldataperson.
  CLEAR t_centraldataperson.
  REFRESH t_centraldataperson.
  MOVE-CORRESPONDING i_centraldataperson TO t_centraldataperson.
  APPEND t_centraldataperson.

  CALL FUNCTION 'BAPI_BUPA_CREATE_FROM_DATA'
    EXPORTING
      partnercategory   = g_cat
      centraldata       = it_centr
      centraldataperson = t_centraldataperson
    IMPORTING
      businesspartner   = g_bp.

  CALL FUNCTION 'BUP_MEMORY_BUT000_GET'
    EXPORTING
      iv_partner = g_bp
    IMPORTING
      es_but000  = it_guid.

  READ TABLE it_guid INDEX 1.

  CLEAR it_custo.
  REFRESH it_custo.
  it_custo-partnr_guid = it_guid-partner_guid.
  it_custo-zzdate = '20070819'.

  it_custo-zztstfd = '1'.
  APPEND it_custo.


  CALL FUNCTION 'BUPA_CENTRAL_CI_CHANGE'
    EXPORTING
      is_bus000_eew         =  it_custo
*   IS_BUS000_EEW_X       =
*   IV_XSAVE              = 'X'
* IMPORTING
*   ET_RETURN             =
            .


  WRITE: / g_bp.
ENDLOOP.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.  "可以寫在loop裡面