Application Interface Framework – A functional consultant’s Guide
Remember those days when as functional consultants or business users we used to depend upon techies/IT for resolving our Interface related monitoring or error handling. SAP AIF (Application Interface Framework) is the answer for the same. We used to have custom program for easy search of Idocs(copy of WE02) based our service order or sale order or delivery etc and also to find out the corresponding xml messages based on time stamp in SXI_MONITOR transaction.
It’s no more monitoring and error handling as separate activities, we can do proactive monitoring and error handling that to by business user/super users even by system itself (available in AIF 3.0) in a single transaction. While I come across this new framework of SAP, I explored few wikis and thought of sharing my experience with AIF.
Few Thumb rules:
- This is not a replacement of PI/PO. It’s an add-on in addition to PI/PO.
- It can also integrate with any other Middle ware.
Its Architecture simplified.
Check your AIF Version
Below document is related to AIF 2.0
– Building checks
– Creating value mapping table
– Creating actions
– Building BAPI wrapper/Function modules
|Monitoring & Error handling||Business Super User||/AIF/ERR|
Monitoring & Error handling
– Creating Hint and SOPs to resolve error
– Building custom function to reprocess
|IT/ Technical Consultant||
|Alert||Business user||By Email|
Most of the above customizing is done to make the framework more reusable. E.g if we have built a check or action, this can be reused across interfaces.
Interface specific Features in Error handling
In this activity, we can create interface specific key fields based on which we search the xml message, IDOC. We also can define which all fields can be changeable. Hence the changing value is controlled through creating custom authorization object.
Value mapping – /AIF/VMAP
With this transaction, we can maintain all our value mapping between NON SAP system to SAP system. Please note that this is executed at AIF within SAP, hence the vales are passed from Non SAP to PI till AIF without any transformation. This typically eliminates the creation of custom tables(cross reference tables) at SAP for transformation.
Below screenshots shows a typical value mapping table with values where task list group is determined based Post code and ext. value(this is what has come from Non SAP system). This key fields determine the ext values comes from non-SAP system. Wild card entries are also taken care here. Sending system is nothing but an inbound interface. The same can be a receiving system for an out bound interface.
Monitoring and Error handling – /AIF/ERR
Let me point out the functionalities around the error handling transaction.
Note: Index is connector between view 1 and view 3. The same also is the common at view 5.
Various buttons on Data Message view 1 :
a) “Restart”: We can re-process the failed messages or queues. We can do the same by selecting either one or more messages in View no 1. This is not available in SMQ2 or SMQ1.
b) “Cancel”: We can delete the failed messages or queues. We can do the same by selecting either one or more messages in View no 1. This is not available in SMQ2 or SMQ1.
c) “Integration Engine: Monitor”: It directly calls SXI_MONITOR with XML message ID.
d) “QRFC Monitor”: It directly calls SMQ2 for inbound queue processing or monitoring or SMQ1 for outbound queue processing or monitoring.
Various buttons on Log Message view 3 :
A. Customize: Custom Hints: This is used form making Standard operation procedure(SOP) for the error handler based on the message class and message number. i.e if this error is encountered, then documented steps as shown in the table below should be executed.
This can be further automated through “Custom Function” by creating a custom function. This can be a transaction code or report which can be executed. One example is show as below.
B. “Value Mapping”: Only relevant for error related to value mapping. Its relevance can be found out by clicking on the Technical Mode. It directly calls /AIF/VMAP for user to check the missing value and add value if required. As an example, please have a look on the screenshot below.
We can check the missing value and we can click on “Insert values” to insert the missing one and the corresponding intvalue.
C. “Show Customer XML”: By clicking on this for an inbound message, System will display the xml message whatever has been sent by the Non-SAP system.
D. “Show Proxy Message”: By clicking on this for an inbound message, System will display the xml message whatever is received at SAP level.
Various buttons on Structure Content view 5:
- Click on the message with error. If it is related to data error which needs to be corrected, then the corresponding field in the structure will be selected. Double click on the content of the structure content view. Enter the new value, then apply the change. After doing so, we can re-process the message. If the error continues, then we repeat the process.
- Difference between Apply and Save, if the data is applied, it is saved for this session, if it is saved, then it is saved for ever till it is further changed.
The changes can be tracked with /N/AIF/EDCHANGES with old value and new value.
Enhancement Available for this Framework
Good number of BADis are available to enhance in terms of all views with additional button, Error handling, Custom functions etc . Have a look on /AIF* in SE18.
Few Pain points as a User:
There is no search button in View 1
There is no way if we double click on one message in view 3 to get the corresponding line item in view 1 but other way round is true.
There is no way we can find out how much time system took to process a message in /AIF/ERR which is available in SXI_MONITOR. This is highly useful during performance monitoring.
No way to download the xml message IDs into MS excel from View 1.
Please also check the transaction /N/AIF/ to get the entire menu of AIF or follow SAP Menu>Cross-Application Components>SAP Application Interface Framework
New functionalities are added in AIF 3.0. Please follow below link.