2020-08-23 14:08发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,我的表格控件有问题 我已经... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,我的表格控件有问题
我已经做了一个表格控件,其中所有记录都以禁用模式显示。
我想要的是我选择的哪一行,当我按Edit时,只启用该行。
我该如何做到这一点。 请发送编码。
积分将得到奖励。
问候。
主持人备注:
请使用有意义的主题行
编辑:Durairaj Athavan Raja,2008年6月4日上午10:40
嗨,
请尝试以下代码。
TYPES:开始于t_0001,
盒TYPE c,
pernr TYPE pa0001-pernr,
endda TYPE pa0001-endda,
begda TYPE pa0001-begda,
t_0001结束,
t_0001的tt_0001类型标准表。
数据:it_0001类型tt_0001。
DATA:ok_code类型sy-ucomm,
save_ok TYPE sy-ucomm,
第TYPE I行,
g_tabctrl_lines类型i。
数据:wa_0001类型t_0001。
DATA:p_mark(3)类型c值" BOX"。
控件:使用屏幕100的Tabctrl类型表格视图。
MODULE get_init_data输出。
如果it_0001 []是初始的。
SELECT pernr
endda
begda
来自pa0001
进入表it_0001的对应字段
最多10行
在哪里结束GE sydatum
和begda LE sy-datum。
ENDIF。
ENDMODULE。 " get_init_data输出
MODULE status_0100 OUTPUT。
设置PF-STATUS'ZSTAT0100'。
设置标题栏" ZTITEL"。
描述表it_0001行。
tabctrl-lines =行。
ENDMODULE。 " STATUS_0100输出
MODULE modiy_pbo_screen输出。
环视屏幕。
如果screen-group1 ='MOD'。
屏幕输入= 0。
修改屏幕。
如果save_ok ='CHG'。
如果wa_0001-box不初始化
AND screen-group2 ='CHG'。
屏幕输入= 1。
ENDLOOP。
ENDMODULE。 " modiy_pbo_screen输出
模组tc_lines输出。
g_tabctrl_lines = sy-loopc。
ENDMODULE。 " tc_lines输出
模块退出输入。
save_ok = ok_code。
清除ok_code。
CASE save_ok。
当"返回"时。
离开计划。
退出时。
"取消"。
结束。
ENDMODULE。 "退出输入
MODULE Modify_tc_table INPUT。
从wa_0001索引tabctrl-current_line修改it_0001。
ENDMODULE。 " Modify_tc_table INPUT
MODULE user_command_0100输入。
使用'TABCTRL'来执行user_ok_tc
'IT_0001'
p_mark
更改ok_code。
ENDMODULE。 " user_command_0100输入
FORM user_ok_tc使用p_tc_name TYPE dynfnam
p_table_name
p_mark_name
更改p_ok类型sy-ucomm。
save_ok = p_ok。
当" CHG"时。
清除p_ok。
ENDFORM。
* ------屏幕的流逻辑。
输出前的过程。
模块get_init_data。
模块状态_0100。
使用控制tabctrl游标将其循环到it_0001到wa_0001
tabctrl-current_line。
模块modiy_pbo_screen。
模块tc_lines。
输入后处理。
在EXIT-COMMAND中退出模块。
在it_0001处循环播放。
模块Modify_tc_table。
MODULE user_command_0100。
最多设置5个标签!
嗨,
请尝试以下代码。
TYPES:开始于t_0001,
盒TYPE c,
pernr TYPE pa0001-pernr,
endda TYPE pa0001-endda,
begda TYPE pa0001-begda,
t_0001结束,
t_0001的tt_0001类型标准表。
数据:it_0001类型tt_0001。
DATA:ok_code类型sy-ucomm,
save_ok TYPE sy-ucomm,
第TYPE I行,
g_tabctrl_lines类型i。
数据:wa_0001类型t_0001。
DATA:p_mark(3)类型c值" BOX"。
控件:使用屏幕100的Tabctrl类型表格视图。
MODULE get_init_data输出。
如果it_0001 []是初始的。
SELECT pernr
endda
begda
来自pa0001
进入表it_0001的对应字段
最多10行
在哪里结束GE sydatum
和begda LE sy-datum。
ENDIF。
ENDMODULE。 " get_init_data输出
MODULE status_0100 OUTPUT。
设置PF-STATUS'ZSTAT0100'。
设置标题栏" ZTITEL"。
描述表it_0001行。
tabctrl-lines =行。
ENDMODULE。 " STATUS_0100输出
MODULE modiy_pbo_screen输出。
环视屏幕。
如果screen-group1 ='MOD'。
屏幕输入= 0。
修改屏幕。
ENDIF。
如果save_ok ='CHG'。
如果wa_0001-box不初始化
AND screen-group2 ='CHG'。
屏幕输入= 1。
修改屏幕。
ENDIF。
ENDIF。
ENDLOOP。
ENDMODULE。 " modiy_pbo_screen输出
模组tc_lines输出。
g_tabctrl_lines = sy-loopc。
ENDMODULE。 " tc_lines输出
模块退出输入。
save_ok = ok_code。
清除ok_code。
CASE save_ok。
当"返回"时。
离开计划。
退出时。
离开计划。
"取消"。
离开计划。
结束。
ENDMODULE。 "退出输入
MODULE Modify_tc_table INPUT。
从wa_0001索引tabctrl-current_line修改it_0001。
ENDMODULE。 " Modify_tc_table INPUT
MODULE user_command_0100输入。
使用'TABCTRL'来执行user_ok_tc
'IT_0001'
p_mark
更改ok_code。
ENDMODULE。 " user_command_0100输入
FORM user_ok_tc使用p_tc_name TYPE dynfnam
p_table_name
p_mark_name
更改p_ok类型sy-ucomm。
save_ok = p_ok。
CASE save_ok。
当" CHG"时。
清除p_ok。
结束。
ENDFORM。
* ------屏幕的流逻辑。
输出前的过程。
模块get_init_data。
模块状态_0100。
使用控制tabctrl游标将其循环到it_0001到wa_0001
tabctrl-current_line。
模块modiy_pbo_screen。
模块tc_lines。
ENDLOOP。
输入后处理。
在EXIT-COMMAND中退出模块。
在it_0001处循环播放。
模块Modify_tc_table。
ENDLOOP。
MODULE user_command_0100。
一周热门 更多>