cancel
Showing results for 
Search instead for 
Did you mean: 

RFC lookup Problem in BPM

AntonioSanz
Active Participant
0 Kudos

Hi all

I have implemented an RFC lookup in a mapping, and I am using that mapping inside a transformation step in a ccBPM. I am getting this error

Mapping http://cofares.es/xi/FARMAVENIX/ClientesOperadorLogistico OP_ESTANDAR_ABS_TO_GENERICO_ABS_PARA_ESCRITURA , Software Component Version 05B503E07D6A11E181A6FA44C0A81F98  Mapping Step 1  , Type JAVA_JDK , Program com/sap/xi/tf/_MM_ESTANDAR_TO_GENERICO_PARA_ESCRITURA_  while trying to invoke the method java.lang.String.length() of an object loaded from local variable 'guid' Thrown: java.lang.NullPointerException: while trying to invoke the method java.lang.String.length() of an object loaded from local variable 'guid'      at com.sap.guid.GUID.parseHexGUID(GUID.java:1046)      at com.sap.guid.GUIDGenerator.parseHexGUID(GUIDGenerator.java:111)      at com.sap.aii.utilxi.misc.api.GUIDFactory.parseHexGUID(GUIDFactory.java:127)      at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.createInputParameter(ParametrizationMap.java:141)      at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.createElement(ParametrizationMap.java:113)      at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.createParametrizations(ParametrizationMap.java:58)      at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.<init>(ParametrizationMap.java:38)      at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.newInstance(ParametrizationMap.java:66)      at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:112)      at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:73)      at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79)      at sun.reflect.GeneratedMethodAccessor541.invoke(Unknown Source)      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)      at java.lang.reflect.Method.invoke(Method.java:597)      at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)      at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)      at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)      at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)      at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:47)      at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)      at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37)      at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21)      at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)      at com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46)      at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)      at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)      at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)      at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)      at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)      at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)      at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)      at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)      at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)      at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)      at $Proxy570.processFunction(Unknown Source)      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)      at java.lang.reflect.Method.invoke(Method.java:597)      at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:183)      at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:267)      at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)      at java.security.AccessController.doPrivileged(Native Method)      at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:185)      at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:302)

I have tested it in Integration Repository and all works fine.

Any idea?

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

the discussion is quite old and I don't know if the problem is solved but I run into the same one.

Although there are plenty of blogs about it it took me some time to get it running.

A very good guidleine is availlable here in point 3 - Parameterized Mappings:

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/909e33f0-738c-2a10-4f87-ce73398bc...

After finishing all the mentioned settings in MM. OM and Integration process within ESR there was still the question where to assign the name of the RFC communication channel to the parameter of the transformation step in BPM.

Answer is:

After definition and assignment of a parameter of type adapter in Repository to the integration process an empty parameter is added to the integration process in Directory. There the value of the RFC channel have to be assigned.

/Michael

anupam_ghosh2
Active Contributor
0 Kudos

Hi Michael,

                     This is very helpful post. Thank you so much for sharing.

Regards

Anupam

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>I have tested it in Integration Repository and all works fine.

You did not bind parameters of the mapping program during runtime. Let me explain in a brief way, you define variable such as MM1 or communication channel name in the mapping program.  In the operation mapping you also define relevant parameters  that you connect to the mapping program using binding. This would work during test time.  As you know we specify operation mapping in the interface determination object. Here you have to assign values to the operation mapping parameters that will transfer value to the mapping program variables during runtime. Check in the interface determination whether you assign values for the operation mapping parameters.

Hope that helps.

AntonioSanz
Active Participant
0 Kudos

Thanks for your reply.

But I have no interface determination. My mapping is in one block of my ccBPM, so I dont´know if that is possible.

Anyway, how can assing values to my operation mapping in the interface determination?

baskar_gopalakrishnan2
Active Contributor
0 Kudos

> Anyway, how can assing values to my operation mapping in the interface determination?

The parameters already defined in the operation mapping will be shown in the interface determination screen.  Please refer this link for understanding ...

http://scn.sap.com/people/jin.shin/blog/2008/02/14/sap-pi-71-mapping-enhancements-series-parameteriz...

AntonioSanz
Active Participant
0 Kudos

Many Thanks Baskar,

I have applied it but I still get the same error. This is very strange to me, because local testing in ER works fine, and deployed in ID it doesnt.

Former Member
0 Kudos

Have you transported this scenario to a an upgraded version of PI?  If so, make sure to use the current SAP BASIS SCV becaues this SCV holds the adapter metadata and has to be current to work properly

gagandeep_batra
Active Contributor
0 Kudos

Hi Antonio,

You can see the error in message for execution the function  "String.length()" for local variable "guid".

check for which value is assign to that variable and try to analyze the payload value. check for display queue for input variable for rfc lookup.

Regards

Gagandeep

AntonioSanz
Active Participant
0 Kudos

I can check my OP mapping and it works fine. It doesnt work within the BPM.

Any idea?

Thanks

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi,

Have you assined RFC communication channel to integration process in Integration directory?

Open Integration process in ID and then right side it will ask for RFC channel assign it.

make sure that variable you created for RFCLooup binded.

Regards,

Raj

AntonioSanz
Active Participant
0 Kudos

I have checked both. Ian I still get the same error. Any futher idea?