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

SD_SALESDOCUMENT_CREATE retuns error about VBRP

former_member295881
Contributor
0 Likes
1,830

Hello experts,

I've trying to create Credit and Debit memo's using SD_SALESDOCUMENT_CREATE but keep getting error that ''No data for document VBRP was retrieved from table (refer to the screen shot) and orders are not created.

For reference here is my code.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

DATA:   sales_doc_number      type bapivbeln-vbeln,
            lwa_order_header      like bapisdhd1,
            lit_order_item        type standard table of bapisditm initial size 0,
            lwa_order_item        type bapisditm,
            itemx                 like bapisditmx occurs 10 with header line,
            order_schedules_in    type standard table of bapischdl with header line,
            lit_order_partner     type standard table of bapiparnr initial size 0,
            lwa_order_partner     type bapiparnr,
            lit_order_condition   type standard table of bapicond  initial size 0,
            lwa_order_condition   type bapicond,
            lit_order_config_ref  type standard table of bapicucfg initial size 0,
            lwa_order_config_ref  type bapicucfg,
            lit_order_config_ins  type standard table of bapicuins initial size 0,
            lwa_order_config_ins  type bapicuins,
            lit_order_config_char type standard table of bapicuval initial size 0,
            lwa_order_config_char type bapicuval,
            li_return             type standard table of  bapiret2 initial size 0,
            lwa_return            like line of li_return,

"Fill order header data.
     lwa_order_header-doc_type   = 'ZCMR'."'ZSHP'.
     lwa_order_header-sd_doc_cat = 'L'.
     lwa_order_header-sales_org  = 'PR01'.
     lwa_order_header-distr_chan = '90'.
     lwa_order_header-division   = '90'.
     lwa_order_header-req_date_h = '20060710'.
     lwa_order_header-purch_date = '20061109'.
     lwa_order_header-po_method  = 'ZEDI'.
     lwa_order_header-ord_reason = 'Z01'.
     lwa_order_header-purch_no_c = 'MF#-12345'.
     lwa_order_header-ship_type  = 'Z1'.
     lwa_order_header-refobjtype = 'VBRK'.
     lwa_order_header-refobjkey  = '3000073117'.
     lwa_order_header-refdoctype = 'M'.

   "Fill order item data.
     lwa_order_item-itm_number = '000010'.
     lwa_order_item-hg_lv_item = '000000'.
     lwa_order_item-po_itm_no  = '000010'.
     lwa_order_item-material   = '000000000000000200'.
     lwa_order_item-plant      = 'P001'.
     lwa_order_item-target_qty = '1.000'.
     lwa_order_item-target_qu  = 'EA'.
     lwa_order_item-sales_unit = 'EA'.
     lwa_order_item-cust_mat35 = 'ASTEST06'.
     lwa_order_item-refobjtype = 'VBRK'.
     lwa_order_item-refobjkey  = '3000073117'.
     lwa_order_item-ref_doc_ca = 'M'.
       append lwa_order_item to lit_order_item.

     order_schedules_in-itm_number = '000010'.
     order_schedules_in-sched_line = '0001'.
     order_schedules_in-req_qty = '1.000'.
       append order_schedules_in.

     itemx-itm_number = '000010'.
     itemx-updateflag = 'I'.
     itemx-material  'X'.
     itemx-target_qty = 'X'.
     itemx-hg_lv_item = 'X'.
     itemx-po_itm_no  = 'X'.
     itemx-plant      = 'X'.
     itemx-target_qty = 'X'.
     itemx-target_qu  = 'X'.
     itemx-sales_unit = 'X'.
     itemx-cust_mat35 = 'X'.
     itemx-refobjtype = 'X'.
     itemx-refobjkey  = 'X'.
     itemx-ref_doc_ca = 'X'.
       append itemx.

   "Fill order partnre data.
     lwa_order_partner-partn_role = 'AG'.
     lwa_order_partner-partn_numb = '0000000651'.
     lwa_order_partner-itm_number = '000000'.
       append lwa_order_partner to lit_order_partner.

   "Fill order condition data

   "Fill order config reference data
     lwa_order_config_ref-posex     = '000010'.
     lwa_order_config_ref-config_id = '000010'.
     lwa_order_config_ref-root_id   = '00000001'.
       append lwa_order_config_ref to lit_order_config_ref.

   "Fill order config instances data
     lwa_order_config_ins-config_id  = '000010'.
     lwa_order_config_ins-inst_id    = '00000001'.
