EDI Sales order creation in CRM through inbound IDocs from non SAP system
Hi Friends,
We are having a scenario where we need to create a Sales Order in CRM for a B2B EDI transmission through IDoc. Customer is sending the EDI Transmission of his Sales order , which is passing through PI and then reaching to CRM to create a Sales order.This is the design we need to follow to make it happen,we are initially trying to create an order using WE19 for testing and the details are:
Basic Type - CRMXIF_ORDER_SAVE_M01
Message Type - CRMXIF_ORDER_SAVE_M
Functional Module - APPL_IDOC_INPUTI which is automatically giving a status text as " Function module CRMXIF_ORDER_SAVE has been called successfully", but no sales order is saved in CRM.
We are getting idocs posted successfully with status 53 with the statuses sequence 74, 50 ,64, 62 and 53.Our issue is inspire of the Idoc having status 53 and the FM called successfully we are not seeing the sales order created in CRM.
We are stuck here no sales order is created in CRM.
Are we missing any config. - set up - Prerequisit - Any OSS note need to be applied -- ANy middle ware setting ?
Any help will be greatly appreciated.
Thanks
Vijay
Hi Christophe,
Awesome!!!!!! it worked, You are the best.
I could able to create a sales order in CRM,but below are the valid data I passed in the respective segment fields.Except for first 3 values rest all did not get reflected in teh Sales order.I feel i am missing some qualifiers.
Can you kindly share the IDoc data to be passed in...along with respective segments and fields:
Segment Field
E101CRMXIF_BUSTRANS OBJECT_TASK
E101CRMXIF_BUSTRANS PROCESS_TYPE
E101CRMXIF_BUSTRANS POSTING_DATE
E101CRMXIF_PARTNER PARTNER_NO
E101CRMXIF_PARTNER RELATION_PARTNER_NO
E101CRMXIF_ORGMAN SALES_ORG
E101CRMXIF_ORGMAN DIS_CHANNEL
E101CRMXIF_ORGMAN DIVISION
E101CRMXIF_SALES PO_NUMBER_SOLD
E101CRMXIF_SALES YOUR_REF_SOLD
E101CRMXIF_SALES PO_NUMBER_SHIP
E101CRMXIF_BUSTRANS_ITEM ITEM_NUMBER
E101CRMXIF_BUSTRANS_ITEM ITEM_TYPE
E101CRMXIF_BUSTRANS_ITEM ORDERED_PRODUCT
E101CRMXIF_PRODUCT_I PROCESS_QTY_UNIT
E101CRMXIF_PRODUCT_I PROCESS_QTY_UNIT_ISO
E101CRMXIF_PRODUCT_I BASE_QTY_UNIT
E101CRMXIF_PRODUCT_I BASE_QTY_UNIT_ISO
E101CRMXIF_SCHEDLIN_I ORDER_QTY
Thanks a ton in advance .
Vijay
Similar Messages
-
Stop generation of Inbound IDOC from Non - SAP
Hi Experts,
I have a requirement to update data base PA0105 for Email. The Email is coming for external system (Non SAP), which contains 1 employee in 1 IDoc. If SAP has valid email and same has been passed for external system to SAP via Inbound IDoc, it should not update PA0105. Hence, I am deleting the IDOC segments in Exit "ZXHALU07", before RBDAPP01 is getting called. As per the requirement its working fine.
Question: Is there any way to stop generating the IDOC. If the email ID were same, then IDoc should not generate in SAP. Please provide your valuable reply. Thanks.
Regards,
Ganesh R K.Hi All,
Scenario:
Need to Create Inbound IDOC in SAP system and receive it from Non Sap system.
Problem:
IDOC is successfully dispatched from Non Sap system(Sender Side) but, it is not received to SAP system(Receiver Side).
At receiver side(in SAP system) all configuration settings are fine (RFC destination is tested with no errors, partner profile are given with the inbound parameters, function module is successfully tested with no errors, distribution model is created etc).
In receiving system(SAP) no IDOCs are generated in We02 after sending the IDOC from Non Sap side.
Can any one please suggest me the reason for the above mentioned problem?
Thank you,
Swetha.C -
EDI Sales order creation in CRM
Hello CRM Experts,
I'm an EDI/SAP professional new to CRM. My team has been asked to interface EDI POs to CRM sales orders using CRMXIF_ORDER_SAVE, with little information on how to map it. So, my questions are:
Is it even possible to use ORDERS05 to create sales orders in CRM?
Can anyone tell me which CRMXIF_ORDER_SAVE IDoc segments/fields need to be populated to create a sales order?
Any information provided would be greatly appreciated!
Thank you in advance,
DonnaHello,
Please check the sap note 448742,this is general note for XIF interface.
Hope this helps you.
Regards,
Deepa -
Sales order Creation in CRM using Interface
Hi Experts,
I am developing Interface to create Sales order/s in CRM.
As per my requirement I need to create with below mentioned parameters.
Process type
Sold to party
Organization data
Parties involved
Transaction History
Item Data
However, I got CRM_SALESORDER_MASS_UPDATE & BAPI_SLSTRANSACT_CREATEMULTI.
As per my requirement these FMs are not usefull.
Please suggest me right function module.
Thanks in advance.
SaiHi Sai,
you will need to use the FMs CRM_ORDER_MAINTAIN and CRM_ORDER_SAVE to create the orders.
Put a break point in CRM_ORDER_MAINTAIN and try creating an Order in the transaction CRMD_ORDER in GUI. This FM will be called a couple of times. Note the inputs being passed to this FM.
You need to pass all those inputs at one go to the FM 'CRM_ORDER_MAINTAIN' and after that call the FM 'CRM_ORDER_SAVE'.
Note that you need to call the FM 'GUID_CREATE' to create the header and line item GUIDs.
This is for one order. If you need to create multiple orders at one go, loop at this code. If you are calling this code from another system, make this a remote enabled function module.
Regards,
Kris.
Edited by: Kris on Aug 2, 2011 9:25 PM -
ALE: Sending IDOC inbound from non-SAP system
Hi
How does one need to setup the SAP system to accept data from an external non-SAP system. Should one setup some sort of conection to trigger an import to SAP?Hi,
On the SAP side you need to create a partner profile in T.code: WE20 of type LS. And add the message type, idoc type in the inbound parameters section of it.
And you must also specify the partner number you created here, on the IDoc control record.
This link from SAP help, will provide some addition data.
<a href="http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6524507d11d18ee90000e8366fc2/frameset.htm">http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6524507d11d18ee90000e8366fc2/frameset.htm</a>
Hope this helps.
Regards,
Sumant. -
Inbound MATMAS: layout from Non-SAP system
Hi
I would like to know how the layout of the inbound MATMAS file(xlm/flatfile) should look like and how will i be able to trigger an inbound update of MATMAS from an external non-SAP system without a middleware system?
Giovanni
Message was edited by: Giovanni BaumannHi,
It will probably be looking like a IDOC in XML format. You can go to WE60 transaction and look at the XML schema (documentation --> XML Schema), that is how your file with data should look like.
Then your program can pick up the file and pass the data to EDI_DATA_INCOMING function.
Regards,
Ravi
Note : Please mark the helpful answers -
Error in EDI sales order creation.
Hi SAP gurus,
Presently we are having a scenario, While creating a sales order through EDI we are presently getting an error
Status - 51 "Update Error, Transaction VA01".
When I again reprocess the idoc, It is creating order successfully.
This is a rare occrance and we are not able to get a concrete clue because out of 50 edi order only 2 orders are
having this kind of issue. .
T code - WE02 :
When I click on the message information, it gives the below mentioned details :
Message - No 00377 "Update error, transaction VA01"
Diagnosis:
An error occured in CALL TRANSACTION USING or CALL DIALOG USING during the synchronous update.
The error is caused y the transaction VA01.
*T code - SM13 *
In SM13 - system gives the Error (no entry) in
Functional module "RV_SALES_DOCUMENT_ADD".
ABAP/4 processor: SAPSQL_ARRAY_INSERT_DUPREC
Status : Update was terminated
Could you please provide some inputs for to fix the issue
Thanks in advance
Thanks&Regards,
Pugal Stalin.hI,
It's mentioned below :
Information on where terminated
Termination occurred in the ABAP program "SAPLV05I" - in "SD_PARTNER_UPDATE".
The main program was "RSM13000 ".
In the source code you have the termination point in line 480
of the (Include) program "LV05IU15".
The program "SAPLV05I" was started in the update system.
The termination is caused because exception "CX_SY_OPEN_SQL_DB" occurred in
procedure "SD_PARTNER_UPDATE" "(FUNCTION)", but it was neither handled locally
nor declared
in the RAISING clause of its signature.
The procedure is in program "SAPLV05I "; its source code begins in line
1 of the (Include program "LV05IU15 ".
Source Code Extract
POSNR = I_XVBPA-POSNR
PARVW = I_XVBPA-PARVW.
IF I_YVBPA-STCD1 <> I_XVBPA-STCD1 OR
I_YVBPA-STCD2 <> I_XVBPA-STCD2 OR
I_YVBPA-STCD3 <> I_XVBPA-STCD3 OR
I_YVBPA-STCD4 <> I_XVBPA-STCD4 OR
I_YVBPA-STCDT <> I_XVBPA-STCDT OR
I_YVBPA-STKZN <> I_XVBPA-STKZN OR
I_YVBPA-J_1KFREPRE <> I_XVBPA-J_1KFREPRE OR
I_YVBPA-J_1KFTBUS <> I_XVBPA-J_1KFTBUS OR
I_YVBPA-J_1KFTIND <> I_XVBPA-J_1KFTIND.
MOVE-CORRESPONDING I_XVBPA TO WA_XVBPA3I.
APPEND WA_XVBPA3I TO DA_XVBPA3I.
ENDIF.
ENDIF.
ENDIF.
WHEN UPDKZ_OLD.
IF DA_VBPA-ADRDA CA GCF_ADDR_IND_COMB_MAN_OLD OR
DA_VBPA-ADRDA CA GCF_ADDR_IND_COMB_MAN_ADRC.
YADR-ADRNR = DA_VBPA-ADRNR. COLLECT YADR.
ENDIF.
IF DA_VBPA-ADRDA CA GCF_ADDR_IND_COMB_MAN_OLD OR
DA_VBPA-ADRDA CA GCF_ADDR_IND_COMB_MAN_ADRC.
XADR-ADRNR = DA_VBPA-ADRNR. COLLECT XADR.
ENDIF.
ENDCASE.
ENDLOOP.
UPDATE (OBJECT) FROM TABLE DA_XVBPAU.
UPDATE VBPA3 FROM TABLE DA_XVBPA3U.
INSERT (OBJECT) FROM TABLE DA_XVBPAI.
INSERT VBPA3 FROM TABLE DA_XVBPA3I.
IF SY-SUBRC > 0.
MESSAGE A700 WITH OBJECT SY-SUBRC DA_XVBPAI(21).
ENDIF.
Sonderfall neue VBPA (VBPA2) für Rollen AA und AW
LOOP AT I_XVBPA2.
DA_VBPA2 = I_XVBPA2.
CASE DA_VBPA2-UPDKZ.
WHEN UPDKZ_NEW.
IF DA_VBPA2-ADRDA CA GCF_ADDR_IND_COMB_MAN_OLD OR
DA_VBPA2-ADRDA CA GCF_ADDR_IND_COMB_MAN_ADRC.
XADR-ADRNR = DA_VBPA2-ADRNR. COLLECT XADR.
ENDIF.
I_XVBPA-MANDT = SY-MANDT.
IF I_XVBPA2-VBELN IS INITIAL.
I_XVBPA2-VBELN = F_VBELN.
ENDIF.
Thanks in Advance
Thanks & Regards,
Pugal
Edited by: Pugal Stalin on Feb 15, 2010 1:17 PM -
Idoc inbound processing? from non-sap system?
Hi experts,
I'm confused with some functions below:
IDOC_INBOUND_SYNCHRONOUS
INBOUND_IDOC_PROCESS
IDOC_INBOUND_SINGLE
IDOC_INBOUND_ASYNCHRONOUS
can you tell me what are the differences? when to use them?
for sap outbound processing, we can only call function master_idoc_distribute to generate idoc or use message control to trigger outbound idoc. no other options, correct?
for sap inbound processing, if we use message control for automatical posting, we have process code which read the inbound idoc file and do the sap posting. when to use those functions above?
does the middlewares like seeburger, GIS call those functions to generate idocs at SAP side?
in what scenarios can we use those functions? read directly non-sap file into sap internal table then call the functions to create inbound idoc? how about the posting? call inbound processe code function after the functions above?
in case the interface between sap and legacy system is using above functions to build inbound idoc in sap and sap use process code for inbound posing, sap can monitor all inbound process using idoc, but how can the legacy system mornitor the interface?
Thanks.
Legend.
Edited by: legend li on Dec 21, 2010 4:58 PM
Edited by: legend li on Dec 21, 2010 5:40 PMHi Christophe,
Awesome!!!!!! it worked, You are the best.
I could able to create a sales order in CRM,but below are the valid data I passed in the respective segment fields.Except for first 3 values rest all did not get reflected in teh Sales order.I feel i am missing some qualifiers.
Can you kindly share the IDoc data to be passed in...along with respective segments and fields:
Segment Field
E101CRMXIF_BUSTRANS OBJECT_TASK
E101CRMXIF_BUSTRANS PROCESS_TYPE
E101CRMXIF_BUSTRANS POSTING_DATE
E101CRMXIF_PARTNER PARTNER_NO
E101CRMXIF_PARTNER RELATION_PARTNER_NO
E101CRMXIF_ORGMAN SALES_ORG
E101CRMXIF_ORGMAN DIS_CHANNEL
E101CRMXIF_ORGMAN DIVISION
E101CRMXIF_SALES PO_NUMBER_SOLD
E101CRMXIF_SALES YOUR_REF_SOLD
E101CRMXIF_SALES PO_NUMBER_SHIP
E101CRMXIF_BUSTRANS_ITEM ITEM_NUMBER
E101CRMXIF_BUSTRANS_ITEM ITEM_TYPE
E101CRMXIF_BUSTRANS_ITEM ORDERED_PRODUCT
E101CRMXIF_PRODUCT_I PROCESS_QTY_UNIT
E101CRMXIF_PRODUCT_I PROCESS_QTY_UNIT_ISO
E101CRMXIF_PRODUCT_I BASE_QTY_UNIT
E101CRMXIF_PRODUCT_I BASE_QTY_UNIT_ISO
E101CRMXIF_SCHEDLIN_I ORDER_QTY
Thanks a ton in advance .
Vijay -
Error on EDI Sales Order Creation ?
Hi Gurus,
I have the following error when trying to create an order through EDI. Function module 'IDOC_INPUT_ORDERS"
Error is
"Field RV45A-VBAP_SELKZ (2) is not an input field
Message no. 00347"
I have check the data on the Idoc (orders05) and everything looks good to me when I compared the data with succesfull idocs.
Has anybody has had this problem before?
Any ideas how to fix it?
Thanks,
Joel RamirezHi Joel,
I think you are creating SD Orders with reference to scheduling agreements by means of SD EDI
please apply OSS note 457605
Regards,
Santosh -
Creation of a partner profile for an non sap system
hi,
I need to create a partner profile for an non sap system(SQL Server).
step by step procedure will be useful.Hi,
1>goto SM59 create R/2 connections and give the connection type as 2 and give the receiver address.
2>create port in we21 tcode.
3>create partner profiles in we20 and give the receiver system (LS).
Regards,
nagaraj -
Segment creation for outbound Idocs to non-SAP system
Hi,
I need to create a custom idoc for outbound interface to a non-SAP system. Here I need to create segments. So, should I create the fields in the segment with the attributes of fields in non-SAP system or fields attributes should be of SAP system.
For example:
There is a field invoice number which is of 10 Chars in SAP but in legacy it is divided into 2 fields: invoice prefix of 2 chars and invoice no. of 8 chars. Should my segment contain one invoice field of 10 chars or should it be two fields with 2 and 8 chars?
In general, always should the segment fields contain field attributes based on receiving system?
Thanks in advance.
Sriram.Hi
Should my segment contain one invoice field of 10 chars or should it be two fields with 2 and 8 chars?
I think it shoild be better to have 2 fields, but probably the result will be the same if you send the idoc by a text file, because both informations should be contiguos, I mean if you have file with a record like this:
1234567890
This record can be obtained downloading a segment with 2 fields:
FIELD1 = '12'
FIELD2 = '34567890'.
or single field:
FIELD = '1234567890'.
So it'll be the same for tje target system
In general, always should the segment fields contain field attributes based on receiving system?
It depends on who has to convert the idoc to the right format for the target system
I mean you can create a "SAP" Idoc, so the receiving system will have to convert it to the right format
or
you can send the idoc in the right format, so the receiving system doesn't need to convert it
Max -
Steps of EDI is used to transfer IDOC from R3 system to non sap system
Hi Experts,
Can you provide me Steps to configure EDI is used to transfer IDOC from R3 system to non sap system?
Full points will be assigned.
Thanks in advance!
SapnaHello,
The EDI Configuration required to be done for Transfering IDoc to non SAP System is.
1. First of all, we need to identify the Transaction Data which is required to be Transfered to external System.(Ex: Sales Order Data or Shipment Data or Delivery Related Data).
2. Secondly, Identify the IDoc Type & Message Type. IDoc Type can be found in Transaction WE30 & Message Type Can be explored in Transaction WE81.
3. After that, assign the IDoc Type to Message Type in WE82.
4. Identify the Selection Program (Outbound) which is generally a Function Module in the Form of IDOC_OUTPUT_<Message Type>. Example, if the Message Type is ORDERS, the FM will be IDOC_OUTPUT_ORDERS.
5. Assign the Function Module to a Process Code in WE41 (Process Code for Outbound).
6. Configure Port Definitions in WE21 for which the RFC destinations are to be maintained in Transaction SM59.
7. Maintain Partner Profiles for the Outbound Message Processing in WE20.
8. Last, but not the Least, we need to Focus Mainly on Message Control Configuration which is nothing but maintaining the Output Type for the Outbound IDoc to be Triggered for the Sales Order Application or Delivery Application.
i. In Message Control Configuration, we'll maintain
a. Condition Tables
b. Access Sequences
c. Output Types
ii. To Create the above elements, we can go to SPRO Transaction and do the same depending on the Application Area such as Sales / Shipping / Logistics Execution etc.
iii. For Output Types & Access Sequences, we can go to the Transaction NACE or VK01 in which we'll maintain the Output Types / Access Sequences & Condition Records.
Please note that all the above steps may not be needed if we are using some of the Standard Elements provided by SAP such as Message Type, Process Code, IDoc Type & Selection Program as many of the Standard SAP Applications have their own Elements for different Application Areas.
For example, if you want to send an Order Confirmation IDoc when the Sales Order is saved, you can use the Message Type ORDRSP, IDoc Type ORDERS05 & Selection Program as IDOC_OUTPUT_ORDRSP.
However, Message Control Configuration is the Key Factor and is required for all the Applications as per the Customer's / Client's Requirements.
Hope the above procedure was clear.
Thanks and Regards,
Venkat Phani Prasad Konduri -
IDOCS: Inbound non-SAP system
Hi
The outbound idocs works fine. I want to create an inbound goods receipt/movement idoc.
Should i rather write RFC to update the SAP system from a non-SAP system ?Hi,
Your first query...
Should i rather write RFC to update the SAP system from a non-SAP system ?
Always prefer using idocs for posting before BAPI / RFC fucntion module.
As you have mentioned outbound idocs are working fine..which means you are able to create idocs from non-sap system..right? If so you can use same idoc type for posting.
Your second query's answer...
Check out following code for calling BAPI_GOODSMVT_CREATE
You need to code to call function module /BAPI in your posting program as follows..
append the data into the corresponding internal tables and work-area, check for the IMPORT and TABLES parameter in the function module BAPI_GOODSMVT_CREATE.
a. GOODSMVT_HEADER-DOC_DATE = SYST-DATM
b. GOODSMVT_HEADER -PSTNG_DATE = RECEIPT_DATE (Input File)
c. GOODSMVT_HEADER - HEADER_TXT = BATCH ID (Input File)
d. GOODSMVT_HEADER - GR_GI_SLIP_NO = GOODS_INWARD_NO (Input File)
e. GOODSMVT_ITEM-MOVE_TYPE = Constant 101
f. GOODSMVT_ITEM-PO_NUMBER = PURCHASE_ORDER_NO (Input File)
g. GOODSMVT_ITEM -PO_ITEM = PURCHASE_ORDER_LINE_NO (Input File)
h. GOODSMVT_ITEM PLANT = From Selection Screen (WERKS)
i. GOODSMVT_ITEM STGE_LOC = From Selection Screen (LGORT)
j. GOODSMVT_ITEM -ENTRY_QNT = QUANTITY_RETURNED (Input File)
k. GOODSMVT_ITEM -NO_MORE_GR = COMPLETE_INDICATOR (Input File). Value X if status = X else space.
6. Call the function module BAPI_GOODSMVT_CREATE.
7. Use function module BAPI_TRANSACTION_COMMIT to do the commit work.
append the data into the corresponding internal tables and work-area, check for the IMPORT and TABLES parameter in the function module BAPI_GOODSMVT_CREATE.
a. GOODSMVT_HEADER-DOC_DATE = SYST-DATM
b. GOODSMVT_HEADER -PSTNG_DATE = RECEIPT_DATE (Input File)
c. GOODSMVT_HEADER - HEADER_TXT = BATCH ID (Input File)
d. GOODSMVT_HEADER - GR_GI_SLIP_NO = GOODS_INWARD_NO (Input File)
e. GOODSMVT_ITEM-MOVE_TYPE = Constant 101
f. GOODSMVT_ITEM-PO_NUMBER = PURCHASE_ORDER_NO (Input File)
g. GOODSMVT_ITEM -PO_ITEM = PURCHASE_ORDER_LINE_NO (Input File)
h. GOODSMVT_ITEM PLANT = From Selection Screen (WERKS)
i. GOODSMVT_ITEM STGE_LOC = From Selection Screen (LGORT)
j. GOODSMVT_ITEM -ENTRY_QNT = QUANTITY_RETURNED (Input File)
k. GOODSMVT_ITEM -NO_MORE_GR = COMPLETE_INDICATOR (Input File). Value X if status = X else space.
6. Call the function module BAPI_GOODSMVT_CREATE.
7. Use function module BAPI_TRANSACTION_COMMIT to do the commit work.
Hope this will help you.
Cheers,
Nilesh -
Hi,
I am trying to generate the test script(ecatt) for sales order creation in CRM system. i go through crmd_order transaction and enter the partner, product and organizational data. When i reply in foreground tool fills up partner and product data.
But it simply refuses to goto Organization Tab with error
"Check of the intial element failed".
How do i obtain the id of the control for this screen element. I know its some script to run with the control.
But what is this script and how do i run this script with the control.
Any geeks help please.
Thanks and Regards
VinayHi Raj
Check link for info on eCatt:
http://help.sap.com/saphelp_crm60/helpdata/en/8e/df9f40eb72371be10000000a1550b0/frameset.htm
Hope it helps
Rupesh -
LSMW Sales Order creation using Bapi method
Hi folks ,
iam doing Lsmw bapimethod ,sales order creation .In the step start idoc processing iam getting error "Has Not been Accepted for Processing ",why iam not getting plz let me know points will be awarded for all answers .Hi,
You need to set the IDOC settings in the initial LSMW screen. It will be there in menu path.
Award points if helpful
Regards,
RamaKrishna C
Maybe you are looking for
-
Use Plan data if actual data is not available(By month)
Hello All, We have a cube which stores the actual and plan data by month. There will be plan data for all the months of the year in the cube whereas the actual data is only populated for that month at the end of the month. So, there will not be any d
-
Just began to set Time Capsule. I have iPad connect to the Time Capsule network, how do I backup the iPad to Time Capsule?
-
Express Ship Interface (XSI)
I've installed Business Connector and was able to successfully config UPS as an XSI Carrier. After loading all master data, I can see that all the META data is loaded into transaction VTRC for UPS. However, I'm not to sure how XSI will assign a car
-
An old Numbers-spreadsheet has been converted into a folder, and Numbers says that it can´t open folders. If I open the floder from finder, it contains some strange files, among others a zip-file. But I can't find the spreadsheet. Any suggestions?
-
Cannot convert to word; convert option does not appear in tool bar of Adobe Reader?
Cannot convert a .pdf to Word via convert option in Adobe Reader. Tool bar opens but option to convert does not appear.