ABAP面试大全

合集下载

大连埃森哲对日sap开发面试问题

大连埃森哲对日sap开发面试问题

大连埃森哲对日sap开发面试问题1.自我介绍我是谁,我来自哪里,我的专业。

第一段实习,我在X咨询公司为X公司提供……的IT运维与车体评审VR系统的实施。

第二段是企业联合毕设实习,X公司,项目组是提供智能制造解决方案和工业视觉设备的X博士团队。

我负责在与X公司中标中参与了业务沟通会议记录,业务流程和蓝图设计的编制。

目前我自学SAP HANA和abap的开发,如数据字典,报表应用;对项目流程,如业务现状流程图和蓝图设计;项目管理知识,如敏捷,MT有所学习2.在实际工作中,项目出现的问题你是如何解决的?/在实际工作中,你觉得困难的事情?(英文),一次英文回答,一次中文回答。

我两次都是第一个回答问题的人。

第二次的时候,我都已经起了个头,面试官突然说这个问题要用英文回答。

我当时措不及防,只能胡言乱语。

但是我在面试之前根据往年的问题也准备了一份类似的英文回答,仅作为参考。

)在实际工作场景中,会发生技术和业务两类问题。

根据我的实习经验,请允许我从业务问题阐述。

首先,我会将对出现的问题进行调研,一方面从业务对象方面考察,是在哪个业务流程中出现了问题,业务对象需要如何针对性地解决问题。

一方面考虑我自身出现的问题,是不是我的问题导致了这个问题的发生,我需要什么方面的知识解决这个问题。

然后,作为一个职场新人我应该向我的直属manager询问他的看法,征求他的意见。

同时,一个人的能力往往是有限的,我会和我的同事一起坐下来喝杯咖啡,头脑风暴问题的解决方案。

最后,如果需要跟我们的boss汇报问题的解决进度,我会准备充足的资料和文档归纳总结,慎重的提交给BOSS书写格式正确的报告。

而在我的实际工作中,我们慕尼黑的boss希望更多的云服务,而我们公司在与供应商接洽中商议了该产品的云服务。

我们综合的考虑了该云服务的案例和安全性不够,中止了云服务的议案。

这个问题我们需要合理的告知我们的boss。

这次的项目变更让我觉得是项目遇到的一个困难。

sap-abap面试知识点总结

sap-abap面试知识点总结

1)PROCESS BEFORE OUTPUT(简称PBO):进行屏幕初始化工作,如数据库选择,屏幕元素属性动态设定等,如根据用户权限和继电定值申请单的状态确定哪些屏幕字段是输入状态,哪些字段是显示状态;PBO模块结束后,系统显示当前用户屏幕。

2)PROCESS AFTER INPUT(简称PAI):当用户在屏幕上执行某些功能后被触发,PAI结束后,屏幕可能进入后续或返回上一个屏幕序列;3)PROCESS ON HELP-REQUEST (简称POH):当用户按下F1键要求查看帮助信息时触发;4)PROCESS ON VALUE-REQUEST(简称POV):当用户按下F4键要求查看搜索帮助时触发。

5)如何实现f4帮助方法一:a..事务码SE11打开数据字典,选中搜索帮助,填写名称,点击创建.(前提先把表格和数据元素以及域都建好了)2.填写基本相关信息,搜索帮助描述,取数的表,显示的对话框类型.3.填写搜索帮助参数,字段名称,输入输出属性,显示位置次序,数据元素.4.保存,激活.5.打开要建立搜索帮助的表,选中要建立搜索帮助的字段,点击SRCH HELP,填入你建立好的搜索帮助的名称.6.保存,激活表.7.重新保存要用到表中搜索帮助的程序,激活后就可以使用搜索帮助来选择值了.Ps:在建立屏幕程序的时候要填上屏幕中你所填变量的f4的名字11/1.. 必须要有参照的数据元素要添加搜索帮助的表中的字段,:注此方法比较直观,但是有相关的前提:. .所以前提就是我们要事先维护好数据元素没有数据元素无法建立搜索帮助方法二:. 程序中直接写相关代码来实现在ABAP:具体步骤. VALUE-REQUEST添加事件1.:示例代码AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_XILEI-LOW.PERFORM FRM_XILEI_SELECT.. 在子程序中实现搜索帮助功能2.:示例代码11/ 2.FORM FRM_XILEI_SELECT .*细类的搜索帮助DATA: RT_TAB LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.DATA: BEGIN OF IT_XILEI OCCURS 0,XILEI LIKE ZSFQ10-XILEI,END OF IT_XILEI.SELECT XILEI INTO CORRESPONDING FIELDS OF TABLE IT_XILEI FROM ZSFQ10.CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'EXPORTINGRETFIELD = 'XILEI'DYNPPROG = SY-REPIDDYNPNR = SY-DYNNRDYNPROFIELD = 'S_XILEI-LOW'VALUE_ORG = 'S'CALLBACK_PROGRAM = SY-REPIDTABLESVALUE_TAB = IT_XILEIRETURN_TAB = RT_TABEXCEPTIONSPARAMETER_ERROR = 1NO_VALUES_FOUND = 2OTHERS = 3.IF SY-SUBRC <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.ENDFORM. FRM_XILEI_SELECT3.保存,激活程序后,即可在屏幕上使用搜帮助了.注:此方法不是太直观,但是不用在数据字典中建立相关的数据,只需在程序中动态提取显示.方法三:固定值。

abap 常用面试问题

abap 常用面试问题

abap 常用面试问题
1. ABAP是什么?它是用于开发SAP应用程序的编程语言。

2. ABAP程序的结构是怎样的?它由于一系列的模块组成,包括数据定义、逻辑处理和用户界面。

3. 请解释一下ABAP的数据字典。

数据字典是ABAP中的一个核心组成部分,它用于定义和管理数据库表、视图和数据类型。

4. 什么是内表?内表是ABAP中的一种数据对象,类似于程序中的一个数组,用于存储和处理数据。

5. ABAP的优势是什么?ABAP具有强大的数据处理功能,可以与SAP系统紧密集成,并且具有良好的性能。

6. 如何在ABAP中调用函数?可以使用CALL FUNCTION语句来调用函数模块。

7. 如何使用ABAP来处理异常情况?可以使用TRY...CATCH...ENDTRY语句块来捕获和处理异常。

