SAP ABAP Online Training and Placements | SAP Certification
India:+91 (0)9848346149, USA: +1 973-619-0109, UK: +44 207-993-2319
Select Page






Download [PDF]

  • Unit-I (Introduction to ERP)

      What is ERP?
      Why we need ERP?
      Advantages of ERP
  • Introduction to SAP architecture
      What is SAP?
      History of SAP?
      SAP R/2 architecture
      SAP R/3 architecture
  • Introduction to ABAP/4
      What is ABAP?
      Log on to SAP Environment
      Workbench tools
  • ABAP Dictionary Concepts
      Tables, Data Elements and Domains
      Transparent, Pooled and clustered tables
      Structure, Table types and Type pools
      Views, Search helps and Lock objects
  • ABAP Programming Basics
      Data Types, Variables, Types, Operators, Expressions etc
      Conditional statements, Loops and termination statements
      String and Date operations and System fields
      Internal Tables (All Operations)
      Types of Internal Tables (Standard, Sorted and Hashed)
      Joins, Nested selects Sub queries and For All Entries etc.
      Open SQL statements
      Modularization (Subroutines, Function Modules, Macros and Includes)
      Field Symbols
      Debugging programs (Break Point, Watch points etc)
      Runtime Analysis, Performance Trace
  • Unit-II (REPORTS)
  • Classical Reports
      Classical Report Events
      Interactive report
      Interactive report events
      Control Level Commands (AT First, AT New etc)
      Selection Screen: Parameters
      Select –options and variants
      Hide, Read Line, Get cursor, Modify line etc., statements
      System fields of reports
      LogicalDataBase (Designing, Events)
      SAP Query (User groups, Info Sets and Queries)
      ALV reporting
  • Unit-III
      Transactions (Dialog Programs (or) Module pool programs)
      ABAP Memory and SAP Memory
      LUW and Update bundling technique
      Screens, flow logic events and Module pool
      Basic Screen elements (I/O field, Radio buttons and Check box etc.,)
      Maintaining screen sequences (Set screen, Call Screen and leave to screen)
      Sub screens
      Table Controls, Step loops and Tab strips
  • Unit-IV (BDC)
      Files Formats
      Local Files (Upload, Download etc)
      Sequential Files (Open dataset, Read Dataset, Transfer etc.)
      Data Transfer Scenarios and methods
      BDC session method (Creating, Processing, Analyzing and Correction errors in Sessions)
      Call Transaction method (Options, Tracing errors and Correction)
      Recording Technique
      LSMW (Methods, Steps and Conversions rules etc.)
  • Unit-V
      SAP Scripts
      Form designing (Pages, Windows, Page windows and Paragraphs etc.)
      SAP Script symbols
      Control commands
      Standard Text and Styles
      Inserting Logos
      Modifications to Form and Print program
      Copying forms etc.
      Smart Forms
      Smart form and Form Logic
      Calling a Form from print program
      Difference between SAP Script and Smart Forms
  • Adv.ABAP Concepts
      a) SAP Enhancements
      User Exits and Customer exits
      Implementing Function, Menu, Screen exits
      b) BADIs(Business Add-Ins)
      c) Object Oriented ABAP
  • Introduction to Object-Oriented Programming

      Syntax and Visibility
      Instance Methods and Static Methods
      Classes and Objects
      Components of a Class
      Defining Local Classes
      Defining global classes
  • Cross Applications
  • IDOCs (Intermediate Documents)
      Features and structure of IDOC
      Idoc type and Message type
      Segment definition and components
      Creating Segments
      Creating Idoc types (Basics Type and Extension)
      Crating Message types and Process
      Idoc Enhancements
  • RFC (Remote Function Calls)
      Introduction of RFC
      Communication mechanisms through RFC
      ABAP interfaces (RFC,tRFC, ARFC)
      Difference between tRFC and ARFC
  • ALE (Application Link Enabling)
      Distributed Systems
      ALE Services and features
      ALE Inbound and Outbound process
      ALE Configuration (Logical systems, RFC Destination, Model view, Port, Partner Profiles etc)
      ALE Distribution Scenarios
      Transferring of Master Data
  • EDI (Electronic Data Interchange)
      EDI processing setup
      Defining ports and partner profiles
      Message control for EDI
      Partner profiles
      Basic configuration
      Application configuration
      Outbound processing
  • BAPI (Business Application Programming Interface)
      SAP Business Objects
      Business Object Builder and BOR
      Features and applications of BAPI
      Creating Business Object types
      Working with a standard BAPIs
      Developing Custom BAPIs


