‎2019 Jul 31 3:29 PM
Hi,
I am trying to create Internal order and following are the fields that I have filled:
i_master_datb-objectclass = 'OCOST'.
i_master_data-order = 'Sankar4'. "Order Number
i_master_data-order_type = 'MSAR'. "Order Type
i_master_data-order_name = 'Internal order sample '. "Description
i_master_data-co_area = 'XX00'. "Controlling Area
i_master_data-comp_code = '001'. " Company Code
i_master_data-currency = 'USD'. "Order Currency
i_master_data-plant = '0135'. "Plant
*** BAPI for internal order
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 = e_orderid
TABLES
srules = srules
return = et_return.
Issue: BAPI is returning "Enter Order no'.
Let me know if I am missing any mandatory field that has to be filled.
Thanks in advance.
Regards,
Sankar Gelivi
‎2019 Aug 01 1:54 PM
Hi All,
Solution to create Internal order:
DATA: i_master_data LIKE bapi2075_7,
e_master_data LIKE bapi2075_2,
e_orderid LIKE bapi2075_2-order,
i_master_datb LIKE bapi2075_7b,
et_return TYPE bapiret2_t,
testrun LIKE bapi0012_gen-testrun,
srules TYPE TABLE OF bapi2075_6,
w_aufnr TYPE aufnr,
e_return_cm TYPE bapiret2.
i_master_datb-objectclass = 'OCOST'.
i_master_datb-statistical = abap_true.
i_master_data-order = 'GELIVI'. "Order Number
i_master_data-order_type = 'MSAR'. "Order Type
i_master_data-order_name = 'Internal order sample '. "Description
i_master_data-co_area = 'XX00'. "Controlling Area
i_master_data-comp_code = '001'. "Company Code
i_master_data-currency = 'USD'. "Order Currency
*** BAPI was enhanced and ABAP memory id was created.
EXPORT w_aufnr = i_master_data-order TO MEMORY ID 'ZAUFNR'.
IMPORT w_aufnr = w_aufnr FROM MEMORY ID 'ZAUFNR'.
CALL FUNCTION 'BAPI_INTERNALORDER_CREATE'
EXPORTING
i_master_data = i_master_data
testrun = testrun
i_master_datb = i_master_datb
IMPORTING
orderid = e_orderid
TABLES
return = et_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
return = e_return_cm.
‎2019 Jul 31 5:21 PM
‎2019 Aug 01 10:14 AM
The mandatory fields are determined by the order type configuration. Is external number range set for 'MSAR'? If yes can you check what happens if you enter the order ID in all upper case? Also what is the message class/number of the error returned?
‎2019 Aug 01 10:34 AM
Hi Gabor Marian,
There is an enhancement for the BAPI 'BAPI_INTERNALORDER_CREATE' which is clearing the value.
I have just added entry in the table 'ZFI_ENH_ACTIVE' with Status = space.
Now, i have see how to pass control that enhancement, without over writing the data.
‎2019 Aug 01 1:54 PM
Hi All,
Solution to create Internal order:
DATA: i_master_data LIKE bapi2075_7,
e_master_data LIKE bapi2075_2,
e_orderid LIKE bapi2075_2-order,
i_master_datb LIKE bapi2075_7b,
et_return TYPE bapiret2_t,
testrun LIKE bapi0012_gen-testrun,
srules TYPE TABLE OF bapi2075_6,
w_aufnr TYPE aufnr,
e_return_cm TYPE bapiret2.
i_master_datb-objectclass = 'OCOST'.
i_master_datb-statistical = abap_true.
i_master_data-order = 'GELIVI'. "Order Number
i_master_data-order_type = 'MSAR'. "Order Type
i_master_data-order_name = 'Internal order sample '. "Description
i_master_data-co_area = 'XX00'. "Controlling Area
i_master_data-comp_code = '001'. "Company Code
i_master_data-currency = 'USD'. "Order Currency
*** BAPI was enhanced and ABAP memory id was created.
EXPORT w_aufnr = i_master_data-order TO MEMORY ID 'ZAUFNR'.
IMPORT w_aufnr = w_aufnr FROM MEMORY ID 'ZAUFNR'.
CALL FUNCTION 'BAPI_INTERNALORDER_CREATE'
EXPORTING
i_master_data = i_master_data
testrun = testrun
i_master_datb = i_master_datb
IMPORTING
orderid = e_orderid
TABLES
return = et_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
return = e_return_cm.