Changing Quality of Service in Receiver Adapter

Hi,
We have a scenario where hundreds of messages for the same interface is sent to XI and written to one file on the receiver side.  We do not want to change the QOS (Quality of Service) to EOIO (Exactly Once in Order) on the sender side nor do we want to use BPM due to performance issues.
Is there any way to change the QOS to EOIO after the mapping is complete?
I tried changing the QOS (DeliverySemantics) using a adapter module on the receiver adapter.  In the audit log, I can see that the QOS has been changed to EOIO and assigned to the correct ConversationId, but the messages does not follow the EOIO process.
Any help is great appreciated.
Thanks.
Best Regards,
Duke

Here is more detail on the scenario. 
Hundreds of messages come into XI from R/3.  One message is split into multiple messages by using the Extended Interface Determination.  These messages are written to a file (each message has its own file).  The file adapter is set to append. 
The issue we are facing is that when hundreds of messages are processed simultaneously, it triggers an error when attempting to write to the file (locking issues).  It then has to wait and retry, which adds to total processing time.  Due to the time sensitivity of these interfaces and the errors that are raised, we would like to change the QOS to EOIO on the receiver side (when it writes to the file) so that it does not have to wait and retry.
The Maintain Order at Runtime is checked in the Interface Determination.  Once it gets to the adapter framework to write to the file, it has a QOS of Exactly Once, which is carried over from the sender.
We do not want to change the QOS on the sender side, but only on the receiver side.
Any thoughts?
Thanks.
Best Regards,
Duke
Edited by: Duke on May 29, 2008 5:11 PM