8. 什么是ABAP Objects?ABAP Objects是ABAP的一个面向对象编程框架,可以创建和管理面向对象的程序。

9. 如何处理ABAP的调试?可以使用ABAP调试器来逐步调试ABAP程序,查看变量的值和程序的执行流程。

10. 请解释一下ABAP的事务处理。

事务处理是ABAP中的一种机制,用于在SAP系统中执行一系列相关的操作,保证数据的一致性。

ABAP 100 道面试题

ABAP 100 道面试题

ABAP 100 道面试题text:1. What is the typical structure of an ABAP/4 program?HEADER,BODY,FOOTER.2. What are field symbols and field groups.?Have you used "component idx of structure"clause with field groups?Field symbols:-Field groups :-3. What should be theapproach for writing a BDC program?STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal tableCALLED "CONVERSION".STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER".STEP 3:DEPENDING UPON THE BDC TYPE i)call transaction(Write the program explicity)ii) create sessions (sessions arecreated and processed.if success data will transfer).4. What is a batch input session?BATCH INPUTSESSION is an intermediate step between internal table and database table.Data along with the action is stored insession ie data for screen fields, to which screen it is passed,program name behind it, and how next screen is processed.5. What is the alternative to batch input session?Call transaction.6. A situation: AnABAP program creates a batch input session.We need to submit the program and the batch session in back ground.How to do it?Please go to SM36 and create background job by giving job name,job class and job steps(JOB SCHEDULING)8. What are the problems in processing batch input sessions?How is batch inputprocess different from processing online?PROBLEMS:-i) If the user forgets to opt for keep sessionthen the session will be automatically removed from the session queue(log remains). However if session is processed we maydelete it manually.ii)if session processing fails data will not be transferred to SAP database table.10.What are the different types of data dictionary objects?tables, structures, views, domains, data elements,lock objects, Matchcode objects.11. How many types of tables exists and what are they in data dictionary?4 types of tablesi)Transparent tables - Exists with the same structure both in dictionary as well as indatabase exactly with the same data and fields. Both Opensql and Nativesql can be used.ii)Pool tables & iii)Cluster tables -These are logical tables that are arranged as records of transparent tables.one cannot use native sqlon these tables(only opensql).They are not managable directly using database system tools.iv)Internal tables- .12. What is the step by step process to create a table in data dictionary?step 1: creatingdomains(data type,field length,range).step 2: creating data elements(properties and type for a tablefield).step 3: creating tables(SE11).13. Can a transparent table exist in data dictionary but notin the data base physically?No. Transporent tables do exist with the same structure, both in the dictionary aswell as in database, exactly with the same data and the fields.14. What are the domains and data elements?DOMAINS : FORMAL DEFINITION OF THE DATA TYPES.THEY SET ATTRIBUTES SUCH AS DATA TYPE,LENGTH,RANGE.DATA ELEMENT : A FIELD IN R/3 SYSTEM IS A DATA ELEMENT.15. Can you create a table with fields notreferring to data elements?YES. eg:- ITAB LIKE SPFLI.here we are referening to a data object(SPFLI) not dataelement.16. What is the advantage of structures? How do you use them in the ABAP programs?The mostimportant advantage of the structures is that they have global existence (i.e.; these could be used by any other programwithout creating it again).17. What does an extract statement do in the ABAP program?Onceyou have declared the possible record types as field groups and defined their structure, you can fill the extract dataset using the following statements:EXTRACT .When the first EXTRACT statement occurs in a program, thesystem creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the newextract record is added to the datasetEXTRACT HEADER.When you extract the data, the record is filled withthe current values of the corresponding fields.As soon as the system has processed the first EXTRACT statement for afield group , the structure of the corresponding extract record in the extract dataset is fixed. You can no longer insert new fields into the field groups and HEADER. If you try to modify one of the field groups afterwards and use it in another EXTRACT statement, a runtime error occurs.By processing EXTRACT statements several times using differentfield groups, you fill the extract dataset with records of different length and structure. Since you can modify field groupsdynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need notdetermine the structure at the beginning of the program.18. What is a collect statement? How is it differentfrom append?If an entry with the same key already exists, the COLLECT statement does not append a new line,but adds the contents of the numeric fields in the work area to the contents of the numeric fields in the existing entry.19. What is open sql vs native sql?ANS:-20. What does an EXEC SQL stmt do in ABAP?What is the disadvantage of using it?21. What is the meaning of ABAP/4 editor integrated with ABAP/4 datadictionary?22. What are the events in ABAP/4 language?Initialization, At selection-screen,Start-of-selection,end-of-selection,top-of-page,end-of-page, At line-selection,At user-command,At PF,Get,At New,AtLAST,AT END, AT FIRST.23. What is an interactive report?What is the obvious diff of such reportcompared with classical type reports?An Interactive report is a dynamic drill down report that produces thelist on users choice.diff:-a) THE LIST PRODUCED BY CLASSICAL REPORT DOESN'T allow user to interact with thesystemthe list produced by interactive report allows the user to interact with the system.b) ONCE ACLASSICAL REPORT EXECUTED USER LOOSES CONTROL.IR USER HAS CONTROL.c) IN CLASSICAL REPORT DRILLING IS NOT POSSIBLE.ININTERACTIVE DRILLING IS POSSIBLE.24. What is a drill down report?Its an Interactive report wherein the user can get more relavent data by selecting explicitly.25. How do you write a function module in SAP?Describe.Creating function module:-∙called program - se37-creating funcgrp,funcmodule byassigning attributes,importing,exporting,tables,exceptions.∙calling program - SE38-in pgm click pattern and writefunction name- provide export,import,tables,exception values.26. What are the exceptions in functionmodule?COMMUNICATION_FAILURESYSTEM_FAILURE27. What is a function group?GROUP OF ALL RELATED FUNCTIONS.28. How are the date and time field values stored in SAP?DD.MM.YYYY. HH:MM:SS30. Name a few data dictionary objects?TABLES,VIEWS,STRUCTURES,LOCK OBJECTS,MATCHCODE OBJECTS.31. What happens when a table is activatedin DD?It is available for any insertion,modification and updation of records by any user.32. Whatis a check table and what is a value table?Check table will be at field level checking.Value tablewill be at domain level checking ex: scarr table is check table for carrid.33. What are match codes? describe?It is a similar to table index that gives list of possible values for either primary keys or non-primary keys.34. What transactions do you use for data analysis?35. What is table maintenance generator?36. What are ranges? What are number ranges?max,min values provided in selection screens.37. What are select options and how are they different from parameters?select options provideranges where as parameters do not.SELECT-OPTIONS declares an internal table which is automatically filled with valuesor rangesof values entered by the end user. For each SELECT-OPTIONS , the system creates a selection table. SELECT-OPTIONS FOR .A selection table is an internal table with fields SIGN, OPTION, LOW andHIGH.The type of LOW and HIGH is the same as that of .The SIGN field can take the following values: IInclusive (should apply) E Exclusive (should not apply)The OPTION field can take the following values: EQ Equal GTGreater than NE Not equal BT Between LE Lessthan or equal NB Not between LT Less than CP Contains pattern GE Greaterthan or equal NP No pattern.Select Options vs ParametersPARAMETERS allow users to enter a singlevalue into an internal field within a report.SELECT-OPTIONS allow users to fill an internal table with a range ofvalues.For each PARAMETERS or SELECT-OPTIONS statement you should define text elements by choosingGoto - Textelements - Selection texts - Change.Eg:- Parameters name(30).when the user executes the ABAP/4 program,aninput field for 'name' will appear on the selection screen.You can change the comments on the left side of the input fieldsby using text elements as described in Selection Texts.38. How do you validate the selection criteria of areport?And how do you display initial values in a selection screen?validate :- by using match codeobjects.display :- Parameters default 'xxx'.select-options for spfli-carrid.39. What are selection texts?40. What is CTS and what do you know about it?The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAPWorkbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape.This documentation provides you with an overview of how to manage changes with the CTS and essential information onsetting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation whenplanning your development project.For practical information on working with the Change and Transport System, seeChange and Transport Organizer and Transport Management System.41. When a program is created and need to betransported to prodn does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? Howdo you do it?42. What is the client concept in SAP? What is the meaning of client independent?43. Are programs client dependent?Yes.Group of users can access these programs with aclient no.44. Name a few system global variables you can use in ABAP programs?SY-SUBRC,SY-DBCNT,SY-LILLI,SY-DATUM,SY-UZEIT,SY-UCOMM,SY-TABIX.....SY-LILLI IS ABSOLUTE NO OF LINES FROM WHICH THE EVENT WASTRIGGERED.45. What are internal tables? How do you get the number of lines in an internal table?How touse a specific number occurs statement?i)It is a standard data type object which exists only during theruntime of the program.They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need.ii)using SY-DBCNT.iii)The number of memoryallocations the system need to allocate for the next record population.46. How do you take care of performanceissues in your ABAP programs?Performance of ABAPs can be improved by minimizing the amount of data to betransferred.The data set must be transferred through the network to the applications, so reducing the amount OF time and also reduces the network traffic.Some measures that can be taken are:- Use views defined in the ABAP/4DDIC (also has the advantage of better reusability).- Use field list (SELECT clause) rather than SELECT *.-Range tables should be avoided (IN operator)- Avoid nested SELECTS.i)system toolsii)field symbols andfield groups.ans:-Field Symbols : Field symbols are placeholders for existing fields. A Field Symbol does notphysically reserve space for a field,but points to a field which is not known until runtime of the program. eg:-FIELD-SYMBOL [].Field groups : A field group combines several fields under one name.At runtime,the INSERTcommand is used to define which data fields are assigned to which field group.There should always be a HEADER fieldgroup that defines how the extracted data will be sorted,the data is sorted by the fields grouped under the HEADER fieldgroup.47. What are datasets?The sequential files(ON APPLICATION SERVER) are called datasets. Theyare used for file handling in SAP.48. How to find the return code of a statement in ABAP programs?Using function modules.49. What are interface/conversion programs in SAP?CONVERSION: LEGACY SYSTEM TO FLAT FILE.INTERFACE : FLAT FILE TO SAP SYSTEM.50. Have you used SAP suppliedprograms to load master data?51. What are the techniques involved in using SAP supplied programs? Do youprefer to write your own programs to load master data? Why?52. What are logical databases? What are theadvantages/disadvantages of logical databases?To read data from a database tables we use logical database. Alogical database provides read-only access to a group of related tables to an ABAP/4 program.advantagesThe programmer need not worry about the primary key for each table.Because Logical database knows how the differenttables relate to each other,and can issue the SELECT command with proper where clause to retrieve the data.i)An easy-to-use standard user interface.ii)check functions which check that user input is complete,correct,and plausible.iii)meaningful data selection.iv)central authorization checks for database accesses.v)good read accessperformance while retaining the hierarchical data view determined by the application logic. disadvantagesi)If you donot specify a logical database in the program attributes,the GET events never occur.ii)There is noENDGET command,so the code block associated with an event ends with the next eventstatement (such as another GET oran END-OF-SELECTION).53. What specific statements do you using when writing a drill down report?AT LINE-SELECTION,AT USER-COMMAND,AT PF.54. What are different tools to report data in SAP? Whatall have you used?55. What are the advantages and disadvantages of ABAP/4 query tool?56. What are the functional areas? User groups? and how does ABAP/4 query work in relation tothese?57. Is a logical database a requirement/must to write an ABAP/4 query?59. What are Changeheader/detail tables? Have you used them?60. What do you do when the system crashes in the middle of a BDCbatch session?we will look into the error log file (SM35).61. What do you do with errors in BDCbatch sessions?We look into the list of incorrect session and process it again. To correct incorrect sessionwe analyize the session to determine which screen and value produced the error.For small errors in data we correct theminteractively otherwisemodify batch input program that has generated the session or many times even thedatafile.62. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?go to SM36 and create background job by giving job name,job class and job steps(JOB SCHEDULING)63.Is it possible to run host command from SAP environment? How do you run?64. What kind of financialperiods exist in SAP? What is the relavent table for that?65. Does SAP handle multiple currencies? Multiplelanguages?Yes.66. What is a currency factoring technique?67. How do youdocument ABAP/4 programs? Do you use program documentation menu option?68. What is SAPscript and layoutset?The tool which is used to create layout set is called SAPscript. Layout set is a design document.69. What are the ABAP/4 commands that link to a layout set?Control commands,system commands,70. What is output determination?71. What are IDOCs?IDOCs are intermediatedocuments to hold the messages as a container.72. What are screen painter? menu painter? Gui status?dynpro - flow logic + screens.menu painter -GUI Status - It is subset of the interface elements(title bar,menu bar,standard tool bar,push buttons) used for a certain screen.The status comprises those elementsthat are currently needed by the transaction.73. What is screen flow logic? What are the sections in it? ExplainPAI and PBO.The control statements that control the screen flow.PBO - This event is triggered beforethe screen is displayed.PAI - This event is responsible for processing of screen after the user enters the data and clicks the pushbutton.74. Overall how do you write transaction programs in SAP?Create program-SE93-create transcode-Run it from command field.75. Does SAP has a GUI screen painter or not? If yes whatoperating systems is it available on? What is the other type of screen painter called? 76. What are steploops? How do you program pagedown pageup in step loops?step loops are repeated blocks of field in a screen.77. Is ABAP a GUI language?Yes.ABAP IS AN EVENT DRIVEN LANGUAGE.78. Normallyhow many and what files get created when a transaction program is written?What is the XXXXXTOP program?ABAP/4 program.DYNPRO79. What are the include programs?When the samesequence of statements in several programs are to be written repeadly they are coded in include programs (External programs)and are included in ABAP/4 programs.80. Can you call a subroutine of one program from another program?Yes- only external subroutines Using 'SUBMIT' statement.81. What are user exits? What is involved in writingthem? What precations are needed?82. What are RFCs? How do you write RFCs on SAP side?83.What are the general naming conventions of ABAP programs?Should start with Y or Z.84. How do youfind if a logical database exists for your program requrements?SLDB-F4.85. How do you find thetables to report from when the user just tell you the transaction he uses? And all the underlying data is from SAP structures?Transcode is entered in command field to open the table.Utilities-Table contents-display.86. How do you find the menu path for a given transaction in SAP?87. What are the differentmodules of SAP?FI,CO,SD,MM,PP,HR.89. How do you get help in ABAP?HELP-SAP LIBRARY,bypressing F1 on a keyword.90. What are different ABAP/4 editors? What are the differences?91.What are the different elements in layout sets?PAGES,Page windows,Header,Paragraph,Character String,Windows.92. Can you use if then else, perform ..etc statements in sap script?yes.93. Whattype of variables normally used in sap script to output data?94. How do you number pages in sapscript layoutoutputs?95. What takes most time in SAP script programming?LAYOUT DESIGN AND LOGOINSERTION.96. How do you use tab sets in layout sets?97. How do you backup sapscript layoutsets? Can you download and upload? How?98. What are presentation and application servers in SAP?The application layer of an R/3 System is made up of the application servers and the message server. Application programs in an R/3 System are run on application servers. The application servers communicate with the presentationcomponents, the database, and also with each other, using the message server.99. In an ABAP/4 program how do youaccess data that exists on a presentation server vs on an application server?i)using loop statements.ii)flat100. What are different data types in ABAP/4?Elementary -predefined C,D,F,I,N,P,T,X.userdefined TYPES.ex: see in intel book page no 35/65Structured -predefined TABLES.userdefined Field Strings and internal tables.101. What is difference between session method and Call Transaction?102. Setting up a BDCprogram where you find information from?103. What has to be done to the packed fields before submitting to aBDC session.fields converted into character type.104. What is the structure of a BDCsessions.BDCDATA (standard structure).105. What are the fields in a BDC_Tab Table.program,dynpro,dynbegin,fnam,fval.106. What do you define in the domain and data element.Technical details like107. What is the difference between a pool table and a transparent table andhow they are stored at the database level.ii)Pool tables is a logical representation of transparent tables.Hence no existence at database level. Where as transparent tables are physical tables and exist at database level. 108. What is cardinality?For cardinality one out of two (domain or data element) should be thesame for Ztest1 and Ztest2 tables. M:NCardinality specifies the number of dependent(Target) and independent (source)entities which can be in a relationship.。

