自开发程序动态权限设置按钮

新建数据元素:ZDLSSX 参考数据域:ZDLSSX

有了这个两个,就可以去定义权限字段了

SU21

新建权限对象:ZSD_RC_PL

新建:权限字段:ZAUTH001

这个时候要去域ZLSSX中,将所有用到的按钮名称,加入到域中,作为KEY

以上准备工作做完后,开始CODING.

在程序开头定义全局字段:

DATA:LS_OBJECT  TYPE XUOBJECT VALUE ‘ZSD_CR_PL‘,
     LS_FIELD   TYPE FIELDNAME VALUE ‘ZAUTH001‘,
     LS_DOMNAME TYPE DOMNAME VALUE ‘ZDLSSX‘.

在PBO中检查权限字段

MODULE STATUS_9000 OUTPUT.
   DATA:GT_CODE TYPE TABLE OF SY-UCOMM,
        GS_CODE LIKE LINE OF GT_CODE.
   REFRESH:GT_CODE.

PERFORM PRM_AUTHORIZ_CHECK TABLES GT_CODE.
   SET PF-STATUS ‘SD11_9000‘ EXCLUDING GT_CODE.

ENDMODULE.

FORM PRM_AUTHORIZ_CHECK  TABLES   P_LT_CODE STRUCTURE ZSDSAUTH.
  DATA:LT_DD07V TYPE TABLE OF DD07V,
       LS_DD07V TYPE          DD07V.
  CLEAR:LS_DD07V,LT_DD07V[].

SELECT * INTO CORRESPONDING FIELDS OF TABLE LT_DD07V
    FROM DD07V
    WHERE DOMNAME = LS_DOMNAME.

LOOP AT LT_DD07V INTO LS_DD07V.
    AUTHORITY-CHECK OBJECT LS_OBJECT ID LS_FIELD FIELD LS_DD07V-DOMVALUE_L.
    IF SY-SUBRC = 0.
    ELSE.
      APPEND LS_DD07V-DOMVALUE_L TO P_LT_CODE.
    ENDIF.
  ENDLOOP.

SORT P_LT_CODE BY UCOMM.

DELETE ADJACENT DUPLICATES FROM P_LT_CODE COMPARING UCOMM.
ENDFORM.                    " PRM_AUTHORIZ_CHECK

时间: 2024-10-22 20:55:31

自开发程序动态权限设置按钮的相关文章

【转】关于B/S架构应用程序的权限设置分析和总结

来自:http://www.cnblogs.com/zhouxunyu/p/3790122.html 分析:不同的用户登录到系统后赋予不同的操作权限,而用户存在于数据库中,标识用户权限的字段也保存在数据库中的用户表中. 问题:这个标识用户权限的字段从数据库中取出如何保存在运行的程序中. 方案一:建立用户类,将从用户表查询出来的信息封装到类里面,用户登录时实例化类获取权限字段. 分析:该解决方案可行,弊端则是:当系统部署发布后同时在线访问用户量很大时,每次实例化的用户类会很多,服务器负荷会很大.

关于B/S架构应用程序的权限设置分析和总结

分析:不同的用户登录到系统后赋予不同的操作权限,而用户存在于数据库中,标识用户权限的字段也保存在数据库中的用户表中. 问题:这个标识用户权限的字段从数据库中取出如何保存在运行的程序中. 方案一:建立用户类,将从用户表查询出来的信息封装到类里面,用户登录时实例化类获取权限字段. 分析:该解决方案可行,弊端则是:当系统部署发布后同时在线访问用户量很大时,每次实例化的用户类会很多,服务器负荷会很大. 如果这个解决方案应用于C/S架构,我个人认为是最方便也是最好的. 方案二:将从用户表中查询出来的信息,

程序日志-应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-18)授予针对 CLSID 为 {D63B10C5-BB46-4990-A94F-E40B9D520

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-18)授予针对 CLSID 为 {D63B10C5-BB46-4990-A94F-E40B9D520160}.APPID 为 {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} 的 COM 服务器应用程序的 本地 激活 权限.此安全权限可以使用组件服务管理工具进行修改. 根据

【共享单车】—— React后台管理系统开发手记:权限设置和菜单调整(未完)

前言:以下内容基于React全家桶+AntD实战课程的学习实践过程记录.最终成果github地址:https://github.com/66Web/react-antd-manager,欢迎star. 一.创建角色 权限菜单设计:RBAC权限模型(详解链接) RBAC,即基于角色的访问控制(Role-Based Access Control),是优秀的权限控制模型 主要通过角色和权限建立管理,再赋予用户不同的角色,来实现权限控制的目标 角色列表展示:对应Easy Mock数据接口/role/li

Windows应用程序运行权限设置

在Vista以后的windows版本中,有些时候需要提升编译后生成程序的权限,即希望让生成的程序以管理员身份运行.虽然在一般情况下,可以使用鼠标右键选择的方式来强行以管理员身份运行,但它并没有屏蔽普通运行方式,而且普通人通常也不会使用右键选择以管理员身份运行,所以必须在生成程序时就限定程序只能以管理员方式来运行. 先简单说一下,在Vista以后的windows版本中,微软引入了UAC机制,它的目的是防止程序对操作系统本身进行恶意篡改.要让程序以管理员身份运行,就需要在程序中引入UAC标注,也即让

权限设置并未向在应用程序容器 不可用

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\LOCAL SERVICE SID (S-1-5-19)授予针对 CLSID 为 {6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}.APPID 为 {4839DDB7-58C2-48F5-8283-E1D1807D0D7D}          ShellServiceHost 的 COM 服务器应用程序的 本

微信小程序开发——连续快速点击按钮调用小程序api返回后仍然自动重新调用的异常处理

前言: 小程序开发中诸如获取用户手机号码.调起微信支付.领取卡券等api都是会有一定的延迟的.也就是说通过点击按钮调用这些api的时候,从点击按钮调用api,到支付页面或者领取卡券界面展示出来是需要一定时间的,连续点击按钮,还是有可能会重复调用的. 虽然这种情况有点极端,正常用户是不会这么连续快速的点击按钮的,但是也不能排除有用户手抖,连续点了两下.如果重复调用的话,不仅体验不好,单击事件中涉及到后端接口操作的也可能引起其他异常.所以这个问题还是要处理下的. 刚开始想到的是使用loading开启

C#开发技巧之2—设置程序代码行号

大家在初学C#的时候有没有这样的想法呢——设置行号来方便自己找到错误代码的位置.现在一客为大家带来福利了哦,O(∩_∩)O~ 1. 实例说明: 在“环境”设置的“文本编辑器”项中,我们可以设置后台代码的行号显示功能. 2. 设置步骤: (1)打开Visual Studio 2008开发环境,在菜单栏中选择工具—> 选项,弹出如图1所示对话框: 图1 选项对话框 (2)选择“文本编辑器“节点下的”所有语言“选项,并在右侧选中”行号”复选框,最后点击确定.如图2: 图2 C#开发技巧之2-设置程序代

iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态

iOS 11开发教程(二十)iOS11应用视图美化按钮之设置按钮的状态 在示例2-2中,设置按钮的标题和颜色时,需要对按钮的状态进行设置,表示按钮在某一状态下的标题和标题颜色是什么样子.例如,UIControlState.normal就表示按钮的一种状态.对于像按钮的这类视图,即可以接受用户输入的视图也被称为控件.这些控件都有自己的状态.表2-2就为开发者详细介绍了控件的状态. 表2-2  控件的状态   原文地址:https://www.cnblogs.com/daxueba-ITdaren/