36
How-to Guide e SAP NetWeaver 7.0 (2004s) SAP NetWeaver 7.0 (2004s) How To… How To… Handle XPI Caches in SAP NetWeaver 7.0 Version 1.30 – August 2007 Applicable Releases: SAP NetWeaver 7.0 (2004s) Support Package Stack 8 End-to-End Process Integration Enabling Application-to-Application Processes

How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

  • Upload
    others

  • View
    28

  • Download
    0

Embed Size (px)

Citation preview

Page 1: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

How-to Guide e SAP NetWeaver 7.0 (2004s) SAP NetWeaver 7.0 (2004s)

How To…How To… Handle XPI Caches in SAP NetWeaver 7.0 Version 1.30 – August 2007 Applicable Releases: SAP NetWeaver 7.0 (2004s) Support Package Stack 8 End-to-End Process Integration Enabling Application-to-Application Processes

Page 2: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

© Copyright 2007SAP AG. 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. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data

contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. These materials are provided “as is” without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall not be liable for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. SAP does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these materials. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third party web pages nor provide any warranty whatsoever relating to third party web pages. SAP NetWeaver “How-to” Guides are intended to simplify the product implementation. While specific product features and procedures typically are explained in a practical business context, it is not implied that those features and procedures are the only approach in solving a specific business problem using SAP NetWeaver. Should you wish to receive additional information, clarification or support, please refer to SAP Consulting. Any software coding and/or code lines / strings (“Code”) included in this documentation are only examples and are not intended to be used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such damages were caused by SAP intentionally or grossly negligent.

Page 3: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

1 Scenario..................................................................................................................1 2 Introduction............................................................................................................1 3 The Step-By-Step Solution ....................................................................................3

3.1 The Cache in the Integration Builder Tools: Exchange Profile Parameters ..3 3.2 The Integration Repository, Directory and Runtime Caches.........................3 3.3 ABAP and Adapter Runtime Cache ..............................................................5 3.4 Cache Monitoring in the Runtime Workbench..............................................8

4 Troubleshooting ...................................................................................................10 4.1 Executing the Cache Connectivity Test .......................................................10 4.2 Checking the Cache Notification Status ......................................................11 4.3 Checking the Cache Update Status ..............................................................12 4.4 Checking SM59: Connection Between the Integration Builder and Runtime 13 4.5 Checking Integration Directory Integration Server and Integration Repository Integration Directory Communication .............................................14 4.6 Checking Integration Server Integration Directory and Integration Directory Integration Repository Communication .............................................16 4.7 Checking the Service User Name and Password .........................................18 4.8 Checking Profile Generation........................................................................22 4.9 Checking the Exchange Profile....................................................................24

5 Appendix..............................................................................................................26 5.1 Activation Process .......................................................................................26

5.1.1 Notification ..........................................................................................26 5.1.2 Update ..................................................................................................29

Page 4: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

1 Scenario In SAP NetWeaver ’04s Exchange Infrastructure information is often cached to speed up the input help of the tools or improve performance of the runtime. Sometimes you need to manually request an update, for example, when you make changes to objects or when you think the automatic cache update is simply not functioning properly. This aim of this How-To guide is that you: • Know where caches are used • Understand how data is entered and updated in caches in the Integration Builder, the

runtime and the adapters. • Learn how to troubleshoot problems The first chapter provides an overview of the caches. We then provide some troubleshooting tips that you can use to solve problems that may occur. In the appendix, you can find transaction models outlining the communication flow from the moment a change is made to an object to the moment the changed data is updated in the cache. Note that this section is aimed at advanced users of SAP XPI only.

2 Introduction The following figure provides a graphical overview of SAP XPI components, caches and update paths.

- 1 -

Page 5: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

Integration Server

BusinessProcess

Engine

Integration Builder

IntegrationDirectory

IntegrationRepository

IntegrationEngine

Central AdapterEngine

Decentral Adapter Engine

Adapter Framework

•Activate change list

•Import

•Request cache update again

• Integration Processes

• Mappings• Adapter Meta Data

• Integration Process Configuration

• Receiver and Interface Determination

• Sender and Receiver Agreements

CacheTA: SXI_CACHE

•Delta•Full (only on request)

