Skip to Content
0
Former Member
Nov 01, 2012 at 01:34 PM

Null Pointer Exception in HWC when using Personalisation Key as Input for Load Argument for MBO

49 Views

Hey there,

I have a very strange Error message. I programmed a "Funktionsbaustein" in my SAP Backend. It takes the Customer Number KUNNR and gives me back a transaktion history with some financial data. I can create, delyoy and test an MBO and I recieve values from the Backend. But when I call the findAll operation inside the HWC /Android Emulator) I get the follwoing Exception:

A Personalisation Key is Mapped to a Key that point to an Edit Box. The App did almost the same as the Flight List example from the Sybase Doku. I tried every solution that came to my mind like, set every possible default value, make the Personalisation Key nullable or not nullable, the same with the attribute mapping of the MBO, but nothing works.

Per Definition the KUNNR is nullable and I cannot change this. But I have no Idea if that is the reason for this Error.

That's the Error Dump from the SCC:

2012-11-01 14:18:21.996 Subsystem=Error Application ID=HWC, Application Connection ID=Simulator92ee4434-97e6-4e6c-bfa7-8c40fc01e5eb__HWC, User=supAdmin@admin, Correlation ID=, Package=kundenstammdaten:1.0, MBO=Kundenfinanzdaten, Operation=, Thread ID=4187, Node ID=tdccecs1p, Error=java.lang.RuntimeException was thrown by transaction com.sybase.djc.transaction.TransactionContext.*AnonymousTransaction*\njava.lang.RuntimeException: Failed to execute JCA operation

at com.sybase.vader.da.jca.JcaInteractionOperation.execute(JcaInteractionOperation.java:182)

at com.sybase.vader.statistics.MonitoringOperation.execute(MonitoringOperation.java:72)

at com.sybase.vader.service.interaction.BranchingInteractionOperation.getRootRecord(BranchingInteractionOperation.java:65)

at com.sybase.vader.service.interaction.BranchingInteractionOperation.execute(BranchingInteractionOperation.java:41)

at com.sybase.vader.core.vdb.interaction.InteractionQueryOperation.executeQuery(InteractionQueryOperation.java:53)

at com.sybase.vader.cache.VTFindAllQueryOperation.executeQuery(VTFindAllQueryOperation.java:20)

at com.sybase.vader.cache.PKMergeProcessor.executeCurrentQuery(PKMergeProcessor.java:308)

at com.sybase.vader.cache.PKMergeProcessor.actualAccumulateDeltas(PKMergeProcessor.java:385)

at com.sybase.vader.cache.PKMergeProcessor.accumulateDeltas(PKMergeProcessor.java:445)

at com.sybase.vader.cache.PKMergeProcessor.accumulateDeltas(PKMergeProcessor.java:738)

at com.sybase.vader.cache.MonitoringMergeProcessor.accumulateDeltas(MonitoringMergeProcessor.java:90)

at com.sybase.vader.cache.SimpleRefreshManager.accumulateDeltas(SimpleRefreshManager.java:1114)

at com.sybase.vader.cache.SimpleRefreshManager.refreshLoadGroup(SimpleRefreshManager.java:926)

at com.sybase.vader.cache.SimpleRefreshManager.refreshLoadGroups(SimpleRefreshManager.java:894)

at com.sybase.vader.cache.SimpleRefreshManager.access$600(SimpleRefreshManager.java:32)

at com.sybase.vader.cache.SimpleRefreshManager$2.invoke(SimpleRefreshManager.java:454)

at com.sybase.vader.djc.environment.MmsDjcTransactionManager.internalInvoke(MmsDjcTransactionManager.java:52)

at com.sybase.vader.djc.environment.MmsDjcTransactionManager.access$000(MmsDjcTransactionManager.java:13)

at com.sybase.vader.djc.environment.MmsDjcTransactionManager$1.invoke(MmsDjcTransactionManager.java:28)

at com.sybase.djc.transaction.TransactionManager.invokeRequiresNew(TransactionManager.java:845)

at com.sybase.djc.transaction.TransactionManager.invokeRequiresNew(TransactionManager.java:747)

