REPORT zusrak07.
TABLES: usr01, usr03, usr04, usr02, rfcdes,
usr05, usr10, usr11, usr12, usr13, ust10c, ust10s, ust12.
SELECT-OPTIONS: usrprof FOR usr11-profn.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN SKIP.
PARAMETERS: yes_auth RADIOBUTTON GROUP grp1,
no_auth RADIOBUTTON GROUP grp1.
DATA: counter TYPE i,
count_auth TYPE i,
coun TYPE i,
counttmp TYPE i,
proftmp LIKE usr12-auth,
authtmp LIKE usr12-auth,
auth LIKE usr12-auth OCCURS 10 WITH HEADER LINE.
DATA: BEGIN OF itab_profchk OCCURS 0,
profchk LIKE usr10-profn.
DATA: END OF itab_profchk.
SELECT * FROM usr11 WHERE profn IN usrprof.
MOVE usr11-profn TO itab_profchk-profchk.
APPEND itab_profchk.
ENDSELECT.
WRITE : / 'Legend :', '1st level profile'.
WRITE AT /10 '2nd level profile' COLOR 5.
WRITE AT /10 '3rd level profile' COLOR 4.
WRITE AT /10 '4th level profile' COLOR 3.
WRITE AT /10 'authorizations' COLOR 7.
SORT itab_profchk.
DELETE ADJACENT DUPLICATES FROM itab_profchk.
PERFORM profchk.
*---------------------------------------------------------------------*
* FORM PROFCHK *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM profchk.
LOOP AT itab_profchk.
SELECT SINGLE * FROM usr10 WHERE profn = itab_profchk.
SELECT SINGLE * FROM usr11 WHERE profn = itab_profchk.
ULINE.
WRITE:/ 'Root profile : ' COLOR 6.
WRITE:/ itab_profchk-profchk, usr11-ptext.
IF usr10-typ = 'C'.
counter = 0.
PERFORM recursive USING itab_profchk-profchk 5.
ENDIF.
IF NOT yes_auth IS INITIAL.
IF usr10-typ = 'S'.
SELECT * FROM ust10s WHERE profn = itab_profchk.
SELECT SINGLE * FROM usr13 WHERE auth = ust10s-auth.
WRITE AT /5 ust10s-auth COLOR 7.
counttmp = coun + 15.
WRITE AT 30 usr13-atext COLOR 7.
ENDSELECT.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. "profchk
*---------------------------------------------------------------------*
* FORM RECURSIVE *
*---------------------------------------------------------------------*
* --> PROFILE *
* --> COUNTERA *
*---------------------------------------------------------------------*
FORM recursive USING profile LIKE usr12-auth countera TYPE i.
counter = counter + countera.
SELECT * FROM ust10c WHERE profn = profile.
CASE counter.
WHEN 5.
WRITE AT /counter ust10c-subprof COLOR 5.
WHEN 10.
WRITE AT /counter ust10c-subprof COLOR 4.
WHEN 15.
WRITE AT /counter ust10c-subprof COLOR 3.
ENDCASE.
MOVE ust10c-subprof TO proftmp.
SELECT SINGLE * FROM usr10 WHERE profn = proftmp.
IF usr10-typ = 'C'.
PERFORM recursive USING proftmp 5.
ENDIF.
IF NOT yes_auth IS INITIAL.
IF usr10-typ = 'S'.
SELECT * FROM ust10s WHERE profn = proftmp.
SELECT SINGLE * FROM usr13 WHERE auth = ust10s-auth.
coun = counter + 5.
WRITE AT /coun ust10s-auth COLOR 7.
counttmp = coun + 15.
WRITE AT counttmp usr13-atext COLOR 7.
ENDSELECT.
coun = 0.
ENDIF.
ENDIF.
ENDSELECT.
counter = 5.
ENDFORM. "recursive
分享到:
相关推荐
BW 权限对象的创建是指在 BW 系统中创建权限相关信息对象,例如 0TCAACTVT、0TCAIPROV、0TCAVALID 等。这些权限字段可以控制用户可以查看的报表,并且可以使用 EQ、BT、CP 等操作符来控制权限字段的值。 五、后缀 ...
它主要由三部分组成:ReportViewer控件本身、报表数据源(如SQL Server数据库)和报表定义文件(RDL文件)。报表定义文件是用XML编写的,描述了报表的布局、样式、数据来源等信息。 配置ReportViewer的第一步是安装...
tsccpb.ini可能是PB的配置文件,rljt_report、rljt_user、rljt_right、rljt_pararm可能是数据库表对应的文件,用于存储用户、报告、权限和参数数据。Img文件夹可能包含系统使用的图像资源,而publibrary可能是一个...
例如,系统可能使用Spring Boot的自动配置特性,根据环境变量或配置文件自动设置数据库连接、日志记录和安全配置等。 报表系统通常具有以下功能: 1. 数据查询:允许用户根据预定义或自定义的条件查询数据,支持多...
- 动态修改配置文件虽然增加了灵活性,但也可能引入错误,如文件不存在、权限不足、格式错误等,因此需要进行充分的异常处理。 通过上述步骤,可以在BIRT报表的initialize函数中实现对properties文件的动态修改,...
1. **配置文件**:如struts.xml、spring-context.xml、hibernate.cfg.xml等,用于定义框架的配置和组件之间的依赖关系。 2. **Java源代码**:包括实体类(Entity)、DAO接口及其实现、Service接口及其实现、Action类...
- **单一角色(Single Role)**:这是指一系列特定事物码的集合,它包含了用于控制事物码操作的“权限对象”、“权限字段”以及允许的操作类型和值。单一角色是相对单一的功能单元,通过事物码PFCG进行维护。 - **...
5. Database:数据库脚本或配置文件,用于创建和初始化数据库结构,可能包括用户表、角色表和权限表。 论文部分可能详细阐述了系统的设计思路、技术选型、实现过程以及性能测试等方面,提供了系统的理论支撑和实践...
在Java代码中,你需要实例化水晶报表的API对象,如ReportDocument,然后加载.RPT文件。接着,可以通过设置参数,执行查询,并将结果集绑定到报表上。最后,你可以选择在控制台输出,或者使用Viewer控件在GUI中显示...
在实际应用中,动态生成RDLC报表不仅可以满足实时数据展示的需求,还可以根据用户权限和筛选条件动态调整报表内容,提高用户体验。同时,由于RDLC报表支持离线查看,它在离线应用或移动应用中也有广泛的应用。 总的...
文件如ProjectOther.cfg和investigate_total2.cfg可能是项目的配置文件,它们可能包含了系统设置、数据库连接信息或其他运行时参数。理解如何读取和解析这些配置文件,是保证系统正确运行的关键。 7. **源代码组织...
RDF(Report Definition File)文件是IFS报表开发的核心配置文件,用于定义报表的数据源、布局和样式等信息。创建或修改RDF文件是报表开发的第一步,具体操作包括: 1. **使用IFS/DESIGN工具**:启动此工具并生成...
总的来说,"C#写的报表程序.zip"可能包含了一系列用于创建、显示和管理报表的源代码、配置文件和资源。通过深入理解上述知识点,开发者可以有效地分析、维护和改进这个程序,以满足不断变化的业务需求。
- **安全性和权限**:配置服务器的安全性和权限设置,确保用户能够访问所需的资源。 #### 八、URL Reporting Using openDocument `openDocument`是一种特殊的命令,用于在水晶报表和其他BusinessObjects产品(如Web...
通过对基本报表设计的学习,我们不仅了解了报表的基本组成部分和配置选项,还掌握了如何使用Reporting Services来创建、设计和发布报表。这为后续更复杂报表的开发奠定了坚实的基础。无论是对于新手还是经验丰富的...
总结起来,这篇文章详细介绍了如何在.NET 2.0下使用Interop组件开发Excel报表,以及在IIS 6.0上发布时的权限配置。通过这种方式,开发者可以快速生成具有复杂格式的Excel报表,提高工作效率。对于初学者来说,理解这...
综上所述,用户组和用户管理在Access数据库中是通过结合用户账户、权限设置、VB编程以及安全配置文件(如`SYSTEM.MDW`)来实现的。这种机制提供了强大的数据保护和访问控制,确保了系统的稳定性和数据的安全性。通过...
标题和描述中提到的技术主题是使用.NET 2.0框架下的Interop组件开发Excel报表,并在IIS 6.0上发布应用程序时处理权限问题。这是一个关于.NET Web开发中生成自定义Excel报表的方法以及解决IIS服务器发布后可能出现的...
"使用手册"则是一个更全面的资源,它不仅涵盖了API的使用,还可能包含润乾报表的安装、配置、设计和部署等全方位的指导。使用手册会详述如何创建报表、设置数据源、应用样式和公式,以及如何利用API进行动态数据展现...