【问题标题】:How to evaluate a JCoStructure?如何评估 JCoStructure?
【发布时间】:2018-08-15 10:01:36
【问题描述】:

我有以下结构:

|----------|----------|----|---|
| 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());
}

我收到了属性名称(NumABC),但我仍然无法从此结构中获取值。 field.getValue() 只返回 nullfield.toString() 提供对象引用值。

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

【问题讨论】:

    标签: java sap jco


    【解决方案1】:

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

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

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

    【讨论】:

    • 是的,但我的问题是我试图让我们从一个空表中接收值,因为我认为这些数字不仅仅是一个房间分隔线,而是实际条目。我已经从互联网上找到的所有示例中学到了所有其他内容,但无论如何谢谢你:)
    【解决方案2】:

    答案很简单,

    |0123456789|0123456789|0123|456|
    

    就像使用“toString()”打印每个“空”和非空表/结构上的分界线一样。以为这是我们的测试树液系统上的条目。所以这是完全正确的,我将为每个条目收到一个“null”,因为这些数据结构仍然是空的。

    所以基本上@Trixx 关于如何从 JCoStructures/JCoFields 检索值是完全正确的,但我的问题不是我无法从文档中检索正确的方法,而是没有记录该行是打印出来的是一条分隔线,而不是我想象的示例数据元组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-07
      • 2023-03-23
      • 2021-12-01
      • 2011-08-14
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      相关资源
      最近更新 更多