Posts

Showing posts from February, 2015

Filtering URLs by using Permission Table in SAP Web Dispatcher

Let us say, you have installed a Web Dispatcher in the DMZ and it is used so that the business partners can send SOAP messages over the internet to you. From a security perspective, you may want the business partners to access the SOAP URLs alone; they should even be calling admin related URLs. To achieve this, you can use a permission table (ptab) in the Web Dispatcher. Create a file (say ptabfile) which allows SOAP URL pattern /XISOAPAdapter/MessagingServlet*, so that a call to the SOAP URL (http://<host>:<port>/XISOAPAdapter/MessagingServlet?channel=<party>:<sendersystem>:<CC_sender>) is permitted. The contents of the file would then be: P    /XISOAPAdapter/MessagingServlet* D   * Add the following parameter to the web dispatcher profile file: wdisp/permission_table = <absolute_path_to_ptabfile> Restart web dispatcher for the change to get activated. When a call to the web dispatcher is made containing the pattern http(s)://<web

SYSTAT IDocs Causing High IO Load

Image
The status idocs processed by SAP PI/XI can cause high CPU wait times (because of increased I/O activity). If you notice high CPU usage with most of the CPU spent on wait, check if there are SYSTAT IDocs are being processed (you can check SMQ1/SMQ2 with slow moving queues) If you check the SQL statements being executed at that moment, you might notice the following statement: SELECT * FROM IDXRCVPOR WHERE IDOCNUMBER = <some IDOC number> You might notice the SQL statement showing up in SM66 for 5-6 seconds and the explain statement would show very high IO-Costs in it is performing a full table scan. To address this performance problem, create an index on IDOCNUMBER column of the table IDXRCVPOR

How to Clear RFC Function Module Metadata in SAP PI

Image
The RFC Adapter in SAP PI stores all the metadata of the function modules. This means it caches the definition of function modules, structures and other datatypes. This cache is filled when the Communication Channel processes its first messages after the system restart, and pins the metadata so that the subsequent messages need not fetch the metadata again. Having the metadata readily available at runtime improves the message processing speed. If the function module is changed in the Sender or Receiver system, its metadata has to be updated in the RFC Adapter's metadata repository. This can be done by: Changing the Communication Channel in Integration Builder, so that a cache update on the entire channel is triggered (which includes removing the old metadata) Restarting the RFC Adapter service Restarting the J2EE Engine(s) All the above three steps will clear the metadata and it is fetched when a new message is processed by the Communication Channel.