on 05-14-2009 8:05 AM
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" />
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.