如何在表控件中选择一行

2020-08-31 16:21发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨.. 我们创建了一个表格控...

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

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


嗨..

我们创建了一个表格控件,并给了一个选择的小格作为itab标记,

但是在运行prog itab-mark ='x'时没有任何值。

它显示的是最后一行而不是所选行...

对于abap来说我们还很陌生,有人会尽快向我们说明。

感谢你。

10条回答
土豆飞人
2020-08-31 16:59

嗨,

此程序代码可能会为您提供帮助。它的工作方式也与您提到的相同。请尝试通过修改代码来实现您的代码。

控件名称

标志

等等。

在此示例中,查看以下程序中的PBO和PAI以及最后一个模块。其有关标记了哪个元素的信息

输出前的过程。

模块状态_0120。

模块auswahl_ferti_change_tc_attr。

用it_temp_fauf环绕

控制auswahl_ferti

光标auswahl_ferti-current_line。

模块fill_table_control。

ENDLOOP。

呼叫用户区域1,包括sy-repid号1。

*

输入后处理。

在it_temp_fauf处滚动。

FIELD it_temp_fauf-flag

MODULE tabcon_mark开启。

模块read_table_control。

ENDLOOP。

呼叫订阅者:area1。

MODULE user_command_0120。

*&----


*

*&模块STATUS_0120输出

*&----


*

  • 文字

* ----


*

MODULE status_0120 OUTPUT。

将PF状态设置为'120'。

设置标题栏" ENTNAHMEDETAIL1"。

ENDMODULE。 " STATUS_0120输出

* TABLECONTROL'AUSWAHL_FERTI'声明的声明

控件:使用屏幕0120的auswahl_ferti类型表。

* DATA:g_auswahl_ferti_lines像sy-loopc。

----


  • 模块AUSWAHL_FERTI_CHANGE_TC_ATTR输出

----


*

----


模块auswahl_ferti_change_tc_attr输出。

描述表it_temp_fauf行auswahl_ferti行。

ENDMODULE。 " AUSWAHL_FERTI_CHANGE_TC_ATTR输出

----


  • 模块AUSWAHL_FERTI_GET_LINES输出

----


*

----


*

MODULE auswahl_ferti_get_lines输出。

  • g_auswahl_ferti_lines = sy-loopc。

ENDMODULE。 " AUSWAHL_FERTI_GET_LINES输出

*&----


*

*&模块FILL_TABLE_CONTROL输出

*&----


*

  • 文字

* ----


*

MODULE fill_table_control输出。

读取表it_​​temp_fauf INTO/cmd/wa_s_fauf

索引auswahl_ferti-current_line。

ENDMODULE。 " FILL_TABLE_CONTROL输出

*&----


*

*&模块read_table_control INPUT

*&----


*

  • 文字

* ----


*

模块化read_table_control输入。

行= sy-loopc。

从/cmd/wa_s_fauf索引修改it_fauf

auswahl_ferti-current_line。

ENDMODULE。 " read_table_control INPUT

*&----


*

*&模块USER_COMMAND_0120输入

*&----


*

  • 文字

* ----


*

MODULE user_command_0120输入。

save_ok = ok_code。

清除ok_code。

CASE save_ok。

当"返回"时。

呼叫屏幕100。

退出时。

离开计划。

"取消"。

呼叫屏幕100。

当'F5'时。

环聊it_aus_pos。

删除it_aus_pos。

ENDLOOP。

  • 移动选定订单的相应字段。

SELECT * FROM resb WHERE rsnum = afko-rsnum。

将对应移动到it_aus_pos。

SELECT *从MATN处= it_aus_pos-matnr。

将移动对应到it_aus_pos。

ENDSELECT。

APPEND it_aus_pos。

ENDSELECT。

呼叫屏幕120。

结束。

ENDMODULE。 " USER_COMMAND_0120输入

*&----


*

*&模块TABCON_MARK输入

*&----


*

  • 文字

* ----


*

模块tabcon_mark输入。

修改it_temp_fauf

索引auswahl_ferti-current_line

运输标志。

如果it_temp_fauf-flag ='X'。

temp_aufnr = it_temp_fauf-aufnr。

选择单* *从afko中,aufnr = temp_aufnr。

ENDIF。

ENDMODULE。 " TABCON_MARK INPUT

一周热门 更多>