cancel
Showing results for 
Search instead for 
Did you mean: 

SAPMEINT-IPluginHandler??

Former Member
0 Kudos

Hi, I am searching for information on the Workflow of SAPMEINT (ME 6.0) and yet not able to find any information regarding my question

Some of the BLS stated that "This transaction implement IPluginHandler". What is this handler. How is this handler implemented?

thanks.

Accepted Solutions (0)

Answers (1)

Answers (1)

0 Kudos

As far as I know it is an interface. There is IPluginHanlder.trx transaction, which is empty by design. It contains input and output transaction parameters, which are expected by the framework to execute custom plugins correctly. You can save IPluginHanlder.trx with  some new name and put your logic

there. At that you will have all required input and output parameters created.

You can configure your plugin as postXSLTTxn transaction, which is called before calling service transaction, which for inbound interfaces is webservice call to SAPME.

Below is an example of it:

<?xml version="1.0" encoding="UTF-8" standalone="no"?><Transaction xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="12.2.2.205"><TransactionAttributes><ContextItem><Name>Description</Name><Description>Transaction Description</Description><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="string"/><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>Comments</Name><Description>User Comments</Description><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="string"/><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>CreatedBy</Name><Description>Created By</Description><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="string"/><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>CreationDate</Name><Description>Creation Date</Description><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="dateTime">2007-10-29T17:03:58</Value><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>Category</Name><Description>Transaction Category</Description><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="string"/><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>Status</Name><Description>Deployment Status</Description><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="string">DEVELOPMENT</Value><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>LastEditedBy</Name><Description>Last Edited By</Description><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="xsd:string">Administrator</Value><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>LastEditedDate</Name><Description>Last Edited Date</Description><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="xsd:dateTime">2011-06-02T18:25:50</Value><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>ConvertNullXPathResultsToEmptyStrings</Name><Description>Convert a null node for an XPath expression to an empty string.</Description><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="boolean">1</Value><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>LegacyProcessingMode</Name><Description>Support the pre MII 12.1 Transaction Engine.</Description><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="boolean">1</Value><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>ThrowOnLinkError</Name><Description>Throws an exception when a link error occures</Description><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="boolean">1</Value><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>AutoAppendBlankNamespaces</Name><Description>Automatically append blank namepsacpes were appropriate in XML appends.</Description><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="boolean">0</Value><ReadOnly>true</ReadOnly></ContextItem></TransactionAttributes><Name>Default/MyPluginHandler</Name><Version>17</Version><WriterRoles>SAP_XMII_Administrator,SAP_XMII_Developer,SAP_XMII_Super_Administrator</WriterRoles><Context><ContextItem><Name>inputXML</Name><Description/><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="xml"><ReferenceDocumentSource/></Value><SchemaURI/><SchemaElement/><ValidateXMLOnExecution>1</ValidateXMLOnExecution><ReadOnly>false</ReadOnly></ContextItem><ContextItem><Name>message</Name><Description/><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="string"/><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>outputXML</Name><Description/><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="xml"><ReferenceDocumentSource/></Value><SchemaURI/><SchemaElement/><ValidateXMLOnExecution>1</ValidateXMLOnExecution><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>params</Name><Description/><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="string"/><ReadOnly>false</ReadOnly></ContextItem><ContextItem><Name>plant</Name><Description/><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="string"/><ReadOnly>false</ReadOnly></ContextItem><ContextItem><Name>recordId</Name><Description/><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="string"/><ReadOnly>false</ReadOnly></ContextItem><ContextItem><Name>status</Name><Description/><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="string">SYS_ERROR</Value><ReadOnly>true</ReadOnly></ContextItem><ContextItem><Name>typeId</Name><Description/><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="string"/><ReadOnly>false</ReadOnly></ContextItem></Context><Local/><Layout><GUILayoutItem><Name>Sequence</Name><X>8</X><Y>8</Y><Width>120</Width><SpacingWidth>120</SpacingWidth><DescendantWidth>120</DescendantWidth><Height>96</Height></GUILayoutItem><GUILayoutItem><Name>MEWebService_0</Name><X>16</X><Y>24</Y><Width>104</Width><SpacingWidth>0</SpacingWidth><DescendantWidth>0</DescendantWidth><Height>72</Height></GUILayoutItem><GUILayoutItem><Name>Sequence_0</Name><X>8</X><Y>144</Y><Width>120</Width><SpacingWidth>120</SpacingWidth><DescendantWidth>120</DescendantWidth><Height>96</Height></GUILayoutItem><GUILayoutItem><Name>Tracer_0</Name><X>16</X><Y>160</Y><Width>104</Width><SpacingWidth>0</SpacingWidth><DescendantWidth>0</DescendantWidth><Height>72</Height></GUILayoutItem><GUILayoutItem><Name>Sequence_1</Name><X>8</X><Y>280</Y><Width>120</Width><SpacingWidth>120</SpacingWidth><DescendantWidth>0</DescendantWidth><Height>96</Height></GUILayoutItem><GUILayoutItem><Name>Assignment_0</Name><X>16</X><Y>296</Y><Width>104</Width><SpacingWidth>0</SpacingWidth><DescendantWidth>0</DescendantWidth><Height>72</Height></GUILayoutItem></Layout><Actions><ContextItem><Name>MEWebService_0</Name><Description/><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="TransactionCall"><ResetState>false</ResetState><TransactionName>Visiprise/ERPShopFloorIntegration/frame/workflow/MEWebService</TransactionName><Async>false</Async><Persist>INHERIT</Persist><StoreTransactionOutput>false</StoreTransactionOutput><Expiration>-1</Expiration><typeId/><params/><inputXML><ReferenceDocumentSource/></inputXML><plant/><recordId/></Value><SchemaURI/><SchemaElement/><ValidateXMLOnExecution>1</ValidateXMLOnExecution><ReadOnly>false</ReadOnly></ContextItem><ContextItem><Name>Tracer_0</Name><Description/><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="Tracer"><Message/><Level>INFO</Level></Value><ReadOnly>false</ReadOnly></ContextItem><ContextItem><Name>Assignment_0</Name><Description/><MinRange>0</MinRange><MaxRange>0</MaxRange><Value xsi:type="Assignment"/><ReadOnly>false</ReadOnly></ContextItem></Actions><ReaderRoles>SAP_XMII_User</ReaderRoles><Steps><Step xsi:type="ActionSequence"><Name>Sequence</Name><Description/><Steps><Step xsi:type="ActionSequence"><Name>Sequence_0</Name><Description/><Steps><Step xsi:type="ActionSequence"><Name>Sequence_1</Name><Description/><Steps/><Actions><Action><Name>Assignment_0</Name><Description> </Description><IncomingLinks/><OutgoingLinks><Assign xsi:type="AssignXml"><Name/><Description/><To>Transaction.outputXML</To><From>MEWebService_0.outputXML</From></Assign><Assign xsi:type="Assign"><Name/><Description/><To>Transaction.status</To><From>MEWebService_0.status</From></Assign><Assign xsi:type="Assign"><Name/><Description/><To>Transaction.message</To><From>MEWebService_0.message</From></Assign></OutgoingLinks></Action></Actions></Step></Steps><Actions><Action><Name>Tracer_0</Name><Description> </Description><IncomingLinks><Assign xsi:type="Assign"><Name/><Description/><To>Tracer_0.Message</To><From>MEWebService_0.outputXML</From></Assign></IncomingLinks><OutgoingLinks/></Action></Actions></Step></Steps><Actions><Action><Name>MEWebService_0</Name><Description> </Description><IncomingLinks><Assign xsi:type="AssignXml"><Name/><Description/><To>MEWebService_0.inputXML</To><From>Transaction.inputXML</From></Assign><Assign xsi:type="Assign"><Name/><Description/><To>MEWebService_0.plant</To><From>Transaction.plant</From></Assign><Assign xsi:type="Assign"><Name/><Description/><To>MEWebService_0.recordId</To><From>Transaction.recordId</From></Assign><Assign xsi:type="Assign"><Name/><Description/><To>MEWebService_0.typeId</To><From>Transaction.typeId</From></Assign><Assign xsi:type="Assign"><Name/><Description/><To>MEWebService_0.params</To><From>"serviceUrl=manufacturing-services/ItemServiceService;timeOutInSec=60"</From></Assign></IncomingLinks><OutgoingLinks/></Action></Actions></Step></Steps></Transaction>

Former Member
0 Kudos

Hi Alexander

Need more explanation...

What kind of interface is IPluginHandler? When you say framework to execute custom plugins, you mean Framework = MII, and plugins are MII' transaction?? The plugin transaction is an empty transaction and "not writable" transaction..., is this plugin transaction a template for our own development?. Do you mean I can copy this transaction and put it in my own Project and then configure it in the Worfklow (for eg postXSLTTxn)???

0 Kudos

I would answer 'yes' to your questions. You may create a transaction with any name you want using IPluginHanlder.trx as a template and then use that transation in your custom project.