1面试问题集1.数据效率?尽量使用Select(max,min,sum,avg)和selectsingle,forallenteris,二分法,append和collectloop里不能套select;避免使用selectdistinct,代替先sort,再delete;①抽取数据时,避免使用SELECT*,尽量使用SELECTABINTOTABLEITAB这样的语句。②不要使用SELECT...ENDSELECT语句。③尽量避免在LOOP中访问数据库。可以在之前先把数据取到内表,在LOOP中用READTABLEWITHKEY...BINARYSEARCH.进行读取对应的数据。④用SORT代替ORDERBY。⑤使用二分查找法。READTABLE的之前使用SORTTABLEBY对内表进行排序,然后使用READTABLEWITHKEY...BINARYSEARCH.⑥避免使用SELECTDISTINCT语句。在抽取数据到内表后用DELETEADJACENTDUPLICATES语句来消除重复行。⑦尽量多指定WHERE语句条件。⑧在WHERE语句指定查询条件时,在同等条件下把包含等号的查询条件放到前边。2.什么时候使用Forallentries命令及其使用时的注意事项?当需要在LOOP中使用查询语句时,一般使用Forallentries。注意事项:①IN条件所在的内表不能为空(如为空将取出全部的数据);②数据库字段与内表中的关联比较字段必须具有相同的类型和长度,且不能在比较中使用操作符LIKE、BETWEEN和IN,同时不能使用ORDERBY子句。③为避免删除并不重复的纪录,在定义内表时应尽可能多的指定关键字。3.如何设置ALV的鼠标双击事件。如何设置ALV的页眉和页脚?ALV的鼠标双击事件:构造LS_LAYOUT的F2CODE属性设置为”&ETA”即可。ALV的页眉:利用Function“REUSE_ALV_COMMENTARY_WRITE”来进行设置。4.FTP文件上传,下载,在哪句中需要做异常捕获?5.SQL文的性能举例?①对同一数据库表存取的场合,能一次把多条记录放到内表中进行处理,不要多次反复存取;②只选择必要的字段,应避免使用”SELECT*”;③在WHERE语句指定查询条件时,要写全查询条件;④在WHERE语句指定查询条件时,应把包含数据库关键字段的条件列在前边。2⑤在WHERE语句指定查询条件时,在同等条件下把包含等号的查询条件放到前边。6.怎样理解Dynpro的PAI,PBO事件?Dynpro程序运行时,首先触发PBO事件,然后显示Dynpro画面,当在Dynpro画面触发一个功能键时,这时会触发PAI事件,当PAI事件执行完毕,重新显示Dynpro画面时又将执行PBO事件。当不断触发功能键时,PBO和PAI事件会不断交替执行。povpoh7.按顺序举例说明Report各事件及其作用?①LOAD-OF-PROGRAM程序执行时,自动触发该EVENT②INITIALIZTION对程序变量进行初始化③ATSELECTION-SCREENOUTPUT选择屏幕PBO事件,显示选择屏幕之前触发④ATSELECTION-SCREEN选择屏幕PAI事件,用户在选择屏幕上执行某些功能⑤START-OF-SELECTION选择开始事件⑥END-OF-SELECTION选择结束事件,一般在该事件中输出列表⑦TOP-OF-PAGE页眉控制⑧END-OF-PAGE页角控制⑨ATLINE-SELECTION行选择控制,用户选择某列表行时触发⑩ATUSER-COMMAND用户交互控制,用户选择某个GUI功能时触发8.能否自行创建SD、MM、FI模块相关数据并说明其过程?9.是否使用过Query,说明其创建过程?用到过哪些T-CODE?meng10.BDC执行出错时,为查看设置错误处,显示模式应怎样设置,A、E、N分别代表什么含义?显示模式DISMODE应设置为“A”或“E”。A:代表无论出错与否每个画面都显示;E:只是在出错时显示;N:代表无论出错与否每个画面都不显示。11.是否做过数据库表维护?meng12.删除内表重复数据前应该做什么,如果要按照给定字段如何删除?meng应该对内表进行排序。13.Job管理?14.SAP有哪些外部接口及其内容?RFC,BAPI,IDOC。RFC:RFC是SAP系统和其他(SAP或非SAP)系统间的一个重要而常用的双向接口技术,也被视为SAP与外部通信的基本协议。简单地说,RFC过程就是系统调用当前系统外的程序模块,从而实现3某个功能,而且调用系统和被调用系统中至少有一个必须是SAPABAP系统。这种远程功能调用也可在同一系统内部进行(如本地SAP系统内的远程调用);但通常情况下,调用程序和被调用程序处于不同系统。BAPI:BAPI全称BusinessApplicationProgrammingInterfaces,即业务应用编成接口,在SAP内部组件及SAP与非SAP组件之间的技术整合和业务数据交换过程中起着非常重要的作用。(BAPI是基于RFC实现的)IDOC:IDOC是SAP系统之间或SAP系统与外部系统之间电子数据交换的标准数据格式。在事务处理过程中,随时会生成IDOC。15.在什么时候触发Topofpage语句?在3种情况下可以触发Topofpage语句。①遇到第一个WRITE语句时;②当页面行数超过LINE-COUNT里定义的行数时;③遇到NEW-PAGE命令时。16.本地文件上传成CSV文件的function?17.Hashtable和Sorttable的注意事项?Hashed表的除了数字字段以外,其余字段必须指定为key字段,不能使用APPEND语句,Sort为non-unique时不能使用INSERT语句。18.Report的跳转语句是什么?pick是什么?怎么用?Report的跳转语句是“HIDE和ATLINE-SELECTION”。“pick”是在Report一览画面双击或按F2键时触发的功能键键值。19.FTP文件的上传下载操作是什么?FTP程序大致流程为:FTP_CONNECT,FTP_COMMAND,FTP_DISCONNECT。FTP_COMMAND中输入标准的FTP命令。如:更改FTP目录cddir,更改本地目录lcdlocaldir,上传文件putfile。FTP_CONNECT–打开并登陆FTP服务器的连接。FTP_COMMAND–在FTP服务器上执行一个命令。FTP_DISCONNECT–关闭指向FTP服务器的连接。20.加锁,解锁的2种方式是什么?加锁的2种方式:①E模式。同一个terminalsession的不同externalsession之间不受上锁的影响,可以使用锁住的对象;②X模式。上锁的对象只能由externalsession中的一个internalsession使用。21.MM、PP、SD、FI、HR模块的主要流程,MM、PP、SD、FI、HR模块主要数据库表?MM模块的主要流程:①接到客户的采购订单后,由营业员进行库存确认,如果库存不足则由其提出采购申请。4②购买担任者接到采购申请经审查合格后,向供应商下达采购订单。③入库等相关管理人员对供应商送达的商品进行入库确认。④由购担任者对供应商提出支付请求进行确认,经确认无误后,向财务部门提出支付申请,财务部门对支付申请进行审核合格后,进行支付处理。SD模块的主要流程:①销售担任者接到客户寻价后,在系统中登录客户的寻价信息。②相关人员对登录的寻价信息进行价格确认,并在系统中登录报价信息。③客户对收到的报价信息审核合格后,提出采购申请。销售担任者接到采购申请后,在系统中登录采购订单。④相关人员对客户所订购的商品进行筹措完毕后,进行出库处理,并在系统中登录出库单。⑤相关人员向客户提出支付请求,客户支付后,给客户出具红头发票,在系统中登录开票信息。22.update,delete数据库时的注意事项?①正确指定数据库表的KEY字段,防止更改了不应更改的记录,同时要正确指定要更改纪录的中需要变更的字段;②要注意保持关联表的数据一致性;③变更前要注意上锁,变更后要注意解锁。23.怎样做带按钮的选择画面?①TABLESSSCRFIELDS.②SELECTION-SCREENPUSHBUTTON/[/]pos(len)nameucom[MODIFIDkey].③INITIALIZATION.MOVE'Mytext'TOname.④ATSELECTION-SCREEN.⑤IFSSCRFIELDS-UCOMM=ucom.ENDIF.上述代码的描述:①定义构造SSCRFIELDS;②使用命令Selection-screenpushbutton定义PushButton;③在事件Initialization中定义pushbutton的文本;④在事件AtSelection-Screen中定义pushbutton按下后,所执行的处理。24.求和函数(Collect)的注意事项?①要填充没有重复条目的内表,应该使用COLLECT②COLLECT语句无法用于带深层结构的内表(组件中不可以包含内表)。③为COLLECT指定的工作区域必须与内表的行类型兼容,(不仅仅是可互相转换)。④所有的非表关键字段必须是数字类型。525.举例说明MM、SD、FI、PP模块的主要t-code?MM模块的主要t-code:MMBE库存总览ME51N采购申请ME21N采购订单MIGO收货MIRO后勤发票校验SD模块的主要t-code:VA11询价VA21报价VA01销售订单VL01N出库VF01开具发票FI模块的主要t-code:总账:FS00创建科目F.10查看会计科目表F.01查看会计科目余额表FB50制总账凭证FB08冲销凭证FS10N科目余额查询FBV0成批过账FBV3显示预制凭证OBR2删除会计科目KOB1查看订单明细KB31统计指标赋值F-04过账并清账FAGL_FC_VAL外币评估FB70输入客户发票(员工借款)F-22输入客户发票F-30过账并清账(客户)F-53付款记账F-42输入结转过账F-43输入供应商发票F-51过账并清账(供应商)应付会计:6FB01输入凭证分录F-53银行付款清账(支付货款、银兑到期付款、信用证到期付款)F-51带清账的转账业务(如需调整的业务或凭证、退回客户多付货款、上线前的发票校验)F-48预付定金F-43输入供应商发票(不通过采购订单形成的应付账款)F-42不带清账的转账业务(如需进期初差异的发票校验)F-40应付票据清账F-57开立信用证、信用证到期冲销F-32应收票据背书清应付账款F-44供应商预付与应付账款对冲FB50付银兑保证金、信用证保证金、支票重开、电汇退回重付FB03显示凭证FB08冲销未清账凭证FBRA冲销已清账凭证MIRO后勤发票校验MR8M冲销发票FK10N查供应商余额FBL1N供应商行项目显示F.42供应商明细账显示应收会计:F-21预收银兑F-28收款、银兑到期托收F-29预收款F-30银兑清账F-32应收预收清账FB50总账科目过账FB70手工开发票FB75手工开贷方发票(红字)资产会计AR01调用资产清单AS01资产主数据创建ABZON资产购置-损赠等、增值F-90资产购置ABGL资产减值(本年)ABGF资产减值(上年)AIAB在建工程资本化7ABAVN资产报废AS93显示遗产数据信贷管理FD32信用风险、例外信用额度的建立及信用时间的控制,另取消信贷也在此处理FD33查询信用风险、例外信用额度及信用时间VKM1在信贷额度之内取消销售订单F-49制作在途资金虑拟凭证FB08在途资金到账后冲销制作的在途资金虑拟凭证VK13查看冻结销售订单的单价、金额FBL5N客户行项目显示FBL3N总账科目行项目显示F.23查询以本币计的客户余额VA05出具发票凭证清单FD10N客户余额显示开票员FB03查看凭证VF01开具发票VF02修改发票VF03查看发票VF04