表控件启用和禁用行

2020-08-23 14:20发布

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

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


嗨,

我想最初将表控件保持在禁用模式。

当用户按下添加按钮时,应单独启用已存在数据旁边的行以进行数据输入。

在PBO事件中,我能够禁用整个表控件。但是,当我找不到一种方法来识别第一个空白行以启用它进行数据输入时。

请帮助。

谢谢

环境

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

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


嗨,

我想最初将表控件保持在禁用模式。

当用户按下添加按钮时,应单独启用已存在数据旁边的行以进行数据输入。

在PBO事件中,我能够禁用整个表控件。但是,当我找不到一种方法来识别第一个空白行以启用它进行数据输入时。

请帮助。

谢谢

环境

付费偷看设置
发送
6条回答
骆驼绵羊
1楼 · 2020-08-23 14:37.采纳回答

每当用户按下添加按钮时,请将初始行添加到内部表中。 然后使用以下逻辑。

在PAI中

"添加"时。

在其后附加首行。

在PBO中

 通过控制TBCTRL将它放到WA中。
 模块禁用。
 结局。

 模块禁用。
 "检查它[]不是初始的。"限制第一次启动时首先启用TBCTRL行
 如果WA INITIAL。"
 环视屏幕。
 屏幕输入= 1。
 修改屏幕。
 结局。
 其他。  "它禁用
 环视屏幕。
 屏幕输入= 0。
 修改屏幕。
 结局。
 万一。
 
compass1988
2楼-- · 2020-08-23 14:39

嗨,

我解决了这个问题。

在PBO中,我使用屏幕上的循环来启用和禁用基于PAI中设置的标志的输入。

感谢所有答案。

谢谢

Ambily

宇峰Kouji
3楼-- · 2020-08-23 14:45

这是使特定字段可用于输入数据的一般方法。

我为文本字段创建了一个组,当单击该标签时,仅启用了相应的文本框gor输入。

环绕屏幕。

如果UCOMM ='APPEAR'并且SCREEN-GROUP1 ='groupname'。

SCREEN-ACTIVE =1。SCREEN-INPUT = 1。

修改屏幕。

ELSEIF UCOMM ='DISAPPEAR'和SCREEN-GROUP1 ='groupname'。

SCREEN-ACTIVE =0。SCREEN-INPUT = 0。

修改屏幕。

ENDIF。

ENDLOOP。

希望这可以满足您的需求。

Bunny_CDM
4楼-- · 2020-08-23 14:44

嗨,

这仅启用具有数据的行。

我的要求有些不同。

例如:我的表控件最初有3行。当用户按下添加按钮时,应仅启用第4行进行数据输入。

请帮助启用特定行。

谢谢

环境

编辑者:Ambily R,2010年9月16日下午5:28

樱桃小丸子0093
5楼-- · 2020-08-23 14:49

嗨,Ambily,

按照以下步骤

声明一个数据:w_flag类型c。 在全球

然后编写代码PBO

 输出之前进行处理。
 *模块屏幕GUI屏幕状态和屏幕逻辑
   MODULE status_ 。

 * OUTPUT的表控件
   LOOP AT <表控制>。
     模块Modify_screen。
   结局。


 模块Modify_screen输出。
 *表控件从输入屏幕读取值并在屏幕上显示
   读取表索引 -current_line。

  如果w_flag是初始的。
     环视屏幕。
       IF屏幕名称= 。
         屏幕输入= 0。
       万一。
       修改屏幕。
     结局。
   万一。
 温迪夫。
 终端模块。
 "接下来在PAI中将w_flag标记为'X'
 
 
 

Prabhudas

槿木_熙
6楼-- · 2020-08-23 14:58

您可以使用语句LOOP AT spfli_tab INTO spfli WITH CONTROL flight_tab来做到这一点。

示例:

在输出之前进行处理。
模块化prepare_tab。
将spfli_tab放到带有控制flight_tab的spfli中。

模块disable_row。 "您可以在屏幕上的语句循环和screen-input = 0的情况下,在模块disable_row中编写逻辑。

ENDLOOP。
输入后处理。
在spfli_tab上循环。
MODULE Modify_tab。
ENDLOOP。

一周热门 更多>

向帮助了您的网友说句感谢的话吧!