使用事件使表中的字段不可编辑

2020-09-03 15:38发布

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

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


嗨,

我有一个包含约10个字段的自定义表。当分配给特定角色的用户访问该表的维护视图以编辑内容时,应只允许他们更改3个字段的内容

可以使用表事件来完成此限制,而无需更改屏幕画图器中的属性以及在PBO中进行编码以修改屏幕吗? 。 一旦在表中添加了新字段并重新生成了服务界面,PBO中所做的更改将丢失,因此请查看是否有其他替代方法。

任何提示都会有所帮助。

谢谢

卡维莎

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

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


嗨,

我有一个包含约10个字段的自定义表。当分配给特定角色的用户访问该表的维护视图以编辑内容时,应只允许他们更改3个字段的内容

可以使用表事件来完成此限制,而无需更改屏幕画图器中的属性以及在PBO中进行编码以修改屏幕吗? 。 一旦在表中添加了新字段并重新生成了服务界面,PBO中所做的更改将丢失,因此请查看是否有其他替代方法。

任何提示都会有所帮助。

谢谢

卡维莎

付费偷看设置
发送
6条回答
槿木_熙
1楼 · 2020-09-03 16:15.采纳回答

Kavitha,

我猜一个选择是在事件19中修改表x_namtab(在初始化全局变量,字段符号等之后)

LOOP AT x_namtab。

*如果条件匹配。

x_namtab-readonly ='R'。 "将字段设置为只读。

修改x_namtab。

* endif。

ENDLOOP。

希望这会有所帮助,

谢谢

VM。



灬番茄
2楼-- · 2020-09-03 16:23

嗨,

在事件中我可以使用x_namtab来做到这一点。 谢谢 Venkat Muthyala

提示

感谢Kavitha

jovirus
3楼-- · 2020-09-03 16:16

嗨Kavitha,

您可以通过使用表维护生成器中的事件来完成此操作。

尝试让我知道是否需要任何帮助。

愤怒的猪头君
4楼-- · 2020-09-03 16:13

您好,

表维护事件

该值 在维护屏幕上显示的任何字段也可以根据要求进行更改,例如对于表中的每个新条目,该字段之一应具有自动显示的恒定值。 为此,需要选择执行操作的事件。 在这种情况下,事件" 05正在创建新条目"。

表维护中可用的事件列表

01在将数据保存到数据库中之前

02之后 将数据保存到数据库中

03删除显示的数据之前

04删除显示的数据之后

05创建新条目

06完全执行"获取原件"功能后

07校正所选字段的内容之前

08校正所选字段的内容之后

09获取条目的原始文件后

10创建了更改任务的标题条目(E071)之后

11更改了更改任务的键条目之后(E071K)

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内部 仅使用

SAP砖家
5楼-- · 2020-09-03 16:16

嗨,Kavitha,

请遵循最简单的方法

打开表维护屏幕时,该屏幕与任何"模块池程序"中的屏幕相同,

然后导航到"属性"选项卡旁边的元素列表选项卡,然后选中带有标题文本的复选框(仅输出),您的方法将得到满足。

请在您的末尾也进行验证,如果需要我的进一步输入,请告知我。

BR/谢谢

Pranav Agrawal

Climb_Ma
6楼-- · 2020-09-03 16:28

Hi

使用TMG可以将字段定义为不可编辑
  • 维护屏幕
  • 事件

使用维护屏幕来操作字段可能很容易,但是众所周知,TMG的每次重新生成都会导致维护屏幕的设置被删除,实现所有设置的效率很低,因此请使用事件。

案例方案
在使字段不可编辑之前

要使用事件使字段不可编辑要遵循的步骤

  1. 创建事件19
  2. 提供不可编辑的字段,并编写以下代码
  3. 了解已选择的字段在表x_namtab中是只读的(尝试调试x_namtab表以了解更多信息,以便可以理解x_namtab包含的所有其他列)
    供参考,我对此有屏幕截图 。

  4. 转到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。

 

一周热门 更多>