cancel
Showing results for 
Search instead for 
Did you mean: 

purpose of adapter specific message atributes at sender,reciever file adapt

Former Member
0 Kudos

hi.

i want know birefly about adapter specific message atributes at sender ,reciever adapters.

and what would be the result if we enable this adpspecmessatb checkbox

waiting for your response.

bye.

regards.

seeta ram.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

K simple firstly go through file adapter documentation

http://help.sap.com/saphelp_nw04/helpdata/en/0b/9a50465ccf84479e39a6d50c90fb3f/content.htm

In you set adapter specific message atributes at the sender file adapter(outbound) you can store adapter attributes in the MESSAGE HEADER of the XI message.

In you set adapter specific message atributes at the receiver file adapter(inbound) then you can evaluate the attributes that are stored in the Header of xi message.

Further more if some adapter attributes are missing then you can specify the behaviour of adapter by setting *Fail if adapter specific message attribute missing indicator this will trigger a error message.

<b>Cheers,

*RAJ*

*REWARD POINTS IF FOUND USEFULL*</b>

Former Member
0 Kudos

Hay Seeta,

since it's adapter specific there's no point in explaining it deeply, every adapter have some unique characteristics that you can use, there is no substitute to reading about the specific attributes in the SAP help.

Uri.

Shabarish_Nair
Active Contributor
0 Kudos

/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14 this blog should give you a good practical idea

Former Member
0 Kudos

hey.

thanks for your reply.

i have seen your link but my doubt is after creating UDF with which field i need to map the udf is it with sender date type r reciever side datatype so as to get the file name.

waiting for your response.

bye.

regards.

seeta ram.

Shabarish_Nair
Active Contributor
0 Kudos

this UDF will not have any input .

The output of the UDF can mapped to anything as you want. IN the blog it is mapped to the field nameone (see target XML). you can even map the UDF to your root node.

Know more about the code here - http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/frameset.htm

Former Member
0 Kudos

ok.

i hear what u saying but while iam testing udf wihout any input .getting error like

Mapping object MM_SapIsuTo3rdpartyAccountStatementExtraction incomplete. Unable to continue execution

Argument missing in function filename.

so what would be the reason for this error.

waiting foryour turn.

bye.

regards.

seeta ram.

santhosh_kumarv
Active Contributor
0 Kudos

Hi

Instead u use an constant as an input to the UDF

Regards

Santhosh

Message was edited by:

Santhosh Kumar V

santhosh_kumarv
Active Contributor
0 Kudos

<i>Argument missing in function filename.

so what would be the reason for this error.</i>

This error is because of that the UDF has atleast one argument passed to it. Since u r not mapping any source input u r getting such error.

So u map an constant to the UDF and map the output to the required field

Regards

Santhosh

Shabarish_Nair
Active Contributor
0 Kudos

when you create the UDF, under the arguments select and remove all arguments and the proceed to build the UDF

Former Member
0 Kudos

hi santosh .

thanks for yor your answer.

but when i mapped constant a to the udf and mapped to target and while iam testing i got the error like

10:38:30 Start of test

Compilation of MM_SapIsuTo3rdpartyAccountStatementExtraction successful Runtime exception during processing target field mapping /ns0:MT_SapisuTo3rdpartyAccountStatementExtraction/accstmtdetails/body/status. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_ method filename$[a, com.sap.aii.mappingtool.tf3.rt.Context@421badd8] com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns0:MT_SapisuTo3rdpartyAccountStatementExtraction/accstmtdetails/body/status. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_ method filename$[a, com.sap.aii.mappingtool.tf3.rt.Context@421badd8] at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:350) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) 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:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_ method filename$[a, com.sap.aii.mappingtool.tf3.rt.Context@421badd8] at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:56) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:282) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) 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:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: java.lang.reflect.InvocationTargetException 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:324) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:47) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:282) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) 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:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: java.lang.NullPointerException at com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_.filename$(_MM_SapIsuTo3rdpartyAccountStatementExtraction_.java:119) ... 26 more RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:MT_SapisuTo3rdpartyAccountStatementExtraction/accstmtdetails/body/status. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_ method filename$[a, com.sap.aii.mappingtool.tf3.rt.Context@421badd8]

10:38:37 End of test

what would be the reason for this.

waiting for u r response.

bye.

regards.

seeta ram.

Shabarish_Nair
Active Contributor
0 Kudos

note that if u independently test the mapping it will throw an error.

Do an end to end testing of the scenario to see it working.

<i>(Note:Do read the comments section in the blog)</i>

santhosh_kumarv
Active Contributor
0 Kudos

Hi,

An Alternate solution is

1. Click on EDIT function

2. Click on the change button.

3.delete all the arguments to the UDF

Now the UDF needs no input just MAP the output to the required node.

Regards

Santhosh

Former Member
0 Kudos

hi.

thanks for your answer.

its helped me a lot.

ur answer has helped me a lot in my scenario.

cheers.

Seeta ram.

Former Member
0 Kudos

hi.

thanks for your answer.

it helped me a lot.

bye.

regards.

seeta ram.