cancel
Showing results for 
Search instead for 
Did you mean: 

Error with BAPI's table output parameter

Former Member
0 Kudos
76

Hi Webdynpro expert consultants,

I'm getting a weird error message when i try to execute my webdynpro applic.

500 internal server error

Failed to process request. Please contact your system administrator.

There is a RFC call to a R/3 system and the output param. is a table with a custom structure.

I did "apply template" with the concerning table and the layout view displays well the table with its column names and cells.

I based my work on the tutorial : "Get Flights" (create a web dynpro appl. accessing abap function) for dealing with input/output parameters of the bapi and for the ui elements.

Contexts seem also to be well configured.

Extra check I've done: i have put an external break-point in my bapi.

And everything was ok.

So I guess the source of the issue happens when my webdynpro receives data from the R/3 system.

Did someone experienced this ?

Thanks a lot in advance for your help.

Louis,

View Entire Topic
Former Member
0 Kudos

Hi,

Could you please check or provide relavant portion of the server log ?

Regards,

Anagha

Former Member
0 Kudos

Dear Anagha,

First of all thanks for reply.

Hereunder a trace present on the server:

application [webdynpro/dispatcher] Processing HTTP request to servlet [dispatcher] finished with error.

The error is: java.lang.ArrayIndexOutOfBoundsException: -1

Exception id: [0016356AB4AA007C0000005F00001B7400045BC161D35E07]

louis

Former Member
0 Kudos

Enclosed a full descritpion of the error:

application [webdynpro/dispatcher] Processing HTTP request to servlet [dispatcher] finished with error. The error is: java.lang.ArrayIndexOutOfBoundsException: -1

at com.sap.mw.jco.JCO$MetaData.getType(JCO.java:10179)

at com.sap.aii.proxy.framework.core.JcoBaseTypeData.getElementValue(JcoBaseTypeData.java:503)

at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCModelClass.getRelatedModelObjects(DynamicRFCModelClass.java:787)

at be.com.sap.cap.Z_Bapi_Get_Time_Info_Output.getO_Tbl_Period_Wrk_Sch(Z_Bapi_Get_Time_Info_Output.java:135)

at be.com.sap.wdp.IPublicGetTimeInfo_Comp$IO_Tbl_Period_Wrk_SchNode.doSupplyElements(IPublicGetTimeInfo_Comp.java:754)

at com.sap.tc.webdynpro.progmodel.context.Node.supplyElements(Node.java:406)

at com.sap.tc.webdynpro.progmodel.context.Node.getElementList(Node.java:345)

at com.sap.tc.webdynpro.progmodel.context.Node.createMappedElementList(Node.java:498)

at com.sap.tc.webdynpro.progmodel.context.Node.supplyElements(Node.java:393)

at com.sap.tc.webdynpro.progmodel.context.Node.getElementList(Node.java:345)

at com.sap.tc.webdynpro.progmodel.context.Node.getChildNodeInternal(Node.java:1178)

at com.sap.tc.webdynpro.progmodel.context.Paths.followPath(Paths.java:876)

at com.sap.tc.webdynpro.progmodel.context.Paths.followPath(Paths.java:852)

at com.sap.tc.webdynpro.progmodel.context.Paths.isValid(Paths.java:612)

at com.sap.tc.webdynpro.clientserver.uielib.standard.impl.Table._isValidBindingOfPrimaryProperty(Table.java:836)

at com.sap.tc.webdynpro.progmodel.view.UIElement.getEnabled(UIElement.java:364)

at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.TableAdapter.setViewAndNodeElement(TableAdapter.java:325)

at com.sap.tc.webdynpro.clientserver.uielements.adaptmgr.URAdapterManager.getAdapterFor(URAdapterManager.java:285)

at com.sap.tc.webdynpro.clientserver.uielements.adaptmgr.URAdapterManager.getAdapterFor(URAdapterManager.java:93)

at com.sap.tc.webdynpro.clientserver.uielements.adaptbase.AbstractAdapter.getAdapterFor(AbstractAdapter.java:495)

at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.FlowLayoutAdapter$Items.getControl(FlowLayoutAdapter.java:368)

at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.renderFlowLayoutItemFragment(FlowLayoutRenderer.java:288)

at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.renderFlowLayoutFragment(FlowLayoutRenderer.java:244)

at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.render(FlowLayoutRenderer.java:49)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:434)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)

at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:619)

at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:74)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:434)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.UiWindowRenderer.render(UiWindowRenderer.java:52)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:434)

at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)

at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendHtml(HtmlClient.java:1056)

at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.fillDynamicTemplateContext(HtmlClient.java:456)

at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendResponse(HtmlClient.java:1240)

at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.retrieveData(HtmlClient.java:252)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doRetrieveData(WindowPhaseModel.java:595)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:156)

at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:319)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)

at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)

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:102)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

Former Member
0 Kudos

Hi,

Please go through this thread

once check code in component controller with respect to ur rfc.

Regards,

ramesh

Former Member
0 Kudos

Hi Ramesh,

I checked the code in the thread but mine seems the same.

I have not seen something wrong, or something missing in my code in respect with the code showed in the thread.

Here is code that I have written in the Controller:

public void wdDoInit()

{

//@@begin wdDoInit()

//$$begin Service Controller(1722023391)

Z_Bapi_Get_Time_Info_Input input = new Z_Bapi_Get_Time_Info_Input();

wdContext.nodeZ_Bapi_Get_Time_Info_Input().bind(input);

//$$end

//@@end

}

public void executeZ_Bapi_Get_Time_Info_Input( )

{

//@@begin executeZ_Bapi_Get_Time_Info_Input()

//$$begin Service Controller(-1881672769)

IWDMessageManager manager = wdComponentAPI.getMessageManager();

try

{

wdContext.currentZ_Bapi_Get_Time_Info_InputElement().modelObject().execute();

wdContext.nodeOutput().invalidate();

}

catch(WDDynamicRFCExecuteException e)

{

manager.reportException(e.getMessage(), false);

}

//$$end

//@@end

}

Any other remark?

Thx.

Louis

Former Member
0 Kudos

Louis,

try to recreate the model and check model binding is proper or not

If nothing works try to restart the portal

Thansk

Bala Duvvuri

Former Member
0 Kudos

Hi Bala Duvvuri,

Thanks for replying.

I tried several times to recreate the model and check the model binding.

I'm not an portal admin. in order to restart it.

I don't know why I don't get an error when I execute the "Get Flight List" application (I just redeveloped and deployed it) which is also using a table parameter.

Thanks in advance for your inputs.

Kind regards,

Louis

Former Member
0 Kudos

Hi experts,

Is anyone who can advice me something to try regarding the issue?

Thanks in adance,

Louis

Former Member
0 Kudos

Hi,

Could you please look at the framework generated code

at be.com.sap.cap.Z_Bapi_Get_Time_Info_Output.getO_Tbl_Period_Wrk_Sch(Z_Bapi_Get_Time_Info_Output.java:135)

at be.com.sap.wdp.IPublicGetTimeInfo_Comp$IO_Tbl_Period_Wrk_SchNode.doSupplyElements(IPublicGetTimeInfo_Comp.java:754)

Or else if you can post the same will shed some light

Was their any change in the structure after the import?

Regards

Ayyapparaj

Former Member
0 Kudos

Dear Bala,

I asked the sap portal admin to restart the portal.

After that I created the model again.

Now it works fine.

Thanks a lot for your advice.

Louis