ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:45.23KB ,
资源ID:7045879      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7045879.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ABAP面试大全.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ABAP面试大全.docx

1、ABAP面试大全1. 报表知识 1基础知识1.1.1报表事件,有哪些?1.1.1.1过程化事件INITIALIZATIONSTART-OF-SELECTIONEND-OF-SELECTION1.1.1.2选择屏幕事件AT SELECTION-SCREEN OUTPUT选择屏幕PBO事件,每次选择屏幕调用之前触发,在其中进行选择屏幕输出之前的准备工作,如确定屏幕各元素的输出状态。AT SELECTION-SCREEN选择屏幕最后被触发的事件,用户在选择屏幕上回车、选择某个GUI按钮、功能键或者菜单项时触发AT SELECTION-SCREEN ON fieldAT SELECTION-SCREE

2、N ON BLOCK blockAT SELECTION-SCREEN ON RADIOBUTTON GROUP group1AT SELECTION-SCREEN ON seltabAT SELECTION-SCREEN ON END OF seltab,AT SELECTION-SCREEN ON HELP-REQUEST FOR field选择屏幕的POH事件,F1事件,定义字段帮助AT SELECTION-SCREEN ON VALUE-REQUEST FOR field选择屏幕的POV事件,F4事件,定义字段输入帮助1.1.1.3在使用到逻辑数据库时,比如HR报表,涉及到的逻辑数据库

3、事件:GET nodeGET node LATE1.1.1.4列表事件TOP-OF-PAGEEND-OF-PAGEAT-LINE-SELECTIONAT-USER-COMMAND用户交互控制,选择某个GUI功能出发,用于交互式报表1.1.1.5AT 事件AT FIRST功能循环时第一条记录时调用AT LAST功能循环中最后一条记录时调用AT NEW 功能循环中当指定字段之前(包括指定字段)的组合和上一条记录不一样的时候调用AT END OF功能 循环中当指定字段之前(包括指定字段)的组合和下一条记录不一样的时候调用AT事件的注意点AT事件中的工作区不同于LOOP循环的工作区 该工作区中位于指定

4、字段后面的值将不会被读取 如果需要用到 则需重新抽取一次1.1.1.6交互式报表事件 AT USER-COMMAND.AT LINE-SELECTIONAT PF-FUNCTION KEY(设置功能键)1.1.2报表选择画面1.1.2.1报表的选择画面上能否添加自定义工具栏?能够添加,通过语句SELECTION-SCREEN FUNCTION KEY n(n为1至5,最多定义5个)。1.1.2.2如何对报表的选择画面元素进行分组?在PARAMETERS或SELECT-OPTIONS后使用附加语句“MODIF ID + 组名”1.1.2.3如何更改屏幕各元素的状态?举例一些比较常用的屏幕属性在报

5、表AT SELECTION-SCREEN OUTPUT事件中或PBO(PROCESSBEFOREOUTPUT)中,LOOP AT SCREEN.MODIFY SCREEN.ENDLOOP. SCREEN-NAME 画面元素的名称SCREEN-GROUP1 SCREEN-GROUP4 对画面元素的分组SCREEN-INPUT 能否输入SCREEN-INVISIBLE 是否可见SCREEN-LENGTH 可见长度SCREEN-ACTIVE 是否是可用的状态2ALV报表2.1.1ALV报表实现的流程声明数据对象 定义选择画面 从数据库取数 处理数据 显示数据2.1.2显示ALV常用的两个FMREUS

6、E_ALV_GRID_DISPLAY,REUSE_ALV_LIST_DISPLAY,REUSE_ALV_GRID_DISPLAY_LVC2.1.3如何设置ALV中的热键set parameter id BES field gw_itab-ebeln. call transaction ME23N and skip first screen.2.1.4ALV显示中的小计(1)使用SUBTOT alv可以实现自动小计,首先field cat 参数中添加DO_SUM = X,然后传入sorttable,可以在sorttable中指定需要小计的列(2)使用AT 语句 在LOOP 循环中使用AT END

