Lifestyle Sap Netweaver Process Integration Pdf


Saturday, May 11, 2019

SAP NetWeaver Process Integration Troubleshooting Guide SAP NetWeaver EHP 1 Document Version – January SAP AG Dietmar-Hopp-Allee SAP NetWeaver may be downported to SAP NetWeaver PI More information: SAP NetWeaver Process Integration converts PDF forms to XML. SAP ERP is SAP AG's Enterprise Resource Planning, an integrated software SAP NetWeaver Process Integration (SAP PI) is SAP enterprise application step by step tutorial in PDF and or Videos to help and guide me.

Sap Netweaver Process Integration Pdf

Language:English, Spanish, Arabic
Published (Last):17.12.2015
ePub File Size:20.54 MB
PDF File Size:11.23 MB
Distribution:Free* [*Regsitration Required]
Uploaded by: LESLIE

Process Integration with SAP NetWeaver PI Communication Using the Integration Server . Design and Configuration. TBIT40_EN_SAP NetWeaver Process - Free ebook download as PDF File .pdf) or read book online SAP PI Java Mapping Step by Step. It introduces the architecture and features of SAP NetWeaver Process Integration. 1 Unit 1: Introduction to SAP NetWeaver Process Integration BIT Lesson: the file is sent with as an additional attachment.

Skip to main content. Log In Sign Up. Bastion Kar. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.

In the detail view, inspect the error header of the message. Typical error categories are described in the subsequent sections. Therefore, the communication component in the Directory does not contain the correct SID and client. As a consequence, the transformation of the IDoc to the XI message fails. Routing Error If the receiver of a message cannot be determined, this may have two causes: The definitions in the Integration Directory are inconsistent or incomplete. For a given set of message header information, no receiver determination has been defined; this message cannot then be delivered.

This is also the case if the physical address information is undefined or incorrect wrong URL, wrong user. The technical base configuration is wrong. The target business system used in a receiver determination is not defined in the SLD, or the user for logging on to the target system does not have the required authorizations.

The addressing information is computed in the pipeline step Technical Routing and entered in the OutboundBinding header. The following are typical routing error situations: No outbound binding found Correction: Define an outbound binding for this message in the Integration Directory. Restart the message. No receiver agreement found Correction: Define receiver agreement in the Integration Directory. Wrong physical address After successful execution of the pipeline step Technical Routing, the OutboundBinding message header specifies the technical address in the ChannelAttributes element.

The physical address can be specified by means of an SM59 destination, or by defining the target URL directly in the header. In the former case, call transaction SM59 and check the destination specified. In the latter case, check whether the attributes in the header define a valid target address. Mapping Error The analysis of mapping problems is described in more detail in section Error Analysis of Mapping Problems and the problem analysis scenario Mapping fails for a certain Message Type.

Outbound Adapter Here, the relevant pipeline step in the message monitor is Call Adapter. A number of HTTP communication errors may occur. For further analysis of the problem cause, see the HTTP documentation on error codes. Depending on the error code, you may have to check the address that has been determined in the pipeline step Technical Routing and that can be found in the outbound binding.

Check whether the address points to the intended receiver in our scenario, the intended receiver is the Adapter Engine and that the authentication data is valid. If the outbound binding refers to an SM59 destination, you can test the connection by calling transaction SM Low-Level Technical Problem Possible error causes are an incorrect message format or an unavailable code page.

In this case you have to analyze the problem further together with technical experts. This is why delays occur when messages are processed. If not all necessary queues are registered, you can search for queues with the name prefix above by using transaction SMQ2.

Check Queue Configuration For a complete analysis, make sure that the queues of the Integration Server are registered. The fields are overwritten by the contents taken from IDoc adapter configuration. Solution You can control the function by selecting the Apply control record values from payload flag in the corresponding communication channel in the Integration Directory.

Fields of the IDoc Control Record. Solution The structure of the message does not correspond to the IDoc structure. Metadata inconsistent after update for information about the availability of the report. Solution The sender system must have a logical system name assigned as an adapter- specific identifier in the business system, business communication component, or business process in the PI runtime cache. Assign the logical system name to the business system in the SLD. Then, update the adapter-specific data in the business system in the Integration Directory.

The logical system name will be updated in the PI runtime cache. Search for the communication component and check if there is an entry for the communication component schema LogicalSystem for the same communication component ID.

Solution The logical system name also needs to be updated in the runtime caches. After changing the logical system name in the SLD, you have to update the adapter- specific data in the business system.

Now save the business system and activate the change list. This may cause problems during mapping or when updating data in the receiver system. The data received is not correct or the XI message gets an error during the adapter call because the metadata is not correct.

During processing of the next XI message using this data, the cache will be filled automatically. Metadata Inconsistent After Update for information about the availability of the report. PI sends the message to system B which sends back an acknowledgment. To avoid problems with acknowledgments for already archived or deleted messages, you can add the hop list information to the request message.

In this case the sender can be determined from the hop list, therefore no request message is necessary. You can do this in the communication channel. Be aware that this is only possible if you are sending the message to the XI adapter proxy. You get the following error message In particular, the XMB.

Try to log on to the system using this user. RFC Adapter 7. An example of the RFC adapter configuration can be found in the shipped demo examples. For more information, see the Demo Examples section. To improve the performance of your message exchange you may have to increase the value of maximum connections.

The value has to be set according to the number of messages to be processed in parallel. The value is internally limited to If the RFC adapter runs on a Java cluster with more than one server node, the number of registrations at the SAP Gateway is the number of connections configured in the RFC sender channel multiplied by the number of cluster nodes the RFC adapter is running on.

Solution The connection information set in the sender channel is used to establish a connection to the sender system. This connection is used to get the metadata and for the RFC message exchange.

The Unicode flag has to be set in the sender channel when the sender system is a Unicode system. If the sender system is a non-Unicode system, you do not have to set the flag for Unicode in the communication channel.

To check the destination, use the Test Connection button in the RFC destination in transaction SM59 after you have activated the channel. Problem You want to know more about the plain HTTP adapter, how it has to be configured, and how to analyze errors. Calling the HTTP service. Runtime If you have problems sending requests to or receiving calls from the HTTP adapter, you can use the ICM trace to get more information about the problem.

Seeburger offers the following industry-specific packages to meet the needs of customers. The underlying adapter technology ensures that best-effort delivery, guaranteed-exactly-once delivery, guaranteed-in-order delivery, an automatic retry mechanism, and automatic switching to alternative communication channels are available for all kinds of communication.

All adapters support the inbound direction sender adapter and outbound direction receiver adapter. A broad range of international code pages and character sets are supported.

SP Correlation. The persistence layer is accessed by HTTP servlet communication. Create an entry in the property store with the following values: Mar 25, 2: Connection refused Caused by: Connection refused at java. This broker is called CommunicationService or seeburger.

TBIT40_EN_SAP NetWeaver Process Integration.pdf

For this reason, the CommunicationService must be deployed and running and must be allowed to bind port It is not obvious in all cases what the status in question means. Solution See the table below for a description of all allowed status values. Analysis The restriction that is imposed by some technical adapters needs a workaround. The MessageIdStore table deployment does not contain indexes for these tables, which can lead to heavy load in environments where the message throughput is high.

Problems like this are usually caused by either the use of incorrect aliases or insufficient privileges for the user specified in the managed connection factory properties connector container service of the adapter.

Solution Perform the following checks: These resources are bound to hosts, which means they are accessible from certain hosts. All hosts that are allowed to access a certain resource that is: An assignment connects a resource to a host name, which can be fully qualified or a short version of the host name for example, myhost or myhost.

Solution Check the Adapter Status Monitor or Communication Channel Monitor to find entries for the adapter start that state the host name that the adapter is aware of. For outbound processing, the number of channels total must be higher than the number of channels incoming.

This is also applicable for passwords configured in the channel configuration of non-Seeburger adapters. Analysis The Seeburger monitoring user interfaces are not able to decide which fields are password fields, based on the information they receive from the CPACache. As a result, all fields are displayed as plain text. The passwords are also displayed as plain text instead of asterisks. There, all fields that may be passwords and should be displayed as asterisks should be identified by adding the field names as: Important Notes for reference: Problem You want to know more about the SAP Conversion Agent by Informatica, for example, how it can be used and how it must be configured.

