Double Posting Messages in Target System
Hi Guys,
i have one interface its File to RFC ( Asynchronous Communication ). this interface running on production. everyday this interface will come PI around 9PM PST and its posted in to BW system. but same messages will again posted into nextday around 4PM PST. that means same message posted double times into BW system recently last 3 or 4 days. i checked Availability Time Planning (ATP) at sender file communication channel. there is no ATP set up for this..
i am thinking might be there is a problem with app servers cluster notes, because same communication channel runs on different app servers like ucobpi02,..etc. what i am thinking is might be communication channel runs on one app server that time might be any java stack problem, next time when that app server runs its starting pickup of file again 4PM PST..but my question is here why its pickup everyday around 4PM only ?
could any one please let me know what is the problem on this and how to fix this issue...
thanks for ur help..
thanks,
siva..
This is clear that it is related to slow performance of the outbound queue tables.
Similar Messages
-
SAP Idocs -How to handle response from target system
Hi,
I am working on a scenario in which I will send Idocs asynchronously from SAP thro a SOAP adapter to a webservice deployed on the target system.
After the Idoc data is posted in the target system,the target system will send the acknowledgement for the receipt(basically response message).How to handle this scenario?
SAP Idoc( outbound asynchronous)---> SAP XI3.0(soap adapter) ---> Target system(inbound synchronous)
Do I need to go for BPM to handle this situation?
Is there any alterantive to BPM.
If any of the forum members who have worked on the similar scenario could help me in finding a better solution,I will be thankful to them.
Thanks,
LeoHi Udo,
Thanks for the info.My scenario is like this.
SAP R/3 Idoc -> SAP XI 3.0 <-> Webservice in the target system.
The webservice in the target system will receive the Idoc as a request messsage and send a response message synchronously.
Since Idoc is sent asynchronously( I believe Idocs sent from SAP are always asynchronous),there is no Proxy waiting in SAP R/3 to receive the response message from the target system.
If I go for BPM for the above scenario,will the BPM steps look like the following.
1)Receive Idoc from SAP.
2)Send Idoc sysnchronously to webservice
3)Receive the response from the webservice synchronously.
4.Post the response message to a proxy which can handle it further in SAP R/3.
Please note that my knowledge in BPM is limited and correct me if I am wrong.
Thanks in advance
S.Banukumar -
Tracking Idoc status in target system from XI
Hi
We have done File to IDOC Scenario succesfully i.e HR
data from file has been mapped to HR Idoc(HRMD_A06) .
Now when Idoc is posted to R/3 , SXMB_MONI shows
successful status(Idoc posted successfully) .
But when we check in R/3 in WE05 transaction ,though
the idoc is present but it shows status 51/52
with message "Idoc could not be posted" /"IDOC not
fully posted" .
In this case how can we track in XI whether the Idoc
is properly posted in the target system(i.e R/3) .
Since XI only shows that Idoc was successfully sent
irrespective of the status in R/3 .
Please suggest as we are new to XI .
Regards,
ShikhaHi
Thanks for the guide.
we are not sure of the steps to configure it in R/3
system so that it sends the acknowledgement back to XI
system.
When we tried to configure it as per the guide , for
test purposes we executed the program RBDSTATE but it
gave message "No parties are interested in the selected
data" .
Please guide us on this .
Thanks
Shikha
Message was edited by: Shikha Jain -
sorry accidental double post
Message was edited by: idonthaveoneok
Message was edited by: idonthaveoneokHaven't you had all your cappos today Karsten (or maybe too many)?
John -
Need to post Full Load data (55,000 records) to the target system.
Hi All,
We are getting the data from SAP HR system and we need to post this data to the partner system. So we configured Proxy(SAP) to File(Partner) scenario. We need to append the data of each message to the target file. Scince this is a very critical interface, we have used the dedicated queues. The scenario is working fine in D. When the interface transported to Q, they tested this interface with full load i.e with 55,000 messages.All messages are processed successfully in Integration Engine and to process in Adapter engine, it took nearly 37 hrs. We need to post all 55,000 records with in 2 hrs.
The design of this interface is simple. We have used direct mapping and the size of each message is 1 KB. But need to append all messages to one file at the target side.We are using Advantco sFTP as receiver adapter and proxy as a sender.
Could you please suggest a solution to process all 55,000 messages with in 2hrs.
Thanks,
Soumya.Hi Soumya,
I understand your scenario as, HR data has be send to third party system once in a day. I guess, they are synchronizing employee (55,000) data in third party system with SAP HR data, daily.
I would design this scenario as follows:-
I will ask ABAPer to write a ABAP program, which run at 12:00, pickup 55,000 records from SAP HR tables and place them in one file. That file will be placed in SAP HR file system (you can see it using al11). At 12:30, PI File channel will pick up the file and transfer the file to third party target system as it is, without any transformation. File to File, pass through scenario (no ESR objects). Now, ask the target system to take the file, run their program (they should have some SQL routines). That SQL program will insert these records into target system tables.
If 55,000 records make huge file at SAP HR system, ask ABAPer to split it into parts. PI will pick them in sequence based on file name.
In this approach, I would ask both SAP HR (sender) and third party (target) system people to be flexible. Otherwise, I would say, it is not technically possible with current PI resources. In my opinion, PI system is middleware, not system in which huge computations can be done. If messages are coming from different systems, then collection in middleware makes sense. In your case, collecting large number of messages from single system, at high frequency is not advisable.
If third party target system people are not flexible, then go for File to JDBC scenario. Ask SAP HR ABAPer to split input file into more number of files (10-15, you PI system should be able to handle). At receiver JDBC, use native SQL. You need java mapping to construct, SQL statements in PI. Donu2019t convert flat file to JDBC XML structure, in your case PI cannot handle huge XML payload.
You have to note, hardware upgrade is very difficult (you need lot of approvals depending your client process) and very costly. In my experience hardware upgrade will take 2-3 months.
Regards,
Raghu_Vamsee -
InfoCube Error Message: Choose a change request with target system BWQ
Hi experts,
I have a problem when I want to edit an InfoCube created by other developer. The error message received is as follow:
"<b>Choose a change request with target system BWQ</b>".
When I click on the Documentation (F9) button, the detailed message is:
"Message no. TK511
Diagnosis
The selected change request BWDK901086 has target system .
However, the objects you edit can only be recorded in change requests with the target system BWQ.
The correct target system is determined from the package and transport layer to which the object concerned belongs.
System response
The selected change request BWDK901086 is not used to record the objects.
Procedure
Either choose a different change request or change the target system of the change request BWDK901086.
From the prompt window for change requests, you can display all requests you can use by choosing Own requests.
Alternatively, you can create a new request by choosing Create request.
For more information, see the SAP Library under BC - Basis Components -> Change and Transport System ."
Can someone helps me to solve this problem?
Thanks!hi Fullham,
try se09/10 and find request BWDK901086 (use binocular icon) or se03. then double click that request, go to tab 'properties', hope you will see 'Target System' system there, click 'edit'/pencil icon and change it to BWQ.
you may need to change the owner (which may not authorized), ask basis help if necessary.
hope this helps -
Hi all,
Please refer to the error:
Root Components import: FAILURE
[2015-04-10 17:04:48.126] Process: w3wp |Organization:0937f109-45df-e411-80cf-0050560100db |Thread: 43 |Category: Exception |User: ac011cf7-ad36-405b-91cf-2155ca15efb1 |Level: Error |ReqId: d3924c06-ad4b-4d5e-a204-70f8170016e1 | CrmException..ctor
ilOffset = 0x30
at CrmException..ctor(String formattedErrorMessage, Int32 errorCode, Object[] arguments) ilOffset = 0x30
at ImportRootComponentsHandler.GetSolutionRootsCollection(Boolean throwIfMissing, Boolean skipRibbonCustomization) ilOffset = 0x209
at ImportRootComponentsHandler.ImportItem() ilOffset = 0x8
at ImportHandler.Import() ilOffset = 0x43
at RootImportHandler.ImportAndUpdateProgress(ImportHandler ih) ilOffset = 0x7
at RootImportHandler.HandleNonMetadataHandlers(String[] ImportEntities, ImportHandler& ihForCurrentPath) ilOffset = 0x33
at RootImportHandler.RunImport(String[] ImportEntities) ilOffset = 0x1D8
at ImportXml.RunImport(String[] ImportEntities) ilOffset = 0xE
at ImportXml.RunImport() ilOffset = 0x5BF
at ImportXmlService.ImportSolutionSkipCapable(Boolean overwriteUnmanagedCustomizations, Boolean publishWorkflows, Byte[] customizationFile, Guid importJobId, Boolean convertToManaged, Boolean skipProductUpdateDependencies,
ExecutionContext context) ilOffset = 0x46
at RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) ilOffset = 0xFFFFFFFF
at RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) ilOffset = 0x25
at RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ilOffset = 0xCF
at LogicalMethodInfo.Invoke(Object target, Object[] values) ilOffset = 0x4F
at InternalOperationPlugin.Execute(IServiceProvider serviceProvider) ilOffset = 0x57
at V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context) ilOffset = 0x200
at VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context) ilOffset = 0x65
at Pipeline.Execute(PipelineExecutionContext context) ilOffset = 0x65
at MessageProcessor.Execute(PipelineExecutionContext context) ilOffset = 0x1C5
at InternalMessageDispatcher.Execute(PipelineExecutionContext context) ilOffset = 0xE4
at ExternalMessageDispatcher.ExecuteInternal(IInProcessOrganizationServiceFactory serviceFactory, IPlatformMessageDispatcherFactory dispatcherFactory, String messageName, String requestName, Int32 primaryObjectTypeCode,
Int32 secondaryObjectTypeCode, ParameterCollection fields, CorrelationToken correlationToken, CallerOriginToken originToken, UserAuth userAuth, Guid callerId, Guid transactionContextId, Int32 invocationSource, Nullable`1 requestId, Version endpointVersion)
ilOffset = 0x16E
at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, UserAuth userAuth, Guid targetUserId,
OrganizationContext context, Boolean returnResponse, Boolean checkAdminMode) ilOffset = 0x1F1
at OrganizationSdkServiceInternal.ExecuteRequest(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode) ilOffset
= 0x2D
at OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType, Boolean checkAdminMode) ilOffset = 0x26
at InprocessServiceProxy.ExecuteCore(OrganizationRequest request) ilOffset = 0x34
at PlatformCommand.XrmExecuteInternal() ilOffset = 0xF6
at ImportSolutionCommand.Execute() ilOffset = 0x20
at DataSource.ImportSolution(Byte[] customizationFile, Boolean overwriteUnmanagedCustomizations, Boolean publishWorkflows, Guid importJobId, Boolean convertToManaged, Boolean skipProductUpdateDependencies, IOrganizationContext
context) ilOffset = 0x0
at SolutionImportProcessPage.ImportSolution() ilOffset = 0x123
at SolutionImportProcessPage.ProcessRequestData() ilOffset = 0x4A
at SolutionImportProcessPage.ProcessAction(String action) ilOffset = 0x92
at AppUIPage.OnPreRender(EventArgs e) ilOffset = 0xD
at Control.PreRenderRecursiveInternal() ilOffset = 0x54
at Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) ilOffset = 0x6D3
at Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) ilOffset = 0x3C
at Page.ProcessRequest() ilOffset = 0x14
at Page.ProcessRequest(HttpContext context) ilOffset = 0x33
at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() ilOffset = 0x18D
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) ilOffset = 0x15
at ApplicationStepManager.ResumeSteps(Exception error) ilOffset = 0x10A
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) ilOffset = 0x5C
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) ilOffset = 0x16A
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType) ilOffset = 0x4B
>Crm Exception: Message: Cannot add a Root Component 0ffbcde4-61c1-4355-aa89-aa1d7b2b8792 of type 29 because it is not in the target system., ErrorCode: -2147188705
[2015-04-10 17:04:48.126] Process: w3wp |Organization:0937f109-45df-e411-80cf-0050560100db |Thread: 43 |Category: Platform.Sql |User: ac011cf7-ad36-405b-91cf-2155ca15efb1 |Level: Info |ReqId: d3924c06-ad4b-4d5e-a204-70f8170016e1 | BusinessProcessObject.ExecuteNonQuery
ilOffset = 0x28
I am getting this coming up in the error log when I attempt to import an unmanaged solution.
After searching on google Type 29 refers to a workflow.
I go into the source system and query the database by the GUID and discover that it is actually a Business Process Flow called 'Phone to Case Process'.
I do not have this process in my target system as I deleted it.
Looks like this is one of the out of the box ones. I don't think we we have changed this one much.
What does this mean and what should I be looking for??
Anyway how do I remove this offending process from the unmanaged solution xml file and attempt to re-import it?
It doesn't look like I can generate the solution again without the offending workflow/process..I managed to resolve this issue after looking at this thread:
https://social.microsoft.com/Forums/en-US/fddff17f-1cca-4d33-a666-60c08ad76b0c/crm-2011-import-failure?forum=crmdevelopment
Just modify both solution and customizations xml by searching for the guid and removing the root component -
BPM sending messages to wrong inbound interfaces in PI and target system
Hi All,
i am doing File to proxy scenarion using bpm.i am receiving three files,two files splitting on based condition(location code) in receiver determination and sending to bpm(here one bpm receiving 3 files then it merges 3 files into one proact and some promo messages based promos in source file ,same in the second bpm with 2 files with different mapping,here target system is SAP APO SNC).i am doing testing now mapping and every thing is working fine.but first bpm sending messages(proact and promo messages) target sytem side (proact_in and promo_in)inbound inrefaces.if i am executing scenario both bpm sending (proact and promo) messaegs in target system its showing wrong bpm name.in target system also we can check messgaes sxmb_moni.
ex:if first bpm A sending 1 proact and 2 promos,and second bpm B sending 1 proact and 2 promos to target system,but in target syetm its showing sender component as 1st bpm A for 3 promo messages(here B bpm messages sending with A bpm viceversa i did the configuration correctly) and for 1 its showing second bpm. please give me suggetions how to resolve this issue.
Thanks,
seshagiri.Is the connection to SNC via idocs or proxies. If it's via idocs can you check the control record and see if the issue is not there ?
-
Access current system or target system ID in message mapping
Hi.
I have a requirement to map three different constant values to Sales Org field, depending on whether the system is D, Q or Prod.
This needs to be done in the message mapping section of the Interface along with all the other mapping logic.
Is there any way how we can access the current system ID or the Target system ID (XI is communicating with target, in this case, ECC, using RFC receiver Communication channel)?
Please help.
Thanks.
Anuradha.Hi,
The key element would be :-
System.getProperty("SAPSYSTEMNAME");
Use this in UDF to get System Name ... and then on basis of systemname do whatever you want to perform.
Regards
Prabhat Sharma -
Wrong value in message header on target system | "test" -- "production"
Hi all,
need some help with this.
When sending a message with RNIF Adapter to target system there's something wrong with the Message Header.
GlobalUsageCode has the value "test" but should say "production".
Any ideas where i can change that value on PI side ?
Cheers
Larsmay be u can change it in the mapping . it should be definitely possible using abap mapping
-
In CIF post processing notable to see target system
Hi Gurus,
I am not able to see target system in CIF post processing.Can any one explain me where did i miss my settings? Please let me know it will be really great help
Thanks & Regards,
KumarHi,
Check in /SAPAPO/C2 whether Post Processing is active or not.
For CIF error handling to be active ,setting to be defined under error handling coloumn is
Post Processing, No splitting of LUW .
If Strict is defined CIF error handling is not active.( Standard setting )
This setting applies for the data transfer for APO to R3 and R3 to APO.
Thanks,
nandha -
Get the target system time in the message mapping
Hi there,
I need to use the system time of target R/3 system in the message mapping. Any ideas how can I handle this?
Thanks,
Igor.Thanks for your quick replies.
XI and R/3 system is in the same timezone but this is not relevant. I know it might sound strange but there is a reason I need to use time in the message mapping which is 2 minutes later than in the target system:
e.g. target system time: 16:58:32 I need to use 16:56:32 value in the mapping.
I found RFC MSS_GET_SY_DATE_TIME which can proide me with the value, just wondering if there is no other way how to do that other than RFC lookup ...
Thanks,
Igor -
Relay message when the target system is down.
Dear all,
I've got a question relating to the MII.
I have the following scenario where the system A sends data to the system B, using SAP MII.
My question is If the MII sends the message to system B, the target system, and the same is down, the MII can hold the message in a queue for later transmission itself or not.
Regards,
Sérgio SalomãSergio,
in 12.0 there are no out of the box buffering capabilities for Web Services. You may use the MII Queueing actions to queue the xml contents you want to sent. Schedule a job to read the queue entries and send them to the web service. If the call was successful, delete the queue entry, else leave it.
[MII Queue actions|http://help.sap.com/saphelp_xmii120/helpdata/en/46/726e818cf40ed5e10000000a155369/frameset.htm]
For SAP calls using JRA, you can switch on the buffering, as well as for MII queries. If a call fails, MII will buffer it. You can check the entries in MII Data Services > Data buffer entries. Scheduled jobs can resend the entries.
[MII Data buffering|http://help.sap.com/saphelp_xmii120/helpdata/en/45/515db282a33a16e10000000a1553f6/frameset.htm]
Hope this helps.
Michael -
MIRO. Add double posting when system posts Cost differences ( PRD trx )
Hi gurus.
I think this question is very difficult.
My user wants to add double posting when the system posts costs differences.
With this example I think the question will be more clear.
Example:
Actual financial document of invoice with costs differences ( PRD ):
103644 ( vendor ) -30.000 u20AC
400900 47.000 u20AC
610020 -13.000 u20AC ( Cost differences account )
In this case, my user wants to add this:
103644 ( vendor ) -30.000 u20AC
400900 47.000 u20AC
610020 -13.000 u20AC ( Cost differences account )
300190 13.000u20AC
300080 -13.000u20AC
There are any OBYC transacition to do this?? or there are any add-in or user-exit to add accounts in MIRO trx??
Thanks.Pls clarify on the process and what are these other G/Ls you are mentioning.
But apart from that if you want any random accounts to be hit depending on the document in question at the time of invoice, than you may activate manual entry into G/Ls in MIRO and than manually give the 2 accounts with debit/credit entries and it should work fine.
Regards,
Dakshesh -
Message is inserting multiple times in target system
Dear Experts,
We are using MDM to JDBC system. we are sending 2 sales Org and multiple plants in sender XML message we had done a mapping by spliting 2 sales Org x No.of Plants (Eg: 2 sales Org x 5 Plants = Total 10 records to be inserted at target system).
But we observed all the 10 records are inserted 4 times with the time interval of every 5 mins in target system.
Pls let us know the solution if you have come across this kind of issues.
Thanks & Regards
SoumyaDear Greg,
Thanks for your reply
Data is inserting in target system and we are getting error in RWB communication channel monitoring.The message is processed 4 times and failed all the times and the time interval between each processing is 5min.
In adapter engine the message status is successful for 1time and system error in other time.
Thanks & Regards
Soumya
Maybe you are looking for
-
Constants reading in abap report
Hello All, i have developed a custom report which is having the feilds like pernr,workdate,time these all fields it is fetching from catsdb table adn displaying it in alv grid display,now my requirement is i need to display a consta called break time
-
Neep help getting online....Chinese Ethernet
Ok, I need some help from creative networkers for getting online. Where to begin? 1st: I am an American living in China, and there is a large language gap between myself and the ISP, who, incedentally, won't know what to do with my mac anyway...so ru
-
'Error 49 bad bind variable' error message.
When I copied a form that has been working from our Linux server to my PC and compiled it, I received many error messages like this in several procedures, functions and triggers: "Error 49 at line 69, column 10, bad bind variable 'edit_Dealer.corpora
-
Hello! I have question about VISA and Linux. I am trying to set and detect interrupts using the VISA commands on the LINUX platform. I am able to read and write to the hardware using other VISA commands. I am not able to set or detect interrupts. I
-
Is Keynote sloooooooow to export to iPod format (including narration)?
I have a 10-slide Keynote presentation where, as an experiment, I recorded a narration. When I chose Export... and then clicked on the iPod icon, I chose (well, agreed with the preselected) Playback Uses Recorded Timing, and Include the slideshow rec