KO01 BAPI_INTERNALORDER_CREATE 创建内部订单

function zfm_erp_011.

*"----------------------------------------------------------------------

*"*"本地接口:

*"  TABLES

*"      T_DATA STRUCTURE  ZFM_ERP_011_DATA

*"----------------------------------------------------------------------

 

  loop at t_data.

 

    data i_master_data type bapi2075_7.

    data testrun       type bapi0012_gen-testrun.

    data i_master_datb type bapi2075_7b.

    data e_master_data type bapi2075_2.

    data orderid       type bapi2075_2-order.

    data e_master_datb type bapi2075_7b.

    data srules        type standard table of bapi2075_6.

    data lt_return        type standard table of bapiret2 with header line.

    data extensionin   type standard table of bapiparex with header line.

 

    i_master_data-order_type = t_data-auart.

    i_master_data-order_name = t_data-ktext. "订单描述

    i_master_data-co_area = t_data-kokrs. "控制范围

    i_master_data-order = t_data-aufnr.

    i_master_data-comp_code = t_data-bukrs.

    i_master_data-bus_area = t_data-gsber. "业务范围

    i_master_data-func_area = t_data-func_area.

    i_master_data-plant = t_data-werks.

    i_master_data-profit_ctr = t_data-prctr.

    i_master_data-respcctr = t_data-kostv. "负责的成本中心

    i_master_data-in_charge_user = t_data-veraa_user. "CO 内部订单的负责人

    i_master_data-request_cctr = t_data-akstl. "请求成本中心

    i_master_data-currency = t_data-waers.

    i_master_data-applicant = t_data-user0. "申请人

    i_master_data-application_date = t_data-user5. "申请日期

    i_master_data-department = t_data-user6. "部门

 

*    aktiv

 

    i_master_datb-objectclass = t_data-scope. "对象类

    i_master_datb-inv_reason = t_data-izwek. "投资原因

    i_master_datb-objectclass = t_data-scope. "对象类

 

    call function 'BAPI_INTERNALORDER_CREATE'

      exporting

        i_master_data = i_master_data

        testrun       = testrun

        i_master_datb = i_master_datb

      importing

        e_master_data = e_master_data

        orderid       = orderid

        e_master_datb = e_master_datb

      tables

        srules        = srules

        return        = lt_return

        extensionin   = extensionin.

    loop at lt_return where type ca 'AEX'.

      message id lt_return-id type lt_return-type number lt_return-number

      with lt_return-message_v1 lt_return-message_v2

       lt_return-message_v3 lt_return-message_v4

       into  data(lv_msg).

      t_data-rtmsg = t_data-rtmsg && lv_msg && ';'.

    endloop.

    if sy-subrc = 0.

      call function 'BAPI_TRANSACTION_ROLLBACK'.

      t_data-rtype = 'E'.

    else.

      call function 'BAPI_TRANSACTION_COMMIT'

        exporting

          wait = 'X'.

      t_data-rtype = 'S'.

      t_data-rtmsg = '成功'.

    endif.

 

    modify t_data.

  endloop.

 

endfunction.

 

猜你喜欢

转载自blog.csdn.net/cylcylcylcylwo/article/details/113929589
今日推荐