System Landscape Directory: System Landscape Directory is the place where you register the meta data about integration systems in the landscape. You create software components, products, technical and business systems. Integration Repository uses the details of software component created here as a shipment unit for developing the message interfaces and mapping objects etc. Integration Directory uses the details of business systems for configuring the adapters and technical routing.Refer this Registering a new technical system in SLD - ABAP based by our little muse Michal. Use this to develop creating Products and SWCV .
Many a times we need to re-use repository objects like message types, data types across various software components. We achieve this in SAP XI by creating dependencies. Refer this XI: Are you Independent...from your dependencies? The most familiar thing with SAP XI is kind of weird errors that might occur due to incorrect settings and authorization problems. In the previous blog I provided the configuration information and system readiness check that has to be done for your safety and not breaking your head. Refer this Resolving SLD Authentication Problem.
Business System: Business systems are logical senders or receivers that exchange messages by using the Integration Server and that are entered in the System Landscape Directory. The business systems in the System Landscape Directory relate to a system landscape. The business systems of business partners are therefore not entered in the System Landscape Directory. To be able to address such business partners logically, use communication components in the Integration Directory. A business system is a way of specifying a communication component in the Integration Directory more precisely (business system component). Business systems are logical senders or receivers that exchange messages by using SAP XI and that are entered in the System Landscape Directory. The business systems in the System Landscape Directory relate to a system landscape. The business systems of business partners are not entered in the System Landscape Directory. To be able to address such business partners logically, use services in the Integration Directory. A business system is a way of specifying a service in the Integration Directory more precisely (business system service). It the business usage of the system, here each client suppose 100 for development, 200 for testing this client represnt the BS.Did you ever wonder how you can change the client of a Business System and it's related communication channels in scenarios that make use of SAP systems?
One might think that changing the client in the communication channel (sender and/or receiver) is enough. Unfortunately this is not the case. If you change only the client in the communication channel you'll get the following error: "Lookup of alternativeServiceIdentifier via CPA-cache failed for channel XYZ"
a) Either you create a new business system in the SLD and you restart the configuration of all your scenarios, or
b) You change the client from the business system in the SLD
I definitely didn't want to go for option 1, as it meant that I had to redo a lot of scenarios (sender agreement, receiver determination etc.). I would have lost significant time and the configuration work is subject to errors as well which would have meant retesting all of the flows.
1) In the SLD in the Technical Systems area, create a new client for the Web AS ABAP system.
2) In the SLD in the Business Systems area, click on the system that is to be associated with a new client.
3) Click on the Integration tab Change the associated technical system and choose your new client.
Remark: the name of the business system might be somehow misleading if you specified the client as part of its name.
1) Delete the Business System
2) Activate Changes
3) Import the modified Business System
4) Assign the new client to the communication channels related to the business system. (as the name of the Business System is still the same as before, the communication channels are automatically assigned to it)
5) Activate Changes.
If you want to address an abstract business entity as the sender or receiver of messages, choose this service type.
Using a business service, you can define the technical or business subunits of the companies involved and then assign them the relevant interfaces.
You usually use business services when configuring cross-company processes. In this case, you only make your interfaces known to the business partners involved and either do not make any details about your own system landscape available, or only specific details.
For example, you can define RosettaNet Partner Interface Processes (PIPs) as business services. Using a business service, you can define the technical or business subunits of the companies involved and then assign them the relevant interfaces.
Business Service is mostly used in B2B scenario (cross-company), where you don't know the Business Systems of your partner. In other words business service will be used only for those partners that do not have a physical landscape set up. Business Services do not have an entry in SLD.
Technical System: Technical systems are application systems that are installed in your system landscape. The following are the types of Technical Systems are:
Create Web AS ABAP technical systems
Create Web AS Java technical systems
Create standalone technical systems
Create third-party technical systems.
Technical systems are application systems that are installed in system landscape (a CRM server, for ex). Most systems (Web AS ABAP and Web AS Java systems) automatically report information to the SLD about the elements that they contain by using the SLD data supplier programs. You need to manually register the following types of system only: Standalone Java systems, Third-party systems. In simple words Technical system is for EX SAP R/3 Technical system represent the server name, IPaddress host name on which it is present. TS represent the physical location of it.
Integration Repository: We use this tool to develop the integration scenarios, message types, data types, interfaces and mapping objects and designing integration processes. I don’t cover all the objects information as it is very much available in SAP Help but cover the most complex objects of the Integration Repository.
Integration Scenarios: This is the place where you model the integration scenario and process flow from sender system to the receiver system in your project landscape. It is pictorial representation of what we are going to work in SAP XI. Refer to Companion Guide to Integration scenario. I don’t think you need any more info after reading this blog.
Integration Processes: We design a ccBPM if we need to do the stateful message processing that is you need to manipulate the message once it reaches SAP XI and before sending it to the receiver. Refer Walkthrough with BPM which is a very well compiled blog and XI: Do you really enjoy clicking and waiting while tracing BPM steps? which provides a way to see what actually happens at the runtime.One of the most confusing things in BPM is to understand about the correlation but as a guide I have to explain that too. Refer Do you like to understand “correlation” in XI? . Don’t miss to read out aloud as it is important in real time projects XI ccBPM Performance: under-perform or out-perform? .
Message Interfaces: The message interfaces in the integration repository are Outbound Interface, Inbound interface and Abstract Interface.Outbound interfaces are used to receive messages from sender, Inbound interfaces to send messages to the recievers and the Abstract interfaces are used to communicate from integration server to ccBPM or vice versa.
Mapping Objects: The most complicated for the new comer is to learn the mapping in SAP XI and am sure many will love this section. SAP XI supports four kinds of mapping Message Mapping, Java Mapping, ABAP Mapping and XSLT mapping to map the source message to the receiver message.
Message Mapping : Here we map the source message to the target using the graphical editor of SAP XI. Refer Message Mapping Simplified - Part I and Message Mapping Simplified - Part II.Read this for advanced concepts of message mappings New functions in the Graphical Mapping Tool SP13 and Introduction to queues in message mapping.We can enhance the message mapping using the user defined functions and please refer Testing User defined Functions for the XI Graphical Mapping Tool .
XSLT Mapping : XSLT is an open standard for mapping source XML and Target XML. Refer Generic XSLT Mapping in SAP XI, Part I and Generic XSLT Mapping in SAP XI, Part II .
Java Mapping: We can also map the source messages to target messages using JAVA API. Refer Java Mapping and also Testing Java Mapping outside SAP XI.
ABAP Mapping: Using ABAP API’s also we can map the source and target messages .Refer ABAP Mapping.
Multi Mapping: This is not a type of mapping but a kind of mapping that has to be used when you need to map a source message to multiple target messages or vice versa. We have to do it in ccBPM for previous SP levels but now we can do it without ccBPM for 1: N messages .Refer Multi-Mapping without BPM - Yes, it’s possible! for 1:N or N:1 messages and Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure for M:N messages.This blog Various multi-mappings and Optimizing their Implementation in Integration Processes (BPM) in XI. provides optimization techniques.
Evaluate Mapping Techniques: When I shop for chocolates I really take time to choose one good brand if I shown wide range and I choose the brand based on my priorities. Similarly you have to evaluate the mapping relevant to your project ! How do you do that? Refer Evaluate Mapping Techniques.
Value Mapping and Mapping Lookups : Value mapping is nothing but mapping the values of source message to the target message at the runtime.For Ex: Source system represents the male gender as 1 and target system represents the gender as Mr.We map th source to target using value mapping.Refer Value Mapping.We use a mapping look up if the representation mapping is dynamic and doesnot remain the same everytime. Refer RFC Mapping Lookup and JDBC Mapping Lookup and SOAP Mapping Lookup.
Acessing the System Parameters : The most frequently raised question is about acessing the system parameters during the runtime.Refer Accessing System Parameter during Mapping Runtime .
Integration Directory: Integration Directory is nothing but the technical directory of Integrating Systems. Integration Directory allows you to bind the system technical routing information to the interfaces through a communication protocols or adapters The most critical activity in the Integration Directory is configuring the communication channels or deploying modules or deploying your own adapters. I will address that exactly here.
Adapters: The task of an Adapter in SAP XI is to translate from the sender message format to XI message format or XI message format to receiver message format and can also be a called as a communication protocol between sender/receiver and SAP XI. Let us discuss various adapters which are widely and commonly used.
File Adapter: This is easiest adapter to start your hand on with SAP XI. You have the option to receive XML files or flat files. We use file content conversion to handle flat files like CSV files etc.To start with refer Introduction to simple File-XI-File scenario and complete walk through for starters-Part I and Introduction to simple File-XI-File scenario and complete walk through for starters-Part II .Now you are an expert and want to handle flat files then refer Sender File Adapter for Content Conversion and Receiver File Adapter for Content Conversion. If you still have a complicated case and confusion in the content conversion then search using Advanced Search Option with the Keyword file and Author Shabarish.Shabarish almost covered many scenarios in the file content conversion. Also additionally you need to know configuring the file adapter dynamically. If you want to achieve that then read this XI/PI: how to exclude files in a sender File adapter? and Dynamic Configuration for replacing the file dynamically at the receiver .Most of times we need to generate the file name at the receiver based on a global counter, If you have the same problem refer Dynamic File Name using XI 3.0 SP12 Part - I . In case of file content conversion there can be a problem due to the nested structures and hierarchies , If you encountered that refer Java Mapping to Handle Flat Files.
Idoc Adapter: The next most commonly used adapter is Idoc adapter for sending and receiving Idocs from SAP XI. The foremost step before configuring the idoc adapter is the system settings that have to be done. Refer How to Sample Idoc Scenarios in SAP XI contains exhaustive list and Configuration steps required for posting idoc's (XI) .Refer Configuration steps required for sending idoc's (XI) .Configure Introduction to IDoc-XI-File scenario and complete walk through for starters..Refer this master piece if you an expert in Java Convert any flat file to any Idoc-Java Mapping. The most irritating part is manipulating the control records in the Idoc Adapter. Refer IDOC Adapter - EDI_DC40 - demystified and XI Error - Unable to convert the sender service to an ALE logical system and Manipulating Control Records from Payload.You can tunnel the idocs through XI incase of Idoc to Idoc using XI: IDOC to IDOC tunneling - how fast (and easy) can you get?. Refer XI:Idoc Message Packages for bundling Idocs. What if you are stuck with a wierd error? Learn by yourself to do things without raising a forum thread for every small thing using Troubleshooting Errors in ALE/Idoc .
RFC Adapter: RFC adapter allows SAP XI to communicate with Integrating Systems using remote function call. It is nothing but a wrapper of SAP JCO. Refer Configuring the Sender RFC Adapter - step by step and HTTP to RFC - A Starter Kit . Now tell me what you will do if you encounter an error in the RFC scenario or you want to handle multiple RFC destinations in various integrating systems. Refer Debugging RFC calls and Maintain RFC destinations centrally .Refer RFC Adapter Reconnect Issue as this is the most common issue in real time.
JDBC Adapter: We use this adapter to connect database systems using the JDBC driver. We need to deploy JDBC driver Deploy JDBC Driver using the link .Start your hands on with FILE to JDBC Adapter using SAP XI 3.0 and Configure Sender JDBC Adapter.Try out Synchronous JDBC Adapter for synchronous case. One more thing is to try out Calling stored procs in MaxDb using SAP XI and JDBC Stored Procedures. Visit this RDBMS system integration using XI 3.0 JDBC Sender/Receiver adapter for an architectural perspective and Recent Enhancements to JDBC Adapter if you want to be upto date.
Mail Adapter: We can send and receive mails in SAP XI using mail adapter or by configuring SAP Connect and using SAP XI RFC Adapter. Use XI: Sender mail adapter - PayloadSwapBean - Step by step for sending mails from SAP XI and Dynamic name in the mail attachment - pseudo "variable substitution" and Mail Adapter (XI) - how to implement dynamic mail address for dynamic configurations of mail adapter. Once sender is done try understanding receiver using Mail Adapter scenarios – SAP Exchange Infrastructure. Using SAP Connect you can send mails by referring the link e-Mail XML messages in PDF format from SAP XI.Also check this How to use SAP XI Mail Adapters for detailed explanation.
SOAP Adapter: SOAP Adapter converts the SOAP messages into SAP XI message format that is SOAP with header attachments. This in an area many needs to really concentrate as it is heart of the ESA literature going forward. Refer Testing XI exposed Web-Services and Invoking XI Webservices.Shabarish also done a good job by posting the blogs RFC to WebService - A Complete Walkthrough - Part 1 and RFC -> XI -> WebService - A Complete Walkthrough -Part 2. You can down load a sample SOAP Client tool from SAP SOAP Client Tool.Please refer How to Set Up a Web Service-Related Scenario with SAP XI for delving more deep.
HTTP Adapter: The first thing any one need before starting is HTTP client for testing their scenarios. You can find that here Sample HTTP Client .Refer HTTP to RFC scenario and Must fire a HTTP GET from XI?? - - Try this!!! . You can use the handy HTTP tools provided here Some handy HTTP tools by Robert.
JMS Adapter: I really don’t have a fair idea on this adapter and only help you in providing the links. You need JMS drivers before you start your interface so please refer here Deploy JMS driver and How to use SAP's WebAS J2EE's JMS Queue in Exchange Infrastructure . Do you want to do content conversion in JMS? If yes, Refer How to Use the Content Conversion Module in JMS Adapter .You need to use JMS in synchronous manner then read How to Correlate JMS ?.
Proxies: Proxies are used while communicating with systems like SAP WAS >= 6.20 as they are provided with inbuilt integration engines. You will usually create a message interface in the repository and then generate a proxy in the application system. Proxy executables reside either in sender or receiver systems. Proxies are used only when sender/receiver and SAP XI understand XI message format. The one most important difference between a proxy and adapter is that the adapter converts the sender/receiver format to the XI message format but where as proxy does not need to do that as they natively understand the XI message format. ABAP proxies and Java proxies are available in SAP XI which can be used depending upon the requirements. For ABAP refer ABAP Client proxy and ABAP Server Proxy and for java refer Java Proxy . Donot forget to activate your proxies using the link Activate your ABAP Proxy! What is an error occurs?Donot tell me that you will raise a forum thread! Make a difference! Refer Debug your inbound ABAP Proxy implementation and Monitoring for Processed XML messages in ABAP Proxy.
Creating Adapter Modules: SAP XI Adapter Framework is based on open standards and JCA. So we can customize the modules for our project specific needs.Isnot it? So let us learn that using How to Create Modules for the J2EE Adapter Engine . Michal has gone one step further for configuring the modules dynamically which is documented here Dynamic configuration in adapter modules .
Develop SAP XI Adapters : What if SAP XI does not provide the adapter I require for my project? Why cannot we do that if it is based on open standards? Who told you can’t? Need an example? Refer Creating and Testing Sample Adapter . Don’t create it simply. Use this guide To Create or Not to Create an SAP XI Adapter to evaluate your adapter.
Let me to take a long breath for finishing Integration Directory, which is really tedious to get all the required and qualitative information.
SAP XI Runtime :It consists of three components Adapter runtime (J2EE) runtime, Integration Server Runtimes (ABAP) and Business Processes Engine runtime. Integration server runtime communicates with the other components for mapping, routing and stateful message processing (BPM).Once the development is complete when we send a sample message from the sender then it has to be sent to the receiver. We can monitor this at the runtime using the runtime workbench and using SAP ABAP transactions. Please refer How to Monitor SAP XI and How to Monitor Integration Processes - ccBPM .
Testing the interfaces: The most critical factor in any successful EAI projects is handling the errors and testing the interfaces effectively. You have lot of info here for many errors. Refer to this blogs How to test your mapping (in real life scenarios) and Test Your XI Configuration with the New Test Tool .Use this Simulating Extreme Concurrent Message Volume and Simulating XI Messages-Proto for simulating SAP XI messages. We always know however rigorously we test errors will happen as we are no super human beings. Errors are not a problem but we need to handle it in a proper way. Read Error Handling Framework XI (Out-of the box)-Episode 1 and Error Handling Framework XI (Out-of the box)-Episode 2.
Transactions: We need to remember many URL’s and transactions while working on SAP XI. Remember this cheat sheet Getting started with XI, part 1: XI 3.0 cheat sheet .
Transport of SAP XI Objects : We know that SAP has usually 3 landscapes for DEV, QA and PRD and SAP XI is no exception. ABAP transport of objects remains the same as like in any SAP landscape and you can transport java object through CMS or File. Refer Overview of Transition from Dev to QA in XI and Transport XI Content using CMS.