2020-09-03 15:38发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我有一个包含约10个字段的自定义表。当分配给特定角色的用户访问该表的维护视图以编辑内容时,应只允许他们更改3个字段的内容。
可以使用表事件来完成此限制,而无需更改屏幕画图器中的属性以及在PBO中进行编码以修改屏幕吗? 。 一旦在表中添加了新字段并重新生成了服务界面,PBO中所做的更改将丢失,因此请查看是否有其他替代方法。
任何提示都会有所帮助。
谢谢
卡维莎
Kavitha,
我猜一个选择是在事件19中修改表x_namtab(在初始化全局变量,字段符号等之后)
LOOP AT x_namtab。
*如果条件匹配。
x_namtab-readonly ='R'。 "将字段设置为只读。
修改x_namtab。
* endif。
ENDLOOP。
希望这会有所帮助,
VM。
在事件中我可以使用x_namtab来做到这一点。 谢谢 Venkat Muthyala
提示
感谢Kavitha
嗨Kavitha,
您可以通过使用表维护生成器中的事件来完成此操作。
尝试让我知道是否需要任何帮助。
您好,
表维护事件
该值 在维护屏幕上显示的任何字段也可以根据要求进行更改,例如对于表中的每个新条目,该字段之一应具有自动显示的恒定值。 为此,需要选择执行操作的事件。 在这种情况下,事件" 05正在创建新条目"。
表维护中可用的事件列表
01在将数据保存到数据库中之前
02之后 将数据保存到数据库中
03删除显示的数据之前
04删除显示的数据之后
05创建新条目
06完全执行"获取原件"功能后
07校正所选字段的内容之前
08校正所选字段的内容之后
09获取条目的原始文件后
10创建了更改任务的标题条目(E071)之后
11更改了更改任务的键条目之后(E071K) p>
12更改更改任务的键条目(E071K)后
13退出编辑(退出主功能模块)
14在锁定/解锁主功能后 模块
15检索del之前 条目
16检索已删除的条目之后
17不要使用。 打印前:事件26
18检查数据是否已更改
19在初始化全局变量,字段符号等之后
20在输入日期后 子屏幕("时间"选项卡。/views)
21填充隐藏字段
22转到其他语言的长文本维护
23致电地址之前 维护屏幕
24限制输入后(时延选项卡/视图)
25各个授权检查
26创建列表之前
27创建或复制GUID(不是关键字段)后
28输入时间限制的日期限制后。 视图
AA代替标准数据读取例程
AB代替标准数据库更改例程
AC代替标准"获取原始"例程
AD代替标准的RO字段读取例程
AE代替标准的位置编码
AF代替读取其他语言的文本
AG
AH代替其他语言的文本的'Get Original'代替
ST GUI菜单主程序名称
AI内部 仅使用
嗨,Kavitha,
请遵循最简单的方法
打开表维护屏幕时,该屏幕与任何"模块池程序"中的屏幕相同,
然后导航到"属性"选项卡旁边的元素列表选项卡,然后选中带有标题文本的复选框(仅输出),您的方法将得到满足。
请在您的末尾也进行验证,如果需要我的进一步输入,请告知我。
BR/谢谢
Pranav Agrawal
Hi
使用维护屏幕来操作字段可能很容易,但是众所周知,TMG的每次重新生成都会导致维护屏幕的设置被删除,实现所有设置的效率很低,因此请使用事件。 案例方案在使字段不可编辑之前
要使用事件使字段不可编辑要遵循的步骤
转到SM30->维护->新条目->您将获得所需的格式(如果要调试,请执行以下步骤,然后转到SM30
情况使字段不可编辑后
SPAN { 字体家族:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S31 { 字体样式:斜体; 颜色:#808080; } .L0S33 { 颜色:#4DA619; } .L0S52 { 颜色:#0000FF; } .L0S55 { 颜色:#800080; } .L0S70 { 颜色:#808080; } 跨度 { 字体家族:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S52 { 颜色:#0000FF; } .L0S55 { 颜色:#800080; } 跨度 { 字体家族:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S52 { 颜色:#0000FF; } .L0S55 { 颜色:#800080; } 表格znon_edit。 循环到x_namtab。 案例x_namtab-viewfield。 当" RE_BDRE_ID"时。 x_namtab-readonly ='R'。 将字段设置为只读。 修改x_namtab。 " LAST_UPDATE_DATE"时。 x_namtab-readonly ='R'。 将字段设置为只读。 修改x_namtab。 跨度 { 字体家族:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S52 { 颜色:#0000FF; } .L0S55 { 颜色:#800080; } 结束。 结局。 ENDFORM。
最多设置5个标签!
Kavitha,
我猜一个选择是在事件19中修改表x_namtab(在初始化全局变量,字段符号等之后)
LOOP AT x_namtab。
*如果条件匹配。
x_namtab-readonly ='R'。 "将字段设置为只读。
修改x_namtab。
* endif。
ENDLOOP。
希望这会有所帮助,
谢谢
VM。
嗨,
在事件中我可以使用x_namtab来做到这一点。 谢谢 Venkat Muthyala
提示
感谢Kavitha
嗨Kavitha,
您可以通过使用表维护生成器中的事件来完成此操作。
尝试让我知道是否需要任何帮助。
您好,
表维护事件
该值 在维护屏幕上显示的任何字段也可以根据要求进行更改,例如对于表中的每个新条目,该字段之一应具有自动显示的恒定值。 为此,需要选择执行操作的事件。 在这种情况下,事件" 05正在创建新条目"。
表维护中可用的事件列表
01在将数据保存到数据库中之前
02之后 将数据保存到数据库中
03删除显示的数据之前
04删除显示的数据之后
05创建新条目
06完全执行"获取原件"功能后
07校正所选字段的内容之前
08校正所选字段的内容之后
09获取条目的原始文件后
10创建了更改任务的标题条目(E071)之后
11更改了更改任务的键条目之后(E071K) p>
12更改更改任务的键条目(E071K)后
13退出编辑(退出主功能模块)
14在锁定/解锁主功能后 模块
15检索del之前 条目
16检索已删除的条目之后
17不要使用。 打印前:事件26
18检查数据是否已更改
19在初始化全局变量,字段符号等之后
20在输入日期后 子屏幕("时间"选项卡。/views)
21填充隐藏字段
22转到其他语言的长文本维护
23致电地址之前 维护屏幕
24限制输入后(时延选项卡/视图)
25各个授权检查
26创建列表之前
27创建或复制GUID(不是关键字段)后
28输入时间限制的日期限制后。 视图
AA代替标准数据读取例程
AB代替标准数据库更改例程
AC代替标准"获取原始"例程
p>AD代替标准的RO字段读取例程
AE代替标准的位置编码
AF代替读取其他语言的文本
AG
AH代替其他语言的文本的'Get Original'代替
ST GUI菜单主程序名称
AI内部 仅使用
嗨,Kavitha,
请遵循最简单的方法
打开表维护屏幕时,该屏幕与任何"模块池程序"中的屏幕相同,
然后导航到"属性"选项卡旁边的元素列表选项卡,然后选中带有标题文本的复选框(仅输出),您的方法将得到满足。
请在您的末尾也进行验证,如果需要我的进一步输入,请告知我。
BR/谢谢
Pranav Agrawal
Hi
使用TMG可以将字段定义为不可编辑使用维护屏幕来操作字段可能很容易,但是众所周知,TMG的每次重新生成都会导致维护屏幕的设置被删除,实现所有设置的效率很低,因此请使用事件。
案例方案
在使字段不可编辑之前
要使用事件使字段不可编辑要遵循的步骤
供参考,我对此有屏幕截图 。
转到SM30->维护->新条目->您将获得所需的格式(如果要调试,请执行以下步骤,然后转到SM30
情况
使字段不可编辑后
一周热门 更多>