abap dialog的面试题

abap dialog的面试题

abap dialog的面试题
ABAP(Advanced Business Application Programming)是SAP系统的编程语言。

在SAP的面试中,可能会涉及到ABAP的Dialog模块,下面是一些可能的面试题:
1. 什么是Dialog模块?它在SAP中起什么作用?
2. 描述一下Dialog的基本结构和工作原理。

3. 如何创建和配置一个Dialog?
4. 如何在Dialog中定义屏幕?
5. 如何使用动态屏幕来显示和收集数据?
6. 如何在Dialog中定义数据对象?
7. 如何在Dialog中处理用户输入?
8. 如何在Dialog中实现屏幕间的跳转?
9. 如何使用条件逻辑来控制屏幕的显示和行为?
10. 如何在Dialog中定义事件和事件处理程序?
11. 如何使用标准屏幕来创建自定义屏幕?
12. 如何调试和测试Dialog?
13. 在开发Dialog时,有哪些常见的性能问题和优化方法?
14. 如何确保Dialog的安全性和可靠性?
15. 在SAP系统中,有哪些常见的Dialog使用场景?
以上是一些可能的面试题,当然具体的面试题目会根据具体的面试官和面试要求有所不同。

在准备面试时,建议参考SAP的相关文档和教程,了解Dialog模块的基本概念和用法,并熟悉常见的使用场景和最佳实践。

