Michal’s Tips: New enhancements for monitoring standard IDOCs and Proxies with AIF.
With the previous versions of AIF 2.0 if you wanted to monitor your standard proxies you had to call the AIF enabler (method – /aif/cl_enabler_proxy=>process_message) in a proxy’s BADI, ehnancement or modification. However a few months ago a new functionality was added which calls the AIF on the basis layer so it’s no longer necessary to make any changes to the standard proxy implementation in case you want to use AIF. You only need to do the standard AIF configuration for the interface if you implement – Note 1799544 – Support of Enterprise Services and existing proxy interfaces.There’s only prerequisite – Error and Conflict Handler (ECH) cannot be activated in client specific customizing (please have a look inside the OSS note for more details).
With IDOCs the story was a bit different than with proxies. It was possible to use AIF with IDOCs without any additional development but we had to use IDOC engine in all entries in the Interface engines configuration. That had a negative functionality impact that we couldn’t use index tables for example. The old configuration is described in my blog: Michal’s tips: Application Interface Framework (AIF) 2.0 – monitoring existing IDOCs
If we wanted to use index tables we had to call the AIF enabler function (/AIF/IDOC_INBOUND_PROCESS_FUNC) as described in my other blog:
Michal’s tips: Application Interface Framework (AIF) – IDOC processing with AIF actions Currenly with OSS note Note 1844352 – Support of Generic IDOC Monitoring we don’t need to do that to call AIF enabler for IDOC scenarios. Again as with proxy interfaces AIF is being called in the basis layer so we can turn on AIF monitoring by simply doing the AIF customizing.
Limitations for both cases
Calling AIF from the basis layer in both cases (IDOC and proxy) means that we can use:
– Interface Monitor
– Index Tables
– Key Fields
But the current limitation is that the the runtime features (like value mappings, checks) don’t work so if you want to use those functions you still need to use the old way of explicitly calling the AIF enabler class/function.