SAP Java连接器(SAP JCO)ABAP RFC FM中的参数和值的动态列表

2020-08-18 04:31发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨社区

当在SAP中调用ABAP函数(以DESTINATION参数作为SAP JCO SERVER)然后在SAP JCO Server中使用Java处理参数列表及其值时,动态接收参数列表及其值时遇到问题。

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

我知道在Java中使用命令(JCoParameterList ParameterList = function.getImportParameterList())(例如,用于导入参数)可以接收此数据,但是如何从名称为" ParameterList"的变量中获取信息 参数,它们的类型和被调用的值?

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

亲切的问候,

安德鲁

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨社区

当在SAP中调用ABAP函数(以DESTINATION参数作为SAP JCO SERVER)然后在SAP JCO Server中使用Java处理参数列表及其值时,动态接收参数列表及其值时遇到问题。

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

我知道在Java中使用命令(JCoParameterList ParameterList = function.getImportParameterList())(例如,用于导入参数)可以接收此数据,但是如何从名称为" ParameterList"的变量中获取信息 参数,它们的类型和被调用的值?

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

亲切的问候,

安德鲁

付费偷看设置
发送
3条回答
南山jay
1楼 · 2020-08-18 05:07.采纳回答

您好 Andrew Michalski

我自己还没有做过,但是我看到JCoFunction 文档包含所有相关信息。 您检查了吗?

https: //www.int13h.nl:8443/_content/SAPDocuments/JCo_API_3_0/com/sap/conn/jco/JCoFunction.html

例如,getImportParameterList方法返回 JCoParameterList 对象。

在那里您可以获取该字段 迭代器,带有getParameterFieldIterator方法,该方法返回 JCoParameterFieldIterator 对象。

您可以获取 JCoParameterField 对象和迭代器的nextParameterField方法。

并且field对象具有您需要的所有属性,其中大多数来自父类 JCoField

注意,

Mateusz
粗暴的香蕉
2楼-- · 2020-08-18 04:48

嗨Mateusz,

感谢您的答复。

我使用JCoParameterList做到了。 JCoParameterList 包含 JCoParameterField 实例的列表。 JCoParameterField 继而继承自 JCoField ,后者提供了用于设置或获取参数值的方法。 JCoParameterList 允许遍历参数列表,检查它们是什么类型的参数,获取它们的值等。我如何做的示例:

JCoParameterList参数= function.getImportParameterList();

JCoParameterFieldIterator = = parameters.getParameterFieldIterator();

同时(it.hasNextField()){

JCoParameterField字段= it.nextParameterField();

field.getName(); //参数名称

field.getString(); //参数值

}

此致

Andrew

bbpeas
3楼-- · 2020-08-18 05:09

您好,

您还可以直接向JCoParameterList询问其元数据,而不必遍历JCoFields。 直接获取值更有效。

最诚挚的问候,
Markus

一周热门 更多>