cancel
Showing results for 
Search instead for 
Did you mean: 

PI 7.4 - interface from ECC(idoc) > JDBC (eoio) issue with failed xml in message mon

former_member233999
Participant
0 Kudos

The interface was working correctly until the QOS for the idoc sender was changed from 'EOIO' to 'MUltiple Idocs in single xi message (or idocxml) as such, around 198 idocs have failed and are sat in the MessageMonitor. 

The error was 'Mapping "urn:####.com:mapping:smd:employees/ZHR144_EMPLOYEE01_to_EmployeeMFMWBSCombinedRequestAsync" failed to execute: MappingException: Mapping failed in runtimeRuntime Exception when executing application mapping program com/sap/xi/tf/_ZHR144_EMPLOYEE_to_MFMWBS_EMPExtract_IF210_; Details: com.sap.aii.mappingtool.tf7.MessageMappingException; Runtime exception when processing target-field mapping /ns0:MT_EMPExtract_IF210/StatementName_SAP_EMP/SAP_EMP/access/MANDT; root message: Exception:[com.sap.aii.mappingtool.tf7.FunctionException: Too many values in the first queue in function useOneAsMany. It must have the same number of contexts as the second queue] in class com.sap.aii.mappingtool.flib7.NodeFunctions method useOneAsMany[[Ljava.lang.String;@4ecac145, [Ljava.lang.String;@6156c16c, '

When I looked at what was being sent by pi and compared it to a xml that worked, I could see that multiple xml files were being put together in one xml -and this is what was throwing the mapping.

Anyway,I've changed the config back to EOIO and we've got EOIO idocs hitting PI, but theyre not processing as I believe PI is   expecting the idocs that were sent  not in the  EOIO mode and is expecting the next sequence number and as this isnt in the now cancelled idocs, they new ones cant carry on as the previous seq no's not there to process from, if that makes sense. The idocs hitting PI are sitting on hold:

I've tried resending the idocs from ECC > PI but theyre not being sent, get the error ' Application document not created in target system' / 'Error passing data to port' - but realise this wouldnt give me the sequence number i'm after to continue from anyway, so a moot point.

Thanks..

Accepted Solutions (1)

Accepted Solutions (1)

former_member184720
Active Contributor
0 Kudos

First you need to cancel the message which was in error state ( with multiple IDOC's-mapping error)

Then you need to identify the next message in that sequence and process it. If that doesn't gets' through, you should cancel them all.

Other option :

go to pimon -> monitoring -> adapter engine -> adapter engine status -> additional data -> message details

This should also give you the list of messages in EOIO sequence, you can take the message ID and cancel it.

former_member233999
Participant
0 Kudos

Hi


Thanks for this, points to note: had to cancel all those that were processed with 'multiple in one xml', then tried to find the oldest sequence number to restart and this worked. Had to then ID failed idocs using the idoc adaptor monitor with the message id so i could go back to the main messmon and put in the message id to get the idoc numbers !


Many thanks.

former_member184720
Active Contributor
0 Kudos

Thanks for updating.

Can you please close the thread?

Answers (0)