ABAP面试问题及答案

ABAP面试问题及答案

ABAP面试问题及答案问题一:锁对象(Lock Object)和 FM(Function Module)激活锁定对象时,产生的 FM 的名字是什么?答案:首先要在 ABAp 字典中创建锁对象,然后才能在 ABAp 程序中设锁。

创建锁对象时,系统会自动生成两个 FM 来进行锁管理。

用于设锁的 FM 为:ENQUEUE_<锁对象名>。

它用于在锁表(Lock Table)中生成一个锁项(Lock Entry)。

若设锁不成功的话,就会在 Return 中反映出来。

用于释放锁的 FM 为:DEQUEUE_<锁对象名>。

它用于从锁表中删除一个锁项。

在 ABAp 程序中,只需使用 \"CALL FUNCITION ...\" 语句就可以调用它们。

这两个锁 FM 是在 SAp 系统的一个特殊工作进程中执行的,专门进行锁管理。

它运行在一个单独的服务器上,而该服务器专门用于维护整个 SAp 系统的主锁表(Central Locak Table)。

有两种锁类型:共享锁――只读锁,一个用户正在读数据时,阻止其他用户更改该数据。

独占锁――可写锁,一个用户正在修改数据时,阻止其他用户更改该数据。

问题二:更新方面的 FM 更新 FM 分为 V1 和 V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或本地)执行的呢?答案:V1 更新类型比 V2 更新类型的优先级高,因此,V1 比 V2 行执行。

