Exactly once in order in adapter engine
We have a user case that requires using R/3>XI>adapter-->back end system. There is requirement for maintain the message in exactly the order comes in.
the issue is, when the adapter or back end system part has some kind of error, we can see in the run time workbench the messages will repeat trying for several times before turning to "system error". Seems to me during the re-send process by adapter engine, the order of the original message get easily be lost. and we do not want this.
Any input on how to solve this?
normally the quality of service for a message is set in the sender (refer to http://help.sap.com/saphelp_nw04/helpdata/en/41/b714fe5ffc11d5b3ea0050da403d6a/content.htm). Did you check, if this is set correctly in the incoming message in XI? (in sxmb_moni, entry SOAP Header:ReliableMessaging has a tag <SAP:QualityOfService>) Only if this is really set to EOIO the receiver adapter will handle the message in one queue. What happens then, is that if the queue fails with one message, all later messages are blocked because the erroneous message blocks the complete queue.
best regards
Christine
Similar Messages
-
FTP - Sender File Adapter - Exactly Once In Order
We are running SP10 on PI7.0
I have a file (FTP - content conversion) to idoc scenario and this works well apart from the communication channel picking up the files in the wrong order.
I have set to Exactly Once In Order, and the nuemrically file is being picked up in the correct order, however we wish to pick the file up by time and date stamp.
If I flag the Adapter Specific Message Attributes - and Source File Time Stamp, will this then process the files by timestamp instead of by File name?
How else can we get the files to process by time created?but this option is valid for NFS transport protocol
http://help.sap.com/saphelp_nw70/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm
● Processing Sequence (for transport protocol File System (NFS))
If you used placeholders when specifying the file name, define the processing sequence of the files:
○ By Name: Files are processed alphabetically by file name.
○ By Date: Files are processed according to their time stamp in the file system, starting with the oldest file.
Message was edited by:
Prabhu S -
Exactly Once In Order ..in File adapter ???
Hi Xi friends..
in my file to idoc ..
i am getting files as wear*.xml .
i think , i have to use Exactly once in Order in Communication Channel to process multiple files in order starting with wear*.xml
if i select Exactly Once In Order..
i have to give Queue Name..
please tell me which queue name to be given here..
please tell me how to use this Exacly Once in Order option..
thanks and regards
RamHi Ram,
The XI supports Synchronous and Asynchronous delivery; in XI terms, these
are described with a Quality of Service (QoS) descriptor. The XI supports
QoS Best Effort (BE), Exactly-once (EO), and Exactly-once-in-order (EOIO).
These are equivalent to RFC types Synchronous RFC (sRFC), Transactional
RFC (tRFC), and Queued RFC (qRFC), respectively.
EOIO (Exactly Once In Order):
Messages are delivered with the same queue names (supplied by the application) in the same sequence that they were sent from the sender system. Message processing is asynchronous in this case.
In the case of quality of service BE, an error occurs if more than one receiver is determined for a message. In the case of delivery types EO and EOIO, the message is copied correspondingly and sent to the individual receivers.
Ckeck this link
http://help.sap.com/saphelp_nw04/helpdata/en/41/b714fe5ffc11d5b3ea0050da403d6a/frameset.htm -
Quality of Services "Exactly Once in Order"
Hi,
I have several integration using iDOC output R / 3.
This integration into the Integration Builder them removed brand "Maintain Order At runtime" (Quality of Services - Interface Determination) to be executed in parallel, but when they reach the engine J2EE appear with the Quality of Services as "Exactly Once in Order."
Why this happens with iDOCs? . With RFC do not have this problem.
Best Regards
Julian.Hi
I have been reviewing the integrations that run in parallel and gave the impression that really do not run in parallel (Quality of Services "Exactly Once"), but that the channel receiver is taken so that the previous interface ends of inserting data into the receiver.
If open the message and revise the log, the first message that arrives is in this state:
"JDBC adapter receiver channel JDBC_XXX_YYY_Receiver: started processing; Party, service ZZZ_BS "
But the following is not enough to reach this state and it is with this log:
"Receiver JDBC adapter: started processing; QoS required: ExactlyOnce "
One step before the first message, only runs the next step when the first message ends to be processed by the adapter. -
I deployed EJB to enable RFC Sender Adapter to work in exactly once in order
this is the code I used :
package com.netafim;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.ejb.CreateException;
import com.sap.aii.af.mp.module.ModuleContext;
import com.sap.aii.af.mp.module.ModuleData;
import com.sap.aii.af.mp.module.ModuleException;
import com.sap.aii.af.ra.ms.api.DeliverySemantics;
import com.sap.aii.af.ra.ms.api.*;
@ejbLocal <{com.netafim.EOIORfcLocal}>
@ejbLocalHome <{com.netafim.EOIORfcLocalHome}>
@stateless
@transactionType Container
public class EOIORfcBean implements SessionBean {
public void ejbRemove() {
public void ejbActivate() {
public void ejbPassivate() {
public void setSessionContext(SessionContext context) {
myContext = context;
private SessionContext myContext;
Create Method.
public void ejbCreate() throws CreateException {
// TODO : Implement
public ModuleData process(ModuleContext moduleContext,ModuleData inputModuleData, String queueName)
throws ModuleException {
try {
Message msg = (Message)inputModuleData.getPrincipalData();
msg.setDeliverySemantics(DeliverySemantics.ExactlyOnceInOrder);
msg.setConversationId(queueName);
inputModuleData.setPrincipalData(msg);
} catch (Exception e) {
// raise exception, when an error occurred
ModuleException me = new ModuleException(e);
throw me;
// return XI message
return inputModuleData;
when I excute the function I get the following error in the comuunicatin chanel monitoring : no paramter was found.
in the paramters in the adapter modules tab I just wrote the queue name
for example : ( its supposed to be a string )
RFC******************queueName************XBIO_0001
still the module doesnt reconzie it.
Is the code above will add the functionaly of Excatly once in Order to the RFC Sender Adatper ? whats wrong with the paramters ?
thx,ShaiHi,
<i>
data is sent "exactly once in order".</i>
>>>I am not sure about this document which assures it is always EOIO.
I am sure that using proxy communication u can do the quality of service as EOIO.
To maintain the sequence in the client ABAPproxy with ABAP code-http://help.sap.com/saphelp_nw2004s/helpdata/en/65/40c9a4a1fa476288ac61b5fcc6bbde/content.htm
Regards,
Moorthy -
Changing Exactly-Once-in-Order Processing in the Adapter Engine
During some issues with hanging messages in some communication channels I noticed that messages for other receivers were also on hold. So adapter engine was processing all messages EOIO while Integration Server does that per receiver.
I found the [solution in the SAP Help |http://help.sap.com/saphelp_nw04/helpdata/en/45/13b942f14d29efe10000000a114a6b/content.htm] but I am not able to access the mentioned link: http://<host><port>/MessagingSystem/migration.jsp
Error message I got is: 404 not found.
Looks like something changed! I checked some simular links like http://<host>:50000/MessagingSystem/monitor/monitor.jsp and that works fine.
(I also checked the role SAP_XI_ADMINISTRATOR_J2EE was included in my userprofile)
Please help me finding what I do wrong...or what has changed.Hi Sunil,
ok, but do you know how what happened with the
http://<host>:50000/MessagingSystem/migration.jsp
I need that link to change the EOIO processing in the adapter engine.
Regards,
Michel -
What is an AFW connection and what is AFW Listener Bean in Adapter Engine?
What is the purpose of the above two in Adapter Engine ?
and also tell me what do we mean by:-
Sequencer for EOIO
Scheduler retry EO
Recieve/send QUeue.
I reffered d blog: /people/sravya.talanki2/blog/2006/12/25/aspirant-to-learn-sap-xiyou-won-the-jackpot-if-you-read-this-part-iHey,
Itz much better to be clear with the concept of adapters. FILE ADAPTER or with the concept of serialization of IDOCS in the idoc adapter.
Coming to the question
Consider While setting parameters for sending the data through file adapter in the processing parameters tab you have to set value for Quality dof service.
We have three option
Best Effort -> Used for synchronous processing.
EO refers to exactly once -> Used for Assynchronous processing of the mesage. Mesages will be processed once.
EOIO (Exactly Once In Order) -> Used for Assynchronous processing of messages in a sequence. We need to specify the queue name in this case.
In case of send u need to specify send queue, and receive Receive queue.
Messages will be processed in the same sequence as it arrives or leaves the integration process.
Cheers,
*Raj*
*REWARD POINT IF USEFULL* -
Exactly once(option) in QOS filesender
hi.
i want to know the difference between EXACTLYONCE,EXACTLY ONCE IN ORDER,BEST EFFORT options in quality of service.
waiting for your response.
cheers.
seeta ram.hi michal.
thanks for your answer.
but i just want clear my doubt.
here in my scenarion iam testing file to bapi by putting exactly once in(QOS)Of file sender adapterand the procesing mode of sender file adapter as test.
but i forgot to deactivate file sender adapter and now iam getting ptoblems with ICM IN MESSAGE MONITORING(SXMB_MONI)
ITS SHOWING IN XMLPAYLOAD AS
400</SAP:P1>
<SAP:P2>ICM_HTTP_CONNECTION_FAILED</SAP:P2>
<SAP:P3 />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Error while receiving by HTTP (error code: 400, error text: ICM_HTTP_CONNECTION_FAILED)</SAP:Stack>
<SAP:Retry>A</SAP:Retry>
</SAP:Error>
wat would be the reason for this.
waiting for yur answer.
cheers.
seeta ram. -
Receiver Mail adapter Exactly Once
Hi,
I've setup my scenario RFC (trfc for exactly once QOS ) -> Mail (receiver)
Now I'm testing what happens when the smtp server is down.
In message monitor (sxmb_moni) , the message is successful. In comm chanel monitoring, I can see the message is in error.
The error states that "The message status was set to NDLV." but nothing is sent back to integration engine ...
The adapter retries to send the message 3 times but then just stops...
Q1 : How do you resend the message after the 3 retries ?
Q2 : How can you know this error arrived if the message is successful in sxmb_moni ?
ThanksHi Thierry,
If you see that the message passed in sxmb_moni, this indicates that the mapping was successful. Your problem is happening at the adapter engine level, which you access through Message Monitoring in the Runtime Workbench. It is there that you can try to resend the message.
Mike -
TO Get Ensuring Exactly Once Processing data from sender soap adapt
To XI Specialists
Now Im trying to get Ensuring Exactly Once Processing data from sender soap adapteter.
My plan is that send data from Receiver adapter, to Sender adapter by SOAP.
(1st interface is ABAP to Soap "BE", 2nd interface is Soap to File "EO")
Sender SOAP adapter will returun Ensuring Exactly Once Processing data.
(see SAP HELP, http://help.sap.com/saphelp_nw70/helpdata/en/69/a6fb3fea9df028e10000000a1550b0/frameset.htm )
AND I want to get Ensuring Exactly Once Processing data, I want to determine what to do in ABAP proxy.
SO I made and tested 2interface. but error occuered.
I checked the error, and Now I know what is the cause.
The cause is that Ensuring Exactly Once Processing data didnt enter the payload, at Receiver Adapter.
1st interface coulnt get the payload data, so mapping error occuered....
Please give me help,
<b>"How to get Ensuring Exactly Once Processing data From Sender SOAP ADAPTER"</b>
or
<b>"How to enter Ensuring Exactly Once Processing data into Payload of Receiver SOAP ADAPTER"</b>
and more excelent way....
our XI is version7.0 and SP10
Please teach me your wisdom!
Naoki KuriharaI seeked and I noticed that
maybe I catched the message but the message dont have payload.
so I got no_payload error.
I checked SAP note.
I noticed, no_payload error will be managed to nomal message at SP13....
my XI is SP12....
I ll seek for another way!!
Thank you! noaki -
Exactly-Once Handling in Receiver JDBC Adapter
Hi,
I have doubt abt Exactly-Once Handling in Receiver JDBC Adapter.
For Conflict Resolution as Database.
Why there is need to define table as below ?
In the database where the write-to tables are located you must create an additional table with two columns for this purpose. To define the table, specify the following:
Database Table Name
Enter the name of the table.
Key Column Name
Enter the name of the column in which the key is entered.
Value Column Name
Enter the name of the column in which the key value is entered.
Please explain in simple language.Hi Abhishake,
Thanks for your reply.
I understant that the tables needs to be created in DB.
But if you read the SAP Docs for conflict resolution. My undestanding is "During Database commit if AS Java is terminated then the message will be in unknown state, for this type of messgaes when the AS Java restarted the behaviour is defined by this parameters. If the message doesn't have primary key, then there is probablity when AS Java will try second time it may get the message in DB so a message can be duplicated. To avoid this condition it is mentioned that you must create additional table with three column".
Please correct my understanding if I am wrong.
My additional table needs to create & how it will resolve the problem.
Thanks in advance. -
Persistence under Exactly-Once Handling in JDBC Reciever Adapter
Hi,
Can any one explain me significance of persistance (Local or Database) in JDBC Receiver Adapter.
Please provide me document if anyone has?
Thanks,
ABDURhi,
both types are described here with many details:
http://help.sap.com/saphelp_nwpi71/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/content.htm
under : Defining Exactly-Once Handling
do you need anything more ?
Regards,
michal Krawczyk -
Sender File Adapter Not Showing in Decentral Adapter Engine
Hi,
We have recently implemented a Decentral Adapter Engine on a windows box. The adapter engine seems to be working fine because my adapters show and seem to work fine in it.
However, when I define a Sender File Adapter that uses File Content Conversion message protocol instead of just File messaeg protocol, the adapter does not show up in the decentral adapter engine.
I made sure that Adapter Engine parameter in the Sender File Adapter shows the new adapter engine but that does not seem to be working. If change the Adapter Enginer parameter to show the Central Adapter Engine, then I can see the Sender File Adapter on the Central Adapter engine and it works fine. (Note: The Central Adapter Engine is installed on a Unix box)
Here are the paramters I defined for the Sender File Adapter:
- Transport Protocol: File System (NFS)
- Message Protocol: File Content Conversion
- Adapter Engine: (new Adapter Name)
Source Directory: (
server/drive/path)
File Name: purchaseOrder.txt
Quality of Service: Exactly Once
Poll Interval (secs): 60000
Poll Interval (msecs):
Retry Interval (secs):
Processing Mode: Archive
Add Time Stamp (checked)
Archive Direcotry: (
server/drive/path/archive)
Process Read-Only files: (not checked)
Processing Sequence: By Name
Fiel Type: Text
File Encoding:
Operating System Command:
Additional Files (not checked)
Content Conversion Parameters
Document Name: MT_Request_File_Data
Document Namespace: http://nxy.tots/fg_admin
Document Offset:
RecordSet Name: Purchasing
RecordSet Namespace:
RecordSet Structure: Purchase_Record,*
RecordSet Sequence: Ascending
RecordSets per Message: 1
Key Field Name:
Key Field Type: String(Case-Insensitive)
Purchase_Record.fieldFixedLengths: 8,4,2,10,10,12,18,12
Purchase_Record.fieldFixedType: char
Purchase_Record.fieldNames: Request_Action,Request_PO_Num,Request_PO_LN,Request_PO_Date,Request_Purchasing_Org,Request_Purchasing_GName,Request_Created_By,Request_Vendor_Name
Purchase_Record.fileContentFormatting: trim
Adapter Status: Active
Advanced Mode: (not checked)
Your help is much appreciated.Hi Alaa,
look into this document:
http://service.sap.com/nw-howtoguides -> Exchange Infrastructure -> Troubleshooting: Adapter Engine 3.0 (Expert Call slides)
If the File Adapter works without conversion, then you should count the number of fields in a row. If it differs from the configuration, then it runs on error.
Another idea is to check the content type of the file. When you do not enter a File Encoding, then the file adapter assumes utf-8. If the file is for example latin-1, then the number of characters in a row are not counted correctly.
Regards
Stefan -
Problem With Seeing Message in Adapter Engine
Hello Everyone,
We are facing a strange problem while running an <b>Integration Process</b>, <b>BPM</b> in PI. In the process, we are trying to read a .CSV File and convert it into a .XML File via FCC. The .CSV file is placed in the XI box itself, under a certain directory. We have configured the process such that whenever the .CSV file is read, its attributes are set to <b>'read only'</b>. After configuring the process, the required XML file did not show up. So we checked that whether the .CSV file was read and it showed up attributes of 'read only'.We cross checked
-First by going to <b>SXMB_MONI</b>; here it said 'No messages available for selection'
-Then by examining the 'channel monitoring' in AE; where we found both the sender and receiver channel are showing green. The sender channel first shows up that <b>'Processing started'</b> and then <b>'Processing Completed Successfully'.</b> The receiver channel does not show up any messages.
-we checked for the XML messages that are in the Adapter in <b>IDX5</b>; it shows <b>'no messages selected'</b>.
-We anticipated that it may be a cache problem and cleared all the caches; but when we tried to clear the Adapter Framework Cache, it popped up an authorization error and the problem persisted.
We are using NW2004s with SP6 at the ABAP and BASIS stack and SP 9 at the Java Stack. Also, all the required connections made in SM59 are in order.
Now, <b>What can be the problem? Is it the difference in SP level that is causing the problem? Or is it something else? What have we missed?</b> Guys, please help us solve this problem.
Need Help. Pleae Reply. Points will be awarded.
Thanking in anticipation.
AmitabhaHi Shabarish,
1.Document name <b>is indeed</b> the name of message type in our case.
2. We did not use delete mode; but once the file was read- we manually changed its attributes from 'RA' to 'A'..and it became 'RA' again after 2 seconds; which is our polling interval.
3. And we have discovered that the file is being read properly..because we can see the XML payload of it and it contains the correct data.But still it does neither show up in SXMB_MONI..nor in IDX5.
<b>Can you please tell us what are the necessary roles for the User PIAFUSER?</b> We suspect that somewhere's an authorization error we are getting; because the AF cache refresh attempt shows "Forbidden" and we are getting an error in Tcode SXI_SHOW_MESSAGE as:
<b>AE_DETAILS_GET_ERROR: no_adapter_engine_found: Unable to find Adapter Engine:</b>; Stack trace shows:<b>Error while reading access data (URL, user, password) for the Adapter Engine</b> -
Shutdown of XI 3.0 Plain J2SE Adapter Engine.
How do I shutdown the XI 3.0 Plain J2SE Adapter Engine? Where should I go to do this?
Regards,
N.SHi N.S. -
If I recall correctly, you open a browser to http://<host>:8200 . 8200 is the default port. If not using the default port, you may need to investigate what that port is. Delivered initial user/pwd is sap/init.
There's a Shutdown Adapter Engine option once you get in. Of course, the j2se adapter engine must be running in order for you to do this.
Regards,
Jin
Maybe you are looking for
-
How to show a photo in pages by VC?
How to show a photo in the table or the detail in the pages generated for the Composer Appearance? Example: The user makes a search, receives as resulted a book list, he would like to show in this list an icon with the cover of each book and when cli
-
Ssrs 2008 r2 black line incorrectly being displayed
In an existing SSRS 2008 r2 report, I just added a page header so that I can display global values in the page header like run date, run time, and page number. Within the report header, I placed all the report header data within a rectangle. Now when
-
Is there a way for the number of the person calling me to appear on my iPad?
My iPad is WiFi only and I would like to identify who is calling my IPhone when it is either not at my side or in my pocket.
-
Selctedcell variant use in abap web dynpro
hi friends, can anybody tell me why we used selectedcell variant in table column under table in abap webdynpro???? please elaborate with any example if possible. regards, sunil sharma
-
Touchsmart310-1126,can i add an external graphic card?please help
my v.car ati radeon 4270 i am gamer and my pc very bad cant playing simple games so can i add external v card and wht solutioins that i have?? with my regards and thanks