sap系统中,我想把系统的某界面中的某个按钮变灰,使该按钮的功能不能正常使用。请高手不吝赐教
展开全部
这里我想问一下,你所说的界面是SAP标准的,还是在标准屏幕上用子屏幕增强的,再或者是完全自开发的屏幕
如果是SAP标准的话,一般情况下是没有权限修改的(一般的开发人员是绝对没权限的)
如果是通过增强子屏幕或者自开发的屏幕,那实现起来其实很简单,这里说一下原理(以你本人有权限修改代码为前提):
让一个按钮不起作用,最简单的方法就是点击屏幕的Layout,在屏幕编辑界面中把你想让它失效的按钮的FctCode中的功能码删掉(然后激活即可),这样点击该按钮时,就不会触发PAI事件,它的功能就不起作用了
如果你非要将这个按钮变成灰色,会麻烦一点,首先,打开该按钮的属性(Attribute),在Groups后的第一个输入框中输入GR1,然后激活,退出屏幕编辑,去修改代码,双击该屏幕号,点开Flow Logic(逻辑流),看PROCESS BEFORE OUTPUT.下是否有Module,如果有的话,在该Module的代码中添加如下代码并激活程序
LOOP AT SCREEN.
IF screen-group1 = 'GR1'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
如果没有Module,就新建一个,然后在Module中添加上面的代码,激活程序
希望对你有用
如果是SAP标准的话,一般情况下是没有权限修改的(一般的开发人员是绝对没权限的)
如果是通过增强子屏幕或者自开发的屏幕,那实现起来其实很简单,这里说一下原理(以你本人有权限修改代码为前提):
让一个按钮不起作用,最简单的方法就是点击屏幕的Layout,在屏幕编辑界面中把你想让它失效的按钮的FctCode中的功能码删掉(然后激活即可),这样点击该按钮时,就不会触发PAI事件,它的功能就不起作用了
如果你非要将这个按钮变成灰色,会麻烦一点,首先,打开该按钮的属性(Attribute),在Groups后的第一个输入框中输入GR1,然后激活,退出屏幕编辑,去修改代码,双击该屏幕号,点开Flow Logic(逻辑流),看PROCESS BEFORE OUTPUT.下是否有Module,如果有的话,在该Module的代码中添加如下代码并激活程序
LOOP AT SCREEN.
IF screen-group1 = 'GR1'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
如果没有Module,就新建一个,然后在Module中添加上面的代码,激活程序
希望对你有用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询