在字段上按F4键时如何显示"可能的条目"表?

2020-09-23 04:14发布

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

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


我想做一个选择屏幕,当我在参数字段上单击F4时,它将显示表中的可能条目(标准表和自定义表)

报告YMSI_TYPE_TABLE。

类型:ty_test的开始,

Mandt类似于USGRP-mandt,

用户组,例如USGRP用户组,

像YMSI_tab-nama一样的Nama,

ty_test结束。

这是我的源代码:

数据:ld_test类型为TABLE_ty_test。

数据:ls_test TYPE ty_test。

SELECT SCREEN(选择屏幕)从1号块开始,并带有FRAME TITLE标题。

参数USRGRP类型c可见长度4。

参数NAMA TYPE字符串可见长度10。

第1块的选择屏幕结尾。

从usgrp到表ld_test中选择用户组。

将ld_test循环到ls_test中。 写ls_test。 ENDLOOP。

在SELECTION-SCREEN上:

关于usrgrp的VALUE-请求,

在VALUE-REQUEST FOR nama上。

CALL FUNCTION'F4IF_INT_TABLE_VALUE_REQUEST'导出dynpprog = sy-repid dynpnr = sy-dynnr dynprofield ='NAME'value_org ='S'。

以下是预期输出的示例

我设法设置了参数,但无法使这些条目出现

(46.3 kB)

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

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


我想做一个选择屏幕,当我在参数字段上单击F4时,它将显示表中的可能条目(标准表和自定义表)

报告YMSI_TYPE_TABLE。

类型:ty_test的开始,

Mandt类似于USGRP-mandt,

用户组,例如USGRP用户组,

像YMSI_tab-nama一样的Nama,

ty_test结束。

这是我的源代码:

数据:ld_test类型为TABLE_ty_test。

数据:ls_test TYPE ty_test。

SELECT SCREEN(选择屏幕)从1号块开始,并带有FRAME TITLE标题。

参数USRGRP类型c可见长度4。

参数NAMA TYPE字符串可见长度10。

第1块的选择屏幕结尾。

从usgrp到表ld_test中选择用户组。

将ld_test循环到ls_test中。 写ls_test。 ENDLOOP。

在SELECTION-SCREEN上:

关于usrgrp的VALUE-请求,

在VALUE-REQUEST FOR nama上。

CALL FUNCTION'F4IF_INT_TABLE_VALUE_REQUEST'导出dynpprog = sy-repid dynpnr = sy-dynnr dynprofield ='NAME'value_org ='S'。

以下是预期输出的示例

我设法设置了参数,但无法使这些条目出现

(46.3 kB)
付费偷看设置
发送
3条回答
大简至美
1楼 · 2020-09-23 04:55.采纳回答

您好,马里奥

首先您应该移动

"从usgrp到表ld_test中选择用户组。"

对于"在VALUE-REQUEST FOR nama上"事件,可以确保SELECT在FM F4IF_INT_TABLE_VALUE_REQUEST之前执行。

然后,您需要更正F4IF_INT_TABLE_VALUE_REQUEST的用法,例如,您可以找到许多以前的SCN讨论,例如:

https://archive.sap.com/discussions/thread/1282219

我仍然调整了您的代码,请尝试一下:

 TYPES:类型ty_test开头,
          喜欢usgrp-mandt,
          用户组,例如usgrp-usergroup,
          nama LIKE usr02-bname,
        ty_test结束。


 数据:ld_test ty_test的类型表。
 数据:ls_test TYPE ty_test。


 1号块的选择屏幕开始,框架标题为awal。
 参数usrgrp TYPE C可见长度4。
 参数nama TYPE字符串可见长度10。
 选择屏幕的结尾1。


 在纳马值请求的SELECTION屏幕上。
   从usgrp到表ld_test中选择mandt用户组。
   通话功能'F4IF_INT_TABLE_VALUE_REQUEST'
     出口
       dynpprog = sy-repid
       dynpnr = sy-dynnr
       dynprofield ='NAMA'
       value_org ='S'
       retfield ='NAMA'
     桌子
       value_tab = ld_test。
   。
 
SAP小黑
2楼-- · 2020-09-23 04:51

请下次使用"代码"按钮设置代码格式。

您的SELECT不属于任何报告事件,因此它会自动链接到START-OF-SELECTION事件。 这意味着只有在按F8键(选择屏幕之后的处理)之后才执行该程序。

如汤姆·万(Tom Wan)所说,在发布之前,您必须在网络上的许多示例中搜索F4IF_INT_TABLE_VALUE_REQUEST。

Tong__Ming
3楼-- · 2020-09-23 04:45
  • 为什么不使用ddic引用作为参数,却常常会免费获得(更好的)搜索帮助?
  • 在某些情况下,请在参数定义中提供search-hep名称
参数:p1类型usgrp-usergroup,
             p2类型usgrp-usergroup匹配代码对象ususergroups。  "这不是一个很好的例子……
 

一周热门 更多>