CacheJ2EE: CPACache

•Delta•Full via URL

SLD CacheBusiness Systems

SLD CacheSoftware Components

Business System

SLD Cache “Own Business System”

CacheJ2EE: CPACache

•Delta•Full via URL

RepositoryCache

Adapter Meta Data

CACHE

UPDATE

CACHE

UPDATE

RUNTIME

ACCESS

SLD Cache “Own Business System”

Figure 1: Graphical Overview of Caches

- 2 -

Page 6: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

3 The Step-By-Step Solution This chapter provides an overview of the XPI caches. We will take a closer look at: • Integration Builder

o Integration Builder (Integration Repository) o Integration Builder (Integration Directory)

• ABAP Runtime and Adapter Engine Runtime • Caches in business systems using XI proxies • Cache monitoring in the Runtime Workbench Where possible, we aim to show the content of the cache and how to update the cache.

3.1 The Cache in the Integration Builder Tools: Exchange Profile Parameters Data is first entered in the cache for exchangeProfile parameters when the J2EE Engine is started/restarted.

1. Navigate to the Administration section on the SAP Exchange Infrastructure start page.

2. On the Repository tab page, choose AII Properties under the heading Administration of Properties.

All maintained values for the exchange profile are displayed.

To refresh the cache, choose Refresh.

3.2 The Integration Repository, Directory and Runtime Caches Software component versions maintained in the System Landscape Directory (SLD) are cached in the Integration Repository when the data is first requested. If you add or change a software component version in the SLD, you will not be able to select it in the Integration Repository unless you manually force a refresh of the cache. The cache refresh can be requested either in the Integration Repository or in the Administration section. The cache refresh is the same for both options.

- 3 -

Page 7: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

3. Start the Integration Repository.

4. In the menu bar, select Environment Clear SLD Data Cache.

5. Navigate to the Administration section on the SAP Exchange Infrastructure start page.

6. On the Repository tab page, choose Cache overview under the heading Administration of Locks and Caches.

Select the value:

• Cache for Software Components

• SLD Cache

If you choose Refresh Cache, the cache is refreshed immediately.

The Partial Cache Refresh refreshes change lists with the status new, in work or failed.

The Single Repository Object Cache Refresh can refresh: Mapping, XI_TRAFO, TRAFO_JAR, RepBProcess and AdapterMetaData.

- 4 -

Page 8: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

7. On the Directory tab page, choose Cache overview under the heading Administration of Locks and Caches.

Select the value Adapter Metadata. If you choose Refresh Cache, the cache is refreshed immediately.

The Partial Cache Refresh refreshes change lists with the status new, in work or failed.

The Single Repository Object Cache Refresh can refresh: Mapping, XI_TRAFO, TRAFO_JAR, RepBProcess and AdapterMetaData.

8. On the Runtime tab page, choose Cache overview under the heading Administration of Locks and Caches.

Select the value:

• Value Mapping Group Cache or

• Value Mapping Value Cache

If you choose Refresh Cache, the cache is refreshed immediately.

The Partial Cache Refresh refreshes change lists with the status new, in work or failed.

The Single Repository Object Cache Refresh can refresh: Mapping, XI_TRAFO, TRAFO_JAR, RepBProcess and AdapterMetaData.

3.3 ABAP and Adapter Runtime Cache For performance reasons, and to keep the runtime components independent from the Integration Repository or the Integration Directory, the ABAP runtime caches the following: • Integration Directory and Integration Repository data • Adapter Engine Connection Data Cache and CPA cache • IDoc adapter data • SLD data

- 5 -

Page 9: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

9. Integration Repository and Integration Directory data that is transferred to the runtime can be viewed in transaction SXI_CACHE. You can trigger a manual refresh by choosing an option under XI Runtime Cache in the menu bar: You can choose from the following options:

• Start Complete Cache Refresh

• Start Delta Cache Refresh

Note: Only execute Complete Cache refresh, if Delta refresh does not solve the issue! Delta cache refresh should resolve all known issues. Complete cache refresh can run long time and delay message processing in this time.

10. The cache for Adapter Engine data is used to retrieve the URL for the Adapter Framework.

Data is stored in the cache the first time a message requires this data.