7、 OF FIELD2.1.5FM ALV 和 OO ALV的比较FM alv 和OO alv 都能够实现按钮自定义、数据修改、按钮处理自定义等操作,通常情况下FM alv主要用于报表数据展示及简单交互,OO alv 主要用于dialog 程序开发,可以进行复杂的控制,比如单元格的修改控制(FM只能控制到列修改性)、自定义F4等,OO alv可以根据容器排列很方便的定义布局,一个屏幕可以放多个alv,但是FM alv只能一屏显示一个alv。3WRITE LISTWRITE LIST 可以输出一些比较复杂的报表格式。WRITE LIST 也是一种报表的输出方式,要注重的就是一些WRITE的基本语法

8、就可以了!在这里不一一列举。2. 数据库知识2.1 基础知识2.1.1 ABAP数据字典有哪些对象或元素? Data element, Domain, structure, lock object, views2.1.2 据库提交确认和数据库回滚取消语句COMMIT WORK ROLLBACK WORK2.1.3 什么是LUWLUW称为逻辑工作单位 同一个逻辑工作单元共享一段内存 将操作放置在同一个LUW中可以控制事务的同时提交和回滚2.1.4简述modify 、insert、update对数据库表做操作时的影响Modify 操作数据库时,可以使用from 内表或者工作区来进行多条和单条的更新

9、,要求内表或工作区跟数据库表的结构一致,当数据库表中存在重复记录时,执行更新操作,更新的值为内表或工作区的值,当数据库表中不存在记录时,执行插入,插入的值为内表或工作区的值Insert 操作数据库时,可以用from内表或者工作区进行多条和单条的插入,要求内表或工作区跟数据库表的结构一致,如果数据库中不存在重复记录时,执行插入,插入的值为内表或工作区的值;如果已经存在重复记录,会出现更新异常Update 操作数据库时,可以直接set 来进行单值更新,可以用from table 和工作区进行批量更新,要求内表和工作区跟数据库表的结构一致,当存在记录时执行更新,当不存在记录时,没有数据会被更新,同时

10、也不会产生异常,sy-subrc = 02.1.5 要描述域、数据元素、表字段之间的关系域为数据字典中最小的单元 数据元素是基于域进行定义的 表字段则是通过数据元素进行定义的2.1.6数据字典有几种缓冲方式,适用范围?full buffer(全缓冲),一个表的数据要么全在内存中要么全不在。当表记录很少,访问非常频繁且很少进行修改时使用:generic area buffer(常规区域缓冲),语言代码相关的表时最常使用的情况,如文本描述表,缓存满足在generic keys 中定义的字段(个数介于1个和表主键数减1)的值得记录:Single-record buffer(单记录缓冲),数据库表记录

11、比较大,并且经常都是读取一条记录如select single2.2 ABAP和数据库2.2.1 ABAP 数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项!ABAP 数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项!数据表的主键即是表的主索引;好的索引能加快数据读取的速度但会增加更新数据库表的时间;建立次级索引时应尽量选取那些查询条件经常使用到得字段2.2.2 ABAP透明表有哪几种数据类(data class)?对数据的存储有什么影响?主数据类,经常读取,很少修改的数据;业务数据类,经常更新的数据;组织数据类,系统初始化时存在的数据,也很少修改。决定了数据实际存放的物理区

12、域2.2.3 SAP中有几种表,他们的区别是什么?transparent table透明表, pooled table(共享表) and cluster table(簇表). 对于透明表是和DB层的physical table对应的.对于后俩者,是不对应到DB表的. 比如TBSL就是一个pooled table, 你在DB层找不到此表.然后多个cluster(pooled) tables组成一个table cluster和table pool . table cluster和table pool是DB层的一个物理表2.2.4什么是簇表(cluster table)?举出知道的簇表。簇表是逻辑上

13、有关联的几个表,在定义的时候分配给一个表簇。Bseg2.2.5找数据库表,有哪些常用的方法。(1) 通过点击画面上需要查找的字段,点击F1,在弹出画面中的技术信息。(2) 通过ST05进行数据库操作的跟踪,对于在前台界面进行数据的新增或更新,在数据库中都会有所体现(3) 通过事务SE80- Repository Information System-ABAP字典-数据库表格中,对某个字段进行查询2.2.6如何建立数据库锁对象,激活锁对象产生的Function Module的名字为什么,在何处查看锁表的情况?在SE11中,选择“锁对象”,即可建立。用于设锁的 FM 为: ENQUEUE_。它用于