V1 的执行模式可以为异步、同步或本地;V2 只能为异步执行。

问题三:ABAp 内存(ABAp Memory)交换在使用 ABAp 内存的程序间进行数据交换时用到的两个语句是什么?答案:EXpORT to MEMORY ID <id> 用于将数据复制到 ABAp 内存,IMpORT from MEMORY ID <id> 用于将数据从 ABAp 内存复制到程序中。

SAP abap笔试面试题目

SAP abap笔试面试题目

SAP abap笔试面试题目问题:SAP abap笔试面试题目回答:一选择题(共40题,未特殊注明则均为单选)1,下面的语句中,哪一个语句编译会报错(假设XXX 和结构sflight都已经定义). (c)A)write at 12 XXX.B)data type type sflight.C)sflight-price = a+b.D)write sy-vline.2.在ABAP/4的开发工作中,哪一个TCODE是直接进入就可以创建程序,函数组以及程序内部各种元素的. (a )A) SE80 B) SE11 C) SE93 D)SE163.直接进入就可以查询表的结构是哪个TCODE. (b )A) SE80 B) SE11 C) SE93 D)SE164. 很多表当中都有一个字段,叫做MANDT, 为第一个主键,这个字段的用处是.(b )A)区分后台数据库的类型B)区分表中记录属于哪个客户端(client)C)区分表的数据量大小D)SAP系统保留字段5.下面的定义语句中,哪一个语句定义出来的结果是一个内表. (d)A)DATA zsflight TYPE sflight.B)DATA: COLS LIKE LINE OF TC-COLS.C)TABLES SFLIGHT.D)DATA: zsflight TYPE TABLE OF sflight.6.ABAP中三种基本的数据对象是. (a )A)内表结构基本数据对象B)内表程序语句C)字符数字日期D)语句程序表7.语句loop at itab into wa. 的准确意思是. (d )A)把wa中的值进行循环,每一次循环都写回内表B)求出迷宫itab的出口放在wa里C)对内表itab的数值列进行累加放入wa中D)对内表itab进行循环,把循环中每一行的结果写入结构wa 中8.程序中执行了这么一段代码DATA it_sflight type sflight with header line.Loop at it_sflight.it_sflight-carrid = AA .Modify it_sflight.Endloop.该段语法中出现了四次it_sflight,其中后三次分别代表的是内表还是结构. (b )A)内表内表内表B)内表结构内表C)内表结构结构D)内表内表结构9.在设计报表程序时,选择的程序类型应该是.(a )A)可执行程序B)模块池程序C)包含程序D)函数组程序10.在报表程序的屏幕筛选条件里,SELECT-OPTIONS定义出来的元素是.(a)A)内表B)结构C)基本数据对象D)指针型字段11.在报表程序的屏幕事件里,有一个事件叫做AT LINE-SELECTION.参见如下代码:WRITE / ‘ABAP’.AT LINE-SELECTION.WRITE /‘TEST’.那么,以下哪种情况会发生.(b )A)先显示出一行ABAP,当用户双击一次时,屏幕上在原来ABAP那行下面换行一次显示出一行新的TESTB)先显示出一行ABAP,当用户双击一次时,屏幕上每次只显示出一行的TEST取代原先的屏幕C)先显示出一行ABAP,当用户双击一次时,屏幕上永远只显示出一行TEST(放在原来ABAP那行下面)D)先显示出一行ABAP,当用户第一次双击时,产生一个新屏幕,显示一行TEST,然后每次双击都在其下换行显示一行新的TEST12.选择事件的执行顺序正确的一组.(a )A)INITIALIZATION / START-OF-SELECTION / TOP-OF-PAGE / AT LINE-SELECTIONB)INITIALIZATION / TOP-OF-PAGE / START-OF-SELECTION / AT LINE-SELECTIONC)START-OF-SELECTION/ INITIALIZATION / TOP-OF-PAG / AT LINE-SELECTIOND)INITIALIZATION / TOP-OF-PAGE / AT LINE-SELECTION /START-OF-SELECTION13.在层级报表的开发里,下面哪个条件不是必需的.(d)A)对内表先按层级字段排序B)对内表和结构定义时层级字段必须排在前面C)层级字段不能出现在at 和end at 语句之外D)层级字段必须存在14.在明细报表的开发中,双击一行转向明细报表的取数依据是.(c )A)你双击那行的主键字段B)你双击的那个字段本身C)你双击那行在循环中预先hide的字段D)你双击那行在循环中预先已经write出来的字段15.在交互式报表的设计中,假如想在明细报表里加入任意字段的排序功能,请选择正确的选项(多选).(ad )A)要先用get cursor field XXX.取得字段B)对内表排序时该字段要用括号括起来C)在排序时要把该字段加上一个数字以去除前面的结构名称(如果是用结构-字段定义的话)D)排序后显示完要把sy-lsind = 0,以防止产生多余的list16.在屏幕编程的设计中,下面共有四个主要步骤:a 设计屏幕的格式(有哪些字段,放在什么位置)b 设计屏幕的整体属性c 设计屏幕上字段的属性d 编写屏幕的流逻辑( flow logic )请选择通常请况下正确的顺序. (c )A)a b c dB)c d b aC)b a c dD)d b a c17. 如果屏幕A 的下一个屏幕仍然是A , 那么当执行程序时,对于屏幕的主要事件,下面哪种顺序是正确的. (d )A)A 的PAI A 的PBO A 的PAI A 的PBOB)A 的PBO A 的PAI A 的PAI A 的PBOC)A 的PAI A 的PAI A 的PBO A 的PBOD)A 的PBO A 的PAI A 的PBO A 的PAI18.屏幕编程中一个屏幕所使用的工具栏应如何设计. (a )A) 先设计一个Gui Status,再在程序中绑定B) 先设计一个Gui Titles,再在程序中绑定C) 在程序中用Add button 语法添加D)在屏幕设计格式的界面上添加工具栏及其按钮19. 以下四种系统变量,各是什么含意. (d )SY-UCOMM SY-DATUM SY-SUBRC SY-TABIXA)用户触发的屏幕上的功能码当前日期当前时间循环次数B)当前日期当前时间循环次数用户触发的屏幕上的功能码C)用户触发的屏幕上的功能码循环次数语句执行结果返回值当前日期D)用户触发的屏幕上的功能码当前日期语句执行结果返回值循环次数20.一个程序的子屏幕编程是如何实现的. (c)A)子屏幕区域外加屏幕(属性设置为正常屏幕)B)自定义控件外加屏幕(属性设置为正常屏幕)C)子屏幕区域外加屏幕(属性设置为子屏幕)D)自定义控件外加屏幕(属性设置为子屏幕)21.对于表格控件和内表的绑定的做法,下面哪种说法是正确的. (a )A)PBO时同步循环内表和表格控件把内表的值写入表格控件,PAI时用同样的循环把表格控件的值写回内表B)PBO时同步循环内表和表格控件把表格控件的值写入内表,PAI时用同样的循环把内表的值写回表格控件C)在定义内表时定义与之绑定的表格控件,PBO和PAI事件要各循环内表一次D)在制作表格控件时定义与之绑定的内表,PBO和PAI事件要各循环表格控件一次22.如果要把表格控件某列的属性动态的改变成不可输入,下面哪种做法是可行的. (B )A)在PAI事件中修改table的general attribute值B)在PBO事件中修改table的general attribute值C)在PAI事件中取得table的COLS属性,利用它本身是个内表的特点循环找到该列修改之,修改完后写回COLS内表D)在PAI事件中取得table的COLS属性,利用它本身是个结构的特点找到其中表示该列的字段修改23.要对表格控件增加一个可由用户写入信息的列,下面哪种方式是可行的(多选).(ad )A)在设计屏幕上点击dictionary / program fields window 按钮,输入字典表或者程序中定义的元素,把它拖到表格控件中B)在设计屏幕上修改table的attributes,增加一列C)在设计屏幕中的表格控件里拖入一个text field(文本字段)D)在设计屏幕中的表格控件里拖入一个input/output field(输入/输出字段)24.在编写ALV GRID CONTROL时,应遵循以下哪种顺序. (a )A)在屏幕上建区域,创建区域对象,创建ALVGRID对象,调用ALVGRID的set_table_for_first_display方法B)在屏幕上建区域,创建ALVGRID对象,创建区域对象,调用ALVGRID的set_table_for_first_display方法C)调用ALVGRID的set_table_for_first_display方法,在屏幕上建区域,创建ALVGRID对象,创建区域对象D)创建区域对象,调用ALVGRID的set_table_for_first_display 方法,在屏幕上建区域,创建ALVGRID对象,25.自己制作一个搜索帮助,引用的表是SBOOKINGS,Dialog Type是Dialog with value restriction,里面customid和name这两个字段的IMP属性打勾,customid,name,carrid,connid这四个字段的EXP属性打勾,四个字段都设定了LPOS和SPOS,这个搜索帮助的输出效果是. (d )A)先输出两个栏位的筛选屏幕,再按照筛选结果输出两个栏位的表格信息让用户选择,选择结果影响到四个栏位B)先输出两个栏位的表格信息让用户选择,选择结果影响到四个栏位C)先输出四个栏位的表格信息让用户选择,选择结果影响到两个栏位D)先输出四个栏位的筛选屏幕,再按照筛选结果输出四个栏位的表格信息让用户选择,选择结果影响到两个栏位26.ABAP的OPEN SQL的取数语句是否可以实现数据库无关性,其原因是什么. (c )A)不可以,数据库的SQL格式不同B)可以,因为它的名字叫做OPEN SQLC)可以,因为中间有一层DB Interface做转换D)不可以,各种数据库的版本不同27.对ABAP的OPEN SQL语句的两个返回系统变量,描述正确的是. (b )A)Sy-dbcnt表示执行结果是否正确,sy-subrc表示执行影响到的数据条数B)Sy-dbcnt表示执行影响到的数据条数,sy-subrc表示执行结果是否正确C)Sy-dbamt表示执行结果是否正确,sy-sudnc表示执行影响到的数据条数D)Sy-dbamt表示执行影响到的数据条数,sy-sudnc表示执行结果是否正确28.一个表TA有三个字段,其中第一个字段是主键,目前有一条记录是1 /‘first’/ 19,结构wa_result是和表相同类型的,当前值是2 / ‘second’/ 20 .执行OPEN SQL语句:modify TA from wa_result.执行后对系统的影响为. (b )A)没有任何影响B)TA有两条记录1 / ‘first’/ 19 和2 / ‘second’/ 20C)TA有一条记录2 / ‘second’/ 20D)系统出错退出,对表没有任何影响29.SAP对锁的主要实现手段是. (a )A)在SE11里加锁对象,然后在程序中调用锁对象生成的函数B)在数据库里加锁,在程序中声明C)由数据库自动进行,SAP不用处理D)在程序中通过SQL语句实现30.有一程序,起始画面里有一个用户可以输入字段为A ,如果想在程序进入的时候自动设置成上次退出时的值,可以采用的方法是. (b )A)在退出时使用GET PARAMETER ID XXX FIELD A.在进入时使用SET PARAMETER ID XXX FIELD A.B)在退出时使用SET PARAMETER ID XXX FIELD A.在进入时使用GET PARAMETER ID XXX FIELD A.C)不管是退出还是进入时,都执行语句GET PARAMETER ID XXX FIELD A.D)不管是退出还是进入时,都执行语句SET PARAMETER ID XXX FIELD A.31.SAP的SMARTFORM和ABAP PROGRAM的对应关系是. (c )A)一个SMARTFORM对应多个程序B)一个程序对应多个SMARTFORMC)一个SMARTFORM对应多个程序,一个程序也可以对应多个SMARTFORMD)一个SMARTFORM对应一个程序32.设计SMARTFORM显示一个表格,如果第一页是一种格式,后面几页是一种格式,如何设计. (d )A)第一页指向第二页,第二页指向空B)第一页指向自己,第二页指向第一页C)第一页指向第二页,第二页指向第一页D)第一页指向第二页,第二页指向自己33.如果想设计SMARTFORM中大家公用的文本,应该使用什么技术. (C )A)SMART TEXTB)SMART STYLEC)SAP SCRIPTD)TEXT MODULE34.下面对于SMARTFORM中TABLE和TEMPLATE的描述,正确的是. (d )A)TEMPLATE用来设计表格模版,TABLE用来设计表格实体B)TEMPLATE用来设计表格样式,TABLE用来设计表格实体C)TEMPLATE用来设计静态表格,TABLE用来设计表格实体D)TEMPLATE用来设计静态表格,TABLE用来设计动态表格35.SMARTFORM中TABLE的排序事件的触发场合是. (d )A)循环到排序字段第一次开始时触发开始事件,循环到排序字段结束时触发结束事件B)循环到排序字段第一次开始时触发开始事件,循环到表格结束时触发结束事件C)当表格开始时触发开始事件,表格结束时触发结束事件D)循环到排序字段第一次开始时触发开始事件,然后触发结束事件,然后开始正式循环该排序字段剩余记录36.在SMARTFORM中显示一个表格,其中有一个栏位为wa_sflight-price,现在里面有三行数据,其值依次分别是10,30,50 ,现在在表格设计的时候在Global Definition中定义一个变量G_TOL,在表格的Main Area中加入一个真假节点,节点的条件为WA_SFLIGHT-PRICE > 10 .然后,在真节点下加一个程序行,内容为G_TOL = wa_sflight-price + 10.假节点下加一个程序行,内容为G_TOL = wa_sflight-price + 20.最后在表格的Footer下加一个表行(在表格最后显示),下加一个文本节点显示这个字段G_TOL,它显示的值应该是. (a )A)60B)70C)140D)15037.SAP提供的修改系统标准功能的方案里,哪几种是不需要修改系统标准程序就可以实现的. (c )A)Customer Develepment ,Enhancement,ModificationB)Customer Develepment ,Customizing,ModificationC)Customer Develepment ,Customizing,EnhancementD)Enhancement,Modification,Customizing38.对于客户定制需求的解决方案,应该遵循哪一种顺序进行为宜. (c )A)先判断能否配置;再判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement;最后考虑自己开发B)先判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement;然后判断能否配置;最后考虑自己开发C)先判断能否配置;再判断系统有无类似功能,有的话先判断能否进行Enhancement,再判断能否修改标准程序;最后考虑自己开发D)先判断系统有无类似功能,有的话先判断能否进行Enhancement,再判断能否修改标准程序;然后判断能否配置;最后考虑自己开发39.自己定义一个增强项目,加入系统的增强,并在其中激活增强的TCODE应该是. (b )A)SMODB)CMODC)SE84D)SE8040.在SAP系统标准增强功能里,主要包含了以下哪组功能. (a )A)Table Enhancement/Screen Exit/Menu Exit/Function module ExitB)Table Enhancement/Structure Exit/Menu Exit/Event ExitC)Menu Exit/Function module Exit/Field Exit/BAPI ExitD)Structure Exit/Menu Exit/Table Enhancement/Screen Exit二问答题(共13题,)1.什么是授权对象?在ABAP 程序中使用哪条语句进行授权检查?答案:授权对象由一组字段组成,这些字段中的值将被用于进行授权检查。

