2020-08-19 05:48发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
Hello Freinds,
我正在处理权限检查对象,在某些程序中有"动态选择"屏幕,因此如何在动态选择屏幕中查找字段。
请指导我.........
谢谢
阿玛尔
嗨Amar,
根据您的要求,只需在选择屏幕输出事件中添加所需的字段即可。 您可以通过修改屏幕内部表格来修改选择屏幕。
以无帧间隔的b1块开始选择屏幕。
参数:s1单选按钮组g1用户命令u1默认为'X',
p_name(10)修改ID M1,
p_email(20)修改ID M1,
s2单选按钮组G1。
参数:p_name1(10)MODIF ID M2,
p_fax(10)修改ID M2。
b1块的选择屏幕结尾。
在选择屏幕输出上。
如果S_BOX ='X'。
环视屏幕。
如果SCREEN-GROUP1 ='M3'。
SCREEN-ACTIVE ='0'。
修改屏幕。
ELSE。
SCREEN-ACTIVE ='1'。
ENDIF。
ENDLOOP。
如果S1 ='X'。
如果SCREEN-GROUP1 ='M2'。
ELSEIF SCREEN-GROUP1 ='M1'。
ELSEIF S2 ='X'。
如果SCREEN-GROUP1 ='M1'。
ELSEIF SCREEN-GROUP1 ='M2'。
此致
Ranveer。
没关系,
但是在我的程序中,动态选择屏幕已经使用过,例如。 公司代码由动态选择屏幕定义,因此该字段未在program中定义。现在,我必须对公司 因此,如何申请以及如何获得该公司代码字段。
Tushar
hiii
转到此链接
saptechnical.com
教程
abap
动力学屏幕
演示
http://www.saptechnical.com/Tutorials /ABAP/DynamicSScreen/demo.htm
编辑者:pardeep kumar,2008年8月11日下午12:14
嗨,阿马尔,
公司代码必须在程序中声明。
因为程序将不接受未经声明的公司代码。
如果确定它在动态选择屏幕中,则只需在程序中搜索所有参数/选择选项。
然后进行权限检查。
PRem
报告ZSELECTION。
*选择屏幕字段
表格:sscrfields,MARA。
*全球声明
*********** SELECTION-SCREENS **********************
带有框架的块blk1的选择屏幕开始。
*用于模块的动态显示
参数:MATNR RADIOBUTTON GROUP rad用户命令com默认为'X',ERSDA RADIOBUTTON GROUP rad,
MTART RADIOBUTTON GROUP拉德。
blk1的选择屏幕结束。
选择屏幕跳过。
选择屏幕评论2(6)text_001。
参数:MATNR TYPE MARA-MATNR MODID ID mod。
参数:ERSDA类型MARA-ERSDA修改ID rad。
参数:MTART类型MARA-MTART修改ID cad。
在选择屏幕输出处。
*单击第一个无线电按钮
如果MATNR ='X'。
*基于所选无线电获得动力的代码
如果screen-group1 ='MOD'。
屏幕增强='1'。
屏幕激活=1。
screen-display_3d ='1'。
如果screen-group1 ='RAD'。
屏幕增强='0'。
屏幕激活= 0。
screen-display_3d ='0'。
如果screen-group1 ='CAD'。
屏幕激活=0。
*第二广播的点击
如果ERSDA ='X'。
*单击第三电台
如果MTART ='X'。
最多设置5个标签!
嗨Amar,
根据您的要求,只需在选择屏幕输出事件中添加所需的字段即可。 您可以通过修改屏幕内部表格来修改选择屏幕。
以无帧间隔的b1块开始选择屏幕。
参数:s1单选按钮组g1用户命令u1默认为'X',
p_name(10)修改ID M1,
p_email(20)修改ID M1,
s2单选按钮组G1。
参数:p_name1(10)MODIF ID M2,
p_fax(10)修改ID M2。
b1块的选择屏幕结尾。
在选择屏幕输出上。
如果S_BOX ='X'。
环视屏幕。
如果SCREEN-GROUP1 ='M3'。
SCREEN-ACTIVE ='0'。
修改屏幕。
ELSE。
SCREEN-ACTIVE ='1'。
修改屏幕。
ENDIF。
ENDLOOP。
ENDIF。
如果S1 ='X'。
环视屏幕。
如果SCREEN-GROUP1 ='M2'。
SCREEN-ACTIVE ='0'。
修改屏幕。
ELSEIF SCREEN-GROUP1 ='M1'。
SCREEN-ACTIVE ='1'。
修改屏幕。
ENDIF。
ENDLOOP。
ELSEIF S2 ='X'。
环视屏幕。
如果SCREEN-GROUP1 ='M1'。
SCREEN-ACTIVE ='0'。
修改屏幕。
ELSEIF SCREEN-GROUP1 ='M2'。
SCREEN-ACTIVE ='1'。
修改屏幕。
ENDIF。
ENDLOOP。
ENDIF。
此致
Ranveer。
没关系,
但是在我的程序中,动态选择屏幕已经使用过,例如。 公司代码由动态选择屏幕定义,因此该字段未在program中定义。现在,我必须对公司 因此,如何申请以及如何获得该公司代码字段。
谢谢
Tushar
hiii
转到此链接
saptechnical.com
教程
abap
动力学屏幕
演示
http://www.saptechnical.com/Tutorials /ABAP/DynamicSScreen/demo.htm
编辑者:pardeep kumar,2008年8月11日下午12:14
嗨,阿马尔,
公司代码必须在程序中声明。
因为程序将不接受未经声明的公司代码。
如果确定它在动态选择屏幕中,则只需在程序中搜索所有参数/选择选项。
然后进行权限检查。
此致
PRem
报告ZSELECTION。
*选择屏幕字段
表格:sscrfields,MARA。
*全球声明
*********** SELECTION-SCREENS **********************
带有框架的块blk1的选择屏幕开始。
*用于模块的动态显示
参数:MATNR RADIOBUTTON GROUP rad用户命令com默认为'X',ERSDA RADIOBUTTON GROUP rad,
MTART RADIOBUTTON GROUP拉德。
blk1的选择屏幕结束。
选择屏幕跳过。
选择屏幕评论2(6)text_001。
参数:MATNR TYPE MARA-MATNR MODID ID mod。
参数:ERSDA类型MARA-ERSDA修改ID rad。
参数:MTART类型MARA-MTART修改ID cad。
在选择屏幕输出处。
*单击第一个无线电按钮
如果MATNR ='X'。
*基于所选无线电获得动力的代码
环视屏幕。
如果screen-group1 ='MOD'。
屏幕增强='1'。
屏幕激活=1。
screen-display_3d ='1'。
修改屏幕。
ENDIF。
如果screen-group1 ='RAD'。
屏幕增强='0'。
屏幕激活= 0。
screen-display_3d ='0'。
修改屏幕。
ENDIF。
如果screen-group1 ='CAD'。
屏幕增强='0'。
屏幕激活=0。
screen-display_3d ='0'。
修改屏幕。
ENDIF。
ENDLOOP。
ENDIF。
*第二广播的点击
如果ERSDA ='X'。
环视屏幕。
如果screen-group1 ='RAD'。
屏幕增强='1'。
屏幕激活=1。
screen-display_3d ='1'。
修改屏幕。
ENDIF。
如果screen-group1 ='MOD'。
屏幕增强='0'。
屏幕激活=0。
screen-display_3d ='0'。
修改屏幕。
ENDIF。
如果screen-group1 ='CAD'。
屏幕增强='0'。
屏幕激活=0。
screen-display_3d ='0'。
修改屏幕。
ENDIF。
ENDLOOP。
ENDIF。
*单击第三电台
如果MTART ='X'。
环视屏幕。
如果screen-group1 ='RAD'。
屏幕增强='0'。
屏幕激活=0。
screen-display_3d ='0'。
修改屏幕。
ENDIF。
如果screen-group1 ='MOD'。
屏幕增强='0'。
屏幕激活=0。
screen-display_3d ='0'。
修改屏幕。
ENDIF。
如果screen-group1 ='CAD'。
屏幕增强='1'。
屏幕激活=1。
screen-display_3d ='1'。
修改屏幕。
ENDIF。
ENDLOOP。
ENDIF。
一周热门 更多>