在表格控件中查找(Ctrl-F)

2020-08-26 15:12发布

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

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


大家好,

在我的模块池程序中,我有5个选项卡,并且在表控件中显示数据,并且添加了一个Find(Ctrl-F)图标,当我单击它时,必须弹出一个窗口以输入一些文本,然后 光标应放置在该特定的单元格值中。 是否有人尝试在表控件中执行此查找功能,请提供一些输入。 我尝试了FM:POPUP_GET_VALUES,但它返回SY-SUBRC = 1并且未弹出。 下面是我的代码。

 TAB-TABNAME ='TC_MARA'.-- >> TC_MARA是我的表控件名称(我也尝试过提供内部表)
 TAB-FIELDNAME ='MATNR'。
 TAB-VALUE =''。
 附上标签。
 通话功能" POPUP_GET_VALUES"
 出口
 POPUP_TITLE ='FIND'
 START_COLUMN ='5'
 START_ROW ='5'
 桌子
 FIELDS = TAB。

谢谢

HT

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

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


大家好,

在我的模块池程序中,我有5个选项卡,并且在表控件中显示数据,并且添加了一个Find(Ctrl-F)图标,当我单击它时,必须弹出一个窗口以输入一些文本,然后 光标应放置在该特定的单元格值中。 是否有人尝试在表控件中执行此查找功能,请提供一些输入。 我尝试了FM:POPUP_GET_VALUES,但它返回SY-SUBRC = 1并且未弹出。 下面是我的代码。

 TAB-TABNAME ='TC_MARA'.-- >> TC_MARA是我的表控件名称(我也尝试过提供内部表)
 TAB-FIELDNAME ='MATNR'。
 TAB-VALUE =''。
 附上标签。
 通话功能" POPUP_GET_VALUES"
 出口
 POPUP_TITLE ='FIND'
 START_COLUMN ='5'
 START_ROW ='5'
 桌子
 FIELDS = TAB。

谢谢

HT

付费偷看设置
发送
6条回答
bbpeas
1楼 · 2020-08-26 15:51.采纳回答

您好

FM POPUP_GET_VALUES将正常运行。 请尝试 answer

shere_lin
2楼-- · 2020-08-26 15:50

如果您未定义 您的CALL FUNCTION中的EXCEPTIONS,然后SY-SUBRC将不会更改,如ABAP文档中所述。 您会看到SY-SUBRC = 1,但可能是任何东西,该值是由功能模块POPUP_GET_VALUES中执行的最新语句之一设置的。

追夢秋陽
3楼-- · 2020-08-26 16:08

谢谢大家的宝贵意见 。 问题已解决。

野沐沐
4楼-- · 2020-08-26 16:00

您能给未来的访问者一个提示如何解决吗?

SAP小菜
5楼-- · 2020-08-26 15:57

您好,

我已经尝试了上面提供的链接,但是没有弹出窗口来提供搜索文本。 另外,我没有注释异常,并得到sy-subrc = 1。

我在这里错过了什么吗? 请建议我。

t_fields-tabname ='TC_MARA'。 ->>(TC_MARA是表控件名称。我也尝试使用内部表名称GT_MARA)
t_fields-fieldname ='MATNR'。
t_fields-fieldname ='MATNR'。
t_fields-field_attr =' '。
t_fields-field_obl ='X'。
APPEND t_fields。
通话功能'POPUP_GET_VALUES'
导出
no_value_check ='X'
popup_title ='输入'
start_column ='5'
start_row ='5'
导入
returncode = returncode
TABLES
字段= t_fields
例外情况
error_in_fields = 1
其他= 2。
IF sy-subrc <> 0.
*消息ID sy-msgid类型sy-msgty编号sy-msgno
*带sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
ENDIF 。
IF returncode =''。
排序gt_mara按matnr。
读取表gt_maraWITH键matnr = t_fields-value传输没有字段。
如果sy-subrc =0。
tc_mara-top_line = sy-tabix。
DATA(v_curr_line)= sy-tabix。
DATA(v_tot_line)= tc_mara-lines。
REFRESH t_fields。
CLEAR返回码。
ENDIF。
ENDIF 。

谢谢,

HT

昵称总是被占用
6楼-- · 2020-08-26 16:10

功能模块POPUP_GET_VALUES的参数TABNAME必须是DDIC结构或表的名称(不是表控件,不是内部表)。

NB: 现在,您已经定义了异常" error_in_fields = 1"并且得到SY-SUBRC = 1,您可以肯定这是因为引发了异常ERROR_IN_FIELDS。

一周热门 更多>