ABAP面试大全之令狐文艳创作
- 格式:doc
- 大小:78.00 KB
- 文档页数:30
第1篇一、基础知识1. 请简述SAP ABAP开发环境的组成。
答案:SAP ABAP开发环境主要包括以下组成部分:(1)SAP GUI:用于与SAP系统交互的图形用户界面。
(2)SAP SE38/SE80:用于编写、调试和测试ABAP代码的编辑器。
(3)SAP SScr:用于开发SAP Screen Painter屏幕画家的工具。
(4)SAP ADT:用于开发SAP Advanced Business Application Programming技术的工具。
(5)SAP NetWeaver:SAP的集成平台,提供各种开发、运行和管理工具。
2. 请解释SAP ABAP中的数据类型。
答案:SAP ABAP中的数据类型分为以下几类:(1)基本数据类型:包括整型(INTEGER)、浮点型(FLOAT)、字符型(CHAR)、日期型(DATETIME)等。
(2)结构化数据类型:包括结构(STRUCTURE)、表(TABLE)、内表(INTERNAL TABLE)等。
(3)用户定义数据类型:包括类(CLASS)、接口(INTERFACE)等。
3. 请简述SAP ABAP中的模块化编程。
答案:SAP ABAP中的模块化编程是指将程序划分为多个模块,每个模块负责特定的功能。
模块化编程的优点如下:(1)提高代码的可读性和可维护性。
(2)方便代码的重用。
(3)便于调试和测试。
4. 请解释SAP ABAP中的异常处理。
答案:SAP ABAP中的异常处理是指程序在运行过程中遇到错误时,能够及时捕获并处理这些错误。
异常处理的基本步骤如下:(1)声明异常:在程序中声明可能发生的异常。
(2)抛出异常:当程序遇到错误时,抛出异常。
(3)捕获异常:在程序中捕获并处理异常。
二、高级应用1. 请解释SAP ABAP中的内表(Internal Table)。
答案:SAP ABAP中的内表是一种临时存储数据的结构,类似于C语言中的数组。
abap面试题1. 介绍ABAP编程语言ABAP(Advanced Business Application Programming)是一种高级商务应用程序编程语言,是SAP系统的核心编程语言,用于开发和定制SAP软件。
它是一种高级的事件驱动编程语言,结合了批处理和事务处理的特点,支持面向对象编程和数据库交互。
2. 什么是ABAP Workbench?ABAP Workbench是一个集成开发环境(IDE),用于开发、维护和测试ABAP程序。
它提供了一系列工具和功能,包括代码编辑器、调试器、数据字典、表格维护器等,方便开发人员进行ABAP程序的开发和调试。
3. 请解释ABAP的数据字典是什么?ABAP的数据字典是一个集中管理和维护数据库对象的工具。
它提供了定义、创建、修改和删除数据库表、视图、数据类型、域、索引等的功能。
通过数据字典,开发人员可以方便地管理和维护与数据库相关的对象。
4. 请解释ABAP中的模块池和程序包的概念。
模块池是一个逻辑单元,用于存放相关的ABAP程序。
在模块池中,可以定义和存放ABAP程序、函数模块、子程序等。
程序包是一个专门的目录存放模块池,可以将多个模块池组织在一个程序包中,方便管理和维护。
5. 什么是BADI(Business Add-Ins)?BADI是一种在SAP系统中进行扩展的方法。
它是一些预定义的接口,当某个特定事件发生时,可以调用这些接口来增强或修改系统的功能。
通过实现BADI接口,可以在不修改SAP标准代码的情况下进行功能的定制和扩展。
6. 解释RFC(远程函数调用)是什么及其在ABAP中的作用。
RFC(Remote Function Call)是一种在不同系统之间进行通信的机制。
它允许在SAP系统和其他外部系统之间进行远程函数调用。
在ABAP中,可以使用RFC机制与其他系统进行数据交换和共享功能,实现不同系统之间的集成。
7. 如何在ABAP中处理异常?在ABAP中,可以使用EXCEPTION语句处理异常。
目录1. 报表知识 (6)根底知识 (6)报表事件,有哪些? (6)报表选择画面 (7)ALV报表 (8)ALV报表实现的流程 (8)显示ALV常用的两个FM (8)如何设置ALV中的热键 (8)ALV显示中的小计 (8)FM ALV 和 OO ALV的比较 (8)WRITE LIST (8)2. 数据库知识 (9)根底知识 (9)2.1.1 ABAP数据字典有哪些对象或元素? (9)2.1.2 据库提交确认和数据库回滚取消语句 (9)2.1.3 什么是LUW (9)简述modify 、insert、update对数据库表做操作时的影响 (9)2.1.5 要描述域、数据元素、表字段之间的关系 (9)数据字典有几种缓冲方式,适用范围? (9)ABAP和数据库 (10)2.2.1 ABAP 数据表的主索引是什么?索引的好处与害处?与建索引的本卷须知! (10)2.2.2 ABAP透明表有哪几种数据类(data class)?对数据的存储有什么影响? (10)2.2.3 SAP中有几种表,他们的区别是什么? (10)什么是簇表〔cluster table〕?举出知道的簇表。
(10)找数据库表,有哪些常用的方法。
(10)如何建立数据库锁对象,激活锁对象产生的Function Module的名字为什么,在何处查看锁表的情况? (10)更新 FM 分为 V1 和 V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式〔异步、同步或本地〕执行的呢? (11)使用OPEN SQL注意原那么 (11)与表相关 (11)2.3.1 MM模块有哪些常用表格 (11)2.3.2 HR模块知识:HR里面存储HR主数据主要用到了哪些表? (11)2.3.3 HR模块知识:HR程序在开发中常用的两个逻辑数据库是什么?分别对其进行描述 122.3.4 HR模块知识:HR模块里面,如何修改HR的信息类型,具体如何实现 (12)财务模块:财务模块开发中常用的表有哪些,简单举例说明: (12)PM 常用的TABLE (12)inner join 与 left-outer join的区别? (13)3. 权限相关 ............................................................................................. 错误!未定义书签。
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 道面试题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面试问题及答案问题一:锁对象(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 内存复制到程序中。
外联部一轮面试流程令狐文艳面试官注意事项:1.面试要求在10分钟以内,两分钟自我介绍,四分钟的常规提问,四分钟针对部门提问;2.自备纸笔,做好记录,每个项目提问1~2个一、应聘者的经历或成就,有何外联经验等1.你以前曾参加过哪些课外活动?2.请谈谈你觉得对于自己的表现不甚满意的一次经历。
3.请谈谈你觉得对于自己的表现最满意的一次经历。
4.你还参加了其他组织的面试?面试结果如何,是否身兼多职或者将会身兼多职?(这一点很重要,了解应聘者加入其他组织的情况,对于加入过多组织的,应谨慎考虑,因之后其可能不会留在队伍。
)——可继续问:如果我们和其他组织同时选择了你,你将如何做出选择?——可考察出:应聘者个人更偏向于哪个组织。
5.你是否有担任班委?(大小班)6.请谈谈你对军训的感受和看法7.今年暑假有没有去打暑假工?请谈谈你的经历和感受8.是否曾经有外联经验,请你给自己的经历做一个总结9.是什么吸引了你想要加入我们?10.你觉得自己的部长应该是怎样的?二、对礼仪组的认识、对外联部工作岗位的认识和定位2.你想要入学生会,你奶奶知道了,但她不知道什么是学生会,不知道你为什么要去,你怎么解释给你的奶奶听?(实际问题是:你对学生会的理解和认识?你进学生会的目的是什么?)3.你认为在拉赞助的时候应该注意些什么?4.你认为在外联部工作,最重要的素质是什么?(诚实守信,坚定不移,能够吃苦,待人热情,语言得体)三、对工作的态度(吃苦耐劳能力)1.如果在你工作之后,发现所要做的事和你之前想象的有很大出入,甚至觉得有相当大难度,你会怎么对待?是选择退出吗?2.参加了组织的工作之后,免不了要牺牲一些休息的时间、玩乐的时间、甚至少数时候为了完成组织上的工作而迫不得已要逃课时,你觉得这样做值得吗?你怎么看待这个问题?3.在你的学习中,你感受到什么样的压力?你是怎样对待这些压力的?请讲述一下有关情况。
4.你怎样看待学校活动与学习之间的关系?当你发现你所加入的组织给了你太多的工作,而这些工作又与你的专业没有太大联系,并且在一定程度上影响到你的专业学习时,这时你认为自己会如何抉择?5.男生:外联部负责搬物资,男生会很辛苦,你觉得自己可以胜任吗?女生:有时候女生甚至会被当成男生般分配任务,你觉得自己能够胜任吗?6.外联部需要向学校借场地、借课室、借物资,如果当天老师的态度很差,甚至骂了你,你的真实感觉是什么,你会怎么办?7.如果你有一天有课,而部门又正好需要你去做一件十分重要的事,你会怎么取舍?8.你不喜欢的人是什么样子的,如果部门内部出现这样的人,你如何处理?9..如果你现在是一名学生会干部,当你发现学生会内部出现你无法接受的事情,你将如何处理,并且如何将你所发现的问题汇报给你的上级?若发生问题的人或者组织是你所在部门或你的同班(系)同学,你又会怎样解决?四、工作的主动性和上进心1.你觉得自己最大的长处是什么?2.你觉得自己最大的弱点(缺点)是什么?5.你觉得你有什么值得我们录用呢?6.如果你顺利通过我们部门的面试,你觉得你通过的原因是什么?8.如果你加入外联部之后,发觉部门内部的效率不如想象中的高,你会怎么做?10.你入了外联部后准备接下来怎么做11..在学生会里,有时因工作协调,会让你去做苦力类的工作,你如何看待?五、兴趣爱好1.谈谈你自己吧。
sap abap面试题Introduction:在准备SAP ABAP面试时,对于常见的问题做好充分准备是非常重要的。
本文将提供一些常见的SAP ABAP面试题及其答案,以帮助读者更好地准备面试。
1. 什么是 SAP ABAP?SAP ABAP(Advanced Business Application Programming)是一种高级业务应用程序编程语言,用于开发和定制SAP应用程序。
2. 请简要介绍 ABAP Workbench。
ABAP Workbench是用于开发、维护和管理SAP应用程序的综合开发环境。
它提供了各种工具和功能,如ABAP编辑器、数据字典、屏幕绘制器等。
3. ABAP程序的结构是怎样的?一个典型的ABAP程序包括一系列的语句块,其中最常见的是“DATA”、“TYPES”、“SELECT”、“LOOP”以及“END”等。
其中,“DATA”部分用于声明变量,而“TYPES”部分用于定义数据类型。
4. 请解释一下 ABAP数据字典。
ABAP数据字典是一个中央的数据定义和管理工具,用于创建和维护数据结构(表、视图、数据类型等)。
它还控制与数据相关的安全性和完整性。
5. 在 SAP 中,什么是交付单(Delivery)?交付单是用于分发和运输SAP应用程序和支持包的工具。
它用于将自定义程序和配置更改从开发系统转移到测试和生产系统。
6. 如何处理 ABAP Debugging?ABAP Debugging是在程序执行期间通过逐行执行代码以进行故障排除和调试的过程。
我们可以通过在调试模式下运行程序并使用断点进行调试。
7. 解释一下 SAP ABAP Monitoring和 Tuning。
SAP ABAP Monitoring用于监控系统中ABAP程序的执行情况,如性能、内存使用情况等。
Tuning则是根据监控结果对ABAP程序进行优化和调整,以提高性能和效率。
8. 如何在 SAP ABAP 中进行异常处理?在ABAP中,我们可以使用TRY...CATCH语句块来处理异常。
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 用于将资料複製到 abap 记忆体,import frommemory id 用于将资料从 abap 记忆体複製到程式中。
在 abap 记忆体间进行交换的资料必需在两个程式中都进行宣告,幷包含同样的资料宣告。
目录令狐文艳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-SCREENON fieldAT SELECTION-SCREEN ON BLOCK blockAT SELECTION-SCREEN ON RADIOBUTTON GROUP group1AT SELECTION-SCREENON 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。
1.3WRITE LISTWRITE LIST 可以输出一些比较复杂的报表格式。
WRITE LIST 也是一种报表的输出方式,要注重的就是一些WRITE的基本语法就可以了!在这里不一一列举。
2. 数据库知识2.1基础知识2.1.1ABAP数据字典有哪些对象或元素?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 内表或者工作区来进行多条和单条的更新,要求内表或工作区跟数据库表的结构一致,当数据库表中存在重复记录时,执行更新操作,更新的值为内表或工作区的值,,当数据库表中不存在记录时,执行插入,插入的值为内表或工作区的值Insert 操作数据库时,可以用from内表或者工作区进行多条和单条的插入,要求内表或工作区跟数据库表的结构一致,如果数据库中不存在重复记录时,执行插入,插入的值为内表或工作区的值;如果已经存在重复记录,会出现更新异常Update 操作数据库时,可以直接set 来进行单值更新,可以用from table 和工作区进行批量更新,要求内表和工作区跟数据库表的结构一致,当存在记录时执行更新,当不存在记录时,没有数据会被更新,同时也不会产生异常,sy-subrc = 02.1.5 要描述域、数据元素、表字段之间的关系域为数据字典中最小的单元数据元素是基于域进行定义的表字段则是通过数据元素进行定义的2.1.6数据字典有几种缓冲方式,适用范围?full buffer(全缓冲),一个表的数据要么全在内存中要么全不在。
当表记录很少,访问非常频繁且很少进行修改时使用:generic area buffer(常规区域缓冲),语言代码相关的表时最常使用的情况,如文本描述表,缓存满足在generic keys 中定义的字段(个数介于1个和表主键数减1)的值得记录:Single-record buffer(单记录缓冲),数据库表记录比较大,并且经常都是读取一条记录如select single2.2ABAP和数据库2.2.1 ABAP 数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项!ABAP 数据表的主索引是什么?索引的好处与坏处?与建索引的注意事项!数据表的主键即是表的主索引;好的索引能加快数据读取的速度但会增加更新数据库表的时间;建立次级索引时应尽量选取那些查询条件经常使用到得字段2.2.2ABAP透明表有哪几种数据类(data class)?对数据的存储有什么影响?主数据类,经常读取,很少修改的数据;业务数据类,经常更新的数据;组织数据类,系统初始化时存在的数据,也很少修改。
决定了数据实际存放的物理区域2.2.3SAP中有几种表,他们的区别是什么?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)?举出知道的簇表。
簇表是逻辑上有关联的几个表,在定义的时候分配给一个表簇。
Bseg2.2.5找数据库表,有哪些常用的方法。
(1) 通过点击画面上需要查找的字段,点击F1,在弹出画面中的技术信息。
(2) 通过ST05进行数据库操作的跟踪,对于在前台界面进行数据的新增或更新,在数据库中都会有所体现(3) 通过事务SE80-> Repository Information System->ABAP字典->数据库表格中,对某个字段进行查询2.2.6如何建立数据库锁对象,激活锁对象产生的Function Module的名字为什么,在何处查看锁表的情况?在SE11中,选择“锁对象”,即可建立。
用于设锁的 FM 为: ENQUEUE_<锁对象名>。
它用于在锁表(Lock Table)中生成一个锁项(Lock Entry)。
若设锁不成功的话,就会在 Return 中反映出来。
用于释放锁的 FM 为:DEQUEUE_<锁对象名>。
它用于从锁表中删除一个锁项。
在SM12中查看锁表的情况。
这两个锁 FM 是在 SAP 系统的一个特殊工作进程中执行的,专门进行锁管理。
它运行在一个单独的服务器上,而该服务器专门用于维护整个 SAP 系统的主锁表(Central Locak Table)。
有两种锁类型:共享锁——只读锁,一个用户正在读数据时,阻止其他用户更改该数据。
独占锁——可写锁,一个用户正在修改数据时,阻止其他用户更改该数据。
2.2.7更新 FM 分为 V1 和 V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或本地)执行的呢?V1 更新类型比 V2 更新类型的优先级高,因此,V1 比V2 行执行。
V1 的执行模式可以为异步、同步或本地;V2 只能为异步执行。
2.2.7使用OPEN SQL注意原则(1) a、尽可能减少满足条件的数据条目数量。
b、减少数据的传输量,以减少网络流量。