IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

Disabling SAP IDoc transaction mailbox logging in WmPartners

  • 1.  Disabling SAP IDoc transaction mailbox logging in WmPartners

    Posted Tue August 15, 2006 05:05 PM

    The problem of SAP (adapter 4.6) IDocs being logged to the IntegrationServer/packages/WmPartners/pub/mailbox directory seems to cause webMethods Integration Server administrators quite a few headaches. The standard supported mechanism to delete these files
    is to call "wm.PartnerMgr.xtn.Sweeper:sweepTRX" service periodically to purge old transactions. While this is an acceptable solution, more than one administrator has asked how to disable this transaction logging altogether.

    Information regarding this method can be found by combining specific information in the Partner Manager user’s guide with information from the SAP Adapter user’s guide.

    STEP 1: Create a service to handle “content-based routing”. Name this service whatever you like, and put it somewhere where you put “common” services for server administration.

    STEP 2: On the “Input / Output” tab, select the specification reference at “pub.sap.idoc.routing:inboundDefault”.

    Step 3: Create a map step

    Step 4: Add a string variable “$routeOnly” and set the value to “true”
    By inserting the parameter “$routeOnly” with the value “true” prior to calling WmPartners, logging to disk is bypassed.

    Step 5: Map “sender”, “receiver” and “msgType” from IDOC_CONTROL as follows (you will have to create the variables on the left under IDOC_CONTROL): (Note that this step is necessary if you use IDocs that are a version earlier than 4.0)

    SNDPRN => sender
    RCVPRN => receiver
    MESTYP => msgType

    On each of these three maps, edit the “Indices” to use “IDOC_CONTROL” index “0”, and insert a “Copy condition” ensuring that the variable being copied is not null (the following image is an example):

    Step 6: Repeat step 5, only for IDOC_CONTROL_REC_40.

    Steps 5 and 6 emulate the default behavior of the SAP adapter by extracting sender, receiver, and message type from the EDIDC

    Step 7: Register this service with SAP adapter routing:

    Call the built-in service “pub.sap.idoc.routing:registerService” with the parameters:

    msgType => $default
    service => {your service name}
    inbound => true

    After the sender, receiver, and message type are extracted, the IDoc is sent to the partner manager. These parameters are used to match a partner manager routing rule to determine where to route the IDoc. This service is automatically registered when the package is loaded.

    The service you create is automatically enabled, and will be applied to all incoming IDocs. It can be disabled or unregistered as follows:

    [SIZE=2]** TO DISABLE THIS SERVICE (AND ENABLE LOGGING) **
    (NOTE: This service is intentionally disabled in development)

    1. Open IS Administrative console
    2. Open the SAP adapter configuration
    3. Under “Default handling for all IDocs” change the “Inbound service” setting from “{your service name}” to “$none”.[/size]

    [SIZE=2]** TO UNREGISTER THIS SERVICE **
    Call the built-in service “pub.sap.idoc.routing:unregisterService” with the parameters:

    msgType => $default
    service => {your service name}
    inbound => true

    I hope that this guide helps others as a reference to address this issue in the future![/size]

    – Christopher Kovacs


    #Flow-and-Java-services
    #webMethods
    #Integration-Server-and-ESB


  • 2.  RE: Disabling SAP IDoc transaction mailbox logging in WmPartners

    Posted Tue August 15, 2006 06:31 PM

    Most excellent description. Thanks for the tip!


    #Flow-and-Java-services
    #Integration-Server-and-ESB
    #webMethods


  • 3.  RE: Disabling SAP IDoc transaction mailbox logging in WmPartners

    Posted Tue August 15, 2006 08:32 PM

    Great post - did not know you could do it at the transaction level…

    If you want to have the logging disabled for all IDOCs, you can simply set the following in server.cnf (or extended settings):

    watt.PartnerMgr.noMsgStorage=true
    watt.PartnerMgr.routeOnly=false

    Using the above combination of settings still allows you to see the status of the transactions (via Routing | Transactions), but without the overhead of logging the entire IDOC content.

    Setting routeOnly to true will eliminate all logging for all IDOC’s (and I believe that the noMsgStorage parameter is irrelevant at that point, but I’ve never tried it).

    These settings are available if you are running in IS 6.1 or higher by default - if in 6.0.1 or earlier, there is a “performance fix” for WmPartners that needs to be installed - don’t recall the specific number.


    #Integration-Server-and-ESB
    #Flow-and-Java-services
    #webMethods


  • 4.  RE: Disabling SAP IDoc transaction mailbox logging in WmPartners

    Posted Tue August 15, 2006 10:08 PM

    I’ve read the “Performance fix” notes, but I did not see “watt.PartnerMgr.noMsgStorage” and “watt.PartnerMgr.routeOnly” documented in the SAP adapter user’s guide. Now that you’ve brought these to my attention (Thank you!) I see that Advantage artice id “1611969142” mentions this (Ref [URL=“https://advantage.webmethods.com/advantage?targChanId=kb_home&oid=1611969142”]https://advantage.webmethods.com/advantage?targChanId=kb_home&oid=1611969142[/URL] ).

    My proposal allows you to enable / disable IDoc logging on the fly or on a transaction filtering level, but I agree that it is not the best solution for globally disabling this feature.

    Thank you for your feedback. This will be very helpful!

    – Christopher Kovacs


    #Flow-and-Java-services
    #Integration-Server-and-ESB
    #webMethods


  • 5.  RE: Disabling SAP IDoc transaction mailbox logging in WmPartners

    Posted Fri December 29, 2006 07:38 AM

    Hi Christopher Kovacs,
    Thanks a lot. The best explanation ever I have seen so far.

    Thanks
    Ram


    #webMethods
    #Flow-and-Java-services
    #Integration-Server-and-ESB


  • 6.  RE: Disabling SAP IDoc transaction mailbox logging in WmPartners

    Posted Wed July 18, 2007 02:54 AM

    Hello,
    When set the “watt.PartnerMgr.noMsgStorage=true” and “watt.PartnerMgr.routeOnly=false”, will it still writes entries to the files “xtn.log”,“xtn_audit.log”,“xtn_store.mdb” and “server*.log”?
    We had met the situation of the size of “server*.log” for one day is overy 30GB when there are many Idoc transactions, so we had to unselect the Logging Facilities “0073 WmPartners Gateway Manager” to reduce the log file size. Thanks a lot!


    #Flow-and-Java-services
    #webMethods
    #Integration-Server-and-ESB


  • 7.  RE: Disabling SAP IDoc transaction mailbox logging in WmPartners

    Posted Sat July 21, 2007 12:27 AM

    Hi,
    I have a question regarding this. I would like to get some expert opinion and inputs.

    What is this logging used for exactly? Will it be of any help when debugging issues? Or is this just redundant information, stored else where too(in Sap or Service audit logging). I am really interested to know what exactly are we losing if we can turn this off completely.

    I am currently looking for the good option between, turning it off OR scheduling wm.PartnerMgr.xtn.Sweeper:sweepTRX to clean it.


    #Integration-Server-and-ESB
    #Flow-and-Java-services
    #webMethods


  • 8.  RE: Disabling SAP IDoc transaction mailbox logging in WmPartners

    Posted Sat July 21, 2007 04:45 AM

    It can help with debugging. If you turn off completely, then you pretty much lose visiblity to what is happening with the IDOC’s. I always like to set noMsgStorage to “true” and routeOnly to “false”. This combination allows you to see the status of transactions, but does not log the content of the IDOC. With this combination of settings, you still need to run the sweepTRX service to clean up the transaction entries, there’s just no IDOC stored - which is what puts the highest i/o demand on the system… It really all depends on what level of visibility you want to have. Also bear in mind that I’m referring to the 4.6 version of the SAP Adapter. I’ve not had the opportunity to use the 6.x version of the adapter, so I’m not sure how that one behaves and if any of this is still relevant…

    My recommendation is to test it out and see what works best for you…


    #webMethods
    #Flow-and-Java-services
    #Integration-Server-and-ESB


  • 9.  RE: Disabling SAP IDoc transaction mailbox logging in WmPartners

    Posted Sat July 21, 2007 05:54 AM

    Hi - Thanks a lot for the quick reply.

    I personally like to have high quality of service at the cost of a reasonable performance hit.

    But, somehow i never used the Sap transaction logging in the Integration Server to debug issues. I always, either check the service status in the IS(if logged), or the IDOC status in Sap itself. Can you come up with a couple of scenarios where the information in this log becomes useful for debugging? I only have a little experience with this, so i can’t think of any.


    #Integration-Server-and-ESB
    #Flow-and-Java-services
    #webMethods