NetWeaver Conversion Agent you can find general information about the Conversion Agent CA , as well as licensing and links to available documentation. All objects necessary for the configuration are delivered by SAP. To get started you should use the scenarios described in the guide: Using NW 7. Simple Use cases for NW 7. Simple use cases PI Error Codes Information Problem You would like to know which error statuses are possible in the PI Integration Server during processing of messages to enable better error handling by your support organizations.

In addition, you would like to know if the specific message status allows automatic or manual retries, or none at all. Values are displayed with their corresponding explanation for the restart mode: Correctable By Manual Retry N: Message Packaging Starting PI 7.

Each package contains individual, unrelated messages. They are saved to the database individually; no special package archiving function is available. Messages can end up in various different packages while they are being processed because a new package is created for each processing step.

You configure how packages are created in the sender system and in the central Integration Engine. Packages can be received and saved in the receiver system. They are then processed as individual messages. Problem You would like to know more about this feature, how to configure it, and where to find more information in the event of errors. Solution Sender adapters handle message packages in different ways: It can send IDoc message packages to an IDoc receiver.

When sending IDoc message packages, we recommend using message packaging rather than the function for activating IDoc message packages transaction IDXPW , because you do not need to make any additional configuration settings and because there is no delay in message processing. It is not possible to configure mapping- based message packaging. To activate packaging, set the value to 1.

Starting PI 7. You can configure message packaging to suit your requirements. To make a global package configuration such as this more specific, you can assign a configuration type not just to a specific message packaging location, but also to a specific sender or receiver ID defined in transaction SXMSIF. This configuration type is then applied instead of the global configuration for those messages that correspond to this sender or receiver ID. This method also enables you to deactivate message packaging for specific receivers.

You can log errors that occur when packages are being processed.

(PDF) SAP NetWeaver Process Integration Troubleshooting Guide | camilo diaz -

You must only use this parameter in a development system or for the purpose of analyzing an error situation because it is possible that any errors that occur will be reported more than once. Message Packaging and - BPE: Solution You define if and where the validation of the message payload takes place in the respective collaboration agreement. For scenarios using Advanced Adapter Engine, validation of the message payload can be specified in the integrated configuration.

For classical scenarios using the Integration Server you can define XML validation in the following way: If validation takes place in the adapter, a synchronous response is sent to the sender when an error occurs. If validation takes place in the Integration Server, the message is set to error status and it can be processed by the administrator in the Runtime Workbench. In the receiver agreement, you can configure the validation in the Integration Engine.

Validation in the Sender Adapter If the sender adapter has created the message, you can perform the validation of the message payload. If the structure of the payload differs from the definition of the data type provided for comparison, message processing is stopped.

The adapter sends a synchronous response to the sender of the message, informing the sender about the structure error. All sender adapters including non-SAP adapters can perform this kind of validation. Validation in the Integration Engine In inbound and outbound processing, validation of the message payload is performed as pipeline step in the Integration Engine.

If the structure of the message payload does not match the saved definition of the data type, an error description is generated. The error description contains status information and a list of all structure errors. Message processing is stopped. The message is set to error status and an error report is saved.

Messages that have an error status after validation has been executed can be processed further by an administrator in the Runtime Workbench. The administrator can resend messages and skip the validation step. Fault messages, receipt acknowledgments, and exceptions are not validated.

Solution You can check the Cache monitor if the xsd of the message is available in the cache. This can be checked by following steps below: If the schema is not available in the cache monitor, try to activate the corresponding collaboration agreement or integrated configuration object.

If XML Validation does not find schema in cache, then the file system is checked for the corresponding schema. In this way, the fall-back option to previous releases is also supported.

Problem You need to update the Schema available in the Cache monitor with the updated schema available in Enterprise Services Repository. For this to use follow the steps same as in section 2.

Solution This generally happens when the message does not adhere to the message structure defined by the xsd. You can see the detailed error available in the audit logs under message monitoring. You can then update your message with the structure that adheres to the structure defined by the schema. Problem You want to persist the message even if it fails with XML Validation error on the sender direction. More information on this setting can be found in Message Versioning Guide.

This section gives an overview of several known timeout issues and the parameters for adapting timeout settings. After this time the attempt is treated as an error. Default for Max. Wait Time: This specifies the timeout value for the cluster communication in the AS Java Engine.

Even though the default value of 15 seconds should be sufficient for the adapter monitoring functionality, you can increase this value in cases where you are experiencing cluster timeout exceptions of the cluster communication mechanism of the Java Engine.

The default value of 60 seconds is very generous. If cluster timeout errors still occur, you must increase this value. The value specifies how long the messaging system waits for a response during synchronous communication. If this time elapses, a "MessageExpired" exception is triggered. FTP Timeout Handling. It is also used to set the valid until field of a synchronous response message sent from the adapter to the SAP Business Connector.

Within this module, the XI message is sent to Adapter Framework messaging. This property sets the timeout, which is used to send the message and wait for a response. If the given time has elapsed, an exception is thrown by the Adapter Framework and sent back to the sender.

You can change this value by setting the XI. Timeout parameter in the module configuration table. The value must be set in milliseconds for example, for 5 minutes. IBM iSeries: The "pollIntervall" and "pollAttempts" properties define how often and at what interval the messaging system tries to access the listener beans.

In the default system, this is a maximum of 10 attempts every 60 seconds. During server startup, applications are always in a second phase after the services; therefore they are unavailable during the MS initialization. If your system starts very slowly if it takes more than 10 minutes , you may need to increase "pollIntervall" and "pollAttempts". Session Timeout Default: You can enter a cluster ID.

This specification prevents queue jumping in the JMS queue and guarantees that only one server node is used to process messages with EOIO. This configuration ensures node failover by the adapter in a clustered environment.

Quality of Service. Which quality of service QoS is supported? Interface Split: Prior to XI 3. Processing Sequence of Interfaces. The input help offers you only the current and existing queue names of messages in the system during the specified time interval.

Usually only the value for the PI outbound queue is still visible due to longer processing time spent in PI outbound queues. Input help display: Select the additional table columns Sequence ID, Serialization Context, and Sequential Number to display the values for more detailed analysis. Here you can find all EOIO messages still to be processed sorted by serialization context and sequential number: Acknowledgments Supported in Adapters Problem You want to use acknowledgments in your PI scenario and want to know which adapters support which acknowledgments.

It does not normally contain a payload exception: We differentiate between system transfer and application acknowledgments.

This information is transferred to the receiver. Acknowledgment has no payload. Exception is an acknowledgment coming from the IDoc adapter The following table shows what types of acknowledgments are requested by the sender adapter and sent back by the receiver adapter.

IDoc Adapter: Such a configuration is necessary if the message delivery by the JMS adapter in your scenario is not sufficient to trigger a SystemAck. There can be several SystemErrorAcks, with one acknowledgment message for each retry. These can also be followed by a SystemAck if there is a successful retry.

Java SE Adapter: This can be configured with the XI. AckFinal parameter. Acknowledgments in the BPE. In the PI receiver channel you can select whether the hop list is transferred to the receiver as well. If the receiver sends back an acknowledgment, the original sender can be taken from the transferred hop list.

If the hop list is not transferred together with the message, the original sender has to be taken from the request message and it must not be archived until all acknowledgments are processed. PI Runtime 8. In PI there are several steps to be executed that can cause problems receiver determination, mapping, technical routing, and so on. Problem You have a problem during PI message processing in the PI runtime and want to get more information about the error and how to analyze and solve it.

Analysis Trace in the XI Message To get more information about an error in the PI message, increase the trace level from 1 default to 3. If you want to analyze one particular message that has caused an error, you can increase the trace level during restart of the message.

A popup will ask you if you want to increase the trace level. The trace will be written with level 3 for the steps after restart. It does not work for synchronous messages or for messages that are already processed successfully.