*    lwa_order_config_ins-obj_type   = 'MARA'.
*    lwa_order_config_ins-class_type = '300'.
*    lwa_order_config_ins-obj_key    = '000000000000000200'.
*    lwa_order_config_ins-quantity   = '1.000'.
*    lwa_order_config_ins-quantity_unit = 'EA'.
       append lwa_order_config_ins to lit_order_config_ins.

   "Fill order config values
     lwa_order_config_char-config_id = '000010'.
     lwa_order_config_char-inst_id   = '00000001'.
     lwa_order_config_char-charc     = 'PCH_DEST_PC'.
     lwa_order_config_char-value     = 'L6Z1A1'.
       append lwa_order_config_char to lit_order_config_char.

     lwa_order_config_char-config_id = '000010'.
     lwa_order_config_char-inst_id   = '00000001'.
     lwa_order_config_char-charc     = 'PCH_ORIGIN_PC'.
     lwa_order_config_char-value     = 'M5C1A1'.
       append lwa_order_config_char to lit_order_config_char.

     lwa_order_config_char-config_id = '000010'.
     lwa_order_config_char-inst_id   = '00000001'.
     lwa_order_config_char-charc     = 'PCH_ITEM_WEIGHT'.
     lwa_order_config_char-value     = '30'.
       append lwa_order_config_char to lit_order_config_char.


call function 'SD_SALESDOCUMENT_CREATE'
   exporting
     sales_header_in              = lwa_order_header
     status_buffer_refresh        = ' '
  importing
    salesdocument_ex              = sales_doc_number
  tables
    return                        = li_return
    sales_items_in                = lit_order_item
    sales_items_inx               = itemx
    sales_partners                = lit_order_partner
    sales_schedules_in            = order_schedules_in
*   SALES_SCHEDULES_INX           =
*   SALES_CONDITIONS_IN           =
*   SALES_CONDITIONS_INX          =
     "SALES_CFGS_REF                = lit_order_config_ref
     "SALES_CFGS_INST               = lit_order_config_ins
*   SALES_CFGS_PART_OF            =
     "SALES_CFGS_VALUE              = lit_order_config_char
*   SALES_CFGS_BLOB               =
*   SALES_CFGS_VK                 =
*   SALES_CFGS_REFINST            =
*   SALES_CCARD                   =
*   SALES_TEXT                    =
*   SALES_KEYS                    =
*   SALES_CONTRACT_IN             =
*   SALES_CONTRACT_INX            =
*   EXTENSIONIN                   =
*   PARTNERADDRESSES              =
*   SALES_SCHED_CONF_IN           =
*   ITEMS_EX                      =
*   SCHEDULE_EX                   =
*   BUSINESS_EX                   =
*   INCOMPLETE_LOG                =
*   EXTENSIONEX                   =
*   CONDITIONS_EX                 =
*   PARTNERS_EX                   =
*   TEXTHEADERS_EX                =
*   TEXTLINES_EX                  =
*   BATCH_CHARC                   =
*   CAMPAIGN_ASGN                 =
           .

     if sales_doc_number is not initial.
      call function 'BAPI_TRANSACTION_COMMIT'.
       write:/ sales_doc_number.
     else.
       loop at li_return into wa_return.
         write:/ wa_return-message.
       endloop.
     endif.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Can please anybody see what mistake I'm making and help me rectify it?

Many thanks in advance.

4 REPLIES 4
Read only

JJosh
Active Participant
0 Likes
1,640

This message was moderated.

Read only

FredericGirod
Active Contributor
0 Likes
1,640

Hi,

your error have a code ZPC, it's not a standard error message of SAP. So it must be set by an exit or a badi. Go in SE91, display the message error and use the button  USE CASE to find where this message was written in ABAP code.

regards

Fred

Read only

0 Likes
1,640

