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

Error in sales order creation using BAPI_SALESORDER_CREATEFROMDAT2

Former Member
0 Likes
545

Hi all,

Pl look into below code :

Here order is getting created , however ship to party and sold to party shows the same value.

*&----


*

*& Report ZSD_SALEORDCRE

*&

*&----


*

*&

*&

*&----


*

report zsd_saleordcre.

    • Order header:*

    • - Order type: OR Important you must use the german code TA*

    • - Sales org: 1000*

    • - Distrb. chan.: 10*

    • - Division: 00*

***

    • - Sold to party: 1032*

    • - Ship to party: 1032*

    • - Purch order: DG-19970626-3*

***

    • Order item:*

    • - Material: P-100*

    • - Qty: 1*

data:

    • Order partners*

li_order_partners type standard table of bapiparnr,

l_order_partners like bapiparnr,

    • Structures for order header*

l_order_header_in like bapisdhd1,

l_order_header_inx like bapisdhd1x,

    • Tables for order items*

li_order_items_in type standard table of bapisditm,

l_order_items_in like bapisditm,

li_order_items_inx type standard table of bapisditmx,

l_order_items_inx like bapisditmx,

    • schedules*

li_order_schedules_in type standard table of bapischdl,

l_order_schedules_in like bapischdl,

li_order_schedules_inx type standard table of bapischdl,

l_order_schedules_inx like bapischdl,

    • Return table from bapi call*

li_return type standard table of bapiret2,

l_return type bapiret2,

    • Sales document number*

l_vbeln like bapivbeln-vbeln,

    • Error flag*

l_errflag(1) type c.

start-of-selection.

*----


    • Build partner information*

*----


clear l_order_partners.

l_order_partners-partn_role = 'WE'. "Remember German codes !

l_order_partners-partn_numb = '0000000101'.

append l_order_partners to li_order_partners.

l_order_partners-partn_role = 'SP'. "Remember German codes !

l_order_partners-partn_numb = '0000000107'.

append l_order_partners to li_order_partners.

*----


    • Build order header*

*----


    • Update flag*

l_order_header_inx-updateflag = 'I'.

    • Sales document type*

l_order_header_in-doc_type = 'ZOD2'. "Remember German codes !

l_order_header_inx-doc_type = 'X'.

    • Sales organization*

l_order_header_in-sales_org = '1100'.

l_order_header_inx-sales_org = 'X'.

    • Distribution channel*

l_order_header_in-distr_chan = '20'.

l_order_header_inx-distr_chan = 'X'.

    • Division*

l_order_header_in-division = '10'.

l_order_header_inx-division = 'X'.

    • Purchase order*

l_order_header_in-purch_no_c = 'DG-19970626-300'.

l_order_header_inx-purch_no_c = 'X'.

l_order_header_in-purch_date = '20090817'.

l_order_header_inx-purch_date = 'X'.

*----


    • Build order item(s) - Only 1 is used in this example*

*----


l_order_items_in-itm_number = '10'.

l_order_items_inx-itm_number = 'X'.

l_order_items_in-material = '29019501AA'.

l_order_items_inx-material = 'X'.

l_order_items_in-plant = 'WH03'.

l_order_items_inx-plant = 'X'.

append l_order_items_in to li_order_items_in.

l_order_items_in-itm_number = '20'.

l_order_items_inx-itm_number = 'X'.

l_order_items_in-material = '29066641'.

call function 'CONVERSION_EXIT_ALPHA_INPUT'

exporting

input = l_order_items_in-material

importing

output = l_order_items_in-material.

l_order_items_inx-material = 'X'.

l_order_items_in-plant = 'WH03'.

l_order_items_inx-plant = 'X'.

append l_order_items_in to li_order_items_in.

l_order_items_inx-updateflag = 'I'.

append l_order_items_inx to li_order_items_inx.

l_order_schedules_in-itm_number = '10'.