14、在锁表(Lock Table)中生成一个锁项(Lock Entry)。若设锁不成功的话,就会在 Return 中反映出来。用于释放锁的 FM 为:DEQUEUE_。它用于从锁表中删除一个锁项。在SM12中查看锁表的情况。这两个锁 FM 是在 SAP 系统的一个特殊工作进程中执行的,专门进行锁管理。它运行在一个单独的服务器上,而该服务器专门用于维护整个 SAP 系统的主锁表(Central Locak Table)。有两种锁类型:共享锁只读锁,一个用户正在读数据时,阻止其他用户更改该数据。独占锁可写锁,一个用户正在修改数据时,阻止其他用户更改该数据。2.2.7更新 FM 分为 V1 和 V2,那

15、么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或本地)执行的呢?V1 更新类型比 V2 更新类型的优先级高,因此,V1 比 V2 行执行。V1 的执行模式可以为异步、同步或本地;V2 只能为异步执行。2.2.7使用OPEN SQL注意原则(1) a、尽可能减少满足条件的数据条目数量。 b、减少数据的传输量,以减少网络流量。c、减少访问的数据库表量。d、减少查询难度,可以通过整理选择标准来实现。e、减少数据库负载。(2) 不要在LOOP中访问数据库 尽量将数据预先提取到内表中 然后再通过内表进行数据的整合(3) SELECT语句尽量提取需要的字段 对于不需要的字段避免抽取(4)

16、 SELECT语句WHERE条件,应该先将主键相关条件放在前面 然后按照比较符= LIKE IN的顺序排列WHERE条件(5) 读取内表 使用二分查找方式 BINARY SEARCH2.3 与表相关2.3.1 MM模块有哪些常用表格物料相关:MARA常规物料数据,MAKT物料描述采购申请相关:EBAN采购申请,EBKN采购申请帐户设置采购订单相关:EKKO采购凭证抬头,EKPO采购凭证项目,EKKN采购凭证中的帐户设置凭证相关:MKPF抬头:物料凭证,MSEG凭证段:物料,等等。2.3.2 HR模块知识:HR里面存储HR主数据主要用到了哪些表?PA打头的是记录人员对象的相关信息, 如:PAXX

17、XX,后面是X表示四个数字 HRP打头的是记录对象关系(组织机构)的相关信息。如:HRPXXXX.2.3.3 HR模块知识:HR程序在开发中常用的两个逻辑数据库是什么?分别对其进行描述PNP和PCHPNP是以人员编号为核心进行关联的,统计的是人员的信息PCH是对象关系视图,记录组织机构相关对象的东西2.3.4 HR模块知识:HR模块里面,如何修改HR的信息类型,具体如何实现第一步:锁定用户BAPI_EMPLOYEE_ENQUEUE第二步:调用HR里面操作信息类型的BAPI:HR_INFOTYPE_OPERATION第三步:解锁用户:BAPI_EMPLOYEE_DEQUEUE2.3.5财务模块:

18、财务模块开发中常用的表有哪些,简单举例说明:FAGLFLEXT总账:总计FAGLFLEXA总账:实际行项目ANEK凭证抬头资产过账ANEP资产行项目BKPF会计核算凭证标题BSEG会计核算凭证段KNA1客户主记录(交易额)LFA1供应商主数据(业务额)2.3.6 PM 常用的TABLEEQUI 设备主数据EQKT 设备短文本EQUZ 设备时间段ILOA PM 对象位置和帐户分配IFLOT 功能位置(表)IFLOTX 功能位置:短文本AFKO 订单表头数据 PP 订单AFPO 订单项AFVC 订单的工序2.3.6 inner join 与 left-outer join的区别?生成的结果集中le

19、ft-outer join将主表(左表)中的所有满足查询条件的数据都会包括,若相同的查询条件下在右表中不存在记录也会包括;inner join只包括左表与右表中都满足查询条件的数据3. 权限相关3.1 什么是权限对象(Authorization Objects)?在 ABAP 程序中使用哪条语句进行授权检查?权限对象由一组字段组成,这些字段中的值将被用于进行权限检查。ABAP 程序中使用 AUTHORITY-CHECK 语句根据权限对象进行权限检查。在 AUTHORITY-CHECK 语句中,必须指明权限对象的所有字段,但有一个例外,可以用 DUMMY 关键字来绕过某个字段的检查。通过SY-S

