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

BAPI error...

Former Member
0 Likes
458

Hi experts!

Im having trouble in BAPI_SALESORDER_CREATEFROMDAT2.. and it says..

<b>Unpermitted combination of business object BUS2032 and sales doc. category</b>. How can i solved this problem.. below is my code..pls help its urgent.

DATA: v_vbeln LIKE vbak-vbeln,

bapisdhd1 LIKE bapisdhd1,

bapisdhd1x LIKE bapisdhd1x,

bapisditm LIKE bapisditm OCCURS 0 WITH HEADER LINE,

bapisditmx LIKE bapisditmx OCCURS 0 WITH HEADER LINE,

bapiparnr LIKE bapiparnr OCCURS 0 WITH HEADER LINE,

return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,

lt_schedules_inx TYPE STANDARD TABLE OF bapischdlx WITH HEADER LINE,

lt_schedules_in TYPE STANDARD TABLE OF bapischdl WITH HEADER LINE.

  • -- header

DATA: it_vbak LIKE STANDARD TABLE OF vbak,

wa_vbak LIKE vbak.

  • -- details

DATA: it_vbap LIKE STANDARD TABLE OF vbap,

wa_vbap LIKE vbap.

DATA: kunnr_soldto TYPE vbpa-kunnr,

kunnr_shipto TYPE vbpa-kunnr.

CLEAR: it_vbak,

it_vbap.

REFRESH: it_vbak,

it_vbap.

CHECK NOT scr0100-vbeln IS INITIAL.

SELECT * FROM vbak INTO TABLE it_vbak "header table for sales order

WHERE vbeln = scr0100-vbeln.

SELECT * FROM vbap INTO TABLE it_vbap "detail table for sales order

WHERE vbeln = scr0100-vbeln.

SELECT SINGLE kunnr FROM vbpa INTO kunnr_soldto "Ship to party

WHERE vbeln = scr0100-vbeln

AND parvw = 'AG'.

SELECT SINGLE kunnr FROM vbpa INTO kunnr_shipto "Sold to party

WHERE vbeln = scr0100-vbeln

AND parvw = 'WE'.

  • --! Order header data

LOOP AT it_vbak INTO wa_vbak.

bapisdhd1-doc_type = wa_vbak-auart.

bapisdhd1x-doc_type = 'X'.

bapisdhd1-sales_org = wa_vbak-vkorg.

bapisdhd1x-sales_org = 'X'.

bapisdhd1-distr_chan = wa_vbak-vtweg.

bapisdhd1x-distr_chan = 'X'.

bapisdhd1-division = wa_vbak-spart.

bapisdhd1x-division = 'X'.

bapisdhd1x-updateflag = 'I'.

CLEAR wa_vbak.

ENDLOOP.

  • --! partner function

bapiparnr-partn_role = 'AG'.

bapiparnr-partn_numb = kunnr_soldto.

APPEND bapiparnr.

bapiparnr-partn_role = 'WE'.

bapiparnr-partn_numb = kunnr_shipto.

APPEND bapiparnr.

  • --! item data

LOOP AT it_vbap INTO wa_vbap.

bapisditmx-updateflag = 'I'.

bapisditm-itm_number = wa_vbap-posnr.

bapisditmx-itm_number = 'X'.

bapisditm-hg_lv_item = wa_vbap-uepos.

bapisditmx-hg_lv_item = 'X'.

bapisditm-material = wa_vbap-matnr.

bapisditmx-material = 'X'.

bapisditm-plant = wa_vbap-werks.

bapisditmx-plant = 'X'.

APPEND: bapisditm,

bapisditmx.

clear wa_vbap.

ENDLOOP.

CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'

EXPORTING

  • SALESDOCUMENTIN = scr0100-vbeln

order_header_in = bapisdhd1

order_header_inx = bapisdhd1x

IMPORTING

salesdocument = scr0100-cbeln

TABLES

return = return

order_items_in = bapisditm

order_items_inx = bapisditmx

order_partners = bapiparnr.

  • ORDER_SCHEDULES_IN =

  • ORDER_SCHEDULES_INX =

  • ORDER_CONDITIONS_IN =

  • ORDER_CONDITIONS_INX =

LOOP AT return WHERE type = 'E' OR type = 'A'.

EXIT.

ENDLOOP.

IF sy-subrc <> 0.

COMMIT WORK AND WAIT.

ENDIF.

tnx! i hope someone can fix it...

2 REPLIES 2
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
372

You don't appear to be filling the sales document catagory in the header, make sure to fill this field too. It is field VBAK-VBTYP, make sure to fill the field in the BAPI header structure.

REgards,

RIch Heilman

Read only

Former Member
0 Likes
372

VBAK stores all sales documents, not just sales orders. So when you select from VBAK, you may selected some contracts of RFQs along with your sales orders and the BAPI you are using supports only sales orders.

Change your select statement to say VBTYP = 'C', then your current code should work.