ABAP is the proprietary programming language of SAP for its ERP . It is used to fulfill the customer requirements through programming where the standard software can not.

ABAP stands for Advanced Business Application Programming though originally it meant Allgemeiner Berichts-Aufbereitungs-Prozessor, German for “general report creation processor”.

It is a high-level programming language created by the German software company SAP.
It is currently positioned, alongside the more recently introduced Java, as the language for programming the SAP Application Server, part of its Net Weaver platform for building business applications.
The syntax of ABAP is somewhat similar to COBOL
SAP has developed ABAP to meet the programming requirements of its business solutions.
It can be used only on SAP platform. SAP has a tool � ABAP Workbench � for carrying out development activities in ABAP.
ABAP is more than a programming language in the scheme of things in SAP applications.
It is a part of the overall and integrated development environment comprising of tools for user interfaces(GUI).
ABAP is not a mere addition to SAP as a programming language to achieve a few features but except system core which is written in C, the Basis component, all SAP modules and even the development environment was written in ABAP.
ABAP is a 4GL language developed specifically for the mass processing of data in commercial applications.

It offers the following advantages in comparison to elementary languages in which these functions are stored in libraries:

Database access integrated into the language as Open SQL.
Performance optimization of database accesses integrated into the ABAP runtime environment through the use of SAP buffering.
Internal tables for dynamic storage and processing of tabular mass data in the working memory.
Concept of Online Transaction Processing (OLTP) integrated in the ABAP runtime environment, enabling several users to access the central database at the same time using the SAP LUW.
The language has an integrated interface to other programming environments via Remote Function Call.
The language has an integrated interface to XML.
The integration of these functions into the language is particularly advantageous for the static checkability and the performance of programs.

