cancel
Showing results for 
Search instead for 
Did you mean: 

MAPPING.NO_MAPPINGPROGRAM_FOUND in JDBC Scenario

Former Member
0 Kudos

I have the problem:.

The scenario I have is Abap Proxy -> JDBC asynchronous, configure everything you need and the system threw me no errors. But when running the interface the system tells me the following error:

System failure

<s:SystemError <detail> xmlns:s="http://sap.com/xi/WebService/xi2.0"> <context> </ context> <code> MAPPING.NO_MAPPINGPROGRAM_FOUND </ code> <text> Mapping program is not available in runtime cache: Software Component Object ID B860572FD3AB3E9DA790882F58DE9DB2 30EF63B07D6811DF9B05E70FC0A90D2F </ text> </ s: SystemError> </ detail>

I followed all the instructions and notes OSS forums and I could not solve the problem:

Refresh all the objects

Java cache refresh yourself

CPA Refresh cache

Refresh cache for that specific object

Server Restart

The most strange thing is that while SAP PI the message is marked as an error in the database data is updated correctly.

Regards,

Johnny

Accepted Solutions (0)

Answers (6)

Answers (6)

Former Member
0 Kudos

Hi,

Rodrigo: Check all that I discussed and the error persists. Verify that the two interfaces are asynchronous and the only option appears mappping the request.

Satish: The problem is exactly as you describe. Currently I'm doing the test via Microsoft InfoPath. I generated the abap proxy also but now not even update the database, plus I have not seen SXMB_MONI activity. I am attaching the code generated for the abap proxy.

DATA: user_profiles TYPE REF TO zco_user_profiles_out .
TRY.
    CREATE OBJECT user_profiles
*                      EXPORTING
*                        logical_port_name  =
        .
  CATCH cx_ai_system_fault .
ENDTRY.
DATA: output TYPE zuser_profiles_tbl1,
      tb_user_profiles TYPE  zuser_profiles_tbl_row_tab WITH HEADER LINE,
      zuser_profiles_tbl TYPE zuser_profiles_tbl,
      zuser_profiles_tbl1 TYPE zuser_profiles_tbl1.

tb_user_profiles-bapiprof = '1'.
tb_user_profiles-bapiptext = '2'.
tb_user_profiles-bapitype = '2'.
tb_user_profiles-bapiaktps = '2'.
APPEND tb_user_profiles.
zuser_profiles_tbl-row[] = tb_user_profiles[].
zuser_profiles_tbl1-user_profiles_tbl = zuser_profiles_tbl.
output = zuser_profiles_tbl1.

TRY.
    CALL METHOD user_profiles->user_profiles_out
      EXPORTING
        output = output.
  CATCH cx_ai_system_fault .
    DATA fault TYPE REF TO cx_ai_system_fault .
    CREATE OBJECT fault.
    WRITE 😕 fault->errortext.
ENDTRY.

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

Johnny, when you receive the error, What s the structure that reach to PI and has no mapping associated? can you check it please?.

and also, if no mapping can be determinate there is no many place to check:

1- Configuration of Operation Mapping -->Press F7 to be sure there no error.

2- Configuration of Interface Determination.

3 - Configuration of the SP receiver (you configure it async and the sp migth be sync)

Thanks

RP

Former Member
0 Kudos

Hi,

I've completed all the checks you have recommended me. Delete everything and

create new objects and still get the same error.

Check SMX_MONI trx and saw two things that caught my attention:

  • The Request Message Mapping ProcessingMode says he is syncronous,

but the two services interfaces are asyncronous.

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
- <!--  Request Message Mapping 
  --> 
- <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
- <SOAP:Header>
- <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
  <SAP:MessageClass>SystemError</SAP:MessageClass> 
  <SAP:ProcessingMode>synchronous</SAP:ProcessingMode> 
  <SAP:MessageId>00505683-6B63-1DDF-A08C-F62E9AE3367A</SAP:MessageId> 
  <SAP:RefToMessageId>00505683-6B63-1DDF-A08C-F62E9AE1F67A</SAP:RefToMessageId> 
  <SAP:TimeSent>2010-06-25T14:41:13Z</SAP:TimeSent>

  • The trace section at the end of XML, mentions that "Interface

mapping has no response mapping, but not in the services interfaces

I have as a response set because, as mentioned above all

scenario is asyncronous.

<Trace level="1" type="B" name="PLSRV_MAPPING_RESPONSE" /> 
- <!--  ************************************ 
  --> 
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
  <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" /> 
- <!--  ************************************ 
  --> 
  <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV" /> 
