理论教育 如何在ABAP程序中使用授权对象进行授权检查?

如何在ABAP程序中使用授权对象进行授权检查?

时间:2023-06-12 理论教育 版权反馈
【摘要】:授权对象由一组字段组成,这些字段中的值将被用于进行授权检查。ABAP程序中使用AUTHORITY-CHECK语句根据授权对象进行授权检查。一个授权对象中最多可以定义10个字段。开发人员可以使用GuiXT脚本语言通过事务变式维护对屏幕进行修改。2)到达指定时间后,后台处理系统将启动作业并运行指定的程序。

如何在ABAP程序中使用授权对象进行授权检查?

1.简述SAP系统中程序事件和系统事件。

■程序事件需要调用Dispatch,由系统工程师决定这个事件在什么时间响应,而系统事件不需要调用Dispatch,什么时候响应系统事件由系统决定(自动调用Dispatch)。

■程序事件在PAI时,可以访问屏幕上面的值,而系统事件不能。系统会重写屏幕上的值。

■程序事件在用户误操作的情况下可能丢失。

2.如何建立一个外部数据库的连接?

事务代码DBCO或者维护表DBCON。

3.SAP包括哪些传输技术?

■SAP标准数据传输程序,包括批输入、调用事物、直接输入等数据传输技术。

■通过BAPI和IDoc传输数据。

■自定义数据传输程序。

4.如何将内表数据转换成一个XML文件?

可以使用普通的方法(SAP提供的一些生成XML类IF_IXML,IF_IXML_ENCODING,IF_IXML_COMMENT,IF_IXML_ELEMENT,IF_IXML_ATTRIBUTE,IF_IXML_OSTREAM,等)通过事务代码STRANS来创建一个Transformation,在这里定义好XML的格式、内容等,然后通过CALL TRANSFORMATION xxx OPTIONS xml_header='no'SOURCE root=itab header=header RESULT XML xml_string来将内表数据转换为XML文件。注意这个内表不能使用带表头的内表。

5.怎么导出一个WSDL文件?

根据SAP版本不同,分别使用SOAMANAGER(基于NETWEAVER)/WSADMIN和WSCONFIG(Release Web Services(基于R3的)for SOAP Runtime)导出WSDL文件。

6.怎么导入一个WSDL文件?

在SE80里面导入该WSDL文件,导入后,会生成相应的Proxy Name(Class Interface),在这个类(Class)里面就会包含该WSDL文件提供的方法。然后根据需要,在SM59创建一个远程连接,在LPCONFIG里面创建逻辑端口(指定端口的目的地)。最后在接口程序里面使用相应的类。

7.创建后台程序的TCODE是什么,如何在程序里面调用后台程序?

■TCODE:SM36。

■调用程序的函数:JOB_OPEN和JOB_CLOSE。

8.什么是授权对象?在ABAP程序中使用哪条语句进行授权检查?

授权对象由一组字段组成,这些字段中的值将被用于进行授权检查。ABAP程序中使用AUTHORITY-CHECK语句根据授权对象进行授权检查。在AUTHORITY-CHECK语句中,必须指明授权对象的所有字段,但有一个例外,可以用DUMMY关键字来绕过某个字段的检查。

一个授权对象中最多可以定义10个字段。

9.在SAP系统中是怎样定义“修改”的?它们对更新(Upgrade)有怎样的影响?

修改是指用户对SAP发布的库对象(Repository Object)进行的更改。必须在更新期间对修改进行评审(Review),来决定是否应该使用新的SAP对象,以及将来使用时是否需要进一步修改该对象。

10.什么是事务变式?为何要使用它?

事务变式是一组屏幕变式,用于预定义屏幕行为和默认值。通过使用变式功能,可以将用户不需要的字段、子屏幕及全屏幕从用户视图中取消。可以给任何输入字段设置默认值,字段也可以不用带Ready for Input状态。

只能为对话和报表事务创建事务变式,变式中只能包含普通屏幕、子屏幕及对话屏幕。

开发人员可以使用GuiXT脚本语言通过事务变式维护对屏幕进行修改。修改屏幕布局的方式有:插入按钮、值帮助(Value Helps)、移动对象、插入屏幕等。

11.请列出用户修改SAP标准功能的不同方式。

SAP Standard可以通过Personalization、Customizing、Modifications、Enhancements及自定义ABAP程序进行更改。这些方式的示例如下:

■Personalization:Personalization技术包含创建变式、设置/获取参数及活动组(Activity Groups)。

■Customizing:是最常用的使用SAP工具(如R/3 Reference Model and Implementation Guide)更改SAP Standard的方式。可以认为Customizing是实施R/3所必需的,通常由Functional Team来执行。

■Enhancements:常由开发Team执行,包含的活动有:字典增强、Funciton Module Exits、菜单和屏幕出口及Business Add-ins(BADI)。

■自定义ABAP程序:可以与SAP对象或自定义开发的对象一起工作。

■Modifications:不建议对SAP对象使用Modifications。使用SSCR(SAP Software Change Registration)注册所有对SAP对象的手动修改。

12.是否使用过QUERY,说明过程。用到哪些TCODE?(www.daowen.com)

■建SAP QUERY的过程主要有三步:

●创建用户组。

●创建信息集。

●创建SAP QUERY。

■与这三步对应的事务代码分别是:

●SQ01:SAP QUERY。

●SQ02:InfoSet。

●SQ03:UserGroup。

13.简述在SAP中如何进行Job管理?

(1)后台处理中,R/3可以自动运行一个类型的报表程序(自定义屏幕除外)或外部程序。

(2)后台处理步骤:

1)用户通过规划后台处理系统中的作业,通知R/3系统所需要进行的工作。设定事件、程序、变式、打印等。

2)到达指定时间后,后台处理系统将启动作业并运行指定的程序。

3)稍后,用户可以检查工作是否完成,显示跟踪该作业执行的日志,查看后台作业的状态。

(3)优点:

1)实现并行,不影响用户操作。

2)可定期自动重复作业,节省人力。

3)晚上执行可降低系统负载。

(4)在ABAP中提交作业,将列表发送至Spool(假脱机)系统。

1)通过功能模块JOB_SUBMIT将程序直接发送至后台。

2)使用SUBMIT语句中的VIA JOB附加项,WITH附加项则可以提交选择屏幕参数或USING SELECTION-SET可指定变式,同时,必须指定AND RETURN选项。

(5)已经规划的作业在释放之前不能运行。

(6)显示作业状态:SM37。

14.如果发现报表性能问题,应如何去处理?

首先要检查代码,检查代码是不是有误,看看能不能进行常做的代码优化,查找耗费资源的原因。

如果是数据太多,可以增加筛选数据的条件,如在画面上增加查询条件。利用事务SE30定位错误,有一个运行分析图示,找到瓶颈,确认是数据库操作还是代码运行的问题。如果是代码运行的时间较长,把标准内表类型改成Sorted或者Hash的内表。

15.定义函数所涉及的属性、参数及其作用。

事务SE37定义功能组添加函数时涉及参数如下:

■Attribute:设定功能模块类型、名称等通用属性。

■Import:定义输入参数,从程序传递到功能模块。

■Export:定义输出参数,从功能模块传递到程序中的参数。

■Tables:定义内表参数,将内表整体输入、输出。

■Exceptions:定义可能出现的异常。

■Changing:定义输入、输出参数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