You can view the cache data in transaction SXI_CACHE. To do this, select Go to Adapter Engine Cache.

You can delete the cache data in transaction SXI_CACHE. To do this, select Go to Adapter Engine Cache. Then choose the recycle bin push button ( ).

This might be particularly helpful when you manually correct ports or host names in the SLD for a particular Adapter Engine, or if the Adapter Engine registers with the SLD with new information.

- 6 -

Page 10: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

CPA Cache Refresh from the Adapter Engine To trigger a cache refresh from the individual Adapter Framework, open a browser window and enter the following URL: http://<host>:<port>/CPACache/refresh?mode=delta|full

The Monitoring url is like this: http://<host>:<port>/CPACache

11. Data is entered in the cache for

metadata of function modules of the RFC Adapter at runtime, as soon as a message needs this metadata for the first time.

When an RFC channel is changed in the Integration Directory, the function module cache for this channel is cleared.

The cache is also cleared on restart, for example; J2EE restart, RFC adapter service restart or restart of dependent J2EE services (MessagingSystem, CPACache, and so on).

The manual refresh is triggered by restarting the RFC adapter service in the Visual Administrator.

- 7 -

Page 11: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

12. The cache for the IDoc Adapter data caches IDoc metadata. Data is entered into the cache at runtime, as soon as a message needs this metadata for the first time. You can check the data in transaction IDX2.

There is no automatic refresh. If IDoc metadata is changed, you must force a manual refresh. To clear the cache, you can use transaction IDX2 or the report IDX_RESET_METADATA.

13. SLD data of the business system is cached in table LCRT_CLNTCACHE. To display the table, use transaction SE16.

This table is populated with the data from the first request for this information.

For manual invalidation, use the function module LCR_CLEAR_CACHE in transaction SE37.

3.4 Cache Monitoring in the Runtime Workbench 14. To access information about cache

notification status and objects, enter the Runtime Workbench.

15. Navigate to the Cache Monitoring area, and select the cache type for example:

• Search for Software Components

• Search for Mapping Programs

• Value Mapping Groups

- 8 -

Page 12: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

16. Select Show Notification Table to get an overview on notifications in a certain timeframe.

On the problems tab you get information on problems which may have occurred. By selecting it a detailed problem description is displayed.

- 9 -

Page 13: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

4 Troubleshooting In this chapter, we outline some tips on troubleshooting, and how you can search for possible errors. We outline the steps you can take under the following headings: • Executing the Cache Connection Test • Checking the Cache Notification Status • Checking the Cache Update Status • Checking SM59: Connection Between Integration Builder and Runtime • Checking Integration Directory to Integration Server and Integration Repository to

Integration Directory Communication • Checking Integration Server to Integration Directory and Integration Directory to

Integration Repository Communication • Checking Service User Name and Password • Checking Profile Generation for User • Checking the Exchange Profile

4.1 Executing the Cache Connectivity Test The cache connection test is a new feature that enables you to check the cache status of the Integration Server, adapters and the Integration Directory. You use it to test whether cache connectivity is working correctly, for example, when problems arise during the update of the runtime cache. It provides an overview of the status for components that: • Could not be reached (status red) • Were received by a change pointer (status yellow)

The cache has been informed that there are new changes that it has to include; however, these changes have not yet been transferred.

• Execute a cache update (status green) • Are unknown (status grey)

17. In the Runtime Workbench, select Component Monitoring. Choose Display and then Cache Connectivity Test.

- 10 -

Page 14: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

18. To start a new test run, choose Start Test.

The system displays the results of the most recent test run. You can update the displayed results if required, but note that it takes some time for the whole test to complete.

To update the displayed results, choose Refresh Display.

4.2 Checking the Cache Notification Status Check the cache notification status if you suspect that the cache (transaction SXI_CACHE) on the Integration Server is not up to date. Signs of this are, for example, if an interface determination, interface mapping or mapping program is missing or not present for the correct version. For the following steps, it is helpful if you have details of the user who submitted the relevant objects, and if you know when this was done. You can get some information by opening the relevant objects in the Integration Directory or Integration Repository and choosing Properties ( ) in the object menu. Details about the most recent changes are displayed in the Object Attributes screen. The object ID is particularly important.