Good catch:)

Read only

former_member295881
Contributor
0 Likes
1,640

Many thanks guys for such a valuable input. I've spend a lot of time but code get's extremely complicated so debug.

I've tried to make sure that I'm passing the input tables/structures properly and made the following modifications but have one question. What I've to pass in  SD_SALESDOCUMENT_CREATE Export parameter (SALESDOCUMENT) for Credit memo? Any billing number or any other sales order?

-----------------------------------------------------------------------------------------------------------------------------------------

New code

"Fill order header data.
     lwa_order_headerx-updateflag = 'I'.
     lwa_order_header-doc_date    = sy-datum.
     lwa_order_headerx-doc_date   = 'X'.

     lwa_order_header-doc_type    = 'ZSHP'."'ZCMR'
     lwa_order_headerx-doc_type   = 'X'.

     "lwa_order_header-sd_doc_cat = 'L'.

     lwa_order_header-sales_org   = 'PR01'.
     lwa_order_headerx-sales_org  = 'X'.

     lwa_order_header-distr_chan  = '90'.
     lwa_order_headerx-distr_chan = 'X'.

     lwa_order_header-division    = '90'.
     lwa_order_headerx-division   = 'X'.

     lwa_order_header-req_date_h  = '20131212'.
     lwa_order_headerx-req_date_h = 'X'.

     lwa_order_header-purch_date  = sy-datum.
     lwa_order_headerx-purch_date = 'X'.

     lwa_order_header-po_method   = 'ZEDI'.
     lwa_order_headerx-po_method  = 'X'.

     lwa_order_header-ord_reason  = 'Z01'.
     lwa_order_headerx-ord_reason = 'X'.

     lwa_order_header-purch_no_c  = 'MF#-12345'.
     lwa_order_headerx-purch_no_c = 'X'.

     lwa_order_header-ship_type   = 'Z1'.
     lwa_order_headerx-ship_type  = 'X'.

*    lwa_order_header-refobjtype = 'VBRK'.
*    lwa_order_header-refobjkey  = '3000073117'.
*    lwa_order_header-refdoctype = 'M'.

   "Fill order item data.
     itemx-updateflag          = 'I'.
     lwa_order_item-itm_number = '000010'.
     itemx-itm_number          = '000010'.

     lwa_order_item-material   = '000000000000000200'.
     itemx-material            'X'.

     lwa_order_item-plant      = 'P001'.
     itemx-plant               = 'X'.

     lwa_order_item-item_categ = 'ZTAC'."'ZG2S'.
     itemx-item_categ          = 'X'.

     lwa_order_item-target_qty = '1.000'.
     itemx-target_qty          = 'X'.

     lwa_order_item-target_qu  = 'EA'.
     itemx-target_qu           = 'X'.

     lwa_order_item-sales_unit = 'EA'.
     itemx-sales_unit          = 'X'.

     lwa_order_item-hg_lv_item = '000000'.
     itemx-hg_lv_item          = 'X'.

     lwa_order_item-po_itm_no  = '000010'.
     itemx-po_itm_no           = 'X'.

     lwa_order_item-cust_mat35 = 'ASTEST06'.
     itemx-cust_mat35          = 'X'.

*    lwa_order_item-reason_rej = 'ASTEST06'.
*    itemx-reason_rej          = 'X'.
*    lwa_order_item-refobjtype = 'VBRK'.
*    lwa_order_item-refobjkey  = '3000073117'.
*    lwa_order_item-ref_doc_ca = 'M'.
       append lwa_order_item to lit_order_item.
       append itemx.

     order_schedules_in-itm_number  = '000010'.
     order_schedules_inx-itm_number = 'X'.

     order_schedules_in-sched_line  = '0001'.
     order_schedules_inx-sched_line = 'X'.

     order_schedules_in-req_qty  = '1.000'.
     order_schedules_inx-req_qty = 'X'.