This means that ABAP also contains considerably more language elements than an elementary programming language.


  • Differentiate between a Macro and a Subroutine?

      Both MACRO’s and Subroutine’s help make the code more organized.
      In case of MACRO, It’s usually a collection of code. It can take up to 9 parameters and are usually expanded during compilation/ code generation. When a MACRO is invoked, the resulting code is inserted into the program.
      In case of subroutine, it is again a collection of code. However, what makes it different from MACRO is that it is expanded during runtime. Also, the code segments are not inserted into the program as in a MACRO. Instead, program control is transferred to the memory location that stores the subroutine. Once done, the control is returned back.
      MACRO’s are generally faster than subroutines, but are resource intensive. Subroutines can take any number of arguments as well.
      Another major difference is that MACRO’s can only be local- meaning they can only be called from within the same program whereas subroutines can be called internally (FORM) or externally (FUNCTION).
  • Can you tell me what an ABAP data dictionary is?ABAP data dictionary is a central repository where all data descriptions, also known as metadata, are stored.
      The system ensures that there are no redundant data in the dictionary and makes the data available for all system components automatically.
      The ABAP dictionary has several object types. They are
      Tables- Represents DB tables where data is present
      Types- This is defined globally and any change to type is automatically reflected in all the programs that make use of the same type
      Views- Data is usually distributed among different tables. Views are used to summarize these
      Lock Objects- These are used to synchronize simultaneous data access of the same data by different users
  • When do you prefer using LSMW?
      Sometimes businesses might need to shift from traditional or legacy systems to SAP. In such cases, businesses can make use of LSMW tool which can support the transfer of data. The main functions are
      Import Data
      Export Data
  • What is ITS?
      ITS stands for Internet Transaction Server. It’s a middleware that makes web based access to several SAP products possible. ITS links a Web server and R/3 application server. It controls the data flow between Web server and R/3 application server and enabling application user access to Internet application components (IACs).
      Components of ITS
      Web gateway
      Application gateway
      Mapping Manager
  • Differentiate: Transparent tables, Cluster tables and Pooled tables
      Transparent Table: A transparent table contains only a single table. It has a 1-1 relation with the table in DB and stores data directly. A single table can have either one or multiple primary keys. You can access them via native as well as open SQL. These tables are generally used to hold master data. It is possible to create secondary indexes in case of transparent tables.
      Cluster Table: Instead of a single large table, cluster tables hold multiple small tables. The relationship is many to one in this case. Each table will have a primary key and it does not begin with the same fields. It’s not possible to create secondary indexes for cluster tables. They are used for performance improvement purposes such as when several tables have to be opened at the same time.
      Pooled Tables: This is a combination of cluster and transparent data. This table is mainly used to store system data and contains data from a few large tables. The relationship here is again many-to-one as in cluster table. It is not possible to create secondary indexes and can be accessed only via open SQL. The primary key of each field begins with the same field as well.
  • What is an ABAP data dictionary?
      ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views.
  • What are domains and data element?
      Domains:Domain is the central object for describing the technical characteristics of an attribute of an business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user.
  • What is foreign key relationship?
      A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible.
  • Describe data classes?
      Master data: It is the data which is seldomly changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data:It is the data which R/3 system needs for itself.
  • What are indexes?
      Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. Yhe indexes are activated along with the table and are created automatically with it in the database.
  • Difference between transparent tables and pooled tables ?
      Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure corresponds to single database field. Table in the database has the same name as in the dictionary. Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level.
  • What is an ABAP/4 Query?
      ABAP/4 Query is a powerful tool to generate simple reports without any coding. ABAP/4 Query can generate the following 3 simple reports: Basic List: It is the simple reports. Statistics: Reports with statistical functions like Average, Percentages. Ranked Lists: For analytical reports. – For creating a ABAP/4 Query, programmer has to create user group and a functional group. Functional group can be created using with or without logical database table. Finally, assign user group to functional group. Finally, create a query on the functional group generated.
  • What is BDC programming?
      Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is a automatic procedure referred to as BDC(Batch Data Communications).The central component of the transfer is a queue file which receives the data vie a batch input programs and groups associated data into ‘sessions’.
  • What are the functional modules used in sequence in BDC?
      These are the 3 functional modules which are used in a sequence to perform a data transfer successfully using BDC programming: BDC_OPEN_GROUP – Parameters like Name of the client, sessions and user name are specified in this functional modules. BDC_INSERT – It is used to insert the data for one transaction into a session. BDC_CLOSE_GROUP – This is used to close the batch input session.
  • What are internal tables?
      Internal tables are 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-organising the contents of database tables according to users need.
  • What is ITS? What are the merits of ITS?
      ITS is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system, which converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits of ITS: A complete web transaction can be developed and tested in R/3 system. All transaction components, including those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of automatic language processing in the R/3 system can be utilized to language-dependent HTML documents at runtime.
  • What is DynPro?
      DynPro is a Dynamic Programming which is a combination of screen and the associated flow logic Screen is also called as DynPro.
  • What are screen painter and menu painter?
      Screen painter: Screen painter is a tool to design and maintain screen and its elements. It allows user to create GUI screens for the transactions. Attributes, layout, filed attributes and flow logic are the elements of Screen painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu bars, menu lists, F-key settings, functions and titles are the components of Menu painters. Screen painter and menu painter both are the graphical interface of an ABAP/4 applications.
  • What are the components of SAP scripts?
      SAP scripts is a word processing tool of SAP which has the following components: Standard text. It is like a standard normal documents. Layout sets. – Layout set consists of the following components: Windows and pages, Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set consists of Header, paragraph, and character string. ABAP/4 program.
  • What is ALV programming in ABAP? When is this grid used in ABAP?
      ALV is Application List viewer. Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output. The report output can contain up to 90 columns in the display with the wide array of display options.
  • 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, At LAST, AT END, AT FIRST.
  • 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.
  • What are logical databases? What are the advantages/ dis-advantages of logical databases?
      To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program. 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. dis advantages: i)If you donot 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).
  • What is a batch input session?
      BATCH INPUT 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.
  • How to upload data using CATT ?
      These are the steps to be followed to Upload data through CATT: Creation of the CATT test case & recording the sample data input. Download of the source file template. Modification of the source file. Upload of the data from the source file.
  • What is Smart Forms?
      Smart Forms allows you to create forms using a graphical design tool with robust functionality, color, and more. Additionally, all new forms developed at SAP will be created with the new Smart Form solution.
  • How can I make a differentiation between dependent and independent data?
      Client dependent or independent transfer requirements include client specific or cross client objects in the change requests. Workbench objects like SAPscripts are client specific, some entries in customizing are client independent. If you display the object list for one change request, and then for each object the object attributes, you will find the flag client specific. If one object in the task list has this flag on, then that transport will be client dependent.
  • What is the difference between macro and subroutine?
      Macros can only be used in the program the are defined in and only after the definition are expanded at compilation / generation. Subroutines (FORM) can be called from both the program the are defined in and other programs . A MACRO is more or less an abbreviation for some lines of code that are used more than once or twice. A FORM is a local subroutine (which can be called external). A FUNCTION is (more or less) a subroutine that is called external. Since debugging a MACRO is not really possible, prevent the use of them (I’ve never used them, but seen them in action). If the subroutine is used only local (called internal) use a FORM. If the subroutine is called external (used by more than one program) use a FUNCTION.