问题一:锁对象(Lock Object)和 FM(Function Module),激活Lock Object时,产生的 FM 的名字是什么?
答案:首先要在 ABAP 字典中创建锁对象,然后才能在 ABAP 程序中设锁。创建锁对象时,系统会自动生成两个 FM 来进行锁管理。
用于设锁的 FM 为: ENQUEUE_<锁对象名>。它用于在锁表(Lock Table)中生成一个锁项(Lock Entry)。若设锁不成功的话,就会在 Return 中反映出来。
用于释放锁的 FM 为:DEQUEUE_<锁对象名>。它用于从锁表中删除一个锁项。在 ABAP 程序中,只需使用 "CALL FUNCITION ..." 语句就可以调用它们。
这两个锁 FM 是在 SAP 系统的一个特殊工作进程中执行的,专门进行锁管理。它运行在一个单独的服务器上,而该服务器专门用于维护整个 SAP 系统的主锁表(Central Lock Table)。
有两种锁类型:
1. 共享锁——只读锁,一个用户正在读数据时,阻止其他用户更改该数据。
2. 独占锁——可写锁,一个用户正在修改数据时,阻止其他用户更改该数据。
问题二:更新方面的 FM
更新 FM 分为 V1 和 V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或本地)执行的呢?
答案:V1 更新类型比 V2 更新类型的优先级高,因此,V1 比 V2 行执行。V1 的执行模式可以为异步、同步或本地;V2 只能为异步执行。
问题三:ABAP 内存(ABAP Memory)交换
在使用 ABAP 内存的程序间进行数据交换时用到的两个语句是什么?
答案:EXPORT to MEMORY ID <id></id>用于将数据复制到 ABAP 内存,IMPORT from MEMORY ID <id></id>用于将数据从 ABAP 内存复制到程序中。
在 ABAP 内存间进行交换的数据必须在两个程序中都进行声明,并包含同样的数据声明。
问题四:授权对象(Authorization Objects)
什么是授权对象?在 ABAP 程序中使用哪条语句进行授权检查?
答案:授权对象由一组字段组成,这些字段中的值将被用于进行授权检查。ABAP 程序中使用 AUTHORITY-CHECK 语句根据授权对象进行授权检查。在 AUTHORITY-CHECK 语句中,必须指明授权对象的所有字段,但有一个例外,可以用 DUMMY 关键字来绕过某个字段的检查。
一个授权对象中最多可以定义 10 个字段。
问题五:修改(Modifications)
在 SAP 系统中是怎样定义"修改"的?它们对更新(upgrade)有怎样的影响?
答案:修改是指用户对 SAP 发布的库对象(Repository Object)进行的更改。
必须在更新期间对修改进行评审(Review),来决定是否应该使用新的 SAP 对象,以及将来使用时是否需要进一步修改该对象。
问题六:修改助手(Modification Assistant)
什么是修改助手?
答案:修改助手是 4.5 版中引入的一个工具,用于简化更新过程。可以通过 ABAP 编辑器触发修改助手,它会记录对系统进行的修改。修改助手支持通过 ABAP 编辑器、Screen Painter、Menu Painter、文本元素维护、Function Builder 和 ABAP 字典进行的修改。
问题七:功能模块出口(Function Module Exit)
实现功能模块出口时 SAP 应用程序中应使用哪条语句?
答案:某些 SAP 应用程序中存在功能模块出口,它使用户能够向 SAP 程序中添加一些功能。通过搜索 "CALL CUSTOMER" 可以发现是否存在功能模块出口。
问题八:事务变式(Transaction Variants)
什么是事务变式?为何要使用它?
答案:事务变式是一组屏幕变式,用于预定义屏幕行为和默认值。通过使用变式功能,可以将用户不需要的字段、子屏幕及全屏幕从用户视图中取消。可以给任何输入字段设置默认值,字段也可以不用带 "Ready for Input" 状态。
只能为对话和报表事务创建事务变式;变式中只能包含普通屏幕、子屏幕及对话屏幕。
开发人员可以使用 GuiXT 脚本语言通过事务变式维护对屏幕进行修改。修改屏幕布局的方式有:插入按钮、值帮助(Value Helps)、移动对象、插入屏幕等等。
问题九:更改 SAP (Changing SAP)
请列出用户修改 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 对象的手动修改。
问题十:添加字段
向 SAP 表中添加字段的方法是哪两种?
答案:这两种方法是:Append 结构(Append Structure)和自定义 Include(Customizing Include)。Append 结构是在向表尾添加字段时创建的,自定义 Include 由 SAP 开发人员指定,以使用户可以创建新字段。
问题十一:什么是 BADI?
答案:BADI 是 Business Add-in 的缩写。它是一种新的功能增强概念,使用 ABAP 对象技术。这是一种使用面向对象的方法来进行 SAP 增强。实现 BADI 要用到类、接口及方法等面向对象的概念。
要对一个 SAP 应用程序进行增强,必须首先定义 BADI。为 BADI 创建一个接口,接着创建一个适配器类(Adapter Class)来实现这个接口, 然后创建这个适配器类的实例。
分享到:
相关推荐
ABAP 面试问题及答案 ABAP 是一種高级编程语言,主要應用在 SAP 系统中。以下是 ABAP 面试问题及答案,涵盖了锁对象、Function Module、ABAP 内存、授权对象、修改、修改助手、功能模块出口、事务变式等知识点。 ...
ABAP面试题最全合集(含答案)
"ABAP经典面试题" ABAP是一种高级编程语言,用于开发SAP R/3系统中的应用程序。本文总结了ABAP经典面试题,涵盖了ABAP基础知识、数据对象、语句、报表程序设计等多方面的知识点。 1.ABAP基础知识 在ABAP中,数据...
SAP ABAP面试题目 在 SAP 系统中,锁对象(Lock Object)和 Function Module(FM)激活锁定对象时,产生的 FM 的名字是什么?答案是:ENQUEUE_<锁对象名> 用于设锁,DEQUEUE_<锁对象名> 用于释放锁。这些锁 FM 是在...
### ABAP常见面试问题解析 #### 1. ABAP程序的典型结构是什么? ABAP (Advanced Business Application Programming) 是一种广泛应用于 SAP (Systems, Applications, and Products in Data Processing) 系统中的...
ABAP面试及答案Interview+Questions.pdf
ABAP 100 道面试题 ABAP 是 SAP 公司开发的一种高级编程语言,用于开发 SAP 系统中的应用程序。本文总结了 ABAP 100 道面试题,涵盖了 ABAP 程序的结构、 Field Symbols 和 Field Groups、BDC 程序、Batch Input ...
### SAP ABAP 面试题解析 #### 一、锁对象与FM激活锁定对象 **锁对象(Lock Object)和FM(Function Module)** - **背景介绍:** 锁对象和FM是SAP ABAP中非常重要的概念,主要用于确保并发访问数据库时数据的...
下面是 ABAP 面试题汇总,涵盖了 ABAP 程序的结构、数据字典对象、批处理输入会话、批处理输入会话的替代方案、批处理输入会话的问题等方面。 ABAP 程序结构 ABAP 程序的典型结构包括 HEADER、BODY 和 FOOTER 三...
ABAP 面试题知识点总结 ABAP 面试题中涉及到多个重要的知识点,本节给出详细的知识点总结。 一、锁对象(Lock Object)和 Function Module * 锁对象是用于锁管理的重要工具,创建锁对象时,系统会自动生成两个 ...
ABAP 面试题详解 ABAP 是 SAP 系统中的一个重要组件,作为一个专业的 IT 行业大师,我将对给定的文件信息进行详细的解释和分析,总结出相关的知识点。 1. 关于语句编译报错 在 ABAP 中,语句编译报错可能是由于...
ABAP 面试题详解 ABAP 是一种高级编程语言,广泛应用于 SAP 系统开发中。以下是关于 ABAP 面试题的详细解释: 1. 下面的语句中,哪一个语句编译会报错? 正确答案:C)sflight-price = a+b。 原因是,在 ABAP 中...
本篇文章将深入探讨在ABAP面试中常见的知识点,包括报表知识、数据库知识、权限相关、对话处理、批量数据处理、增强技术、SmartForms以及RFC和BAPI等。 1. **报表知识** - **报表事件**:报表开发中涉及的事件包括...
【ABAP面试题解析】 1. **锁对象与FM激活** 锁对象在ABAP中用于并发控制,确保数据的一致性。当在ABAP字典中创建一个锁对象时,系统会自动生成两个FM:`ENQUEUE_<锁对象名>`用于设置锁,`DEQUEUE_<锁对象名>`用于...
【ABAP面试题详解】 1. ABAP试题1中,哪个语句编译会报错?(假设XXX 和结构sflight都已经定义) A)write at 12 XXX. —— 此语句不会报错,它会在第12列打印XXX。 B)data type type sflight. —— 这是正确的...
ABAP 面试题目 ABAP 面试题目是 SAP 系统中的一种编程语言,用于开发 SAP 应用程序。下面是 ABAP 面试题目的知识点总结: 1. 锁对象(Lock Object)和 FM(Function Module): 在 ABAP 字典中创建锁对象时,系统...
ABAP 面试大全 ABAP 是 SAP 系统中的一个高级编程语言,具有强大的功能和灵活性。随着 SAP 系统的普及,ABAP 程序员的需求也在不断增加。本文档旨在提供 ABAP 面试大全,涵盖了 ABAP 的基础知识、报表事件、数据...
在“ABAP面试-超级经典”这个主题中,我们可以深入探讨一些ABAP开发者在面试中可能会遇到的关键知识点。 一、ABAP基础 1. 数据类型:ABAP提供了多种内置数据类型,如I(整型)、F(浮点型)、C(字符型)等,以及...
abap面试题