20、UBRC的返回值进行检查,0为通过检查,其他均为错误,一个授权对象中最多可以定义 10 个字段。3.2 与权限对象有关的事务代码有哪些?SU20定义,查看和建立权限字段;SU21查看系统已有权限对象,定义新的权限对象;SU53显示权限检查出错的原因:对于调用Function时,返回无权限的错误后,能在此事务代码中查找到错误信息,PFCG角色维护,将所建的权限对象,与某个角色关联,将角色分配给某个用户后,就能够检查该用户是否有进行操作的某权限。4. DIALOG4.1 DIALOG 中的几个事件PBO PAI POV POH4.2 何在TABLE CONTROL中实现选中一行或多行的效果将内表第

21、一个字段定义为一个长度为一类型为C的变量 并在TABLE CONTROL属性框中将该字段填写到选择字段中去4.3 DIALOG 开发的常用几个控件是什么?子屏幕、文本、输入输出框、框、容器、表控制、按钮等等5. BDC5.1 BDC录屏的事务代码SHDB5.2 BDC与BAPI之间的区别都可以用作数据导入 但是BDC是完全模拟前台操作 而BAPI是SAP提供的标准API 通过调用BAPI在后台生成相应数据 性能高于BDC导入方式5.3 BDC录屏的注意事项将要填写的字段全部输入 保证其能正确被录制下来 不需要填写的字段不要操作 以免录制后产生冗余字段5.4谈谈BDC的运行模式和更新模式运行模式

22、包括:A.全屏幕显示;E.只有在发生错误时,显示屏幕;N.不进行屏幕的显示,将相关信息记录到信息内表里;P. 不进行屏幕的显示,可进行DEBUG测试。更新模式包括:A.异步更新;S.同步更新;L.本地更新;6. 增强6.1什么叫增强?有哪些方式进行增强?增强就是ERP系统中标准程序的出口,在该出口中由用户根据企业实际需求编写客户化逻辑代码。6.1.1 User EXIT通过SE37,以EXIT*开头,找到的函数大都是做系统预留的出口函数,前面说过,用户出口是标准程序留给用户的接口,标准程序通常不允许用户任意修改,如果修改需要申请Access Key。而且修改标准程序可能导致的错误erp公司通常

23、是不负责的。在SAP中,自定义的程序通常以保留字Y或Z开头,因此,出口函数中都预包含了一个Z开头的程序。6.1.2 Customer exit客户自定义程序是通过Call Function来调用SAP库中的一些系统函数,而用户增强的概念刚刚和这个相反,你可以使用一个由SAP功能模块调用的功能模块出口可以在下面这几个层面对模块进行增强:在ABAP程序中的Function Module Exit(E类),在Gui 接口中的Menu Exit(C类),在指定区域插入一个子窗口的Screen Exit(S类), ABAP数据字典中表和结构的增强Table Enhancement(T类),还有在屏幕指定

24、区域添加一用户自定义功能的Field Exit和keyword exit6.1.3 BADI 即Business Add-in,是基于ABAP对象的一种增强技术。SAP预定了一些接口,供客户进行实现,完成增强。在进行增强时,必须首先定义 BADI。为 BADI 创建一个接口,接着创建一个适配器类(Adapter Class)来实现这个接口,然后创建这个适配器类的实例。6.1.4 Enhancement Spot 可称为隐式增强,在代码中,可插入增强点,对代码进行增强。对于Enhancement Spot 分为ENHANCEMENT-POINT与ENHANCEMENT-SECTIONENHANC