This can be very helpful if you want to view the message payload before and after the mapping step. Error Analysis Settings To analyze special messages or special connections you can use the error analysis settings in the system. After saving, the settings are active and you can send a new message. This can be used for all incoming and outgoing requests that use the HTTP protocol.

These adapters use the RFC protocol. Each pipeline is a set of pipeline services that are ABAP object classes, which perform a step on a message. These steps are: Technically, these steps are carried out using qRFC.

Troubleshooting, however, is the same for all queues. The underlying qRFC technique results in a subsequent handling of the incoming messages: Only the message that occupies the first slot in the qRFC queue will be handled.

Once this message has been successfully processed, the next message in the queue is handled. If the first message produces a system error, for example, the receiver system cannot receive the message, then the status of the queue will change to error and it will not process any further messages. In the daily operation of a PI system, blocked queues are found in different ways, though the first way is the most common: Although the queues in PI are called inbound and outbound queues, they are technically both inbound queues.

Consequently, only the monitor for inbound queues can be used to monitor the queues used by PI. To check if a queue is blocked, either set Waiting Queues only to X on the selection screen or refresh the overview page several times and note the number of entries. From there, navigate forward to the respective blocking message by double-clicking the entry in the TID column in the first line.

Solution First of all, try to solve the problem that led to the blocking of the queue in the first place. It could, for example, be a receiver that could not be reached. After the message has been successfully processed, the queue is no longer blocked and starts processing the next messages. It can, of course, happen that the problem cannot be solved or cannot be solved in a reasonable amount of time.

In this case, you have two options: Once canceled, the queue should start processing the next message. Note that canceling a message that is part of an EO or an EOIO Exactly Once in Order queue could have a severe impact on the application logic of the receiver, because this message will not be sent again by PI.

You should never delete LUWs because this leads to inconsistencies missing queue entry. Make sure that not sending this particular message is justifiable! There are also known bugs in previous support packages that can lead to queuing problems. See the Relevant Notes and Information section. Consequently, even if a queue is blocked for a specific receiver, maybe for a good reason, a message for other receivers will still be processed.

Information about configuration parameters can be found in your system. Choose a category and choose Information. You would like to evaluate what is going on with your message forwarded to the Integration Engine because you are encountering unknown and irresolvable error situations. Message scheduled commit follows and does not reach the receiver.

Synchronous messages For synchronous messages this status means that message processing is not yet complete neither successful nor with an error. This probably means that an error occurred on the receiver side but the status was not reported back to PI for example, short dump in function being called by RFC adapter. To find the cause of the problem, have a look in the system log transaction SM21 and short dumps transaction ST Otherwise, analyze the problem in the target system.

Asynchronous messages Check the status of the corresponding RFC queue.

Scheduled for Outbound Processing and does not reach the receiver. Solution The message is probably waiting in the qRFC queue. Usually, you find the first LUW in the queue that led to an error during processing. Then, you will either see a screen from which you can get the message ID or depending on the release you are forwarded to the XML message directly.

Check if they are running; otherwise choose Start in the lower part of the window. Usually the Java Engine starts all services automatically. Web Service Runtime 8. Problem You are using the Web service runtime to exchange messages and encounter problems during runtime. Adapter Framework Runtime 8. The messaging system of the Advanced Adapter Engine tries to send a message to the Integration Engine but fails with a communication error, for example: For asynchronous call: Transmitting the message to endpoint http: Error transmitting the message over HTTP.

Connection refused: For synchronous call: The error message is different if the port cannot be reached at all. The message was successfully transmitted to endpoint http: Integration Engine tries to send a message to messaging system of the Advanced Adapter Engine but fails with a communication error, for example: Analysis x Check the audit log of the message in the messaging system 1.

Check the following: PartyName, SAP: There are different solutions: HTTP o The specified path cannot be found using the server: There may be different solutions: You want to check whether your system is correctly configured or whether the system self-diagnosis finds any related issues.

You want to know how to monitor integration processes. Check the monitors from the Business Process Engine area for errors or warnings. Execute the analysis method of the monitors with open alerts. This will display troubleshooting information related to the error. Follow the advice given by the analysis method. Check the messages and process instances related to the problems using the workflow log.

Analysis First, check for configuration errors in the Integration Directory, for example, missing interface determinations to map the interface of the message to the corresponding abstract interface of the process. Make sure that the quality of service matches the one expected by the process, that is, sending synchronous messages quality of service BestEffort to a process with only asynchronous service operations in the process signature will not work.

Check whether the payload matches the definition in the Enterprise Services Repository with respect to the operation of the service interface, that is, whether the payload has the expected root tag and namespace.

This will bring up a support tool screen with information about the message and the BPE inbound configuration and several support services. Use the information and the services to check for common problems: If the simulation result shows a specific process instance, use the log button to navigate to its workflow log and check whether the process instance is in error status. Note that messages cannot be delivered to process instances in error status or, if buffering is turned off, to processes without active receive steps, so follow the advice in the corresponding section to continue the process instance.

Deleting Process with Correlations, deactivating the correlation instance that routed the message to the process instance. Unprocessed Messages, which describe the most common errors.

Check the trace data by double-clicking the data column of the trace lines. Attach a screenshot of the Exceptions item tree completely expanded or the data downloaded using the Save Locally as XML file button to a customer message on the subject. Analysis Check the step history of the technical workflow log for error messages. If the error messages report communication failures, check whether the Java mapping runtime is up and running, and whether the receiver system can be reached.

After resolving these communication problems, process instances can usually be continued. If restarting the process instances does not succeed, check whether the error message in the step history helps you to find the cause. If the step with errors is a transformation step, check the mapping trace see the corresponding section. If the step with errors is a send step, check whether it is failing due to a negative acknowledgment being received.

In this case, you might have to take appropriate measures to handle this in your process definition, for example, define an exception branch to handle the problem. If the send step is of mode Synchronous, check the error message from the receiver system or the messaging layer and take appropriate actions.

If you cannot resolve the issue based on this error message for example, by creating an exception branch for the fault message or the system error and the help given in the corresponding sections of this document, forward the customer message to BC-XI-IS-IEN for a detailed analysis. Resolve the problems described in the log entries.

You want to check the mapping trace to check why it failed. Select the transformation step in question and open the container tab page. If the step does not create a new transaction, the trace is shown in the text area in the lower part of the dialog.

The message interfaces known from prior releases are still supported by creating service interfaces of category "XI 3. Operations are distinguishable by the underlying message type, which in turn has to be defined by a unique root tag and its namespace. If messages are not accepted by the BPE with the aforementioned error messages, check whether the actual payload matches the definition of the message type of the operation.

The requirement that the root tag matches the definition in the Enterprise Service Repository is not enforced for category "XI 3. On the other hand, in scenarios using service interfaces with multiple operations, the root tag of the payload must adhere to the definition in the ES Repository. The title of a user decision work item is displayed in a language different from the user's logon language. Analysis The user's logon language differs from the language with which the work item was created or the title has not been translated into the user's logon language.

Due to performance reasons, the work item titles are not translated into the user's logon language by default when viewing the list of work items. Instead, the title is displayed in the language the work item was created with or, if it has not been translated to this language, the default title for user decisions is displayed. Make sure that all necessary translations of the title were provided in the process definition and have been activated. Analysis The user decision texts have not been translated into the language the user is logged on in.

Translate the texts of the relevant integration process in the Enterprise Services Builder and activate the changes. However, the reconfiguration does not finish although no hanging queues are to be found in transaction SMQ2.

Analysis There are still messages to be delivered with the previous configuration. If these messages are no longer deliverable, for example, due to the errors not being recoverable, or because no more delivery attempts are to be made, logically delete them using the relevant administration function.

As soon as all pending messages for the previous configuration have reached a final status either delivered or cancelled , the reconfiguration is processed. Analysis Integration processes can only propagate the principal of the message starting the process instance.

To avoid ambiguity at runtime, principal propagation can only be enabled for processes that do not use correlations that is, there are no inbound messages besides the starting message. If your process needs to use correlations, principal propagation cannot be enabled for this process. If your process has only a single inbound message, but you are still not able to activate principal propagation, check that no correlations are defined or used in the process definition.

