‎2006 Sep 22 3:06 PM
Hi all,
kindly see the code below , for making a returns order by ref a bill doc eg following errors .
<b>S V4 233 SALES_HEADER_IN has been processed successfully
A /DCSEA/ZAIS_MSG 271 ZRCN cannot be executed on vehicle
E V4 248 Error in SALES_ITEM_IN 000010
E V1 205 Condition MWST cannot be processed manually
W V1 555 The sales document is not yet complete: Edit data</b>
*******************************************************
REPORT Z_TEST_COPY_CONDITION_IN_BAPI .
data : li_komv like komv occurs 0 with header line,
li_vbrk like vbrkvb occurs 0 with header line, "FC20060830
li_vbpa like vbpavb occurs 0 with header line, "FC20060830
li_vbrp like vbrpvb occurs 0 with header line. "FC20060830
DATA ls_bapi_view TYPE order_view.
DATA lt_salesdocuments TYPE TABLE OF sales_key.
DATA: lv_logic_switch TYPE bapisdls.
DATA lv_salesdocument TYPE bapivbeln-vbeln.
DATA lt_return TYPE TABLE OF bapiret2.
DATA lt_order_items_in TYPE TABLE OF bapisditm.
DATA lt_order_schedules_in TYPE TABLE OF bapischdl.
DATA lt_order_partners TYPE TABLE OF bapiparnr.
DATA lt_order_conditions_in TYPE TABLE OF bapicond.
DATA ls_order_header_in TYPE bapisdhd1.
DATA: ls_order_items_in TYPE bapisditm.
DATA ls_order_conditions_in TYPE bapicond.
DATA: ls_order_partners TYPE bapiparnr.
DATA: ls_order_schedules_in TYPE bapischdl.
DATA: ls_return TYPE bapiret2.
DATA: i_vbrk LIKE vbrk.
i_vbrk-vbeln = '0090005806'.
CALL FUNCTION 'RV_INVOICE_DOCUMENT_READ'
EXPORTING
ACTIVITY = ' '
KONV_READ = 'X'
NO_NAST = ' '
vbrk_i = i_vbrk
I_NO_AUTHORITY_CHECK = ' '
IMPORTING
VBRK_E =
VBUK_E =
tables
xkomv = li_komv
xvbpa = li_vbpa
xvbrk = li_vbrk
xvbrp = li_vbrp
XKOMFK =
XVBFS =
XTHEAD =
XVBSS =
EXCEPTIONS
NO_AUTHORITY = 1
OTHERS = 2.
IF NOT li_vbrk[] IS INITIAL.
READ TABLE li_vbrk INDEX 1.
ls_order_header_in-doc_type = 'ZR'.
ls_order_header_in-sales_org = li_vbrk-vkorg.
ls_order_header_in-distr_chan = li_vbrk-vtweg.
ls_order_header_in-division = li_vbrk-spart.
ls_order_header_in-ref_doc = li_vbrk-vbeln.
ls_order_header_in-ref_doc_l = li_vbrk-vbeln.
ls_order_header_in-refdoc_cat = 'M'.
ENDIF.
Read table li_vbrp index 1.
PERFORM add_items.
PERFORM add_schedules.
PERFORM add_conditions.
call function 'SD_SALESDOCUMENT_CREATE'
exporting
SALESDOCUMENT =
sales_header_in = ls_order_header_in
business_object = 'BUS2102'
importing
salesdocument_ex = lv_salesdocument
tables
return = lt_return
sales_items_in = lt_order_items_in
sales_partners = lt_order_partners
sales_schedules_in = lt_order_schedules_in
SALES_CONDITIONS_IN = lt_order_conditions_in.
LOOP AT lt_return INTO ls_return.
WRITE:/ ls_return-type,
ls_return-id,
ls_return-number,
ls_return-message.
ENDLOOP.
IF NOT lv_salesdocument IS INITIAL.
COMMIT WORK.
ENDIF.
&----
*& Form add_items
&----
FORM add_items .
ls_order_items_in-itm_number = '000010'.
ls_order_items_in-material = li_vbrp-matnr.
ls_order_items_in-ref_doc = '0090005806'.
ls_order_items_in-ref_doc_it = '000010'.
ls_order_items_in-ref_doc_ca = 'M'.
APPEND ls_order_items_in TO lt_order_items_in.
ENDFORM. " add_items
&----
*& Form add_conditions
&----
FORM add_conditions. " add conditions to item
LOOP AT li_komv.
ls_order_conditions_in-itm_number = '000010'.
ls_order_conditions_in-cond_unit = li_komv-kmein.
ls_order_conditions_in-cond_type = li_komv-kschl.
APPEND ls_order_conditions_in TO lt_order_conditions_in.
ENDLOOP.
LOOP at li_vbpa.
ls_order_partners-itm_number = li_vbpa-posnr.
ls_order_partners-partn_role = li_vbpa-PARVW.
ls_order_partners-partn_numb = li_vbpa-kunnr.
APPEND ls_order_partners TO lt_order_partners.
ENDLOOP.
ENDFORM.
&----
*& Form add_schedules
&----
FORM add_schedules . "add schedules to item
ls_order_schedules_in-itm_number = '000010'.
ls_order_schedules_in-req_qty = li_vbrp-lmeng.
ls_order_schedules_in-sched_line = '001'.
APPEND ls_order_schedules_in TO lt_order_schedules_in.
ENDFORM.
*************************************************
Actually ZRCN should not get executed here , i dont why the error ?Kindly help .. proimise to reward u adequatly.
Thanx & Warm Regards
Balwant
‎2006 Sep 22 3:18 PM
Please also pass the Reference document number to REF_DOC_L of QUOTATION_HEADER_IN parameter. do not pass the item number pass Reference document number only.
I_HEADER1-REF_DOC = <Reference Doc No>.
I_HEADER1-REF_DOC_L = <Reference Doc No>.
I_HEADER1-REFDOC_CAT = <Document Category>.
If your problem solved award the points.
‎2006 Sep 22 3:22 PM
Hi!
I don't know, which problem might be causing the ZRCN message, but in addition you copy ALL conditions - also MWST (and maybe some others), which should not be set manually (-> by your Bapi), but only searched by the system.
So don't copy MWST condition.
Regards,
Christian