我目前维护通过Java Connector for SAP调用的rfc函数模块。我的当前模块返回一个文档表,其中每一行都有一些数据和另一个项目表。
当通过JCo 3.0内省此模块时,它只显示顶层表,而不显示内部表:
POSITIONS () (com.sap.conn.jco.JCoTable)
introspection errror
java.lang.IllegalStateException: Trying to access row values in a table
which does not have any rows yet定义了内部表。出于性能目的,我启用了该模块以使用basXML。
如何启用JCo来处理嵌套结构?或者这是不可能的?
发布于 2017-12-21 19:08:06
一般来说,这是可行的。JCo能够处理嵌套结构和表。
在这种情况下,您的嵌套JCoTable看起来只是空的,即它没有行。在空表上,您不能为单个字段调用任何getter或setter方法。
在使用任何getter方法之前,只需使用JCoTable.isEmpty()或JCoTable.getNumRows()>0进行检查即可。在JCoTable对象上使用任何setter方法之前,请确保至少有一行附加了JCoTable.appendRow()。
https://stackoverflow.com/questions/47923279
复制相似问题