Remove any correlation definition, usage, or activation and activate the changes made to the process definition. They are always delivered in the logon language of the user that processed the control step raising the alert.

If you want to ensure a certain language for the e-mails, change the logon language of the relevant technical user using transaction SU Analysis As already stated, e-mail alerts are delivered in the logon language of the user that processed the control step raising the alert.

Translate the alert category texts into the logon language of the processing user using the relevant menu function of the alert category object in the ES Repository. Different technical connections are used to connect all of them. Setting Up the Connection The connection data used to set up the technical communication is stored in different places, mainly the exchange profile and the SLD. Specific configuration is available for special connections, for example SM59 destination for cache refresh.

The standard way for one PI component to connect to another is as follows: The following table shows where which information is stored: Exchange Profile data: For more information about the users used for internal communication and which authorizations are needed, see section User Concepts.

Access to Exchange Profile: All components need to access the exchange profile to get connection and user data and other data relevant for message processing and PI configuration. Java Components: The Java components connect to the exchange profile using the RFC connection set up under the Connection link in the exchange profile UI.

Checks and traces: Repository for example, for sending cache notification for adapter metadata changes Checks and traces: For information about errors you should check the logs and traces of the two communicating components. Integration Server Checks and traces: Reading landscape from SLD: The following connections are involved: Check default.

Caching Communication. The Integration Builder client is downloaded to the client PC, then an Integration Builder client-server connection is used. J2EE messaging Problem You want to know more about the messaging communication in PI and how to analyze and solve problems in these connections.

The connection used is HTTP based. These adapters communicate using the HTTP protocol. Problem You need information about how to analyze and solve problems associated with the PI caches. The cache update transports the configuration in XML format.

Probability for such an error is very low, however it cannot be ignored. This issue has also been reported for customer systems. Presently in such case customer needs to restart CPA Cache Service on all cluster nodes, as there is no way to find out the node on which the CPA Cache contents are inconsistent.

Solution The solution currently available is either to restart the CPA Cache service or to do a full cache refresh. Both solutions are time-consuming for a production system. The new solution is to do the local synchronization. Here the nodes will update their in- memory cache with the CPA objects present in the database. To trigger a local synchronization, perform the following steps: Open NWA http: Choose Synchronize. This action will trigger the local synchronization of all the nodes.

To check the status of synchronization, choose Synchronization Status. Perform a dummy delta refresh using the following link. Problems and Solutions Solution This error is caused by missing elements or inconsistencies in the SLD; sometimes there is more than one domain registered and the elements are not in the same domain. If not, generate the profile and execute the user comparison.

Solution This error means that this system is not defined as an Integration Server, so the cache will not be updated. Solution The system cannot find its business system in the SLD, so the cache is not updated. If problems occur during mapping there are different options for analysis. Problem You are having problems with your mappings and want to analyze them. Analyzing mapping problems. Analysis of value mapping problems. Mapping is used during the message flow.

Analysis The following figure gives you an overview of the analysis process: Check Receiver Data Define the selection criteria as appropriate to reduce the list of messages. Double-click the first column of the problematic message to display the details. Check the received application data.

Is the content as expected? Check whether an operation mapping has been executed: There are two ways to do this: Three different outputs might occur. The relevant entry is contained in the next Trace tag. No operation mapping is necessary. In this case, the trace contains the message: No mapping required. An operation mapping is executed. In this case the trace contains the key information name and namespace of the executed operation mapping.

An operation mapping is necessary but is not available in the cache. In this case, the trace contains the following entry: Interface Mapping XY is not present in the runtime cache. If you have analyzed the trace as described in section 2 with the result that an operation mapping is necessary but not executed, the answer is clear — yes. Otherwise, you have to perform the following steps to get the information: You can access the information about the sender and receiver from the details of the message.

Log on to the Integration Directory. Use the navigation tree on the Objects tab or the query to get the interface determination used for the message. Open the interface determination with a double-click and check whether an operation mapping is defined. Check the Operation Mapping Version Used 1. Open the interface determination in the Integration Directory see above.

Start the Enterprise Services Repository and open the operation mapping referenced by the interface determination name, namespace, and software component version are given. Use the navigation tree starting with the software component version , selecting the namespace. If the namespace is not visible, open the Basis Objects node. Look at the namespaces listed there. This Basis Objects node contains the namespaces of the software component versions the software component version is based on.

From the correct namespace, navigate to Operation Mappings. The mapping should be present there. To check the version, open the software component object from the navigation tree and choose the SLD Info tab page. Look at the entry GUID. Compare the information about the name, namespace, and GUID of the software component version with that used by the Integration Server.

Any difference indicates that the cache is not up-to-date and, therefore, that there is an incorrect version of the operation mapping.

Check Mapping Program Version Used 1. Open the operation mapping in the Repository see section 4. Make sure that the object is in status Active see status information at the top of the editor. If it is in status Being processed, you are dealing with a version that is part of your change list but not active, that is, not relevant for the cache the same is true for the mapping itself.

Navigate to the mapping program s by double-clicking them. Different types of mappings are possible. To check the version of the mapping used on the Integration Server, start the Runtime Workbench and choose Cache Monitoring. Select Mapping Runtime as the cache instance, and as the cache object mapping program, enter the search criteria for the software component version and the mapping program name we recommend that you use the input help as the mapping program name has to have a special syntax.

Compare the two Changed On dates, in other words, check whether the cache was updated after the last time the mapping changed. If this is not the case, the cache is not the correct version. An interface determination, operation mapping, or mapping program is missing or not present in the correct version.

For the upcoming analysis, useful information is available about the user who submitted the relevant objects and when this was done. This displays information about the last changes. The object ID is also of interest. Start the Runtime Workbench. Select Repository Cache Notification Table as the type. Look at the entries for the relevant user and date. Look at the entries for the relevant cache instance, user, and date.

Check the notification status: In this case, the communication between the Directory and the Integration Server does not work properly.

Check Cache Update Status 1. Perform the steps as described in section 6. In this case, check the Cache Update column. Green is OK, red indicates an error situation. In the case of an error, you have to switch to the Problems tab. Double-clicking the entry displays the error message that has to be analyzed which should also be present in the logs. In both cases, the update may have failed due to connection problems between the Integration Server and the Directory or the Directory and the Repository.

If there is no information in the Directory or on the Integration Server, you have to investigate the PI logs. The notification of the cache on the Integration Server may have failed due to connection problems because the HTTP service is not running on the Integration Server. Call transaction SICF. Log on to the browser that then opens you may have to close all browsers. If this does not happen, this could be caused by a problem with the HTTP service and has to be analyzed.

If the user and password are correct, an HTML page is returned containing the following message: Server reached successfully. If you get an authorization error, you have to check the user and password entered for the test. Check the user name and password for the Directory service user by retyping the values as described in section Check Service User Name and Password at the end of this PAS.

Repeat the connection test in transaction SICF and check if it works now. For mapping objects edited in the Enterprise Services Repository, the initial notification is started from the Enterprise Services Repository. Start a Web browser and enter the following URL: A logon request should appear. If this is not the case, the Repository or possibly the whole AS Java is not running and has to be started. If you get an authorization error, you have to check the user and password used for the test.

You check the user name and password for the Repository service user by retyping the values as described in section Check Service User Name and Password at the end of this PAS. If the logon pop-up appears: Check the user name and password for the service users by reentering the values as described in section Check Service User Name and Password at the end of this PAS. Repeat the connection test with the URLs.

Retry the Cache Update and Resend the Message 1. Switch to edit mode and save the same version, that is, with no changes to the content to activate the save pushbutton, just add and remove a blank in the short description.

Activate the object and resend your message after the cache update is complete. Since this will take a while and no message processing can take place during this time, only do a full cache refresh if really necessary. Call transaction SM58 to check the status of the refresh process. Analyze PI Logs 1. Select Default trace Java and search for Application sap.

Additional Information: The applications involved are the Directory, Repository, and Integration Server. For each of them there is a service user with a special user role: First you have to get the name of the user who has the required role.

Enter the service user role: Call transaction SU01 to check whether the user is locked. The Logon Data tab displays information about the lock status: You also have to check whether the service user has the correct user type: System or Service not Dialog.