*    order_schedules_in-req_date  = '1.000'.
*    order_schedules_inx-req_date = 'X'.
       append order_schedules_in.
       append order_schedules_inx.


   "Fill order partnre data.
     lwa_order_partner-partn_role = 'AG'.
     lwa_order_partner-partn_numb = '0000000651'.
     lwa_order_partner-itm_number = '000000'.
       append lwa_order_partner to lit_order_partner.

   "Fill order condition data

   "Fill order config reference data
     lwa_order_config_ref-posex     = '000010'.
     lwa_order_config_ref-config_id = '000010'.
     lwa_order_config_ref-root_id   = '00000001'.
       append lwa_order_config_ref to lit_order_config_ref.

   "Fill order config instances data
     lwa_order_config_ins-config_id  = '000010'.
     lwa_order_config_ins-inst_id    = '00000001'.
*    lwa_order_config_ins-obj_type   = 'MARA'.
*    lwa_order_config_ins-class_type = '300'.
*    lwa_order_config_ins-obj_key    = '000000000000000200'.
*    lwa_order_config_ins-quantity   = '1.000'.
*    lwa_order_config_ins-quantity_unit = 'EA'.
       append lwa_order_config_ins to lit_order_config_ins.

   "Fill order config values
     lwa_order_config_char-config_id = '000010'.
     lwa_order_config_char-inst_id   = '00000001'.
     lwa_order_config_char-charc     = 'PCH_DEST_PC'.
     lwa_order_config_char-value     = 'L6Z1A1'.
       append lwa_order_config_char to lit_order_config_char.

     lwa_order_config_char-config_id = '000010'.
     lwa_order_config_char-inst_id   = '00000001'.
     lwa_order_config_char-charc     = 'PCH_ORIGIN_PC'.
     lwa_order_config_char-value     = 'M5C1A1'.
       append lwa_order_config_char to lit_order_config_char.

     lwa_order_config_char-config_id = '000010'.
     lwa_order_config_char-inst_id   = '00000001'.
     lwa_order_config_char-charc     = 'PCH_ITEM_WEIGHT'.
     lwa_order_config_char-value     = '30'.
       append lwa_order_config_char to lit_order_config_char.

   clear l_logic_switch.
     l_logic_switch-cond_handl = 'X'.
       append l_logic_switch.


"Fill order header data.
     lwa_order_headerx-updateflag = 'I'.
     lwa_order_header-doc_date    = sy-datum.
     lwa_order_headerx-doc_date   = 'X'.

     lwa_order_header-doc_type    = 'ZSHP'."'ZCMR'
     lwa_order_headerx-doc_type   = 'X'.

     "lwa_order_header-sd_doc_cat = 'L'.

     lwa_order_header-sales_org   = 'PR01'.
     lwa_order_headerx-sales_org  = 'X'.

     lwa_order_header-distr_chan  = '90'.
     lwa_order_headerx-distr_chan = 'X'.

     lwa_order_header-division    = '90'.
     lwa_order_headerx-division   = 'X'.

     lwa_order_header-req_date_h  = '20131212'.
     lwa_order_headerx-req_date_h = 'X'.

     lwa_order_header-purch_date  = sy-datum.
     lwa_order_headerx-purch_date = 'X'.

     lwa_order_header-po_method   = 'ZEDI'.
     lwa_order_headerx-po_method  = 'X'.

     lwa_order_header-ord_reason  = 'Z01'.
     lwa_order_headerx-ord_reason = 'X'.

     lwa_order_header-purch_no_c  = 'MF#-12345'.
     lwa_order_headerx-purch_no_c = 'X'.

     lwa_order_header-ship_type   = 'Z1'.
     lwa_order_headerx-ship_type  = 'X'.

*    lwa_order_header-refobjtype = 'VBRK'.
*    lwa_order_header-refobjkey  = '3000073117'.
*    lwa_order_header-refdoctype = 'M'.

   "Fill order item data.
     itemx-updateflag          = 'I'.
     lwa_order_item-itm_number = '000010'.
     itemx-itm_number          = '000010'.

     lwa_order_item-material   = '000000000000000200'.
     itemx-material            'X'.

     lwa_order_item-plant      = 'P001'.
     itemx-plant               = 'X'.

     lwa_order_item-item_categ = 'ZTAC'."'ZG2S'.
     itemx-item_categ          = 'X'.

     lwa_order_item-target_qty = '1.000'.
     itemx-target_qty          = 'X'.

     lwa_order_item-target_qu  = 'EA'.
     itemx-target_qu           = 'X'.

     lwa_order_item-sales_unit = 'EA'.
     itemx-sales_unit          = 'X'.

     lwa_order_item-hg_lv_item = '000000'.
     itemx-hg_lv_item          = 'X'.

     lwa_order_item-po_itm_no  = '000010'.
     itemx-po_itm_no           = 'X'.

     lwa_order_item-cust_mat35 = 'ASTEST06'.
     itemx-cust_mat35          = 'X'.

