1

在 SAP 中调用函数模块(将 DESTINATION 参数作为 SAP JCO SERVER)然后使用 Java(在 SAP JCO 服务器中)处理它时,动态接收参数列表及其值存在问题。

关键是我需要一种动态方式在 JCO 服务器(使用 Java)中获取有关 SAP 中调用了哪些 SAP 功能以及使用哪些参数(导入、导出、更改和表)的信息(因为我的 JCO 服务器服务器“侦听” SAP RFC 调用,我必须存储有关这些来自 SAP 的调用的信息)。

我知道(例如对于导入参数)使用命令:

JCoParameterList ParameterList = function.getImportParameterList(); 

在 Java 中我可以接收这些数据,但是如何处理这个类型的变量JCoParameterList?即,如何从这个变量“ParameterList”中获取有关参数名称、它们的类型以及在 SAP 中调用它们的值的信息?

对于如何在 Java 中从类型对象中检索这些数据的任何建议,我将不胜感激JCoParameterList

亲切的问候,安德鲁

4

1 回答 1

2

JCoParameterList包含JCoParameterField实例列表。JCoParameterField反过来继承自JCoField,它为您提供设置或获取参数值的方法。JCoParameterList允许您遍历参数列表,检查它们是什么类型的参数,获取它们的值等。

JCoParameterList parameters = function.getImportParameterList();
JCoParameterFieldIterator it = parameters.getParameterFieldIterator();
while (it.hasNextField()) {
    JCoParameterField field = it.nextParameterField();
    // field.getName() gives you the name
    // field.getString() gives you the parameter value as string
    // field.getExtendedFieldMetaData() gives you the field metadata

}
于 2020-05-22T09:52:44.067 回答