来自 SAP 的数据以 JCo.Table 的形式返回。但是,我们不想在 VIEW 中显示所有列。所以,我们所做的是,我们创建了一个名为display.xml的文件,其中包含要显示的 JCO.Table 列。display.xml被转换为一个列表,并且每个字段都被验证是否存在于显示列表中(参见下面的代码),这从第二行开始是多余的。
final Table outputTable = jcoFunction.getTableParameterList().
getTable("OUTPUT_TABLE");
final int numRows = outputTable.getNumRows();
for (int i = 0; i < numRows; i++) {
final FieldIterator fields = outputTable.fields();
while (fields.hasNextFields()) {
final JCO.Field recordField = fields.nextField();
final String sapFieldName = recordField.getName();
final DisplayFieldDto key = new DisplayFieldDto(sapFieldName);
if (displayFields.contains(key)) {
System.out.println("recordField.getName() = "
+ recordField.getName());
final String sapFieldName = (String)recordField.getValue();
} else {
// ignore the field.
}
}
}
过滤 JCo 中的字段的更好方法是什么?我可以迭代列吗?谢谢 :)