at com.sybase.vader.djc.environment.MmsDjcTransactionManager.invokeRequiresNew(MmsDjcTransactionManager.java:31)

at com.sybase.vader.cache.SimpleRefreshManager.internalRefreshAsNeeded(SimpleRefreshManager.java:495)

at sun.reflect.GeneratedMethodAccessor394.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at com.sybase.vader.cache.CacheUtil.invokeWithDeadlockRetry(CacheUtil.java:557)

at com.sybase.vader.cache.SimpleRefreshManager.invokeWithDeadlockRetry(SimpleRefreshManager.java:1315)

at com.sybase.vader.cache.SimpleRefreshManager.refreshAsNeeded(SimpleRefreshManager.java:378)

at com.sybase.vader.cache.SimpleRefreshManager.refreshAsNeeded(SimpleRefreshManager.java:1242)

at com.sybase.vader.cache.CacheStatisticsRefreshManager.refreshAsNeeded(CacheStatisticsRefreshManager.java:204)

at com.sybase.vader.cache.CompositeRefreshManager.refreshAsNeeded(CompositeRefreshManager.java:138)

at com.sybase.vader.mms.DataServiceImpl.beforeDownload(DataServiceImpl.java:523)

at Kundenstammdaten.server.Kundenfinanzdaten.searchHandler(Kundenfinanzdaten.java:1593)

at Kundenstammdaten.server.intrnl.Kundenfinanzdaten_ML.onMessage(Kundenfinanzdaten_ML.java:25)

at Kundenstammdaten.server.KundenstammdatenDB.dispatchReceivedMessage(KundenstammdatenDB.java:176)

at Kundenstammdaten.server.intrnl.KundenstammdatenDB_ML.onMessage(KundenstammdatenDB_ML.java:13)

at com.sybase.sup.server.mbs.MessageReceiver.processMessage(MessageReceiver.java:633)

at com.sybase.sup.server.mbs.MboRequestHandler.execute(MboRequestHandler.java:86)

at com.sybase.sup.server.msgchannel.internal.MessageChannelInternal.dispatch(MessageChannelInternal.java:102)

at com.sybase.sup.server.msgchannel.internal.MessageChannelInternal_DJC.access$001(MessageChannelInternal_DJC.java:4)

at com.sybase.sup.server.msgchannel.internal.MessageChannelInternal_DJC$1.invoke(MessageChannelInternal_DJC.java:25)

at com.sybase.djc.transaction.TransactionManager.invokeRequiresNew(TransactionManager.java:845)

at com.sybase.djc.transaction.TransactionManager.invokeRequiresNew(TransactionManager.java:747)

at com.sybase.sup.server.msgchannel.internal.MessageChannelInternal_DJC.dispatch(MessageChannelInternal_DJC.java:39)

at com.sybase.sup.server.msgchannel.internal.InboundMoIIOPTransportImpl.process(InboundMoIIOPTransportImpl.java:127)

at com.sybase.sup.server.msgchannel.internal.InboundMoIIOPTransportImpl.execute(InboundMoIIOPTransportImpl.java:70)

at com.sybase.sup.server.msgchannel.internal.InboundMoIIOPTransportImpl_DJC.$invoke(InboundMoIIOPTransportImpl_DJC.java:100)

at com.sybase.djc.rmi.iiop.server.MessageHandler.processRequest(MessageHandler.java:798)

at com.sybase.djc.rmi.iiop.server.MessageHandler.run(MessageHandler.java:310)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:662)

Caused by: java.lang.NullPointerException

at com.sybase.vader.jca.sap3.connector.cci.SapFunctionModuleDynamicMetadataMappedRecord.put(SapFunctionModuleDynamicMetadataMappedRecord.java:365)

at com.sybase.vader.jca.sap3.connector.cci.SapRootInteraction.execute(SapRootInteraction.java:161)

at com.sybase.vader.da.jca.JcaInteractionOperation.execute(JcaInteractionOperation.java:154)

... 52 more

I'm thankful for every help with this.

Greetings David

Attachments

exception.png (136.2 kB)
nullable.png (24.0 kB)