Check whether the profiles for the user have been generated. Choose the Profiles tab: If the profile for the role is not generated, you have to call transaction PFCG. Choose the Authorizations tab and check the status of the profile generation: If generation is incomplete, switch to edit mode and delete it first.

To generate the profile, choose Display Authorization Data on the same tab page. As a final step after successful generation, choose the User tab page on the previous screen and perform a User comparison. At this point, the user name for the service users should be clear and the users should not be locked.

In addition, the role profiles should have been generated successfully. Unlike freely-modeled data types, core data types also contain additional information about the semantics of a data type. The representation term of a core data type defines semantics for a more accurate characterization of the data type, but does not yet define business-relevant semantics with a specific reference to business processes.

This type of mandatory characterization does not apply to free modeling of this category of data type as an XSD type for example, xsd: However, in contrast to last category of data type described above, they are not intended for a specific usage. On the contrary, a GDT is designed to be reused later in many different application scenarios.

Note that all data types contained in your Integration Repository PI 7. Freely-modeled data types include elementary data types, which define the properties of elementary fields. Several fields can be grouped together in a complex data type to describe the structure of an XML document node.

Elements belonging to a complex data type can be typed with an elementary XML type, an elementary data type, or with a complex data type. This allows you to construct nested data types. An occurrence is specified for each element. The fields of this structure reference complex data types, which correspond to line types.

The number of occurrences of the node permitted at runtime cardinality is also determined. The term node here is used to mean a structure. It references a single, complex data type. A message type can be used for both outbound and inbound service interfaces. A service operation represents the service interface and its interface as a whole, uses attributes to describe the type of interface used, and distinguishes between inbound and outbound interfaces.

If the interface is used in an integration process, then it becomes an interface with the attribute abstract, this attribute has no direction outgoing or inbound but represents the placeholder of the message in the integration process. You can define Fault Message Types for application error messages and reference them in synchronous interfaces.

Asynchronous inbound interfaces can also reference a fault message type, in which case the application error is persisted in the target system. Enterprise Services Repository: Interface with a Nested Structure These interface objects are presented in a specific sample scenario below. At runtime, the corresponding message might look as follows as an XML document: Message with Multiple Nodes The receiver inbound interface in the example scenario consists of a message with two independent node types.

Each node is optional and can have an unlimited number of occurrences at runtime. The term node here means structure in an XML document. Message Type with Multiple Nodes Figure In the WSDL file messages types become message elements, data types become type elements and the interface itself becomes a port element. Imagine a message InvoiceOut which, among other things, contains the address of a customer. For example, you would use the following expression in XPath to access the contents of a field such as postalCode, which is stored in the address of customerData and which belongs to the InvoiceOut message: If you need this expression in several conditions, then you must type it or copy it in every time.

Alternatively you can assign a context object to the postalCode field, for example with the name PostalCode. In all conditions where you need the field value, it is enough to use PostalCode from the context object, so that these conditions are more readable. Context objects encapsulate the XPath expression with which you would otherwise access the field contents and they represent a comfortable alternative to XPath expressions for accessing message contents.

You can reference a context object in several interfaces to clarify which different interface fields correspond to the same business content. After you have created a context object in the Enterprise Services Repository Integration Repository and assigned it to the field of a request message Context Object tab page in the service interface , you can use it in the following situations: To determine the receiver of a message depending on its content.

To process the process steps depending on the content of a message. There is a range of predefined technical context objects to enable you to access the message header information. Interfaces in the Enterprise Services Repository You can create interfaces using one of the following methods: In doing so, you generate an XML schema. Software Components and Products Exercise Objectives After completing this exercise, you will be able to: A representation of the most important software component characteristics and their corresponding interfaces is a prerequisite for this.

Task 1: Some major terminology changes were made in this release. To make the transition to the new terminology easier, each of the new terms is followed by the corresponding older term in parentheses in the solutions.

Log on to the SLD. How many product versions are there? Which software components belong to product version 3. For the purposes of this course, we have created products and software components that are not delivered. Task 2: Search for the software components listed above. Check which interfaces have been saved for each of these software components.

Note the different types of interface, namely, service interfaces that have been created, SAP interfaces that have been imported IDocs, RFCs , and external interfaces. You will see that a service operation with the same name is assigned to this component. A message type is, in turn, assigned to the service operation. Navigate to the message type. How many nodes does it have? Are there any optional nodes? Are there nodes that can have multiple occurrences in the message?

Which data types are referenced? How many nodes does the message type have? Software Components and Products Task 1: APO Server software unit, for example list not complete: This starts Java Web Start. Log on using your user and password.

Select the unrestricted profile in the Select Application Profile dialog box, and press Choose. Double-click the name of an interface to display the detail view for that interface. These are the interfaces that were created in the Enterprise Services Repository Integration Repository.

If you find the node Service Interfaces, and if it can be expanded, this means that interfaces are defined. If you find the node External Definitions, and if it can be expanded, this means that service operations are defined. In the detail views of the service operations, you will find that each operation has an assigned message type that describes the interface.

This is indicated by the occurrence To implement a business process in this system landscape, you need to analyze the technical properties of the various systems and the application components that are installed. There are various types of technical systems. The type of technical system determines exactly which attributes you must enter.

Use the link Technische Systeme to access the definition of the technical systems from the SLD initial screen. The system navigates to a screen where you can select a system type. It then displays a list of technical systems for the system type selected. Implementing Technical Systems Figure The technical system is assigned the software components that have been installed on the server. These clients can be viewed as separate systems, from a business perspective.

When you configure the data supplier bridge, you must specify the RFC gateway on which it is to be registered. You must activate a data supplier in the back-end system. The selection of data collection programs allows you to control which data is collected and transferred.

SAP PI for Beginners

The data collected is transferred by RFC connection through the gateway to the data supplier bridge, and is then imported into the SLD. J2EE server data such as host, installed software components, and so on, is refreshed every time the J2EE machine is restarted, and is imported into the SLD using the data supplier bridge. To register a J2EE server, proceed as follows: Host Name 2. Port 3. Logon user and password 4. A successful data transfer message is displayed and you see the system in the SLD.

To register a Java server in the SLD, follow the steps below: Implementing Technical Systems Example of a Technical System Landscape The system landscape for the first examples and exercises is illustrated in the following graphic. Technical System Landscape of the Example Scenario It consists of two third-party type application systems and client of the SAP PI system, which is configured as the integration server.

The network connections and communication channels must therefore be configured at the same time as the system landscape. Implementing Technical Systems Exercise 3: Implementing Technical Systems Exercise Objectives After completing this exercise, you will be able to: Note that the system names are case sensitive and should be entered as they appear in the exercise. The host name should be bithost a.

The host name should be bithost b. Implementing Technical Systems Task: Choose New Technical System to create a new technical system. Choose Third-Party as the type of technical system, and choose Continue.

Choose Continue. Click Filter On and enter the required product in the new Product Name row that appears. Choose Filter. The product is displayed. The software components it contains are displayed on the right of the screen. Implementing Technical Systems 3. Business Systems in the SLD and the Integration Directory Lesson Overview This lesson explains why technical systems are assigned a name the business system , which is used for configuration.

It shows how to create business systems in the SLD, and how to import these into the Integration Directory. It also explains how important information, such as communication channels known as end points in XI 2.

You want to be able to configure your business processes in such a way that you can make technical changes to a server without having to make any changes to the configuration of your business processes. Systems should therefore be given logical names, which are used for process configuration. Assigning Business Systems and Analyzing Business Processes You want to map business processes in a distributed system landscape, and you want the mapping to be independent of changes to the "real" servers of the systems involved.

This is why you assign a business system name to the technical systems in the SLD. The business system describes the semantics of a system or a client in an SAP system. To implement the business processes, you must know which software components are available in which business systems.

A business system must be assigned to each technical system at configuration time at the latest. Assigning Business Systems When you implement a business process in a distributed system landscape, you determine the business system in which the particular process steps will run and which software component will execute them. If the business system changes between two consecutive process steps, then the sender software component must provide all the data required for the subsequent process step by means of an outbound interface.

