In this Weblog I am going to explain the various SAP provided standard Adapter Framework modules (AF_Modules) shipped with the module processor in Process Integration PI 7.1 once the Communication channel has been created along with the business cases. This blog is aimed at all important Adapter Framework modules with the examples in a single place.
We have the option of specifying generic modules for every adapter that is configured in the communication channel. These modules equip the adapters with additional functions. The modules that are the basis of the adapter configuration on the Parameters tab page are located in the module processor and are displayed in the module processor once a communication channel has been created. We define the module processor on the Module tab page. Also we have the set of predefined adapter modules for the particular adapters. This Documentation link (http://help.sap.com/saphelp_nwpi711/helpdata/en/a4/f13341771b4c0de10000000a1550b0/content.htm) will give the clear picture how to extend the module chain for the Adapters in the module processor. Below is the list of standard modules for Adapter Framework provided by SAP.
XiHeaderValidationBean (A New Standard Adapter Module in PI 7.1)0.1. RequestResponseBean
We will go through each module with their business cases
A standard module used to replace the application payload of XI message that holds the data with another payload which is appended to the message as an attachment.
We can use this module in the mail adapters for mails with attachments.
In the above Sender Mail Communication channel, the swap module for the PayloadSwapBean has 2 parameters from the MIME headers in order to replace the application payload by the attachment. They are *swap.keyName *where the attribute of payload-name is entered and *swap.keyValue which holds the value of attribute. A wiki on file to mail scenario will clearly explain the usage of PayloadSwapBean. </p><p> </p><p>_2) StrictXML2PlainBean_*
A standard module used for converting an XML document in the main payload of XI message to text format. Within an XML document, different recordset types can be displayed either separately or with a fixed field length (mixed display). The structure of the XML document is checked based on the entries you make in the module.
We can use the module in the receiver File/FTP adapter for converting XML format to pure text format.
In the above Receiver File Adapter, the convert module for StrictXml2PlainBean has 2 parameters in which singleRecordType where all recordset types are converted in the same way and <RecordType>.fieldSeparator converts the XML to asterisk separated file. We can find more information about the usage of StrictXml2PlainBean in this blog (Xml to Text conversion made easy by StrictXml2PlainBean)
A standard module for anonymize XML elements and attributes by removing their namespaces or namespace prefixes from the XML document of main payload.
We can use this module in the adapters that can be extended in the module processor. Also this module is used to have the namespace without prefix or to define a particular namespace prefix for each namespace. Also we can change the encoding attribute of XML declaration.
In above receiver JMS Adapter, The remove module for XMLAnonymizerBean has 2 parameters that anonymizer.acceptNamespaces has to set the namespace without a prefix and anonymizer.quote has the character to be used to enclose the attribute values. For better understanding of XMLAnonymizerBean, Please visit this blog (The specified item was not found.).
A standard module used for compressing one or more payloads or extracting the payloads from a compressed file.
We can use this module in any adapters that can be extended in the module processor. If we have a multiple files with large size to be processed, this module can reduce the size of the file and successively reduce the load on the PI Server.
In the above receiver File Adapter, The zip module for the PayloadZipBean has the parameter zip.mode to specify the processing mode (zip, zipAll and unzip) for the purpose of compressing and decompressing the files. A blog on PayloadZipBean (Working with the PayloadZipBean module of the XI Adapter Framework) will clearly explain the usage.
A standard module used for swapping the code page of the main payload of the XI message and convert the content using the new code page
If a receiver uses a different code page to the one specified in the XI payload, we can use this module to swap the code page of the main payload of the XI message and convert the content. An example is converting a non utf-8 payload into utf-8 payload. We can use this module in any adapters that can be extended in the module processor.
In the above Receiver File Adapter, The convert module for the TextCodepageConversionBean has the parameter name as Conversion.charset to convert a non UTF-8 text payload into utf-8 payload. We can find more information about TextCodepageConversionBean from this sap notes (https://service.sap.com/sap/support/notes/960663).
A standard module used for processing the dynamic configuration header that is used to represent the Adapter-Specific Message Attributes (ASMA’s).<u> </u>
DynamicConfigurationBean allows us to
a) Insert/Delete some specific ASMA’s
b) Read some XI message header properties
c) Write some ASMA’s into XI message header properties
We can use this module in any adapters that can be extended in the module processor.