Help in modifying create sales order - update value during idoc import
Hi,
I have been asked to modify the process of creating a sales order when an idoc comes through. The basic requirement is to update a value in the sales order item (VBKD-BSTKD_E) with a value from the Idoc (in segment E1EDP02).
I have never mapped inbound documents before and I was wondering if anyone could help me. I think I have idnetified the right enhancement VEDA0001 - EXIT_SAPLVEDA_001 but I am not sure what the syntax should be.
Does anyone have any idea - or pointers where I could create this solution. I even tried to put a break-point into the customer exit - but it seems to be ignoring the code!
Would appreciate anybodies help
Paul
hi Paul,
I need to enhance FM u201CIDOC_INPUT_ORDERSu201D. So I had created the new project ZDEV_VEDA via tcode CMOD and under this new project, I assigned the VEDA0001 enhancement. I wanted to enhance Function exit EXIT_SAPLVEDA_001 (INCLUDE ZXVEDU03). But I had encountered this message:
Program names ZX... are reserved for includes of exit function groups. Message no. DS027
Any ideas what is this about? Appreciate so much.
TQ.
Similar Messages
-
XI IDOC ORDERS04 create sales order update VBKD_BSARK
Hello
I have created a sales order interface from an external partner who sends a file (Purchase order), XI reads and transfers to R/3 via IDOC ORDERS04 to create the sales order. this works fine, but i need the purchase order type field VBKD-BSARK to be updated for further processing of order confirmations and deliveries (the customer also has manual orders created which are handled differently).
in the XI mapping i have mapped the required entry for VBKD-BSARK into E1EDP02-BSARK, but it does not work. I notice that this is at line itme level. i have had a good look through the segements in ORDERS04 but I cannot find any reference to PO type.
I also tried mapping the required data to E1EDK14 'QUALF'=013 .. this did not work either. i use FM IDOC_INPUT_ORDERS and can only find reference to vbap-bsark but this is not working. it always takes the default setting.
Does anyone have any ideas? I have to use ORDERS04 as we have user enhancements for sales orders that are not available with SALESOREDERCREATEFROMDAT2. which may work ok.
cheers
NickHi,
Can u tell me the steps to create a sales order using idoc, i've created a bapi but thats a temprory use. I wanted to created a sales order automatically when a purchase order is saved after data entry is completed.
Please let me know if u can help me, i wanted to do it using idoc
Regards
Sanju -
How create sales order with respect to an idoc?
hi ,
does any one know how to create a sales order using an idoc number ?
thanks
mmnHi refer below Reward if helps
XI IDOC ORDERS04 create sales order update VBKD_BSARK
For creating sales documents (sales order) through IDOCS you will have to use the T code WE19. In that click basic type and enter order05(IDOC type) and select via message type then enter ORDERS(message type), click execute.
You will get to see many fields.here you have to enter the datas that you enter in the VA01 screen in order to create sales order. The datas such as material name, date, qty, P.O no etc. After entering all the datas, you click standard inbound the IDOC would be created by the system.You can see the created order by going in to VA03 screen.
Next time when you create the IDOC, in same tcode WE19 screen, click existing IDOC and enter the IDOC which you created in the above step and just change the P.O no.Sytem will create new sales order through new IDOC
Before doing all you need to maintain the partner profile in T code WE20. For this Discuss with EDI consultant. -
Updating price in already created sales order
Hi all,
I have an issue. When we create sales order, system will display current date pricing on sales order, for example total value of sales order is 9000. Now before delivery, prices change and we have to manually update price on sales order individually. Is there any report available that can update price of all already created sales orders instead of going on sales order and update one by one.
Please respond.
Best Regards,
AI.Hello,
You can update the pricing for all the created orders at a time in VA05 .
Goto Transaction code VA05 and give all the sales orders and then in the MENU click on
EDIT->MASS CHANGE>NEW PRICING
And update the New pricing, then will carry out new pricing for all the sales orders at a time.
OR,
There is also one function module SD_BULK_CHANGE , Create your own Query in SQV1 and make changes.
Hope it will resolve , Please revert if you need further details
thanks,
santosh -
How to avoid XVBPA line item values while creating sales order
Hi Friends
I am creating Sales order using function module IDOC_INPUT_ORDERS, for that I am passing partner details through segment E1EDKA1.If I pass the same partner details(Partner number, name1,name4,city,postel code) which is same like customer master,
I can able to book the order and entries are coming only one time in VBPA table(Header Item level).But if I change any value for the particular partner in the Input(For example Name4, there is no value in customer master but I added through program).Now its creating an order but its showing the entered partner informations in header level.When I checked the same in line item level, its not picking the values from header, its picking the values from customer master for that particular partner.
So this line item also coming in VBPA table, because its different from header data.
Anyone guide me, how to avoid this problem while booking order through program.
Thanks
GowrishankarI am updating Ship-To-Party value in segment E1EDKA1 and calling IDOC_INPUT_ORDERS function module to create the sales order.
In this case for the particular partner there is no NAME4 value in KNA1, I am passing some value through this segment E1EDKA1.
So its creating an order with this new addresses , so its generating new ADRNR in VBPA header level.Thats fine.But the same time
its not copying the same value from header to line item.
In Line item level again its picking the address details from KNA1 for the particular partner number.So its showing Blank value in NAME4 field of line items.Its creating and spllitting issue, while creating delivery.
Thanks
Gowrishankar -
How to manual maintain TAX condition value while creating sales order
Hi
I am creating one Tax condition suppose JLST without access sequence .
while creating sales order I am manually maintain the % value of TAX. suppose it is 1%
then I see It show some value in TAX .
save that sales order & creating delivery document for that but when I create Invoice its show error.
" Tax code in procedure CMTAXP is invalid ".
I know the configuration only for Tax condition with vk11 condition record .
BUT now I want to maintain TAX condition at the time of creating sales order.
so I remove the access sequence of that condition .
but It shows tax code error while billing.
My main question is that If i maintain condition record while creating sales order then how i can assign Tax code .
Can it is possible ?
if yes then How?
please help me.
thank youHi,
The "straight-forward" answer for Tax Code creation is contact the FI consultant. He shall help you, by creating Tax codes.
I have tested, with creating a tax cond type (copy of MWST) & manually entering values. I can create Sorder, Dlv and Bill but I cannot create an Accounting document. That is because of every line (amount) a Tax code is necessary.
I THINK, you can NOT have manually filled tax codes; access sequence is needed to get the tax value (%) and the Tax code from the condition record.
There is lot of material on the web to understand Tax classification, code etc. etc. See a useful link below -
http://www.sapgeek.net/2010/04/sd-determines-tax-code/
In short Tax code is a must and take the help of your FI consultant for the configuration of the same.
BTW - Tax code is already made created for MWST, therefore I suggested that you can use MWST. Furthermore, you can change the values corresponding to Tax codes in FTXP.
But if you are a beginner in these things, better take help. -
Help with SE37 code needed - create sales order
Hi Guurus,
Can you please help? I finally finished with function creation (I just adopted the function, which I found in the system and it works ok, YEAH!!!)
BUT!!! It is working just for the sales order creation with one item.
Is it a big deal if you adopt my code that the function will have possibility to add more then one item?
Thanks in advance
Sao
Here is the code:
*FUNCTION Z_RFC_SD_SIMO_SALES_ORDER2.
*""Local interface:
**" IMPORTING
**" VALUE(P_AUART) TYPE AUART DEFAULT 'zhp'
**" VALUE(P_VKORG) TYPE VKORG DEFAULT 0001
**" VALUE(P_VTWEG) TYPE VTWEG DEFAULT 07
**" VALUE(P_SPART) TYPE SPART DEFAULT 01
**" VALUE(P_AUGRU) TYPE AUGRU DEFAULT 001
**" VALUE(P_BSTKD) TYPE BSTKD DEFAULT 'test si order avtom'
**" VALUE(P_SOLD) TYPE KUNNR DEFAULT 21000069
**" VALUE(P_SHIP) TYPE KUNNR DEFAULT 21000069
**" VALUE(P_MATNR) TYPE MATNR DEFAULT 'SIOBRACUN'
**" VALUE(P_MENGE) TYPE KWMENG DEFAULT 1
**" VALUE(P_PLANT) TYPE WERKS_D DEFAULT 0001
**" VALUE(P_ITCAT) TYPE PSTYV DEFAULT 'ZG2W'
**" VALUE(P_LGORT) TYPE LGORT_D DEFAULT 0001
**" EXPORTING
**" VALUE(V_VBELN) TYPE VBELN
**" VALUE(RESULT) TYPE CHAR01
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.
HEADER DATA
*header-doc_type = p_auart.
*headerx-doc_type = 'X'.
*header-sales_org = p_vkorg.
*headerx-sales_org = 'X'.
*header-distr_chan = p_vtweg.
*headerx-distr_chan = 'X'.
*header-division = p_spart.
*headerx-division = 'X'.
**order reason
*header-ord_reason = p_augru.
*headerx-ord_reason = 'X'.
**PO number from MAX
*header-PURCH_NO_C = p_BSTKD.
*headerx-PURCH_NO_C = 'X'.
*headerx-updateflag = 'I'.
PARTNER DATA
*partner-partn_role = 'AG'.
*partner-partn_numb = p_sold.
*APPEND partner.
*partner-partn_role = 'WE'.
*partner-partn_numb = p_ship.
*APPEND partner.
ITEM DATA
*itemx-updateflag = 'I'.
*item-itm_number = '000010'.
*itemx-itm_number = 'X'.
*item-material = p_matnr.
*itemx-material = 'X'.
*item-plant = p_plant.
*itemx-plant = 'X'.
*item-target_qty = p_menge.
*itemx-target_qty = 'X'.
*item-target_qu = ' '.
*itemx-target_qu = 'X'.
*item-item_categ = p_itcat.
*itemx-item_categ = 'X'.
**item-STORE_LOC = p_LGORT.
**itemx-STORE_LOC = '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 = p_menge.
*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
*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.
*result = 'E'.
*ELSE.
*COMMIT WORK AND WAIT.
*result = 'S'.
*ENDIF.
*ENDFUNCTION.
Edited by: Saso Poljansek on Jan 22, 2008 10:23 AMHi,,
Include YCL_CREATE_SALES_DOCU *
Form salesdocu
This Subroutine is used to create Sales Order
-->P_HEADER Document Header Data
-->P_HEADERX Checkbox for Header Data
-->P_ITEM Item Data
-->P_ITEMX Item Data Checkboxes
-->P_LT_SCHEDULES_IN Schedule Line Data
-->P_LT_SCHEDULES_INX Checkbox Schedule Line Data
-->P_PARTNER text Document Partner
<--P_w_vbeln text Sales Document Number
DATA:
lfs_return like line of t_return.
FORM create_sales_document changing P_HEADER like fs_header
P_HEADERX like fs_headerx
Pt_ITEM like t_item[]
Pt_ITEMX like t_itemx[]
P_LT_SCHEDULES_IN like t_schedules_in[]
P_LT_SCHEDULES_INX like t_schedules_inx[]
Pt_PARTNER like t_partner[]
P_w_vbeln like w_vbeln.
This Perform is used to fill required data for Sales order creation
perform sales_fill_data changing p_header
p_headerx
pt_item
pt_itemx
p_lt_schedules_in
p_lt_schedules_inx
pt_partner.
Function Module to Create Sales and Distribution Document
perform sales_order_creation using p_header
p_headerx
pt_item
pt_itemx
p_lt_schedules_in
p_lt_schedules_inx
pt_partner.
perform return_check using p_w_vbeln .
ENDFORM. " salesdocu
Form commit_work
To execute external commit *
FORM commit_work .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = c_x
ENDFORM. " Commit_work
Include ycl_sales_order_header " To Fill Header data and Item data
Include ycl_sales_order_header.
Form return_check
To validate the sales order creation
FORM return_check using pr_vbeln type vbeln.
if pr_vbeln is initial.
LOOP AT t_return into lfs_return .
WRITE / lfs_return-message.
clear lfs_return.
ENDLOOP. " Loop at return
else.
perform commit_work. " External Commit
Refresh t_return.
fs_disp-text = text-003.
fs_disp-number = pr_vbeln.
append fs_disp to it_disp.
if p_del eq c_x or p_torder eq c_x or
p_pgi eq c_x or p_bill eq c_x.
perform delivery_creation. " Delivery order creation
endif. " If p_del eq 'X'......
endif. " If p_w_vbeln is initial
ENDFORM. " Return_check
*& Form sales_order_creation
text
-->P_P_HEADER text
-->P_P_HEADERX text
-->P_PT_ITEM text
-->P_PT_ITEMX text
-->P_P_LT_SCHEDULES_IN text
-->P_P_LT_SCHEDULES_INX text
-->P_PT_PARTNER text
FORM sales_order_creation USING P_P_HEADER like fs_header
P_P_HEADERX like fs_headerx
P_PT_ITEM like t_item[]
P_PT_ITEMX like t_itemx[]
P_P_LT_SCHEDULES_IN like t_schedules_in[]
P_P_LT_SCHEDULES_INX like t_schedules_inx[]
P_PT_PARTNER like t_partner[].
CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
EXPORTING
sales_header_in = p_p_header
sales_header_inx = p_p_headerx
IMPORTING
salesdocument_ex = w_vbeln
TABLES
return = t_return
sales_items_in = p_pt_item
sales_items_inx = p_pt_itemx
sales_schedules_in = p_p_lt_schedules_in
sales_schedules_inx = p_p_lt_schedules_inx
sales_partners = p_pt_partner.
ENDFORM. " sales_order_creation
this is code to create sales document
plzz reward if it is usefull...
plzz dont forget to reward...... -
SAP Fiori Error - Create Sales Order app doesn't run after Google Chrome updates
Hi,
I have a problem with the create sales order app (ui5_sd_so_cr).
Everything works fine until Google Chrome browser updates to version 34.0.1847.116 m .
The create sales order application has an error when i try to checkout the cart.
This error is in the SalesOrderCreatePriceAndAvailabilityCheck.controller.js and SalesOrderCartDetails.js in this function:
l.oSOCartModel.refreshSecurityToken(function (a, b) {
l.oSOCartModel.create("/SalesOrders", m, null, function (c, d) {
com.sap.kelley.salesordercreate.utils.ModelUtils.updateCartModelFromSimulationResponse(d);
oSObusyIndicator.close();
}, function (g) {
oSObusyIndicator.close();
var d = g.response.body;
var f = jQuery.parseXML(d);
var e = f.getElementsByTagName("message")[0].childNodes[0].nodeValue;
var c = new sap.m.Dialog({
title: sap.ca.common.uilib.message.AlertMessageBoxType.ERROR.title,
content: [new sap.m.Label({
text: e
leftButton: new sap.m.Button({
text: l.oBundle.getProperty("XBUT_OK"),
tap: function () {
if (j) {
l._onNavigateBack();
c.close();
c.addStyleClass("sapSOC-SingleButtonDialog");
c.open();
}, function (a) {
oSObusyIndicator.close();
var b = new sap.m.Dialog({
title: sap.ca.common.uilib.message.AlertMessageBoxType.ERROR.title,
content: [new sap.m.Label({
text: sap.ui.getCore()
.getModel("i18n")
.getProperty("ERROR_REFRESH_SECURITY_TOKEN")
leftButton: new sap.m.Button({
text: l.oBundle.getProperty("XBUT_OK"),
tap: function () {
if (j) {
l._onNavigateBack();
b.close();
b.addStyleClass("sapSOC-SingleButtonDialog");
b.open();
}, false);
The error is in the line 07. Cannot read property 'body' of undefined
Variable g is undefined.
I tested the application with other browsers (IE, Firefox, Safari) and everything works perfectly. Only Chrome has this kind of problem.
UISRA
UISRA017
100
0002
SAPK-10002INUISRA017
HTML5 Create Order
System
SAP_BASIS
731
0007
SAPKB73107
SAP Basis Component
GW_CORE
200
0006
SAPK-20006INGWCORE
SAP GW CORE 200
IW_BEP
200
0007
SAPK-20007INIWBEP
Backend Event Provider
UI5 version 1.16.4
It 'happened to someone else?
How can I fix the problem?
Thank you for your help.
Regards,
NicolaFew things you can try,
Upgrade your UI5 library version. Latest is 1.18
Implement release notes :
1948368 - Fiori Create Sales Order Wave 1 Common Library Fixes
1947789 - Fiori Create Sales Order Wave 1 Fixes
Check if these can be applied or go with UI library update.
1939288 - Hotfix 1.16.5 for UI AddOn SP06 SC: UI2_SRVC
Regards,
Tejas -
Create Sales order with reference to purchase order - Help needed
Hi Gurus
Purchase order is being created in Oracle system. SAP system will receive the purchase order and creates the sales order for the corresponding purchase order.
Hoe to create sales order, Through BAPI or through IDOC. Please suggest and give some pointers of existing interface
Thanks
Andy.Hi,
If you are working on ECC6.0 check for the BAPI BAPI_SALESORDER_CREATEFROMDAT1 .You can also pass the purchase order number .
Check the sample code
REPORT z_bapi_salesorder_create.
Parameters
Sales document type
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text FOR FIELD p_auart.
PARAMETERS: p_auart TYPE auart OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Sales organization
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text1 FOR FIELD p_vkorg.
PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Distribution channel
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text2 FOR FIELD p_vtweg.
PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Division.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text3 FOR FIELD p_spart.
PARAMETERS: p_spart TYPE spart OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SKIP 1.
Sold-to
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text4 FOR FIELD p_sold.
PARAMETERS: p_sold TYPE kunnr OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Ship-to
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text5 FOR FIELD p_ship.
PARAMETERS: p_ship TYPE kunnr OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SKIP 1.
Material
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text6 FOR FIELD p_matnr.
PARAMETERS: p_matnr TYPE matnr OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Quantity.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text7 FOR FIELD p_menge.
PARAMETERS: p_menge TYPE kwmeng OBLIGATORY.
SELECTION-SCREEN END OF LINE.
Plant
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(20) v_text9 FOR FIELD p_plant.
PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
SELECTION-SCREEN END OF LINE.
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.
Initialization.
INITIALIZATION.
v_text = 'Order type'.
v_text1 = 'Sales Org'.
v_text2 = 'Distribution channel'.
v_text3 = 'Division'.
v_text4 = 'Sold-to'.
v_text5 = 'Ship-to'.
v_text6 = 'Material'.
v_text7 = 'Quantity'.
v_text9 = 'Plant'.
Start-of-selection.
START-OF-SELECTION.
Header data
Sales document type
header-doc_type = p_auart.
headerx-doc_type = 'X'.
Sales organization
header-sales_org = p_vkorg.
headerx-sales_org = 'X'.
Distribution channel
header-distr_chan = p_vtweg.
headerx-distr_chan = 'X'.
*Purchase order number
header-PURCH_NO_C = '4000006'.
headerx-PURCH_NO_C = 'X'.
Division
header-division = p_spart.
headerx-division = 'X'.
headerx-updateflag = 'I'.
Partner data
Sold to
partner-partn_role = 'AG'.
partner-partn_numb = p_sold.
APPEND partner.
Ship to
partner-partn_role = 'WE'.
partner-partn_numb = p_ship.
APPEND partner.
ITEM DATA
itemx-updateflag = 'I'.
Line item number.
item-itm_number = '000010'.
itemx-itm_number = 'X'.
Material
item-material = p_matnr.
itemx-material = 'X'.
Plant
item-plant = p_plant.
itemx-plant = 'X'.
Quantity
item-target_qty = p_menge.
itemx-target_qty = '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 = p_menge.
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.
Reward points if it worked.
Regards,
Abhishek
Edited by: Abhishek Raj on May 14, 2008 9:57 AM -
Open Sales Order quantity & value
Hi,
We have a requirement here of report to show open sales order quantity & value for any month (monthend). There is a datasource 2LIS_11_V_ITM which gives Open order quantity. I have created an ODS with 2LIS_11_VAITM & 2LIS_11_V_ITM which can give me desired qty & value, but only for date of last data upload and not for date in the past.(and to get that, I have to sumup all open orders quantity without using any date filter)
I am thinking of creating a Infocube over this ODS to update the Open Order qty & value at the monthend (Snapshot scenario). But to update this, I am not able to get the logic for date to be used in time dimension.
If anyone can think of the solution or any alternate way to develop this kind of report, your help/suggestions are most welcome.
Thanks,
Vikram.Hi Vikram,
Find the link, which solves u r requirement
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/bi/arobustdesignofopensalesorderdataflow
Thanks & Regards
Ramakrishna Kamurthy -
Open sales order credit value (S066-OEIKW)
Hello experts,
I need to update the table S066 with the Open sales order credit value when an item has no confirmed quantity (VBEP-BMENG). So I have created the new rountine under
VOFM -> Requirements -> Credit checks -> new include RVKMP901. But I don't know how to update this table.
From the note 377165, the same is explained. But I am niot able to achieve my requirement.
So please help me in this regard.
Waiting for your reply.
Any Suggestion...
With regards,
Vasanth M
Edited by: Vasanth M on Feb 15, 2010 8:21 PMHello Jack,
Thanks fo your answer. But I have to update the credit amount to the table S066.
This credit limit could be viewed in the TC FD33. So please suggest me what to do.
Thanks in Advance
Best Regards,
Vasanth M -
Pricing, Modifiers in Sales Order Form
Hi Gurus,
Please help me to resolve the issue with Pricing, Modifier to Sales Order:
I have created Master price List for Item A - $40
Modifer 1 - Dealer Discount Price is 20% (Created Modifier as Dealer Discount - 20%)
Modifer 2 - Order Header discount is 10% on total Order Value (Created Modifer with Discount : Level - Order; Modifer Type - Discount; Pricing Phase - Header Level Adjustments, Application Method - Percentage; Value - 10%
Assgined to respective Qualifers (Customers), set as Automatic
Ran Build Attribute mapping values concurrent program in Pricing Module. Status : sucess
After doing All above steps created Sales order for respective Customer, system is applying Modifer 1 Automatically but MODIFIER 2 not able to apply at order header leverl, Not able to see this Modifier list under SO form
Action->View Adjustment.
Can you please check and let me know the problem to achieve this issue.
Highly appreciate your response.
Regards
AKCheck below options in sequence
1) Is your order qualifies for both the modifiers ?
2) If you need to apply both modifiers put them in different incompatibility level. -
How to save LIST_LINE_ID of Price List when create Sales Order Line
I dont know how save the LIST_LINE_ID of the Price List on Sales Order or anywhere when create Sales Order Line.
I create with the following steps:
Step 1: Create Price List for Item A with two line: Line 1 (Unit Price = 10,5, Pricing Attribute with Tax Classification Code = 5%), Line 2 (Unit Price = 11, Pricing Attribute with Tax Classification Code = 10%)
Step 2: I create Sales Order Line with Item A, Tax Classification Code = 5% --> Unit Selling Price = List Price = 10,5 but dont bookorder
Step 3: I update the Unit Price of Line 1 into 11.55.
Step4 : I book this Sales Order. Howerver, I use form personalization to customize Book Event: if the Unit Price of Item on Price List > Unit Selling Price then cant not Book. But I dont konw List Price of Sales Order belong the line of Price List.
Please help me check this issue. Thanks for your supports.
BinhTC
Email: [email protected]Bob's right - except that if you have OM: List Price Override Privilege set to 'Unlimited' (and from your scenario it sounds as if you have) it is possible that the value in unit_list_price will vary from what was originally retrieved from the price list.
In that case, a safer bet is to use :LINE.original_list_price in your personalization as this will always contain what was originally retrieved and will mean you can avoid any repeat lookup via list_line_id.
Regards,
Jon -
Creating sale order by using BAPI
Hi,
My requirement is to create a inquiry(VA11), By using the Inquiry no as a input in report, i should create a salesorder using BAPI in which the datas should be flowed from inquiry to sale order. i did almost everything except the Pricing Condition.
I am fetching the pricing condition values from table KONV-KSCHL and passing the value via BAPI_SALESORDER_CREATEFROMDAT2 it creates saleorder. In the created salesorder, there are two same pricing conditions but different rate 1.) the price of the MATNR which is maintained 2.) the changed MATNR price in inquiry level,
i need the value which is changed in inquiry level that is 2nd value.
can anyone help me in this...REPORT ZSALESORDER.
<< Cut and paste without attribution from
create sales order using BAPI
removed >>
Edited by: Rob Burbank on Feb 24, 2009 10:43 AM -
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
Maybe you are looking for
-
How to set a different smtp in and out on the same server
Hello, I got an xserve on 10.5.6 and the ethernet ports are connected to two differents networks. One is on the local network (192.168.0.5) and the other on a wan. The lan is on ADSL box that is also the router. I would like to receive my email from
-
Client showing it doesn't have client installed, but it does
I have clients out at a secondary site that I've done a push install to. when I do a push install to the client I can see the server create the request and pass it on to the client, the client then receives the request and in the log files I see it
-
[solved] rt2870 problems
I have Arch installed (as a dual boot with Mandriva). I installed from the 2009/8 iso. I have a wireless LAN with a static IP - I connect to my network with dhcp in Mandriva; I've set up rc.conf on that basis. I follow the beginners guide both in Liv
-
Where is the Apps 11i adpater software for Solaris ?
Hi, I installed interconnect 10g on Solaris for testing. In the CD, I can install the adapters for MQ, DQ, AQ, SMTP and some others. But, I can't finf any trace of the software adapter for the Apps 11i ? Someone can help me to find it for Solaris ? T
-
Can I edit a raw format photo in iphoto? If so, how do you import it? I tried and said it is unrecognizable. I just learned about this format that is great to edit, but not sure how to do it. Thanks Jeff