This data is sent to the receiver business system, where it is processed using an inbound interface. Therefore, each time data is transferred between two systems, you must identify the sender outbound interface and the receiver inbound interface.

Within SAP NetWeaver Process Integration, the document structure is mapped to the structure of the inbound interface structure and value mapping , and is converted to the format of the target system. Select a system type. A list of business systems belonging to the selected system type is then displayed. Communication Components for Business Systems in the Integration Directory You store configuration data for the runtime of integration scenarios in the Integration Directory.

This data includes representatives of the sender and receiver systems of messages. These are grouped together under the term communication components formerly known as "services": To execute the import, select the Communication Component node in most cases, on the Objects tab in the Integration Directory, and then select the Assign Business System option in the context menu.

The list of business systems in the SLD for which there is currently no assignment in the Integration Directory is displayed. If you created a new business system in the SLD, you may have to clear the SLD data cache in the Integration Directory so that you can see the new business system in the list. Business Systems in the SLD and the Integration Directory Business systems, business components and integration processes can be the senders and receivers of messages. An integration process runs on the Business Process Engine of the Integration Server itself, which means that, for integration processes, it is clear to the Integration Engine where a message is coming from and where it is to be sent.

This does not apply to business systems and business components. Information must be stored in the Integration Directory for these, which specifies how the sender or receiver communication component can be contacted.

In addition, a message must generally be converted into a format that the target system understands, or transformed into a PI XML message that is then delivered to the Integration Server. This task is performed by an adapter, and the configuration object in which you define the adapter for the inbound or outgoing message is called the communication channel.

Communication Channels Caution: In the Integration Directory in PI 7. The main tasks involved in creating a communication channel are as follows: Select the communication component Specify the communication component for which you want to create the communication channel for example, the business system. Specify the name Enter the name of the communication channel. The System Landscape BIT Select the adapter type Specify the connection details for example, file adapter for file access and whether it is sender or receiver.

You also need to enter details for the transport and message protocols XI 2. Adapter-specific parameters You need to enter additional details for each adapter for example, the target directory for file receivers. When importing a business system, you can specify whether standard communications channels are to be generated.

Once these are generated, you need to enter exact parameters and customize the information for each of the business systems. Procedure for the Release Upgrade of Sender and Receiver Systems The following section explains which actions are required when performing a release update in relation to sender or receiver systems.

If you are using SAP systems, you can import the new version by content. Subsequent changes to an object in the software component version in the Enterprise Services Repository Integration Repository do not affect the object in another software component version.

Configuring Groups and Transport Targets When using a single SLD for your entire system landscape, you must define groups of business systems and transport targets so that you can map and manage each part of your system landscape independently. You use groups of business systems to distinguish between different parts of your system landscape. With transport targets, you map the names of business systems in different business system groups to each other.

It is important that transport targets are correctly defined so that objects can be transported from the Integration Directory. Business system from all Integration Directories involved in the transport can only be correctly assigned to each other if you use transport targets. The assignment of a business system to a group depends on the Integration Server to which it is assigned. Here you can specify the relevant source and target systems for the transport in various groups.

For example, imagine the following landscape: In your test configuration of SAP NetWeaver Process Integration, you defined a configuration scenario with all the corresponding configuration objects. To transfer this configuration to the production environment using an export and import, and then use it in production, you must identify the corresponding business systems in the test and production environments.

For this purpose, you assign the test systems to the Test group, and the business systems used in the production environment to the Production group.

Transport targets are used to map the names of the business systems that correspond to each other. Create two business systems in the SLD. Use the exact name specified in the exercise because the field is case-sensitive.

To test your scenarios, you will send messages from an HTML form in which the names of the communication components are the same as those described in the exercise.

Leave the Logical System Name field blank. You will configure this business system as a sender in later exercises. You will configure this business system as a receiver in later exercises. A sender communication channel is not required for the HTTP adapter. You need to create a receiver communication channel for this purpose. Log on to the Integration Directory. Enter the user BIT and your password.

Leave the Party field blank, and make sure that the Create Communication Channels Automatically checkbox is not selected. Use the file adapter for communication. Activate the new objects you created in the Integration Directory. Choose New Business System to create a new business system. Do not change the entries, and choose Continue. Start the wizard for assigning business systems, by selecting the relevant option from the Assign Business System context menu. If your business systems do not appear on the list, clear the cache for SLD data setting in the Environment menu.

Your change list contains three objects, which are all selected. Choose Activate to confirm activation. Message processing within the runtime environment is the same for all messages, regardless of the connection method.

This unit explains which configuration settings you must make for the receiver determination, and how you set up a mapping from the sender outbound interface to the receiver inbound interface. Introducing the Scenario PI Message: Checking the Message Monitor Message Processing Types Logical and Technical Routing Logical Routing Mapping Between Service Interfaces Operation Mapping Message Mapping Creating Message Mappings Introducing the Scenario Lesson: Introducing the Scenario Lesson Overview This lesson introduces the example scenario.

It has an outbound interface that is used to distribute material master data. In this training course, this is simulated by an HTTP client that is used to manually create a message for a particular material.

The chosen procedure for distributing the master data will not be tied to a specific technology and the material master data will be sent to all dependent systems.

In the first step, an XML file is created for another third-party system. The structure of the message that is sent differs from the structure of the file expected by the target system. A further receiver will be added to the scenario later on. The same applies to the receiver system. If necessary, adapters can also convert the document to a format that the receiver supports.

Asynchronous Scenario This will be illustrated using demonstrations and exercises based on a simplified example of material master data distribution. The sender system is simulated by an HTTP client. A file is created for a virtual receiver system. Each business process that is to be implemented in a system landscape requires particular functions in the form of programs.

Various programs that include functions that belong together are grouped together either in an application component or in a software component. In the design phase, the inbound and outbound interfaces of the software components used are analyzed and saved in the Enterprise Services Repository Integration Repository. If applicable, you can create mapping rules for mapping an outbound interface to an inbound interface.

If, as part of a business process in a distributed system landscape, a software component of a business system is to communicate with a software component of another business system, then the following prerequisites must be satisfied: Introducing the Scenario Figure The inbound and outbound interfaces used for each software component are available in the Enterprise Services Repository Integration Repository.

A mapping rule from an outbound interface to an inbound interface is defined for each data exchange. If the structure of the outbound interface is different to that of the inbound interface, you need to create a mapping program. It is possible to create integration scenarios in the Integration Repository. The benefits of a Process Integration scenario are as follows: Bundling of the interfaces and mappings used. Graphical overview of business processes.

For example, you maintain master data in one system and then want this data to be distributed from there to all dependent systems. You then create an application component called 'Maintain Master Data'. At configuration time, the application component is assigned a system. A different application component receives and updates the master data. This may affect multiple systems at configuration time. For this reason, you can assign multiple systems to an application component at configuration time.

Therefore, you do not have to know the exact number of systems in a system landscape when you design a scenario in the Enterprise Services Repository Repository at design time.

This information is important for the software components and interfaces, in other words, the development objects. Actions are defined in addition to application components, which map a business process steps and can be used in the application components. You assign inbound and outbound interfaces to the actions. A scenario connects the actions of the application components and this connection specifies which outbound interface is to be assigned to which inbound interface, and which operation mapping is to be used.

All objects in the design view can be delivered by the vendor of a software component. To avoid naming conflicts for object names in later deliveries, save your objects in a separate namespace. At runtime, it is the task of SAP NetWeaver Process Integration to receive the data from the outbound interface, to then convert it to the data format that the inbound interface expects, and finally to transfer it to the inbound interface of the target system.

Besides the information about the software components and their interfaces, information about the actual system landscape is required.

Introducing the Scenario The following section explains in detail how to create a Process Integration scenario. Create the integration scenario, and assign it a name that indicates its business function. Add application components, reference a product for each component, and assign names to the roles of the application components. Enter a product that is installed on the system so that it runs at runtime.

If no product is to be specified for the application components, choose the Template entry. If there are no suitable actions, create these as described below. Create at least two actions, one for the outbound message and one for the inbound message. To create an action, choose Create Action from either the navigation area or directly from an application component in the context menu this way, the action is also referenced in the component. Reference one or more interfaces in the detail view of the action.

