XMII Integration

Hi there.
I am implementing xMII for integration to XI using B2MML.
Generally messages are fired at the end of a shift, and there are up to 11 interfaces fired for each production order in the plant.
eg:
Production Confirmations
Material Movements
Goods issues to Production Orders
Goods Issue to Cost Centre
Stock Transport Orders
  etc.
Some plants can have up to 20 concurrent production order, which means that based on a trigger of "End of Shift" I may need to initiate up to 220 messages to XI.
My question is, Has anyone developed a standard generic component for xMII that can handle scheduling of messages, Sequencing of messages (Where one message needs to be confirmed before the next is processed), error handling and guaranteed delivery? If so is this likely to be something that is added to the downloadable components on SDN?
Regards
Geoff Nunan

Hi, Geoffrey.
I have implemented both file-based and database-based storage queues for exactly the scenarios you describe.  In the case of a file based queue, the queue "name" is the directory, and the queue entries all have a unique file name.  In the case of a database queue, the table has three columns - queue name, item key, and item content (I've used wide character text fields or CLOBs).  The pattern is actually quite simple:
1) To place something in a queue (file directory or database), generate a unique ID (xMII's BLS has a guid function you can use), and write/insert the data. 
2) Create worker transaction(s) and add them to the scheduler to run at the required intervals (I usually use one minute or five minute intervals if things aren't time critical)
3) In these transactions, get a list of pending work (GetFileList or a DB query), use a repeater to iterate through, try the work, if it succeeds, remove from the queue (DeleteFile or DB command), if not, leave it there and terminate this execution of the loop and the transaction.  Sometimes I'll also add a "limiter" to each execution of the worker (e.g. process no more than 10 messages per execution).
4) A few nice enhancements that I like to use are to add a diagnostic mechanism using either the UserLog (EventLog action), a simple text file, or a database table.  You can then build a nice quick UI using xMII to view/filter these logs.
5) I also like to provide a couple of UI screens to see what is in each queue.
The first time I put this together using a file-based queuing system took a couple of hours for all of the above, and I've reused this pattern for lots of different kinds of applications.
It works well!
Best regards,
Rick

