Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何评估JCoStructure?_Java_Sap_Jco - Fatal编程技术网

Java 如何评估JCoStructure?

Java 如何评估JCoStructure?,java,sap,jco,Java,Sap,Jco,我的结构如下: |----------|----------|----|---| | STRUCTURE 'NameOfStructur' | |----------|----------|----|---| |Num |A |B |C | |----------|----------|----|---| |0123456789|0123456789|0123|456| |----------|----------|----|---| |

我的结构如下:

|----------|----------|----|---|
| STRUCTURE 'NameOfStructur'   |
|----------|----------|----|---|
|Num       |A         |B   |C  |
|----------|----------|----|---|
|0123456789|0123456789|0123|456|
|----------|----------|----|---|
|          |          |    |   |
|----------|----------|----|---|
我用它打印:

JCoStructure struct=exportParameters.getStructure(paramName);
System.out.println(struct.toString());
以及:

JCoStructure struct=exportParameters.getStructure(paramName);
JCoFieldIterator fieldIt=struct.getFieldIterator();
while(fieldIt.hasNextField()){
JCoField field=fieldIt.nextField();
System.out.println(field.getName());
}
我收到属性名称(
Num
A
B
C
),但我仍然无法从该结构中获取值
field.getValue()
只返回
null
field.toString()
传递对象引用值

有人知道如何接收这些值吗?

答案很简单

|0123456789|0123456789|0123|456|
使用“toString()”打印时,它就像每个“空”和非空表/结构上的分界线。我想这是我们测试sap系统上的条目。因此,完全正确的是,我将为每个条目接收一个“null”,因为这些数据结构仍然是空的

因此,基本上@Trixx在如何从JCoStructures/JCoFields检索值方面是完全正确的,但我的问题不是我无法从文档中检索正确的方法,而是没有文档记录打印出来的行是分隔行,而不是我认为的示例元组数据。

JCoField.getName()
获取字段的名称,并为字段的值使用适当的getter方法,例如
JCoField.getString()
应始终有效。如果可行,其他getter方法将动态执行类型转换,例如,
JCoField.getInt()
将工作并返回原语int 623521,如果字段包含字符串“623521”作为值

在您的示例中,结构中的所有字段当前都为空,因此
JCoField.getString()
将返回“”


顺便说一下,您不需要使用字段迭代器。您还可以通过使用字段的名称或其索引直接访问
JCoStructure
中的字段值,例如使用
JCoStructure.getString(“Num”)
JCoStructure.getString(0)

是的,但我的问题是我试图让我们从空表中接收值,因为我认为这些数字不仅仅是一个房间分隔符,而是实际的条目。我已经从互联网上找到的所有示例中学到了所有其他内容,但还是要谢谢你:)