`
jgtang82
  • 浏览: 404107 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

(转) 比较细的ABAP面试问题及答案

    博客分类:
  • ABAP
阅读更多

问题一:锁对象(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 面试问题及答案 ABAP 是一種高级编程语言,主要應用在 SAP 系统中。以下是 ABAP 面试问题及答案,涵盖了锁对象、Function Module、ABAP 内存、授权对象、修改、修改助手、功能模块出口、事务变式等知识点。 ...

    ABAP面试题大全含答案.pdf

    ABAP面试题最全合集(含答案)

    《abap经典面试题》

    "ABAP经典面试题" ABAP是一种高级编程语言,用于开发SAP R/3系统中的应用程序。本文总结了ABAP经典面试题,涵盖了ABAP基础知识、数据对象、语句、报表程序设计等多方面的知识点。 1.ABAP基础知识 在ABAP中,数据...

    SAP(ABAP面试题目

    SAP ABAP面试题目 在 SAP 系统中,锁对象(Lock Object)和 Function Module(FM)激活锁定对象时,产生的 FM 的名字是什么?答案是:ENQUEUE_&lt;锁对象名&gt; 用于设锁,DEQUEUE_&lt;锁对象名&gt; 用于释放锁。这些锁 FM 是在...

    ABAP常见面试问题

    ### ABAP常见面试问题解析 #### 1. ABAP程序的典型结构是什么? ABAP (Advanced Business Application Programming) 是一种广泛应用于 SAP (Systems, Applications, and Products in Data Processing) 系统中的...

    ABAP面试及答案Interview+Questions.pdf

    ABAP面试及答案Interview+Questions.pdf

    ABAP_100_道面试题

    ABAP 100 道面试题 ABAP 是 SAP 公司开发的一种高级编程语言,用于开发 SAP 系统中的应用程序。本文总结了 ABAP 100 道面试题,涵盖了 ABAP 程序的结构、 Field Symbols 和 Field Groups、BDC 程序、Batch Input ...

    SAP ABAP 面试题

    ### SAP ABAP 面试题解析 #### 一、锁对象与FM激活锁定对象 **锁对象(Lock Object)和FM(Function Module)** - **背景介绍:** 锁对象和FM是SAP ABAP中非常重要的概念,主要用于确保并发访问数据库时数据的...

    ABAP 100 道面试题 .doc

    下面是 ABAP 面试题汇总,涵盖了 ABAP 程序的结构、数据字典对象、批处理输入会话、批处理输入会话的替代方案、批处理输入会话的问题等方面。 ABAP 程序结构 ABAP 程序的典型结构包括 HEADER、BODY 和 FOOTER 三...

    ABAP 面试题

    ABAP 面试题知识点总结 ABAP 面试题中涉及到多个重要的知识点,本节给出详细的知识点总结。 一、锁对象(Lock Object)和 Function Module * 锁对象是用于锁管理的重要工具,创建锁对象时,系统会自动生成两个 ...

    非常好的abap面试题

    ABAP 面试题详解 ABAP 是 SAP 系统中的一个重要组件,作为一个专业的 IT 行业大师,我将对给定的文件信息进行详细的解释和分析,总结出相关的知识点。 1. 关于语句编译报错 在 ABAP 中,语句编译报错可能是由于...

    ABAP面试题【权威经典】

    ABAP 面试题详解 ABAP 是一种高级编程语言,广泛应用于 SAP 系统开发中。以下是关于 ABAP 面试题的详细解释: 1. 下面的语句中,哪一个语句编译会报错? 正确答案:C)sflight-price = a+b。 原因是,在 ABAP 中...

    ABAP面试大全

    本篇文章将深入探讨在ABAP面试中常见的知识点,包括报表知识、数据库知识、权限相关、对话处理、批量数据处理、增强技术、SmartForms以及RFC和BAPI等。 1. **报表知识** - **报表事件**:报表开发中涉及的事件包括...

    abap的应聘面试题

    【ABAP面试题解析】 1. **锁对象与FM激活** 锁对象在ABAP中用于并发控制,确保数据的一致性。当在ABAP字典中创建一个锁对象时,系统会自动生成两个FM:`ENQUEUE_&lt;锁对象名&gt;`用于设置锁,`DEQUEUE_&lt;锁对象名&gt;`用于...

    ABAP_面试题(答案)

    【ABAP面试题详解】 1. ABAP试题1中,哪个语句编译会报错?(假设XXX 和结构sflight都已经定义) A)write at 12 XXX. —— 此语句不会报错,它会在第12列打印XXX。 B)data type type sflight. —— 这是正确的...

    ABAP面试题目ABAP面试题目

    ABAP 面试题目 ABAP 面试题目是 SAP 系统中的一种编程语言,用于开发 SAP 应用程序。下面是 ABAP 面试题目的知识点总结: 1. 锁对象(Lock Object)和 FM(Function Module): 在 ABAP 字典中创建锁对象时,系统...

    ABAP面试大全.doc

    ABAP 面试大全 ABAP 是 SAP 系统中的一个高级编程语言,具有强大的功能和灵活性。随着 SAP 系统的普及,ABAP 程序员的需求也在不断增加。本文档旨在提供 ABAP 面试大全,涵盖了 ABAP 的基础知识、报表事件、数据...

    ABAP面试-超级经典

    在“ABAP面试-超级经典”这个主题中,我们可以深入探讨一些ABAP开发者在面试中可能会遇到的关键知识点。 一、ABAP基础 1. 数据类型:ABAP提供了多种内置数据类型,如I(整型)、F(浮点型)、C(字符型)等,以及...

    abap面试题

    abap面试题

Global site tag (gtag.js) - Google Analytics