cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping failing in sxmb_moni

Former Member
0 Kudos

Hi,

I am working on sceanario where the Idoc is coming from ERP system and in PI(which is on unix system), mapping is getting executed. In that mapping i am taking backup of the Idocs. In the Integration Directory i have provided the backup directory name as /usr/sap/put/ABCdefg/IDOC/ . In the integration Repository i have created the parameter as DirectoryName for that maaping and i have binded that parameter in the operation mapping as well. But in sxmb_moni this mapping fails because of the following exception

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Request Message Mapping

-->

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

<SAP:Category>Application</SAP:Category>

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

<SAP:P1>Thrown: java.lang.IllegalArgumentException: The va</SAP:P1>

<SAP:P2>lue for the input paramter DIRECTORYNAME must not</SAP:P2>

<SAP:P3>be null! at com.sap.aii.ib.core.mapping.execution</SAP:P3>

<SAP:P4>.InputParameter.<init>(InputParameter.java:23) a~</SAP:P4>

<SAP:AdditionalText />

<SAP:Stack>Runtime exception occurred during mapping</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

Detail trace is : <Trace level="1" type="T">The value for the input paramter DIRECTORYNAME must not be null! Thrown: java.lang.IllegalArgumentException: The value for the input paramter DIRECTORYNAME must not be null! at com.sap.aii.ib.core.mapping.execution.InputParameter.<init>(InputParameter.java:23) at com.sap.aii.ib.core.mapping.execution.MappingParameter.newInputParameter(MappingParameter.java:45) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.createInputParameter(ParametrizationMap.java:134) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.createElement(ParametrizationMap.java:112) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.createParametrizations(ParametrizationMap.java:57) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.<init>(ParametrizationMap.java:37) at com.sap.aii.ibrun.sbeans.mapping.ParametrizationMap.newInstance(ParametrizationMap.java:65) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:111) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:72) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) 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:585) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43) 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:71) 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:38) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22) 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:21) 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:16) 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:133) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at $Proxy682_10000.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:585) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:183) at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:269) 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:152) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)</Trace>

<Trace level="1" type="E">CL_XMS_PLSRV_MAPPING~ENTER_PLSRV</Trace>

</Trace>

<Trace level="1" type="System_Error">Error exception return from pipeline processing!</Trace>

<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

Test your mapping in Integration Repository using Test Tag.Give the input and check the DIRECTORYNAME having the value.In sxmb_moni view source and get the input data.

Regards,

Prakasu.M

former_member200962
Active Contributor
0 Kudos

i think an UDF is used to configure the DIRECTORYNAME dynamically during runtime....so cannot test in IR.....

Former Member
0 Kudos

Hi ,

Yes i agree.If dynamically getting UDF is used then we can not test it.

Regards,

Prakasu.M

former_member200962
Active Contributor
0 Kudos
DIRECTORYNAME

This parameter is mandatory...or should not be null...check it...if u are using a UDF to assign value to it then check the UDF

Edited by: abhishek salvi on May 14, 2009 12:40 PM

Former Member
0 Kudos

Hi Abhishek,

I am using UDF , which are having 3 inputs added in signature variable.

one is of type Parameter which takes Directory name as string and the other two are of type Argument which takes Idoc no and Idoc contents as a string.

former_member200962
Active Contributor
0 Kudos

and what is your UDF doing...any Dynamic Configuration logic implemented....are u checking the existence of the values in the source nodes in the UDF?...

Former Member
0 Kudos

The UDF is forming a file path using directory parameter and Idoc number and then writing the input string to that filepath. No dynamic configuration logic implemented here. no i am not checking the existence of the values in the source nodes in the UDF as they come always. In my earlier system which is Windows system, where PI is installed this scenarion is perfectly working. But in Unix it gives problem.

former_member184154
Active Contributor
0 Kudos

Hi,

I have exactly the same problem. Did you sort it out?

Thanks,

Alexx

Former Member
0 Kudos

We have applied patch SP6 on our PI system. Then this issue has been resolved