*    lwa_order_item-reason_rej = 'ASTEST06'.
*    itemx-reason_rej          = 'X'.
*    lwa_order_item-refobjtype = 'VBRK'.
*    lwa_order_item-refobjkey  = '3000073117'.
*    lwa_order_item-ref_doc_ca = 'M'.
       append lwa_order_item to lit_order_item.
       append itemx.

     order_schedules_in-itm_number  = '000010'.
     order_schedules_inx-itm_number = 'X'.

     order_schedules_in-sched_line  = '0001'.
     order_schedules_inx-sched_line = 'X'.

     order_schedules_in-req_qty  = '1.000'.
     order_schedules_inx-req_qty = 'X'.

*    order_schedules_in-req_date  = '1.000'.
*    order_schedules_inx-req_date = 'X'.
       append order_schedules_in.
       append order_schedules_inx.


   "Fill order partnre data.
     lwa_order_partner-partn_role = 'AG'.
     lwa_order_partner-partn_numb = '0000000651'.
     lwa_order_partner-itm_number = '000000'.
       append lwa_order_partner to lit_order_partner.

   "Fill order condition data

   "Fill order config reference data
     lwa_order_config_ref-posex     = '000010'.
     lwa_order_config_ref-config_id = '000010'.
     lwa_order_config_ref-root_id   = '00000001'.
       append lwa_order_config_ref to lit_order_config_ref.

   "Fill order config instances data
     lwa_order_config_ins-config_id  = '000010'.
     lwa_order_config_ins-inst_id    = '00000001'.
*    lwa_order_config_ins-obj_type   = 'MARA'.
*    lwa_order_config_ins-class_type = '300'.
*    lwa_order_config_ins-obj_key    = '000000000000000200'.
*    lwa_order_config_ins-quantity   = '1.000'.
*    lwa_order_config_ins-quantity_unit = 'EA'.
       append lwa_order_config_ins to lit_order_config_ins.

   "Fill order config values
     lwa_order_config_char-config_id = '000010'.
     lwa_order_config_char-inst_id   = '00000001'.
     lwa_order_config_char-charc     = 'PCH_DEST_PC'.
     lwa_order_config_char-value     = 'L6Z1A1'.
       append lwa_order_config_char to lit_order_config_char.

     lwa_order_config_char-config_id = '000010'.
     lwa_order_config_char-inst_id   = '00000001'.
     lwa_order_config_char-charc     = 'PCH_ORIGIN_PC'.
     lwa_order_config_char-value     = 'M5C1A1'.
       append lwa_order_config_char to lit_order_config_char.

     lwa_order_config_char-config_id = '000010'.
     lwa_order_config_char-inst_id   = '00000001'.
     lwa_order_config_char-charc     = 'PCH_ITEM_WEIGHT'.
     lwa_order_config_char-value     = '30'.
       append lwa_order_config_char to lit_order_config_char.

   clear l_logic_switch.
     l_logic_switch-cond_handl = 'X'.
       append l_logic_switch.


if sales_doc_number is not initial.
      call function 'BAPI_TRANSACTION_COMMIT'.
       write:/ sales_doc_number.
     else.
       clear: wa_return.
       loop at li_return into wa_return.
         write:/ wa_return-message.
       endloop.
     endif.

-----------------------------------------------------------------------------------------------------------------------------------------

Again the issue is only when I try to create Credit or Debit Memo. Other types work fine.

Lastly how will I link my credit memo with original/reference sales order and billing doc (refer to the attached screen shot).

Because I don't think I pass billing and reference document anywhere.