Similar Messages

  • Error while XI and xMII integration (Plain HTTP as sender)

    Dear Friends,
       I am doing the scenario XI and xMII integration. While sending the input file from plain HTTP adapter the result comes as follows in *sxmb_moni* :
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!-- Call Adapter -->
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    <SAP:Category>XIAdapterFramework</SAP:Category>
    <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
    <SAP:P1/>
    <SAP:P2/>
    <SAP:P3/>
    <SAP:P4/>
    <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: <xMII server name></SAP:AdditionalText>
    <SAP:ApplicationFaultMessage namespace=""/>
    <SAP:Stack/>
    <SAP:Retry>M</SAP:Retry>
    </SAP:Error>
    In HTTP Client Adapter for XI 3.0 it is shown as follows:
    <SAP:Error><SAP:Category>XIAdapterFramework</SAP:Category><SAP:Code>MESSAGE.GENERAL
    </SAP:Code>
    <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: <xMII server name> </SAP:AdditionalText></SAP:Error>
    Please show the way to rectify this error.
    Regards,
    Jagan.

    Dear Sudharshan,
       I'm doing the scenario which is in the following blog.
    /people/dhanabal.thangavel/blog/2008/02/07/xi-and-xmii-integration--part-1 ==> XI and xMII Integration - Part 1
    This is a synchronous one. So I set QOS as BE in Client Http Adapter for XI 3.0.
    Scenario is HTTP <--> XI <--> xMII
    The following errors are I found:
    1) In RWB -> Message Monitoring
    Status : Canceled with Errors
    Message Details:
    SOAP : call failed
    SOAP :error occured: java.net.UnknownHostException: <HOST>
    Exception caught by adapter framework: <HOST>
    Delivery of the message to the application using connection AFW failed, due to: <HOST>. Setting message to status failed
    The message status set to FAIL.
    Returning synchronous error message to calling application: <HOST>.
    2) Error coming in the Client Http Adapter for XI 3.0 as follows:
    *URL:*
    http://xxxxxx07:xx10/sap/xi/adapter_plain?namespace=http%3A//www.xxxxxxx.com/XIBatch3/10099/xMII_Integration&interface=xMII_Integration_Sync_Outbound&service=BS_BATCH3&party=&agency=&scheme=&QOS=BE&sap-user=xxxxx&sap-password=xxxxx&sap-client=xx1&sap-language=EN
    *Result:*
    <SAP:Error><SAP:Category>XIAdapterFramework</SAP:Category><SAP:Code>MESSAGE.GENERAL</SAP:Code><SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException:<HOST></SAP:AdditionalText></SAP:Error>
    *Input XML file:*
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:XacuteRequest xmlns:ns1="http://www.lighthammer.com/Xacute">
       <ns1:LoginName/>
       <ns1:LoginPassword/>
       <ns1:InputParams>
          <ns1:ProductName>ProductA1</ns1:ProductName>
       </ns1:InputParams>
    </ns1:XacuteRequest>
    *WSDL file (Which is generated using the xMII transaction):*
    <?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.lighthammer.com/Xacute" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.lighthammer.com/Xacute">
        <!-- Types -->
        <types>
            <s:schema elementFormDefault="qualified" targetNamespace="http://www.lighthammer.com/Xacute">
                <s:complexType name="InputParams">
                    <s:sequence id="InputSequence">
                    <s:element maxOccurs="1" minOccurs="0" name="ProductName" type="s:string"/></s:sequence>
                </s:complexType>
                <s:element name="XacuteRequest">
                    <s:complexType>
                        <s:sequence>
                            <s:element maxOccurs="1" minOccurs="0" name="LoginName" type="s:string"/>
                            <s:element maxOccurs="1" minOccurs="0" name="LoginPassword" type="s:string"/>
                            <s:element maxOccurs="1" minOccurs="0" name="InputParams" type="s0:InputParams"/>
                        </s:sequence>
                    </s:complexType>
                </s:element>
                <s:complexType name="Rowsets">
                    <s:sequence>
                        <s:element maxOccurs="1" minOccurs="0" name="FatalError" type="s:string"/>
                        <s:element maxOccurs="1" minOccurs="0" name="Messages" type="s0:Messages"/>
                        <s:element maxOccurs="1" minOccurs="0" name="Rowset" type="s0:Rowset"/>
                    </s:sequence>
                    <s:attribute name="StartDate" type="s:dateTime" use="required"/>
                    <s:attribute name="EndDate" type="s:dateTime" use="required"/>
                    <s:attribute name="DateCreated" type="s:dateTime" use="required"/>
                    <s:attribute name="Version" type="s:string"/>
                </s:complexType>
                <s:complexType name="Messages">
                    <s:sequence>
                        <s:element maxOccurs="unbounded" minOccurs="0" name="Message" type="s:string"/>
                    </s:sequence>
                </s:complexType>
                <s:complexType name="Columns">
                    <s:sequence>
                        <s:element maxOccurs="unbounded" minOccurs="0" name="Column" type="s0:Column"/>
                    </s:sequence>
                </s:complexType>
                <s:complexType name="Column">
                    <s:attribute name="Name" type="s:string" use="required"/>
                    <s:attribute name="Description" type="s:string" use="required"/>
                    <s:attribute name="SourceColumn" type="s:string" use="required"/>
                    <s:attribute name="MinRange" type="s:double" use="required"/>
                    <s:attribute name="MaxRange" type="s:double" use="required"/>
                    <s:attribute name="SQLDataType" type="s:int" use="required"/>
                </s:complexType>
                <s:complexType name="Rowset">
                    <s:sequence>
                        <s:element maxOccurs="1" minOccurs="1" name="Columns" type="s0:Columns"/>
                        <s:element maxOccurs="unbounded" minOccurs="0" name="Row" type="s0:Row"/>
                    </s:sequence>
                </s:complexType>
                <s:complexType name="Row">
                    <s:sequence id="RowSequence">
                    <s:element maxOccurs="1" minOccurs="1" name="Quantity" type="s:long"/><s:element maxOccurs="1" minOccurs="1" name="ProductName" type="s:string"/></s:sequence>
                </s:complexType>
                <s:element name="XacuteResponse">
                    <s:complexType>
                        <s:sequence>
                            <s:element maxOccurs="1" minOccurs="0" name="Rowsets" type="s0:Rowsets"/>
                        </s:sequence>
                    </s:complexType>
                </s:element>
            </s:schema>
        </types>
        <!-- Messages -->
        <message name="XacuteSoapIn">
            <part element="s0:XacuteRequest" name="parameters"/>
        </message>
        <message name="XacuteSoapOut">
            <part element="s0:XacuteResponse" name="parameters"/>
        </message>
        <!-- Ports -->
        <portType name="XacuteWSSoap">
            <operation name="Xacute">
                <input message="s0:XacuteSoapIn"/>
                <output message="s0:XacuteSoapOut"/>
            </operation>
        </portType>
        <!-- Bindings -->
        <binding name="XacuteWSSoap" type="s0:XacuteWSSoap">
            <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
            <operation name="Xacute">
                <soap:operation soapAction="http://www.lighthammer.com/Xacute" style="document"/>
                <input>
                    <soap:body use="literal"/>
                </input>
                <output>
                    <soap:body use="literal"/>
                </output>
            </operation>
        </binding>
        <!-- Service mapping -->
        <service name="XacuteWS">
            <port binding="s0:XacuteWSSoap" name="XacuteWSSoap">
                <soap:address location="http://<XMII_SERVER_NAME>/Lighthammer/SOAPRunner/Jagan/SDN_Fetch_Product_Qty"/>
            </port>
        </service>
    </definitions>
    Regards,
    Jagan.

  • Scenario of xMII integration

    Hi,
    Can you please give a small scenario integrating SAP R/3, xMII and any MES? Basically, I want to know typically how data flow happens from R/3 to MES or vice versa through xMII.
    Regards,
    Amalesh

    Hi, Amalesh.
    A common scenario would be to set up xMII as an IDOC listener that can receive downloads of production orders as LOIPRO IDOCs.  When a new IDOC is received, xMII's business logic engine can be used to parse/processes that order.  Examples might be splitting the order into production-size lots/batches, allocating it to equipment, creating batches/lots/order in MES or automation systems, and so on.  xMII has a variety of connectors that can be used to talk to these plant systems.
    Looking the other way, perhaps a user or an automated system collects material consumption/production information.  This data can be aggregated/formatted by xMII and sent to ERP via RFC or BAPI calls to perform production confirmations, goods movements, etc.
    Best regards,
    Rick

  • XMII integration with SCADA

    We Intend to Integrate xMII with iFix SCADA version - 4.0 . Kindly let us know the standard connectors available in xMII  along with configuration details.
    regs
    ED Srikanth

    Ed,
    There are standard UDS (universal data servers) available for iFix connectivity on Service Marketplace, in the same basic location as the xMII download.  The help documentation included with the UDS should provide you the necessary details for getting your connection established.
    Regards,
    Jeremy Good

  • SCADA - XMII - ERP integrations through SAP PI

    Hi Experts,
    I have an integration scenario comprising of a SCADA system & SAP ECC. Could anybody suggest some document / send reference links on SCADA - XMII - ERP integrations through SAP PI.
    Useful response would be appreciated.
    Regards,
    Santhosh

    SCADA-XMII integration
    Scada system should always remain connected to some Historian system. You can directly connect to SCADA system to xMII using vendor specific UDS (Universal Data Servers) Like Citect UDS ...
    If vendor specific UDS is not available in MII then you can make it possible if the SCADA system is OPC complaint, through OPC UDS DA, but it provides only current data without any mata data information.
    As a robust business practice it is not recommended to use direct SCADA connectivity to xMII, it should go through some Historian( Citect, Wonderware, Siemens...many more) so XMII will be able to get all plant floor operations data in history & current modes.
    XMII-ERP Integration
    XMII supports IDOC & BAPI communication with ERP system using various SAP connectors available in XMII as in SAP BC, SAP JCO.
    Specific to PI Sheet, you can download various control receipe, process orders data using IDocs.
    BAPIs can be used to do "process order confirmations" back to ERP system and make changes in process data.
    Let me know if you would like to know about specific SCADA system- xMII connectivity or specific activity in PI.
    Thanks
    Ram Upadhyay

  • MES system

    Hi everybody,
    What is thye use of a MES system and how is it integrated with xMII?
    Thanks,
    Preethi

    Preethi,
    Manufacturing Execution Systems bridge the gap between ERP systems and devices like PLC, SCADA and HMI in the shop floor. MES functions as the central depository for data distribution and collection for all other enterprise systems. It can act as a bridge connecting control systems, ERP, SCM and SSM systems.
    There are different MES brands available in market.
    MES uses B2MML schemas for interacting with xMII.You can view the reference schemas avialable in xMII for this purpose.The B2MML coming from MES will contain all the real time data from shop floor.
    Integration with xMII greatly depends on the type of MES you use.
    Go though the link below that will help you a lot in understanding MES-xMII integration
    xMII-MES integration
    Hope this helps,
    Ajitha

  • Problem in integrating xMII with VC

    hi Experts,
    My xMII server Version is <b>11.5</b>
    I followed this document:
    <b>https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40b92770-db81-2a10-8e91-f747188d8033</b> for integrating xMII with VC.
    Connection URL: http://<myXMIIServerName>/Lighthammer/ALL_TEMPLATES?version=<b>11.5</b>&trace=true
    Driver Class Name: <b>com.sap.xmii.custom.integration.jdbc.SAPxMIIJDBCDriver</b>
    System Alias: <b>XMII_JDBC</b>
    Connection test is <b>successful</b>, after configured System.
    I am getting error while <b>FindData Seach</b> in VC,
    Inputs given are,
    System: XMII_JDBC (this is my system)
    Look for: Look for a table
    the error is, <b>Error-2305 Cannot retrive catalogs and schemas; check the connection to the selected systems Cannot access JDBC metadata </b>
    I think i made mistake in connectionURL, but connection test is successful.
    Please guide me, where i made mistake.
    Points will be Awarded.
    Thanks & Regards,
    Chinnadurai R

    Hi Sam,
    Thanks for your reply... I am also think that i made mistake in comnnection URL ,
    I have created some querys under Samples/Reports,
    I gave like this::
    <b>http://<myXMIIServerName>/Lighthammer/Templates/Samples/Reports?version=11.5&trace=true</b> and  <b>http://<myXMIIServerName>/Lighthammer/Templates/Samples/Reports?</b>
    and then like this
    <b>http://<myXMIIServerName>/Lighthammer/Illuminator/Templates/Samples/Reports?version=11.5&trace=true</b>
    I tried using all the URL  shown above, but it is not listing the Querys in VC .
    Can u guide me how can i form that Connection URL ..
    Thanks & Regards,
    Chinnadurai R

  • QM IDI integration with xMII

    HI Guys,
    We are looking for the options of integrating QM IDI interface with xMII. Anubody has experience with this type of integration ie integrating xMII with QM IDI. Any help or suggestions would be appreciated.
    Thanks,
    Srini

    Hello Srinivas,
    Option 1,
    Up until MII 12.1 doesn't have any internal database kind of concept but with MII 12.2 SAP has introduced a concept called "MDO - Manufacturing Data Objects" you can leverage this feature in future
    [MII 12.2 MDO|http://help.sap.com/saphelp_mii122/helpdata/en/44/c5e701054c388ce10000000a11466f/frameset.htm]
    I am not sure but I believe MII 12.2 is still not released for everyone yet. You can find out more in service market place.
    Option 2,
    I would suggest to use/leverage any existing external database like SQL or Oracle, apart from data buffering these database can be very flexible, programmable, maintenance friendly and MII reports can be generated easily off these databases with minimum IO costs.
    Hope my above thoughts helps!!
    Regards,
    Adarsh

  • Download Manufacturing Integration and Intelligence (XMII)

    Hi,
    Dear all , can some you please help me to locate a valid URL from where I can download Manufacturing Integration and Intelligence (XMII). The link given in Service Market place is not a valid link.
    Thanks and Rgds
    Hemantha

    SAP's service marketplace ( http://service.sap.com/ ) is the only place to acquire the software and license, so if you are having issues with the website then you should contact your account rep or request assistance through the website itself.
    Regards,
    Jeremy

  • Integrating Minitab with xMII

    Hi ,
        I like to integrate Minitab with xMII 11.5 (earlier version ) ,i know in SR2 and later we have minitab integrated by default. But my query is whether we able to integrate minitab in xMII 11.5(earlier version). If yes,how can be done?
    Thanks,
    Bala

    To convert a minitab file into xml you should be able to use a text loader to obtain the file and the a FlatFileParser in conjunction with a StringListToXML.  The StringListToXml_0.Delimiter needs to be set to tab.
    To convert xml to minitab format you a repeater on the datasource with a write file in the repeater.  You'll also need to use the tab and crlf functions to build it correctly.
    But the real solution should be to upgrading to SR3.
    Regards,
    Jamie

  • XMII and BW Integration with OLAP connector

    Hello Colleague,
    Need your help in one of our xMII and BW integration. We have created all the config step as indicated in the How Tou2026 Integrate xMII with the Business Information Warehouse guide in SDN.
    But when I tried created an OLAP query in xMII work bench it is giving following error. And the default Trace indicate the below detail.
    36##0#0#Error#1#/Applications/XMII#Java###org.apache.commons.httpclient.HttpRecoverableException: org.apache.commons.httpclient.HttpRecoverableException: Error in parsing the status  line from the response: unable to find line starting with "HTTP"
    [EXCEPTION]
    #1#com.sap.xmii.Illuminator.system.CommunicationException: org.apache.commons.httpclient.HttpRecoverableException: org.apache.commons.httpclient.HttpRecoverableException: Error in parsing the status  line from the response: unable to find line starting with "HTTP"
         at com.sap.xmii.Illuminator.connectors.OLAP.XMLARequestHandler.discoverRequest(XMLARequestHandler.java:129)
         at com.sap.xmii.Illuminator.connectors.OLAP.OLAP.doProcessRequest(OLAP.java:91)
         at com.sap.xmii.Illuminator.connectors.AbstractConnector.processRequest(AbstractConnector.java:97)
         at com.sap.xmii.Illuminator.services.handlers.IlluminatorService.processRequest(IlluminatorService.java:56)
         at com.sap.xmii.Illuminator.services.ServiceManager.runQuery(ServiceManager.java:49)
         at com.sap.xmii.servlet.Illuminator.service(Illuminator.java:63)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:117)
         at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:62)
         at com.sap.xmii.system.SecurityFilter.doFilter(SecurityFilter.java:100)
         at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:58)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:384)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    Caused by: org.apache.commons.httpclient.HttpRecoverableException: org.apache.commons.httpclient.HttpRecoverableException: Error in parsing the status  line from the response: unable to find line starting with "HTTP"
         at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1962)
         at org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMethodBase.java:2653)
         at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1087)
         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:643)
         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:497)
         at com.sap.lhcommon.xml.XMLHandler.getDocumentWithPost(XMLHandler.java:502)
         at com.sap.xmii.Illuminator.connectors.OLAP.XMLARequestHandler.discoverRequest(XMLARequestHandler.java:126)
    Kindly Help.
    Best Regards,
    Biswa

    Hi Biswa,
    you go through the following threads which is regarding OLAP connector:
    https://forums.sdn.sap.com/click.jspa?searchID=14697177&messageID=5530170
    https://forums.sdn.sap.com/click.jspa?searchID=14697177&messageID=5636842
    Hope this will help you.
    Thanks,
    Manisha

  • Siemens - Simantic IT Unilab / SAP Integration / xMII

    Hi all,
    Any experience in conducting integration between Simantic IT Unilab (LIMS) and SAP R/3 using xMII?
    Simantict IT offers connectors to achieve such integration with SAP R/3 by XI pathway. But we found this as an opportunity to explore xMII. I would appreciate any comments or suggestion in this particular.
    Thanks
    Tony
    Message was edited by:
            Tony Carrillo
    Message was edited by:
            Tony Carrillo

    Tony,
    I haven't personally seen or done interfaces to Unilab, but that doesn't mean it hasn't been done, and according to: http://www.cubetechnologies.com.au/Contents/sb_unilab_e.pdf
    "Standardized and scalable: Simatic IT Unilab has become the industry standard in hardware and software. The system is based on industry standards such as Oracle, Microsoft, NT, and Unix. You can choose an architecture with two or three tiers.  Simatic IT Unilab is standardized and was designed to interface with other enterprise systems (ERP, MES, etc.) through conventional and emerging technologies (such as XML)."
    LIMS systems in most cases just have an industry standard relational database underneath the vendor specific client application, which is no problem for xMII standard connectivity for running queries or calling procedures to access the desired information.
    Regards,
    Jeremy

  • XMII-MES integration

    Hi,
    Has anyone worked on xMII-MES integration...
    I'm exploring ways of connecting different MES softwares with xMII...
    In case any of you have any idea about ways of integrating xMII and MES, plz let me know
    Ur responses are valued...
    Thanks,
    Ajitha
    Message was edited by:
            Ajitha Buvan

    Hello Srinivas,  I would have responded yesterday but for some reason my SDN account was locked and I couldn't log in.
    Our current ERP-to-MES feeds involve sending MATMAS, BOMMAT, LOIROU, LOIPRO, CLFMAS, and a few others.  The ERP is typically configured to send these upon saving their respective business object (material, BOM, routing, etc.) using change pointers, but that's not my expertise.  In some cases, we supplement the data from the IDOCs with RFC calls - e.g. revisions on the material.  We have a few other download feeds being developed now but since I don't yet know what will and won't be included in the next release, I won't mention them.
    We use xMII to take the IDOCs using either the built-in IDOC listener or as a SOAP message to another xMII transaction.  The IDOCs are persisted so if any connectivity or system failures occur, we can retry them later.  Depending on the complexity of the mapping from IDOC to our MES object model, we may use only an XSLT to transform the IDOC or we may use a combination of the xMII BLS and our XSLTs to perform the transformations.  Some data enrichment may take place using the xMII BLS - some is necessary for building some MES required fields that the ERP doesn't provide and others are deployment-specific. 
    The resulting XML is suitable to send to Visiprise Manufacturing - we wrap it with SOAP and call the appropriate VM web service.  Note that VM requires WS-Security which puts authentication credentials in the SOAP header and, as of xMII 11.5 SR02, the xMII Web Service action doesn't support SOAP headers.  We used the HTTP Post action and got creative with HTTP headers to inject the required SOAPAction header.
    For the MES-to-ERP interfaces, we support the typical operation confirmation/scrap BAPI calls.  We also provide manual backflush if desired.  These are implemented by either synchronous or asynchronous web service calls from Visiprise Manufacturing to xMII.  VM uses JMS internally to disassociate the user thread from the confirmation to support asynchronous handling.  These confirmations are collected in xMII and batched according to the manufacturing style: for discrete manufacturing confirmations are batched by order; for repetitive manufacturing they're batched by production version.  The appropriate BAPI is then called and status reported back to VM via a status/event notification web service.
    When discussing these interfaces it easy to lose track of the bigger picture - the actual business scenarios you're trying to solve.  SAP is the system of record of Materials, BOMs, Routings (not all the time!), and Orders.  Visiprise Manufacturing, as the MES, is the system of record of all WIP (work in progress) and As-Built information (exactly what components were assembled into which finished products).  Often the most valuable scenarios are those which require orchestration between both systems to produce an answer to questions like,
    Q: "Where is Customer X's order?"
    A: "3 units are assembled and packed, 1 is at Operation 0090, and 2 have not been started because component 123 is on back-order."
    or,
    Q: "Where is the component with serial number ABC and which customer received it?"
    A: "Component with serial number ABC was assembled onto MES control number 999 on 3/17/2007 at 3:30PM by Joe P.  MES control number 999 was marked with serial number XYZ and completed on 3/20/2007 and moved to warehouse 001 on 3/21/2007.  It was shipped to Customer Z on 3/22/2007, ..."
    and so on...
    The existing IDOCs/BAPIs can answer these questions, but things start getting interesting when you explore SAP's new SOA push - in particular the ES architecture around MES.  In my opinion, it's not all there yet, but I participated in the ES MES community workshop a few weeks ago and was encouraged that SAP was listening to our ideas.  I look forward to the day when Visiprise Manufacturing and SAP web services reside together in the same registry/repository and are orchestrated via BPEL.

  • SAP R/3 and XMII 12.0 integration steps

    Hi,
    Can any one tell me steps for integrating SAP R/3 system with XMII 12.0 ?
    Please Help.
    Thanks,
    Swati

    Hi,
    Check these links...
    /people/musarrat.husain2/blog/2007/10/23/a-beginners-guide-to-call-an-rfc-in-bls
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/201769e0-3174-2910-e287-baa58d198246
    /people/dipankar.saha3/blog/2007/02/05/how-to-integrate-sap-xmii-with-sap-erp
    Regards,
    Prasanna

  • Capabillities of xMII with respect to TIBCO in integrating shop floor

    Can any  one tell capabilities of xMII  in comparision with TIBCO with respect to shop floor integration  and KPI generation . which is better.

    First off, Like Ryan I too am bias towards xMII. Secondly I don't know that much about TIBCO, but here are some questions you ask in order to compare xMII with TIBCO:
    1.) xMII is a very good data aggregate where you the customer determines what you need and how to use it. Does TIBCO have this functionality? Your applications come first in xMII, the functionality is not limited to just a set of canned KPIs, you can quickly and easily add new KPIs dependant on your needs.
    2.) Shop floor connectivity is critical, Does TIBCO have the connectivity that xMII offers?
    3.) xMII has great performance and is light weight. Unlike most 'Enterprise Level' application platforms, SAP xMII considers real-time to be in the order of seconds to minutes, not days or weeks. The largest overhead in an xMII installation (minus any other SAP systems) is NetWeaver.
    Try to figure out you scenario, find all the business requirements you need, then check out xMII's abilities vs TIBCO. I think you'll agree that xMII can handle what ever TIBCO offers and most likely even more.
    Martin.

Maybe you are looking for