Problem while changing Sales order using 'BAPI_SALESORDER_CHANGE'
Hi all,
Below is my code to update delivery block value:
FORM call_bapi_salesorder_change .
DATA: iv_bapi_view LIKE order_view.
DATA: gt_sales_doc TYPE STANDARD TABLE OF sales_key, " Document Numbers to Be Selected
gt_items TYPE STANDARD TABLE OF bapisdit. " Order Item Data for Document Numbers
*************************************************************8
DATA:order_headers_out LIKE bapisdhd OCCURS 0 WITH HEADER LINE.
DATA:order_header_inx LIKE bapisdh1x.
DATA: lv_salesdocument LIKE bapivbeln-vbeln.
data: lv_matnr(10) type c.
DATA:
gt_schdule TYPE STANDARD TABLE OF bapischdl, " for gl date & load date
gt_schdulex TYPE STANDARD TABLE OF bapischdlx, " for partner role and partner function.
gt_return TYPE STANDARD TABLE OF bapiret2,
gt_itemin TYPE STANDARD TABLE OF bapisditm,
gt_iteminx TYPE STANDARD TABLE OF bapisditmx ,
gt_bapisdh1 TYPE STANDARD TABLE OF bapisdh1.
DATA:gs_head_bapi TYPE bapisdh1x,
gs_schdule TYPE bapischdl,
gs_schdulex TYPE bapischdlx,
gs_return TYPE bapiret2,
gs_itemin TYPE bapisditm,
gs_iteminx TYPE bapisditmx,
gs_bapisdh1 TYPE bapisdh1.
CLEAR : gt_schdule,gt_schdulex,gs_return.
REFRESH gt_return.
gs_head_bapi-updateflag = 'U'.
SORT gt_final BY vbeln.
CLEAR gs_vbep.
REFRESH gt_vbep[].
CLEAR gs_final.
LOOP AT gt_final1 INTO gs_final.
gs_itemin-itm_number = gs_final-posnr.
*move gs_final-matnr to lv_matnr."qx94162
gs_itemin-material = gs_final-matnr.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = gs_final-matnr
IMPORTING
output = gs_final-matnr.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lv_matnr
IMPORTING
output = lv_matnr.
gs_itemin-material = lv_matnr.
gs_itemin-material = gs_final-matnr.
gs_iteminx-itm_number = gs_final-posnr.
gs_iteminx-updateflag = 'U'.""changed to I
gs_iteminx-material = 'X'.
" gs_schdule-req_dlv_bl = gs_final-lifsp. " Delivery block
gs_schdule-itm_number = gs_final-posnr.
gs_schdulex-itm_number = gs_final-posnr.
gs_schdule-sched_line = '0001'.
gs_schdulex-sched_line = '0001'.
MOVE gs_final-lifsp to gs_schdule-req_dlv_bl.
gs_schdule-req_dlv_bl = gs_final-lifsp.
gs_schdulex-req_dlv_bl = 'X'. " Delivery block
gs_schdulex-updateflag = 'U'.
gs_bapisdh1-sales_org = gs_final-vkorg.
APPEND gs_schdule TO gt_schdule.
APPEND gs_schdulex TO gt_schdulex.
APPEND gs_itemin TO gt_itemin.
APPEND gs_iteminx TO gt_iteminx.
Append gs_BAPISDH1 to gt_BAPISDH1.
lv_salesdocument = gs_final-vbeln.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = lv_salesdocument
ORDER_HEADER_IN = gs_BAPISDH1
order_header_inx = gs_head_bapi
SIMULATION =
BEHAVE_WHEN_ERROR = ' '
INT_NUMBER_ASSIGNMENT = ' '
LOGIC_SWITCH =
NO_STATUS_BUF_INIT = ' '
TABLES
return = gt_return
order_item_in = gt_itemin
order_item_inx = gt_iteminx
PARTNERS =
PARTNERCHANGES =
PARTNERADDRESSES =
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CFGS_BLOB =
ORDER_CFGS_VK =
ORDER_CFGS_REFINST =
schedule_lines = gt_schdule
schedule_linesx = gt_schdulex
ORDER_TEXT =
ORDER_KEYS =
CONDITIONS_IN =
CONDITIONS_INX =
EXTENSIONIN =
NFMETALLITMS =
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
REFRESH: gt_schdule, gt_schdulex, gt_itemin , gt_iteminx.
LOOP AT gt_return INTO gs_return.
WRITE / gs_return-message .
ENDLOOP .
ENDLOOP.
ENDFORM. " CALL_BAPI_SALESORDER_CHANGE
When I am using material value as 18342 using CONVERSION_EXIT_ALPHA_OUTPUT:
ORDER_HEADER_IN has been processed successfully
Material is not defined for sales org.A101, distr.chan.00, language DE
Error in ITEM_IN 000030
SCHEDULE_IN has been processed successfully
The sales document is not yet complete: Edit data
Sales document 5010000715 was not changed
and when I am using CONVERSION_EXIT_ALPHA_INPUT (000000000000018342)or while debuging when I am changing value to 0018342 :
I am getting below dump:
Runtime Errors DATA_LENGTH_0
Exception CX_SY_RANGE_OUT_OF_BOUNDS
Date and Time 21.10.2010 07:22:17
Information on where terminated
Termination occurred in the ABAP program "SAPLVBAK" - in
"MAP_VBAP_TO_BAPISDIT".
The main program was "RS_TESTFRAME_CALL ".
In the source code you have the termination point in line 168
of the (Include) program "LVBAK001".
The termination is caused because exception "CX_SY_RANGE_OUT_OF_BOUNDS"
occurred in
procedure "MAP_VBAP_TO_BAPISDIT" "(FORM)", but it was neither handled local
nor declared
in the RAISING clause of its signature.
The procedure is in program "SAPLVBAK "; its source code begins in line
99 of the (Include program "LVBAK001 ".
The same dump I am getting while executing this above BAPI from SE37 tcode with the same test data.
but I am able to change it though Va02 tcode.
Edited by: Arora26 on Oct 21, 2010 7:58 AM
Hi,
have you searched for OSS notes? The note 1137897 looks like related to your problem. It mentions different BAPI but I assume that both BAPI reuse same routines and therefore it might solve your problem as well.
Cheers
Similar Messages
-
Change sales order using BAPI_SALESORDER_CHANGE
Hi i want to add a new line item to the existing sales order using BAPI_SALESORDER_CHANGE
but when i am trying it is giving
'Schedule line 0001 for item 000020 does not exist ' error..
please help me..*********I wanted to add an new line item.***.. this is my code..********
LOOP AT gt_input3 INTO st_input3.
*Finding Max No of line Items
IF fl_set IS INITIAL.
READ TABLE gt_vbap INTO st_vbap WITH KEY vbeln = st_input3-vbeln.
IF sy-subrc EQ 0.
lv_posnr = st_vbap-posnr.
fl_set = 'X'.
ENDIF.
ENDIF.
*Populate Item details
lv_posnr = lv_posnr + 10.
lv_vbeln = st_input3-vbeln.
lv_order_header_inx-updateflag = 'U'.
st_order_item_in-itm_number = lv_posnr.
st_order_item_in-material = st_input3-matnr.
st_order_item_in-target_qty = st_input3-imv_qty.
st_order_item_in-plant = st_input3-werks.
st_order_item_in-store_loc = st_input3-lgort.
st_order_item_in-store_loc = st_input3-lgort.
APPEND st_order_item_in TO lt_order_item_in.
*Populate item updation Details
st_order_item_inx-itm_number = lv_posnr.
st_order_item_inx-updateflag = 'U'.
st_order_item_inx-material = 'X'.
st_order_item_inx-plant = 'X'.
st_order_item_inx-store_loc = 'X'.
st_order_item_inx-target_qty = 'X'.
APPEND st_order_item_inx TO lt_order_item_inx.
*Populate the Schedule Lines
st_schedule_lines-itm_number = lv_posnr.
st_schedule_lines-sched_line = '0001'.
st_schedule_lines-req_qty = st_input3-imv_qty.
APPEND st_schedule_lines TO lt_schedule_lines.
*Populate the update details of schedule lines
st_schedule_linesx-itm_number = lv_posnr.
st_schedule_linesx-sched_line = '0001'.
st_schedule_linesx-req_qty = 'X'.
st_schedule_linesx-updateflag = 'U'.
APPEND st_schedule_linesx TO lt_schedule_linesx.
AT END OF vbeln.
*Call BAPI Sales order change
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = lv_vbeln
order_header_inx = lv_order_header_inx
TABLES
return = lt_return
order_item_in = lt_order_item_in
order_item_inx = lt_order_item_inx
schedule_lines = lt_schedule_lines
schedule_linesx = lt_schedule_linesx.
*Save Sales Order
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
CLEAR lv_posnr.
READ TABLE lt_return INTO st_return WITH KEY type = 'E'.
st_ipfile_err3-message = st_return-message.
*Error Log
LOOP AT gt_temp3 INTO st_temp3.
IF st_ipfile_err3-message IS NOT INITIAL.
MOVE st_temp3-record TO st_ipfile_err3-record.
IF fl_set1 IS INITIAL.
APPEND st_temp_err TO gt_ipfile_err3.
fl_set1 = 'X'.
ENDIF.
APPEND st_ipfile_err3 TO gt_ipfile_err3.
ELSE.
APPEND st_temp3 TO gt_audit3.
ENDIF.
CLEAR : st_temp3,
st_temp_err,
st_ipfile_err3,
fl_set.
ENDLOOP.
REFRESH : gt_zrman, -
Problem while creating sales order using BAPI
Hi all,
i am creating a sales order from the purchase order data.
when my client will send a PO in EDI format, my 3rd party edi tool will convert that edi formatted PO to text format. then i will upload that text formatted PO to my program then i will create a SO from those uploaded PO data using BAPI BAPI_SALESORDER_CREATEFROMDAT2.
but,no sales order is being created.& also i am not getting any return message.by debugging also, i am not getting the error.plz suggest where i am doing mistake.below is the coding.
DATA:
gfilename LIKE rlgrap-filename.
*--Internal tables
DATA: BEGIN OF i_item OCCURS 50. "Create Material Document Item
INCLUDE STRUCTURE BAPISDITM .
DATA: END OF i_item .
DATA: BEGIN OF i_partner OCCURS 20. "Return parameter
INCLUDE STRUCTURE BAPIPARNR.
DATA: END OF i_partner.
DATA: BEGIN OF i_schedule OCCURS 20. "Return parameter
INCLUDE STRUCTURE BAPISCHDL .
DATA: END OF i_schedule.
DATA: BEGIN OF i_cond OCCURS 20. "Return parameter
INCLUDE STRUCTURE BAPICOND .
DATA: END OF i_cond.
DATA: BEGIN OF i_part OCCURS 0, " Internal table for split data
part(20),
END OF i_part.
DATA: BEGIN OF i_return OCCURS 20. "Return parameter
INCLUDE STRUCTURE bapiret2.
DATA: END OF i_return.
*-- Work areas
DATA: BEGIN OF wa_header . "sales Document Header Data
INCLUDE STRUCTURE BAPISDHD1.
DATA: END OF wa_header .
*DATA: BEGIN OF wa_return . "Output Structure
INCLUDE STRUCTURE BAPIRET2.
*DATA: END OF wa_return .
DATA: begin of sorder.
INCLUDE STRUCTURE BAPIVBELN.
DATA: end of sorder.
data:begin of t_upload,
ebeln(10), "PO no(seagate)
aedat like sy-datum , "PO date
bsart(4) , "PO type
vdatu like sy-datum , "requested delivery date
kunnr(10) , "customer no-sold-to-party
kunak like vbak-kunnr, "bill-to-party
name1_s(20), "name1 of sold-to-party
name2_s(15), "name2 of sold-to-party
land1_s(3), "country
ort01_s(10), "city
regio_s(3), "region(state/province)
pstlz_s(10), "postal code
adrnr_s(10), "address
bstkd_e(10), "end customer purchase order
posex(6), "end customer PO line no(item no)
kdmat(18), "end customer material no(part no)
kunag(10), "ship-to-party
name1_c(20), "name1 of ship-to-party
name2_c(15), "name2 of ship-to-party
land1_c(3), "country
ort01_c(10), "city
regio_c(3), "region(state/province)
pstlz_c(10), "postal code
adrnr_c(10), "address
posnr(6), "item no(seagate PO line no)
pstyv(4), "item category
matnr(18), "material no(seagate 9 digit part no)
zmeng(13), "Target quantity in sales unit
vrkme like vbap-vrkme, "sales unit
meins(3), "UOM
posnr_tot like vbap-posnr,"Total no. of line items
werks(4), "plant
vstel like vbap-vstel, "shipping point
empst(10), "receiving point
shtyp(4), "shipment type
route(6), "route
vsbed(2), "shipping conds
rkfkf like vbap-rkfkf, "method of billing for co/ppc orders
zterm(4), "terms of payment key
inco1(3), "F.O.B inco term1
inco2(3), "F.O.B inco term2
end of t_upload.
Data: wa_upload like t_upload,
i_upload like standard table of t_upload.
Data:v_kunnr like kna1-kunnr,
v_posnr like vbap-posnr,
v_matnr like vbap-matnr,
v_zmeng like vbap-zmeng,
v_kunag like kna1-kunnr.
*---Constants
CONSTANTS: c_comma TYPE c VALUE ',', " For splitting data at commas
c_01(2) TYPE c VALUE '01', " For movement code in Bapi
c_b TYPE c VALUE 'B', " For mvt. Indicator in Bapi
c_creat(5) TYPE c VALUE 'CREAT', " For button text
c_clear(5) TYPE c VALUE 'CLEAR', " For clear button
c_mvmt(4) TYPE c VALUE 'MVMT',
c_ok(2) TYPE c VALUE 'OK',
c_error(5) TYPE c VALUE 'Error'.
*--SELECTION SCREEN DESIGN--
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
PARAMETERS:
p_auart LIKE vbak-auart, " order type
p_vkorg LIKE vbak-vkorg, " sales org
p_vtweg LIKE vbak-vtweg, " dist channel
p_spart LIKE vbak-spart, " division
p_vkgrp LIKE vbak-vkgrp, " sales group
p_vkbur LIKE vbak-vkbur, "sales office
p_file(256) default 'c:/saleorder.txt'. "File name
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN PUSHBUTTON 15(10) v_create USER-COMMAND creat.
SELECTION-SCREEN PUSHBUTTON 40(10) v_clear USER-COMMAND clear.
INITIALIZATION -
INITIALIZATION.
v_create = c_creat .
v_clear = c_clear.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM selectfile USING p_file.
*--AT SELECTION_SCREEN--
AT SELECTION-SCREEN .
IF sy-ucomm = c_clear.
PERFORM f_clear.
ELSE.
IF sy-ucomm <> c_mvmt.
**--- Validating the input data.
PERFORM f_check_inputs.
ELSEif sy-ucomm = c_creat.
*--- Validating the input data.
PERFORM f_check_inputs.
*-- Uploading the PO data.
PERFORM f_PO_upload.
*---checking the PO data
PERFORM f_check_upload_data.
*---create sales order from PO data
PERFORM f_Sales_order_create.
ENDIF.
FORM f_PO_upload.
gfilename = p_file.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = gfilename
filetype = 'DAT'
TABLES
data_tab = i_upload
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc <> 0.
MESSAGE i398(00) WITH '(WS_UPLOAD)'
' Errors occured with exception '
sy-subrc.
ENDIF.
ENDFORM. " f_PO_upload
*& Form selectfile
text
-->P_P_FILE text
FORM selectfile CHANGING value(filename) TYPE c.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_filename = gfilename
def_path = 'C:\'
mask = ',*.txt.'
mode = 'O'
title = 'Select File Name'
IMPORTING
filename = filename
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
ENDFORM. " selectfile
FORM f_Sales_order_create.
PERFORM f_fill_header.
PERFORM f_fill_partner.
PERFORM f_fill_item.
PERFORM f_call_BAPI.
ENDFORM. " f_Sales_order_create
*& Form f_fill_header
text
--> p1 text
<-- p2 text
FORM f_fill_header.
move p_auart to wa_header-doc_type.
move p_vkorg to wa_header-sales_org.
move p_vtweg to wa_header-distr_chan.
move p_spart to wa_header-division.
move p_vkgrp to wa_header-sales_grp.
move p_vkbur to wa_header-sales_off.
Read table i_upload into wa_upload index 1.
move wa_upload-ebeln to wa_header-purch_no_c.
move wa_upload-aedat to wa_header-purch_date.
move wa_upload-bsart to wa_header-po_method.
move wa_upload-vdatu to wa_header-req_date_h.
move wa_upload-bstkd_e to wa_header-purch_no_s.
*move wa_upload-route to wa_header-route.
move wa_upload-vsbed to wa_header-ship_cond.
move wa_upload-empst to wa_header-rec_point.
move wa_upload-shtyp to wa_header-ship_type.
move wa_upload-zterm to wa_header-pmnttrms.
move wa_upload-inco1 to wa_header-incoterms1.
move wa_upload-inco2 to wa_header-incoterms2.
ENDFORM. " f_fill_header
*& Form f_fill_partner
text
--> p1 text
<-- p2 text
FORM f_fill_partner.
if not wa_upload-kunnr is initial.
select single kunnr from kna1 into v_kunnr
where kunnr = wa_upload-kunnr.
if sy-subrc <> 0.
Message E014 with 'customer does not exist'.
else.
move 'AG' to i_partner-partn_role.
move wa_upload-kunnr to i_partner-partn_numb.
move wa_upload-land1_s to i_partner-country.
move wa_upload-name1_s to i_partner-name.
move wa_upload-name2_s to i_partner-name_2.
move wa_upload-ort01_s to i_partner-city.
move wa_upload-regio_s to i_partner-region.
move wa_upload-pstlz_s to i_partner-postl_code.
move wa_upload-adrnr_s to i_partner-address.
append i_partner.
endif.
endif.
if not wa_upload-kunag is initial.
select single kunnr from kna1 into v_kunag
where kunnr = wa_upload-kunag.
if sy-subrc <> 0.
Message E015 with 'end customer does not exist'.
else.
move 'WE' to i_partner-partn_role.
move wa_upload-kunag to i_partner-partn_numb.
move wa_upload-land1_c to i_partner-country.
move wa_upload-name1_c to i_partner-name.
move wa_upload-name2_c to i_partner-name_2.
move wa_upload-ort01_c to i_partner-city.
move wa_upload-regio_c to i_partner-region.
move wa_upload-pstlz_c to i_partner-postl_code.
move wa_upload-adrnr_c to i_partner-address.
append i_partner.
endif.
endif.
ENDFORM. " f_fill_partner
*& Form f_fill_item
text
--> p1 text
<-- p2 text
FORM f_fill_item.
loop at i_upload into wa_upload.
if not wa_upload-matnr is initial.
select single maramatnr msegmenge into (v_matnr, v_zmeng) from
mara inner join mseg on maramatnr = msegmatnr
where mara~matnr = wa_upload-matnr.
if sy-subrc <> 0.
Message E016 with 'material no does not exist'.
elseif v_zmeng LT wa_upload-zmeng.
Message E017 with 'order quantity is greater than the quantity present'.
endif.
endif.
move wa_upload-posnr to i_item-itm_number.
move wa_upload-pstyv to i_item-item_categ.
move wa_upload-matnr to i_item-material.
move wa_upload-zmeng to i_item-target_qty.
move wa_upload-meins to i_item-target_qu.
move wa_upload-werks to i_item-plant.
*move wa_upload-meins to wa_vbap-meins.
*move wa_upload-posnr_tot to wa_vbap-posnr_tot.
move wa_upload-posex to i_item-po_itm_no.
move wa_upload-kdmat to i_item-cust_mat22.
move wa_upload-inco1 to i_item-incoterms1.
move wa_upload-inco2 to i_item-incoterms2.
move wa_upload-zterm to i_item-pmnttrms.
move wa_upload-empst to i_item-rec_point.
move wa_upload-shtyp to i_item-ship_type.
move wa_upload-route to i_item-route.
append i_item.
PERFORM f_fill_schedule_line.
PERFORM f_fill_conditions.
ENDLOOP.
ENDFORM. " f_fill_item
*& Form f_fill_schedule_line
text
--> p1 text
<-- p2 text
FORM f_fill_schedule_line.
move wa_upload-matnr to i_schedule-itm_number.
move sy-datum to i_schedule-req_date.
move wa_upload-zmeng to i_schedule-req_qty.
append i_schedule.
ENDFORM. " f_fill_schedule_line
*& Form f_fill_conditions
text
--> p1 text
<-- p2 text
FORM f_fill_conditions.
move wa_upload-matnr to i_cond-itm_number.
move sy-datum to i_cond-conpricdat.
append i_cond.
ENDFORM. " f_fill_conditions
*& Form f_clear
text
--> p1 text
<-- p2 text
FORM f_clear.
clear:p_auart,
p_vkorg,
p_vtweg,
p_spart,
p_vkgrp,
p_vkbur.
ENDFORM. " f_clear
*& Form f_call_BAPI
text
--> p1 text
<-- p2 text
FORM f_call_BAPI.
clear:i_item,i_partner,i_schedule.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
SALESDOCUMENTIN =
ORDER_HEADER_IN = wa_header
ORDER_HEADER_INX =
SENDER =
BINARY_RELATIONSHIPTYPE =
INT_NUMBER_ASSIGNMENT =
BEHAVE_WHEN_ERROR =
LOGIC_SWITCH =
TESTRUN =
CONVERT = ' '
IMPORTING
SALESDOCUMENT = sorder
TABLES
RETURN =
ORDER_ITEMS_IN = i_item
ORDER_ITEMS_INX =
ORDER_PARTNERS = i_partner
ORDER_SCHEDULES_IN = i_schedule
ORDER_SCHEDULES_INX =
ORDER_CONDITIONS_IN = i_cond.
ORDER_CFGS_REF =
ORDER_CFGS_INST =
ORDER_CFGS_PART_OF =
ORDER_CFGS_VALUE =
ORDER_CFGS_BLOB =
ORDER_CFGS_VK =
ORDER_CFGS_REFINST =
ORDER_CCARD =
ORDER_TEXT =
ORDER_KEYS =
EXTENSIONIN =
PARTNERADDRESSES =
if not ( sorder-vbeln is initial ).
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
write: /'Order number:', sorder.
else.
loop at i_return.
write: / i_return-id, i_return-number, i_return-message(80).
endloop.
*write: /'Error'.
endif.
*loop at i_return.
*write: / i_return-id, i_return-number, i_return-message(80).
*endloop.
ENDFORM. " f_call_BAPIHI
Pricing will be carried basing on the pricing
procedure.
Case1: Prices will be carried out automatically if
necessary condition records are maintained for the
condition type.
For this you can go to Sales Order-> Item Conditions
In the screen you can click on command button Analysis,
which gives you the list of condition types associated
to the pricing procedure. By clicking on the condition
type you can know the action that has taken place.
Case2: Manually forcing prices for Items.
To do this, you have to populate ORDER_CONDITIONS_IN &
ORDER_CONDITIONS_INX. Also note to identify the item
numbers, you manually pass the item number for each item
in the sales order, use the same item number for
populating conditions.
Parameters required:
ORDER_CONDITIONS_IN:
ITM_NUMBER, COND_TYPE, COND_VALUE, CURRENCY
ORDER_CONDITIONS_INX:
ITM_NUMBER, COND_TYPE, UPDATEFLAG, COND_VALUE,CURRENCY.
Hope the above info helps you. Do revert back if you
need more info.
Kind Regards
Eswar -
When trying to change a Sales order using BAPI_SALESORDER_CHANGE, I am getting the following error.
SD document 15704 is not in the database or has been archived.
Please let me know what could be the problemyou have the error message, which is self explanatory.
SD document 15704 is not in the database or has been archived.
if you knat that the sales document indeed exists, and the message is deceiving, then check why are yopu gettign that. maybe you didn;t provide the order# will leading zeros, or you are tryingto change an order immediately after creating, in which case DB commit might not be completed. -
Update ship-to partner in sales order using BAPI_SALESORDER_CHANGE
Dear all,
We are trying to update the ship-to partner in a sales order using BAPI_SALESORDER_CHANGE. This is working correctly for most of our orders, so we do fill the BAPI correctly. However for some of our orders on item level a different payer is specified than on header level. However in that case the BAPI will not update the ship-to partner, but given an error message VPD 034 u2018The document must contain the same credit control areas for all payersu2019. Debugging already learned that actually the message is given not because of different credit control areas, but due to the fact that the payers and therefore the credit customers are different (although in the same credit control areas). For this reason we can not update the ship-to party of a large number of our sales orders with this BAPI. Actually we have 2 questions:
· Has somebody experienced the same issue and did you manage to solve it somehow, so the BAPI could be used for this purpose of updating partner data?
· Do you know other ways of updating the partners or partner address of an existing sales order in the background?
Thanks in advance for your assistance.
Regards,
Satish.It was caused by standard SAP.
-
Error received while changing sales order.
Hi All,
while changing sales order we have received error message "An internal program error has occured.See note 44283".
So could you plesae explain me what needs to be done.
Thanks in advance.To avoid to store inconsistent data in the future, activate the following method of the BADI BADI_SD_SALES:
> 1 - Transaction SE18
> 2 - Definition name: BADI_SD_SALES Menu: Implementation -> Overview double-click on implementation: IM_CORE_CHECK
> 3 - Now you will get an overview on the methods and you see also that the implementation IM_CORE_CHECK is inactive
> 4 - Press the change button and activate
This check works in the following way:
> 1 - if the number of items is less than 10 and there is an inconsistency the system will not store the data and an A-message will occur.
> 2 - If the number of items is greater than 10 and less than 50 and there is an inconsistency the data will be stored and an I-message will occur.
> 3 - if the number of items is greater than 50 there is no check because performance.
Edited by: Gerard Magorrian on Aug 6, 2010 4:01 PM -
Problem in updating Billing plan while changing Sales order
Hi All,
I am using the BAPI 'BAPI_SALESORDER_CHANGE' to change a Prepaid Sale order.After calling this BAPI ,I am calling the function module <b>'BILLING_SCHEDULE_SAVE'</b> to update the Billing plan of the changed Sale order(Billing plan dates for Billing type ZF1 are changed).
The updated date values are getting reflected in the screen when I view through the transaction VA02 and the values are also updated in FPLT table but the values are not getting reflected in the table VKDFS.
Since the values are not getting reflectedin the table VKDFS the billing date is not correct while we view in the transaction VF04.
Please provide your valuable suggestions for updating the Billing date in VKDFS table.
Thanks in advance for your help.
Thanks and regards,
SivaHi,
I had the same problem. Here is an example code to resolve it:
REPORT ytestfg.
DATA: i_bsid LIKE bsid OCCURS 0,
i_bsid2 LIKE bsid OCCURS 0.
TABLES: bsid.
DATA: doc LIKE vbak-vbeln,
pos(6) TYPE n.
DATA e_fpla LIKE fpla.
DATA e_fplt LIKE fpltvb OCCURS 0 .
DATA: zfpla LIKE fplavb OCCURS 0,
zfplt LIKE fpltvb OCCURS 0.
DATA zfplt2 LIKE fpltvb OCCURS 0 WITH HEADER LINE.
doc = 'G03060619'.
pos = '000010'.
CALL FUNCTION 'SD_SALES_DOCUMENT_READ'
EXPORTING
document_number = doc.
CALL FUNCTION 'SD_SALES_BILLINGPLAN_READ'
EXPORTING
i_vbeln = doc
i_posnr = pos
IMPORTING
e_fpla = e_fpla
TABLES
e_fplt = e_fplt
EXCEPTIONS
no_billingplan_allowed = 1
no_billingplan_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Read the billing plan
CALL FUNCTION 'BILLING_SCHEDULE_READ'
EXPORTING
fplnr = e_fpla-fplnr
I_VFKDAT =
I_BFKDAT =
TABLES
zfpla = zfpla
zfplt = zfplt
Upddate the ZFPLT2 table with the new values
MOVE zfplt[] TO zfplt2[].
READ TABLE zfplt2 INDEX 1.
zfplt2-afdat = '20080927'.
Very important to set field updkz = 'U' ***
zfplt2-updkz = 'U'. "--> UPDATE!!
MODIFY zfplt2 INDEX 1.
CALL FUNCTION 'BILLING_SCHEDULE_SAVE'
TABLES
fpla_new = zfpla
fpla_old = zfpla
fplt_new = zfplt2 " --> NEW
fplt_old = zfplt.
CALL FUNCTION 'SD_SALES_DOCUMENT_SAVE'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
Regards,
Edited by: PHO_BA on Mar 9, 2009 5:28 PM -
Getting error in while changing sales order which is created using BAPI
Hi All,
I have created the sales order using BAPI ( BAPI_SALESORDER_CREATEFROMDAT1 ) and i am successfully creating sales order using this BAPI. But while i want to change sales order iam changing Shipping Conditions in Header Data of sales order .its giving an error .can any know any thing about this.
Error mesage : No status object is available for SDI 300082407/10 (Order Number/Item Number)
In Header i am passing these values ...
wa_order_header_in-doc_type = vbak-auart.
wa_order_header_in-sales_org = vbak-vkorg.
wa_order_header_in-distr_chan = vbak-vtweg.
wa_order_header_in-division = vbak-spart.
Do i required to pass the below values ? in Header structure ( BAPISDHEAD1 ).
REFOBJECTTYPE
REFOBJECTKEY
REFDOCTYPE
Regards,
Sudhakar Reddy Arectified
-
Confirmation Quantity issue while creating Sales order using BAPI
Hi SDN,
Can anyone of you help mein the below issue:
I have a program to create a sales order using upload file. for this i use "BAPI_SALESORDER_CREATEFROMDAT2" & for changing existing "BAPI_SALESORDER_CHANGE".
Now If the upload file contains the Same Material, Based on other conditions, it needs to create Multiple sales order.
When the first Salesorder is created, the Quantity is getting confirmed (Confirmed quantity VBEP-BMENG). But during actual run, since the confirmation is getting done for the same material in the above Sales order, the confirmation is not being done in the subsequent Sales order".
This poses a problem for business, user need to manual refresh the u201Cconfirmed quantity for each line item in the particular SO where it failed during program upload.
Also while uploading using the BAPI, if we wait forsometime after creating the first sales order in Debug, then the above material is unlocked & the confirmation quantity is done for the subsequent sales order also.
But in the actual run, this is creating a problem. Some Refresh or Unlocking problem.
Can you please suggest a suitable solution for this issue.
Thanks & regrads,
Chaitanya LBKHave you tried backorder processing?
V_V1
V_V2
V_RA
V_R1
V_R2 -
Setting user specific contract data while creating sales order using BAPI
Hi all,
I am creating sales order using BAPI - BAPI_SALESORDER_CREATEFROMDAT2.
Now my problem is that there is no structure for contract data (i.e. VEDA), system automatically set contract data using customization values.
I am doing some validations on cotract data in MV45AFZZ which fails, because these validations are performed on standard values, user specific values r not set.
How to handle this issue, your small clue may help a lot.
Regards,
S@meerHI
Pricing will be carried basing on the pricing
procedure.
Case1: Prices will be carried out automatically if
necessary condition records are maintained for the
condition type.
For this you can go to Sales Order-> Item Conditions
In the screen you can click on command button Analysis,
which gives you the list of condition types associated
to the pricing procedure. By clicking on the condition
type you can know the action that has taken place.
Case2: Manually forcing prices for Items.
To do this, you have to populate ORDER_CONDITIONS_IN &
ORDER_CONDITIONS_INX. Also note to identify the item
numbers, you manually pass the item number for each item
in the sales order, use the same item number for
populating conditions.
Parameters required:
ORDER_CONDITIONS_IN:
ITM_NUMBER, COND_TYPE, COND_VALUE, CURRENCY
ORDER_CONDITIONS_INX:
ITM_NUMBER, COND_TYPE, UPDATEFLAG, COND_VALUE,CURRENCY.
Hope the above info helps you. Do revert back if you
need more info.
Kind Regards
Eswar -
Error While Creating Sales Order Using OE_ORDER_PUB.PROCESS_ORDER
Hi All,
I am trying to create a sales order using oe_order_pub.process_order api..
The Procedure i had written is as follows.
CREATE OR REPLACE PROCEDURE TEST_PROC
AS
x_return_status VARCHAR2(250);
x_msg_count NUMBER;
x_msg_data VARCHAR2(250);
F varchar2(2000);
--out parameters
x_header_rec OE_Order_PUB.Header_Rec_Type;
x_header_val_rec OE_Order_PUB.Header_Val_Rec_Type;
x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
x_Header_Adj_val_tbl OE_Order_PUB.Header_Adj_Val_Tbl_Type;
x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
x_Header_Scredit_val_tbl OE_Order_PUB.Header_Scredit_Val_Tbl_Type;
x_line_tbl OE_Order_PUB.Line_Tbl_Type;
x_line_val_tbl OE_Order_PUB.Line_Val_Tbl_Type;
x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
x_Line_Adj_val_tbl OE_Order_PUB.Line_Adj_Val_Tbl_Type;
x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
x_Line_Scredit_val_tbl OE_Order_PUB.Line_Scredit_Val_Tbl_Type;
x_Lot_Serial_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
x_Lot_Serial_val_tbl OE_Order_PUB.Lot_Serial_Val_Tbl_Type;
x_action_request_tbl OE_Order_PUB.Request_Tbl_Type;
--in parameters
l_header_rec OE_Order_PUB.Header_Rec_Type;
t_line_tbl OE_ORDER_PUB.Line_Tbl_Type;
BEGIN
apps.mo_global.set_org_context(204,null,'ONT');
l_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC;
l_header_rec.ORG_ID := 204;
l_header_rec.ORDER_TYPE_ID := 1437;
l_header_rec.SOLD_TO_ORG_ID := 1290;
l_header_rec.SHIP_TO_ORG_ID:=1425;
l_header_rec.INVOICE_TO_ORG_ID:=1424;
l_header_rec.PRICE_LIST_ID := 1000;
l_header_rec.salesrep_id := 1006;
l_header_rec.ORDER_CATEGORY_CODE := 'MIXED';
l_header_rec.VERSION_NUMBER := 0;
l_header_rec.OPEN_FLAG := 'Y';
l_header_rec.BOOKED_FLAG := 'Y';
l_header_rec.PRICING_DATE := sysdate;
l_header_rec.TRANSACTIONAL_CURR_CODE := 'USD';
l_header_rec.created_by := FND_GLOBAL.USER_ID;
l_header_rec.creation_date := sysdate;
l_header_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
l_header_rec.LAST_UPDATE_DATE := sysdate;
l_header_rec.attribute1 := '250';
l_header_rec.operation := 'CREATE';
t_line_tbl(1) := OE_ORDER_PUB.G_MISS_LINE_REC; ---check
t_line_tbl(1).inventory_item_id := 193742;
t_line_tbl(1).ordered_quantity := 1;
t_line_tbl(1).operation := 'CREATE';
oe_debug_pub.initialize;
--oe_debug_pub.SetDebugLevel(1);
OE_MSG_PUB.INITIALIZE();
OE_Order_PUB.Process_Order
( -- p_org_id => 204,
--p_operating_unit => 'ONT',
p_api_version_number => 1.0,
p_init_msg_list => FND_API.G_TRUE,
p_return_values => FND_API.G_TRUE,
p_action_commit => FND_API.G_TRUE,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_header_rec => l_header_rec,
p_old_header_rec => OE_Order_PUB.G_MISS_HEADER_REC,
p_header_val_rec => OE_Order_PUB.G_MISS_HEADER_VAL_REC,
p_old_header_val_rec => OE_Order_PUB.G_MISS_HEADER_VAL_REC,
p_Header_Adj_tbl => OE_Order_PUB.G_MISS_HEADER_ADJ_TBL,
p_old_Header_Adj_tbl => OE_Order_PUB.G_MISS_HEADER_ADJ_TBL,
p_Header_Adj_val_tbl => OE_Order_PUB.G_MISS_HEADER_ADJ_VAL_TBL,
p_old_Header_Adj_val_tbl => OE_Order_PUB.G_MISS_HEADER_ADJ_VAL_TBL,
p_Header_price_Att_tbl => OE_Order_PUB.G_MISS_HEADER_PRICE_ATT_TBL,
p_old_Header_Price_Att_tbl => OE_Order_PUB.G_MISS_HEADER_PRICE_ATT_TBL,
p_Header_Adj_Att_tbl => OE_Order_PUB.G_MISS_HEADER_ADJ_ATT_TBL,
p_old_Header_Adj_Att_tbl => OE_Order_PUB.G_MISS_HEADER_ADJ_ATT_TBL,
p_Header_Adj_Assoc_tbl => OE_Order_PUB.G_MISS_HEADER_ADJ_ASSOC_TBL,
p_old_Header_Adj_Assoc_tbl => OE_Order_PUB.G_MISS_HEADER_ADJ_ASSOC_TBL,
p_Header_Scredit_tbl => OE_Order_PUB.G_MISS_HEADER_SCREDIT_TBL,
p_old_Header_Scredit_tbl => OE_Order_PUB.G_MISS_HEADER_SCREDIT_TBL,
p_Header_Scredit_val_tbl => OE_Order_PUB.G_MISS_HEADER_SCREDIT_VAL_TBL,
p_old_Header_Scredit_val_tbl => OE_Order_PUB.G_MISS_HEADER_SCREDIT_VAL_TBL,
p_line_tbl => t_line_tbl,
p_old_line_tbl => OE_Order_PUB.G_MISS_LINE_TBL,
p_line_val_tbl => OE_Order_PUB.G_MISS_LINE_VAL_TBL,
p_old_line_val_tbl => OE_Order_PUB.G_MISS_LINE_VAL_TBL,
p_Line_Adj_tbl => OE_Order_PUB.G_MISS_LINE_ADJ_TBL,
p_old_Line_Adj_tbl => OE_Order_PUB.G_MISS_LINE_ADJ_TBL,
p_Line_Adj_val_tbl => OE_Order_PUB.G_MISS_LINE_ADJ_VAL_TBL,
p_old_Line_Adj_val_tbl => OE_Order_PUB.G_MISS_LINE_ADJ_VAL_TBL,
p_Line_price_Att_tbl => OE_Order_PUB.G_MISS_LINE_PRICE_ATT_TBL,
p_old_Line_Price_Att_tbl => OE_Order_PUB.G_MISS_LINE_PRICE_ATT_TBL,
p_Line_Adj_Att_tbl => OE_Order_PUB.G_MISS_LINE_ADJ_ATT_TBL,
p_old_Line_Adj_Att_tbl => OE_Order_PUB.G_MISS_LINE_ADJ_ATT_TBL,
p_Line_Adj_Assoc_tbl => OE_Order_PUB.G_MISS_LINE_ADJ_ASSOC_TBL,
p_old_Line_Adj_Assoc_tbl => OE_Order_PUB.G_MISS_LINE_ADJ_ASSOC_TBL,
p_Line_Scredit_tbl => OE_Order_PUB.G_MISS_LINE_SCREDIT_TBL,
p_old_Line_Scredit_tbl => OE_Order_PUB.G_MISS_LINE_SCREDIT_TBL,
p_Line_Scredit_val_tbl => OE_Order_PUB.G_MISS_LINE_SCREDIT_VAL_TBL,
p_old_Line_Scredit_val_tbl => OE_Order_PUB.G_MISS_LINE_SCREDIT_VAL_TBL,
p_Lot_Serial_tbl => OE_Order_PUB.G_MISS_LOT_SERIAL_TBL,
p_old_Lot_Serial_tbl => OE_Order_PUB.G_MISS_LOT_SERIAL_TBL,
p_Lot_Serial_val_tbl => OE_Order_PUB.G_MISS_LOT_SERIAL_VAL_TBL,
p_old_Lot_Serial_val_tbl => OE_Order_PUB.G_MISS_LOT_SERIAL_VAL_TBL,
p_action_request_tbl => OE_Order_PUB.G_MISS_REQUEST_TBL,
x_header_rec => x_header_rec,
x_header_val_rec => x_header_val_rec,
x_Header_Adj_tbl => x_Header_Adj_tbl,
x_Header_Adj_val_tbl => x_Header_Adj_val_tbl,
x_Header_price_Att_tbl => x_Header_price_Att_tbl,
x_Header_Adj_Att_tbl => x_Header_Adj_Att_tbl,
x_Header_Adj_Assoc_tbl => x_Header_Adj_Assoc_tbl,
x_Header_Scredit_tbl => x_Header_Scredit_tbl,
x_Header_Scredit_val_tbl => x_Header_Scredit_val_tbl,
x_line_tbl => x_line_tbl,
x_line_val_tbl => x_line_val_tbl,
x_Line_Adj_tbl => x_Line_Adj_tbl,
x_Line_Adj_val_tbl => x_Line_Adj_val_tbl,
x_Line_price_Att_tbl => x_Line_price_Att_tbl,
x_Line_Adj_Att_tbl => x_Line_Adj_Att_tbl,
x_Line_Adj_Assoc_tbl => x_Line_Adj_Assoc_tbl,
x_Line_Scredit_tbl => x_Line_Scredit_tbl,
x_Line_Scredit_val_tbl => x_Line_Scredit_val_tbl,
x_Lot_Serial_tbl => x_Lot_Serial_tbl,
x_Lot_Serial_val_tbl => x_Lot_Serial_val_tbl,
x_action_request_tbl => x_action_request_tbl,
--For bug 3390458
p_rtrim_data => 'N',
p_validate_desc_flex => 'Y' -- bug4343612
COMMIT;
if x_msg_count > 0 then
for l_index in 1..x_msg_count loop
x_msg_data := oe_msg_pub.get(p_msg_index => l_index, p_encoded => F);
PRINT('x_msg_data: '||x_msg_data);
end loop;
end if;
-- Check the return status
if x_return_status = FND_API.G_RET_STS_SUCCESS then
PRINT('success');
else
PRINT('failure');
end if;
PRINT('x_return_status: '||x_return_status);
PRINT('x_msg_count: '||x_msg_count);
PRINT('x_msg_data: '||x_msg_data);
PRINT('x_header_val_rec: '||x_header_val_rec.accounting_rule);
PRINT('x_header_rec header_id: ' ||x_header_rec.header_id);
PRINT('x_header_rec order_number: ' ||x_header_rec.order_number);
PRINT('x_header_rec ship_to_org_id: ' ||x_header_rec.ship_to_org_id);
PRINT('x_header_rec payment_term_id: ' ||x_header_rec.payment_term_id);
PRINT('x_header_rec order_source_id: ' ||x_header_rec.order_source_id);
PRINT('x_header_rec order_type_id: ' ||x_header_rec.order_type_id);
PRINT('x_header_rec price_list_id: ' ||x_header_rec.price_list_id);
PRINT('x_header_rec invoicing_rule_id: ' ||x_header_rec.invoicing_rule_id);
PRINT('x_header_rec accounting_rule_id: ' ||x_header_rec.accounting_rule_id);
PRINT('x_header_rec org_id: ' ||x_header_rec.org_id);
PRINT('x_header_rec sold_to_org_id: ' ||x_header_rec.sold_to_org_id);
PRINT('x_header_rec invoice_to_org_id: ' ||x_header_rec.invoice_to_org_id);
PRINT('x_header_rec salesrep_id: ' ||x_header_rec.salesrep_id);
PRINT('x_header_rec invoice_to_org_id: ' ||x_header_rec.invoice_to_org_id);
PRINT('x_header_rec operation: ' ||x_header_rec.operation);
PRINT('x_header_rec transactional_curr_code: ' ||x_header_rec.transactional_curr_code);
PRINT('x_header_rec orig_sys_document_ref: ' ||x_header_rec.orig_sys_document_ref);
PRINT('x_header_rec request_date: ' ||x_header_rec.request_date);
PRINT('x_header_rec conversion_rate_date: ' ||x_header_rec.conversion_rate_date);
PRINT('x_header_rec last_update_date: ' ||x_header_rec.last_update_date);
PRINT('x_header_rec ordered_date: ' ||x_header_rec.ordered_date);
PRINT('x_header_rec creation_date: ' ||x_header_rec.creation_date);
PRINT('x_header_rec created_by: ' ||x_header_rec.created_by);
END;
It is throwing the following Error.
SQL> exec TEST_PROC;
x_msg_data: ORA-01403: no data found in Package OE_ORDER_WF_UTIL Procedure
Create_HdrWorkItem
x_msg_data: User-Defined Exception in Package OE_ORDER_WF_UTIL Procedure
Start_HdrProcess
failure
x_return_status: U
x_msg_count: 2
x_msg_data: User-Defined Exception in Package OE_ORDER_WF_UTIL Procedure
Start_HdrProcess
x_header_val_rec: Immediate
x_header_rec header_id: 156408
x_header_rec order_number: 64097
x_header_rec ship_to_org_id: 1425
x_header_rec payment_term_id: 4
x_header_rec order_source_id: 0
x_header_rec order_type_id: 1437
x_header_rec price_list_id: 1000
x_header_rec invoicing_rule_id: -2
x_header_rec accounting_rule_id: 1
x_header_rec org_id: 204
x_header_rec sold_to_org_id: 1290
x_header_rec invoice_to_org_id: 1424
x_header_rec salesrep_id: 1006
x_header_rec invoice_to_org_id: 1424
x_header_rec operation: CREATE
x_header_rec transactional_curr_code: USD
x_header_rec orig_sys_document_ref: OE_ORDER_HEADERS_ALL156408
x_header_rec request_date: 02-APR-09
x_header_rec conversion_rate_date:
x_header_rec last_update_date: 02-APR-09
x_header_rec ordered_date: 02-APR-09
x_header_rec creation_date: 02-APR-09
x_header_rec created_by: 13615
Any help on this would be appreciated.
I am using R12..Pl see if MOS Doc 117313.1 (Booking Order from Order Capture Errors at OE_ORDER_WF_UTIL) can help
HTH
Srini -
Problem while updating Item category using Bapi_salesorder_change
Hi,
Iam facing a probelm while updating item category using bapi Bapi_salesorder_change
In the Return table iam getting the folowing mesages.
Inforation mesage : Field 'PSTYV' cannot be changed, VBAPKOM 000010 ready for input
Error Message : Item 000010 cannot be processed.
Please find the code below
CLEAR wa_bapisdh1x.
wa_bapisdh1x-updateflag = 'U'.
CLEAR wa_order_item_inx.
wa_order_item_inx-itm_number = wa_vbap-posnr.
wa_order_item_inx-item_categ = 'X'.
wa_order_item_inx-UPDATEFLAG = 'U'.
APPEND wa_order_item_inx TO it_order_item_inx.
CLEAR wa_order_item_inx.
CLEAR wa_order_item_in.
wa_order_item_in-itm_number = wa_vbap-posnr.
wa_order_item_in-item_categ = 'ABC'.
APPEND wa_order_item_in TO it_order_item_in.
CLEAR wa_order_item_in.
CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
salesdocument = w_vbeln
order_header_inx = wa_bapisdh1x
TABLES
return = it_return
order_item_in = it_order_item_in
order_item_inx = it_order_item_inx
How can i correct it..
Regards
KumarActually iam facing a strange problem here.
When i copy the program into another sample program and execute it iam able to change both the item catgegory and delivery block for particular sales order and item number.
But in my main program i have BDC for MB1B transaction to create the material document.
Once the material document is created succesfully iam using BAPI Sales_order_change to change the item category and delivery block..
In my main program iam not to change the item catgeory getting an error field PSTYV cannot be changed.
But the same code is running percfectly in the copied one..
How can i correct that..
Regards
Kumar -
Change sales orders using ORDCHG Message type
Hi,
I am trying to test the changing of quantity on sales order items using message type ORDCHG and process code ORDC. In segment E1EDP01 the action code is set to 002 - item changes. However when the IDoc is posted a new line is created in the order rather than the existing one being changed. The action code in the header is set to 003 - one or more items changed. Does anybody know how to control the change of quantity for an existing item?
Many Thanks
CarolineHi,
Try to populate Logical message code 'CHG' in the EDIDC-MESCOD while you are creating the IDoc.
If a message code has been entered in the (inbound) partner profiles, the external system must fill the field during IDoc inbound processing.
Regards,
Yogesh -
Facing the problem while creating sales order
Hi,
I am facing the problem while saving the sales order.
Error in system xxx/400 while copying the document
Message no. CRM_ORDER_MISC 020
Diagnosis
Errors occurred while transferring the document into another system. To view the error messages, see the enclosed log.
Transmission log
u2022Product cannot be recoded for ERP System xxx/400(Notification E CRM_ORDER_MISC 015)
u2022Product cannot be recoded for ERP System xxx/400 (Notification E CRM_ORDER_MISC 015)
Kindly assist me.
MadhuHi Madhusadan,
Can you check whether the product exists in the ERP System or not? You can take the product names and can check the same using the Tcode: MM03 in ECC System. Also, it would be good if you have a look at the product from the CRM System if there are any errors or the product is already archived.
Is the Sales Order you are creating from a Preceding Transaction ?
Hope this helps.
Thanks,
Samantak. -
Problem while creating sales order
Hi
We are facing a problem while creating a sales order in R/3. The sales order number is getting generated. But we are not able to view the same in the backend meaning it is not there in the database. Any inputs would be of help.
regs
SteveHi everybody,
I've got a problem with this too. I use the BAPI_SALESORDER_CREATEFROMDAT2 with BAPI_TRANSACTION_COMMIT and the webdynpro shows me the document number created in R3 with a Success message. But when I go to R3 and try to display the created sales order, it doesn't exists. So... Maybe I'm doing something wrong with the BAPI_TRANSACTION_COMMIT. ¿Can anybody help me with this?
The code I use is this:
When the user pushes the SAVE button in the WebDynpro, this code executes:
//@@begin onActionSave(ServerEvent)
wdThis.wdGetSOCreaCustController().executeBapi_Salesorder_Createfromdat2();
wdThis.wdGetSOCreaCustController().executeBapi_Transaction_Commit();
//@@end
In the custom Controller I've got the code for those executions:
public void executeBapi_Salesorder_Createfromdat2( )
//@@begin executeBapi_Salesorder_Createfromdat2()
try {
wdContext.currentBapi_Salesorder_Createfromdat2Element().modelObject().execute();
catch (Exception ex) {
wdComponentAPI.getMessageManager().reportException(ex.getMessage(), false);
wdContext.nodeOutput().invalidate();
//@@end
public void executeBapi_Transaction_Commit( )
try {
wdContext.currentBapi_Transaction_CommitElement().modelObject().execute();
catch (Exception ex) {
wdComponentAPI.getMessageManager().reportException(ex.getMessage(), false);
wdContext.nodeOutput().invalidate();
//@@end
¿Is something wrong? ¿Is something missing?
Maybe you are looking for
-
How To See Color Profiles in LR2?
How can I see, within LR2, which Color Profile is embedded in JPEG and TIFF versions of my pix? The "Color Profile" field is provided in "Properties - Metadata" in Photoshop Elements, but I cannot find the "Color Profile" field in LR2 "Library - Met
-
I need to re install my printer to my laptop, but lost the disc for MX410.
I need to re install my printer to my laptop, but lost the disc for MX410.
-
Where does one get icons in Firefox to place in Short cuts created?
I created a desktop shortcut but want to change the Firefox world to something more appropriate.Where can I find icons. IE furnishes numerous alternate icons
-
Using skype on a shared computer
After using skype on a shared computer i dont want my id to remain in the skype sign in window. How to proceed. thks
-
Can't install other components after initial installation
I installed just Photoshop cs4 on my computer a few weeks ago. I then decided that I wanted to install flash and learn how to use it. Unfortunately it won't install... anything. It just fails. Any ideas why? Anyone experience this? Thanks!