Dynamic 通过选择屏幕将表格参数传递给FM

Dynamic 通过选择屏幕将表格参数传递给FM,dynamic,report,abap,function-module,sap-selection-screens,Dynamic,Report,Abap,Function Module,Sap Selection Screens,我需要在程序中调用一个表类型作为导入参数的函数。我想用一个选择屏幕来做这个,但我不能用深层结构作为参数。当我“测试”该功能模块时,它向我展示了一个可以添加多个条目并最终提交所有内容的东西。在程序执行过程中,我能得到类似的结果吗? 编辑:我必须提供一个调用函数模块create\u skill\u profile的程序。 我的理解是:您想要调用一个需要表作为导入参数的函数模块。该表的行由用户输入填充。行数是动态的 方法: 1) 使用带有预定义输入字段的选择屏幕,并通过PAI动态显示/隐藏它们(在

我需要在程序中调用一个表类型作为导入参数的函数。我想用一个选择屏幕来做这个,但我不能用深层结构作为参数。当我“测试”该功能模块时,它向我展示了一个可以添加多个条目并最终提交所有内容的东西。在程序执行过程中,我能得到类似的结果吗? 编辑:我必须提供一个调用函数模块create\u skill\u profile的程序。


我的理解是:您想要调用一个需要表作为导入参数的函数模块。该表的行由用户输入填充。行数是动态的

方法: 1) 使用带有预定义输入字段的选择屏幕,并通过PAI动态显示/隐藏它们(在选择屏幕上(在xxx上)。在屏幕上循环)。然后构建表格并在开始选择时调用功能模块

2) 显示具有表格结构的可编辑ALV网格。实现应用程序工具栏按钮或使用“保存”按钮,以便用户在完成输入时调用您的功能模块


虽然自定义输入验证有点棘手,但我还是倾向于2)。但是,如果所需的用户输入与ddic定义的表结构相同,则会自动进行输入验证。

我的理解是:您希望调用需要表作为导入参数的功能模块。该表的行由用户输入填充。行数是动态的

方法: 1) 使用带有预定义输入字段的选择屏幕,并通过PAI动态显示/隐藏它们(在选择屏幕上(在xxx上)。在屏幕上循环)。然后构建表格并在开始选择时调用功能模块

2) 显示具有表格结构的可编辑ALV网格。实现应用程序工具栏按钮或使用“保存”按钮,以便用户在完成输入时调用您的功能模块


虽然自定义输入验证有点棘手,但我还是倾向于2)。但是,如果所需的用户输入与ddic定义的表结构相同,则会自动进行输入验证。

您可以在报告中调用功能模块
RS\u COMPLEX\u OBJECT\u EDIT
,以编辑复杂结构。这与在功能模块单一测试中用于编辑测试数据的功能模块相同

因此,在您的报告中,您可以询问所需类型的名称(如果必须是动态类型),然后在选择开始时,您可以创建此类型的数据对象,并将其传递给
RS\u COMPLEX\u object\u EDIT
,让用户填充它


RS\u COMPLEX\u OBJECT\u EDIT
的一个严重限制是它不能处理排序或哈希表作为输入。因此,复杂结构的所有组件,如果是表类型,则必须是标准表。

您可以在报告中调用函数模块
RS\u complex\u OBJECT\u EDIT
,以编辑复杂结构。这与在功能模块单一测试中用于编辑测试数据的功能模块相同

因此,在您的报告中,您可以询问所需类型的名称(如果必须是动态类型),然后在选择开始时,您可以创建此类型的数据对象,并将其传递给
RS\u COMPLEX\u object\u EDIT
,让用户填充它


RS\u COMPLEX\u OBJECT\u EDIT
的一个严重限制是它不能处理排序或哈希表作为输入。因此,复杂结构的所有组件,如果是表类型的,则必须是标准表。

是的,只需编程即可。如果您想要一个合理的答案,请添加有关功能模块和实际需求的更多详细信息。您可以使用
SELECT-OPTIONS
在选择屏幕上添加多个值。以文本形式发布您的代码和您的问题。是的,只需编程即可。如果您想要一个合理的答案,请添加有关功能模块和实际需求的更多详细信息。您可以使用
SELECT-OPTIONS
在选择屏幕上添加多个值。以文本形式发布您的代码,回答您的问题。