19. Start the Integration Directory.

Choose Environment Cache Notifications….

Take a look at the entries for the relevant cache instance, user and date.

20. Check the notification status. Green indicates okay; red indicates that an error has occurred.

- 11 -

Page 15: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

21. To trigger a cache update when an error has occurred, select the relevant notification(s) and choose Repeat Cache Update for Instance ( ).

4.3 Checking the Cache Update Status To check the cache update status, perform the steps described in Section 4.2. In addition, check the entry in the Cache Update column. Green indicates okay; red indicates that an error has occurred. If an error has occurred, switch to the Problems tab page.

Note that only the most recent error message for an instance and context is displayed.

22. The Problems tab page lists all objects that could not be updated. Using the object ID, search for the interface determination, interface mapping, or mapping program that caused the problem on the Integration Server (incorrect/missing version).

You can determine the object ID from the trace on the Integration Server or by choosing Properties ( ) in the Integration Repository or Integration Directory, (see Section 4.2).

You can double click on the entry to display the error message that needs to be analysed, (this error message should also appear in the logs). Possible reasons that the update failed are connection problems between the Integration Server and the Integration Directory, or between the Integration Directory and the Integration Repository.

- 12 -

Page 16: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

4.4 Checking SM59: Connection Between the Integration Builder and Runtime 23. Data is entered in the runtime cache

when objects are activated in the Integration Directory. The RFC destination (SM59) INTEGRATION_DIRECTORY_HMI is used to store the data in the cache. If there are connection problems, proceed as follows:

Test the connection by using transaction SM59. An HTTP return code 500 (Internal Server Error) indicates that everything is okay.

On the Technical Settings tab page, check target host and port (this has to be that of the Integration Directory. You can check this, for example, by using the URL of the SAP Exchange Infrastructure start page).

24. Check the name of the Integration Server service user and retype the password that is stored in the SAP User Management.

If you are not sure about the password, enter it again in transaction SU01.

If you have retyped the passwords and are not sure if you have changed them by doing so, see SAP note 721548 for information about how to adjust other relevant destinations.

Repeat the Connection Test in transaction SM59. An HTTP return code 500 (Internal Server Error) indicates that everything is okay.

- 13 -

Page 17: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

4.5 Checking Integration Directory Integration Server and Integration Repository Integration Directory Communication If an HTTP service is not running on the Integration Server, this can cause connection problems, which in turn can cause the notification of the cache on the Integration Server to fail. To check services, proceed as follows:

25. Start transaction SICF.

Choose default_host sap xi.

All services should be active, particularly the services cache and cache_ssl.

You can activate a service, by choosing the corresponding option in the context menu.

26. Start transaction SICF.

Choose default_host sap bc ping (connection test) and then choose Test service in the context menu of the entry.

A browser should then open, prompting a logon. If the browser does not open, this indicates a possible problem with the HTTP service of the SAP system and needs to be examined.

To log on, use your user for the Integration Directory service (see Section 4.7). If the user and password are correct, an HTML page containing the following message is displayed: Server reached successfully. If you get an authorization error, you need to check the user and password for the HTTP connection. Perform the check of the user name and password for the Integration Directory service user by retyping the values as described in 4.7. Repeat the connection test in transaction SICF. The initial notification for mapping objects edited in the Integration Repository is started from the Integration Repository. You therefore also need to check the connection between the Integration Repository and the Integration Directory.

- 14 -

Page 18: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

Start a web browser and type in the following URL: http://<host name>:<port>/dir/hmidiag/ext?method=info (Host name and port can be determined from the SAP Exchange Infrastructure start page.)

A logon dialog should be displayed. If it is not displayed, this indicates that the Integration Repository (or even J2EE) is not running and needs to be started. In this case, perform the following steps:

27. Start the Visual Administrator and check whether Server Services HTTP Provider is running. If not, start it (by using the context menu).

Choose Server Services Deploy.

On the Runtime tab page, choose Application and check the status of the entry sap.com/com.sap.xi.directory.

If the application is not running, select it and then start it by choosing Start Application on the right hand side.

If the logon dialog is displayed, use the Integration Repository service user to log on (see 4.7).

- 15 -

