欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    ABAP面试大全.docx

    • 资源ID:608240       资源大小:171.56KB        全文页数:49页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ABAP面试大全.docx

    目录1.报表知识61.1 基础知识61.1.1 报表事件,有哪些?61.1.2 报表选择画面71.2 ALV报表81.2.1ALV报表实现的流程81.2.2 显示ALV常用的两个FM81.2.3 如何设置ALV中的热键81.2.4 ALV显示中的小计81. 2.5FMALV和OOALV的比较81.3WRITELIST82.数据库知识92. 1基础知识92.1 .1ABAP数据字典有哪些对象或元素?92.2 .2据库提交确认和数据库回滚取消语句92.1.3什么是LUW92.1.4简述modify、insert>UPdatC对数据库表做操作时的影响92.1.5要描述域、数据元素、表字段之间的关系92.L6数据字典有几种缓冲方式,适用范围?92.2ABAP和数据库102.2.1ABAP数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项!102.2.2ABAP透明表有哪几种数据类(dataclass)?对数据的存储有什么影响?102.2.3SAP中有几种表,他们的区别是什么?102.2.6如何建立数据库锁对象,激活锁对象产生的FUnCtionModUle的名字为什么,在何处查看锁表的情况?102.2.7更新FM分为Vl和V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或本地)执行的呢?112.2.7使用OPENSQL注意原则112.3与表相关112.3.1 MM模块有哪些常用表格112.3.2 HR模块知识:HR里面存储HR主数据主要用到了哪些表?112. 3.3HR模块知识:HR程序在开发中常用的两个逻辑数据库是什么?分别对其进行描述123. 3.4HR模块知识:HR模块里面,如何修改HR的信息类型,具体如何实现124. 3.5财务模块:财务模块开发中常用的表有哪些,简单举例说明:125. 3.6PM常用的TABLE126. 3.6innerjoin与left-outerjoin的区别?133.权限相关143. 1什么是权限对象(AuthorizationObjects)?在ABAP程序中使用明B条语句进行授权检查?147. 2与权限对象有关的事务代码有哪些?148. DIALOG159. 1DIALOG中的几个事件154. 2何在TABLECONTROL中实现选中一行或多行的效果154. 3DIALOG开发的常用几个控件是什么?155. BDC165. 1BDC录屏的事务代码165. 2BDC与BAPl之间的区别166. 3BDC录屏的注意事项167. 4谈谈BDC的运行模式和更新模式168. 增强178.1 什么叫增强?有哪些方式进行增强?176.1.1UserEXIT176.1.2Customerexit176.1.3BADI176.1.4EnhancementSpot176.2如何建立增强?176.3与增强相关的事务代码有哪些186.4如何进行数据库表字段的增强?Append和Include的方式有何区别?187.SMARTFORMS197.1谈谈SmartForm中,Template和Table表格的区别197.2SMARTFORM如何实现公司LoG打印,其步骤是什么?197.3smartform中如何控制段落、单个字符输出格式?198.RFC和BAPI208.1RFC208.Ll什么是RFC,有哪些通信模式?208.1.2RFC中涉及到常用的事务代码有哪些?208.1.3根据调用方式的不同,RFC接口提供了什么样的服务?208.L4RFC接口的具体功能包括哪些?208.1.5在通过CALLFUNCTION语句进行远程功能调用的基本模式有哪些208.1.6怎么创建一个支持远程调用的RFC218.1.7怎么调用一个SAP标准RFC218.L8怎样建立RFC程序?RFC程序传递的参数都是传递值还是引用?如何建立函数组?218.L9怎么来维护这个DESTINATloN(远程目标)218.2BAPI218.2.3如何创建一个BAPI?228.2.4编写BAPl的注意事项有哪些?228.2.5谈谈与BAPl相关的事务代码。228.3RFC和BAPI的相同之处和不同之处228.3.1RFC和BAPl的区别?229.其他239.1基础知识239.1.1CHECK.EXIT、RETURN命令的区别?239.1.2初始化内表有几种方式?239.1.3一个程序如何调用另外一个程序249.1.4在一个程序中如何调用其他事物代码249.1.5在进行画面跳转时,CALLSCREEN与LEAVETOSCREEN的区别?249.1.6LOOP循环和系统字段?249.1.7MESSAGE消息有哪些类型,含义?如何自定义MESSAGE消息类?249.1.8ABAP中,如何自定义异常类?如何捕捉异常?249.L9什么是事物变式?事务变式有什么用?259.1.10RANGE259.1.11对于FIELDSYMBOL赋值将使用259.1.12Perform调用子程序时,using,tables,changing3个参数分别有什么影响?259.L13如何在程序间传送数据?259.2延伸269.2.1自定义搜索帮助有几种方式?如何实现269.2.2怎么包!建numberrange269.2.5前导零的处理方式279.2.6程序事件和系统事件279.2.7如何建立一个外部数据库的连接279.2.8怎样从文件服务器上读取文件?和写文件到文件服务器上?279.2.9SAP包括哪些传输技术279.2.10如何将内表数据转换成一个XML文件?289.2.11怎么导出一个WSDL文件?289.2.12怎么导入一个WSDL文件?289.2.13创建后台程序的TCODE是什么,如何在程序里面调用后台程序289.2.14webservice289.2.15什么叫BTE(BusinessTransactionEvent),BTE的两种类型?289.2.16现阶段接口开发使用的技术299. 2.17将一个RFM(Remote-EnabledModUIe)创建一个WEBSERVICE都有什么相关的事务代码?2910. 2.18esb使用2911. 常用T-CODE301 .报表知识1.1 基础知识1.1.1 报表事件,有哪些?过程化事件INITIALIZATIONStart-Of-Selectionend-of-selection1.1.1.2选择屏幕事件ATSELECTloN-SCREENoUTPUT选择屏幕PBc)事件,每次选择屏幕调用之前触发,在其中进行选择屏幕输出之前的准备工作,如确定屏幕各元素的输出状态.ATSELECTIoN-SCREEN选择屏幕最后被触发的事件,用户在选择屏幕上回车、选择某个GUl按钮、功能键或者菜单项时触发ATSELECTION-SCREENONfieldATSELECTION-SCREENONBLOCKblockATSELECTION-SCREENONRADIOBUTTONGROUPgroup1ATSELECTION-SCREENONseltabATSELECTION-SCREENONENDOFseltab,ATSELECTloN-SCREENoNHELP-REQUESTFe)FUieId选择屏幕的PoH事件,Fl事件,定义字段帮助ATSELECTlON-SCREENoNVALUE-REQUESTFoRfieId选择屏幕的PoV事件,F4事件,定义字段输入帮助1.1.13在使用到逻辑数据库时,比如HR报表,涉及到的逻辑数据库事件:GETnodeGETnodeLATE1.1.1.4 列表事件TOP-OF-PAGEEND-OF-PAGEAT-LINE-SELECTIONAT-USER-COMMAND用户交互控制,选择某个GUl功能出发,用于交互式报表1.1.1.5 AT事件ATFIRST功能循环时第一条记录时调用ATLAST功能循环中最后一条记录时调用ATNEW功能循环中当指定字段之前(包括指定字段)的组合和上一条记录不一样的时候调用ATENDOF功能循环中当指定字段之前(包括指定字段)的组合和下一条记录不一样的时候调用AT事件的注意点AT事件中的工作区不同于LOOP循环的工作区该工作区中位于指定字段后面的值将不会被读取如果需要用到则需重新抽取一次1.1.1.6 交互式报表事件ATUSER-COMMAND.ATLINE-SELECTIONATPF-FNCTIONKEY(设置功能键)1.1.2报表选择画面1.1.2.1 报表的选择画面上能否添加自定义工具栏?能够添加,通过语句SELECTION-SCREENFUNCTIONKEYn(n为1至5,最多定义5个)。1.1.2.2 如何对报表的选择画面元素进行分组?在PARAMETERS或SELEeT-OPTIONS后使用附加语句“MODIFID+组名”1.1.23如何更改屏幕各元素的状态?举例一些比较常用的屏幕属性在报表ATSELECTION-SCREENOUTPUT事件中或PBO(PROCESSBEFOREOUTPUT)中,1.OOPATSCREEN.MODIFYSCREEN.ENDLOOP.SCREEN-NAME画面元素的名称Screen-Groupiscreen-group4对画面元素的分组SCREEN-INPUT能否输入SCREEN-INVISIBLE是否可见SCREEN-LENGTH可见长度SCREEN-ACTIVE是否是可用的状态1.2ALV报表1.2.1ALV报表实现的流程声明数据对象一定义选择画面一从数据库取数一处理数据一显示数据1.2.2显示ALV常用的两个FM(FUNCTIONMODULE)REUSE_ALV_GRID_DISPLAY,REUSE_ALV_LIST_DISPLAY,REUSE_ALV_GRID_DISPLAY_LVC1.2.3如何设置ALV中的热键setparameterid'BES'fieldgwjtab-ebeln.calltransaction'ME23N,andskipfirstscreen.1.2.4ALV显示中的小计(1)使用SUBTOTalv可以实现自动小计,首先fieldcat参数中添加DO_SUM=X,然后传入SOrttabIe,可以在sorttable中指定需要小计的列(2)使用AT语句在LOOP循环中使用ATENDOFFIELD1.2.5FMALV和OOALV的比较FMalv和OoaIV都能够实现按钮自定义、数据修改、按钮处理自定义等操作,通常情况下FMalV主要用于报表数据展示及简单交互,00alv主要用于dialog程序开发,可以进行复杂的控制,比如单元格的修改控制(FM只能控制到列修改性)、自定义F4等,OoaIV可以根据容器排列很方便的定义布局,一个屏幕可以放多个alv,但是FMalV只能一屏显示一个alv。1.3WRITELISTWRITELIST可以输出一些比较复杂的报表格式。WRITELIST也是一种报表的输出方式,要注重的就是一些WRlTE的基本语法就可以了!在这里不一一列举。2.数据库知识2.1 基础知识2.1.1 ABAP数据字典有哪些对象或元素?Dataelement,Domain,structure,lockobject,views2.1.2 据库提交确认和数据库回滚取消语句COMMITWORKROLLBACKWORK.3什么是LUW1.UW称为逻辑工作单位同一个逻辑工作单元共享一段内存将操作放置在同一个LUW中可以控制事务的同时提交和回滚2.1.4 简述modify、insert、update对数据库表做操作时的影响Modify操作数据库时,可以使用from内表或者工作区来进行多条和单条的更新,要求内表或工作区跟数据库表的结构一致,当数据库表中存在重免记录时,执行更新操作,更新的值为内表或工作区的值,当数据库表中不存在记录时,执行插入,插入的值为内表或工作区的值Insert操作数据库时,可以用from内表或者工作区进行多条和单条的插入,要求内表或工作区跟数据库表的结构一致,如果数据库中不存在重复记录时,执行插入,插入的值为内表或工作区的值;如果已经存在重复记录,会出现更新异常Update操作数据库时,可以直接Set来进行单值更新,可以用fromtable和工作区进行批量更新,要求内表和工作区跟数据库表的结构一致,当存在记录时执行更新,当不存在记录时,没有数据会被更新,同时也不会产生异常,sy-subrc=02.1.5 要描述域、数据元素、表字段之间的关系域为数据字典中最小的单元数据元素是基于域进行定义的表字段则是通过数据元素进行定义的2.1.6 数据字典有几种缓冲方式,适用范围?fullbuffer(全缓冲),一个表的数据要么全在内存中要么全不在。当表记录很少,访问非常频繁且很少进行修改时使用:genericareabuffer(常规区域缓冲),语言代码相关的表时最常使用的情况,如文本描述表,缓存满足在generickeys中定义的字段(个数介于1个和表主键数减1)的值得记录:Single-recordbuffer(单记录缓冲),数据库表记录比较大,并且经常都是读取一条记录如selectsingle2.2 ABAP和数据库2.2.4 ABAP数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项!ABAP数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项!数据表的主键即是表的主索引;好的索引能加快数据读取的速度但会增加更新数据库表的时间;建立次级索引时应尽量选取那些查询条件经常使用到得字段2.2.2ABAP透明表有哪几种数据类(dataclass)?对数据的存储有什么影响?1.主数据类,经常读取,很少修改的数据;2.业务数据类,经常更新的数据;3.组织数据类,系统初始化时存在的数据,也很少修改。决定了数据实际存放的物理区域2.2.3SAP中有几种表,他们的区别是什么?transparenttable透明表,pooledtable(共享表)andclustertable(簇表).对于透明表是和DB层的physicaltable对应的.对于后俩者,是不对应到DB表的.比如TBSL就是一个pooledtable,你在DB层找不到此表.然后多个cluster(pooled)tables组成一个tablecluster和tablepool.tablecluster和tablepool是DB层的一个物理表2.2.4什么是簇表(clustertable)?举出知道的簇表。簇表是逻辑上有关联的几个表,在定义的时候分配给一个表簇。Bseg2.2.5找数据库表,有哪些常用的方法。(1)通过点击画面上需要查找的字段,点击Fl,在弹出画面中的技术信息。(2)通过ST05进行数据库操作的跟踪,对于在前台界面进行数据的新增或更新,在数据库中都会有所体现(3)通过事务SE80->cnvironmcnt(环境)->RepositoryInformationSystem(资源信息库)->ABAP字典数据库表格中,对某个字段进行查询2.2.6如何建立数据库锁对象,激活锁对象产生的FunCtionMOdUIe的名字为什么,在何处查看锁表的情况?在SEIl中,选择“锁对象”,即可建立。用于设锁的FM为:ENQUEUE_<锁对象名它用于在锁表(LoCkTable)中生成一个锁项(LoCkEntry)0若设锁不成功的话,就会在Return中反映出来。用于释放锁的FM为:DEQUEUEK锁对象名>。它用于从锁表中删除一个锁项。在SM12中查看锁表的情况。这两个锁FM是在SAP系统的一个特殊工作进程中执行的,专门进行锁管理。它运行在一个单独的服务器上,而该服务器专门用于维护整个SAP系统的主锁表(CentralLocakTable)有两种锁类型:共享锁一一只读锁,一个用户正在读数据时,阻止其他用户更改该数据。独占锁一一可写锁,一个用户正在修改数据时,阻止其他用户更改该数据。2.2.7更新FM分为Vl和V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或本地)执行的呢?Vl更新类型比V2更新类型的优先级高,因此,Vl比V2行执行。Vl的执行模式可以为异步、同步或本地;V2只能为异步执行。2.2.7使用OPENSQL注意原则(1) a、尽可能减少满足条件的数据条目数量。b、减少数据的传输量,以减少网络流量。c、减少访问的数据库表量。d、减少查询难度,可以通过整理选择标准来实现。e、减少数据库负载。(2) 不要在LOOP中访问数据库尽量将数据预先提取到内表中然后再通过内表进行数据的整合(3) SELECT语句尽量提取需要的字段对于不需要的字段避免抽取(4) SELECT语句WHERE条件,应该先将主键相关条件放在前面然后按照比较符=<>OLIKEIN的顺序排列WHERE条件(5) 读取内表使用二分查找方式BINARYSEARCH2.3与表相关2.3.1MM模块有哪些常用表格物料相关:MARA常规物料数据,MAKT物料描述采购申请相关:EBAN采购申请,EBKN采购申请帐户设置采购订单相关:EKKO采购凭证抬头,EKPo采购凭证项目,EKKN采购凭证中的帐户设置凭证相关:MKPF抬头:物料凭证,MSEG凭证段:物料,等等。2.3.2 HR模块知识:HR里面存储HR主数据主要用到了哪些表?PA打头的是记录人员对象的相关信息,如:PAXXXX,后面是X表示四个数字HRP打头的是记录对象关系(组织机构)的相关信息。如:HRPXXXX.2.3.3 HR模块知识:HR程序在开发中常用的两个逻辑数据库是什么?分别对其进行描述PNP和PCHPNP是以人员编号为核心进行关联的,统计的是人员的信息PeH是对象关系视图,记录组织机构相关对象的东西2.3.4 HR模块知识:HR模块里面,如何修改HR的信息类型,具体如何实现第一步:锁定用户BAPI_EMPLOYEE_ENQUEUE第二步:调用HR里面操作信息类型的BAPI:HRNFoTYPE.OPERATION第三步:解锁用户:BAPI_EMPLOYEE_DEQUEUE2.3.5财务模块:财务模块开发中常用的表有哪些,简单举例说明:Faglflext总账:总计Faglflexa总账:实际行项目ANEK凭证抬头资产过账ANEP资产行项目BKPF会计核算凭证标题BSEG会计核算凭证段KNAl客户主记录(交易额)LFAl供应商主数据(业务额)2.3.6PM常用的TABLEEQUl设备主数据EQKT设备短文本EQUZ设备时间段ILOAPM对象位置和帐户分配IELOT功能位置(表)IFLOTX功能位置:短文本AFKO订单表头数据PP订单AFPO订单项AFVC订单的工序2. 3.6innerjoin与left-outerjoin的区别?生成的结果集中IefLOUterjoin将主表(左表)中的所有满足查询条件的数据都会包括,若相同的查询条件下在右表中不存在记录也会包括;innerjoin只包括左表与右表中都满足查询条件的数据3. 权限相关3.1 什么是权限对象(AuthorizationObjects)?在ABAP程序中使用哪条语句进行授权检查?权限对象由一组字段组成,这些字段中的值将被用于进行权限检查。ABAP程序中使用AUTHORITY-CHECK语句根据权限对象进行权限检查。在AUTHORITY-CHECK语句中,必须指明权限对象的所有字段,但有一个例外,可以用DUMMY关键字来绕过某个字段的检查。通过SY-SUBRC的返回值进行检查,0为通过检查,其他均为错误,一个授权对象中最多可以定义10个字段。3.2 与权限对象有关的事务代码有哪些?SU20定义,查看和建立权限字段;SU21查看系统己有权限对象,定义新的权限对象;SU53显示权限检查出错的原因:对于调用Function时,返回无权限的错误后,能在此事务代码中查找到错误信息,PFCG角色维护,将所建的权限对象,与某个角色关联,将角色分配给某个用户后,就能够检查该用户是否有进行操作的某权限。4. DIALOG4.1 DIALOG中的几个事件PBOPAIPOVPOH4. 2何在TABLECONTROL中实现选中一行或多行的效果将内表第一个字段定义为一个长度为一类型为C的变量并在TABLECONTROL属性框中将该字段填写到选择字段中去4.3DlALoG开发的常用几个控件是什么?子屏幕、文本、输入输出框、框、容器、表控制、按钮等等5. BDC5.1 BDC录屏的事务代码SHDB5.2 BDC与BAPl之间的区别都可以用作数据导入但是BDC是完全模拟前台操作而BAPl是SAP提供的标准APl通过调用BAPl在后台生成相应数据性能高于BDC导入方式5.3 BDC录屏的注意事项将要填写的字段全部输入保证其能正确被录制下来不需要填写的字段不要操作以免录制后产生冗余字段5.4 谈谈BDC的运行模式和更新模式运行模式包括:A.全屏幕显示;E.只有在发生错误时,显示屏幕;N.不进行屏幕的显示,将相关信息记录到信息内表里;P.不进行屏幕的显示,可进行DEBUG测试。更新模式包括:A.异步更新;S.同步更新;L.本地更新;6. 增强6.1 什么叫增强?有哪些方式进行增强?增强就是ERP系统中标准程序的出口,在该出口中由用户根据企业实际需求编写客户化逻辑代码。6.1.1 UserEXIT通过SE37,以EXlT*开头,找到的函数大都是做系统预留的出口函数,前面说过,用户出口是标准程序留给用户的接口,标准程序通常不允许用户任意修改,如果修改需要申请ACCeSSKey0而且修改标准程序可能导致的错误CrP公司通常是不负责的。在SAP中,自定义的程序通常以保留字Y或Z开头,因此,出口函数中都预包含了一个Z开头的程序。6.1.2 Customerexit客户自定义程序是通过CaIlFUnCtion来调用SAP库中的一些系统函数,而用户增强的概念刚刚和这个相反,你可以使用一个由SAP功能模块调用的功能模块出口可以在下面这几个层面对模块进行增强:在ABAP程序中的FunctionModuleExit(E类),在Gui接口中的MemIEXit(C类),在指定区域插入一个子窗口的SCreCnEXit(S类),ABAP数据字典中表和结构的增强TableEnhancement(T类),还有在屏幕指定区域添加一用户自定义功能的FieldExit和keywordexit1.1 .3BADI即BUSineSSAdd-in,是基于ABAP时象的一种增强技术。SAP预定了一些接口,供客户进行实现,完成增强。在进行增强时,必须首先定义BADIo为BADI创建一个接口,接着创建一个适配器类(AdapterClass)来实现这个接口,然后创建这个适配器类的实例。6.1.4EnhancementSpot可称为隐式增强,在代码中,可插入增强点,对代码进行增强。对于EnhancementSpot分为ENHANCEMENT-POINT与ENHANCEMENT-SECTIONENHANCEMENT-POINT向其中添加的新代码,能够与旧代码一起运行ENHANCEMENT-SECTION增加的新代码,将覆盖旧代码1.2 如何建立增强?找到增强(2)建立增强项目(3)添加增强的组件添加进增强项目(4)编辑增强,添加自己的代码(5)激活增强代码6. 3与增强相关的事务代码有哪些对于CUStOmCrexit:SMOD查看增强组件CMOD建立项目后,实现增强对于BADI:SE18查找接口SE19对接口进行实现6.4如何进行数据库表字段的增强?Append和Include的方式有何区别?Append结构(AppendStructure)和自定义Include(CustomizingInclude)<.Append结构是在向表尾添加字段时创建的,自定义InCIUdC由SAP开发人员指定,以使用户可以创建新字段。它们之间的区别在于:APPerId的结构只能由该表使用,其他表使用不可;InCIUdC能够插入任意一个结构或表,其中当插入表时,该表会自动转换为相同字段的结构。7. SMARTFORMS7.1 谈谈SmartForm中,Template和Table表格的区别TCnIPIatC是静态表格,单元格的输出是一定的,TabIe是动态表格,包含在循环内,能够内表按条输出。7. 2SMARTFORM如何实现公司LoG打印,其步骤是什么?1 .用SE78导入公司Iogo,导入时只能导入位图、GlF文件,导入位图时,要注意用256色,否则会导致图片打印有问题2 .在smartform中添加图片即可3 .3Smartforrn中如何控制段落、单个字符输出格式?用SlnartStyleS可以定义不同的段落、字符格式,在文本输出时可以指定格式8. RFC和BAPI8. RFC9. 1.l什么是RFC,有哪些通信模式?RFC是(RemoteFunctionCall)的简称,是SAP系统和其他系统之间的重要而常用的双向接口技术,它包含同步RFC,异步RFC,事务性RFC,队列RFC和并行RFCo10. 1.2RFC中涉及到常用的事务代码有哪些?SM51:查看当前SAP系统中活动的应用服务器,包括ServCjNames,Hostname和Ty(服务类型):查看外部命令设定8. SM59:配置RFC连接,其中相同类型的RFC目标被组合至同一个目录。这些远程目标的定义将保存在表RFCDES中。9. 1.3根据调用的不同,RFC接口提供了什么样的服务?a.ABAP程序的调用接口,任何的ABAP程序都可以使用CALLFUNCTION.DESTINATION预计调用远程功能。DESTINATlON参数告诉SAP系统被调用的功能将在调用者之外的系统上运行,通过RFC接口与远程系统进行通信。如果远程功能来自SAP系统,则必须是时间的功能模块,并在功能库中注册为“支持远程调用REMOTE-FUNCTION-ENABLE,通信双规都通过ABAP的RFC接口实现。b.非SAPABAP程序的调用接口,在RFC的实现过程中,如果调用或被调用一方是非ABAP程序,则非ABAP程序必须以特点的规格进行变成,确保它可作为RFC通信的一方,SAP系统为外部程序提供RFC支持接口(RFC-supportedinterface)和GUl支持接口(GUI-supportedinterface)o这样,在非SAP系统中,外部程序就可以调用并执行SAPRFMo8.1.4RFC接口的具体功能包括哪些?a.登录并退出远程系统,并执行权限检查b.调用并管理远程系统会话所需的通信例程c.将参数转换成远程系统所需的格式d.处理通信过程中的错误8.1. 5在通过CALLFUNCTION语句进行远程功能调用的基本模式有哪些a. CALLFUNCTION-DESTINCTION:以同步RFC方式实现的RFM调用。如果DESTlNATlON后无其它附加项,则形成同步RFC调用,调用程序等待远程调用的结果以继续执行。b. CALLFUNCTION-STARTINGNEWTASK:以异步RFC方式实现的RFM调用。通过STARTINGNEWTASK附加项形成异步RFC调用,调用程序不等待返回结果继续执行,结果将在回调子程序(CalIbaCksubroutine)中接收。c. CALLFUNCTION-INBACKGROUNDTASK:以事务性RFC方式实现的RFM调用。通过INBACKGROUNDTASK形成事务性RFC调用,远程功能暂不开始执行,等待COMMrrWORK语句出现是,一次性执行一个或多个远程功能,8.1.6 怎么创建一个支持远程调用的RFC在SAP系统中,RFC的创建方式与普通功能模块类似,只是编写功能模块时需要在AttribUte选项卡中将ProcessingType选项设为Rcmote-EnableMOdUlC,在传入传出参数那里需要选择参数为Passingvalue8.1.7 怎么调用一个SAP标准RFC在SAP中,功能模块的调用通过CALLFUNCTION语句实现。远程功能作为普通功能模块调用的扩展,可通过在CALLFUNCTlON语句中添加DESTINATloN子句完成,其语法格式与普通调用完全相同。8.L8怎样建立RFC程序?RFC程序传递的参数都是传递值还是引用?如何建立函数组?在SE37中建立函数模块的时候,attributes选项卡中将remotefunction前面的圆圈勾选上。传递引用。可以SE80进入,选中屏幕左边的repositorybrowser选项,在第一个输入框中选中函数组,在第二个输入框中输入需建立的函数组名,再回车就可以了;或者从se37进入,在menubar上选中goto>functiongroup>creategroup8.1.9怎么来维护这个DESTlNATl(W(远程目标)SM59,其中包含链接和登录远程系统所需的全部参数信息。还可以在远程调用时直接指定当前系统的应用服务器作为RFC目标。通过SM51查看当前SAP系统中活动的应用服务器。8.2BAPI8.2.1什么是BAPI?你使用过哪些BAPI实现什么功能?BAPI业务应用程序接口(BusinessApplicationProgrammingInterface,简称BAPI)是面向对象程序设计方法中的一组程序接口。它允许程序员通过SAP将第三方软件整合成R/3专有产品。为了完成一些特殊的商业任务,如上传交易数据等,R/3系统中内置了BAPlBAPI是SAP提供的基于业务对象的函数,关键是它们处理的对象是R/3的业务相关businessobject),比如单据类销售订单,组织:公司等,它们是一系列实体。RFC则是一种系统间通讯的方式(RemoteFuncitonCall),一个BAPl函数往往能是一个RFC函数8.2.2什么是业务对象类型?它包含哪些主件?业务对象类型是业务对象的定义和描述,面向对象构架的实现基础,也就是SAP系统中的类,它封装了业务功能和数据。它包含接口,关键字段,属性,方法和事件5个业务组件。8.2.3如何创建一个BAPI?a.定义BAPIStructure(Structure不能在BAPI中重复使用,因为一旦BAPI被释放,其Structure被冻结)b.创建FUNCTlONMoDULE(每个BAPI必须有自己的FunctionGroup,FunctionGroup属性必须为RFC)c.创建BUSineSSObject(SWOl)d.使用BAPlWIZARD创建APlMCthod(这样BAPl可以被外部程序调用)e.释放BAPlFunctionMOdUlC,释放BUSineSSObjectTyPC,释放BAPl作为BOR的一种Method8.2.4编写BAPI的注意事项有哪些?BAPI不能包括CaIItransaction或submitreport那些跳转到别的程序的语句;BAPI的结构中不能使用append或include,并且每个BAPI的结构都必须新建;BAPI中不能使用dialog,如进行文件选择,需要用户交互的东西,这也在RFC中不能出现8.2.5谈谈与BAPI相关的事务代码。SWOl业务对象创建器SW02业务对象浏览器SW03业务对象仓库浏览器BAPIBAPI对象浏览器8.3RFC和BAPl的相同之处和不同之处8.3.1RFC和BAPl的区别?1>BAPl和RFC不是同一个层次上概念;BAPl是SAP提供的基于业务对象的函数,关键是它们处理的对象是R/3的业务相关BUSineSSObjeCt,比如单据类销售订单,组织,公司等,它们是一系列实体。RFC则是一种系统间通讯的方式(RCmOtCFunctionCall),一个BAPl函数往往能是一个RFC函数。2>BAPl是个SAP里一个很好的思想,把业务对象都对象化了。9.其他9.1 基础知识9.1.1 CHECK、EXITRETURN命令的区别?9.1.1.1 CHECK1) CHECK后面要跟一个表达式,当表达式值为假(false)时,CHECK发生作用,退出循环(LooP)或处理程序(ProcessingBlock)o2)如果CHEeK出现在循环中,则发生作用时,退出的是当前一次循环操作,程序会继续执行下一次循环操作,其作用类似于COntinUe(Java或C+中ContinUC也是如此).3)如果CHECK出现在循环以外,则发生作用时,退出的是当前执行的程序块(PrOCeSSingblock),例如一个FoRM,METHOD,或EVENTo9.1.1.2 EXITDEXIT如果出现在循环中,退出的是整个循环操作,.程序会从循环结束处开始继续执行,其作用相当于Java与C+中的break02) EXlT如果出现在循环之外,退出的是当前执行的程序块(PrOCeSSingblock),例如一个FORM,METHOD,或EvENT,其作用与RETURN类似。9.1.1.3 RETURNRETURN用来退出当前执行的程序块(PrOCeSSingblock),例如一个FoRM,METHOD,或EVENT,不管是否出现在循环(LOOP)中,RETURN都会退出当前执行的程序块,而不仅仅是退出循环。虽然ABAP中EXIT和RETURN都可以用来实现退出当前执行的语句块(ProCeSSingblock),但SAP的帮助文件建议只在循环中使用EXrr,其他情况下要退出当前执行进程,使用RETURN。9.1.2 初始化内表有几种方式?1、要初始化有或没有表头的内表,用REFRESH语句2、如果使用没有表格工作区域的内表,可以使用CLEAR语句代替REFRESH语3、如果使用有表头行当内表,CLEAR语句仅清除表格工作区域,要重置整个内表而不清除表格工作区域,使用REFRESH语句或CLEAR语句使用REFRESH或C

    注意事项

    本文(ABAP面试大全.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开