KO01 BAPI_INTERNALORDER_CREATE Create internal order

function zfm_erp_011.

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

*"*"Local interface:

*"  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. "Order description

    i_master_data-co_area = t_data-kokrs. "Control area

    i_master_data-order = t_data-aufnr.

    i_master_data-comp_code = t_data-bukrs.

    i_master_data-bus_area = t_data-gsber. "Business area

    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. "Responsible cost center

    i_master_data-in_charge_user = t_data-veraa_user. "The person in charge of the CO internal order

    i_master_data-request_cctr = t_data-akstl. "Request cost center

    i_master_data-currency = t_data-waers.

    i_master_data-applicant = t_data-user0. "Applicant

    i_master_data-application_date = t_data-user5. "Application date

    i_master_data-department = t_data-user6. "部门

 

* active

 

    i_master_datb-objectclass = t_data-scope. "Object class

    i_master_datb-inv_reason = t_data-izwek. "reason for investment

    i_master_datb-objectclass = t_data-scope. "Object class

 

    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 ='Success'.

    endif.

 

    modify t_data.

  endloop.

 

endfunction.

 

Guess you like

Origin blog.csdn.net/cylcylcylcylwo/article/details/113929589