Page 19: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

28. If both user and password are correct, an HTML page containing some information about the HMI service is displayed.

If you get a message indicating an authorization error, you need to check the user and password for the HTTP connection. Check the user name and password for the Integration Repository service user by retyping the values as described in 4.7.

4.6 Checking Integration Server Integration Directory and Integration Directory Integration Repository Communication If there are connection problems trying to reach the Integration Directory, the Integration Repository or the Java stack of the Integration Server (Mapping Runtime), this can cause the update of the cache on the Integration Server to fail. To solve the issue you first need to check whether the Integration Directory, the Integration Repository or the Mapping Runtime (and the HTTP service) is running. Start a web browser and type in the following URL: • Integration Directory:

http://<host name>:<port>/dir/hmidiag/ext?method=info • Repository:

http://<host name>:<port>/rep/hmidiag/ext?method=info • Mapping Runtime:

http://<host name>:<port>/run/hmidiag/ext?method=info

Host name and port can be determined from the SAP Exchange Infrastructure start page.

- 16 -

Page 20: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

A logon dialog should be displayed. If it is not displayed, the Integration Directory/ Integration Repository/Mapping Runtime (or even J2EE) is not running and needs to be started. To do this, proceed as follows:

29. Start the Visual Administrator and check whether Server Services HTTP Provider is running. If not, start it (by using the context menu). Choose Server Services

Deploy.

On the Runtime tab page, choose Application and check the status of the entries sap.com/com.sap.xi.directory, sap.com/com.sap.xi.repository and sap.com/com.sap.xi.services. If the application is not running, select it and then start it by choosing Start Application on the right hand side.

- 17 -

Page 21: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

30. If you get an authorization error, you need to check the user and password for the HTTP connection.

Check the user name and password for the Integration Server service user or the Integration Directory service user by retyping the values as described in 4.7.

Repeat the connection test by using the URLs.

4.7 Checking the Service User Name and Password Various connections are important for the cache refresh. The components involved are: the Integration Directory, the Integration Repository and the Integration Server. Each of these has a service user with a special user role: Integration Directory - SAP_XI_ID_SERV_USER Integration Server - SAP_XI_IS_SERV_USER Integration Repository - SAP_XI_IR_SERV_USER The following figure provides an overview of notification/update from a communication perspective:

- 18 -

Page 22: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

Notification

Read Mappings (HMI) (SAP_XI_ID_SERV_USER) Push Mappings (HMI)

(SAP_XI_ID_SERV_USER)

Notify (SAP_XI_IR_SERV_USER) Mapping Objects (HMI)

Get user/pwd

Get user/pwd

Get user/pwd

Get user/pwd

Update (SAP_XI_IS_SERV_USER)

Notify (SAP_XI_ID_SERV_USER) Directory

Repository

Integration Server

Directory Integration Server(ABAP)

Update:

Exchange Profile

SM59 Destination (INTEGRATION_DIRECTORY_HMI)

Get user/pwd

Repository

Notify (SAP_XI_IS_SERV_USER)

Adapter Framework

Notify (SAP_XI_AF_SERV_USER)

Integration Server(JAVA)

The Integration Directory and the Integration Repository read user and password information read from the exchange profile. The Integration Server uses an SM59 destination (INTEGRATION_DIRECTORY_HMI) to do this. The first thing that needs to be determined is the name of the user that is assigned the required role. To determine this in the Integration Directory or the Integration Repository, call transaction SUIM in the SAP system that is used for the user management (the default should be the client of the Integration Server).

- 19 -

Page 23: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

31. If you want to check which SAP system client (ABAP client) the J2EE User Management is integrated in, call the Visual Administrator.

Choose Server Service UME Provider and take a look at the following properties: ume.r3.connection.master.client ume.r3.connection.master.ashost

32. In transaction SUIM, choose User Information System User User by Complex Selection Criteria By Role.

- 20 -

Page 24: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

33. Type in the relevant service user role: SAP_XI_ID_SERV_USER SAP_XI_IS_SERV_USER, SAP_XI_IR_SERV_USER

A list of user names is displayed. The user name is most probably either PIDIRUSER, PIISUSER, or PIREPUSER.

34. Call transaction SU01 to check

