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

Problem while creating credit memo request using BAPI

Former Member
0 Likes
447

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.?

2 REPLIES 2
Read only

Former Member
0 Likes
352

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

Read only

Former Member
0 Likes
352

I solved this issue myselg using the FM, BAPI_SALESDOCUMENT_CREATE.. thanks fr th contribution...