SAP ABAP Interview Questions
Introduction to SAP ABAP
SAP(Systems, Applications, and Products in Data Processing) is a software type called Enterprise Resource Planning(ERP) that is used by large companies for managing their daily affairs. ABAP in SAP is used for developing RICEFW(Reports, Interfaces, Extensions, Forms, and Workflows) objects. Advanced Business Application Programming is a full form of ABAP in SAP. SAP ABAP is a 4th generation application-specific programming language used for creating an application for the SAP R/3 system. Those applications will run in SAP that has been written with the help of ABAP/4.
It is currently put along with Java as the programming language for SAP NetWeaver Application Server(part of the SAP NetWeaver platform) for developing business applications.
Scope of SAP ABAP
SAP is widely used by plenty of organizations & one of the major reasons behind the popularity of SAP is that it was specially developed for distributed applications. SAP ABAP gives extended versatility to the SAP applications such that varied database systems can be contiguous as per user demands.
The scope of the SAP ABAP career is vast. ABAP can give a prominent career boost for a programmer recognizing their commitment levels. Once you become a member of the SAP community, you can begin your career as a trainee, followed by a junior counsellor, then a specialist, afterwards a senior specialist, and then finally a lead consultant.
An ABAP consultant’s profession is never going to fade as the business process keeps changing, the technologies also keep getting renewed from time to time which enforces the person to tune into the variations and learn new forthcoming technologies. The career of SAP ABAP consultant is intellectually challenging, along with that it is professionally & financially satisfying.
SAP ABAP Interview Questions for Freshers
1. What are Smart forms in SAP ABAP?
The smart form allows to create, design, and maintain forms for bulk printing in SAP Systems. SAP smart forms will support printers, e-mail, fax, or the Internet as an output medium. We can embed images, texts, barcodes, tables, and ABAP codes with smart forms. On smart form activation, a function module will be generated that an ABAP program needs to call. SMART STYLES transaction is helpful in defining the paragraph and character formats(barcodes, fonts, etc).
Advantages of smart forms are:
- It helps to adapt the forms with the help of a graphical user interface and there is no need for programming knowledge.
- During smart form activation, the system will automatically generate the function module.
- For making any changes we need to use the Cut & Paste, Drag & Drop. These actions do not include the writing of coding lines or using a scripting language.
- It is possible to insert the static and dynamic tables using smart forms.
- It permits the user to include graphics, that will be shown as a part of the form or as background graphics. It is possible to suppress the background graphics by the user as and when it is necessary.
2. What is meant by data dictionary in ABAP?
- ABAP data dictionary represents metadata(i.e. data about data) that is present inside the SAP database in addition to the metadata maintained by the database. Data dictionary allows the necessary description of all the data without redundancies that are used in the system. New or updated information will be provided automatically for all the system components. This ensures data security, data consistency, and data integrity.
- It is used to describe the logical structures of certain objects that can be used in the development of the ABAP/4 application and it can also display the underlying relational database in tables.
- The data dictionary is useful in creating and managing data definitions as well as in creating Tables, Domains, Views, Data Elements, and Types. Also, it supports a few standard functions for editing screen fields like assigning input help to the field of a screen.
3. Differentiate between transparent and pool tables.
Transparent Table | Pool Table |
---|---|
It has one to one relation with the database table | It has many to one relationship with the database table |
It contains only a single table | It contains a large number of small tables |
Stores master data | Stores customizing data or system data |
A secondary index can be created | A secondary index cannot be created |
Can be accessed using Open and Native SQL | Can be accessed only using Open SQL |
The database table will have the same name, the same number of fields, and the same field names | The database table will have a different name, different number of fields, and different field names |
4. What is Web Dynpro for ABAP?
Web Dynpro(WD) is an SAP standard user interface technology for ABAP and is used for developing the web-based application in SAP using the development concepts and techniques of SAP. It provides a front-end web user interface for connection with backend SAP R/3 systems to access data and also for reporting. It has a graphical development environment along with a runtime environment that has specific development tools that are combined in the ABAP Workbench.
5. What are smart forms in SAP?
SAP Smart Forms is a tool used for printing and sending documents. It is useful in the development of forms, e-mails, PDF files, and documents for the Internet. This tool offers an interface for building and maintaining the layout and logic of a form. SAP delivers a form selection for business processes such as those used in Sales and Distribution(SD), Customer Relationship Management(CRM), Human Resources(HR), and Financial Accounting(FI).
This tool permits you for form modification with the help of simple graphical tools rather than using any programming tool. It implies that a user without any programming knowledge will be able to easily configure these smart forms with data for a business process.
6. What are the different ABAP/4 editors?
The two ABAP/4 editors are:
- SE38: It allows you for the program creation and to view the online reports and essentially performs all the object development in ABAP/4 editor.
- SE80: It supports additional features like the creation of packages, module pool, function group, programs, classes, and BSP(Business Server Page) applications.
7. What is ITS in SAP? What are the merits of ITS?
ITS(Internet Transaction Server) in SAP is the necessary link between the internet and the SAP R/3 system. It is integrated into the kernel that belongs to SAP Netweaver Application Server. ITS creates an interface between the R/3 system and HTTP server for converting screen-provided data by the R/3 system into HTML files and vice versa. Because of integration with ITS, a web browser is able to do direct communication with an SAP System. ITS is accessed with the help of “Internet Communication Manager”.
Merits of ITS are:
- It is possible to develop and test the comprehensive web transaction in the R/3 system.
- It acts upon all transaction components, including those components used outside of ITS.
- In the R/3 system, using automatic language processing utilization of language-dependent HTML documents can be done during runtime.
8. Explain about lock objects in SAP ABAP.
Lock Object is an ABAP Dictionary provided feature used for synchronizing the access to the same data by multiple users or programs. Lock Objects in SAP ABAP are used for avoiding inconsistency during data insertion or modification in the database. Tables whose data records are gonna locked must be defined with their key fields in a Lock Object.
Consider an example for the usage of Lock Object, suppose a travel agent wants to book a place in flight. Also, the customer wishes to fly to a particular city on a particular day with a particular airline. The booking will be possible only if there exists a free place on the flight. The database entry for the flight must be locked through access prevention for other transactions to avoid the possibility of overbooking. This will make sure that a user can find out the number of free places, do the booking, and change the available number of free places without the data being changed at the same time by another transaction.
9. Explain the types of function modules in SAP ABAP.
Function Modules are encapsulated procedures in ABAP and are grouped in Function Groups. Function modules are created with the help of Function Builder(transaction SE37). The type of function module relies on the type of processing.
Function module types are:
- Regular function module: It will be executed immediately and synchronously on the current SAP system of the user. It is the default option.
CALL FUNCTION funcname { parameter_list | parameter_tables }.
- Remote-enabled function module: It is called by remote systems(R/2 or R/3) that utilize the RFC protocol. For example, it is possible to define a Remote Function Module in an EWM(Extended Warehouse Management) system which will be later called by your ERP(Enterprise Resource Planning) system for obtaining further information related to stock levels or shipment details.
CALL FUNCTION funcname DESTINATION dest parameter_list.
The above statement calls the target system mentioned under dest synchronously. The unique name of a destination should be used for the parameter dest.
- Update function module: This module will not be executed immediately. This update process will be triggered by the COMMIT WORK statement. The ROLLBACK WORK statement is responsible for deleting all update function module registrations.
CALL FUNCTION update_function IN UPDATE TASK
[EXPORTING p1 = w1 p2 = w2 ...]
[TABLES tab1 = itab1 tab2 = itab2 ...].
IN UPDATE TASK will bundle database modifications into a single database called LUW. Since the update happens asynchronously, it is proved beneficial for performance.
- BAPI(Business Application Programming Interface) function module: BAPI is a Function Module that provides a standard interface for business objects available in SAP. Common usage of BAPI is to create/delete/update/read business objects such as Business Partners, Purchase Orders, or Sales Orders.
10. What do you mean by the workflow in SAP ABAP?
In the SAP system, workflows in business are used for executing business processes in applications. Workflows are the SAP system’s essential component that helps in business process design, it can be either a simple process or a complex repeated business process. These are predefined in the SAP R/3 system and the user is allowed to create their new workflows. It also permits the users for managing business processes in the most efficient manner.
Workflows will make sure that the correct information will be sent to the right person at the right time in a proper sequence. It is a tool for business process automation and will uniformly work across all the applications. It is suitable for business processes that involve multiple people or a group of people.
11. What is SAP ABAP?
SAP(Systems, Applications, and Products in data processing) is an ERP(Enterprise Resource Planning) type of software that is used to manage the daily affairs of a large company. Advanced Business Application Programming or ABAP is the fourth-generation programming language and is used to allow the mass-processing of data in SAP business applications. It is possible to build enterprise applications for a larger business and financial institution with the help of the SAP ABAP platform. So, SAP ABAP will protect from organizational data breaches and security threats to information leakage.
SAP ABAP is suitable for integrated applications that a company will use to collect, manage, store, and interpret data from various functional areas. It will act as a single data source and share data within all the units of an organization. It helps the customers for running their business with greater accuracy.
12. Explain about interfaces in SAP ABAP.
Interface in SAP ABAP is an independent structure that is used when two similar classes have the same method name, but the functionalities of each will be different from each other. It looks similar to classes, but the method defined in an interface needs implementation in a class for extending the scope of that class. Interfaces, as well as inheritance features, will provide a base for polymorphism, because a function defined in an interface may act differently in various classes.
Following is the syntax for the creation of an interface:
INTERFACE <interfac_name>.
DATA.....
CLASS-DATA.....
METHODS.....
CLASS-METHODS.....
ENDINTERFACE.
In the above given syntax, <interfac_name> stands for the interface name. The DATA and CLASS-DATA statements are used for instance and static interface attributes definition respectively. The METHODS and CLASS-METHODS statements are used for instance and static interface methods definition respectively. Here, the interface definition will not include the implementation class, so adding the DEFINITION clause in the interface declaration is not mandatory.
13. What is the type group in SAP ABAP?
A type group is an ABAP Dictionary-managed ABAP program that is initiated by the TYPE-POOL statement and that consists of ABAP statements that define globally visible constants, data types, and macros. A type group and its constants, data types, and macros do not have semantic attributes excluding short text and any comments in the source code. The type group name can have only five characters, must begin with a letter, and can have numbers or letters or underscores.
For example, one type group frequently used in the ABAP program is ABAP itself, which consists of multiple low-level constants and types. The disadvantage of this group is loading the entire type group is necessary, even if only a few constants and types are required.
14. How can we insert a line into ABAP internal tables?
With the help of the INSERT statement, it is possible to insert a line or lines into internal tables of ABAP. For inserting a line, you need to put the values which we wish to insert in a work area, then later you can use the INSERT statement for inserting the values in the work area then into the internal table.
The general format for a line insertion into an internal table is:
INSERT <work area> INTO TABLE <internal table>.
OR
INSERT <work area> INTO <internal table> INDEX <index>.
15. What is SAP Script? Describe its components.
SAP script is a text-processing system that belongs to the SAP System. It is used for printing pre-formatted text in the corresponding forms.
SAP Script has the following components:
- Editor: It will be used to enter and edit the lines of a text.
- Styles and layout set: It is mainly used for print layout. I will be created using the corresponding maintenance transactions independent of the individual texts and will be allocated to the texts later.
- Composer: It is a central output module and is invisible to the outside.
- Programming interface: It permits you for adding SAP script components into your application programs and for controlling the layout set output from within the programs.
- Database tables: It will be used for styles, layout sets, and storing texts.
16. Explain about types of buffering in SAP ABAP.
Three types of buffering can be found in SAP ABAP, that can be configured for a database view or database table in ABAP Dictionary. They are:
-
SAP Buffer - Single Record Buffering:
In this type of buffering, only actually accessed rows in the table will be buffered. It needs less space in the buffer when compared to generic or full buffering. But it requires more amount of administration work and direct database access. IfSELECT SINGLE
is used for accessing a non-buffered row, it tries to load the row. If the row is not available, this will be noted in the buffer and the database will not again access the next timeSELECT SINGLE
has been used. -
SAP Buffer - Generic Buffering:
In this type of buffering, SAP buffer will be loaded with all rows that match a row(on which read is performed) in a left-justified part of the primary key. The count of key fields covered is mentioned within the definition and will be always less than the key field’s total count. Altogether, these key fields are considered as the generic key. Each generic area will be managed similarly as standalone views or tables whose primary key will be the generic key and that are fully buffered. -
SAP Buffer - Full Buffering:
In this buffering, on reading a row, all rows in the view or table will be loaded into the SAP buffer. The buffered view or table will be either completely in the buffer or not at all. In the buffer, the buffered data records will be sorted on the Key of the view or table basis. Optimized access needs the left-justified part of the primary key/the secondary index fields to be as large as possible. If not, the buffer will be scanned in a linear format.
17. Difference between Type and Like in ABAP.
‘Type’ | ‘Like’ |
---|---|
You can assign the data type directly during the declaration of the data object | You can assign the data type of one object to another during the declaration of the data object. The datatype will be indirectly referenced here. |
It is used when user-defined objects connect with SAP system data type | It is used when data objects connect with the other data object |
Type keyword is useful in referring to the data type | Like keyword is useful in copying the existing data object properties |
18. What is meant by ALV(Application List Viewer) programming in SAP ABAP?
The ALV or Application List Viewer is used for improving the report output. We can avail the set of ALV function modules with the help of SAP and those will be used to improve the functionality or readability of any output of the report. It is a relevant tool used for arranging the columns in the output of a report.
Application developers can quickly implement structured dataset displays with the help of ALV, by providing three different tools of ALV, one each for the display of Tree structures, Simple and two-dimensional tables, and Hierarchical-sequential lists.
The SAP ALV provides application developers with:
- An object-oriented API for all ALV tools.
- The API which is coherent.
- Detecting the error during programming as early as possible.
- Functions for accessibility will be in integration with ALV, which implies that no need of providing these functions yourself while using your application.
19. What are internal tables in SAP ABAP?
Internal tables are temporary memory areas that exist only during run-time for storing data at run-time. It can be used only on a subset of database tables for performing calculations related to the table. It re-organizes the content of the database according to the requirement of the user.
20. Explain the advantages of the modularization technique.
Modularization is breaking the application code into smaller parts, so that maintenance will be easier. Consider an example where you want to implement the same logic like the addition of two numbers in multiple parts of the same program, then put the logic within a modularization unit and this modularization unit can be called wherever you want to add two numbers.
Advantages of modularization techniques are:
- Modularization will eliminate redundancy if the program is having similar statement blocks or it needs to process the same function multiple times. Thus it increases the code reusability.
- Using this modularization technique, we can make the program easier to read and improve the program structure.
- Modularized programs will be easier to maintain, update, and debug.
SAP ABAP Interview Questions for Experienced
1. Explain about Enhancement framework in SAP ABAP.
Enhancement framework in SAP ABAP is the new modification-free enhancement concept that allows you for adding functionalities to standard SAP software without modification of original repository objects. It also helps the consultants, customers, and third parties by providing an option of enhancing the standard code with custom code that they wish to add.
The below diagram shows the enhancement framework options.
The enhancement framework is divided into two parts. They are:
- IMPLICIT Enhancements: In the ABAP report, enhancements are possible by default at two places, the start of the report and the end of the report. So, customers are able to do enhancements at the beginning and end by creating enhancement implementations by default in all the reports.
-
EXPLICIT Enhancements: The places in the report will be explicitly provided by the SAP where exactly it can be enhanced. There are three options available under these explicit enhancements:
- Enhancement Point: It will be created in the report where exactly the customer can enhance so that the expected results at that point can be modified using enhancement implementations.
- Enhancement Section: It will be created in the report by selecting the code section that can be enhanced using customer implementation.
- BAdi: It is mainly used for ABAP Objects where a BAdi definition creation can be done using an interface with a fixed signature which can be implemented by the customer using the BAdi implementation.
2. What is Transport Request in SAP?
- Transport Requests(TRs) are a ‘Container or Collection’ type of change that can be done in the development system. Also, the information related to the requested category, type of change, the target system, and the purpose of transport will be recorded. Transport requests are also called Change Requests.
- Every transport request will have multiple(one or more) change jobs(change Tasks). Tasks will be stored inside a TR, in the same way as multiple files will be stored in some folder. TR will be released only once after the completion/release/deletion of all the tasks inside a TR.
- Change Task is an object list that has gone through a modification by a specific user. Each task must be assigned to(and released by) a single user only. Anyways, multiple users will be assigned with each Transport Request. Tasks cannot be transportable by themselves, it can be done only as a part of TR.
3. What are OSS notes in SAP ABAP?
- OSS(Online Service System) notes are a part of an online SAP service portal that gives up-to-date information about SAP notes. It is the Knowledge Base of SAP that will address the known issues specifically in the SAP system. It frequently releases patches, new program developments, bug fixes, and other various updates by SAP. This will provide a list of correction notes for SAP objects.
- OSS Notes will be continuously updated as customers report issues in the SAP system and SAP will release a note that includes detailed instructions about fixing or addressing the issue. Most of the issues get addressed or fixed when the next version of the same component gets released by SAP and hence it is very important to see note applicability related to the version where an issue is being addressed. Each note will be applied to a version and almost all its predecessor versions. Before you start with your work, it is necessary to check for the presence of a particular in your SAP system.
4. Explain about Adobe forms in SAP ABAP.
- Adobe forms is a technology used for developing the forms and now it has become the current standard in SAP for form development. To use these forms, a Java stack must be first installed in SAP Basis. Along with that, developers need to configure the Adobe Document Service(ADS). Adobe LiveCycle Designer(LCD), GUI(graphical user interface) for Adobe Forms- must also require to be installed separately as the application will run on Windows.
- Using Adobe Forms, we can create the forms in companies, fill out the form, output as a print form, show it as a PDF file on screen, or even it can be sent. Such forms will include purchase orders, orders, and invoices.
- From the SAP system, it reads the associated master data and transaction data. The data will be displayed by the application in the predefined and desired form, for example, as a print form. Entering data in forms is also allowed.
- Adobe has become the successor to SAPscript and SmartForms. This technology has surpassed its two predecessors SAPscript and SmartForms in various areas like performance and design.
- We can separate design and programming by using Adobe forms in SAP. Also, Interactive Forms by Adobe in SAP provides different suitable tools and functions for the easier design of a form.
- It is possible to customize the forms by form developers with the help of their own programming by using two script languages Adobe FormCalc or JavaScript. The developer tool for Adobe Forms will be accessed through SFP(SAP tcode-Form Builder) transaction.
5. Does the ABAP object support multiple inheritances?
Multiple inheritances mean where multiple classes can be a superclass of a single class. ABAP objects don’t support multiple inheritances as we can’t inherit a class from more than one class. It allows defining a class inheriting from only a single class in ABAP objects. If you are trying to define multiple superclasses during class definition, an error message will be prompted by the compiler. But still, you can accomplish a similar functionality like multiple inheritances by using Interfaces in SAP ABAP.
6. Mention the Differences between BAPI and RFC in SAP ABAP.
BAPI(Business Application Programming Interface) | RFC(Remote Function Call) |
---|---|
It is a standard programming interface that allows accessing business processes as well as data for external applications in the R/3 system | It is a standard SAP interface for communicating between various SAP systems |
Used to access SAP functions across stable, formal, and dialogue-free interfaces | It is used to call the function modules that reside on various machines |
Success or error message will be returned on a RETURN table | It does not have a RETURN table |
It allows connecting with the SAP for the outside world(VB, .NET, Java, or any Non-SAP system) | It does not allow the Non-SAP world to be connected to SAP |
A business object is associated with it | No business object is associated with it |
7. Explain the sequence of events firing in report programming.
Report Programs in ABAP are event-driven programs that are used for displaying a large amount of data. The various events firing will take place in a particular order within a report program. That is:
- Top of page: This event will be triggered by the first ‘write’ statement written in the report. It acts as a page header. By default, the first event triggered will be the ‘load-of-program’, if the ‘write’ statement is not included in the report.
- Load-of-program: This event will be triggered when the program of type E(Executable program), M(Module pool), F(Function pool), or S(Subroutine pool) gets loaded. It will be in existence only once per program.
- Initialization: This event is used for initializing the values. This event will be triggered after the ‘load-of-program’ event and before the display of the selection screen.
- At selection-screen output: This event will be triggered just before the display of the selection screen. It is used if you wish to change the screen fields during runtime. It will hide the fields or make them invisible/visible or make them intensified.
- At selection-screen: This event will be triggered processing of selection-screen by the user. It will be used for checking and validating the inputted values.
- At selection-screen on field: This event will be triggered in the PAI(Process After Input) when data is transferred from PARAMETERS or SELECT-OPTIONS to ABAP. It can be used for validating the user input.
- At selection-screen on value-request: Using this, if a program field is defined with ABAP Dictionary field reference for which possible entries help has been defined, the values from the ABAP Dictionary help will be displayed automatically on calling F4 help for that field by the user.
- Start-of-selection: This event will be triggered on execute button click or F8 button press by the user.
- End-of-selection: This event will be triggered on the execution of the last statement of the start-of-selection event.
- End of page: This event will be triggered each time when the list data reaches the page footer region.
8. What is IDoc in SAP ABAP?
IDoc(Intermediate Document) is an SAP object that carries business transaction data in the form of electronic messages from one system to another. The IDoc helps for transferring data/information from the SAP system to other systems and vice versa. The data transfer between two SAP systems is accomplished by using ALE(Application Link Enabling) and data transfer from SAP system to non-SAP system is accomplished using EDI(Electronic Data Interchange) subsystems.
9. Explain different types of views in SAP ABAP.
A view is a virtual table that consists of fields from one or more tables. There are 4 types of views in SAP ABAP. They are:
- Projection View: It is used to hide specific fields in a given table and can also be used to gain access to the cluster, pooled, and transparent tables. Selection conditions are not available in a projection view. The projection view access will be through an Open SQL, not Native SQL.
- Help View: It is used in the search helps. The search help is able to select database views, database tables, and special help views. For database views, the search help is restricted to the inner joins and for database tables, it is restricted to a single table. It is not possible to define a help view in the database.
- Database View: It is a general view used for single or multiple basis tables. Once the database view is activated, multiple basis tables can be joined with an inner join by creating a matching SQL view. It is possible to access database views using both Open SQL and Native SQL.
- Maintenance View: It performs writes on different tables using extended table maintenance. One maintenance view is capable of changing the contents of many related database tables unfailingly. The maintenance view cannot be accessed using Open SQL.
10. Differentiate between ALE and EDI.
ALE(Application Link Enabling) | EDI(Electronic Data Interchange) |
---|---|
It is an SAP technology used for transferring data between SAP systems | It is an independent technology used for transferring data between two systems, either between SAP systems or non SAP systems |
Useful in internal communications | Useful in external communications |
It is used for distributing the master data(such as Vendor Master, Material Master) within a company when a distributed environment has been maintained | It is used for exchanging transaction data(such as Delivery, Purchase order) among two different business partners |
Technically, data transfer is done using memory buffer | Technically, data transfer is done using a file port |
A translator is not required here | Translator is required for converting the X12 to IDoc(Inbound) and IDoc to X12(Outbound) |
11. Explain the 3-tier SAP ABAP architecture.
The SAP ABAP 3-tier architecture has 3 major layers. They are:
- Presentation Layer: It is an interface or program known as “sapgui.exe” installed on a PC or Workstation of a user. This interface will accept user inputs in the form of mouse clicks, function keys, or keystrokes and will send the request that needs to be processed by the application server. The application server will send the result back to the interface and output formatting will be done in order to display it to the user.
- Application Layer: This is an executable set that togetherly does ABAP/4 program interpretation and will also be able to do input/output management for them. When the application server gets started each and every executable will get started at the same time and when the application server stops, they shut down together. The details about the number of the process that began during the starting of the application server will be specified in a single configuration file known as Application Server Profile. The application server is in existence for interpreting and running the ABAP/4 programs. It is possible for an ABAP/4 program to start an executable on the presentation server but the execution of them is not possible. When an ABAP/4 program makes a request for the data from the database, then that request will be formatted by the application server, and finally, the formatted request will be sent to the database server.
- Database Layer: This is an executable set that will accept requests for the database that came from the application server. The requests will be passed on to the database, it will be processed and information will be sent back to the database server, from there it will be later passed on to the application server. The application server will pass on this database retrieved information to the ABAP/4 program.
12. How many functional modules will be used in sequence in BDC(Batch Data Communication)?
There are 3 functional modules used in a sequence for successfully performing the transfer of data in BDC(Batch Data Communication) programming. They are:
-
BDC_OPEN_GROUP
: Parameters such as client name, user name, sessions, etc., will be specified in this functional module. -
BDC_INSERT
: It is used for inserting the data for a single transaction into a session. -
BDC_CLOSE_GROUP
: It is used for closing the batch input session.
13. Give some SAP ABAP real-time scenarios.
SCENARIO 1:
Consider that you have got a Business Requirement that says, “It requires a control at the Production Order level”, which implies that when a sales order has been created, the creation of a production order will also take place based on the sales order values. This needs to be stopped for various business reasons. There is no standard functionality available where the functional user will be able to configure this in SAP.
The current open sales order at the production level should not be hot by the process. ABAPer has to make a checkpoint creation for the business where the quantity will be approved by the Manager, which needs to be produced based on the sales order.
You need to code at numerous user exits and a custom table should be created that populates all the details of sales orders and restricts the user authority only for the approval authority like Manager. It has to perform the quality checks multiple times before we finally decide for moving the code into production.
SCENARIO 2:
Generally, when the creation of a sales order takes place, the sales order gets blocked based on the credit check or credit limit(if activation was done by the functional consultants) of the customer. So, you need to ‘unblock’ the sales order even if the customer has been exceeded the credit limit depending on certain conditions.
For this scenario, you need to write code at numerous places, during the time of the creation of sales orders and also during the delivery time. This process is known as enhancements.
So, for ABAPers the constant evolution of SAP coding standards for core ABAP must be the same, but the methodologies and techniques of implementation or workarounds will be evolving.
ABAP Programming Examples
1. Write an ABAP program to display username, date, time, and sum by providing two inputs.
DATA: lv_result TYPE i.
SELECTION-SCREEN BEGIN OF BLOCK bl WITH FRAME TITLE TEXT-001. "Please enter two numbers for calculating the sum
PARAMETERS: p_num1 TYPE i,
p_num2 TYPE i. "Variable declaration
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
CLEAR: lv_result. "To clear variables
START-OF-SELECTION. "To perform business logic
IF p_num1 IS NOT INITIAL AND p_num2 IS NOT INITIAL. "Checking whether values for the variables has been entered or not
lv_result= p_num1+p_num2.
ELSE.
MESSAGE 'Please enter two numbers to perform addition' TYPE 'E'.
END IF.
END-OF-SELECTION. "To display the output
WRITE :/ 'Hello', sy-uname.
WRITE :/ 'Date :', sy-datnum, 'Time :', sy-uzeit.
WRITE :/ 'Result : Sum of two numbers is :', lv_result.
In the above program code, you need to enter values for two numbers using SELECTION_SCREEN. In START-OF-SELECTION by using the if condition, it will check whether variables are having the values, if it returns true then it will perform the sum, else it will display a message for entering the numbers.
In END-OF-SELECTION, the user name, date, time, and sum values are displayed.
2. Write an ABAP sample program for ALV display.
TABLES: pa002.
*Type Declarartion
TYPES : BEGIN OF ty_employee, "Structure declaration
pernr TYPE pa0002-pernr,
subty TYPE pa0002-subty,
nachn TYPE pa0002-nachn,
vorna TYPE pa0002-vorna,
gesch TYPE pa0002-gesch,
END OF ty_employee.
*--Data Declaration
DATA : lt_employee TYPE STANDARD TABLE OF ty_employee, "Internal table
ls_employee TYPE ty_employee, "Work area
lt_fieldcat TYPE slis_t_fieldcat_alv, "Internal table for ALV display
ls_fieldcat TYPE slis_fieldcat_alv,
lv_repid LIKE sy_repid. "Local variable for the program name
*Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001. "Please enter employee number
SELECTION-OPTIONS: so_pernr FOR pa002-pernr. "Selection screen field to enter employee number
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
*Data Fetching "To get the employee details from database
SELECT pernr subty nachn vorna gesch
FROM pa0002
INTO TABLE lt_employee
WHERE pernr IN so_pernr.
IF sy-subrc=0.
SORT lt_employee BY pernr.
ENDIF.
END-OF-SELECTION.
*Field Catalog "Inserting records for ALV display
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 1. "Column position in output
ls_fieldcat-fieldname = 'PERNR'. "Field name in the output
ls_fieldcat-tabname = 'LT_EMPLOYEE'.
ls_fieldcat-seltext_m = 'Employee number'. "Field description
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 2.
ls_fieldcat-fieldname = 'SUBTY'.
ls_fieldcat-tabname = 'LT_EMPLOYEE'.
ls_fieldcat-seltext_m = 'Sub type'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 3.
ls_fieldcat-fieldname = 'NACHN'.
ls_fieldcat-tabname = 'LT_EMPLOYEE'.
ls_fieldcat-seltext_m = 'Last name'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 4.
ls_fieldcat-fieldname = 'VORNA'.
ls_fieldcat-tabname = 'LT_EMPLOYEE'.
ls_fieldcat-seltext_m = 'First name'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 5.
ls_fieldcat-fieldname = 'GESCH'.
ls_fieldcat-tabname = 'LT_EMPLOYEE'.
ls_fieldcat-seltext_m = 'Gender'.
APPEND ls_fieldcat TO lt_fieldcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' "Function module to display data in ALV format
EXPORTING
it_fieldcat = lt_fieldcat
TABLES
t_outtab = lt_employee
EXCEPTIONS
program_error = 1
OTHERS = 2
The below snapshot represents the selection screen.
Output in an ALV grid:
Conclusion
To obtain any technical position, theory and basic concepts are necessary for any fresher who is applying for the SAP ABAP job role, but for an experienced candidate both practical and applied concepts are mandatory. Usually, for an experienced candidate, a lot of SAP ABAP interview questions will be related to your previous project and roles.
This article essentially covered a list of frequently asked SAP ABAP related questions that fits the interview requirements. A candidate who wants to get a job in an SAP ABAP role should glance through these questions once before heading towards the SAP ABAP Interview round. You can prepare well and give your best in the next interview.
References
- “Complete ABAP: The Comprehensive Guide” by Brian O’Neill
- “SAP ABAP/4 Black Book” by Dreamtech Press
Frequently Asked Questions
1. Is SAP ABAP tough?
SAP ABAP is not a so tough language to learn compared to C++, C#, Java. The difficulty level lies more in being able to convert a business requirement to a technical solution– it is more in the nature of the program/application you are writing rather than in the programming language itself.
2. Is SAP ABAP a good career choice in 2022?
Actually, compared to SAP BI, FICO, Sales and distribution, Material management, Production and planning, Quality Management, and Human Capital Management, SAP ABAP is highly in demand with several job opportunities along with high salary packages. You can excel as an SAP ABAP developer, ABAP Consultant, Business Analyst and you can also move into a management role after a few years of experience in SAP ABAP. So, SAP ABAP is definitely a good career choice in 2022.
3. How do I become an SAP ABAP Developer?
Generally, you can follow the following steps to become an SAP ABAP developer:
- Earn a bachelors degree: You can start by completing a bachelor’s degree in computer science, computer engineering, software engineering or a related field. These degree programs will give you a basic knowledge of SAP ABAP programming concepts.
- Undergo an internship: During the college study, seek an SAP ABAP developer internship. Finishing an internship allows you to apply for a relevant job role.
- Take SAP ABAP courses: You can continue the professional training by taking SAP ABAP programming courses from certified SAP training institutes online. This assists you learn more about ABAP since many college degrees give a basic overview of a variety of languages.
- Pursue a masters degree: Enhance your efficiency and effectiveness by earning a master’s degree in computer science. In order to become a manager or IT director, you may need to get an MBA degree.
4. What is the salary of SAP ABAP Developer?
SAP ABAP developers are usually paid well, that too in some of the reputed organisations their payscale is really in the higher range. As per the data from Ambitionbox, SAP ABAP developer salary in India for a fresher candidate ranges between ₹2.5 Lakhs to ₹10.8 Lakhs with an average annual salary of ₹4.7 Lakhs.
5. What are the skills required for SAP ABAP?
The below mentioned are the skills an SAP ABAP developer should have to work effectively in his role:
- Robust command over SAP SD
- Knowledge of SAP systems like FICO and HR
- Analytical & Problem-solving skills
- Communication & Interpersonal skills
- Leadership & Teamwork
- Research skills.
SAP ABAP MCQ
Data element is an example for ______.
______ may not be modified using the ABAP Dictionary transaction.
Which syntax is used for writing the identical part in a chained statement on the ABAP program, for separating variables and for ending the statement?
______ is used for assigning the data type of another object to the declaring object.
Which of the below statement is NOT a true statement about the INITIALIZATION event?
Which Processing blocks are not allowed in an ABAP program?
Which table type is most suitable for accessing table rows with the help of an index?
Session method is ______.
Which situation might cause the runtime error DEBUGGINGNOTPOSSIBLE
when starting the Debugger?
Which data type is used for declaring a visibility attribute in Webdynpro?
Using which attribute access protection is provided in the ABAP program?
Which of the following statement is true related to ABAP queries?
Which is not a valid ABAP modularization technique?
Which event is useful for navigating from the basic list to the secondary list?
______ is not a valid Webdynpro UI element.