Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Create Internal Order - KO01

Former Member
0 Likes
3,102

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,218

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.

4 REPLIES 4
Read only

srikanthnalluri
Active Participant
0 Likes
2,218

Where used list for this BAPI might help you

Read only

Former Member
0 Likes
2,218

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?

Read only

Former Member
0 Likes
2,218

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.

Read only

Former Member
0 Likes
2,219

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.