whether the user is locked. Navigate to the Logon Data tab page. This is where information about the lock status is displayed.

35. You can unlock the user in the initial screen. To do this, choose Lock/Unlock.

- 21 -

Page 25: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

36. To display more information about the user, choose Display (F7). To determine whether the service user has the correct user type, check the radio button for User Type. Make sure the selected value is Service (and not Dialog).

4.8 Checking Profile Generation 37. Check whether the profiles for the

user have been generated. Choose the Profiles tab page.

If the profile for the role is not generated, call transaction PFCG.

- 22 -

Page 26: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

38. Select the corresponding role SAP_XI_ID_SERV_USER/ SAP_XI_IS_SERV_USER/ SAP_XI_IR_SERV_USER, and display the definition. Choose the Authorizations tab page and check the status of the profile generation.

If the generation is incomplete, change to edit mode and delete it first. To generate the profile choose Display Authorization Data on the same tab page.

39. Then choose the red/white ball push

button ( ) to start the generation.

- 23 -

Page 27: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

40. After successful generation, switch to the User tab page (on the previous screen) and choose User comparison.

At this point, the user name for the service users should now be clear, the users should not be locked and the authorization data should be correct. These steps outlined how to check the settings in the SAP system (ABAP part). If these do not help you solve your problem, you can check if the caller side (XI tools, for example, the Integration Builder) uses the correct entries. To do this, you need to call the exchange profile.

4.9 Checking the Exchange Profile Open the SAP Exchange Infrastructure start page and choose Administration in the navigation area. You have to log on with an SAP XI administrator user. Choose Administration of Properties Exchange Profile.

- 24 -

Page 28: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

41. Navigate to:

IntegrationBuilder IntegrationBuilder.Directory com.sap.aii.Directory.serviceuser.name and .pwd

You can also navigate to IntegrationBuilder IntegrationBuilder.Repository com.sap.aii.Repository.serviceuser.name and .pwd

Check the name of the service user and retype the password that is stored in the SAP User Management (if you are not sure about the password, retype it in transaction SU01). Then choose Save.

42. Check that the parameter com.sap.aii.connect.integrationserver.r3.client in the Exchange Profile corresponds to the Integration Server Client.

- 25 -

Page 29: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

43. Open the SAP XI administration section and choose Administration of Properties AII Properties. Then choose Refresh in the content area (this reads the properties from the exchange profile).

5 Appendix

5.1 Activation Process

5.1.1 Notification When an object is activated, a notification is triggered.

Activation Process in the Integration Directory 1. The user activates the change list.

User Change l t is

handler JMS Notificationhandler SLD IS ABAP Adapter

Engine(s) IS ValueMapping

activate notify

NotifDB

Insert innotificatio

n tabelStart notification

for each consumer

Get consumers

NotificationOK,failed

Start update asynchronously

PIDIRuser

Integration Directory

JMS message for each consumer is started - because of container managed transactions: DB updateshould be commited before consumer starts cache update

- 26 -

Page 30: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

2. Using JMS, a notification is written to the notification table. This can be displayed in the Integration Directory. Choose Environment Cache Notifications in the menu.

3. The information about which Adapter Engines to notify is read from the SLD by HTTP using the user PIDIRUSR.

4. The access URL for the adapter engines is read from the SLD. 5. The access URL for the Integration server and the value mapping runtime (Java

runtime) is read from the exchange profile. 6. The notification is sent to the Integration Server, Adapter Engines and value mapping

runtime by HTTP using the user PIDIRUSER. 7. Either success or failure is written to the notification table once notification is

complete.

- 27 -

Page 31: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

User

Changelisthandler JMS Notification

handler

activatenotify

NotifDB

XIREPuser

Repository Directory

Notificationhandler

NotifRep

Notification process asdescribed for directory

Store repository object Ids

Notif

Start notificationvia JMSas described fordirectory user

Activation Process in the Integration Repository 1. The user activates a change list intended for the cache (mapping, software

component version, business processes). 2. Using JMS, a notification is written to the notification table.

This can be displayed in the Integration Repository. Choose Environment Cache Notifications in the menu.

3. The notification is sent to the directory by HTTP using the user PIREPUSER. 4. Either success or failure is written to the notification table once notification is

