Idocs or enterprise services?
Hello all,
We are starting a SAP PI implementation for a new SAP ECC 6.0 system. The implementation is from scratch, so we don't have to consider any historical issues or decisions. One of the first business processes to be integrated with business partners is the Procure-to-Pay process. The old way of implementing this B2B scenario was with idocs (e.g. ORDERS05 and INVOIC03), but nowadays the enterprise service bundles also contain services for this scenario. Should I choose idocs or enterprise services as a technique to get the information send to SAP PI or send the information to SAP ECC? What are the advantages and disadvantages of both techniques? Does anyone have experience with the implementation of the enterprise services for Procure-to-Pay?
Thanks for your response!
Kind Regards,
Mark
This should be more of strategical decision rather than a technical decision. If your entire organization actually desires to adopt the SOA backbone, then it should start with servicizing the scenarios and in that case, it would be good to choose the Enterprise Bundles.
However, if there is no such plan in near future, and all your existing business processes follows the earlier techniques only, then it would be better to go for idocs to have a standard configuration throughout the landscape.
Technically, it would be easire for you to implement Idoc related scenario as per the availability of resources and SAP support availabale. SOA implementation being relatively new in market, would be a bit difficult to implement however, managing it in future would anytime be better than any other technical implementations like with Idocs.
Regards,
Prateek
Similar Messages
-
Integration scenarios from scratch: idocs or enterprise service
Hello,
We are starting a SAP PI implementation for a new SAP ECC 6.0 system. The implementation is from scratch, so we don't have to consider any historical issues or decisions. One of the first business processes to be integrated with business partners is the Procure-to-Pay process. The old way of implementing this B2B scenario was with idocs (e.g. ORDERS05 and INVOIC03), but nowadays the enterprise service bundles also contain services for this scenario. Should I choose idocs or enterprise services as a technique to get the information send to SAP PI or send the information to SAP ECC? What are the advantages and disadvantages of both techniques? Does anyone have experience with the implementation of the enterprise services for Procure-to-Pay?
Thanks for your response!
Kind Regards,
MarkHello,
We are starting a SAP PI implementation for a new SAP ECC 6.0 system. The implementation is from scratch, so we don't have to consider any historical issues or decisions. One of the first business processes to be integrated with business partners is the Procure-to-Pay process. The old way of implementing this B2B scenario was with idocs (e.g. ORDERS05 and INVOIC03), but nowadays the enterprise service bundles also contain services for this scenario. Should I choose idocs or enterprise services as a technique to get the information send to SAP PI or send the information to SAP ECC? What are the advantages and disadvantages of both techniques? Does anyone have experience with the implementation of the enterprise services for Procure-to-Pay?
Thanks for your response!
Kind Regards,
Mark -
Integration scenarios from scratch -- idocs or enterprise service bundles
Hello,
We are starting a SAP PI implementation for a new SAP ECC 6.0 system. The implementation is from scratch, so we don't have to consider any historical issues or decisions. One of the first business processes to be integrated with business partners is the Procure-to-Pay process. The old way of implementing this B2B scenario was with idocs (e.g. ORDERS05 and INVOIC03), but nowadays the enterprise service bundles also contain services for this scenario. Should I choose idocs or enterprise services as a technique to get the information send to SAP PI or send the information to SAP ECC? What are the advantages and disadvantages of both techniques? Does anyone have experience with the implementation of the enterprise services for Procure-to-Pay?
Thanks for your response!
Kind Regards,
MarkHi Mark,
here are my 2 cents to your very interesting disussion.
The IDOC was designed to customize EDI data distributions between SAP Systems via messagetypes and transaktioncodes (Vorgangscodes) in the partnerdetermination which itself is mapped (the "Vorgangscode") to functional modules to do "something". The complete customizing of IDOC distribution might sometimes seems to be complex (and we both know it is more than that but it is FULL CUSTOMIZABLE from a consulting point of view.
The Enterprise Service (my personal view multiplied with the last TechEds and RampUp Delta courses) have another focus. An Enterprise Service is (mostly) some entity which is consumable from the outside world such that they are implemented with Request-Response patterns. When you only want to distribute information why will one use something like Request Response Patterns? One could argue to get back any response, any confirmation or something else....but this is also possible with IDOCs and their acks.
Another argument against to use an ES for P2P outbound scenario is, if yet not seen any ES which is triggert while create a purchase order in its related transaction. Is the BADI for such Transaction triggering the ES while the save event has been processed? If you could find out this fact and if the BADI (or some new kind of user exit for transactions) is implemented and fully supported from SAP I would choose the ES in the P2P processs. Otherwise why using the ES instead of the IDOC when using a PI as Middleware which is converting the source message type (ES or IDOC) into its proparitary legacy system format. Please let me know when you found such userexit/BADI for ES.
Please don't missunderstand my point of view, I would really throw away these IDOCS and using a couple of ES instead but what is the fully supported STANDARD from a customizable and manageable point of view. When you are familiar with proxy technology you know how easy to implement, monitor and manageble theses technology is - BUT - you always have to code some (maybe not release independent) proxy method and you maybe have to invest some knowledge for error handling, rollbacks or additional commit works - all of these stuff will be handled (mostly ) by the SAP standard delivered functions.
Last but not least - if there is any standard out there to trigger an ES from a transaction without coding I would rather use the ES instead of the IDOC. If there is no such standard I would discuss the functionality with the customer (if to complex implement an inbound or outbound proxy=ES) or extend the IDOC or use a BAPI (and extend the BAPI if needed) - mostly the proxy will the be the easiest choice if the needed field count is not to much (<30).
So long, let me know about your findings and your decision.
Regards,
Dries -
IDocs or Enterprise Services in message exchange between systems
I am trying to get some qualitative and quantitative answers to the comparison of Enterprise Services or IDocs as a choice of interface technology when exchanging messages via PI with external systems.
The external systems are probably going to have their own message format, so this would concern the nature of the interfaces of the ERP system interfaces to the PI system.
I have seen one other posting in this forum related to this, but no definitive answer.
Does anybody have any system performance comparisons using the two technologies, such as message throughput / hour? Not easy to compare I know.
Does anybody have an opinion as to the suitability of Enterprise Services for such a task? Is the technology stable enough to be trusted yet?
When comparing status messages of IDocs, do the Enterprise Services have a similar way of easuly seeing the delivery status of the message using the Enterprise Service?
Would anybody or has anybody actually been brave enough to use Enterprise Services in this way yet?
Are Enterprise Services appropriate for mass messaging?
All answers very much appreciated!
Kind Regards,
Tony.Hi Michal,
Thanks for the reply. I try to respond to your questions precisely:
if you want to compare IDocs to services then I assume
we're talking about async services right?
(and most services - just like bapis - are sync messages)
so you compare two different things
Yes, I know. What if the message scenario was asynchronous, and you chose not to handle the response message of the Enterprise Service? You could still do that, right? Then the problem becomes how do you trace the status of the Enterprise Service transaction.
IDocs have the advantage of a status message, and a good message monitoring system, but I am not sure if the visibility of errors seen with Enterprise Services if treated asynchronously would be as obvious. My knowledge of the runtime of the Enterprise Services is currently a bit limited.
The whole reason for me asking about the use of Enterprise Services is that there are so many now that could be used for message exchange, if they were suitable for the task.
Also, what about creating Asynchronous/Synchronous bridges in PI to handle the response message? Then the response is always traceable, correct? Even if the customer doesn't want the response message, the content could always be found in the PI message monitor.
Additionally, there is a transaction in ERP that wraps a BAPI into an IDoc (don't have a system in front of me at the moment and cannot recall the transaction, maybe OM69 or something similar). Now, that is taking a synchronous 'service' (the BAPI), and converting it into an asynchronous IDoc. So if this is such a bad idea, why do SAP provide the transaction? Therefore, by extension, wouldn't it be possible to do the same thing for Enterprise Services, at least from a philosophical point of view? I mean, why would SAP imply you could do this for one kind of synchronous service (the BAPIs) but not others (the Enterprise Services)?
if you're talking about migrations etc I don't believe services
will be used with LSMW but BAPIs are on the other hand
No, I was talking about high volume message scenarios, sorry for the ambiguity. I guess if the performance of Enterprise Services is comparible to that of well written BAPIs, the answer is 'yes', correct?
Kind Regards,
Tony. -
Enterprise Services and Persistence
Hi All,
One of the useful things about IDocs is that their processing involves 2 steps: 1) persisting the IDoc to a database 2) processing the document. Persisting IDocs is very useful since it allows you to edit and resend them.
I would like to know if SAP asynchronous Enterprise Services can/do provide persistence as well. Knowing this would help us decide between using IDocs or Enterprise Services in future developments.
Your help is very much appreciated.
Cheers
GerardDear Gerard
SAP's asynchronous Enterprise Services uses proxy technology which provides persistence in the local integration engine. It is similar to IDocs, whereby the message data is persisted prior to processing by the application logic.
Additionally, SAP-delivered Enterprise Services uses Forward Error Handling (FEH) framework to enable error handling capabilities like editing and resending. Together with Error Conflict Handler (ECH) and Post-Processing Office (PPO), this enables capabilities similar to IDoc error handling.
For more info on FEH/ECH/PPO, you can check the below wiki and blog post
Error and Conflict Handler (ECH) - ABAP Connectivity - SCN Wiki
Michal's Tips: SXMB_MONI vs FEH/ECH vs AIF
I've also blogged about development of custom asynchronous proxies utilizing FEH/ECH/PPO. You can check the blog below for an example of how persistence in the integration engine is, as well as the editing and reprocessing features.
Custom proxy framework with FEH/ECH
Rgds
Eng Swee -
E2Open interfaces built using enterprise services
We need to build purchase orders related interfaces with E2Open and discussing on using IDOC vs ESOA services that were provided by SAP with Ehp4. We need to extend these services to get our custom data and using IDOCs would save time. There is web methods/software AG server (middleware) that will translate SAP structure into OAG structures.
Any suggestions/pros & cons on IDOC vs ESOA?Hi Rajani,
My personal opinion:
I think that you need to think more long term, using IDOCs would save you time now but significantly reduces your flexibility. You should also factor into consideration business goals & strategy (where the company is headed towards).
If you have an ESR (Enterprise Service Repository) in your landscape (it comes shipped with SAP Netweaver CE or SAP PI), there's nothing stopping you from extending the standard SAP Enterprise Services to cater for your custom data. If you don't, an option would be to create custom Abap programs that wrap the enterprise service functionality & cater for your custom data. You could then web service enable those custom programs.
I'm personally not a big fan of IDOCs because I think that they are too cumbersome to use but they also work well. You need to ask yourself, some questions like:
- What if a business process changes, what would the impact be if you choose IDOCs over enterprise services?
- What if you at some stage need to orchestrate provisioning interfaces to cater for changing business / market / regulatory conditions?
- How much is SAP investing in Enterprise Services vs IDOCs?
- How agile is the approach of using IDOCs vs Enterprise Services?
- Does using IDOCs give you an egde over competitors & if there is a business opportunity that needs to be capitalized on, how quickly can you adapt the IDOC scenarios to take advantage of it?
- What about skill levels (developers etc.) for IDOCs & Enterprise services?
- Budget constraints?
These are just some questions...
On the whole, I think that Enterprise Services would work better but it depends on your specific circumstances & SAP is investing significantly more on Enterprise Servies than IDOCs so you would get that added benefit.
Regards, Trevor -
Mapping ALE functionality to Enterprise Services
Hi SAP Gurus,
I am in an assignment to leverage Enterprise Services in the project and as part of it i need to understand how we can use Enterprise Services for the following requirements which are well supported by ALE/Idoc functionality.
1) Master Data Distribution - We have ALE Change Pointers mechanism to track the changes done to the master data (Customer/Material/Vendor) and we can process the changes and create the idocs for the same by EOD. Changes are tracked based on the field level and interface level(Message Type). How can we leverage this change pointer mechanism in Enterprise Services.
2) Best practice to trigger the Outbound enterprise services from ECC system.
3) There are various tools to monitor IDOCs in ECC, what all are the tolls/transactions for monitoring the Enterprise Service.
4) What is your view on IDOC V/s Enterprise Service
Regards,
PrasHi Prasanna,
These are two quite different technologies and framework here that your questions are about. One is SMD (Shared Master Data) tool which involves change pointers & IDocs and the other is an Enterprise Service for example an ABAP Proxy or a Web Service.
1. Why would a customer want to do that especially for standard master data applications like Customer Master, Vendor Master, Material Master etc? I mean I don't understand the benefit of it when all these standard applications already support SMD. If a customer really wants these same functionalities via an Enterprise Service then they basically have to develop more custom applications to support this - for e.g. a Z program which will essentially replace BD21 to process the change pointers (CP) per application i.e. call the associated ABAP Proxy which will then create/do not create IDocs, process the CP by applying business logic, generate XML for PI to distribute further, email/do not email business owner, change the status of the CP depending on the outcome of the processing, exception handling etc. etc. But this whole thing, in my view, is cumbersome and sort of unnecessary as most of these things could be achieved via the SMD tool (except creating the IDoc itself of course!)
The other way, to totally get rid of the CPs and process every change via ES - one would have to enhance all applications in question to call the ES (ABAP Proxy) at the time of master data change! There is no equivalent of BD64 in ES so I don't understand the purpose to be honest.
2. In my view, to trigger it as an Outbound Proxy or Client Proxy via Method call.
3. SXMB_MONI
4. Like I said in the beginning, its like comparing two different technologies - I guess in the end it comes down to the business requirement at hand. Both can be very efficient (or very inefficient if deployed incorrectly).
Cheers,
Sougata. -
Imported Object Enterprise Service Builder
Hi..
when Imported Object Enterprise Service Builder
Connection data for the R/3 import is incomplete
Open the software component version SAP BASIS 7.10 and
enter the system and the client
can not import MATMAS object
How to resolve that problem
regards
chandanaDouble click on teh software component version in ESR for which you want to import idoc. Then select the raido button import of idoc interface from sap systems permitted. Then give the R3 system information like the system name, client and then try once again. It is nothing related with technical and business system.
step by step:
double click on SWCV->
Interface Import ->you have to provide system name , client then ll try to import
pls refer : http://forums.sdn.sap.com/thread.jspa?threadID=2143371&tstart=0 -
IDoc scenario - synchronous service
Hey,
I have the following scenario:
SAP system ---(IDOC)-----> PI -------(synchronous service)---> ext. System
but the response of the synchronous service should be:
ext. System ------(synchronous service response)----> PI -----------(server proxy)----> SAP system
That means, the Idoc is coming asynchronous in, but IP then calls a synchronous service. The response of this service call should then be routed over PI to a server proxy on the SAP system.
How can I so that the best way?
Thank you very much!
MichaelHi Markus,
My JMS receiver channel shows now the following modules:
1 AF_Modules/RequestResponseBean Local Enterprise Bean 0
2 SAP XI JMS Adapter/ConvertMessageToBinary Local Enterprise Bean convert_XI2Bin
3 SAP XI JMS Adapter/SendBinarytoXIJMSService Local Enterprise Bean exit
4 AF_Modules/ResponseOnewayBean Local Enterprise Bean 1
And the following Module configuration parameters:
0 passThrough true
1 receiverChannel -
1 receiverParty -
1 receiverService -
Are the parameters connected to the right module, or should they be set in the opposite way?
What have you set in receiverChannel/-party/-service?
Thanks in advance!
Edited by: Michael Schmidt on Nov 2, 2010 1:24 PM -
POS Integration-POSDM, ERP, PI - using enterprise services-Connectivity Kit
Hello,
below you find a link to the official Connectivity Kit for Integration Scenario: POS Integration.
The integration scenario POS Integration is based on SAP ERP and SAP NetWeaver BI /SAP POS Data Management using enterprise services.
You will find an implementation Guide as well as descriptions of the enterprise services used.
https://wiki.sdn.sap.com/wiki/x/1ACFAQ
Best Regards,
MarkusHi, Markus,
thank your for your input! very interesting!
I'm wondering which benefits this POS Integration over Enterprise Services has, comparing with the conventional IDoc transfer?
Regards
Rene -
Questions on Importing an Enterprise Service Definition into PI via ESR
Hi all,
I 've just created a service definition for BAPI_CUSTOMER_GETDETAIL2 and imported it into ESR and PI (steps below)
1) ERP - Created a Service Definition for BAPI_CUSTOMER_GETDETAIL2 called ZSD_ACCOUNT_GET_DETAIL
2) Configured the EndPoint in SOAMANAGER (tested the service works fine)
3) Published the Service in ESR (cut and paste the WSDL URL into the Publish Wizard in ESR)
--- Question1 - is there a way to publish from ERP directly
- (something simiar to how in PI Integration Builder you can publish a Sender Agreement
by opening the Sender Agreement and selecting Sender Agreement -> Publish in SR)
4) Created External Definition for the Message Definitions in PI
- I did this by downloading the WSDL from the ZSD_ACCOUNT_GET_DETAIL in ERP
- manually editing the WSDL to remove the policy defintions
- Imported the external definition into PI
--- Question 2 - Is there an easier way to get the WSDL or XSD in ERP (e.g. from the BAPI without the policy statements)?
--- Question 3 - Is there a way for PI Enterpise Service builder to import the definition straight from ESR (a menu option)?
--- Question 4 - Is there a way to export the WSDL from ESR to a file.
As I said I have it working but it definitely appeared to be a "clunky" process.
Any answers or tips in streamlining this would be appreciated.
Cheers,
JohnHi Mark,
Thanks for your response. I was aware of the functionality and I appreciate the link.
In hindsight I could have used this to import the data structures into the Enterprise Service Builder, which answers Questions 1 and 2.
For Questions 3 and 4, I guess I'm still looking for a better understanding of how the service registry and the Enterprise Service Builder interact.
Right now I'm publishing the service in the service registry and importing external defintions in the Enterprise Service builder.
I think this is cumbersome and ideally would think that the Enterprise Service Builder could "pull" external definitions from the service registry.
Thanks again for clarifying questions 1 and 2. The updated question list is below.
Regards,
John
Question1 - is there a way to publish from ERP directly
- no, instead use the import rfc and idoc functionality built into the Enterprise Service Builder
Question 2 - Is there an easier way to get the WSDL or XSD in ERP (e.g. from the BAPI without the policy statements)?
- Rather than use the WSDL use theimport rfc and idoc functionality built into the Enterprise Service Builder
Question 3 - Is there a way for PI Enterpise Service builder to import the definition straight from ESR (a menu option)?
Question 4 - Is there a way to export the WSDL from ESR to a file. -
Regarding enterprise services in ECC
Hi ,
In reference to whether using standard idocs or standard ES available in ECC box ,in case we are not using CE ( so no composite applications) and only using SAP PI to integrate could someone point out any best practices that are available. The majority of services for example for Order to Cash scenarios like Sales Order create are synchronous in mode. From performance and reprocessing perspective using an asynchronous mode would be preferable - so do we use enterprise services for straight forward scenarios like order creation in ecc from sender legacy application or we use it only when we have business process orchestration in mind for later.
RegardsHi Ravi,
It may be that you just need a delta cache refresh but I would start by checking the SLD configuration.
First strt with SAP Note: 1169869
- I think that you might need to try changing the vendor (sap.com) that's assigned to the Software Component Version.
- If you were seeing the SWCV before it should be installed on your system anyway but you can double check using the steps I've specified here: [Can't find ESA ECC-SE 603 SWCV;
- You might also want to check if the SWC is correctly assigned to the relevant business system/s in the SLD.
Regards, Trevor -
Enterprise Services - Architecture - Interaction with ECC
Can someone please link to architectural docuementation for Enterprise Services which explains how NW PI interacts with ECC?
Hi Jesse,
> I've already searched and not found what I was looking for
Which means you haven't used proper keywords. PI and ECC integration (using proxy, RFC, Idoc etc) is well documented and I am surprized to know that you weren't able to find it.
>So you should assume that the poster has already searched.
Nope. This is very common for people to do "Crowd-sourcing" and "do-my-job" and post question without searching (or rather lazy search) and that's why moderators are there
Let me give you few keywords for search.
ECC Proxy PI = Proxy connection between PI and ECC (provider as well consumer)
ABAP Proxy PI = same as above
SWF_BAM = Business Event triggering outbound services
Still you won't be able to find then read following:
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/c0e7ae66-be6d-2a10-d385-92e6e67dee10
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50d69314-1be0-2b10-11ab-8045021f0c3a
>If you have links, please do share, but please do not again reply to anyone's post with, "Go search."
Sorry if you are looking for spoon-feeding then you are asking at wrong place. I can only help you with some basics and then you need to figure things out by yourself and "one-liner" question won't help either.
Regards,
Gourav -
I am looking for some white papers / blogs on calling SAP Enterprise Services via PI. I would also like to get sdome idea of the following points:
1) A typical scenario using Enterprise Services
2) Is it possible to extend Enterprise Services as one might a BAPI, in order to enhance it specifically for a customer?
3) What is the performance like compared to posting IDocs via PI?
4) Is it better to call Enterprise Services via XI, or directly into the ERP system?
Kind Regards,
Tony.Hi,
this could be helpful:
All you ever wanted to know about Enterprise Services Repository and Services Registry Really!
Regards
Patrick -
Publish BUS1065 object to Enterprise Service Bus (Tibco)
Dear forum members,
We are trying to find out if a concept we designed will work. Our goal is to publish a full business object e.g. BUS 1065 (Employee) to the Enterprise Service Bus (Tibco JMS technology).
We plan to customize change pointers to the BUS object, which will trigger a replicate of the BUS object. We hope to create an outbound iDoc which will contain the full BUS object. The ESB solution will trigger a JMS publish on receiving the iDoc.
Does anybody has experience with replicating a business object for a non SAP receiver? Will our concept work?
kind regards,
RichardDear forum members,
We are trying to find out if a concept we designed will work. Our goal is to publish a full business object e.g. BUS 1065 (Employee) to the Enterprise Service Bus (Tibco JMS technology).
We plan to customize change pointers to the BUS object, which will trigger a replicate of the BUS object. We hope to create an outbound iDoc which will contain the full BUS object. The ESB solution will trigger a JMS publish on receiving the iDoc.
Does anybody has experience with replicating a business object for a non SAP receiver? Will our concept work?
kind regards,
Richard
Maybe you are looking for
-
IPod cannot be ejected due to use by other application?
How do I get my iPod ejected? I'm not sure what other application is using my iPod.
-
Is my iphone4 factory unlocked and will it work after i restore it??
i bought an iphone4 from the US,i am using it in India now. the retailer said it is a factory unlocked iphone. i did not jailbreak or unlock it , i even upgraded the phone to 4.3.3. and it is working fine. will it work if i restore it and is it facto
-
How do I stop Firefox from Zooming to Fill the entire Width of the screen with the Text Box?
In Portrait mode the zoom facture / percentage performed may not be as significant or frustrating. However in landscape mode zooming the text box to fill the width of the screen is ridiculous. It makes the box huge & sometimes impossible to see / rea
-
Error in editing the passwords and HTTPS Protocol
Hello! After I success install the uPerform Server, then I have shut down the server. The next day, I started to configure the server and find out that there has an error in editing the uPerformSystem and Solution Manager passwords. It pops up an err
-
5th gen and itunes 7..please help!!!!
i just upgraded itunes 7 on my computer just so i can buy games for my ipod video..i made sure that my settings were still on manage library manually..i connect my ipod and what happens it erases half of my music library and my playlists wich took my