25、EMENT-POINT向其中添加的新代码,能够与旧代码一起运行ENHANCEMENT-SECTION增加的新代码,将覆盖旧代码6.2如何建立增强?(1)找到增强 (2)建立增强项目 (3)添加增强的组件添加进增强项目 (4)编辑增强,添加自己的代码 (5)激活增强代码6.3与增强相关的事务代码有哪些对于Customer exit:SMOD查看增强组件CMOD建立项目后,实现增强对于BADI:SE18查找接口SE19对接口进行实现6.4如何进行数据库表字段的增强?Append和Include的方式有何区别?Append 结构(Append Structure)和自定义 Include(Custo

26、mizing Include)。Append 结构是在向表尾添加字段时创建的,自定义 Include 由 SAP 开发人员指定,以使用户可以创建新字段。它们之间的区别在于: Append的结构只能由该表使用,其他表使用不可;Include能够插入任意一个结构或表,其中当插入表时,该表会自动转换为相同字段的结构。7. SMARTFORMS7.1谈谈SmartForm中,Template和Table表格的区别Template是静态表格,单元格的输出是一定的,Table是动态表格,包含在循环内,能够内表按条输出。7.2 SMART FORM如何实现公司LOG打印,其步骤是什么?1.用SE78导入公司

27、logo,导入时只能导入位图、GIF文件,导入位图时,要注意用256色,否则会导致图片打印有问题2.在smartform中添加图片即可7.3 smartform 中如何控制段落、单个字符输出格式?用smartstyles 可以定义不同的段落、字符格式,在文本输出时可以指定格式8. RFC和 BAPI8.1 RFC8.1.1什么是RFC,有哪些通信模式?RFC是(Remote Function Call)的简称,是SAP系统和其他系统之间的重要而常用的双向接口技术,它包含同步RFC,异步RFC,事务性RFC,队列RFC和并行RFC。8.1.2 RFC中涉及到常用的事务代码有哪些?SM51:查看当

28、前SAP系统中活动的应用服务器,包括Server_Names,Host name和 Ty(服务类型):查看外部命令设定SM59:配置RFC连接,其中相同类型的RFC目标被组合至同一个目录。这些远程目标的定义将保存在表RFCDES中。8.1.3根据调用的不同,RFC接口提供了什么样的服务?a.ABAP程序的调用接口, 任何的ABAP程序都可以使用CALL FUNCTION . DESTINATION预计调用远程功能。DESTINATION参数告诉SAP系统被调用的功能将在调用者之外的系统上运行,通过RFC接口与远程系统进行通信。如果远程功能来自SAP系统,则必须是时间的功能模块,并在功能库中注册

29、为“支持远程调用 REMOTE-FUNCTION-ENABLE”,通信双规都通过ABAP的RFC接口实现。b.非SAP ABAP程序的调用接口, 在RFC的实现过程中,如果调用或被调用一方是非ABAP程序,则非ABAP程序必须以特点的规格进行变成,确保它可作为RFC通信的一方。SAP系统为外部程序提供RFC支持接口(RFC-supported interface)和GUI支持接口(GUI-supported interface)。这样,在非SAP系统中,外部程序就可以调用并执行SAP RFM。8.1.4 RFC接口的具体功能包括哪些?a. 登录并退出远程系统,并执行权限检查b. 调用并管理远程

30、系统会话所需的通信例程c. 将参数转换成远程系统所需的格式d. 处理通信过程中的错误8.1.5在通过CALL FUNCTION语句进行远程功能调用的基本模式有哪些a. CALL FUNCTION - DESTINCTION: 以同步RFC方式实现的RFM调用。如果DESTINATION后无其它附加项,则形成同步RFC调用,调用程序等待远程调用的结果以继续执行。b. CALL FUNCTION - STARTING NEW TASK: 以异步RFC方式实现的RFM调用。通过STARTING NEW TASK 附加项形成异步RFC调用,调用程序不等待返回结果继续执行,结果将在回调子程序(callb

31、ack subroutine)中接收。c. CALL FUNCTION - IN BACKGROUND TASK: 以事务性RFC方式实现的RFM调用。通过IN BACKGROUND TASK 形成事务性RFC调用,远程功能暂不开始执行,等待COMMIT WORK语句出现是,一次性执行一个或多个远程功能。8.1.6怎么创建一个支持远程调用的RFC在SAP系统中,RFC的创建方式与普通功能模块类似,只是编写功能模块时需要在Attribute选项卡中将Processing Type 选项设为Remote-Enable Module,在传入传出参数那里需要选择参数为Passing value。 8.1.7怎么调用一个SAP标准RFC在SAP中,功能模块的调用通过 CALL FUNCTION 语句实现。远程功能作为普通功能模块调用的扩展,可通过在CALL FUNCTION语句中添加DES

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1