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面试题
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 symbols are placeholders for existing fields. A Field Symbol does not physically reserve space for a field, but points to a field which is not known until runtime of the program.Field groups: A field group combines several fields under one name. At runtime, the INSERT command is used to define which data fields are assigned to which field group.There should always be a HEADER field group that defines how the extracted data will be sorted, the data is sorted by the fields grouped under the HEADER field group.3. What should be the approach for writing a BDC program?STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal table CALLED "CONVERSION".STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER". STEP 3: DEPENDING UPON THE BDC TYPEi) call transaction(Write the program explicitly)ii) create sessions ( Sessions are created and processed. If success, data will transfer).4. What is a batch input session?It is created by data transfer program.SESSION is an intermediate step between internal table and database table.Data along with the action is stored in session 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: An ABAP 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)7. What are the problems in processing batch input sessions?How is batch input process different from processing online?PROBLEMS:i) If the user forgets to opt for keep session then the session will be automatically removed from the session queue (log remains). However if session is processed we may delete it manually.ii) If session processing fails data will not be transferred to SAP database table.Differences:1) Batch Processing is much slower than on-line processing2)Batch Processing is efficient for handling large amounts of data .Example : payrollOnline processing is more suited for fast processing of small amounts of data. Example: Airline8. What are the different types of data dictionary objects?Tables, structures, views, domains, data elements, lock objects, matchcode objects.9. How many types of tables exist and what are they in data dictionary?3 types of tablesi) Transparent tables - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields. Both Opensql and Nativesql can be used.ii) Pool tables - Pooled tables are logical tables that must be assigned to a table pool when they are defined. Pooled tables are used to store control data. Several pooled tables can be cominied in a table pool. The data of these pooled tables are then sorted in a common table in the database.iii) Cluster tables -These are logical tables that are arranged as records of transparent tables. One cannot use native sql on these tables (only opensql). They are not manageable directly using database system tools.10. What is the step by step process to create a table in data dictionary?Step 1: creating domains (data type, field length, range).Step 2: creating data elements (properties and type for a table field).Step 3: creating tables (SE11).11. Can a transparent table exist in data dictionary but not in the data base physically? No. Transparent tables do exist with the same structure, both in the dictionary as well as in database, exactly with the same data and the fields.12. 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.13. Can you create a table with fields not referring to data elements?YES. We can create a table having fields that can refer directly to predefined data type and not data element. We have a tab while creating a table for pre-defined data types. If we directly assign a data type to a field we need not give any data element.14. What is the advantage of structures? How do you use them in the ABAP programs?The most important advantage of the structures is that they have global existence (i.e.; these could be used by any other program without creating it again).15. What does an extract statement do in the ABAP program?Once you 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, the system creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the new extract record is added to the dataset EXTRACT HEADER.When you extract the data, the record is filled with the current values of the corresponding fields.As soon as the system has processed the first EXTRACT statement for a field 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 different field groups, you fill the extract dataset with records of different length and structure. Since you can modify field groups dynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need not determine the structure at the beginning of the program.16. What is a collect statement? How is it different from 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.17. What is open sql vs native sql?Open SQL allows developers to control SQL statements directly. Open SQL encapsulates the semantics for statement execution, parameter binding and results fetching provided by each database vendor in avendor- independent interface. The operations performed with Open SQL translate directly to the primitive operations provided by each database, yet the API is consistent across all vendors.To avoid incompatibilities between different database tables and also to make ABAP/4 programs independent of the database system in use, SAP has created a set of separate SQL statements called Open SQL. Open SQL contains a subset of standard SQL statements as well as some enhancements which are specific to SAP.Native SQL allows you to use database-specific SQL statements in an ABAP program. This means that you can use database tables that are not administered by the ABAP Dictionary, and therefore integrate data that is not part of the R/3 System.18. What does an EXEC SQL statement do in ABAP?What is the disadvantage of using it?Executes the Native SQL statements enclosed between EXEC SQL and ENDEXEC statements. Unlike Open SQL the addressed database tables must not be declared in the ABAP Dictionary.19. What is the meaning of ABAP/4 editor integrated with ABAP/4 data dictionary?Abap is programming language in business, data dictionary is kind a interface for editor to retrieve from database level to presentation area. It’s a meta data.The ABAP Dictionary is integration with the rest of the development environment enables ABAP programs to automatically recognize the names and characteristics of dictionary objects. Additionally, the system provides easy navigation between development objects and dictionary definitions. For example, as a programmer, you can double-click on the name of a dictionary object in your program code, and the system will take you directly to the definition of that object in the ABAP/4 Dictionary.20. What are the events in ABAP/4 language?Initialization, at selection-screen, start-of-selection, end-of-selection, top-of-page, end-of-page, Atline-selection, At user-command, At PF, Get, At New, At LAST,AT END, AT FIRST.21. What is an interactive report?What is the obvious difference of such report compared with classical type reports?An Interactive report is a dynamic drill down report that produces the list on users’ choice. Difference:a) THE LIST PRODUCED BY CLASSICAL REPORT DOESN'T allow user to interact with the system the list produced by interactive report allows the user to interact with the system.b) ONCE A CLASSICAL REPORT EXECUTED USER LOOSES CONTROL.IR USER HAS CONTROL.c) IN CLASSICAL REPORT DRILLING IS NOT POSSIBLE.IN INTERACTIVE DRILLING IS POSSIBLE.22. What is a drill down report?It is an Interactive report where in the user can get more relevant data by selecting explicitly.23. How do you write a function module in SAP?1Check whether a suitable function module already exists. If not, proceed to step 2.2Create a function group, if no appropriate group exists yet.3Create the function module.4Define the function module interface by entering its parameters and exceptions.5Write the actual ABAP code for the function module, adding any relevant global data to the TOP include.6Activate the module.7Test the module.8Document the module and its parameters for other users.9Release the module for general use.24. What are the exceptions in function module?COMMUNICATION_FAILURE SYSTEM_FAILURE.25. What is a function group?Function groups are containers for function modules. You cannot execute a function group. When you call a function module, the system loads the whole of its function group into the internal session of the calling program (if it has not already been loaded).26. How are the date and time field values stored in SAP?A DATE value designates a point in time by the components year (0001 to 9999), month (1 to 12) and day (1 to 28, 29, 30, 31 depending on the month and year).A TIME value designates a time of day by the components hour (0 to 24), minute (0 to 59) and second (0 to 59).A TIMESTAMP value designates a point in time represented by a date and time as defined previously including a fractional specification of seconds with a portable precision of tens of milliseconds.The DATE and TIME types are not time-zone aware. This means that they behave as if the values were stored in string representation. The TIMESTAMP type, however, is time-zone aware. Values of this type are always stored as UTC time-stamps.27. Name a few data dictionary objects?TABLES, VIEWS, STRUCTURES, LOCK OBJECTS, MATCHCODE OBJECTS.28. What happens when a table is activated?When the table is activated, a physical table definition is created in the database for the table definition stored in the ABAP dictionary. The table definition is translated from the ABAP dictionary of the particular database.It is available for any insertion, modification and updating of records by any user.29. What is a check table and what is a value table?Check table will be at field level checking.Value table will be at domain level checking ex: SCARR table is check table for CARRID.30. What are matchcodes? Describe?It is a similar to table index that gives list of possible values for either primary keys or non-primary keys. Matchcodes were replaced with Search Helps starting with Release 4.0. Please use search helps to assign an input help to a field.31. What transactions do you use for data analysis?SE11,SE16,SE80SE30 - gives you a run time analysis and points out the issues more at design time.ST05 - Is the most useful if you want to track time taken for execution of each of the sections.SM50 - Will give you a work process overview, not sure at a program level how can it help you.ST04: database performance analysisDB02: database performance: Table & IndexesDB01: Exclusive Lock waitsAL21: ABAP AnalysisST01: System Trace32. What is table maintenance generator?Table Maintenance Generator is a tool used to customize the tables created by end users and can be changed as required, such as making an entry to that table, deleting an entry etc. In other words, table maintenance generator is a user interface tool which is used to change the entry of the table or delete an entry from the table or create an entry for the table.33. What are ranges? What are number ranges?Ranges: max, min values provided in selection screens.Number ranges: Tcode: SNRO, function: NUMBER_GET_NEXT, it can create number range buffer34. What are select options and how are they different from parameters?Select options provide ranges where as parameters do not.SELECT-OPTIONS declares an internal table which is automatically filled with values or rangesof values entered by the end user. For each SELECT-OPTION, the system creates a selection table. SELECT-OPTIONS FOR.A selection table is an internal table with fields SIGN, OPTION, LOW and HIGH.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 Less than or equal NB Not between LT Less than CP Contains pattern GE Greater than or equal NP No pattern.Select Options vs ParametersPARAMETERS allow users to enter a single value into an internal field within a report.SELECT-OPTIONS allow users to fill an internal table with a range of values.For each PARAMETERS or SELECT-OPTIONS statement you should define text elements by choosing Goto - Text elements - Selection texts - Change.Eg: Parameters name(30).When the user executes the ABAP/4 program, an input field for 'name' will appear on the selection screen. You can change the comments on the left side of the input fields by using text elements as described in Selection Texts.35. How do you validate the selection criteria of a report?And how do you display initial values in a selection screen?Validate: by using matchcode objects.Display: Parameters default 'xxx'.36. What are selection texts?At the selection screen we would assign a text to the selection screen parameter for display. This is actually called as selection text.37. 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 ABAP Workbench 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 on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project.For practical information on working with the Change and Transport System, see Change and Transport Organizer and Transport Management System.38. When a program is created and need to be transported to prodn does selection texts always go with it? If not how do you make sure? Can you change the CTS entries? How do you do it?39. What is the client concept in SAP? What is the meaning of client independent?A client is a logical division of data within an SAP system. Some things, like application data are mostly client-dependent, meaning that for example, a G/L account defined in client 123 of system ABC is only visible in that client. Therefore if you logon to client 456 of system ABC you will not be seeing the same database entity (if it is defined at all).Multiple clients within an SAP system are often used in development, testing and training systems - so that individuals can work in the same system (on the same codeset) but in isolation of each other.Client independent is something which is same through out all clients, which is common between all clients40. Are programs client dependent?Yes. Group of users can access these programs with a client no.41. 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 WAS TRIGGERED.42. What are internal tables? How do you get the number of lines in an internal table? How to use a specific number occurs statement?i) It is a standard data type object which exists only during the runtime of the program.They are used to perform table calculations on subsets of database tables and for re-organizing the contents of database tables according to users need.ii) Using SY-DBCNT.iii) The number of memory allocations the system need to allocate for the next record population.43. How do you take care of performance issues in your ABAP programs? Performance of ABAP can be improved by minimizing the amount of data to be transferred.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/4 DDIC (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.44. What are datasets?The sequential files (ON APPLICATION SERVER) are called datasets. They are used for file handling in SAP.45. How to find the return code of a statement in ABAP programs?You can use SY-SUBRC.46. What are interface/conversion programs in SAP?CONVERSION programs are the ones which have one time usage, usually when a legacy system is being replaced by a system like SAP, then the data has to be mapped from the legacy system to SAP system. Here the data to be converted is given on a flat file & is uploaded to SAP tables mostly using LSMW only. Conversions programs are BDC, BAPI and LSMW programs in which you upload all the related tables from the flat files. Those are one time programs.Interface programs are those programs in which you fetch the data from the application server and process on those data. These are helpful when you have to run any program in the back group when the presentation server is not working.INTERFACE programs are the ones which are run at regular intervals, say weekly, monthly or even daily. Here the legacy system continues to co-exist along with SAP system, the legacy system might be useful for certain functionalities but the data might have to run thru SAP transactions for complex data maintenance at regular intervals.CONVERSION: LEGACY SYSTEM TO FLAT FILE.INTERFACE: FLAT FILE TO SAP SYSTEM.47. Have you used SAP supplied programs to load master data?We use LSMW tool which is provided by SAP to upload the Data into SAP from legacy data.There are various other methods for Upload, but Direct Input method is the one which SAP provided directly to upload the data. There are some predefined programs and structures, that should be mapped and the data transfer takes automatically.48. What are the techniques involved in using SAP supplied programs? Do you prefer to write your own programs to load master data? Why?49. What are logical databases? What are the advantages/disadvantages of logical databases?Logical databases are special ABAP programs that retrieve data and make it available to application programs. Logical databases contain Open SQL statements that read data from the database. You do not therefore need to use SQL in your own programs. The logical database reads the program, stores them in the program if necessary, and then passes them line by line to the application program or the function module LDB_PROCESS.Advantages:i) Check functions which check that user input is complete, correct and plausible.ii) Meaningful data selection.iii) Central authorization checks for database accesses.iv) Good read access performance while retaining the hierarchical data view determined by the application logic.Disadvantages:i) If you do not specify a logical database in the program attributes, the GET events never occur.ii) There is no ENDGET command, so the code block associated with an event ends with the next event statement (such as another GET or an END-OF-SELECTION).50. What specific statements do you using when writing a drill down report?AT LINE-SELECTION, AT USER-COMMAND,AT PF.51. What are different tools to report data in SAP? What all have you used?55. What are the advantages and disadvantages of ABAP/4 query tool?Advantages: No programming knowledge is required.Disadvantages: Depending on the complexity of the database tables, it may not be easy for the user to select the necessary data correctly.52. What are the functional areas? User groups? And how does ABAP/4 query work in relation to these?53. Is a logical database a requirement/must to write an ABAP/4 query?54. What are Change header/detail tables? Have you used them?CDHDR & CDPOS are the tables for change document header and position. These tables get updated when there is change.55. What do you do when the system crashes in the middle of a BDC batch session?We will look into the error log file (SM35). Check number of records already updated and delete them from input file and run BDC again.56. What do you do with errors in BDC batch sessions?We look into the list of incorrect session and process it again. To correct incorrect session, we analyze the session to determine which screen and value produced the error. For small errors in data we correct them interactively otherwise modify batch input program that has generated the session or many times even the data file.57. 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).58. Is it possible to run host command from SAP environment? How do you run?You can try to define the command by SM69 and then use it by fm SXPG_COMMAND_EXECUTE.59. What kind of financial periods exist in SAP? What is the relevant table for that?60. Does SAP handle multiple currencies? Multiple languages?Yes.61. What is a currency factoring technique?The amount value (defined as currency) will be dependent on currency key. that's why currency field should have a reference field of type currency key.Based on the currency key value the no of decimals values will be determined. Please refer TCURC table to get information about currency key.62. How do you document ABAP/4 programs? Do you use program documentation menu option?SE38, choose Documentation63. What is SAPscript and layout set?Printable document such as invoices, purchase order are printed with the use of forms, SAP allows the user to define these forms by using layout sets is SAP scripts.Layout set is used to design a document. Layout set on its own does not contain any data. Selection of data for the document is done through the print program.64. What are the ABAP/4 commands that link to a layout set?Control commands, system commands,65. What is output determination?The Output Determination component offers output functions for sales, shipping, transportation, and billing to help you manage sales transactions with your customers and within your company. You can create sales activity output (for example, customer telephone calls, mailing campaigns) and group output (for example, freight lists). Your company employees can send and receive output. Output is directly linked to the corresponding sales transaction (for example, the system automatically sends an order confirmation via Electronic Data Interchange (EDI) as soon as the employee creates an order).66. What are IDOCs?IDoc (for intermediate document) is a standard data structure for electronic data interchange (EDI) between application programs written for the popular SAP business system or between an SAP application and an external program. IDocs serve as the vehicle for data transfer in SAP's Application Link Enabling (ALE) system. IDocs are used for asynchronous transactions: each IDoc generated exists as a self-contained text file that can then be transmitted to the requesting workstation without connecting to the central database. Another SAP mechanism, the Business Application Programming Interface (BAPI) is used for synchronous transactions.67. What is screen painter? Menu painter? GUI status?Screen Painter is a Workbench Tool (transaction SE51) that allows developers to design screensThe Menu Painter is a tool with which you design user interfaces for your ABAP programs.A GUI status is an independent component of an ABAP program.68. What is screen flow logic? What are the sections in it? Explain PAI and PBO.The control statements that control the screen flow.PBO - This event is triggered before the screen is displayed.PAI - This event is responsible for processing of screen after the user enters the data and clicks the pushbutton.69. Overall how do you write transaction programs in SAP?Create program-SE93-create transaction code-Run it from command field.70. Does SAP have a GUI screen painter or not? If yes what operating systems is it available on? What is the other type of screen painter called?SAP has a graphical screen painter and is available on all the OS, it has no dependency on OS.Prior to this, alpha numeric screen painter was available.71. What are step loops? How do you program pagedown pageup in step loops?You can group screen elements together into a step loop. A step loop is a repeated series of loop blocks.A loop block consists of one or more loop lines of graphical screen elements. You can define a loop block as fixed or variable.72. Is ABAP a GUI language?Yes. ABAP is an event driven language.73. Normally how many and what files get created when a transaction program is written? What is the XXXXXTOP program?74. What are the include programs?Contain program code that cannot be run on its own. You call them from another program using INCLUDE statements.75. Can you call a subroutine of one program from another program?Yes. Only external subroutines using 'SUBMIT' statement.76. What are user exits? What is involved in writing them? What precautions are needed? User exits are a type of system enhancement that was originally developed for the R/3 SD (Sales and distribution) module. User-exits are empty subroutines that SAP Developers have provided for you. You can fill them with your own source code. Technically this is a modification.77. What is RFC? How do you write RFC on SAP side?RFC enables you to call and execute predefined functions in a remote system - or even in the same system. RFC manage the communication process, parameter transfer and error handling.78. What are the general naming conventions of ABAP programs?Should start with Y or Z.79. How do you find if a logical database exists for your program requirements?SLDB-F4.80. How do you find the tables to report from when the user just tells you the transaction he uses? And all the underlying data is from SAP structures?Transaction code is entered in command field to open the table. Utilities-Table contents-display.81. How do you find the menu path for a given transaction in SAP?。
sap abap 面试题
sap abap 面试题SAP ABAP面试题导语:SAP ABAP(Advanced Business Application Programming)是一种高级商务应用程序编程语言,用于开发SAP应用程序。
面试时,了解ABAP的基本概念和技术是非常重要的。
本文将讨论一些常见的SAP ABAP面试题。
1. 介绍SAP ABAP是什么以及它的主要特点。
SAP ABAP是一种面向对象的编程语言,用于开发SAP应用程序。
它的主要特点包括:- ABAP是一种高级语言,具有丰富的库函数和开发工具。
- ABAP支持与SAP系统的连接,可以访问和修改SAP系统内的数据。
- ABAP可以通过SAP GUI(图形用户界面)或Web浏览器进行访问。
- ABAP支持事务处理和批处理功能。
- ABAP具有强大的调试功能,可以帮助开发人员快速定位和修复错误。
2. 什么是SAP数据字典?SAP数据字典是一个数据库的元数据存储库。
它包含SAP系统中使用的所有数据结构的定义,如表、视图、数据类型、域等。
开发人员可以使用数据字典创建和管理数据库对象,并在ABAP程序中使用这些对象。
3. ABAP中的内表和数据库表有什么区别?内表(Internal Table)是在ABAP程序中定义的一种数据结构,用于在内存中存储和处理数据。
内表只存在于程序运行期间,并且通常用于处理临时数据。
数据库表是在SAP数据字典中定义的,用于在数据库中永久存储数据。
数据库表可以在多个ABAP程序之间共享,并且数据可以长期保留。
4. 怎样避免ABAP程序中的死循环?为了避免ABAP程序中的死循环,可以采取以下措施:- 在循环中使用BREAK语句,当满足某个条件时跳出循环。
- 在循环中使用EXIT语句,直接退出整个程序。
- 确保循环条件能够最终为假,避免无限循环。
5. 请解释什么是BADI(Business Add-In)?BADI是SAP系统中用于扩展或修改现有功能的一种方法。
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面试大全
目录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. 权限相关................................................... 错误!未定义书签。
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模块的基本概念和用法,并熟悉常见的使用场景和最佳实践。
ABAP面试方式及问题
增添:这个主要分为 User-exit,field-exit,screen-exit,BADI, New Enhancement Framework,一般只要在前两个阶段有做过的,这里一 般会要求举个例子,比方 Material Master 增添〔特殊些〕,SO 的增添 等等。
本文格式为 Word 版,下载可任意编辑,页眉双击删除即可。
ABAP 面试方式及问题
ABAP 面试方式及问题 最近面试似乎多了些,以至于到如今都形成很多固定的模式。翱翔是 个喜爱总结的人,于是把面试的问题出发点以及会常常问倒的问题,以及 问问题的出发点稍作整理。假如伴侣是个要去面试的人,或答应以得到些 关心,反之,是个面试者,也可以稍作参考。
到几种方式,例如使用 BApI 应当定义些什么之类的。
过,哈哈~~~~
Report 程序:其实在国内,一般 module pool 程序用的比较少,report
转自:翱翔云天的 SAp 技术博客
居多,随着 ALV 的普及,曾经的 interactive report 已经退出。一般我
【ABAP 面试方式及问题】
Forms:一般 SApScript 已经退了,但是假如你说你做过,一般会问 有了结论。我一般的收尾就是问被面试者有没有什么问题,然后感谢之类
几个指令,不如画线,调用外部 form 的方法等。SmartForm 目前一般用 的,没啥技术含量。
的比较多,假如做过的一般会问些换页的问题,或者 template 和 table
[warning]以上为翱翔面试别人的套路,在经过这么多面试与被面的
SAP abap笔试面试题目
SAP abap笔试面试题目问题:SAP abap笔试面试题目回答:一选择题(共40题,未特殊注明则均为单选)1,下面的语句中,哪一个语句编译会报错(假设XXX 和结构sflight都已经定义). (c)A)write at 12 XXX.B)data type type sflight.C)sflight-price = a+b.D)write sy-vline.2.在ABAP/4的开发工作中,哪一个TCODE是直接进入就可以创建程序,函数组以及程序内部各种元素的. (a )A) SE80 B) SE11 C) SE93 D)SE163.直接进入就可以查询表的结构是哪个TCODE. (b )A) SE80 B) SE11 C) SE93 D)SE164. 很多表当中都有一个字段,叫做MANDT, 为第一个主键,这个字段的用处是.(b )A)区分后台数据库的类型B)区分表中记录属于哪个客户端(client)C)区分表的数据量大小D)SAP系统保留字段5.下面的定义语句中,哪一个语句定义出来的结果是一个内表. (d)A)DATA zsflight TYPE sflight.B)DATA: COLS LIKE LINE OF TC-COLS.C)TABLES SFLIGHT.D)DATA: zsflight TYPE TABLE OF sflight.6.ABAP中三种基本的数据对象是. (a )A)内表结构基本数据对象B)内表程序语句C)字符数字日期D)语句程序表7.语句loop at itab into wa. 的准确意思是. (d )A)把wa中的值进行循环,每一次循环都写回内表B)求出迷宫itab的出口放在wa里C)对内表itab的数值列进行累加放入wa中D)对内表itab进行循环,把循环中每一行的结果写入结构wa 中8.程序中执行了这么一段代码DATA it_sflight type sflight with header line.Loop at it_sflight.it_sflight-carrid = AA .Modify it_sflight.Endloop.该段语法中出现了四次it_sflight,其中后三次分别代表的是内表还是结构. (b )A)内表内表内表B)内表结构内表C)内表结构结构D)内表内表结构9.在设计报表程序时,选择的程序类型应该是.(a )A)可执行程序B)模块池程序C)包含程序D)函数组程序10.在报表程序的屏幕筛选条件里,SELECT-OPTIONS定义出来的元素是.(a)A)内表B)结构C)基本数据对象D)指针型字段11.在报表程序的屏幕事件里,有一个事件叫做AT LINE-SELECTION.参见如下代码:WRITE / ‘ABAP’.AT LINE-SELECTION.WRITE /‘TEST’.那么,以下哪种情况会发生.(b )A)先显示出一行ABAP,当用户双击一次时,屏幕上在原来ABAP那行下面换行一次显示出一行新的TESTB)先显示出一行ABAP,当用户双击一次时,屏幕上每次只显示出一行的TEST取代原先的屏幕C)先显示出一行ABAP,当用户双击一次时,屏幕上永远只显示出一行TEST(放在原来ABAP那行下面)D)先显示出一行ABAP,当用户第一次双击时,产生一个新屏幕,显示一行TEST,然后每次双击都在其下换行显示一行新的TEST12.选择事件的执行顺序正确的一组.(a )A)INITIALIZATION / START-OF-SELECTION / TOP-OF-PAGE / AT LINE-SELECTIONB)INITIALIZATION / TOP-OF-PAGE / START-OF-SELECTION / AT LINE-SELECTIONC)START-OF-SELECTION/ INITIALIZATION / TOP-OF-PAG / AT LINE-SELECTIOND)INITIALIZATION / TOP-OF-PAGE / AT LINE-SELECTION /START-OF-SELECTION13.在层级报表的开发里,下面哪个条件不是必需的.(d)A)对内表先按层级字段排序B)对内表和结构定义时层级字段必须排在前面C)层级字段不能出现在at 和end at 语句之外D)层级字段必须存在14.在明细报表的开发中,双击一行转向明细报表的取数依据是.(c )A)你双击那行的主键字段B)你双击的那个字段本身C)你双击那行在循环中预先hide的字段D)你双击那行在循环中预先已经write出来的字段15.在交互式报表的设计中,假如想在明细报表里加入任意字段的排序功能,请选择正确的选项(多选).(ad )A)要先用get cursor field XXX.取得字段B)对内表排序时该字段要用括号括起来C)在排序时要把该字段加上一个数字以去除前面的结构名称(如果是用结构-字段定义的话)D)排序后显示完要把sy-lsind = 0,以防止产生多余的list16.在屏幕编程的设计中,下面共有四个主要步骤:a 设计屏幕的格式(有哪些字段,放在什么位置)b 设计屏幕的整体属性c 设计屏幕上字段的属性d 编写屏幕的流逻辑( flow logic )请选择通常请况下正确的顺序. (c )A)a b c dB)c d b aC)b a c dD)d b a c17. 如果屏幕A 的下一个屏幕仍然是A , 那么当执行程序时,对于屏幕的主要事件,下面哪种顺序是正确的. (d )A)A 的PAI A 的PBO A 的PAI A 的PBOB)A 的PBO A 的PAI A 的PAI A 的PBOC)A 的PAI A 的PAI A 的PBO A 的PBOD)A 的PBO A 的PAI A 的PBO A 的PAI18.屏幕编程中一个屏幕所使用的工具栏应如何设计. (a )A) 先设计一个Gui Status,再在程序中绑定B) 先设计一个Gui Titles,再在程序中绑定C) 在程序中用Add button 语法添加D)在屏幕设计格式的界面上添加工具栏及其按钮19. 以下四种系统变量,各是什么含意. (d )SY-UCOMM SY-DATUM SY-SUBRC SY-TABIXA)用户触发的屏幕上的功能码当前日期当前时间循环次数B)当前日期当前时间循环次数用户触发的屏幕上的功能码C)用户触发的屏幕上的功能码循环次数语句执行结果返回值当前日期D)用户触发的屏幕上的功能码当前日期语句执行结果返回值循环次数20.一个程序的子屏幕编程是如何实现的. (c)A)子屏幕区域外加屏幕(属性设置为正常屏幕)B)自定义控件外加屏幕(属性设置为正常屏幕)C)子屏幕区域外加屏幕(属性设置为子屏幕)D)自定义控件外加屏幕(属性设置为子屏幕)21.对于表格控件和内表的绑定的做法,下面哪种说法是正确的. (a )A)PBO时同步循环内表和表格控件把内表的值写入表格控件,PAI时用同样的循环把表格控件的值写回内表B)PBO时同步循环内表和表格控件把表格控件的值写入内表,PAI时用同样的循环把内表的值写回表格控件C)在定义内表时定义与之绑定的表格控件,PBO和PAI事件要各循环内表一次D)在制作表格控件时定义与之绑定的内表,PBO和PAI事件要各循环表格控件一次22.如果要把表格控件某列的属性动态的改变成不可输入,下面哪种做法是可行的. (B )A)在PAI事件中修改table的general attribute值B)在PBO事件中修改table的general attribute值C)在PAI事件中取得table的COLS属性,利用它本身是个内表的特点循环找到该列修改之,修改完后写回COLS内表D)在PAI事件中取得table的COLS属性,利用它本身是个结构的特点找到其中表示该列的字段修改23.要对表格控件增加一个可由用户写入信息的列,下面哪种方式是可行的(多选).(ad )A)在设计屏幕上点击dictionary / program fields window 按钮,输入字典表或者程序中定义的元素,把它拖到表格控件中B)在设计屏幕上修改table的attributes,增加一列C)在设计屏幕中的表格控件里拖入一个text field(文本字段)D)在设计屏幕中的表格控件里拖入一个input/output field(输入/输出字段)24.在编写ALV GRID CONTROL时,应遵循以下哪种顺序. (a )A)在屏幕上建区域,创建区域对象,创建ALVGRID对象,调用ALVGRID的set_table_for_first_display方法B)在屏幕上建区域,创建ALVGRID对象,创建区域对象,调用ALVGRID的set_table_for_first_display方法C)调用ALVGRID的set_table_for_first_display方法,在屏幕上建区域,创建ALVGRID对象,创建区域对象D)创建区域对象,调用ALVGRID的set_table_for_first_display 方法,在屏幕上建区域,创建ALVGRID对象,25.自己制作一个搜索帮助,引用的表是SBOOKINGS,Dialog Type是Dialog with value restriction,里面customid和name这两个字段的IMP属性打勾,customid,name,carrid,connid这四个字段的EXP属性打勾,四个字段都设定了LPOS和SPOS,这个搜索帮助的输出效果是. (d )A)先输出两个栏位的筛选屏幕,再按照筛选结果输出两个栏位的表格信息让用户选择,选择结果影响到四个栏位B)先输出两个栏位的表格信息让用户选择,选择结果影响到四个栏位C)先输出四个栏位的表格信息让用户选择,选择结果影响到两个栏位D)先输出四个栏位的筛选屏幕,再按照筛选结果输出四个栏位的表格信息让用户选择,选择结果影响到两个栏位26.ABAP的OPEN SQL的取数语句是否可以实现数据库无关性,其原因是什么. (c )A)不可以,数据库的SQL格式不同B)可以,因为它的名字叫做OPEN SQLC)可以,因为中间有一层DB Interface做转换D)不可以,各种数据库的版本不同27.对ABAP的OPEN SQL语句的两个返回系统变量,描述正确的是. (b )A)Sy-dbcnt表示执行结果是否正确,sy-subrc表示执行影响到的数据条数B)Sy-dbcnt表示执行影响到的数据条数,sy-subrc表示执行结果是否正确C)Sy-dbamt表示执行结果是否正确,sy-sudnc表示执行影响到的数据条数D)Sy-dbamt表示执行影响到的数据条数,sy-sudnc表示执行结果是否正确28.一个表TA有三个字段,其中第一个字段是主键,目前有一条记录是1 /‘first’/ 19,结构wa_result是和表相同类型的,当前值是2 / ‘second’/ 20 .执行OPEN SQL语句:modify TA from wa_result.执行后对系统的影响为. (b )A)没有任何影响B)TA有两条记录1 / ‘first’/ 19 和2 / ‘second’/ 20C)TA有一条记录2 / ‘second’/ 20D)系统出错退出,对表没有任何影响29.SAP对锁的主要实现手段是. (a )A)在SE11里加锁对象,然后在程序中调用锁对象生成的函数B)在数据库里加锁,在程序中声明C)由数据库自动进行,SAP不用处理D)在程序中通过SQL语句实现30.有一程序,起始画面里有一个用户可以输入字段为A ,如果想在程序进入的时候自动设置成上次退出时的值,可以采用的方法是. (b )A)在退出时使用GET PARAMETER ID XXX FIELD A.在进入时使用SET PARAMETER ID XXX FIELD A.B)在退出时使用SET PARAMETER ID XXX FIELD A.在进入时使用GET PARAMETER ID XXX FIELD A.C)不管是退出还是进入时,都执行语句GET PARAMETER ID XXX FIELD A.D)不管是退出还是进入时,都执行语句SET PARAMETER ID XXX FIELD A.31.SAP的SMARTFORM和ABAP PROGRAM的对应关系是. (c )A)一个SMARTFORM对应多个程序B)一个程序对应多个SMARTFORMC)一个SMARTFORM对应多个程序,一个程序也可以对应多个SMARTFORMD)一个SMARTFORM对应一个程序32.设计SMARTFORM显示一个表格,如果第一页是一种格式,后面几页是一种格式,如何设计. (d )A)第一页指向第二页,第二页指向空B)第一页指向自己,第二页指向第一页C)第一页指向第二页,第二页指向第一页D)第一页指向第二页,第二页指向自己33.如果想设计SMARTFORM中大家公用的文本,应该使用什么技术. (C )A)SMART TEXTB)SMART STYLEC)SAP SCRIPTD)TEXT MODULE34.下面对于SMARTFORM中TABLE和TEMPLATE的描述,正确的是. (d )A)TEMPLATE用来设计表格模版,TABLE用来设计表格实体B)TEMPLATE用来设计表格样式,TABLE用来设计表格实体C)TEMPLATE用来设计静态表格,TABLE用来设计表格实体D)TEMPLATE用来设计静态表格,TABLE用来设计动态表格35.SMARTFORM中TABLE的排序事件的触发场合是. (d )A)循环到排序字段第一次开始时触发开始事件,循环到排序字段结束时触发结束事件B)循环到排序字段第一次开始时触发开始事件,循环到表格结束时触发结束事件C)当表格开始时触发开始事件,表格结束时触发结束事件D)循环到排序字段第一次开始时触发开始事件,然后触发结束事件,然后开始正式循环该排序字段剩余记录36.在SMARTFORM中显示一个表格,其中有一个栏位为wa_sflight-price,现在里面有三行数据,其值依次分别是10,30,50 ,现在在表格设计的时候在Global Definition中定义一个变量G_TOL,在表格的Main Area中加入一个真假节点,节点的条件为WA_SFLIGHT-PRICE > 10 .然后,在真节点下加一个程序行,内容为G_TOL = wa_sflight-price + 10.假节点下加一个程序行,内容为G_TOL = wa_sflight-price + 20.最后在表格的Footer下加一个表行(在表格最后显示),下加一个文本节点显示这个字段G_TOL,它显示的值应该是. (a )A)60B)70C)140D)15037.SAP提供的修改系统标准功能的方案里,哪几种是不需要修改系统标准程序就可以实现的. (c )A)Customer Develepment ,Enhancement,ModificationB)Customer Develepment ,Customizing,ModificationC)Customer Develepment ,Customizing,EnhancementD)Enhancement,Modification,Customizing38.对于客户定制需求的解决方案,应该遵循哪一种顺序进行为宜. (c )A)先判断能否配置;再判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement;最后考虑自己开发B)先判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement;然后判断能否配置;最后考虑自己开发C)先判断能否配置;再判断系统有无类似功能,有的话先判断能否进行Enhancement,再判断能否修改标准程序;最后考虑自己开发D)先判断系统有无类似功能,有的话先判断能否进行Enhancement,再判断能否修改标准程序;然后判断能否配置;最后考虑自己开发39.自己定义一个增强项目,加入系统的增强,并在其中激活增强的TCODE应该是. (b )A)SMODB)CMODC)SE84D)SE8040.在SAP系统标准增强功能里,主要包含了以下哪组功能. (a )A)Table Enhancement/Screen Exit/Menu Exit/Function module ExitB)Table Enhancement/Structure Exit/Menu Exit/Event ExitC)Menu Exit/Function module Exit/Field Exit/BAPI ExitD)Structure Exit/Menu Exit/Table Enhancement/Screen Exit二问答题(共13题,)1.什么是授权对象?在ABAP 程序中使用哪条语句进行授权检查?答案:授权对象由一组字段组成,这些字段中的值将被用于进行授权检查。
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方式输出,显示时按照航班班次进行分组显示。
ABAP顾问面试精选题
大家好我是朗泽教育就业顾问Judy,近期不少ABAP学员和我咨询面试的事情,在进行技术面试时,一些学员仍然会有问题,我今天总结了一些常见的大家认为比较难的问题。
1、什么是RFC,有哪些通信模式?
2、根据调用方式不同,RFC接口提供了什么样的服务?
3、如何创建一个BAPI?
4、RFC和BAPI的区别是什么?
5、初始化内表有几种方式?
6、在一个程序中如何调用其他事务代码?
7、如何在程序间传送数据?
8、如何优化ABAP程序?
9、如何建立一个外部数据库的连接?
10、SAP包括哪些传输技术?
以上就是我今天想为大家分享的有关ABAP顾问面试的问题总结,希望对大家面试能够有帮助,更多有关SAP顾问面试题都在朗泽主页分享。
ABAP考题和答案
一、选择题(每题2分,多选题选择不全得1分,选择有错误项不得分)1 of 25 What is the value of result after the following code is executedDATA: result TYPE I.result = 5 / 10.result = 2result = 1result = .5result = 02 of 25 Which use of the FORM statement works successfully when passing IT to FORMTypes: Begin of line,...End of Line.Types IT_LINE Type Standard table of line.Data IT TYPE IT_LINE.Perform FORMA using ITFORM FORMA Using P_IT type IT_LINEFORM FORMA Using P_IT like IT_LINEFORM FORMA Using P_IT like LINEFORM FORMA Using P_IT like LINE3 of 25 What is the effect of the Move-corresponding between 2 fields strings in the followingcodeData: begin of fs1,Field1 type c value ‘1’,Field2 type n value ‘2’,Field3 type I value 3,end of fs1.Data: begin of fs2,Field3 type c,Field4 type n,Field5 type I,end of fs2.Move-Corresponding fs1 to fs2fs2-field3 = 3All fields of fs1 are moved to fs2fs2-field3 = 1fs2-field5 = 34 of 25What Function is used to display the ALV Grid ControlREUSE_ALV_LIST_DISPLAYALV_TABLE_CREATEREUSE_ALV_GRID_DISPLAYALV_GRID_DISPLAY5 of 25 Identify the one field that is not always displayed in the debuggerSY-DBCNTSY-SUBRCSY-LISELSY-TABIXWhat is true about the syntax of ABAP6 of 25Multiple statements are not allowed in a single lineComments begin with a single quotation signStatements must fit on one lineWords must always be separated by at least one space7 of 25 What does the following statement mean write ‘Hello’(001)Write 'Hello'(001)Add the variable 'Hello' to message 001Write out 'Hello' and the contents of text element 001This is not a valid statementIf Text Element 001 is not in your login language, then 'Hello' is displayed8 of 25 Identify the internal table types(More than one answer is correct)StandardIndentedSortedHashedKey9 of 25 Refer to the following code. What is the value of Field1 and Field2SPLIT 'SAPDOMAIN' AT 'DO' INTO FIELD1 FIELD2.Field1 contains 'SAP', Field2 contains 'MAIN'Field1 contains 'DO', Field2 contains 'DOMAIN'Field1 contains 'SAPDO', Field2 contains 'MAIN'What is the development class for local objects10 of 25Z00BlankLocal11 of 25Where are local data types definedABAP WorkbenchDictionaryIn ABAP Programs12 of 25What program type can be executed directlyFunction GroupIncludeClassWhich addition to the Parameters statement is not valid13 of 25DefaultLikeValueWhat is the ALV Grid Control14 of 25It is a generic tool for displaying lists in screensIt is a link control tool to Query and QuickviewerIt is a data collection tool15 of 25Identify the valid statementConstants: C1(4) type D.Constants: C1(4) type C value 'ABCD'.Constants: C1(4) type C like itab-booking.16 of 25 Which statements allow you to define data in your ABAP program(More than one answer is correct)DataParametersTablesSelection-ScreenClass17 of 25 If you want the debugger to stop when the value of ‘Fielda’changes. Which optionwould you set in the debuggerWatchPointOverviewFieldsObject18 of 25 What is the result of the following date calculation? Assume current date is 20001220Data: Today(8) type C.Today = sy-datum.Today = 10.1000122020011210200012201019 of 25 In what case are optional parameters allowed in the passing of parametersFormsBothFunctionsNeither20 of 25ANSI SQLISO 900 SQLOPEN SQLNative SQL21 of 25SortedKeyedHashedStandard22 of 2510 Report rpgm120 data: fielda type c value ‘A’,30 fieldb type c value ‘B’.40 write: / fielda,50 new-page.60 write: / fieldb70 top-of-page.80 write: / 'This is the title'.80, 40, 50, 80, 6040, 80, 50, 80, 6040, 50, 60, 70, 8023 of 25REPORT ZPGM NO STANDARD PAGE HEADING.DO 8 TIMES.WRITE / ' '.ENDDO.SKIP.WRITE 'AAAA'.29101What can be assigned directly to a data element24 of 25check tablebuilt-in typedomaintable fieldtable typeIdentify the basic objects of the data Dictionary.25 of 25DomainsData ElementsTablesData ModelsDocumentation二、简答题1、写出四个ABAP的事件(5分)2、写出10个你知道的Tcode,并用一句话写出其功能(5分)3、试描述透明表、数据元素、域、数据类型之间的关系(10分)4、创建一个透明表和一个结构各分什么步骤?(10分)5、列出三种内表的名称,每个的适用范围。
ABAP 面试及答案
A B A P面试及答案I n t e r v i e w+Q u e s t i o n s(总25页) -本页仅作为预览文档封面,使用时请删除本页-面试问题集1.数据效率?尽量使用Select(max,min,sum,avg)和select single,for all enteris,二分法,append和collectloop里不能套select;避免使用select distinct,代替先sort,再delete;①抽取数据时,避免使用SELECT *, 尽量使用SELECT A B INTO TABLE ITAB这样的语句。
②不要使用SELECT...ENDSELECT语句。
③尽量避免在LOOP中访问数据库。
可以在之前先把数据取到内表,在LOOP中用READ TABLE WITH KEY ... BINARY SEARCH.进行读取对应的数据。
④用SORT代替ORDER BY。
⑤使用二分查找法。
READ TABLE的之前使用SORT TABLE BY对内表进行排序, 然后使用READ TABLE WITH KEY ...BINARY SEARCH.⑥避免使用SELECT DISTINCT语句。
在抽取数据到内表后用DELETE ADJACENTDUPLICATES语句来消除重复行。
⑦尽量多指定WHERE语句条件。
⑧在WHERE语句指定查询条件时,在同等条件下把包含等号的查询条件放到前边。
2.什么时候使用For all entries命令及其使用时的注意事项?3.4.当需要在LOOP中使用查询语句时,一般使用For all entries。
注意事项:①IN条件所在的内表不能为空(如为空将取出全部的数据);②数据库字段与内表中的关联比较字段必须具有相同的类型和长度,且不能在比较中使用操作符LIKE、BETWEEN和IN,同时不能使用ORDER BY子句。
③为避免删除并不重复的纪录,在定义内表时应尽可能多的指定关键字。
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.。
SAP内部ABAP英文面试试题
1. Repository objects are not client-specific.Determine whether this statement is true or false.□ True□ Falseects can be included in SAP packages.2. Customer obj2. Customer objects 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 V ariable 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 subroutine definition.□ D There are two different passing methods for formal parameters.□ E USING parameters without the V ALUE 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面试问题及答案
影响?
模块出口。
答案:修改是指用户对 SAp 公布的库对象〔Repository Object〕进行的 问题八:事务变式〔TransactionVariants〕
更改。
什么是事务变式?为何要使用它?
必需在更新期间对修改良行评审〔Review〕,来确定是否应当使用新的 SAp 答案:事务变式是一组屏幕变式,用于预定义屏幕行为和默认值。通过使
Customizing ——是最常用的使用 SAp 工具〔如 R/3 Reference Model 使用 ABAp 对象技术。这是一种使用面向对象的方法来进行 SAp 增添。
第1页共4页
本文格式为 Word 版,下载可任意编辑,页眉双击删除即可。
AUTHORITY-CHECK 语句中,必需指明授权对象的全部字段,但有一个例外,
可以用 DUMMY 关键字来绕过某个字段的检查。
问题七:功能模块出口〔Function ModuleExit〕
一个授权对象中最多可以定义 10 个字段。
对象,以及将来使用时是否需要进一步修改该对象。
用变式功能,可以将用户不需要的字段、子屏幕及全屏幕从用户视图中取
问题六:修改助手〔ModificationAssistant〕
消。可以给任何输入字段设置默认值,字段也可以不用带\"Ready for
什么是修改助手?
Input\" 状态。
答案:修改助手是 4.5 版中引入的一个工具,用于简化更新过程。可以 只能为对话和报表事务创建事务变式;变式中只能包含一般屏幕、子屏幕
修改屏幕布局的方式有:插入按钮、值关心〔ValueHelps〕、移动对象、
第2页共4页
插入屏幕等等。
本文格式为 Word 版,下载可任意编辑,页眉双击删除即可。
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. 数据库知识ABAP数据字典有哪些对象或元素?Data element, Domain, structure, lock object, views提交确认和数据库回滚取消语句COMMIT WORK ROLLBACK WORKLUW称为逻辑任务单位同一个逻辑任务单元同享一段内存将操纵放置在同一个LUW中可以控制事务的同时提交和回滚2.1.4简述modify 、insert、update对数据库表做操纵时的影响Modify 操纵数据库时,可以使用from 内表或任务区来进行多条和单条的更新,要求内表或任务区跟数据库表的结构一致,当数据库表中存在重复记实时,执行更新操纵,更新的值为内表或任务区的值,,当数据库表中不存在记实时,执行拔出,拔出的值为内表或任务区的值Insert 操纵数据库时,可以用from内表或任务区进行多条和单条的拔出,要求内表或任务区跟数据库表的结构一致,如果数据库中不存在重复记实时,执行拔出,拔出的值为内表或任务区的值;如果已经存在重复记实,会出现更新异常Update 操纵数据库时,可以直接set 来进行单值更新,可以用from table 和任务区进行批量更新,要求内表和任务区跟数据库表的结构一致,当存在记实时执行更新,当不存在记实时,没有数据会被更新,同时也不会产生异常,sy-subrc = 02.1.5 要描述域、数据元素、表字段之间的关系域为数据字典中最小的单元数据元素是基于域进行定义的表字段则是通过数据元素进行定义的数据字典有几种缓冲方法,适用规模?full buffer(全缓冲),一个表的数据要么全在内存中要么全不在.当表记实很少,拜访很是频繁且很少进行修改时使用:generic area buffer (常规区域缓冲),语言代码相关的表时最常使用的情况,如文本描述表,缓存满足在generic keys 中定义的字段(个数介于1个和表主键数减1)的值得记实:Single-record buffer(单记实缓冲),数据库表记实比较大,并且经常都是读取一条记实如select singleABAP 数据表的主索引是什么?索引的利益与害处?与建索引的注意事项!ABAP 数据表的主索引是什么?索引的利益与害处?与建索引的注意事项!数据表的主键便是表的主索引;好的索引能放慢数据读取的速度但会增加更新数据库表的时间;成立次级索引时应尽量选取那些查询条件经常使用到得字段ABAP透明表有哪几种数据类(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层的一个物理表什么是簇表(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).有两种锁类型:同享锁——只读锁,一个用户正在读数据时,阻止其他用户更改该数据.独占锁——可写锁,一个用户正在修改数据时,阻止其他用户更改该数据.更新 FM 分为 V1 和 V2,那么首先会执行哪一种更新类型呢?每种类型又是以哪种模式(异步、同步或当地)执行的呢?V1 更新类型比V2 更新类型的优先级高,因此,V1 比V2 行执行.V1 的执行模式可以为异步、同步或当地;V2 只能为异步执行.2.2.7使用OPEN SQL注意原则(1) a、尽可能削减满足条件的数据条目数量.b、削减数据的传输量,以削减网络流量.c、削减拜访的数据库表量.d、削减查询难度,可以通过整理选择尺度来实现.e、削减数据库负载.(2)不要在LOOP中拜访数据库尽量将数据预先提取到内表中然后再通过内表进行数据的整合(3)SELECT语句尽量提取需要的字段对于不需要的字段避免抽取(4)SELECT语句WHERE条件,应该先将主键相关条件放在前面然后依照比较符= < > <> LIKE IN的顺序排列WHERE条件(5)读取内表使用二分查找方法 BINARY SEARCH2.3.1 MM模块有哪些经常使用表格物料相关:MARA常规物料数据,MAKT物料描述推销申请相关:EBAN推销申请,EBKN推销申请帐户设置推销订单相关:EKKO推销凭证抬头,EKPO推销凭证项目,EKKN推销凭证中的帐户设置凭证相关:MKPF抬头:物料凭证,MSEG凭证段:物料,等等.2.3.2HR模块知识:HR里面存储HR主数据主要用到了哪些表?PA打头的是记实人员对象的相关信息,如:PAXXXX,前面是X 暗示四个数字HRP打头的是记实对象关系(组织机构)的相关信息.如:HRPXXXX.2.3.3HR模块知识:HR程序在开发中经常使用的两个逻辑数据库是什么?辨别对其进行描述PNP和PCHPNP是以人员编号为焦点进行联系关系的,统计的是人员的信息PCH是对象关系视图,记实组织机构相关对象的东西2.3.4HR模块知识:HR模块里面,如何修改HR的信息类型,具体如何实现第一步:锁定用户BAPI_EMPLOYEE_ENQUEUE第二步:调用HR里面操纵信息类型的BAPI:HR_INFOTYPE_OPERATION第三步:解锁用户:BAPI_EMPLOYEE_DEQUEUE2.3.5财务模块:财务模块开发中经常使用的表有哪些,复杂举例说明:2.3.6PM 经常使用的TABLEEQUI 设备主数据EQKT 设备短文本EQUZ 设备时间段ILOA PM 对象位置和帐户分派IFLOT 功效位置(表)IFLOTX 功效位置:短文本AFKO 订单表头数据 PP 订单AFPO 订单项AFVC 订单的工序inner join 与 left-outer join的区别?生成的结果集中left-outer join将主表(左表)中的所有满足查询条件的数据都会包含,若相同的查询条件下在右表中不存在记实也会包含;inner join只包含左表与右表中都满足查询条件的数据3. 权限相关什么是权限对象(Authorization Objects)?在 ABAP 程序中使用哪条语句进行授权查抄?权限对象由一组字段组成,这些字段中的值将被用于进行权限查抄.ABAP 程序中使用 AUTHORITY-CHECK 语句按照权限对象进行权限查抄.在AUTHORITY-CHECK 语句中,必须指明权限对象的所有字段,但有一个例外,可以用DUMMY 关头字来绕过某个字段的查抄.通过SY-SUBRC的前往值进行查抄,0为通过查抄,其他均为错误,一个授权对象中最多可以定义 10 个字段.与权限对象有关的事务代码有哪些?SU20定义,查抄和成立权限字段;SU21查抄系统已有权限对象,定义新的权限对象;SU53显示权限查抄出错的原因:对于调用Function时,前往无权限的错误后,能在此事务代码中查找到错误信息,PFCG角色维护,将所建的权限对象,与某个角色联系关系,将角色分派给某个用户后,就能够查抄该用户是否有进行操纵的某权限.4. DIALOGDIALOG 中的几个事件PBO PAI POV POH安在TABLE CONTROL中实现选中一行或多行的效果将内表第一个字段定义为一个长度为一类型为C的变量并在TABLE CONTROL属性框中将该字段填写到选择字段中去4.3DIALOG 开发的经常使用几个控件是什么?子屏幕、文本、输入输出框、框、容器、表控制、按钮等等5. BDCSHDB都可以用作数据导入但是BDC是完全模拟前台操纵而BAPI是SAP提供的尺度API 通过调用BAPI在后台生成相应数据性能高于BDC导入方法将要填写的字段全部输入包管其能正确被录制下来不需要填写的字段不要操纵以免录制后产生冗余字段运行模式包含:A.全屏幕显示;E.只有在产生错误时,显示屏幕;N.不进行屏幕的显示,将相关信息记实到信息内内外;P. 不进行屏幕的显示,可进行DEBUG测试.更新模式包含:A.异步更新;S.同步更新;L.当地更新;6. 增强6.1什么叫增强?有哪些方法进行增强?增强就是ERP系统中尺度程序的出口,在该出口中由用户按照企业实际需求编写客户化逻辑代码.User EXIT通过SE37,以EXIT*开头,找到的函数大都是做系统预留的出口函数,前面说过,用户出口是尺度程序留给用户的接口,尺度程序通常不允许用户任意修改,如果修改需要申请Access Key.并且修改尺度程序可能导致的错误erp公司通常是不担任的.在SAP中,自定义的程序通常以保存字Y或Z开头,因此,出口函数中都预包含了一个Z开头的程序.Customer exit客户自定义程序是通过Call Function来调用SAP库中的一些系统函数,而用户增强的概念方才和这个相反,你可以使用一个由SAP功效模块调用的功效模块出口可以在下面这几个层面对模块进行增强:在ABAP程序中的Function Module Exit(E类),在Gui 接口中的Menu Exit(C类),在指定区域拔出一个子窗口的Screen Exit(S类),ABAP数据字典中表和结构的增强Table Enhancement(T类),还有在屏幕指定区域添加一用户自定义功效的Field Exit和keyword exitBADI即Business Add-in,是基于ABAP对象的一种增强技巧.SAP预定了一些接口,供客户进行实现,完成增强.在进行增强时,必须首先定义 BADI.为 BADI 创建一个接口,接着创建一个适配器类(Adapter Class)来实现这个接口,然后创建这个适配器类的实例.6.1.4Enhancement Spot可称为隐式增强,在代码中,可拔出增强点,对代码进行增强.对于Enhancement Spot 分为ENHANCEMENT-POINT与ENHANCEMENT-SECTIONENHANCEMENT-POINT向其中添加的新代码,能够与旧代码一起运行ENHANCEMENT-SECTION增加的新代码,将笼盖旧代码6.2如何成立增强?(1)找到增强(2)成立增强项目(3)添加增强的组件添加进增强项目(4)编辑增强,添加自己的代码(5)激活增强代码对于Customer exit:SMOD查抄增强组件CMOD成立项目后,实现增强对于BADI:SE18查找接口SE19对接口进行实现6.4如何进行数据库表字段的增强?Append和Include的方法有何区别?Append 结构(Append Structure)和自定义Include(Customizing Include).Append 结构是在向表尾添加字段时创建的,自定义Include 由 SAP 开发人员指定,以使用户可以创建新字段.它们之间的区别在于: Append的结构只能由该表使用,其他表使用不成;Include能够拔出任意一个结构或表,其中当拔出表时,该表会自动转换为相同字段的结构.7. SMARTFORMS7.1谈谈SmartForm中,Template和Table表格的区别Template是静态表格,单元格的输出是一定的,Table是动态表格,包含在循环内,能够内表按条输出.7.2SMART FORM如何实现公司LOG打印,其步调是什么?1.用SE78导入公司logo,导入时只能导入位图、GIF文件,导入位图时,要注意用256色,不然会导致图片打印有问题7.3smartform 中如何控制段落、单个字符输出格局?用smartstyles 可以定义不合的段落、字符格局,在文本输出时可以指定格局8. RFC和 BAPI8.1 RFC8.1.1什么是RFC,有哪些通信模式?RFC是(Remote Function Call)的简称,是SAP系统和其他系统之间的重要而经常使用的双向接口技巧,它包含同步RFC,异步RFC,事务性RFC,队列RFC和并行RFC.8.1.2 RFC中涉及到经常使用的事务代码有哪些?SM51:查抄当前SAP系统中勾当的应用办事器,包含Server_Names,Host name和 Ty(办事类型):查抄外部命令设定SM59:配置RFC连接,其中相同类型的RFC目标被组合至同一个目录.这些远程目标的定义将保管在表RFCDES中.8.1.3按照调用的不合,RFC接口提供了什么样的办事?a.ABAP程序的调用接口,任何的ABAP程序都可以使用CALL FUNCTION ... DESTINATION预计调用远程功效.DESTINATION参数告知SAP系统被调用的功效将在调用者之外的系统上运行,通过RFC 接口与远程系统进行通信.如果远程功效来自SAP系统,则必须是时间的功效模块,并在功效库中注册为“支持远程调用REMOTE-FUNCTION-ENABLE”,通信双规都通过ABAP的RFC接口实现.b.非SAP ABAP程序的调用接口,在RFC的实现进程中,如果调用或被调用一方是非ABAP程序,则非ABAP程序必须以特点的规格进行酿成,确保它可作为RFC通信的一方.SAP系统为外部程序提供RFC支持接口(RFC-supported interface)和GUI支持接口(GUI-supported interface).这样,在非SAP系统中,外部程序就可以调用并执行SAP RFM.8.1.4RFC接口的具体功效包含哪些?a. 登录并退出远程系统,并执行权限查抄b. 调用并办理远程系统会话所需的通信例程c. 将参数转换成远程系统所需的格局d. 处理通信进程中的错误8.1.5在通过CALL FUNCTION语句进行远程功效调用的根本模式有哪些a. CALL FUNCTION - DESTINCTION: 以同步RFC方法实现的RFM调用.如果DESTINATION后无其它附加项,则形成同步RFC调用,调用程序等待远程调用的结果以持续执行.b. CALL FUNCTION - STARTING NEW TASK: 以异步RFC方法实现的RFM调用.通过STARTING NEW TASK 附加项形成异步RFC调用,调用程序不等待前往结果持续执行,结果将在回调子程序(callback subroutine)中接收.c. CALL FUNCTION - IN BACKGROUND TASK: 以事务性RFC方法实现的RFM调用.通过IN BACKGROUND TASK 形成事务性RFC调用,远程功效暂不开始执行,等待COMMIT WORK语句出现是,一次性执行一个或多个远程功效.在SAP系统中,RFC的创建方法与普通功效模块类似,只是编写功效模块时需要在Attribute选项卡中将Processing Type 选项设为Remote-Enable Module,在传入传出参数那里需要选择参数为Passing value.在SAP中,功效模块的调用通过 CALL FUNCTION 语句实现.远程功效作为普通功效模块调用的扩展,可通过在CALL FUNCTION语句中添加DESTINATION子句完成,其语法格局与普通调用完全相同.怎样成立RFC程序?RFC程序传递的参数都是传递值仍是引用?如何成立函数组?在SE37中成立函数模块的时候,attributes选项卡中将 remote function前面的圆圈勾选上.传递引用.可以SE80进入,选中屏幕左边的repository browser选项,在第一个输入框中选中函数组,在第二个输入框中输入需成立的函数组名,再回车就可以了;或从se37进入,在menu bar上选中go to——>function group——>create group8.1.9怎么来维护这个DESTINATION(远程目标)SM59, 其中包含链接和登录远程系统所需的全部参数信息.还可以在远程调用时直接指定当前系统的应用办事器作为RFC目标.通过SM51查抄当前SAP系统中勾当的应用办事器.8.2.1什么是BAPI?你使用过哪些BAPI实现什么功效?BAPI业务应用程序接口(Business Application Programming Interface,简称BAPI)是面向对象程序设计办法中的一组程序接口.它允许程序员通过SAP将第三方软件整分解R/3专有产品.为了完成一些特殊的商业任务,如上传买卖数据等,R/3系统中内置了BAPIBAPI是SAP提供的基于业务对象的函数,关头是它们处理的对象是R/3的业务相关business object),比地契据类销售订单,组织:公司等,它们是一系列实体.RFC则是一种系统间通讯的方法(Remote Funciton Call),一个BAPI函数往往能是一个RFC函数8.2.2什么是业务对象类型?它包含哪些主件?业务对象类型是业务对象的定义和描述,面向对象构架的实现根本,也就是SAP系统中的类,它封装了业务功效和数据.它包含接口,关头字段,属性,办法和事件5个业务组件.8.2.3如何创建一个BAPI?a. 定义BAPI Structure (Structure不克不及在BAPI中重复使用,因为一旦BAPI被释放,其Structure被冻结)b. 创建FUNCTION MODULE(每个BAPI必须有自己的Function Group,Function Group属性必须为RFC)c. 创建Business Object(SW01)d. 使用BAPI WIZARD创建API Method(这样BAPI可以被外部程序调用)e. 释放BAPI Function Module,释放Business Object Type,释放BAPI作为BOR的一种Method编写BAPI的注意事项有哪些?BAPI不克不及包含call transaction 或 submit report那些跳转到此外程序的语句;BAPI的结构中不克不及使用append或include,并且每个BAPI的结构都必须新建;BAPI中不克不及使用dialog,如进行文件选择,需要用户交互的东西,这也在RFC中不克不及出现8.2.5谈谈与BAPI相关的事务代码.SWO1业务对象创建器SWO2 业务对象浏览器SWO3业务对象仓库浏览器BAPI BAPI对象浏览器8.3 RFC 和BAPI的相同之处和不合之处8.3.1 RFC和BAPI的区别?1> BAPI和RFC不是同一个条理上概念;BAPI是SAP提供的基于业务对象的函数,关头是它们处理的对象是R/3的业务相关Business object,比地契据类销售订单,组织,公司等,它们是一系列实体.RFC 则是一种系统间通讯的方法(Remote Function Call),一个BAPI函数往往能是一个RFC函数.2> BAPI是个SAP里一个很好的思想,把业务对象都对象化了.9.1.1CHECK、EXIT、RETURN命令的区别?9.1.1.1 CHECK1)CHECK 前面要跟一个表达式,当表达式值为假(false)时,CHECK产生作用,退出循环(LOOP)或处理程序(Processing Block).2)如果CHECK出现在循环中,则产生作用时,退出的是当前一次循环操纵,程序会持续执行下一次循环操纵,其作用类似于Continue (Java 或C++中continue也是如此).3)如果CHECK出现在循环以外,则产生作用时,退出的是当前执行的程序块(processing block),例如一个FORM,METHOD,或EVENT.9.1.1.2 EXIT1) EXIT如果出现在循环中,退出的是整个循环操纵,.程序会从循环结束处开始持续执行,其作用相当于Java与C++中的break.2)EXIT如果出现在循环之外,退出的是当前执行的程序块(processing block),例如一个FORM,METHOD,或EVENT,其作用与RETURN类似.9.1.1.3 RETURNRETURN用来退出当前执行的程序块(processing block),例如一个FORM,METHOD,或EVENT,不管是否出现在循环(LOOP)中,RETURN都会退出当前执行的程序块,而不但仅是退出循环.虽然ABAP中EXIT 和RETURN都可以用来实现退出当前执行的语句块(processingblock),但SAP的帮忙文件建议只在循环中使用EXIT ,其他情况下要退出当前执行进程,使用RETURN .9.1.2初始化内表有几种方法?1、要初始化有或没有表头的内表,用REFRESH语句2、如果使用没有表格任务区域的内表,可以使用CLEAR语句代替REFRESH语3、如果使用有表头行当内表,CLEAR语句仅清除表格任务区域,要重置整个内表而不清除表格任务区域,使用REFRESH语句或CLEAR语句使用REFRESH或CLEAR初始化内表后,系统保持在内存中保存的空间.可以用FREE语句释放内存调用其他可执行程序使用“SUBMIT+程序名”语句,使用WITH 关头字,可传递选择画面参数,使用AND RETURN关头字,可在该程序执行完毕后,自动前往调用它的程序.调用其他事务代码使用“CALL TRANSACTION + 事务代码”,使用AND SKIP FIRST SCREEN可以跳过第一个画面,进入下一个画面9.1.5在进行画面跳转时,CALL SCREEN与LEAVE TO SCREEN的区别?CALL SCREEN是将正在运行的画面挂起,进入所调用的画面,当使用LEAVE TO SCREEN 0时,能够前往原画面,可理解为嵌套调用;而LEAVE TO SCREEN是立即结束本画面的执行,调用所指定的画面,在调用画面中,无法再前往原画面.9.1.6LOOP 循环和系统字段?Sy-index.sy-tabix存储loop循环到内表的第几行了,sy-dbcnt存储从数据库中读取到的满足条件的记实条数, sy-lisel 存储被选中行的内容,在事件at line-selection时起作用,该系统字段中的内容到下一个屏幕的时候还存在9.1.7MESSAGE消息有哪些类型,寄义?如何自定义MESSAGE消息类?A:Abend,立刻终止当前事务,进入DUMP的界面E:错误,画面的状态栏,会弹出一个错误提示信息I:信息,弹出一个消息对话框S:确认,画面的状态栏,会弹出一个正确提示信息W:警告,画面的状态栏,会弹出一个警告提示信息可以通过语句DISPLAY LIKE mtype可以取代原错误图标自定义MESSAGE消息类,通过事务代码SE91.9.1.8ABAP中,如何自定义异常类?如何捕获异常?通过事务代码SE24,在Class Type中,选择Exception Class便可定义,在TRY CATCH语句中就能够使用.捕获:和JAVA一样:TRY…CATCH 异常类…ENDTRY.9.1.9什么事事物变式?事务变式有什么用?事务变式是一组屏幕变式,用于预定义屏幕行动和默认值.通过使用变式功效,可以将用户不需要的字段、子屏幕及全屏幕从用户视图中取消.可以给任何输入字段设置默认值,字段也可以不必带 "Ready for Input" 状态.只能为对话和报表事务创建事务变式;变式中只能包含普通屏幕、子屏幕及对话屏幕.开发人员可以使用GuiXT 脚本语言通过事务变式维护对屏幕进行修改.修改屏幕计划的方法有:拔出按钮、值帮忙(Value Helps)、移动对象、拔出屏幕等等.包含SIGN OPTION LOW HIGH四个字段9.1.11对于FIELD SYMBOL赋值将使用ASSIGNPerform 调用子程序时,using ,tables,changing 3个参数辨别有什么影响?using 可以传入单值、任务区,只能使用,不克不及对值做修改,perform结束后传入参数的值仍是传入之前的状态;Tables 只能传入一个内表,程序逻辑可以对其进行修改,perform 结束后内表的值是影响Changjing,可以传入内表、单值,当程序逻辑可以对其进行修改,perform结束后传入参数的值是影响当时的值9.1.13如安在程序间传送数据?可以使用 EXPORT语句在 ABAP/4 内存中存储数据字段簇语句为:EXPORT <OBJECT1> <OBJECT2> ... <OBJECTN> TO MEMORY ID <ID-NAME>.而调用程序就会检索数据:语句为:IMPORT <OBJECT1> <OBJECT2> ... <OBJECTN> FROM MEMORY ID <ID-NAME>其中:ID参数标识唯一的数据簇.SAP和ABAP内存的区别:1、读取时使用办法不合SAP内存使用SET/GET parameters办法;ABAP内存使用 EXPORT 和 IMPORT 办法;2、同享规模不合SAP内存可以被所有的主session拜访,内存数据可以同一个session中不合程序之间,或不合session之间;ABAP只能在同个session的不合程序之间同享数据;3、作用规模不合SAP内存在整个终端session时间内都有效;ABAP内存只能在一个session时间内有效;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ABAP试题1,下面的语句中,哪一个语句编译会报错(假设XXX 和结构sflight都已经定义). ()A)write at 12 XXX.B)data type type sflight.C)sflight-price = a+b.D)write sy-vline.2.在ABAP/4的开发工作中,哪一个TCODE是直接进入就可以创建程序,函数组以及程序内部各种元素的. ()A) SE80 B) SE11 C) SE93 D)SE163.直接进入就可以查询表的结构是哪个TCODE. ( )A) SE80 B) SE11 C) SE93 D)SE164.很多表当中都有一个字段,叫做MANDT, 为第一个主键,这个字段的用处是.()A)区分后台数据库的类型B)区分表中记录属于哪个客户端(client)C)区分表的数据量大小D)SAP系统保留字段5.下面的定义语句中,哪一个语句定义出来的结果是一个内表. ()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)内表结构基本数据对象B)内表程序语句C)字符数字日期D)语句程序表7.语句loop at itab into wa. 的准确意思是. ()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,其中后三次分别代表的是内表还是结构. ()A)内表内表内表B)内表结构内表C)内表结构结构D)内表内表结构9.在设计报表程序时,选择的程序类型应该是.()A)可执行程序B)模块池程序C)包含程序D)函数组程序10.在报表程序的屏幕筛选条件里,SELECT-OPTIONS定义出来的元素是.()A)内表B)结构C)基本数据对象D)指针型字段11.在报表程序的屏幕事件里,有一个事件叫做AT LINE-SELECTION.参见如下代码:WRITE / ‘ABAP’.AT LINE-SELECTION.WRITE /‘TEST’.那么,以下哪种情况会发生.()A)先显示出一行ABAP,当用户双击一次时,屏幕上在原来ABAP那行下面换行一次显示出一行新的TESTB)先显示出一行ABAP,当用户双击一次时,屏幕上每次只显示出一行的TEST取代原先的屏幕C)先显示出一行ABAP,当用户双击一次时,屏幕上永远只显示出一行TEST(放在原来ABAP那行下面)D)先显示出一行ABAP,当用户第一次双击时,产生一个新屏幕,显示一行TEST,然后每次双击都在其下换行显示一行新的TEST12.选择事件的执行顺序正确的一组.()A)INITIALIZATION / START-OF-SELECTION / TOP-OF-PAGE / AT LINE-SELECTION B)INITIALIZATION / TOP-OF-PAGE / START-OF-SELECTION / AT LINE-SELECTION C)START-OF-SELECTION/ INITIALIZATION / TOP-OF-PAG / AT LINE-SELECTION D)INITIALIZATION / TOP-OF-PAGE / AT LINE-SELECTION / START-OF-SELECTION 13.在层级报表的开发里,下面哪个条件不是必需的.()A)对内表先按层级字段排序B)对内表和结构定义时层级字段必须排在前面C)层级字段不能出现在at 和end at 语句之外D)层级字段必须存在14.在明细报表的开发中,双击一行转向明细报表的取数依据是.()A)你双击那行的主键字段B)你双击的那个字段本身C)你双击那行在循环中预先hide的字段D)你双击那行在循环中预先已经write出来的字段15.在交互式报表的设计中,假如想在明细报表里加入任意字段的排序功能,请选择正确的选项(多选).()A)要先用get cursor field XXX.取得字段B)对内表排序时该字段要用括号括起来C)在排序时要把该字段加上一个数字以去除前面的结构名称(如果是用结构-字段定义的话)D)排序后显示完要把sy-lsind = 0,以防止产生多余的list16.在屏幕编程的设计中,下面共有四个主要步骤:a 设计屏幕的格式(有哪些字段,放在什么位置)b 设计屏幕的整体属性c 设计屏幕上字段的属性d 编写屏幕的流逻辑( flow logic )请选择通常请况下正确的顺序. ( )A)a b c dB)c d b aC)b a c dD)d b a c17. 如果屏幕A 的下一个屏幕仍然是A , 那么当执行程序时,对于屏幕的主要事件,下面哪种顺序是正确的. ()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) 先设计一个Gui Status,再在程序中绑定B) 先设计一个Gui Titles,再在程序中绑定C) 在程序中用Add button 语法添加D)在屏幕设计格式的界面上添加工具栏及其按钮19. 以下四种系统变量,各是什么含意. ()SY-UCOMM SY-DATUM SY-SUBRC SY-TABIXA)用户触发的屏幕上的功能码当前日期当前时间循环次数B)当前日期当前时间循环次数用户触发的屏幕上的功能码C)用户触发的屏幕上的功能码循环次数语句执行结果返回值当前日期D)用户触发的屏幕上的功能码当前日期语句执行结果返回值循环次数20.一个程序的子屏幕编程是如何实现的. ()A)子屏幕区域外加屏幕(属性设置为正常屏幕)B)自定义控件外加屏幕(属性设置为正常屏幕)C)子屏幕区域外加屏幕(属性设置为子屏幕)D)自定义控件外加屏幕(属性设置为子屏幕)21.对于表格控件和内表的绑定的做法,下面哪种说法是正确的. ()A)PBO时同步循环内表和表格控件把内表的值写入表格控件,PAI时用同样的循环把表格控件的值写回内表B)PBO时同步循环内表和表格控件把表格控件的值写入内表,PAI时用同样的循环把内表的值写回表格控件C)在定义内表时定义与之绑定的表格控件,PBO和PAI事件要各循环内表一次D)在制作表格控件时定义与之绑定的内表,PBO和PAI事件要各循环表格控件一次22.如果要把表格控件某列的属性动态的改变成不可输入,下面哪种做法是可行的. ()A)在PAI事件中修改table的general attribute值B)在PBO事件中修改table的general attribute值C)在PAI事件中取得table的COLS属性,利用它本身是个内表的特点循环找到该列修改之,修改完后写回COLS内表D)在PAI事件中取得table的COLS属性,利用它本身是个结构的特点找到其中表示该列的字段修改23.要对表格控件增加一个可由用户写入信息的列,下面哪种方式是可行的(多选).()A)在设计屏幕上点击dictionary / program fields window 按钮,输入字典表或者程序中定义的元素,把它拖到表格控件中B)在设计屏幕上修改table的attributes,增加一列C)在设计屏幕中的表格控件里拖入一个text field(文本字段)D)在设计屏幕中的表格控件里拖入一个input/output field(输入/输出字段)24.在编写ALV GRID CONTROL时,应遵循以下哪种顺序. ()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,这个搜索帮助的输出效果是. ()A)先输出两个栏位的筛选屏幕,再按照筛选结果输出两个栏位的表格信息让用户选择,选择结果影响到四个栏位B)先输出两个栏位的表格信息让用户选择,选择结果影响到四个栏位C)先输出四个栏位的表格信息让用户选择,选择结果影响到两个栏位D)先输出四个栏位的筛选屏幕,再按照筛选结果输出四个栏位的表格信息让用户选择,选择结果影响到两个栏位26.ABAP的OPEN SQL的取数语句是否可以实现数据库无关性,其原因是什么. ()A)不可以,数据库的SQL格式不同B)可以,因为它的名字叫做OPEN SQLC)可以,因为中间有一层DB Interface做转换D)不可以,各种数据库的版本不同27.对ABAP的OPEN SQL语句的两个返回系统变量,描述正确的是. ()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.执行后对系统的影响为. ()A)没有任何影响B)TA有两条记录1 / ‘first’/ 19 和2 / ‘second’/ 20C)TA有一条记录2 / ‘second’/ 20D)系统出错退出,对表没有任何影响29.SAP对锁的主要实现手段是. ()A)在SE11里加锁对象,然后在程序中调用锁对象生成的函数B)在数据库里加锁,在程序中声明C)由数据库自动进行,SAP不用处理D)在程序中通过SQL语句实现30.有一程序,起始画面里有一个用户可以输入字段为A ,如果想在程序进入的时候自动设置成上次退出时的值,可以采用的方法是. ()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的对应关系是. ()A)一个SMARTFORM对应多个程序B)一个程序对应多个SMARTFORMC)一个SMARTFORM对应多个程序,一个程序也可以对应多个SMARTFORMD)一个SMARTFORM对应一个程序32.设计SMARTFORM显示一个表格,如果第一页是一种格式,后面几页是一种格式,如何设计. ()A)第一页指向第二页,第二页指向空B)第一页指向自己,第二页指向第一页C)第一页指向第二页,第二页指向第一页D)第一页指向第二页,第二页指向自己33.如果想设计SMARTFORM中大家公用的文本,应该使用什么技术. ()A)SMART TEXTB)SMART STYLEC)SAP SCRIPTD)TEXT MODULE34.下面对于SMARTFORM中TABLE和TEMPLATE的描述,正确的是. ()A)TEMPLATE用来设计表格模版,TABLE用来设计表格实体B)TEMPLATE用来设计表格样式,TABLE用来设计表格实体C)TEMPLATE用来设计静态表格,TABLE用来设计表格实体D)TEMPLATE用来设计静态表格,TABLE用来设计动态表格35.SMARTFORM中TABLE的排序事件的触发场合是. ()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)60B)70C)140D)15037.SAP提供的修改系统标准功能的方案里,哪几种是不需要修改系统标准程序就可以实现的. ()A)Customer Develepment ,Enhancement,ModificationB)Customer Develepment ,Customizing,ModificationC)Customer Develepment ,Customizing,EnhancementD)Enhancement,Modification,Customizing38.对于客户定制需求的解决方案,应该遵循哪一种顺序进行为宜. ()A)先判断能否配置;再判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement;最后考虑自己开发B)先判断系统有无类似功能,有的话先判断能否修改标准程序,再判断能否进行Enhancement;然后判断能否配置;最后考虑自己开发C)先判断能否配置;再判断系统有无类似功能,有的话先判断能否进行Enhancement,再判断能否修改标准程序;最后考虑自己开发D)先判断系统有无类似功能,有的话先判断能否进行Enhancement,再判断能否修改标准程序;然后判断能否配置;最后考虑自己开发39.自己定义一个增强项目,加入系统的增强,并在其中激活增强的TCODE应该是. ()A)SMODB)CMODC)SE84D)SE8040.在SAP系统标准增强功能里,主要包含了以下哪组功能. ()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二问答题(共1题,20分)请简述SAP二次开发中REPORT , SCREEN , 数据库更新,SMARTFORM及增强等主要技术的开发方法和主要应用场合1c 2a 3b 4b 5d 6a 7d 8b 9a 10?11b 12a 13? 14? 15 ? 16c 17d 18a 19d 20c21a 22b 23? 24a 25? 26c 27b 28b 29a 30?31? 32? 33? 34? 35? 36? 37c 38c 39b 40a只会这些~!1,c 2.A 3.B 4. b 5. d 6. A 7.d 8.b 9.a 10. a1,c 2.A 3.B 4. b 5. d 6. A 7.d 8.b 9.a 10. a 11. b 12.a 13.d 14.c15.a,d ?16.c 17.d 18.a 19. d 但Sy-TAbix 不是循环次数, 而是表中记录的序号 20.c 21.a ? 22. b ? 23.? 24.a 25. ? 26.c 27.b 28 b 29.? 30.b 31.c 32.? 33.? 34.? 35? 36.? 37.c 38.c。