‎2009 Aug 05 2:54 PM
HI,
I am trying to create credit memo request using the BAPI_SALESDOCU_CREATEFROMDATA1..
I am getting the error as " No customer master data is available for the customer". But the customer exists in the KNA1 table. What is the mistake i hv done.. this s my code..
REPORT ZSV_CREDITMEMO_TEST1.
Data declarations.
DATA: v_vbeln LIKE vbak-vbeln.
DATA: header LIKE bapisdhead1.
DATA: headerx LIKE bapisdhead1x.
DATA: item LIKE bapisditem OCCURS 0 WITH HEADER LINE.
DATA: itemx LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
DATA: partner LIKE bapipartnr OCCURS 0 WITH HEADER LINE.
DATA: return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
DATA: lt_schedules_inx TYPE STANDARD TABLE OF bapischdlx
WITH HEADER LINE.
DATA: lt_schedules_in TYPE STANDARD TABLE OF bapischdl
WITH HEADER LINE.
DATA: lt_schedules_ink TYPE STANDARD TABLE OF bapisdhead1
WITH HEADER LINE.
START-OF-SELECTION.
Header data
Sales document type
header-doc_type = 'G2'.
headerx-doc_type = 'X'.
Sales organization
header-sales_org = '0001'.
headerx-sales_org = 'X'.
Distribution channel
header-distr_chan = ''.
headerx-distr_chan = 'X'.
Division
header-division = ''.
headerx-division = 'X'.
headerx-updateflag = 'I'.
*Complete delivery
header-COMPL_DLV = ''.
header-COMPL_DLV = 'X'.
Partner data
Sold to
partner-partn_role = 'AG'.
partner-partn_numb = '0000C10130'.
APPEND partner.
Ship to
partner-partn_role = 'WE'.
partner-partn_numb = ''.
APPEND partner.
ITEM DATA
itemx-updateflag = 'I'.
Line item number.
item-itm_number = '000010'.
itemx-itm_number = 'X'.
Material
item-material = 'C20011'.
itemx-material = 'X'.
Plant
item-plant = ''.
itemx-plant = 'X'.
Quantity
item-target_qty = '10000'.
itemx-target_qty = 'X'.
item category
itemx-ITEM_CATEG = 'X'.
APPEND item.
APPEND itemx.
Fill schedule lines
lt_schedules_in-itm_number = '000010'.
lt_schedules_in-sched_line = '0001'.
lt_schedules_in-req_qty = '10000'.
APPEND lt_schedules_in.
Fill schedule line flags
lt_schedules_inx-itm_number = '000010'.
lt_schedules_inx-sched_line = '0001'.
lt_schedules_inx-updateflag = 'X'.
lt_schedules_inx-req_qty = 'X'.
APPEND lt_schedules_inx.
Call the BAPI to create the sales order.
CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
EXPORTING
sales_header_in = header
sales_header_inx = headerx
IMPORTING
salesdocument_ex = v_vbeln
TABLES
return = return
sales_items_in = item
sales_items_inx = itemx
sales_schedules_in = lt_schedules_in
sales_schedules_inx = lt_schedules_inx
sales_partners = partner.
Check the return table.
LOOP AT return WHERE type = 'E' OR type = 'A'.
EXIT.
ENDLOOP.
IF sy-subrc = 0.
WRITE: / 'Error in creating document'.
ELSE.
Commit the work.
COMMIT WORK AND WAIT.
WRITE: / 'Document ', v_vbeln, ' created'.
ENDIF.
********************************************************************************
can anyone tell what the error is.?
‎2009 Aug 05 3:28 PM
Hi
please look at code below code this succefully creating credit memo may some help to you
header-doc_type = 'ZS4'.
PERFORM get_plant.
headerx-doc_type = 'X'.
header-sales_org = wa_temp1-vkorg.
headerx-sales_org = 'X'.
header-purch_no = wa_temp1-bstnk.
header-distr_chan = wa_temp1-vtweg.
headerx-distr_chan = 'X'.
header-division = wa_temp1-spart.
header-purch_no_s = wa_temp1-bstnk.
headerx-division = 'X'.
wa_partner-partn_role = 'AG'.
wa_partner-partn_numb = wa_temp1-kunnr.
APPEND wa_partner TO it_partner.
wa_partner-partn_role = 'WE'.
wa_partner-partn_numb = wa_temp1-kunnr.
APPEND wa_partner TO it_partner.
CLEAR: wa_partner.
LOOP AT lt_temp2 INTO wa_temp2 WHERE kunnr = wa_temp1-kunnr.
"AND matnr = wa_temp1-matnr.
*wa_item-itm_number = wa_temp2-posnr .
wa_item-material = wa_temp2-matnr.
wa_item-plant = wa_temp2-werks.
wa_item-req_qty = wa_temp2-fkimg * 1000.
wa_item-target_qty = wa_temp2-fkimg * 1000.
APPEND wa_item TO it_item.
ENDLOOP.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT1'
EXPORTING
order_header_in = header
* WITHOUT_COMMIT = ' '
* CONVERT_PARVW_AUART = ' '
IMPORTING
salesdocument = v_vbeln
* SOLD_TO_PARTY =
* SHIP_TO_PARTY =
* BILLING_PARTY =
return = return
TABLES
order_items_in = it_item
order_partners = it_partner.
IF v_vbeln <> space.
wa_vbeln-vbeln = v_vbeln.
APPEND wa_vbeln TO lt_vbeln.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
HIDE wa_vbeln-vbeln.
CLEAR: wa_partner,header,v_vbeln, wa_temp2.
REFRESH: it_partner,it_item.
ELSE.
* LOOP AT return .
it_error-srno = idx.
it_error-err_msg = return-message.
APPEND it_error.
* ENDLOOP.
ENDIF.
idx = idx + 1.
ENDLOOP.Regards
‎2009 Aug 06 7:30 AM
I solved this issue myselg using the FM, BAPI_SALESDOCUMENT_CREATE.. thanks fr th contribution...