JCo中FM参数的反映

Reflection of FM parameters in JCo

我在调用 SAP 中的功能模块(使用 DESTINATION 参数作为 SAP JCO SERVER)然后使用 Java 处理它(在 SAP 中)时动态接收参数列表及其值时遇到问题JCO 服务器)。

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

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

JCoParameterList ParameterList = function.getImportParameterList(); 

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

如有任何关于如何在 Java 中从类型为 JCoParameterList 的对象检索此数据的建议,我将不胜感激!

亲切的问候, 安德鲁

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

}