It is possible to reference several interfaces because there may be several technical ways of performing a business process step. Select Add Action in the context menu to assign at least one action to each of the application components.

Note that, for asynchronous communication, the sender and receiver actions must be on different levels. First, highlight the sender action and then the receiver action, and choose Define Connection in the sender action context menu.

A connection line is added. You can double-click to open this connection line. Here, you choose the interfaces that are to be used if an action offers more than one.

You can also reference an operation mapping, if necessary. An SAP integration scenario model shows all deployment units and process components involved in an en-to-end scenario.

It provides an overview of the complete end-to-end scenario to facilitate a clearer understanding of the entire process and of which interactions are required between the process components involved. Integration Scenario Model As a prerequisite, you must identify the process components and deployment units required, and create these in the modeling environment.

Some process components are of such central importance to an enterprise that they need to be connected to almost every other process component. However, this would give a false impression of the actual process flow of the scenario. You can use placeholders in the integration scenario model to avoid this situation. Only connect these placeholders with a process component if the interaction is essential for understanding the end-to-end scenario.

A placeholder for the Accounting process component is shown as an example in the graphic below. Since the models described above are inextricably linked with the definition of enterprise services, they are covered in the SOA and BIT courses.

Configuration View In the configuration view, the focus is on the implementing the scenario in a real system landscape. The configuration view determines which system and outbound interface is to be used to send a message to a different system and inbound interface.


You specify the sender and receiver as business systems. Configuration View For this reason, the configuration view slides not only contain the inbound or outbound interfaces, but also the systems from which a message is to be sent or in which a message is to be received.

You make the settings for the configuration view in the Integration Directory. These settings cannot be shipped by SAP since they are specific to a customer's system landscape. Runtime Once a document has been transferred to the Integration Server in a special XML format, it is processed in the pipeline.

The business system and the receiver inbound interface are determined during logical routing. If more than one receiver is determined during logical routing, the inbound message is duplicated in a message split. The structure of the sender document is converted to the structure of the receiver document by a mapping. Technical routing, on the other hand, determines how the receiver can be reached. The relevant adapter is then called. Steps in the Pipeline The Integration Engine belongs to the runtime environment of SAP NetWeaver Process Integration, and is used to exchange messages according to the business processes that you have configured.

You create your configuration using the Configuration directory of the Integration Builder. The receiver of an XML message is determined in the logical and technical routing during inbound processing. Further processing depends on the number of receivers determined. Pipeline Defined series of message processing steps that are carried out by the Integration Engine. Introducing the Scenario Queues For asynchronous processing, messages from the Integration Engine are processed using queues.

In addition to the sender and receiver systems communication components and the communication channels that configure the adapters, the following objects are necessary in the Integration Directory so that the incoming messages from the Integration Engine can be processed correctly at runtime: Configuration Objects in the Integration Directory Hint: A sender agreement is not always necessary, for example, if the sender sends a message to SAP NetWeaver Process Integration using a proxy interface.

The objects listed must be defined. If you want to validate the message against a defined schema in Customizing , the Integration Engine or the Advanced Adapter Engine does this as a first step in message processing. In the case of an incoming message, the pipeline then evaluates the Receiver Determination object first.

Integration Server Pipeline Processing terminates if no receiver is determined. In the receiver determination, you can define how the system reacts to the status 'no receiver determined'. If exactly one receiver is determined, the message is placed in the relevant outbound queue for outbound processing. If more than one receiver is found, processing is branched in the case of asynchronous quality of service.

To ensure that the message splitting remains traceable, the message ID of the original message is saved with each new message. For synchronous quality of service, there can only be one receiver for a message, and an error occurs if more than one receiver is defined.

The message inbound interface is determined by the interface determination object for each receiver found. If the sender and receiver interfaces are different, the necessary operation mapping from the Integration Directory must also be referenced in the interface determination. The term logical routing covers both of the configuration objects or pipeline processing steps receiver determination and interface determination. The mapping specified in the interface determination carries out the mapping of the pipeline steps.

The technical routing of the pipeline evaluates the receiver agreement and the communication channel to the target system that is referenced there. Monitoring You can display the processed messages in Message Monitoring.

Note that there is also a second tab page that contains additional selection criteria. Message List Choose Execute to display a list of messages that satisfy your selection criteria. To display more details about a particular message, select the relevant row and choose Display.

Introducing the Scenario The screen is divided into three areas: On the left, the pipeline steps that have already been completed are displayed in the form of a tree. On the right, two windows contain detailed information about the message. To switch between these windows, choose Display Window 1 or Display Window 2. Introducing the Scenario Exercise 5: This system expects to receive an XML file, and it is therefore connected using the file adapter.

Find out which software components and interfaces are involved, and which mapping is used. Log on to the Integration Server. Mapping namespace. What actions does this scenario have? How many application components are involved? What is the name of the outbound interface of the sender application component? What is the name of the inbound interface of the receiver application component? Which mapping program is used? Log on to the Integration Directory and navigate to the view for configuration scenarios.

Start the wizard for generating a configuration scenario from an integration scenario. Check the entries in all four configuration steps in the wizard, and correct any details, if applicable. Task 3: Test the scenario and display the corresponding message in the Integration Engine Monitor.

Which pipeline steps were executed? This displays a page containing links for BIT Start the HTTP client. The sender service, sender interface, and namespace entries are default. If you did not adhere to the naming conventions in the exercises, you will have to correct the entries with the data you maintained. In any case, change the group number on the screen to , choose Material, and send the XML document. Which pipeline steps have been completed for the message?

Display the file created in your directory. Introducing the Scenario To do this, you must first release the file directory on the common training computer.

You can find the server name in the message line at the bottom right of the PI system. Then choose OK. The system displays a success message. Go back to your group directory. Click your group directory.

You will find a file that was created as a result of your message. The user name and password are the same as those required to log on to the Integration Server. Introducing the Scenario What is the name of the outbound interface of the sender application component? Double-click to navigate to the graphical view. The Assign Interfaces tab page contains a list of the interfaces used in this scenario.

You will find the configuration scenarios under the Configuration Scenario node. Choose Finish. Introducing the Scenario 3. Assign Components for the sender: First, select the application component with the Replicate Material Master Data action..

Use the icon with the green cross to generate a new entry for the component assignment. A blank row is already available for the assignment, and so you do not need to generate a new row.

Assign Components for the receiver: Now, select the application component with the action Create or Change Material.. Configure Connections: Select the connection between the application components. Create Configuration Objects: Select the Create configuration objects The system generates the missing configuration objects for you.

Check the log again at the end. You will find the objects created on the Objects tab page. This defines the material number BIT for your document. Select the row and choose Display.

Alternatively, you can click the message number. This takes you to the detail view for the selected message. Inbound message XML validation inbound request Receiver determination Interface determination Receiver grouping Message branching as per receiver list Mapping of request message Technical routing XML validation outbound request Call of an adapter 4.

To do this, you must first release the file directory on the common training computer. Structure and Transfer to the Pipeline Lesson: Structure and Transfer to the Pipeline Lesson Overview This lesson explains the structure of PI messages and how they are transferred to the pipeline. This format is based on the SOAP standard. SOAP-XML documents comprise a header that contains information in the form of message attributes, but also information about errors, a hop list detailing the stations that the document has passed through, as well as runtime and performance information.

The actual application data payload is contained in the attachments. In the monitor you have the option of navigating to a detail view of each element of the SOAP document. There is the additional Party attribute for B2B scenarios.

The quality of service QoS defines whether the message is processed synchronously Best Effort or asynchronously Exactly Once by the pipeline. In the case of asynchronous processing, you also have the option of processing with serialization Exactly Once In Order.

In the case of asynchronous processing acknowledgements, the HopList ensures that responses are sent back to the original sender. This can be achieved in different ways, depending on the technology the sender is using. You do not need to convert the message in this case. Sender that uses an Adapter: Sender sends IDoc: The IDoc adapter transfers this PI message directly to the pipeline. Sender sends plain HTTP: Of course, the known XI 3.