- <!--  ************************************ 
  --> 
  <Trace level="1" type="T">Interface mapping has no response mapping</Trace> 
  </Trace>
  <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" /> 
  </Trace>
  <Trace level="1" type="T">An Exception has occured</Trace> 
  <Trace level="1" type="T">Error Text: Mapping program is not available in runtime cache: Object ID 7CDFBA22E91535FDAFBD39466BC4C3D4 Software Component E4E4CB0073F711DFA67BD407C0A90D2F</Trace> 
  <Trace level="1" type="T">SystemError message generated. Guid: 005056836B631DDFA08CF62E9AE3367A</Trace> 
  <Trace level="1" type="T">Error during execution of message : C780BD7A27F24B60024EB6BD2BF1AEF9</Trace> 
  <Trace level="1" type="T">ApplicationMessage was (=RefToMsgId): 005056836B631DDFA08CF62E9AE1F67A</Trace> 
  <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" /> 
- <!--  ************************************ 
  --> 
  </SAP:Trace>

Regards,

Johnny

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

Hi,

did you Check the configuration of the Receiver CC, please check if you defined a fualt message error in the JDBC service, maybe an error is occurring and try to map this structure.

also check in the advance tab>Advance Mode>Disconnect From DataBase After Processing Each Message.

Another posibility is the system is pointing to an old version or old mapping program.

so do this

first add any description to you mapping program and activate it. later in sxi_cache, go to >goto>adapter engine cache-->Delete the record of the cache. Once you do this, make a full Cache Refresh.

Dont Forget to check the Operation Mapping. if the services are well defined the problem is related there. check that you only see a Request TAb and not response or Fault Tab. if so, you have a wrong configuration or incomplete configuration (fault Message Type)

Thanks

RP

Edited by: Rodrigo Alejandro Pertierra on Jun 25, 2010 12:29 PM

Former Member
0 Kudos

Hi Johnny,

In my previous post I thought you are using JDBC sender but indeed you are using Proxy as sender. Sorry for that.

So when you are sending your proxy you see as synchronous in moni although your both message interfaces are asynch. Can you check the code you have written in proxy whether you have written for execute_synchronous or

execute_asynchronous. If your call is asynch then your code should go to execute_asynchronous. Please see this blog for reference:

/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy

Also you can see this blog where you can use the same unless you use the SP as mentioned by michal:

/people/michal.krawczyk2/blog/2009/06/20/pixi-abap-proxies-say-goodbye-to-executeasynchronous-method

Regards,

---Satish

Former Member
0 Kudos

Hi Johnny,

I am not sure how you are testing with Microsoft infopath. I am confused over your testing there. I am not sure how infopath is calling the proxy.

Usually what we do is we will create a report and internally within the report we will call the proxy. So when we fill the parameters in the report and executed it internally calls the proxy and sends data over to xi. When you create the proxy the execute_asynch method is automatically created. Double click on it and the proxy code goes over there.

Anyways you are saying now the message itself is not generating at all. Can you please debug the proxy and see. Also once you execute you should be able the message in sap itself. Go to sxmb_moni in sap system (assuming you have written your proxy in sap) and then see the message you executed. Hope this make sense to you.

Regards,

---Satish

Former Member
0 Kudos

Hi Satish,

I mean, the interface in SAP PI had an error, but the records are updated in the database connected via JDBC adapter.

Check the two Service Interfaces and are configured as asynchronous. The only plus is that in the Inbound Service Interfaces are asked to set a return message type Fault, I've tried loading it or not, and gives me the same error.

Regards,

Johnny

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

What do you see in the Cumunication Channel Monitoring in RWB??????

Rodrigo P.

Former Member
0 Kudos

Hi Johnny,

Now I understood. Since you are using sender jdbc comm channel it is picking and you have an update statement in sender comm. channel, so you have update and it is failing in sxmb_moni for the records it picked up.

There will be only two things here:

1) The caches issues as explained above and you said you did it already.

2) Something wrong with the sender and receiver. So please check your receiver and interface determination. I know sometimes we feel we did it right but something we mess over there. If you feel it is correct then please open the receiver and interface determination and do a syntax check (F7) and see.

Regards,

---Satish

Former Member
0 Kudos

Hi Munoz,

I didnot understand the line:

The most strange thing is that while SAP PI the message is marked as an error in the database data is updated correctly.

Did you mean you are getting the message into XI. If yes then probably your interface might be in synchronous mode. Check that out. That might be the reason why your database is updating and you dont have response and the mapping is expecting response mapping. So please check that in message interface both the interfaces are asynch.

Regards,

---Satish

Former Member
0 Kudos

Hi Rodrigo,

These steps had already been done, also went back to the run and the error still occurs.

I forgot to mention that I am working with SAP PI 7.1 EHP 1.

Regards,

Johnny

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

Hi, Check if you define properly the Mode (sync- Async) of the Ent. Services. Also check the QoS of the SP and the Target Channel

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

hi

i faced this error, and the solution was

check if you define the Operation Mapping in the Interface Determination.

If all is OK

go to SXI_CACHE>GOTO>Adapter Engine Cache--> select the data chache and delete it.

then make a full cache refresh

then wait for a moment and reprocess the fails messages

Edited by: Rodrigo Alejandro Pertierra on Jun 24, 2010 5:07 PM