Large SAP Idocs

Dear WM Gurus,

I am new to large file handling implementation where as my customer has ask us to do POC on large file handling with SAP Idocs to check our expertise on this matter.
So I like to understand how to design and develop processing of inbound/outbound processing of large file of SAP idocs.

System details SAP Adapter version 7.1 and WM 9.7 with OS AIX.
Large idoc with multiple segments greater than 20 K/hours

Questions my customer/sap support team is asking about large file processing on ESB layer as follows :-

  1. What is the max size of sap idocs ESB server can process ?
  2. Once sap idocs is trigger from sap system, How ESB server or How do you determine incoming idoc is large files?
  3. Explain high level business logic you write to handle large idocs file processing?
  4. In Outbound flow While sending idoc to SAP system, Will your ESB send all Idocs at a single thread or it will push 1 by 1 idoc at time in loop ?
  5. If any transient or network break down happen then how/ where do you store incoming large file for time being?
  6. How do you resubmit failed idocs?
  7. If file is large do you ESB server need to twerk memory/extended setting or JVM ?

Appreciate you response

I can say you can make use of below 2 services for large IDOC’s. I am not sure about your questions.

pub.web:getNodeIterator
pub.web.getNextNode

Thanks,

MR/Abdul,

pub.web:getNodeIterator
pub.web.getNextNode

Can you please share from where do you find these services, looks like these are deprecated ones for me in v7. For handling SAP Idoc there are built in API services found in WmSAP/pub folder.

@ Vinay,
Please check 7-1_SAP_Adapter_Install_and_Users_Guide for more details. We had a IDOCHandler framework custom built in one of my past client projects. The core services used are from WmSAP package.

I did use them when I was working on wM8.0 version long ago. These days didn’t work on IDOCS on 9x, so not sure.

Thanks,

1 Like

Hi Vinay,

Since you are using the SAP adapter , I believe you will be receiving the IDOCs via ALE notification. In this case if its a large IDOC and if all the segments are not required, then may be based on your requirement you can select only the required segments in the notification request section tab. Hence only those segments will come to the ESB. In this way you can limit the IDOC size on ESB side. Also if you have TV, you can redirect the IDOCs from notification to TN, there you can do large file handling ( it will be easier I believe ) from there. In our project we used to do that , route the IDOCs to TN , where large file handling settings were there.

So 2 points here.

  1. select only required fields and segments in the notification.
  2. route to TN ( if present ) for large file handline , else save the docs in filespace and use the node iterator logic.

Thanks and Regards
Abir Banerjee

Hi Vinay,

There should be chapter in the SAP Adapter documentation how to handle large IDocs.

Additionally check for latest SAP Adapter Fix and JCo Libraries to avoid memory leaks and incompatibilities.

Regards,
Holger

Please provide the exact fix levels for IS (incl. ART) and SAP Adapter as well as the JCo Library version which is currently used.

The informations for SAP Adapter can be found in the About page of the SAP Adapter Admin UI.

Regards,
Holger

Thanks Mahesh/Abhir/MR/Holger,

I am about to request to my infrastructure team all SAP fix,version, Jar and lib file going to used for this implementation but still my client/support team like to know about about

Q 2 and Q 5 ie

  1. Once sap idocs is triggered from sap system, How ESB server/middleware or How do you determine incoming idoc file is large files?

  2. If any transient or network breakdown happen in Integration flow then how/where do you store incoming large file for time being? or what is logic or system you use to store this large file so that it should not be lost in flow.
    Basically, my client intention is like to know idea here is to resubmit failed data again will cost more to them.

Kindly suggest

Hi Vinay,

I think it is not possible to detect if an IDoc is a large IDoc or not before it has been completely received.

If IDoc could not be completely retrieved from SAP Server it should be retried.
If this fails the IDoc should remain avialable at SAP side for retry upon the connectivity has been restored.

Regards,
Holger