SAP abap笔试面试题目
sapabap面试题目及答案(3篇)
第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面试题sap
abap面试题sapABAP面试题答案(SAP)1. 介绍ABAP编程语言ABAP(Advanced Business Application Programming)是SAP的专有编程语言,用于开发和定制SAP应用程序。
它是一种高级的、事件驱动的编程语言,具有丰富的数据处理和业务逻辑功能,并与SAP的数据库和服务器进行无缝集成。
2. 解释SAP系统架构SAP系统架构主要包括三个层次:表示层、应用层和数据库层。
- 表示层:提供用户界面,允许用户通过各种设备(例如PC、手机等)与SAP系统进行交互。
- 应用层:处理业务逻辑和事务处理。
ABAP代码在应用服务器上执行,包括数据处理、验证和逻辑控制等。
- 数据库层:存储系统数据和应用程序数据。
3. 解释ABAP数据字典ABAP数据字典是用于定义和管理SAP应用程序中使用的数据对象的工具。
它提供了各种数据类型、表、视图、数据元素和域,用于组织和管理数据。
通过数据字典,开发人员可以方便地创建和修改数据库表、数据类型等结构。
4. 什么是用户退出(User Exit)和什么时候使用它?用户退出是在SAP系统中嵌入自定义代码的一种方法。
它允许开发人员在标准SAP事务处理中添加自定义逻辑,以满足特定的业务需求。
用户退出通常在标准SAP功能无法满足业务需求时使用。
5. 解释BADI(Business Add-Ins)和它们的优势BADI是一种在SAP系统中实现面向对象编程的技术。
它允许开发人员在SAP标准事务过程中插入自定义逻辑,以实现特定的业务需求。
与用户退出相比,BADI具有更好的可扩展性和灵活性,并可通过简单的配置进行激活或停用。
6. 什么是RFC(远程函数调用)?RFC是一种用于在SAP系统之间进行远程通信的协议和技术。
它允许一个SAP系统中的程序调用另一个SAP系统中的函数或方法。
RFC广泛应用于SAP系统的集成和数据交换。
7. 解释SAP Smart FormsSAP Smart Forms是一种用于创建和管理电子表单的工具。
ABAP面试问题和答案
Ans: User exit is for single implementation and it is
modulepassbyValue or passbyreference?
proceduralapproach while BADIs are for multiple implementation and
第1页共3页
本文格式为 Word 版,下载可任意编辑,页眉双击删除即可。
14. List the events in ABAp/4 Language?
to transport the request number throughSCC1.Sap script is stroed
Ans: The events in ABAp/4 are load of
Ans: always pass by Value.
objectoriented approach.
RFC is Remote Function call so it can’t access the values
Multiple implementation means Reusability… because we use
withpass by reference.
OOpsConcepts for BADI.
16. Buffering concept usage?
24. Control break events in ABAp:-
Ans: There are three type of buffer
1. AT-FIRST: This is used when we want to execute the
in side the client depended table as aTEXT.so sapscripts are client
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 道面试题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(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模块的基本概念和用法,并熟悉常见的使用场景和最佳实践。
SAP 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 用于将数据复制到ABAP 内存,IMPORT from MEMORY ID 用于将数据从ABAP 内存复制到程序中。
在ABAP 内存间进行交换的数据必须在两个程序中都进行声明,并包含同样的数据声明。
SAP面试题目(ABAP)
SAP面试题目(ABAP)问题:SAP面试题目(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 用于将数据复制到ABAP 内存,IMPORT from MEMORY ID 用于将数据从ABAP 内存复制到程序中。
在ABAP 内存间进行交换的数据必须在两个程序中都进行声明,并包含同样的数据声明。
问题四:授权对象(Authorization Objects)什么是授权对象?在ABAP 程序中使用哪条语句进行授权检查?答案:授权对象由一组字段组成,这些字段中的值将被用于进行授权检查。
(招聘面试)ABAP面试大全
目录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相关的事务代码。
SAP ABAP基础面试题
参考ECC系统中的示例数据库表完成本程序。
示例数据库:SCARR航线信息SGEOCITY城市地理位置SCOUNTER销售柜台SPFLI航班信息SFLIGHT航班具体班次信息SBOOK订票数据程序编写要求:1、程序类型为可执行Report程序;2、选择条件使用选择屏幕实现;3、数据查询使用Open Sql;4、兼顾性能优化和用户界面美观;5、遵守命名规范和代码规范;6、实现对多语言的支持,有中、英两种界面。
程序内容要求:一、航班班次查询选择条件:运营公司代码(CARRID)、航线代码(CONNID)、始发国家、始发城市、始发机场、抵达国家、抵达城市、抵达机场、飞行日期、起飞时间、抵达时间、机票价格,且以上条件都为多选。
默认显示剩余座位不为0的航班班次,但用户也可以选择显示全部航班班次;用户可以选择输出结果排序方式和输出最大条数(默认值为20);用户可选择排序方式有:价格、起飞时间(默认)、抵达时间三种。
要求:1、如果没有对应航班班次,请进行消息提示;2、飞行日期默认为当前系统日期;3、输入非法日期、时间(已过去日期,时间)时需要进行消息提示;4、机票价格不可以输入负数;5、当用户选择显示无剩余座位的航班班次时,无剩余座位班次使用红色背景进行突出显示;6、显示列表内容及其格式。
格式:使用ALV格式展现;显示内容:序号、运营公司代码(CARRID)、航线代码(CONNID)、始发国家、始发城市、始发机场、抵达国家、抵达城市、抵达机场、飞行日期、起飞时间、抵达时间、机票价格、剩余座位。
二、航班旅客信息查询选择条件:运营公司代码(CARRID)、航线代码(CONNID)、始发国家、始发城市、始发机场、抵达国家、抵达城市、抵达机场、飞行日期、起飞时间、抵达时间、乘客代码,且以上条件都为多选。
要求:1、如果没有对应航班班次或尚未有乘客信息,请进行消息提示;2、显示内容及其格式。
格式:使用WRITE方式输出,显示时按照航班班次进行分组显示。
sap abap面试题
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语句块来处理异常。
sap技术面试题
sap技术面试题在进行SAP技术面试前,准备充分是非常重要的。
以下是一些常见的SAP技术面试题,通过了解这些问题及其答案,可以帮助您更好地应对和准备面试。
问题1:请简要介绍一下SAP系统及其组成部分。
答:SAP(Systems, Applications and Products in Data Processing)是企业级应用软件的领先提供商。
SAP系统由若干组件组成,其中最常见的组件包括SAP ERP(企业资源计划)、SAP BW(商务智能)、SAP CRM(客户关系管理)等。
问题2:请解释一下SAP ECC系统是什么?它有哪些模块?答:SAP ECC(Enterprise Central Component)是SAP ERP系统的核心组件,它包含了企业的主要功能和流程。
SAP ECC系统主要由以下模块组成:1. 采购管理(MM):处理采购订单、供应商管理等。
2. 销售与分销(SD):处理销售订单、客户管理等。
3. 财务会计(FI):处理财务报表、总账记账等。
4. 控制管理(CO):处理成本控制、利润中心等。
5. 人力资源管理(HR):处理员工管理、薪资核算等。
问题3:什么是SAP HANA?它有何优点?答:SAP HANA(High-Performance Analytic Appliance)是SAP开发的内存数据库和应用平台。
它具有以下优点:1. 性能提升:SAP HANA通过将数据加载到内存中,大大加快了数据查询和分析的速度。
2. 实时分析:SAP HANA可以实现实时数据分析,使企业能够更快地做出决策。
3. 数据集成:SAP HANA支持多种数据源的集成,可以方便地从不同系统中提取和整合数据。
4. 简化IT架构:SAP HANA可以将不同系统的功能整合到一个平台上,减少了企业的IT复杂性。
问题4:在SAP系统中,什么是SAP ABAP?它的作用是什么?答:SAP ABAP(Advanced Business Application Programming)是SAP系统的一种编程语言,用于开发、定制和扩展SAP应用程序。
ABAP面试及答案Interview+Questions
ABAP⾯试及答案Interview+Questions⾯试问题集1.数据效率尽量使⽤Select(max,min,sum,avg)和select single,for all enteris,⼆分法,append和collect loop⾥不能套select;避免使⽤select distinct,代替先sort,再delete;①抽取数据时,避免使⽤SELECT *, 尽量使⽤SELECT A B INTO TABLE ITAB这样的语句。
②不要使⽤SELECT...ENDSELECT语句。
③尽量避免在LOOP中访问数据库。
可以在之前先把数据取到内表,在LOOP中⽤READ TABLE WITHKEY ... BINARY SEARCH.进⾏读取对应的数据。
④⽤SORT代替ORDER BY。
⑤使⽤⼆分查找法。
READ TABLE的之前使⽤SORT TABLE BY对内表进⾏排序, 然后使⽤READ TABLEWITH KEY ...BINARY SEARCH.⑥避免使⽤SELECT DISTINCT语句。
在抽取数据到内表后⽤DELETE ADJACENT DUPLICATES语句来消除重复⾏。
⑦尽量多指定WHERE语句条件。
⑧在WHERE语句指定查询条件时,在同等条件下把包含等号的查询条件放到前边。
2.什么时候使⽤For all entries命令及其使⽤时的注意事项当需要在LOOP中使⽤查询语句时,⼀般使⽤For all entries。
注意事项:①IN条件所在的内表不能为空(如为空将取出全部的数据);②数据库字段与内表中的关联⽐较字段必须具有相同的类型和长度,且不能在⽐较中使⽤操作符LIKE、BETWEEN和IN,同时不能使⽤ORDER BY⼦句。
③为避免删除并不重复的纪录,在定义内表时应尽可能多的指定关键字。
3.如何设置ALV的⿏标双击事件。
如何设置ALV的页眉和页脚ALV的⿏标双击事件:构造LS_LAYOUT的F2CODE属性设置为”&ETA”即可。
ABAP面试问题及侧重点
ABAP⾯试问题及侧重点ABAP⾯试1.简单的Report包括哪些东西2.Dialog 逻辑流以及相应的处理内容3.⽤过的⼏种增强⽅式:怎么找增强4.接⼝和函数的使⽤,⼀般遇到⾃⼰不会的函数怎么处理5.关联查询:INNER JOIN 与 LEFT JOIN 与 FOR ALL ENTRIES IN各⽤在什么情况ABAP基础:报表,功能,增强,接⼝,数据处理及性能优化(不管内部还是外部,均需了解)REPORT:1)数据定义;定义内表,结构,选择屏幕2)数据处理;包括屏幕数据检查,数据查询,内表数据处理等3)数据显⽰;定义字段⽬录,布局,特殊设置,CALL FM(习惯⽤REUSE_ALV_GRID_DISPLAY_LVC,LVC后期兼容和修改⽅便,也可以替代OO alv ) DIALOG:这是SAP的精华之⼀,不懂DIALOG,不⼊SAP门。
1)PBO;数据显⽰前处理,循环数据显⽰处理;循环之后⽆效修改和处理2)PAI;表⾏,字段处理,更新表⾏;事件处理增强:出⼝,BADI,隐式(常⽤的三种);前两种可以⽤程序找(下篇⽂章),也可以找到程序对应的包,然后包⾥搜;隐式增强就是触发事件,DEBUG找地⽅加代码。
接⼝:就是查询,处理。
都会的查询:INNER 和LEFT,right是且与或的关系,确定都有的INNER,不确定有的,LEFT,RIGHT。
⽂本表不建议关联,适合单独查。
FOR ALL ENTRIES IN使⽤前最好对关键字排重,⾮空检查;内表超过10万不建议使⽤。
常规的性能优化:先查,后处理,LOOP下⾯尽量不⽤SELECT和LOOP,READ TABLE 要⼆分法排序;内表查询确定字段以及顺序,CORRESPONDING FIELDS使⽤时字段不要多。
考的都是基本的东西,考学习⾯,学习深度,学习能⼒,以及对SAP的认识和⾃⼰的思维逻辑能⼒附简单查询代码:凭证明细报表*&---------------------------------------------------------------------**& Report ZFIR025*&*&---------------------------------------------------------------------**&*&DESC :凭证明细表**&AUTHOR: LY*&*&DATE:20160721*&*&*&CHANGE LIST*& C DEVK901712 2016.07.21 08:11:04 LIYUAN*& C DEVK901869 2016.08.22 15:37:14 LIYUAN 增加本币⾦额*&---------------------------------------------------------------------*REPORT ZFIR025.TABLES:BKPF,BSEG,SKAT.TYPES:BEGIN OF TY_SHOW,MONAT TYPE BKPF-MONAT,BUDAT TYPE BKPF-BUDAT,BELNR TYPE BKPF-BELNR,BUKRS TYPE BKPF-BUKRS,BKTXT TYPE BKPF-BKTXT,GJAHR TYPE BKPF-GJAHR,BLART TYPE BKPF-BLART,WAERS TYPE BKPF-WAERS,USNAM TYPE BKPF-USNAM,AWKEY TYPE BKPF-AWKEY,HKONT TYPE BSEG-HKONT,KUNNR TYPE BSEG-KUNNR,LIFNR TYPE BSEG-LIFNR,KOSTL TYPE BSEG-KOSTL,FKBER TYPE BSEG-FKBER,WRBTR TYPE BSEG-WRBTR,WRBTRS TYPE BSEG-WRBTR,WRBTRH TYPE BSEG-WRBTR,SHKZG TYPE BSEG-SHKZG,MATNR TYPE BSEG-MATNR,XNEGP TYPE BSEG-XNEGP,RSTGR TYPE BSEG-RSTGR, "原因代码TXT40 TYPE T053S-TXT40, "原因代码⽂本LTEXT TYPE CSKT-LTEXT, "成本中⼼⽂本DMBTR TYPE BSEG-DMBTR,DMBTRS TYPE BSEG-DMBTR,DMBTRH TYPE BSEG-DMBTR,TXT50 TYPE SKAT-TXT50,GSBER TYPE BSEG-GSBER,END OF TY_SHOW,BEGIN OF TY_T053S,RSTGR TYPE BSEG-RSTGR, "原因代码BUKRS TYPE BSEG-BUKRS, "原因代码TXT40 TYPE T053S-TXT40, "原因代码⽂本END OF TY_T053S,BEGIN OF TY_CSKT,KOSTL TYPE BSEG-KOSTL, "原因代码LTEXT TYPE CSKT-LTEXT, "原因代码⽂本END OF TY_CSKT.DATA:GT_SHOW TYPE TABLE OF TY_SHOW,GW_SHOW LIKE LINE OF GT_SHOW,GT_T053 TYPE TABLE OF TY_T053S,GW_T053 LIKE LINE OF GT_T053,GT_CSKT TYPE TABLE OF TY_CSKT,GW_CSKT LIKE LINE OF GT_CSKT.DATA:GT_FIELDCAT TYPE LVC_T_FCAT.DATA GS_FIELDCAT LIKE LINE OF GT_FIELDCAT.DATA LS_LAYOUT TYPE LVC_S_LAYO.DEFINE APPEND_FIELDCAT .CLEAR GS_FIELDCAT.GS_FIELDCAT-FIELDNAME = &1.GS_FIELDCAT-SCRTEXT_L = &2.GS_FIELDCAT-OUTPUTLEN = &3.GS_FIELDCAT-NO_ZERO = &4.APPEND GS_FIELDCAT TO GT_FIELDCAT.END-OF-DEFINITION.SELECTION-SCREEN:BEGIN OF BLOCK BLK01 WITH FRAME TITLE TEXT-001. SELECT-OPTIONS:S_BUKRS FOR BKPF-BUKRS DEFAULT '1000'.SELECT-OPTIONS:S_GJAHR FOR BKPF-GJAHR DEFAULT SY-DATUM+0(4). SELECT-OPTIONS:S_MONAT FOR BKPF-MONAT DEFAULT SY-DATUM+4(2). SELECT-OPTIONS:S_BELNR FOR BKPF-BELNR.SELECT-OPTIONS:S_HKONT FOR BSEG-HKONT.SELECT-OPTIONS:S_KUNNR FOR BSEG-KUNNR.SELECT-OPTIONS:S_LIFNR FOR BSEG-LIFNR.SELECT-OPTIONS:S_KOSTL FOR BSEG-KOSTL.SELECT-OPTIONS:S_BLART FOR BKPF-BLART.SELECT-OPTIONS:S_BUDAT FOR BKPF-BUDAT.SELECT-OPTIONS:S_GSBER FOR BSEG-GSBER.SELECTION-SCREEN END OF BLOCK BLK01.START-OF-SELECTION.PERFORM PRM_GET_DATA.PERFORM PRM_PROCE_DATA.PERFORM PRM_SET_FIELD.PERFORM PRM_SHOW.*&---------------------------------------------------------------------**& Form PRM_GET_DATA*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM PRM_GET_DATA .SELECTBKPF~MONAT" TYPE BKPF-MONAT,BKPF~BUDAT" TYPE BKPF-BUDAT,BKPF~BELNR" TYPE BKPF-BELNR,BKPF~BUKRS" TYPE BKPF-BUKRS,BKPF~BKTXT" TYPE BKPF-BKTXT,BKPF~GJAHR" TYPE BKPF-GJAHR,BKPF~BLART" TYPE BKPF-BLART,BKPF~WAERS" TYPE BKPF-WAERS,BKPF~USNAM" TYPE BKPF-USNAM,BKPF~AWKEY" TYPE BKPF-USNAM,BSEG~HKONT" TYPE BSEG-HKONT,BSEG~KOSTL" TYPE BSEG-HKONT,BSEG~KUNNR" TYPE BSEG-HKONT,BSEG~LIFNR" TYPE BSEG-HKONT,BSEG~FKBER" TYPE BSEG-HKONT,BSEG~WRBTR" TYPE BSEG-WRBTR,BSEG~MATNR" TYPE BSEG-WRBTR,BSEG~SHKZG" TYPE BSEG-WRBTR,BSEG~XNEGP" TYPE BSEG-WRBTR,BSEG~RSTGR" TYPE BSEG-RSTGR,BSEG~DMBTRSKAT~TXT50" TYPE SKAT-TXT50,BSEG~GSBERINTO CORRESPONDING FIELDS OF TABLE GT_SHOWFROM BKPFINNER JOIN BSEGON BKPF~BUKRS = BSEG~BUKRSAND BKPF~BELNR = BSEG~BELNRINNER JOIN SKATON BSEG~HKONT = SKAT~SAKNRAND SKAT~SPRAS = '1'AND SKAT~KTOPL = '1000'WHERE BKPF~BUKRS IN S_BUKRSAND BKPF~GJAHR IN S_GJAHRAND BKPF~MONAT IN S_MONATAND BKPF~BELNR IN S_BELNRAND BSEG~HKONT IN S_HKONTAND BSEG~KUNNR IN S_KUNNRAND BSEG~LIFNR IN S_LIFNRAND BSEG~KOSTL IN S_KOSTLAND BSEG~GSBER IN S_GSBERAND BKPF~BLART IN S_BLARTAND BKPF~BUDAT IN S_BUDAT.IF GT_SHOW[] IS INITIAL.MESSAGE'⽆结果!'TYPE'S' DISPLAY LIKE'E'.LEAVE LIST-PROCESSING.ELSE.SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_T053FROM T053S WHERE SPRAS = '1'.SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_CSKTFROM CSKT WHERE SPRAS = '1'AND KOKRS = '1000'.ENDIF.ENDFORM.*&---------------------------------------------------------------------**& Form PRM_PROCE_DATA*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM PRM_PROCE_DATA .DATA:GS_SHOW LIKE LINE OF GT_SHOW.* SORT GT_SHOW BY BUKRS GJAHR BELNR KUNNR DESCENDING LIFNR DESCENDING." HKONT DESCENDING.LOOP AT GT_SHOW INTO GW_SHOW.* IF GW_SHOW-XNEGP = 'X'.* GW_SHOW-DMBTR = GW_SHOW-DMBTR * -1.* ENDIF.IF GW_SHOW-HKONT = '0002202002'AND GW_SHOW-LIFNR IS INITIAL."应付暂估带出供应商SELECT SINGLE LIFNR INTO GW_SHOW-LIFNR FROM BSEG WHERE BUKRS = GW_SHOW-BUKRS AND BELNR = GW_SHOW-BELNR AND GJAHR = GW_SHOW-GJAHR AND LIFNR <> ''. ENDIF.IF GW_SHOW-HKONT = '0001406001'AND GW_SHOW-KUNNR IS INITIAL."应付暂估带出供应商SELECT SINGLE KUNNR INTO GW_SHOW-KUNNR FROM BSEG WHERE BUKRS = GW_SHOW-BUKRS AND BELNR = GW_SHOW-BELNR AND GJAHR = GW_SHOW-GJAHR AND KUNNR <> ''. ENDIF.IF GW_SHOW-SHKZG = 'S'.IF GW_SHOW-XNEGP = 'X'.GW_SHOW-DMBTRH = GW_SHOW-DMBTR.GW_SHOW-WRBTRH = GW_SHOW-WRBTR.ELSE.GW_SHOW-DMBTRS = GW_SHOW-DMBTR.GW_SHOW-WRBTRS = GW_SHOW-WRBTR.ENDIF.* GW_SHOW-DMBTRS = GW_SHOW-DMBTR.ELSEIF GW_SHOW-SHKZG = 'H'.IF GW_SHOW-XNEGP = 'X'.GW_SHOW-DMBTRS = GW_SHOW-DMBTR * -1.GW_SHOW-WRBTRS = GW_SHOW-WRBTR * -1.ELSE.GW_SHOW-DMBTRH = GW_SHOW-DMBTR * -1.GW_SHOW-WRBTRH = GW_SHOW-WRBTR * -1.ENDIF.GW_SHOW-DMBTR = GW_SHOW-DMBTR * -1.GW_SHOW-WRBTR = GW_SHOW-WRBTR * -1.* GW_SHOW-DMBTRH = GW_SHOW-DMBTR.ENDIF.READ TABLE GT_T053 INTO GW_T053 WITH KEY BUKRS = GW_SHOW-BUKRS RSTGR = GW_SHOW-RSTGR.IF SY-SUBRC = 0.GW_SHOW-TXT40 = GW_T053-TXT40.ENDIF.READ TABLE GT_CSKT INTO GW_CSKT WITH KEY KOSTL = GW_SHOW-KOSTL.IF SY-SUBRC = 0.GW_SHOW-LTEXT = GW_CSKT-LTEXT.ENDIF.MODIFY GT_SHOW FROM GW_SHOW.CLEAR:GW_SHOW.ENDLOOP.ENDFORM.*&---------------------------------------------------------------------**& Form PRM_SET_FIELD*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM PRM_SET_FIELD .REFRESH GT_FIELDCAT.LS_LAYOUT-CWIDTH_OPT = 'X'. "优化列宽选项是否设置LS_LAYOUT-ZEBRA = 'X'.* ls_layout-box_fname = 'SEL'.APPEND_FIELDCAT:'BUKRS''公司代码'4'X','GJAHR''会计年度'4'X','MONAT''会计期间'2'X','BUDAT''过账⽇期'10'','BELNR''凭证编号'10'X','AWKEY''凭证参考'20'X','BKTXT''摘要'25'','HKONT''科⽬代码'10'X','TXT50''科⽬名称'50'','KUNNR''客户编号'10'','LIFNR''供应商编号'10'','FKBER''功能范围'4'','GSBER''业务范围'4'','WAERS''币别'3'','KOSTL''成本中⼼'10'X','LTEXT''成本中⼼描述'40'','MATNR''物料编码'18'X','RSTGR''原因代码'4'','TXT40''原因代码描述'40'','WRBTR''原币⾦额'16'','WRBTRS''原币借⽅⾦额'16'','WRBTRH''原币贷⽅⾦额'16'','DMBTR''本币⾦额'16'','DMBTRS''本币借⽅⾦额'16'','DMBTRH''本币贷⽅⾦额'16'','USNAM''制单⼈'12''.ENDFORM.*&---------------------------------------------------------------------**& Form PRM_SHOW*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text* <-- p2 text*----------------------------------------------------------------------*FORM PRM_SHOW .DATA:LV_TITLE TYPE LVC_TITLE.DESCRIBE TABLE GT_SHOW LINES LV_TITLE.CONDENSE LV_TITLE NO-GAPS.CONCATENATE'结果共' LV_TITLE '条⽬!'INTO LV_TITLE.CALL FUNCTION'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGI_CALLBACK_PROGRAM = SY-REPIDI_CALLBACK_PF_STATUS_SET = 'PRM_SET_STATUS'I_CALLBACK_USER_COMMAND = 'PRM_USER_COMMAND'IS_LAYOUT_LVC = LS_LAYOUTIT_FIELDCAT_LVC = GT_FIELDCAT[]I_GRID_TITLE = LV_TITLEI_DEFAULT = 'X'I_SAVE = 'A'TABLEST_OUTTAB = GT_SHOWEXCEPTIONSPROGRAM_ERROR = 1OTHERS = 2.IF SY-SUBRC <> 0.ENDIF.ENDFORM.FORM PRM_SET_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.SET PF-STATUS'ZSTAT'.ENDFORM.FORM PRM_USER_COMMAND USING P_UCOMM LIKE SY-UCOMMP_SELFIELD TYPE SLIS_SELFIELD.CHECK P_UCOMM = '&IC1'.READ TABLE GT_SHOW INTO GW_SHOW INDEX P_SELFIELD-TABINDEX. IF SY-SUBRC = 0.SET PARAMETER ID'BLN'FIELD GW_SHOW-BELNR.SET PARAMETER ID'BUK'FIELD GW_SHOW-BUKRS.SET PARAMETER ID'GJR'FIELD GW_SHOW-GJAHR.CALL TRANSACTION'FB03'AND SKIP FIRST SCREEN.ENDIF.ENDFORM.。
SAPABAP面试问题
Answers to some ABAP Interview QuestionsQuestions which I have faced in an interview:1) What is runtime analysis? Have you used this?2) What is meant by performance analysis? Have done anything to improve the performance?3) How to transfer the objects? Have to transferred any objects?4) How did you test the developed objects?5) What is the difference between SAP Memory and ABAP Memory?6) In order to upload Purchase order details, how you handle multiple values for a single field?Eg: Item field may contain no. of values for a record7) What is the procedure you followed to upload the data?8) How did you handle errors in Call Transaction?9) Among the Call Transaction and Session Method, which is faster?10) What are the difference between Interactive and Drill Down Reports?11) How to pass the variables to forms?12) How to create a link between modified form and modified print program?13) What is the table, which contain the details of all the name of the programs and forms?14) How did you test the form u developed? How did you taken print?15) What are Standard Texts?16) What is the difference between Clustered Tables and Pooled Tables?17) What is pf-status?18) Among "Move" and "Move Corresponding", which is efficient one?19) What are the output type and Tcodes?20) Where we use Chain and Endchain?21) Do you use select statement in loop endloop, how will be the performance? To improve the performance?22) In select-options, how to get the default values as current month first date and last date by default?Eg: 1/12/2004 and 31/12/2004Go thru these answers:1) What is runtime analysis? Have you used this?It's checks program execution time in microseconds. When you go to se30.if you give desired program name in performance file. It will take you to below screen. You can get how much past is your program.2) What is meant by performance analysis? Have done3) How to transfer the objects? Have you transferred any objects?4) How did you test the developed objects?I was testing a developed object. There are two types of testing- Negative testing- Positive testingIn negative testing we will give negative data in input and we check any errors occurs.In positive testing we will give positive data in input for checking errors.8) How did you handle errors in Call Transaction?We can create a internal table like 'bsgmcgcoll'. All the messages will go to internal table. We can get errors in this internal table.Below messages are go to internal table. when you run the call transaction. - Message type- Message id- Message Number- Variable1- Variable2- Variable39) Among the Call Transaction and Session Method, which is faster?Call transaction is faster then session method. But usually we use session method in real time...because we can transfer large amount of data from internal table to database and if any errors in a session. Process will not complete until session get correct.10) What are the difference between Interactive andDrill Down Reports?ABAP/4 provides some interactive events on lists such as ATLINE-SELECTION (double click) or AT USER-COMMAND (pressing a button). You can use these events to move through layers of information about individual items in a list.Drill down report is nothing but interactive report...drilldown means above paragraph only.11) How to pass the variables to forms?12) What is the table, which contain the details of all the name of the programs and forms?Table contains vertical and horizontal lines. We can store the data in table as blocks. We can scroll depends upon your wish. And these all are stored in database (data dictionary).Which contain the details of all the name of the programs and forms? (I don't know).13) How did you test the form u developed? How did you taken print?14) What are Standard Texts?16) What is the difference between Clustered Tables and Pooled Tables?A pooled table is used to combine several logical tables in the ABAP/4 dictionary. Pooled tables are logical tables that must be assigned to a table pool when they are defined.Cluster table are logical tables that must be assigned to a table cluster when they are defined.Cluster table can be used to store control data they can also used to store temporary data or text such as documentation.17) What is pf-status?Pf status is used in interactive report for enhancing the functionality. If we go to se41, we can get menus, items and different function keys, which we are using for secondary list in interactive report.18) Among "Move" and "Move Corresponding", which is efficient one?I guess, 'move corresponding' is very efficient then 'move' statement. Because usually we use this stamtent for internal table fields only...so if we give move corresponding. Those fields only moving to other place (what ever you want).19) What are the output type and Tcodes?20) Where we use Chain and End chain?21) Do you use select statement in loop end loop, how will be the performance? To improve the performance?22) In select-options, how to get the default values as current month first date and last date by default?Eg: 1/12/2004 and 31/12/2004。
SAP内部ABAP英文面试试题
1. Repository objects are not client-specific.Determine whether this statement is true or false.□True□False2. Customer obj ects can be included in SAP packages.Determine whether this statement is true or false.□True□False3. You must create a new application program for each language used in the system. Determine whether this statement is true or false.□True□False4. When is the transport of development objects for a development request triggered?Choose the correct answer(s).□ A When an object is saved.□ B When an object is saved□ C When a task is released□ D When a request is released5. Using Dictionary types (descriptive elements), variables can be defined in the program.Determine whether this statement is true or false.□True□False6. What are the facts about data elements and domains?Choose the correct answer(s).□ A Data elements contain technical and semantic information.□ B Data elements always refer to domains.□ C Data elements typically refer to domains.□ D Data elements must not be used for defining a variable.7. Database tables are always created, with their content, in the ABAP Dictionary. Determine whether this statement is true or false.□True□False8. What is defined with the statement "DATA myvar TYPE dbtab." if dbtabis a transparent table?Choose the correct answer(s).□ A A copy of the database table dbtab□ B A table variable with the same structure as the database table dbtab□ C A table variable with the same content as the database table dbtab□ D A structure variable with the same structure as a dbtab row9. By which elements of the ABAP Dictionary can you set the type for a structure variable within the program?Choose the correct answer(s).□ A Dataelement□ B Domain□ C Structure□ D Transparent table10. What is an internal table?Choose the correct answer(s).□ A Database table□ B Exceltable□ C Variable in an ABAP program□ D Table that is embedded in another table11. What is a table type?Choose the correct answer(s).□ A An internal table□ B Description of an internal table□ C Description of a database table□ D The specification "STANDARD"/"SORTED"/"HASHED" for aninternal table12. SBOOK is a database table.Which syntax variant do you use to create an internal table with the samestructure as SBOOK?Choose the correct answer(s).□ A DATA itab TYPE sbook.□ B DATA itab TYPE TABLE OF sbook.□ C DATA itab TYPE LINE OF sbook.□ D DATA itab LIKE sbook.13. Which statement retrieves a single record from an internal table?Choose the correct answer(s).□ A SELECT ... ENDSELECT□ B SELECT SINGLE□ C READ TABLE□ D GET□ E FETCH14. In which system field do you find the number of the records read using SELECT? Choose the correct answer(s).□ A SY-SUBRC□ B SY-TABIX□ C SY-DBCNT□ D SY-INDEX15. Which of the following statements concerning authorization checks are correct? Choose the correct answer(s).□ A In the SELECT statement, the corresponding authorization check isalready integrated.□ B The SELECT statement functions without any problem, even if theuser does not have the appropriate authorization for the read process.□ C To protect data from unwanted access, an authorization check mustbe implemented in the program.□ D An authorization check must always be implemented in the program.16. Which of the following statements concerning authorization and authorization checks are correct?Choose the correct answer(s).□ A An authorization object has fields and field values.□ B An authorization is a real characteristic of an authorization object -that is, an authorization object with field values.□ C There are authorization objects in the user master record.□ D Thereareauthorizations in the user master record.17. Which of the following statements concerning runtime analysis are correct? Choose the correct answer(s).□ A The runtime analysis also finds syntax errors in your programs.□ B The runtime analysis also finds semantic errors in your programs.□ C To get a detailed evaluation or the runtime analysis, you should createa variant with the setting "No Aggregation" and specifiy it duringexecution of the runtime analysis.□ D When you are evaluating the results, you should always considerthe measurement environment - that is, the network/system load atthe time of measurement, the data volume, and possibly existingtable buffers18. Which of the following statements on the Code Inspector are true?Choose the correct answer(s).□ A When a Code Inspector check is carried out, a check variant mustalways be specified.□ B To define the level of detail for a check, you can create an appropriatecheck variant and specify it for the inspection.□ C The execution of a Code Inspector check through the (context) menuof the Object Navigator uses a standard check variant.□ D Check variants, object sets, and inspections can be defined usingtransaction SCI.19. Which aspects are taken into consideration by the Code Inspector when a program is examined?Choose the correct answer(s).□ A Syntax check□ B Typical semantic errors (for example, AUTHORITY-CHECKstatement without subsequent SY-SUBRC check)□ C Performance (for example, nested SELECT statements)□ D Security (for example, cross-client data accesses)□ E Formatting of the source code (for example, indenting of the programlines within loops)20. What purpose does the subroutine technique serve?□ A For performance improvement□ B For a better overview of program layout□ C To encapsulate a function that is required many times within aprogram for multiple use□ D To implement the central maintainability of a function within aprogram□ E To make a function available across the system21. What purpose should the passing of parameters to subroutines serve?Choose the correct answer(s).□ A Mainly for passing user inputs to the subroutine□ B For performance improvement□ C For achieving more flexibility in the subroutine□ D For achieving more stability in the subroutine22. Which of the following statements concerning subroutines are correct?Choose the correct answer(s).□ A When a subroutine is called, variables or literals are to be passed asactual parameters to the corresponding formal parameters.□ B When a subroutine is called, it is important to watch out for the samenames of formal parameters and actual parameters.□ C The passing method for formal parameter is defined in the subroutinedefinition.□ D There are two different passing methods for formal parameters.□ E USING parameters without the VALUE addition are call-by-reference parameters.□ F Large internal tables should be passed to the subroutine through a call-by-value parameter.23. Which of the following statements regarding event processing blocks are correct? Choose the correct answer(s).□ A If a program does not have any explicit event processing blocks, allthe statements implicitly belong to the AT-SELECTION-SCREENblock.□ B The sequence of event processing blocks in the program does nothave any effect on the program flow.□ C Event processing blocks can be nested within each other.□ D Event processing blocks must be explicitly closed in each case.24. Using which syntax do you issue a text symbol named abc on the list?Choose the correct answer(s).□ A WRITE abc.□ B WRITE 'abc'.□ C WRITE 'text-abc'.□ D WRITE text-abc.25. Which of the following statements regarding text elements of a program are correct?□ A Text symbols as well as list and column headings belong to the text elements.□ B Text elements are stored in the respective program.□ C Not all text elements can be translated.□ D Text elements of a program must be activated for use.□ E By maintaining the list heading, you can also change the shortdescription of the program.26. Which of the following statements concerning selection texts are correct? Choose the correct answer(s).□ A No selection texts can be maintained for select options.□ B Just like list headings can be maintained directly on the list, so toocan selection texts be maintained directly on the selection screen.□ C Selection texts cannot be translated.□ D Selection texts belong to the text elements of a program, just like text symbols and list headings, and therefore they can also be translated.27. Which of the following statements concerning selection screens are correct? Choose the correct answer(s).□ A All the input fields of a selection screen have an F1 help available.□ B All the input fields of a selection screen have an F4 help available.□ C Typically, authorization checks are executed at the event ATSELECTION-SCREEN.□ D A user message of type E triggers the display of the messagetext with program cancelation if it is transmitted at the event ATSELECTION-SCREEN.□ E Variants are filled-in selection screens of a program and are storedwith the program concerned.28. Which of the following statements concerning the dynpro are correct? Choose the correct answer(s).□ A The static subsequent screen of a dynpro cannot be overridden dynamically.□ B A screen has a flow control setup, in addition to the attributes, layout,and element list.□ C You will find ABAP statements in the flow control of a screen.□ D In the dynpro flow control, you will find references to modules thatare contained in the program and include ABAP statements.□ E The automatic data transport between internal program variables anddynpro fields takes place only with fields of the same name.29. Which of the following statements concerning function modules are correct? Choose the correct answer(s).□ A When you call a function module, all the import, export, andCHANGING parameters have to be filled with data.□ B Whenever a function module is called, all exceptions should becaught and handled. Otherwise, a runtime error occurs whenever anexception that is not caught is triggered by the function module.□ C When a function module is called, the IMPORT parameters arepassed with the IMPORT addition and the EXPORT parameters arepassed with the EXPORT addition.□ D When a function module is called, the IMPORT parameters arepassed with the EXPORT addition and the EXPORT parameters arepassed with the IMPORT addition.30. Which of the following statements concerning classes/methods are correct? Choose the correct answer(s).□ A In the SAP standard version, classes that contain useful functions are already available.□ B You can search for classes using the standard search tools "RepositoryInfo System" and "SAP Application Hierarchy".□ C You can use a standard class to control the SAP Grid Control (ALV).□ D To call up other EnjoySAP controls (for example, tree control), youmust define your own specific classes.。
ABAP面试大全
目录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.6 PM 常用的TABLE (12)2.3.6 inner 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.2 SMART FORM如何实现公司LOG打印,其步骤是什么? (19)7.3 smartform 中如何控制段落、单个字符输出格式? (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.4 RFC接口的具体功能包括哪些? (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相关的事务代码。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 程序中使用哪条语句进行授权检查?答案:授权对象由一组字段组成,这些字段中的值将被用于进行授权检查。