abap常用面试问题

abap常用面试问题

abap常用面试问题
1. ABAP是什么?它的作用是什么?
2. ABAP和其他编程语言有什么区别?
3. ABAP的数据类型有哪些?
4. 什么是数据字典?它在ABAP中的作用是什么?
5. 请解释一下ABAP包是什么?
6. ABAP中的内表和表格有什么区别?
7. 什么是ABAP程序的事物码?
8. 如何在ABAP中处理异常?
9. ABAP中如何处理用户输入和输出?
10. 请解释一下ABAP中的MODIFY语句的作用。

11. 如何调试ABAP程序?
12. ABAP数据字典中的数据元素和域有什么区别?
13. 请解释一下ABAP中的链表技术。

14. 如何在ABAP中进行数据转换?
15. ABAP中有哪些常用的函数模块?
16. 如何在ABAP中读取和写入文件?
17. ABAP中如何处理日期和时间?
18. 什么是内核扩展和BADI?
19. 如何使用SAP智能搜索(SAP Intelligent Search)?
20. 如何通过结构化数据分析(Structural Data Analysis)来调试ABAP程序?。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录1. 报表知识 (6)1.1基础知识 (6)1.1.1报表事件,有哪些? (6)1.1.2报表选择画面 (7)1.2ALV报表 (8)1.2.1ALV报表实现的流程 (8)1.2.2显示ALV常用的两个FM (8)1.2.3如何设置ALV中的热键 (8)1.2.4ALV显示中的小计 (8)1.2.5FM ALV 和 OO ALV的比较 (8)1.3WRITE LIST (8)2. 数据库知识 (9)2.1基础知识 (9)2.1.1 ABAP数据字典有哪些对象或元素? (9)2.1.2 据库提交确认和数据库回滚取消语句 (9)2.1.3 什么是LUW (9)2.1.4简述modify 、insert、update对数据库表做操作时的影响 (9)2.1.5 要描述域、数据元素、表字段之间的关系 (9)2.1.6数据字典有几种缓冲方式,适用围? (9)2.2ABAP和数据库 (10)2.2.1 ABAP 数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项! (10)2.2.2 ABAP透明表有哪几种数据类(data class)?对数据的存储有什么影响? (10)2.2.3 SAP中有几种表,他们的区别是什么? (10)2.2.4什么是簇表(cluster table)?举出知道的簇表。

