cancel
Showing results for 
Search instead for 
Did you mean: 

file2file scenario - NO_MAPPINGPROGRAM_FOUND

Former Member
0 Kudos

Hi,

I got file to file scenario with message mapping. (i am changing

structure of input file using message mapping).

I got configured file adapter with content conversion to generate

input XML message on outbound interface and similar way inbound

interface to generate csv file from output xml message.

I got set Operation Mapping on Interface Determination screen.

There is also assigned Message Mapping to Operation Mapping which

makes conversion of input message to output one.

Everything works fine. Output file is generated with remapped

content. So work is done as should be.

But PI still generates following error message:

<SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

<SAP:Category>XIServer</SAP:Category>

<SAP:Code area="MAPPING">NO_MAPPINGPROGRAM_FOUND</SAP:Code>

<SAP:P1>Object ID 11E1D7B1A49E3A1EA7D73CEE6766F224 Software Component 1B5DC810B90911E0B144F495C2A02DE4</SAP:P1>

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:Stack>Mapping program is not available in runtime cache: Object ID 11E1D7B1A49E3A1EA7D73CEE6766F224 Software Component 1B5DC810B90911E0B144F495C2A02DE4</SAP:Stack>

</SAP:Error>

I dont know how to get rid of this error. I tried to delete mappings

and create them again. Also with different names. It's still the same.

I have found out, the same error is generated, when i delete

Operation Mapping from repository, but dont delete it from Interface

Determination screen. (so PI is referring to nonexistent object)

Difference is only that output file is not generated in that

case. It is logical, because mapping really dont exist.

But why the same error is triggered when mapping exist and output file

is correctly created?

Is there any way how to find out, which mapping program PI is looking for?

I also tried to create FaultMessage and assign it to inbound

interface, but it didnt helped.

Is necessary to create any mapping for that FaultMessage? If so, then

how?

Or is problem somewhere else?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

you certainly have a problem of cache: config try to use an ID object which no more exist.

Go to SXMB_IFR > Administration, under tab "integration Directory", do a delta or a full refresh.

Then, go back to your Receiver Interface, and re-select your Operation Mapping. Save. Activate.

Do eventually a second cache refresh.

regards.

Mickael

Former Member
0 Kudos

Hi agree with Mickael,

Try with a full cache refresh, and try also with a dummy modify and a re-activation of the objects.

Former Member
0 Kudos

I did exactly as you said, but it didnt helped.

If it was realy cache problem, then i suppose mapping wouldnt even

work, because mapping program wouldnt be accessible.

But mapping works. Generated output file realy is remaped according

rules i have defined in message mapping.

This leads me to believe, there is either something missing in my

mapping settings (or is set wrong), or there is some other mapping,

that needs to be defined (may be FaultMessage of inbound interface? I

dont know), but is not critically necessary for functionality, because mapping works fine

(except error message).

Former Member
0 Kudos

Hi,

Ensure that mapping program exists and is activated. If it exists then update the cache.

Use XIDIRUSER to refresh the cache.

For complete cache refresh - http://<hostname>:<port>/CPACache/refresh?mode=full

For complete delta refresh - http://<hostname>:<port>/CPACache/refresh?mode=delta

You can also refresh the cache using XI Administration page.

regards,

ganesh.

former_member191435
Contributor
0 Kudos

Hi,

First can you please refresh ur cache once.

Then Go for receiver determination check the "Configuration Overview" TAB If every thing looks correct ot not. Then test configuration with ur payload in receiver determination or interface determination.

Please let me know if u find any errors there. Please check ur sevice interface names of both sender and receiver.

Thanks,

Enivas

Former Member
0 Kudos

hi jurag,

If it was realy cache problem, then i suppose mapping wouldnt even

work, because mapping program wouldnt be accessible.

not necessarely, you probably have two ID objects which are defined for the same Operation Mapping (OM), or an old ID object which is referenced somewhere in the runtime cache.

Do not forget also that if PI do not find an entry a cache then it go to config (ID) to read the missing info: in your case the OM. And so your flow works. Normally after that PI, put this info in its cache, but it seems it's not completely the case for you.

Anyway... as you cleaned the Directory cache, now your config should reference the good OM created in ESR!

So now you have just to refresh the cache of your Integration Engine (your Runtime environment, like written in your error message). to do that, go to tcode SXI_CACHE, and in menu "Runtime Cache", use option "start delta cache refresh" or "start complete cache refresh", as you prefer.

regards.

Mickael

Answers (3)

Answers (3)

Former Member
0 Kudos

I have finally found out what was the catch.

I had set Quality of Service to Best Effort on file adapter of sender

channel. That was forcing PI to synchronous communication.

So error was probably due to PI was trying to find out mapping program for

answer message (which didnt exist).

Once i had set QoS to Exactly Once, everything is Ok. File is created

correctly as before and PI logs only successfull message processing.

So problem seems to be solved.

Thanx for advices.

Former Member
0 Kudos

Hi, i can imagine two problems:

1) looks like cache problem in the adapter engine:

In service repository, go to Environment -> Cache status overview. There you can check if the cache updates have been successful. Consider the drop down menu for notification period in the selection screen. It needs to be adjusted so that it covers the period you activated the objects in. If something failed (red icon), select the line(s) and repeat cache notification (button with green flash or context menu).

2) the mapping program has not been transported. check if all necessary objects from service repository are present in the system you are running the scenario.

Regards, Martin

Former Member
0 Kudos

Hi,

Is your mapping program assigned to operation mapping?

Is your operation mapping assigned to interface determination?

If answer to above question is YES and you are able to see mapping program in IR, then please do following things.

Refresh ESR cache.

Execute SXMB_IFR. Go to Administration --> Repository --> Cache --> Refresh Repository Cache.

You can also refresh individual object here.

right click on the SCV in IR. then tick Objects are modifiable, then Save.

Also refer to notes:

#1523941 PI mapping errors: RESOURCE_NOT_FOUND and NO_MAPPINGPROGRAM_FOUND

regards,

ganesh.