configuring xi local integration engines
DESCRIPTION
xiTRANSCRIPT
Configuring XI Local Integration Engines
The Local Integration Engine, a.k.a. Remote Integration Engine, runs on a non-XI ABAP engine to allow XI to communicate with it via ABAP Proxies. The configuration in this document is performed on the ABAP side, in each of the client(s) that will be exchanging data with XI such as in an ECC system. Some of the configuration is client-specific, and some of it is not.
CONFIGURING XI LOCAL INTEGRATION ENGINES..................................................................................................................1
1. ADD BUSINESS SYSTEM TO THE SLD............................................................................................................................................22. CREATE & TEST SLD CONNECTIONS............................................................................................................................................6
Confirm SLD Data Supplier Registration..........................................................................................................................................6Confirm ABAP SLD Client Connection.............................................................................................................................................8Add SM59 Destinations for SLD Connections...................................................................................................................................9Test the SLD Connections................................................................................................................................................................17
3. LOCAL INTEGRATION ENGINE CONFIGURATION..........................................................................................................................184. DEFINE COMMUNICATIONS USERS..............................................................................................................................................195. DEFINE HTTP DESTINATION FOR THE INTEGRATION ENGINE PIPELINES...................................................................................216. DEFINE SM59 DESTINATION FOR PROXY RECEIVER PRE-DETERMINATION...............................................................................257. ABAP PROFILE PARAMETERS.....................................................................................................................................................298. LOCAL INTEGRATION ENGINE GLOBAL CONFIGURATION...........................................................................................................319. LOCAL INTEGRATION ENGINE SPECIFIC CONFIGURATION..........................................................................................................3310. ACTIVATE QUEUES.................................................................................................................................................................3511. SCHEDULE ARCHIVING & DELETION JOBS.............................................................................................................................36
Define Retention Periods.................................................................................................................................................................36Define Archiving Jobs......................................................................................................................................................................37Define Deletion Jobs........................................................................................................................................................................40
12. OTHER MANDATORY SCHEDULED JOBS.................................................................................................................................4113. ACTIVATE PIPELINE URL IN THE ICM...................................................................................................................................4114. Test ABAP Proxy Support.....................................................................................................................................................44
At the end of this procedure, the ABAP system with the Local Integration Engine will need to be restarted for some of the settings to take effect.
Add Business System to the SLD
Add a business system in your SLD for the ABAP client. Be sure to follow the naming convention for business systems names dictated by your integration architect.
Log into the SLD
Business Systems
If a business system for the ABAP client you’re configuring the local integration for is not present,
New Business System…
Web AS ABAPNext
Select the correct SID and ABAP ClientNext
Enter the name for your business system. Be sure to follow your naming convention for business systems!
Skip this section. Next
Business System Role: Application SystemRelated Integration Server: <The central integration engine you want to exchange proxy messages with>
Finish
1. Create & Test SLD Connections
Confirm SLD Data Supplier Registration
This is normally performed by BASIS during the install, but it needs to be verified.
Log in to the SLD that your central integration engine (central XI) is connected to.
Administration
Automatically Updated Data
Enter tomorrow’s dateDisplay
Scroll down and look for the System ID (SID) of your ABAP system where the local integration engine is to be configured. Make sure there is an entry of type BCSystem for your SID. The timestamp in the right column is the last time the data supplier in this system pushed an update to the SLD. Make sure the update happened within the last 12 hours. If it did not, contact your BASIS administrator to fix it (in transaction RZ70).
The most likely problem in RZ70 is that the person who installed it forgot to click “Activate” then “Execute” after entering the SLD Bridge Gateway parameters.
Confirm ABAP SLD Client Connection
Transaction SLDAPICUST
First, Make sure the Hostname and Port are pointed to the same SLD as XI (or at least an SLD that is kept in perfect sync with XI).
Second, and this is absolutely critical, make sure the Hostname and Port are pointed to the high-availability HTTP connection to the SLD. The hostname should be the virtual hostname of the cluster where SLD is running. In many cases, the hostname and port should be the Web Dispatcher sitting in front of the SLD box. ABAP Proxies reportedly will not run if the SLD is down – or if the URL configured here cannot be reached.
Cases where this username is incorrect or where it does not have enough permissions on the SLD or where it is locked on the SLD due to a bad password are common sources of communication problems when you test in transaction SLDCHECK. This can be indirectly confirmed by checking the HTTP log on the SLD for 401 or 403 errors coming from this ABAP engine’s IP address.
Add SM59 Destinations for SLD Connections
This task requires BASIS & J2EE Administrator access.
Two SM59 destinations need to be present and pointed to JCO RFC Provider connection pools.
LCRSAPRFC is used by the Local Integration Engine to connect to the Exchange Profile on the XI Central Integration Engine. The SM59 destination on the local ABAP system will point to the XI system’s gateway and JCO RFC Provider pool.
SAPSLDAPI is used by the Local Integration Engine to connect to the SLD. This SM59 destination on the local ABAP system will point to the ABAP gateway and a JCO RFC Provider pool on the local ABAP engine. If the local ABAP engine has no Java add-in, then use an ABAP gateway and JCO RFC Provider pool on the SLD. Don’t mix-and-match or this connection will not automatically reconnect during specific sequences of systems starting and stopping.
Open Java Visual Administrator, and connect to the Java stack of the ABAP system where the Local Integration Engine is being configured.
Server 0 -> ServicesScroll down and select JCo RFC Provider service
Add an entry: LCRSAPRFC_<SID>Program ID: <one of the above names>Gateway host: <High-availability hostname of the local ABAP engine’s gateway>Gateway service: sapgw<ABAP instance’s SystemNumber>Server Count: 3Application server host: <High-availability hostname of the local ABAP engine’s gateway>System number: <ABAP instance’s SystemNumber>Client: <Main client of the ABAP instance that the Java engine is connected to – not necessarily where you’re doing the local integration engine configuration>Lanugage: ENUser: SAPJSFPassword: <defined during installation>
Click on “Set” to save the entry.
Select the SLD Data Supplier service in the left pane.
Verify that:The Latest Send Activity was within the past 12 hours, andSend Result was “Success”
If either is not true, please contact BASIS to fix the SLD Data Supplier on the WebAS Java. The settings are on the HTTP Settings tab.
Select the “CIM Client Generation Settings” tab
Confirm that the connection settings point to the high-availability (clustered) URL for the SLD.
Select CIMClient Test
It should succeed with the message above. Click OK.
If the CIMClient Test failed, go back to the HTTP Settings tab and fix the entries for connecting to the production SLD.
Open Java Visual Administrator, and connect to the Java stack of the XI Central Integration Engine.
Server 0 -> ServicesScroll down and select JCo RFC Provider service
Program ID: LCRSAPRFC_<SID>Gateway host: <High-availability hostname of the XI ABAP engine’s gateway>Gateway service: sapgw<XI ABAP instance’s SystemNumber>Server Count: 3Application server host: <High-availability hostname of the XI ABAP engine’s gateway>System number: <XI ABAP instance’s SystemNumber>Client: <Main client of the XI ABAP instance that the Java engine is connected to>Lanugage: ENUser: SAPJSFPassword: <defined during installation of XI>
Click on “Set” to save the entry.
Log into the Local Integration Engine’s ABAP system, into the client where you’re configuring the local integration engine.
Transaction SM59
Create 2 new connections with very similar configuration
Edit -> Create
RFC Destination: LCRSAPRFC for the first destination SAPSLDAPI for the second destination
Connection Type: TDescription 1: <same name as the destination>Check the “Registered Server Program” radio boxProgram ID: <name of the JCo RFC Provider connection pool you configured in JVA> LCRSAPRFC_<SID> for the first destination SAPSLDAPI_<SID> for the second destinationCheck the “Default Gateway Value” radio boxEnter the high-availability hostname for the appropriate ABAP gatewayGateway host: <High-availability hostname of the corresponding ABAP engine’s gateway> same as in the JCo Provider for that JCo connection poolGateway service: sapgw<ABAP instance’s SystemNumber> same as in the JCo Provider for that JCo connection pool
Select the MDMP & Unicode tab
Select the Unicode radio button
Green check
Save the destination
Click on the Connection Test button at the top to verify your connection to the JCo Provider connection pool works.
Repeat this configuration for the 2nd TCP/IP destination & Program ID.
Test the SLD Connections
Transaction SLDCHECK
Internet Explorer should pop up and jump to the correct SLD sign-on page.
The ABAP transaction should also show all green as above. Be sure to scroll down the entire page.
2. Local Integration Engine Configuration
The following steps are needed in order for XI to send and receive proxies with the business system. These steps configure the Local Integration Engine on the ABAP business system.
The Local Integration Engine is essentially the same as the XML Message Broker pipeline on the central integration server, minus the mapping runtime services. Scheduled jobs, queues, and connections all need to be configured as for the message broker on the central XI system.
A user needs to have the composite role SAP_XI_ADMINISTRATOR, and may also need BASIS privileges, in order to perform this configuration.
3. Define Communications Users
This task should be done by the Security team.
A user ID needs to be created in both the central XI system and in the local ABAP system for the communication between the two systems.
Do not use standard users, such as the PI*USER users, for this purpose. Use of these stock users will put your operations at risk and make it exceptionally difficult to troubleshoot connectivity problems.
Log into the appropriate ABAP system client for the Local Integration Engine Configuration:
Transaction SU01
User: <SID>PIUSERCreate
Fill this out according to your standards for user creation.
At a minimum, go to the Logon Data tab
User Type: Communications DataSet the password.
Roles tab
Add role SAP_XI_APPL_SERV_USER
Save
Log in to the Central Integration Server and repeat. The user ID should still use the <SID> of the ABAP system where the local integration engine is to be configured; NOT the <SID> of the PI system.
4. Define HTTP Destination for the Integration Engine Pipelines
Create an SM59 HTTP destination on both the Local and Central Integration Engines so that they can communicate with each other through the pipeline.
Log into the ABAP system where the Local Integration Engine is being configured
Transaction SM59
Edit -> Create
RFC Destination: HTTP_INTEGRATION_SERVERConnection Type: HDescription: <SID> Integration Engine Pipeline URLPress Enter
Green check
Target Host: The high-availability hostname of your Central Integration Engine (usually where Web Dispatcher is running)Service No.: The HTTP port of the Central Integration Engine pipeline (also, usually the Web Dispatcher port)Path Prefix: /sap/xi/engine?type=entryPress enter
NOTE: This will give you a warning due to the Path Prefix having arguments after the question mark. Press enter again, and continue. If it prevents you from continuing (i.e. due to a bug in Release 640 or earlier), recreate the connection as type G and continue.
Logon & Security tab
Choose either SAP Standard or Basic Authentication. Enter the appropriate Logon and/or SSL configuration for connecting to the integration engine pipeline.
Save
Press the “Connection Test” button
A 500 response code means the destination is connecting OK.
Repeat this configuration on the XI Central Integration Server’s main client for a destination <BusinessSystemName>_INTEGRATION_ENGINE. This URL can then be called as “DEST://<BusinessSystemName>_INTEGRATION_ENGINE” in the XI communication channel configuration.
5. Define SM59 Destination for Proxy Receiver Pre-Determination
This task requires BASIS authorizations:
Log in to the ABAP engine where Local Integration Engine configuration is being done.
Transaction SM59
RFC Destination: AI_INTEGRATION_SERVERConnection Type: 3Description 1: <XI SID> Destination for Proxy Receiver Pre-Determination
Press Enter
Enter data to connect to the PI system
Logon & Security tab
Enter the <SID>PIUSER for connections
MDMP & Unicode tab
Check the Unicode radio button
Save
Test the connection.
Ignore the warnings about being able to log on remotely using this SM59 destination. Since the user ID is a communications user, it will not allow dialog access to the PI server.
6. ABAP Profile Parameters
This task requires BASIS authorizations:
Transaction RZ10
Choose the working profile from the drop-down listSelect “Extended Maintenance”Change
Create Parameter
Parameter name: icm/HTTP/logging_0Parameter val: PREFIX=/,LOGFILE=HTTP_ICM_%y-%m-%d.log,LOGFORMAT=%h %l %u %t "%r" %s %bComment: Enabled ICM HTTP Logging
Copy
Green arrow back
Green arrow back a 2nd time
Yes.
Repeat for profile parameters:icm/server_port_0 = PROT=HTTP,PORT=80$$,TIMEOUT=300,PROCTIMEOUT=300icm/host_name_full = <fully-qualified hostname for high-availability connections to the ICM (i.e. Web Dispatcher clustered host)>
SAPLOCALHOSTFULL = <fully-qualified hostname for high-availability connections to the ICM (i.e. Web Dispatcher clustered host)>
7. Local Integration Engine Global Configuration
In the ABAP system for the Local Integration Engine…
Transaction SXMB_ADMIN-> Integration Engine Configuration
Edit -> Change Global Configuration Data
Configuration -> System Landscape – Load Configuration
Role of Business System should automatically come in as “Application System”, and the pipeline URL should also come in.
Overwrite the Pipeline URL with: DEST://HTTP_INTEGRATION_SERVER
Save
8. Local Integration Engine Specific Configuration
In the same SXMB_ADMIN Integration Engine Configuration transaction as the previous chapter…
Select the “Specific Configuration” button
Switch to change mode
New Entries
Add 4 entries as shown, plusMONITOR – QRFC_RESTART_ALLOWED = 1
In a Development system, also add: RUNTIME – LOGGING = 1 RUNTIME – LOGGING_SYNC = 1
9. Activate Queues
Transaction SXMB_ADMINManage Queues
Click on Register QueuesClick on Activate Queues
10. Schedule Archiving & Deletion Jobs
Define Retention Periods
Transaction SXMB_ADMINDefine Interfaces for Archiving & Retention Periods
Retention Periods
Set all the periods to 10 days as a good rule of thumb.
Save
Exit back to SXMB_ADMIN
Define Archiving Jobs
These jobs will clear messages out of the ABAP system database after the prescribed number of days has elapsed. Archiving captures messages that were manually reprocessed, edited, or cancelled, as well as successful messages that are manually configured to be archived in the XI administration transaction (normally I don’t configure any successful messages for archiving at this point in the flow).
Transaction SXMB_ADMINSchedule Archiving Job
Archive Administration
Archiving Object BC_XMBInformation System
Customizing
Archive Infostructure: SAP_BC_XMBActivate
Go back to SXMB_ADMINSchedule Archiving Job
Start Date
Set it to run daily at an off-time in the morning.Set the User Name to SAP* (or any System user with the authorizations to run this job – do not assign a Dialog user)
Spool Parameter
Set it up so that it will not print out a report after it runs.
Schedule Archiving
After scheduling, these jobs should be modified to use a non-dialog user with the appropriate authorizations.
Define Deletion Jobs
These jobs will delete messages that are not captured by the archiving runs, such as synchronous messages, and successfully-processed asynchronous messages that are not specifically marked for archiving.
Transaction SXMB_ADMINSchedule Delete Jobs
Check both checkboxesStart date for both is “tomorrow”Start time should be offset from the archiving jobs by about an hour. The run times should be staggered by a long period, and should be at an off-time so as not to conflict with batch schedules that often run on the hour.Period in Days = 1
Execute
After scheduling, these jobs should be modified to use a non-dialog user with the appropriate authorizations.
11. Other Mandatory Scheduled Jobs
Report RSXMB_RESTART_MESSAGES (no variant) OSS note 813029, automatically retry failed messages Run periodic, every 12 minutes
Report RSQIWKEX with a variant As job RSXMB_RESTART_QUEUE OSS note 813029, automatically restart paused queues Run periodic, upon system startup & every 15 minutes NOTE: you must set integration engine parameter
MONITOR QRFC_RESTART_ALLOWED = 1 for this to work
PMI statistics aggregation jobsNOTE: I think these require the ST-A/PI package to be deployed on the PI system. The standard reports are not in the basic system.SAP_XMB_EXTRACT_PMI_DATASAP_XMB_GET_PMI_DATASAP_XMB_PERF_AGGREGATESAP_XMB_PERF_REORG
12. Activate Pipeline URL in the ICM
Transaction SICF
Execute
Expand the list of services to the following URLs, and select the parent service (“xi” or “icf_info”)
/sap/public/icf_info/*/sap/xi/*
Right-click and choose “Activate”
Choose the 2nd “Yes” button to activate the entire tree beneath that node.
Notice that all of the child services turn black.
13. Test ABAP Proxy Support
Run transaction SPROXY in the Local Integration Engine’s ABAP system, after Integration Repository objects have been transported to the corresponding Central Integration Engine.
Ensure the software component versions from the correct system appear.