(10)2.2.5找数据库表,有哪些常用的方法。

(10)2.2.6如何建立数据库锁对象,激活锁对象产生的Function Module的名字为什么,在何处查看锁表的情况? (10)2.2.7更新 FM 分为 V1 和 V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或本地)执行的呢? (11)2.2.7使用OPEN SQL注意原则 (11)2.3与表相关 (11)2.3.1 MM模块有哪些常用表格 (11)2.3.2 HR模块知识:HR里面存储HR主数据主要用到了哪些表? (11)2.3.3 HR模块知识:HR程序在开发中常用的两个逻辑数据库是什么?分别对其进行描述 12 2.3.4 HR模块知识:HR模块里面,如何修改HR的信息类型,具体如何实现 (12)2.3.5财务模块:财务模块开发中常用的表有哪些,简单举例说明: (12)2.3.6PM 常用的TABLE (12)2.3.6inner join 与 left-outer join的区别? (13)3. 权限相关 (14)3.1什么是权限对象(Authorization Objects)?在 ABAP 程序中使用哪条语句进行授权检查? (14)3.2与权限对象有关的事务代码有哪些? (14)4. DIALOG (15)4.1DIALOG 中的几个事件 (15)4.2何在TABLE CONTROL中实现选中一行或多行的效果 (15)4.3DIALOG 开发的常用几个控件是什么? (15)5. BDC (16)5.1BDC录屏的事务代码 (16)5.2BDC与BAPI之间的区别 (16)5.3BDC录屏的注意事项 (16)5.4谈谈BDC的运行模式和更新模式 (16)6. 增强 (17)6.1什么叫增强?有哪些方式进行增强? (17)6.1.1 User EXIT (17)6.1.2 Customer exit (17)6.1.3 BADI (17)6.1.4 Enhancement Spot (17)6.2如何建立增强? (17)6.3与增强相关的事务代码有哪些 (18)6.4如何进行数据库表字段的增强?Append和Include的方式有何区别? (18)7. SMARTFORMS (19)7.1谈谈SmartForm中,Template和Table表格的区别 (19)7.2SMART FORM如何实现公司LOG打印,其步骤是什么? (19)7.3smartform 中如何控制段落、单个字符输出格式? (19)8. RFC和BAPI (20)8.1 RFC (20)8.1.1什么是RFC,有哪些通信模式? (20)8.1.2 RFC中涉及到常用的事务代码有哪些? (20)8.1.3根据调用方式的不同,RFC接口提供了什么样的服务? (20)8.1.4RFC接口的具体功能包括哪些? (20)8.1.5在通过CALL FUNCTION语句进行远程功能调用的基本模式有哪些 (20)8.1.6怎么创建一个支持远程调用的RFC (21)8.1.7怎么调用一个SAP标准RFC (21)8.1.8怎样建立RFC程序?RFC程序传递的参数都是传递值还是引用?如何建立函数组? 21 8.1.9怎么来维护这个DESTINATION(远程目标) (21)8.2 BAPI (21)8.2.1什么是BAPI?你使用过哪些BAPI实现什么功能? (21)8.2.2什么是业务对象类型?它包含哪些主件? (21)8.2.3如何创建一个BAPI? (22)8.2.4编写BAPI的注意事项有哪些? (22)8.2.5谈谈与BAPI相关的事务代码。