l_order_schedules_in-req_qty = '10.00'.

append l_order_schedules_in to li_order_schedules_in.

l_order_schedules_in-itm_number = '20'.

l_order_schedules_in-req_qty = '20.00'.

append l_order_schedules_in to li_order_schedules_in.

*----


    • CALL Bapi*

*----


call function 'BAPI_SALESORDER_CREATEFROMDAT2'

exporting

order_header_in = l_order_header_in

order_header_inx = l_order_header_inx

testrun = ' '

importing

salesdocument = l_vbeln

tables

return = li_return

order_items_in = li_order_items_in

order_items_inx = li_order_items_inx

order_partners = li_order_partners

order_schedules_in = li_order_schedules_in.

    • order_schedules_inx = li_order_schedules_inx.*

end-of-selection.

*----


    • Check and write Return table*

*----


clear l_errflag.

write: / 'Sales dcoument: ', l_vbeln.

loop at li_return into l_return.

write: / l_return-type, l_return-message(50).

if l_return-type = 'E'.

l_errflag = 'X'.

endif.

endloop.

*----


    • No errors - Commit*

*----


if l_errflag is initial.

call function 'BAPI_TRANSACTION_COMMIT'.

endif.

What could be problem ?

Pl help

Regards

Nagarajan

4 REPLIES 4
Read only

Former Member
0 Likes
505

Hi,

The documentation of 'BAPI_SALESORDER_CREATEFROMDAT2' gives all info,

dont simply post your whole code, searched on SDN first

https://www.sdn.sap.com/irj/scn/advancedsearch?query=fucntionmoduletocreateP.Oscheduleagreeement

Thanks,

Krishna

Read only

nikhilkup
Active Participant
0 Likes
505

i am sorry but do you think people have so much of time to go thru ur whole code. please be specific with your questions. how is any one gonna understand such data related issues with out we having the actual data.

Read only

Former Member
0 Likes
505

Hi,

Go through this sample code



LOOP AT t_salesorder INTO wa_salesorder.
  t_header-sales_org = wa_salesorder-vkorg.
  t_header-distr_chan = wa_salesorder-vtweg.
  t_header-division = wa_salesorder-spart.
  t_header-doc_type = wa_salesorder-auart.
  APPEND t_header.
  t_headerx-sales_org = 'X'.
  t_headerx-distr_chan = 'X'.
  t_headerx-division = 'X'.
  t_headerx-doc_type = 'X'.
  APPEND t_headerx.
  t_itemx-material = 'X'.
  t_itemx-target_qty = 'X'.
  APPEND t_itemx.
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = wa_salesorder-kunnr
    IMPORTING
      output = wa_alpha-kunnr.
  wa_partner-partn_role = 'AG'.
  wa_partner-partn_numb = wa_alpha-kunnr.
  APPEND wa_partner TO t_partner.
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = wa_salesorder-kunnr1
    IMPORTING
      output = wa_alpha-kunnr1.
  wa_partner-partn_role = 'WE'.
  wa_partner-partn_numb = wa_alpha-kunnr1.
  APPEND wa_partner TO t_partner.
  wa_item-po_itm_no = wa_salesorder-bstnk.
  wa_item-itm_number = wa_salesorder-posnr.
  wa_item-material = wa_salesorder-matnr.
wa_item-target_qty = wa_salesorder-kwmeng.
  APPEND wa_item TO t_item.
    CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
      EXPORTING
        order_header_in  = t_header
        order_header_inx = t_headerx
      IMPORTING
        salesdocument    = gv_doc_no
      TABLES
        return           = t_return
        order_items_in   = t_item[]
        order_items_inx  = t_itemx
        order_partners   = t_partner[].

  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait   = 'X'
    IMPORTING
      return = t_return.
ENDLOOP.

Please paste only the portion of your code that gives you trouble.

Read only

0 Likes
505

Hi Nitwick

how do you paste the code in the way you have pasted above.