The document header must, among other things, contain the sender service, the sender interface and the quality of service. The remaining pipeline steps are defined by the configuration in the Integration Server. Structure and Transfer to the Pipeline Exercise 6: Checking the Message Monitor Exercise Objectives After completing this exercise, you will be able to: Check an XML message in the message monitor for the sender communication components, quality of service, and data part of the payload.

Where can you find the information about the sender communication components and quality of service? Where can you display the data part of the payload?

Checking the Message Monitor Task: Use user BIT Start the selection. Double-click to display the document on the right-hand side. The payload, the business-relevant part of the XML message, is displayed. Message Processing Types Lesson Overview This lesson discusses the transfer mode of messages and the option of switching between stateless and stateful message traffic by using the interface pattern.

In principle, you make a distinction between synchronous and asynchronous processing. These are explained below in more detail. Reasons for working synchronously could for example be: The receiver system can tell from the GUID whether the data record has already been processed before the connection was interrupted.

The processing sequence can also be important in asynchronous scenarios. This can also refer to the content dependence of data records as well as to aspects of performance. The performance can increase if data records are not sent at the same time. To achieve a serialization of messages, they are put into queues.

The message communication form is set using the interface pattern. There are two basic communication forms. With stateless communication, the runtime of the message receiver does not support storing status information using the processing time of the message.

In contrast, stateful communication allows you to save status information for a message. This information is then available for processing other messages in the future. The name stateless or stateful always refers to the receiving end of a message and not to process integration, where you can also use stateful communication with integration processes.

How the Pipeline Works — Example of an Asynchronous Scenario BIT When you select the interface pattern, you can also determine the runtime environment on the back-end side. The following relationships apply: Interface patterns that use proxy runtime and the PI adapter: This means that if the interface pattern of a service interface is changed, so also must the user change the related application program.

For this reason, this section will focus only on the part that is relevant for PI processing, on the stateless XI 3. This unit does not provide instructions on how to use the other two interface patterns. You can also find further information in the documentation online.

As can be seen in the following figure, the stateless XI 3. The stateful interface pattern can be implemented only in connection with point-to-point connections. Message Processing Types Figure Interface pattern and process integration Applications and properties of the stateless XI 3.

The difference between the stateless XI 3. Furthermore, stateless service interfaces can define several operations that lead to several methods of the proxy classes with the Web service proxies in the back-end system. The following figures illustrate this relationship: Proxy Generation: Stateless XI 3. Stateless Hint: Abstract interfaces can only be of the stateless XI 3. Acknowledgements in SAP NetWeaver Process Integration With asynchronous communication, the sender system does not receive confirmation as to whether the message reached the recipient and there is no information on business processing in the target system.

Take the following example: The sender receives only a technical response confirming that the message has been received by SAP PI, but it does not state whether the message was successfully forwarded or processed by the target system application.

The following apply to acknowledgements. System acknowledgement: Information about dispatching a message Application acknowledgement: For the sender communication components, a communication channel type XI receiver must be available for confirming the acknowledgement. The following applies to confirming acknowledgements: A positive system acknowledgement is produced when the message has reached the target system; a positive application acknowledgment is created when no exceptions occur during the execution of the server proxy method.

Negative acknowledgements are sent when those conditions above are not met. If necessary, an exception class is created for a fault message type for asynchronous inbound service interfaces. In which case, a negative message is created only when this special exception class was used for implementing the server proxy.

They are triggered if the message is successfully processed by the adapter or if an error occurs during processing. Receiver adapters do not support any application acknowledgements. Message Processing Types Acknowledgements are visible in message monitoring. Logical and Technical Routing Lesson: The sender SAP system has an interface for distributing master data. You need to configure one or more receivers with different inbound interfaces. Logical Routing: Receiver Determination The first step in the pipeline is logical routing.

It consists of two smaller steps: Logical Routing The receiver determination determines from the configuration the valid receivers for a sender communication component with a sender interface.

Object receiver determination You can find the receiver determination in the Integration Directory under Receiver Determination on the Objects tab page. The four values party, sender communication component, sender interface, and namespace uniquely identify a receiver determination. Double-click to navigate to the detail view.

One or more receivers can be entered here. Furthermore, you can define the conditions under which a receiver should receive a message. For instance, if a receiver is only to receive a message when a particular field contains a pre-defined value, choose Field Value as the condition type. You then select a field by using the input help and enter the relevant field value.

You can also define in the receiver determination what happens when a valid receiver cannot be determined. You have the choice between: Logical and Technical Routing Figure Receiver Determination At runtime, you check in the pipeline whether a valid receiver is configured for the trio of values comprising the sender business system, the outbound interface, and its namespace, and whether the routing condition - if set - has been satisfied. It may be that no valid receiver is configured. In this case, the message is handled according to the information in the section If no receiver can be found, then perform the following actions.

Of course, several receivers can be configured. In this case, the following pipeline steps are performed for all receivers.

The receiver is then only taken into account when the condition is fulfilled. Routing conditions refer to to the values in the message payload.

To make definitions, use the condition editor, which in turn calls the expression editor. In the condition editor, by linking two operators together with one operator, you can enter a logical expression in a table. How the Pipeline Works — Example of an Asynchronous Scenario BIT The expression in the left operand that is entered using the expression editor refers to an element in the message payload; the expression in the right operand is a fixed value that is to be compared.

The right operand can only also be determined by the expression editor in integration processes. Operators can be: If, for example, you want to check whether a particular element exists in the payload then you enter the element to be checked in the left operand and leave the right operand blank.

Context objects in the Enterprise Services Repository You can query the values from the message using XPath expressions or context objects. Context objects are explicitly defined as objects in the Enterprise Services Repository Integration Repository and are assigned to a message element in the service interface. Logical and Technical Routing Logical Routing: Interface Determination The second sub-step of logical routing is the interface determination.

In this step, for each receiver determined, the system checks whether the sender communication component is assigned an inbound interface of the receiver business system. Interface determination in the Integration Directory You can find the interface determination in the Integration Directory under Interface Determination on the Objects tab page. An interface determination is uniquely defined by the following six values: At least one receiver inbound interface is stored there.

Routing conditions can also be stored in the interface determination. You can reach the editor to define a condition as follows: Display the requested interface determination and go to the change mode. Choose Add Row.

A field for the condition opens and you can access the condition editor using the F4 help. Interface Determination Message Branching If more than one receiver is determined by the receiver determination, the message is copied for each receiver - after the interface determination.

This is known as message branching. Message Branching Usually, an outbound queue is opened for each receiver. The message is transferred to this queue by using qRFC. Message Branching In this case the messages are given new numbers following the message split. This number is displayed above the navigation tree as the 'Child Message ID'.

Double-click the ID to navigate to the monitoring of child messages. Pipeline Technical Routing As the last step of the pipeline, the technical routing defines how the receiver message is to be sent to the receiver.

A communication channel is referenced by a receiver agreement. Receiver Agreement in the Integration Directory Communication channels contain the technical parameters that are required for sending the message to the receiver system. To be more precise, a communication channel contains the adapter configuration, including the adapter-specific configuration parameters and the connection data for the target system. There are different ways in which a message can be delivered to receiver systems.

With one and the same system, an IDoc can be delivered once; a file can be stored on the server of the the receiver; the mail server of the receiver can be contacted; and lastly, the file can be written directly to a receiver's database table.

For this there must, however, be four communication channels at the receiver system that facilitate the IDoc, file, mail and database scenarios. How the Pipeline Works — Example of an Asynchronous Scenario BIT Each concrete scenario of the required communication channel will be set in the receiver agreement object. Technical routing based on the object receiver agreement The object includes the sender communication component, receiver with inbound interface, and receiver adapter, and is represented by the communication channel.

Some adapters also require communication channels as sender adapters and a sender agreement. This is the case when the sending system, which is stored in the message header, cannot be determined any other way.

The following graphic provides you with an overview of the most important Integration Directory objects and helps to answer those questions relating to runtime for when a message passes through the Integration Engine.

NAIDA from Nevada
Please check my other posts. I have always been a very creative person and find it relaxing to indulge in button collecting. I am fond of reading comics solemnly .