(22)8.3 RFC 和BAPI的相同之处和不同之处 (22)8.3.1 RFC和BAPI的区别? (22)9.其他 (23)9.1 基础知识 (23)9.1.1CHECK、EXIT、RETURN命令的区别? (23)9.1.2初始化表有几种方式? (23)9.1.3 一个程序如何调用另外一个程序 (24)9.1.4 在一个程序中如何调用其他事物代码 (24)9.1.5在进行画面跳转时,CALL SCREEN与LEAVE TO SCREEN的区别? (24)9.1.6 LOOP 循环和系统字段? (24)9.1.7 MESSAGE消息有哪些类型,含义?如何自定义MESSAGE消息类? (24)9.1.8 ABAP中,如何自定义异常类?如何捕捉异常? (24)9.1.9什么是事物变式?事务变式有什么用? (25)9.1.10 RANGE (25)9.1.11对于FIELD SYMBOL赋值将使用 (25)9.1.12 Perform 调用子程序时,using ,tables,changing 3个参数分别有什么影响?25 9.1.13如何在程序间传送数据? (25)9.2 延伸 (26)9.2.1自定义搜索帮助有几种方式?如何实现 (26)9.2.2怎么创建number range (26)9.2.3 function module中,如何给出错误消息? (26)9.2.4如何优化ABAP程序? (26)9.2.5前导零的处理方式 (27)9.2.6 程序事件和系统事件 (27)9.2.7如何建立一个外部数据库的连接 (27)9.2.8怎样从文件服务器上读取文件?和写文件到文件服务器上? (27)9.2.9 SAP 包括哪些传输技术 (27)9.2.10如何将表数据转换成一个XML文件? (28)9.2.11怎么导出一个WSDL文件? (28)9.2.12怎么导入一个WSDL文件? (28)9.2.13创建后台程序的TCODE是什么,如何在程序里面调用后台程序 (28)9.2.14 webservice (28)9.2.15什么叫BTE (Business Transaction Event),BTE的两种类型? (28)9.2.16现阶段接口开发使用的技术 (29)9.2.17将一个RFM(Remote-Enabled Module)创建一个WEB SERVICE都有什么相关的事务代码? (29)9.2.18esb使用 (29)10.常用T-CODE (30)1. 报表知识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-SCREEN 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报表,涉及到的逻辑数据库事件: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循环的工作区该工作区中位于指定字段后面的值将不会被读取如果需要用到则需重新抽取一次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如何更改屏幕各元素的状态?举例一些比较常用的屏幕属性在报表AT SELECTION-SCREEN OUTPUT事件中或PBO(PROCESS BEFORE OUTPUT)中,LOOP AT SCREEN.….MODIFY SCREEN.ENDLOOP.SCREEN-NAME 画面元素的名称SCREEN-GROUP1 ~ SCREEN-GROUP4 对画面元素的分组SCREEN-INPUT 能否输入SCREEN-INVISIBLE 是否可见SCREEN-LENGTH 可见长度SCREEN-ACTIVE 是否是可用的状态1.2ALV报表1.2.1ALV报表实现的流程声明数据对象→定义选择画面→从数据库取数→处理数据→显示数据1.2.2显示ALV常用的两个FMREUSE_ALV_GRID_DISPLAY,REUSE_ALV_LIST_DISPLAY,REUSE_ALV_GRID_DISPLAY_LVC1.2.3如何设置ALV中的热键set parameter id 'BES' field gw_itab-ebeln.call transaction 'ME23N' and skip first screen.1.2.4ALV显示中的小计(1)使用SUBTOTalv可以实现自动小计,首先field cat 参数中添加DO_SUM = X,然后传入sorttable,可以在sorttable中指定需要小计的列(2)使用AT 语句在LOOP 循环中使用AT END OF FIELD1.2.5FM ALV 和 OO ALV的比较FM alv 和OO alv 都能够实现按钮自定义、数据修改、按钮处理自定义等操作,通常情况下FM alv 主要用于报表数据展示及简单交互,OO alv 主要用于dialog 程序开发,可以进行复杂的控制,比如单元格的修改控制(FM只能控制到列修改性)、自定义F4等,OO alv可以根据容器排列很方便的定义布局,一个屏幕可以放多个alv,但是FM alv只能一屏显示一个alv。

相关文档
最新文档