Similar Messages

  • Quality of service in Receiver file/ftp adapter (SAP PI 7.1)?

    Hi,
        We are building an IDoc to File scenario in SAP PI 7.1, where a single incoming idoc will create three different output files. Also files must be created in target server in a specific order.
        Our first idea to ensure that files would be created following a specific order was that Message mapping (in Java) build target payload with all three files following expected sequence.
        In addition, receiver file/ftp adapter is setup with a dynamic variable to create each file with a different filename adding also timestamp.
        Testing the scenario, we see that three files are created in target server but when we sort them by creation date, it seems they don't follow always same sequence.
        Sometimes adapter creates File1, File2, File3; next time it created File2, File1, File3 and so on.
        Our problem is that files must be created always with a specific order and we cannot use BPM. Does anyone know if a receiver file/ftp adapter can be setup to create files following specific sequence (EOIO)?
        I know that sender file/ftp adapter can be setup with a quality of service, but I didn't find anything similar for Receiver file/ftp adapter.
        Suggestions will be welcome.
    Kind Regards,
    Aitor

    Hi,
         First, thanks all of you for your quick answers. They were helpful because we learnt a new configuration setting.
         We tried your suggestions but they didn't really fix our problem.
         Finally interface has been re-designed and we will not have to apply this logic, so no issue from our side.
         However, let me continue with this topic in case that somebody else will have the same issue, then it will be able to review this thread.
         When adapter created the files in the target directory (windows server), files had the expected timestamp in each filename. However, if we sorted windows directory contents by "Date Creation", files were sorted different that timestamp shows in the filename.
         For example, adapter created following files:
    File1_20090325-115117-169
    File2_20090325-115117-174
    File3_20090325-115117-180
         But when we sorted windows folder contents, files were sorted as follows:
    File2_20090325-115117-174
    File1_20090325-115117-169
    File3_20090325-115117-180
         It seems that timestamp was pre-assigned by the adapter, but when adapter created the files, it did it with a temporary name and finally assigns the filename. If a file size was bigger than other, maybe it takes more time and windows creation date is higher.
         If so, it means that adapter is not following same instructions as itu2019s indicated in "maintain order at runtime" checkbox.
         Do you know if there is any way where we can push also the order in the adapter as we did in interface determination?
    Regards,
    Aitor

  • Change "Quality of Service" EOIO to EO for a XI Purache Interface in EBP

    Hello Colleagues,
    we have a PO interface in place but some problems with Message processing at Adapter. To solve the problem we try to change the Quality of Server EOIO to EO but the Quality of Service comes from the EBP system at XML Message header.
    Please, in that location on the EBP system are we able to change the Quality of Service?
    Many thanks in advance!
    Jochen

    Hi Barry,
    The EBP system send POs (also calalog messages) via integration engine (SXMB_MONI on EBP) to the XI system (Integration Server) and the XI system sends the messages out to the Vendor via SOAP.
    The messages which are send by EBP are with QOS EOIO at message header.
    Regards,
    Jochen

  • Change Quality of Service Message

    Hello,
    I've a interface IDOC - JDBC. The quality of Service is EOIO.
    II want to change this quality to EO
    How can i do it? Where?
    thank very much,

    I think you receiver determination have multiple messages (i.e branching of the messages in interface determination) as a result quality of service changed to EOIO..
    In order to make EO for the same remove the check box option Maintain order at runtime in interface determination for the same and try
    HTH
    Rajesh

  • XI3.0 - Quality of service EOIO file adapter

    Hi,
    I have a number of IDOCS that are sent from a WAS6.40 system using a qRFC queue.  These IDOCS are then sent to a number of receivers and inbound interfaces.
    A large number of the receivers are file adapters for which I would like to be able to disable the EOIO handling.
    Is there anyway to amend the quality of service?
    Regards
    Ian

    Hi Ian,
    I was trying to check your scenario and ran into something that has really confused me...
    The table on Xi which holds the interface determination s entries is SMPPREL3, now if you check the field QUALITY, its description says ...
         <i><b>Processing Sequence ('X' = EO, SPACE = EOIO)</b></i>
    and this field should correspond to 'maintain order at runtime' property of interface determination...
    usually with ABAP "X" means selected and space means 'not selected'....
    now can you see in this table for your particular entry and the value in this field....if it is space or 'X'....
    May be this is just a "typo" by whoever created the table
    Thanks,
    Renjith

  • RFC TO SOAP  - Quality of Service

    Hi,
    i see that my RFC to SOAP test functioning properly. But in Exactly Once mode. In RFC Sender adapter and SOAP Receiver adapter there is no configuration tab to change "Quality of service". 
    Is it possible to change the mode?
    Kind Regards,
    PM

    It is not possible to set the QoS at Channel leve for RFC receiver.
    Have a look at this thread: tRFC & qRFC
    for SOAP, look at this discussion: Re: In what QOS does the receiver SOAP adapter work BE or EO?
    Regards
    Ramesh
    Edited by: Ramesh P on Dec 30, 2011 1:17 PM

  • EOIO service on Receiver FTP/File Adapter

    Hi,
    I have a scenario where I would like the sender adapter to be quality of service, EO (Exactly Once), and the receiver ftp/file adapter to be of quality of service, EOIO (Exactly Once in Order).  Is there a way to change the quality of service on the receiver adapter only so that it differs from the sender adapter?
    Thanks in advance.
    Best Regards,
    Duke

    Hi,
    Unfortunately changing the QoS in the adapter module does not solve the issue.  The message appears to be put into the queue prior to the module being called.  Below is the audit log.
    2007-10-26 09:58:30 Success Using connection AFW. Trying to put the message into the receive queue.
    2007-10-26 09:58:30 Success Message successfully put into the queue.
    2007-10-26 09:58:30 Success The message was successfully retrieved from the receive queue.
    2007-10-26 09:58:30 Success The message status set to DLNG.
    2007-10-26 09:58:30 Success Delivering to channel: XXXXXXX
    2007-10-26 09:58:30 Success ChangeQoS: Module called
    2007-10-26 09:58:30 Success File adapter receiver: processing started; QoS required: ExactlyOnceInOrder
    As you can see the QoS has been changed to EOIO from the adapter module, but the message is still in Qos EO.
    Am I missing something or is there another way this can be achieved?  Can we do this in the mapping somehow before it ever gets to the AFW?
    Thanks in advance.
    Best Regards,
    Duke

  • Changing data structure in the receiver SOAP adapter

    I was wondering whether it is possible to have changing data structure in terms of one receiver SOAP adapter so I could sent data type 1 and 2 to a single XI web service enabled URL and make conditional parsing in terms of the received message ?
    I have a receiver SOAP adapter that ideally should be able to receive two different types of messages. But SOAP adapter is fixed to a sigle message interface that naturally has it's data structure set to just one type. I can just create conditions in terms of the data type 1 message that has been defined in the design side.
    Is it possible achieve this with just one SOAP receiver adapter?

    Henri,
    Please go through the note: 856597 (Quesiton NO 9)
    -Naveen.

  • Q? how to change filename of receiver adapter includeing payload attribute?

    hi all.
    our scenario is IDOC - XI - FILE.
    IDOC is standard type .xml"
    Despite of searching help library, just read about how to change using payload value.
    How to change the filename using payload attribute?
    Message was edited by: ChangSeop Song

    Hi,
    You can create the file name dynamically from the payload of the receiver adapter as follows.
    From the requirement you have stated, you want your file to be named as,
    TPSDLS<shipmentid>.
    For this, in the reciver file adapter, give your filename as <b>TPSDLS%var%</b> and under variable name substitution,
    <b>var</b> --> <b>payload:IDOCTYPE,1,Shipments,1,ShipmentID,1</b>
    here, var acts as your variable name and it first looks for IDOCTYPE and its first occurence, shipment and its first occurence and finally, shipmentID and its first occurence. There by generating the filename dynamically.
    For more info on this, check the topic <b>variable substitution</b> under this link.
    http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
    hope this helps,
    let me know if you have any clarification,
    regards,
    bhavesh

  • Sender JMS Adapter with EOIO Quality of Service

    Hi,
    I have a sender JMS adapter with a quality of service as EOIO. In the SAP help it says that I need to specify the "Processing J2EE Cluster Server (Cluster ID)". Just wondering how I get this value? Does anyone have an example?
    Thanks,
    Krishneel

    Hi,
    Please go through the bleow Wiki:
    http://wiki.sdn.sap.com/wiki/display/XI/FAQ+J2EEJMS+Adapter
    http://help.sap.com/saphelp_nwpi71/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    Thanks,
    satya

  • Sending plain request to web service using receiver sender adapter and PI and expecting as attachment as response

    Hi
    In my scenario,we are sending plain request to web service using receiver sender adapter and PI will receive response as excel attachment. What are standard module required to achieve this and sequence? or checking Keep attachment box will help us to achieve this? 
    is it possible to receive excel sheet as attachment from receiver soap adapter ?
    Thanks in Advance

    Hi,
    This issue might be due to the invalid .pem certificate file.
    Make sure to include the beginning and end tags on each certificate.                   
    The result should look like this:                
    -----BEGIN CERTIFICATE-----
    (Your Primary SSL certificate: your_domain_name.crt)
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    (Your Intermediate certificate: DigiCertCA.crt)
    -----END CERTIFICATE-----
    For more detailed information, you could refer to:
    https://www.digicert.com/ssl-support/pem-ssl-creation.htm
    Regards

  • Service Number/Port Number in HTTP receiver adapter

    Dear Experts,
    I have a scenario where I am to do HTTP Post to a 3rd party web application via a url in the following format:
    https://x.y.info/abc/sap/customer.cgi
    The HTTP Post data is submitted to the CGI script which is then processed further by the web application. The URL works ok via IE or even PI soap receiver adapter is able to post XML message to the URL but using SOAP.
    But I have to do only HTTP Post and now my problem is that the URL dont have a so called port number that I can fill in the "Service Number" field in HTTP receiver channel or in SM59.
    Does SAP always need a service number or how to deal with this case where server doesnot expose the port.
    Thanks in advance.
    Br
    Suman

    Hello,
    The HTTP Post data is submitted to the CGI script which is then processed further by the web application. The URL works ok via IE or even PI soap receiver adapter is able to post XML message to the URL but using SOAP.
    By definition, the SOAP Adapter is also using HTTP POST as its HTTP method the only difference is that there is a SOAP Envelope that is being sent.
    But I have to do only HTTP Post and now my problem is that the URL dont have a so called port number that I can fill in the "Service Number" field in HTTP receiver channel or in SM59.
    Service number is the port number of the URL that you will be connecting to, if it is not shown, it is assumed that it is 80 for http and 443 for https (as Gzegorz mentioned). Since you are using HTTPs, you should use HTTP Destination that points to an SM59 configuration.
    Hope this helps,
    Mark

  • Manipulate the URL in HTTP receiver adapter possible?

    hello together,
    i have an HTTP receiver adapter. To the parameters which i can tick in XI as default (sender  party, sender service, ....) i want to add some parameters too.
    who can i do that? i have read the weblog from william li. i tried to change the parameter link the comments at the end of the blog (see kurt rasmussen) but nothing happend..... the parameters are not available....
    can somebody help me?
    thanks a lot
    alex

    hello michal,
    yes, i did. i took the information from http://help.sap.com/saphelp_nw04/helpdata/en/43/64dbb0af9f30b4e10000000a11466f/content.htm and tried to put some special information to URL. nothing to see.
    is it mandatory to use a mapping to fill the URL parameter fields, isn't it??
    i am using a port sniffer to see the URL and the fields (parameters) in it.
    thanks a lot.
    alex

  • CDATA element deleted in SOAP receiver adapter

    Hello Everybody!
    I've got a problem with SOAP receiver adapter. I've made a mapping for synchronous HTTP -> XI -> SOAP interface, in which the request mapping is java mapping, which produce a message like this:
    <?xml version="1.0" encoding="UTF-8"?> <ns0:SaveISDocument xmlns:ns0="http://pl.optix.pl/aews">
    <ns0:xmlDocument><IMAGES><IMAGE FileName="tmp.xml" ClassName="IVX">
    <![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMiI/Pgo8SU5WT0lDMDECiAgPElET0MCiAgICAgPEVESV9EQzQwPgogICAgICA8VEFCTkFNPkVESV9EQzQwPC9UQUJOQU0CiAgICAgIDxNQU5EVD4zMDwvTUFORFQCiAgICAgIDxET0NOVU0OTAzMTAyMzA4MzwvRE9DTlVNPgogICAgICA8RE9DUkVMPjQ1QjwvRE9DUkVMPgogICAgICA8U1RBVFVTPjMwPC9TVEFUVVMCiAgICAgIDxESVJFQ1QMTwvRElSRUNUPgogICAgICA8T1VUTU9EPjI8L09VVE1PRD4KICAgICAgPElET0NUWVASU5WT0lDMDE8L0lET0NUWVACiAgICAgIDxDSU1UWVAWjFJTlYwMTwvQ0lNVFlQPgogICAgICA8TUVTVFlQPklOVk9JQzwvOVk9JQzAxPgo=]]>
    </IMAGE></IMAGES>
    </ns0:xmlDocument></ns0:SaveISDocument>
    In CDATA is a Base64 representation of some file.
    I hoped at oubound of SOAP adapter sholud be something like this:
    <SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'><SOAP:Header/><SOAP:Body><ns0:SaveISDocument xmlns:ns0='http://pl.optix.pl/aews'>
    <ns0:SaveISDocument xmlns:ns0="http://pl.optix.pl/aews">
    <ns0:xmlDocument><IMAGES><IMAGE FileName="tmp.xml" ClassName="IVX">
    <![CDATA[PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMiI/Pgo8SU5WT0lDMDECiAgPElET0MCiAgICAgPEVESV9EQzQwPgogICAgICA8VEFCTkFNPkVESV9EQzQwPC9UQUJOQU0CiAgICAgIDxNQU5EVD4zMDwvTUFORFQCiAgICAgIDxET0NOVU0OTAzMTAyMzA4MzwvRE9DTlVNPgogICAgICA8RE9DUkVMPjQ1QjwvRE9DUkVMPgogICAgICA8U1RBVFVTPjMwPC9TVEFUVVMCiAgICAgIDxESVJFQ1QMTwvRElSRUNUPgogICAgICA8T1VUTU9EPjI8L09VVE1PRD4KICAgICAgPElET0NUWVASU5WT0lDMDE8L0lET0NUWVACiAgICAgIDxDSU1UWVAWjFJTlYwMTwvQ0lNVFlQPgogICAgICA8TUVTVFlQPklOVk9JQzwvOVk9JQzAxPgo=]]>
    </IMAGE></IMAGES>
    </ns0:xmlDocument></ns0:SaveISDocument>
    </SOAP:Body></SOAP:Envelope>
    Unfortunatelly there is something like:
    <SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'><SOAP:Header/><SOAP:Body><ns0:SaveISDocument xmlns:ns0='http://pl.optix.pl/aews'>
    <ns0:SaveISDocument xmlns:ns0="http://pl.optix.pl/aews"><ns0:xmlDocument><IMAGES><IMAGE FileName="tmp.xml" ClassName="IVX">
    PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMiI/Pgo8SU5WT0lDMDECiAgPElET0MCiAgICAgPEVESV9EQzQwPgogICAgICA8VEFCTkFNPkVESV9EQzQwPC9UQUJOQU0CiAgICAgIDxNQU5EVD4zMDwvTUFORFQCiAgICAgIDxET0NOVU0OTAzMTAyMzA4MzwvRE9DTlVNPgogICAgICA8RE9DUkVMPjQ1QjwvRE9DUkVMPgogICAgICA8U1RBVFVTPjMwPC9TVEFUVVMCiAgICAgIDxESVJFQ1QMTwvRElSRUNUPgogICAgICA8T1VUTU9EPjI8L09VVE1PRD4KICAgICAgPElET0NUWVASU5WT0lDMDE8L0lET0NUWVACiAgICAgIDxDSU1UWVAWjFJTlYwMTwvQ0lNVFlQPgogICAgICA8TUVTVFlQPklOVk9JQzwvOVk9JQzAxPgo=
    </IMAGE>
    </IMAGES></ns0:xmlDocument></ns0:SaveISDocument>
    </SOAP:Body></SOAP:Envelope>
    ... which is not correct, because CDATA tags are lost!
    Anyone has idea, how to enable adapter to process message right?
    Best regards,
    Mikolaj

    Henrique:
    As I wrote - the webservice was wrote by 3rd party software supplier - so I wasn't sure if I could change a specification at this point - that was a reason why I needed a CDATA element. A CDATA element was at entry of this webservice and I couldn't send to it my data correctly using XI. That was a problem. Hope You got it now.
    Finally I've managed the problem because 3rd party software supplier agreed to change their service and use <CDATA> tag instead of CDATA element.
    I solved the problem but my question still remain not answered.
    At OSS I was asked to upload latest SP (now I've got 12 at Java Stack).
    If this will help I'll close this thread.
    Best regards
    Mikolaj

  • EOIO Quality of Service

    Hi guys,
    We have developed a File-XI-Idoc scenario, which works fine.
    The problem is that we want each file that is found in the folder where XI reads files, to be processed first and the corresponding Idoc that is produced from the mapping to be posted in receiver R/3 system first.
    In order to achieve that we have used EOIO QoS in processing parameters of sender file communication channel. Although, files are processed by XI one by one, since they are put in the same queue, it is not guaranteed that Idocs are posted to R/3 in the same sequence,
    We had a case that Idocs were posted exactly at the same time in receiver R/3 system and the one that should be processed second was processed first. The second Idoc (that should be processed first) was locked due to concurrent modification of the same material.
    Is there something else that I can do in receiver Idoc adapter, for example??
    Evaggelos

    Use the Queue Processing option of the receiver Idoc channel
    Queue Processing
    If the function module IDOC_INBOUND_IN_QUEUE is to be used, set the relevant indicator. It is used for IDocs that are serialized by queues (quality of service is EOIO). This module is only available in SAP Web AS 6.40 and higher. If it is not available, the function module IDOC_INBOUND_ASYNCHRONOUS is called. The indicator only takes effect in SAP systems Releases 4.0 and higher. Calls for the queue processing function module are placed in the qRFC queue.
    Regards,
    Prateek

Maybe you are looking for