FavoriteLoading
0

ABAP面试问题汇总(二)

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

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

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

Q2.向 SAP 表中添加字段的方法是哪两种?

答案:这两种方法是:Append 结构(Append Structure)和自定义 Include(Customizing Include)。Append 结构是在向表尾添加字段时创建的,自定义 Include 由 SAP 开发人员指定,以使用户可以创建新字段。

Q3.请列出用户修改 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、菜单和屏幕出口及 BusineAdd-ins (BADI)。

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

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

Q4. 在字典中创建一个表的步骤是什么?

1、创建域(数据类型、字段长度、范围)

2、创建数据元素(为一个表字段的定义属性和类型)

3、创建表(se11)

What is the step by step proceto create a table in data dictionary?

step 1: creating domains(data type, field length, range).

step 2: creating data elements(properties and type for a table field).

step 3: creating tables(SE11).

域、数据元素、表的区别:

域:描述一个字段类型,长度等信息。

元素:描述一个字段的用途等信息。

表:使用哪些数据元素。

Q5. How many types of tables exists and what are they in data dictionary?

There are 4 types of tables

i)Transparent tables透明表 - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields. Both Opensql and Nativesql can be used. ii)Pool tables(存储表)&

iii)Cluster tables(簇表) - These are logical tables that are arranged as records of transparent tables. one cannot use native sql on these tables (only open sql).They are not managable directly using database system tools.

iv)Internal tables

Q6. 很多表当中都有一个字段,叫做MANDT, 为第一个主键,这个字段的用处是.(B)

A)区分后台数据库的类型

B)区分表中记录属于哪个客户端(client)

C)区分表的数据量大小

D)SAP系统保留字段

Q7. 屏幕编程中一个屏幕所使用的工具栏应如何设计. (a )

A) 先设计一个Gui Status,再在程序中绑定

B) 先设计一个Gui Titles,再在程序中绑定

C) 在程序中用Add button 语法添加

D)在屏幕设计格式的界面上添加工具栏及其按钮

Q8.对于表格控件和内表的绑定的做法,下面哪种说法是正确的. (a)

A)PBO时同步循环内表和表格控件把内表的值写入表格控件,PAI时用同样的循环把表格控件的值写回内表

B)PBO时同步循环内表和表格控件把表格控件的值写入内表,PAI时用同样的循环把内表的值写回表格控件

C)在定义内表时定义与之绑定的表格控件,PBO和PAI事件要各循环内表一次

D)在制作表格控件时定义与之绑定的内表,PBO和PAI事件要各循环表格控件一次

Q9、事务程序开发时,在屏幕的逻辑流中,使用哪个事件中添加搜索帮助的代码? POV

Q10、 Can you create a table with fields not referring to data elements?

YES. eg:- ITAB LIKE SPFLI.here we are referening to a data object(SPFLI) not data element.

Q11、什么是事务变式?为何要使用它?

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

只能为对话和报表事务创建事务变式;变式中只能包含普通屏幕、子屏幕及对话屏幕。 开发人员可以使用 GuiXT 脚本语言通过事务变式维护对屏幕进行修改。修改屏幕布局的方式有:插入按钮、值帮助(Value Helps)、移动对象、插入屏幕等等。

Q12、查找一个字段属于哪个表 的常用方法?

使用F1帮助

Q13、权限分配:

授权对象层次关系:授权对象分类—授权对象—授权对象字段

Su20 建立授权对象字段

Su21 建立授权对象 添加授权对象字段

Su01 建立用户

PFCG 建立角色 联系到用户 分配权限

Q14、 列举各模块常用表:

财务常用表举例:FAGLFLEXA 总账表FAGLFLEXT 也是总账表

BSEG 会计核算凭证段

BKPF 会计核算凭证标题

物资:EKKO采购订单抬头

EKPO采购订单行项目

EBKN采购申请抬头信息

EBAN采购申请行项目信息

工程:PRPS WBS元素查询表

PROJ 项目定义查询表

Q15、函数创建的事务代码是什么?函数定义时输入参数、输出参数的关键字是什么? Se37

定义时输入参数关键字是IMPORT

输出参数关键字是EXPORT

调用时输入参数关键字是EXPORT

输出参数关键字是IMPORT

Q16、列举增强开发常用的事务代码,几种增强方法的区别?

出口增强:CMOD 、SMOD

BADI增强:SE18、SE19

BTE增强: FIBF

以上。