complete.

- 28 -

Page 32: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

5.1.2 Update After successful notification, the cache update is triggered.

IS ABAP Notificationhandler Notif Directory

ObjectRepository

Object

JavaMappingRuntime

Changelisthandler

Updaterunning

Get object ids

Get Object

Get object from repository

Store mappings in runtime

OK / OK with errorsGeneralstatus

Notiferror

Error Statusof single objects

RuntimeObject

Update

Start workflow generation

WorkflowGeneration fromprocess services(asynchronous)may set error code 99in sxi_cache

XIISuser XIDIRuser

XIDIRuser

ABAP Runtime Directory RepositoryJavaRuntime

Update Process in ABAP Runtime

- 29 -

Page 33: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

1. When the ABAP Runtime receives the notification, it starts the update

asynchronously. 2. Using JMS, an update notification is written to the notification table.

This can be displayed in the Integration Directory. Choose Environment Cache Notifications in the menu.

3. The update is made using the SM59 destination INTEGRATION_DIRECTORY_HMI and the user XIISUSER.

4. The objects from the Integration Repository are accessed from the Integration Directory using the user XIDIRUSER.

5. The mappings are stored in the Java mapping runtime using the user XIDIRUSER. 6. Either success or failure is written to the notification table (overall status of update)

once the update is complete. 7. In SAP XI30, all mappings, and not just those that are used, are stored in the cache. 8. If there is an update for business services, workflow processes are generated during

the cache update. If the generation fails, the error code 99 is set in transaction SXI_CACHE. If the generation succeeds, the error code 0 is set in transaction SXI_CACHE.

9. As and from FP (SP4), there will be a new notification error table in the Integration Directory to show the error statuses of single objects.

- Complete Cache Refresh in SXI_CACHE will refresh the whole cache. A batch job is used. This can be checked in transaction SM58 by using the function

module. SAI_CACHE3_REFRESH_BACKGROUND

A lock is set in SM12. - Delta Cache Refresh in SXI_CACHE will read the notification table and

check if a lock is set in transaction SM12. If no lock is set, it will trigger the update for this object.

A synchronous call is performed. The error can be seen directly.

Note: Only execute Complete Cache refresh, if Delta refresh does not solve the issue! Delta cache refresh should resolve all known issues. Complete cache refresh can run long time and delay message processing in this time.

- 30 -

Page 34: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

AdapterEngine

Notificationhandler Notif Directory

ObjectRepository

ObjectChangelist

handler

Updaterunning

Get object ids

Get Object

Get object from repository

OK / OK with errorsGeneralstatus

Notiferror

Error Statusof single objects

RuntimeCache

Update

XIAFuser XIDIRuser

Directory RepositoryAdapter Engine

Update in AE Runtime

1. When the Adapter Engine runtime receives the notification, it starts the update asynchronously.

2. Using JMS, an update notification is written to the notification table. This can be displayed in the Integration Directory. Choose Environment Cache Notifications in the menu.

3. The update of the CPA Cache is done using the user XIAFUSER. 4. The objects from the Integration Repository (metadata) are accessed from the

Integration Directory using the user XIDIRUSER. 5. Either success or failure is written to the notification table once notification is

complete.

- 31 -

Page 35: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

- 32 -

IS Runtime Notificationhandler Notif Directory

ObjectChangelist

handler

Updaterunning

Get object ids

Get Object

OK / OK with errorsGeneralstatus

Notiferror

Error Statusof single objects

RuntimeObject

Update

XIISuser

DirectoryValue Mapping Runtime

Update Process in Value Mapping Runtime

1. When the value mapping runtime receives the notification, it starts the update asynchronously.

2. Using JMS, an update notification is written to the notification table. This can be viewed in the Integration Directory. Choose Environment Cache Notifications in the menu.

3. The update of Value Mapping is done using the user XIISUSER. Either success or failure is written to the notification table once the update is complete

Page 36: How To… Handle XPI Caches in SAP NetWeaver 7...Refresh Cache, the cache is refreshed immediately. The Partial Cache Refresh refreshes change lists with the status new, in work or

www.sdn.sap.com/irj/sdn/howtoguides