You are on page 1of 34

VIVA QUESTIONS

 SAP : Systems Applications and Products


 ABAP: Advanced Business Application Programming
 R/3 System: Database Layer, Application Layer, Presentation Layer
 Up to 6 sessions can be opened in SAP
 /n – cancels current transaction
 /o – opens a session
 /h – opens debugger mode
 ABAP Editor – T-code : SE38
 ABAP Package/Repository: T-code : SE80
 ABAP Dictionary – T-code : SE11
 What are Program Attributes?
The program attributes are defined when a program is created the
relevant tool (Class Builder, Function Builder, ABAP Editor). It is
possible to change them later.
 Comment line : *
 Partial comment line : “
 Predefined datatypes:
 What is debugging?
It is a tool used to identify and eliminate errors in ABAP programs.
It allows verification of program logic in a step-by-step manner by
examining the results of individual statement.
SE38 – Program – Execute – Debugging
 F5 – When you press F5, your program control goes to next
line.
 F6 – It will execute the module without going into it.F6 works
for performs (subroutines), Function modules, Class methods
etc.
 F7 – It completes the current program/module in a single step.
 F8 – Control will go to the next breakpoint, if any or completes
the program execution.

 What is watchpoint?
A watchpoint is a conditional breakpoint that is only defined in the
ABAP Debugger.

 What is data dictionary?


The Data Dictionary describes and manages all the data definitions
(metadata) used in the ABAP system to work with data types,
database tables, and views.

 Types of tables: Transparent, Cluster and Pool


 Transparent tables have one to one relationship. the structure which
defined in the data dictionary level is same as in database level.
Cluster and Pool have many to one relationship. Data from multiple
tables is stored together in cluster and pool.
 Delivery Class: It controls the transport of table data for an
installation, upgrade, or client copy and transports between
customer systems.

 Buffering: Nothing but a memory area. Table is buffered means the


table information is available on application server

 Lock Objects: Provided to prevent inconsistency at the time the


data is being inserted or changed into database. Types: Read Lock,
Write Lock, Enhanced Write Lock.

 What are Classical Reports?

Classical Reports are the most basic ABAP reports that contain
both selection screen and an output screen. Classical reports are
executed based on events, and not executed on a line-by-line
basis. They are non-interactive reports. Basically, they consist of
one program that creates a single list. Doesn’t need a transaction.

 Types of programs: Type 1, Type M (Module Pool) and Type I


(Include Program)
 What is Selection Screen?
It is an input screen of a report generated by SAP which allows a
user to provide input. It allows interactive selection screen field
values.
ABAP statements to create selection screen: PARAMETERS
(accepts single values), SELECT-OPTIONS (accepts multiple
values and range of values), SELECTION-SCREEN (for formatting
screen elements)
 What are ABAP Events?
Events are the tools which control the flow of ABAP program. ABAP
is a event-driven language. When an event is occurs, the processing
block assigned to the event gets executed.
 Types of Events:
1. INITIALIZATION (Gets triggered before the first display of
selection screen. Occurs after the data declaration portion of
program, Prior to SELECTION-SCREEN)
2. AT SELECTION-SCREEN OUTPUT
3. AT SELECTION-SCREEN (Gets triggered when user hits
ENTER on selection screen or executes, used to validate data
on Selection Screen)
4. START OF SELECTION (Main processing of program begins
with this event, triggered once the user presses Execute)
5. END OF SELECTION (Triggered following the execution of
the last statement in START OF SELECTION, Output logic is
written in this event)
6. TOP OF PAGE (Header of a report defined here, occurs
immediately when a new page starts)
7. END OF PAGE (Footer)

 What is an Internal Table?


Internal Tables are structured data types defined with ABAP
program. They are accessible only in the current program. They are
used as a temporary storage of database table contents.
 What are Field Strings?
A Field String is set of related fields. Commonly referred as “Work
Area” or a single “Record”. Collection of “Records forms an Internal
Table.
 Filling Internal Table
 Append using APPEND command
 Insert lines using INSERT command
 Compress internal table using COLLECT statement (Unique
key)
 Transport tables using MOVE command
 Use database SELECT to fill internal table
 READ – retrieves the record pointed by index in IT into the
WA.
 WITH KEY – to read a single line from IT with a self-defined
key
 LOOP statement is used to read an IT into WA, line by line.
 MODIFY is used to change the contents of an internal table. If
not used within LOOP, INDEX addition is mandatory.
 SORT statements sorts the entries in the IT. Default sorting is
always ascending.
 DELETE is used to delete one or more rows from an internal
table.
 DELETE ADJACENT DUPLICATES is a way to delete
duplicate lines from an IT. Use SORT before using this
command.
 DESCRIBE is used to get information about the IT.
 Control Statements are used within LOOP for performing
calculations/displaying summary lists, etc. AT FIRST/ AT
LAST/ AT NEW/ AT END OF
 Types of Internal Tables:
 Standard: Accessed using index. Non-unique
 Sorted: Accessed predominantly using key. Sorted internally
by its key. Can be both unique/non-unique
 Hashed: Accessed with key only. Unique.
 Internal Table with Header: IT itself has a header line
 Internal Table without Header: Work Area has to be defined
separately
 Select Statement
 Basic form: SELECT * FROM …. INTO TABLE gt_t001
 Restricting data selection: WHERE clause
 Retrieving a single record: SELECT SINGLE (INTO TABLE
can’t be used, only INTO)
 Retrieving a single record upto <n> rows: SELECT ….. UP TO
<n> ROWS
 Retrieving a records in sequence: ORDER BY PRIMARY KEY
 FOR ALL ENTRIES: Used to select data from database for all
the records available in the IT. Duplicate lines are
automatically removed.
 Joins: Used to select data from more than two tables in SELECT
statements. More efficient than logical database and nested selects.
 Inner Join: It joins the columns from the table on the left side
with the columns specified from the right table if the join
condition is satisfied jointly.
 Left Outer Join: It creates similar result set as inner join.
However, atleast one record is created in the result set for
each line from the left table satisfying the WHERE condition
even if no record in the right table satisfies the JOIN condition.
 RANGES: Used to create internal tables that have the structure of
selection table.
 Classical Interactive Report: It allows the user to perform
operation on the output and generate secondary lists. It fetches only
correct amount of data for each level rather than fetching all at once.
It converts classical list to dialog-based reporting. For any list there
can be up to 20 secondary lists. 1 basic + 20 secondary.
 Interactive List Events:
 AT LINE-SELECTION: Triggers when user double clicks on
the field
 AT PF <nn>: Triggers when user presses any function key
 AT USER-COMMAND: Triggers after pressing a user defined
function key.
 System Fields for Secondary Lists:
 SY-LSIND: Index of the list created during the current event
 SY-LISTI: Index of the list level from which the event was
triggered
 SY-LILLI: Absolute no. of lines from which the event was
triggered
 SY-LISEL: Contents of the line from which the event was
triggered
 SY-UCOMM: Function code that triggered the event
 SY-PFKEY: Status of displayed list
 Passing data from Primary to Secondary List:
 Methods: Using system field SY-LISEL. We have to use
Offset to capture the required text.
 Using the following statements: HIDE, READ LINE, GET
CURSOR
 HIDE statement is used to store the value for a field in the line.
 READ LINE is used when a line in an interactive report needs
to be read.
 GET CURSOR reads/retrieves the information on Lists at the
current cursor.

 SUBMIT statement: It is used to recall a report from within the other


report.
 Selection screen variants: Saves values against selection screen
elements/fields. To execute the program, the ‘saved’ variant can be
used to populate the screen fields instead of entering the data again
and again. Multiple variants can be created in a program.

 Using variants: 1. Online processing, 2. Background processing

 Modularization: When same piece of code needs to be used


multiple times, we used Modularization. It helps to make the
program more readable and easy to maintain.
 Modularization techniques:
 Subroutines
 Macros
 Function Modules
 Include Programs
 Subroutines: Subroutine is a set of reusable codes. It is used to
break programs into logical groups. Subroutines keep the source
code clear. Types: Internal subroutines and external subroutines.

Defining a subroutine: FORM <subroutine_name> TABLES …


Calling a subroutine: PERFORM <subroutine_name> TABLES …
 Parameters to pass data:
 USING: Pass by reference/ pass by value
 TABLES: Pass by reference
 CHANGING: Pass by value or result
 Terminating Subroutines:
 EXIT: Terminate subroutines unconditionally
 CHECK: Terminate subroutines conditionally

 Macros can be defined with DEFINE statement

 Include Programs: If certain statements are anticipated in multiple


programs, the statements can be saved in INCLUDE program and
same can be called in multiple programs.
 No PROGRAM/REPORT statements.
 Cannot call itself.
 All statements in it should be complete

 Function Modules (T-CODE SE37): Function modules are sub-


programs that contain a set of reusable statements with importing
and exporting parameters. Unlike Include programs, function
modules can be executed independently.
 Function Attributes: Attributes Tab gives you the information about
the Function Module. It is RFC enabled.
 An existing Function Module can be inserted into ABAP
program using Edit – Pattern
 Import Parameters: If the optional checkbox is not checked,
values need to be passed against these parameters when the
Function Module is called. Cannot be modified inside the
Function Module.
 Export Parameters: They are used for transferring data to the
calling program. It is optional.
 Changing Parameters: Changing parameters are passed by
reference, value and result. They act as import and export
parameters.
 Tables: Tables parameter are used to pass IT. They are
similar to changing parameters. IT can be passed into and
form the function modules.
 Exceptions: Used to inform the calling program about
unexpected errors.

 Function Builder: The Function Builder is a tool in


the ABAP Workbench that allows you to create, test, and
administer function modules in an integrated environment.
Tools – ABAP Workbench – Development – Function Builder

 Remote Function Call (RFC): RFC is a mechanism that allows


business applications to communicate and exchange information (in
pre-defined formats) with other systems. RFC can be called from
outside of SAP.
 ALV Report:

 ALV stands for ABAP List Viewer.


 This is a standard report format generated using SAP
provided function modules.
 It enhances readability of the report and provide several
features including sorting records based on columns.
 Allow up to 90 output columns and several display options.
 Features of ALV:
 Creating, changing, and managing layouts
 Sorting of report
 Calculation and display of total
 Printing lists and print preview
 Multiple download options
 Function Modules in ALV:
 REUSE_ALV_LIST_DISPLAY : Display contents of IT as
report in ALV format
 REUSE_ALV_GRID_DISPLAY : Display contents of IT as
report in ALV format with grid
 REUSE_ALV_COMMENTARY_WRITE : Outputs Header
information in an ALV Report
 REUSE_ALV_VARIANT_F4 : Display selection dialog for
varianst of ALV
 Events in ALV:
 USER_COMMAND
 TOP_OF_PAGE
 END_OF_PAGE
 TOP_OF_LIST
 END_OF_LIST
 Interactive ALV Report: When you can Perform Operations on the
ALV output list and generate secondary lists, it is called Interactive
ALV report.
 Steps for Interactive ALV:
 Select the Header and Item Tables.
 Create Structures of Both Tables.
 Create the Selection Screen.
 Select the Header Data.
 Create Field Catalog for Header Structure.
 Call the Function Module REUSE_ALV_GRID_DISPLAY.
 Next create the USER_COMMAND Subroutine.
 in which fetch the item details .
 create Filed catalog for Item Table.
 pass the table to REUSE_ALV_GRID_DISPLAY.
 Pass the USER_COMMAND event for export parameter of
Function module.
 Background Processing:
 Execution of ABAP programs without dialog
 Complete integration in the SAP System
 Ease of use
 Distributed processing
 Parallel background and online operation
 Job Status:
 Scheduled
 Released
 Ready
 Active
 Finished
 Cancelled
 Smartforms: SAP Smartforms are used to create and maintain
forms for mass printing in SAP Systems.
 Advantages:

 Easy to use GUI – advanced graphical interface


 Easy creation and maintenance with less programming efforts
 Graphics can be included in background or as form elements
 Easy migration from SAP Scripts
 It is client independent.
 Steps to create Smartforms:
 Enter T-code SMARTFORMS
 Declare ‘Internal Table’ in Form Interface
 Declare 'Work Area' in Global Definitions
 Create Secondary page ( for Internal table )
 In Header give the Field name ( Ex : matnr )
 In Main Area give the Work area ( Ex: wa-matnr)
 when Smart form executed one function module is created
 Using SSF_FUNCTION_MODULE_NAME to display the
output
 Use of SSF_FUNCTION_MODULE_NAME: In Smartforms, after a
Function Module is created, and then it goes to Production, then
Testing, the Function Module changes. To retrieve the exact
smartform, SSF_FUNCTION_MODULE_NAME is used.
 Image in Smartforms:
 Create a bitmap image:
1. If the layout is pre-printed stationery format, scan and
store it as .bmp.
2. If the layout is in Excel format, convert it into .bmp or
draw the required outlines in Paint.
 Upload the image using T-code SE78.
 Include the .bmp in the Smartforms.
1. Go to Page
2. Select the tab Background Pictures
3. Use Search Help to get a list of images
4. Double click to select the desired image

 Barcode in Smartforms:
1. Transaction code SE73.
2. Then click on Create.
3. Give the name and description of the barcode.
4. Click on Code 128.
5. Go to Smartstyles.
6. Create paragraph and character format
7. Go to Smartforms
8. In the Text give IT<c>SCAN HERE</>
9. Save and activate
 Migrate Script to Smartforms: Smartforms – Utilities – Migration –
Import SAP Script Form
 Pass internal table in Smartforms: In Form Interface, in the
Tables section, we declare internal tables.
 Form Logic: In a SAP Smartforms, the form logic defines the data
to be read from the database, then to define the condition and lastly
to control the flow of the form output. It is defined in the Form
Builder, where the form structure is defined on the left side of the
Smartforms interface. When a smart form creation window is
opened, on the left side you have default nodes.
Nodes: Create nodes as per requirement
Form attributes: Select description, page format and style.
 There 4 types of windows:
 Main Window: For printing continuous outputs, like Internal
Table
 Secondary Window: For printing fixed length output
 Final Window: Similar to Secondary Window with the
exception that contents will be printed at the end
 Copies Window: To make copies of the original window

 Components of Smartforms:
 Form Builder: It is used to design the form. It is first screen
we see after executing the T-code SMARTFORMS.
 Form Painter: Used for designing layouts of form pages. We
can define window or graphic positions and choose sizes. Use
tools such as grid, ruler, toolbar, etc.
 PC Editor: It is similar to the text editor. We can enter text and
fields in the output fields. Assign paragraph and character
format defined in styles, etc. SE75
 Table Painter: Used for designing tables. Also used to design
templates. We can draw rows and columns of any width,
height. Tables should be printed in MAIN window.
1. Table Tab: Configuration of table layout. Define the
types to be used to table header, main area, footer.
2. Data Tab: Controls application data processing for print
output. Specify selection criteria and areas restricted
from data selection.
3. Events Tab: Allows printing of table headings and total
lines.
 Style Builder: It is used to collectively define Smartstyles.
Smartstyles control the font, format of character, and
paragraphs in forms.
 Field List: Used while writing fields within the form.

Develop Driver Program:

 Module Pools: Module Pool programs are created in SAP ABAP


development workbench using T-code SE80.
 Prerequisites for Module Pool:
 Screen Painter (SE51)
 Menu Painter
 Transaction code
 ABAP Editor
 ABAP Dictionary
 Screen Attributes:
 Short Description (Required)
 Screen Type (Required)
 Next Screen (Optional)
 Executing Module Pool: Module Pool can only be executed from
a transaction code.

 Message Types: In SAP, messages defined/accessible in SE19


are stored in Table T100. The MESSAGE statement uses the
messages stored in T100.

 Types of messages:
 Success (S)
 Information (I)
 Abend (A)
 Exit (X)
 Warning (W)
 Error (E)

 User-defined Checks:
 There are three methods to perform it.
1. Issue error or warning message in PAI module
2. Issue error or warning message based on the outcome
of SELECT statement in flow logic
3. Use VALUES statement in flow logic to define valid
values
 System stops at the screen having field with check.
 Fields become non-editable if not associated with ‘FIELD’.
 Select Check: It will retrieve one record. If no records match, error
message will be displayed.
 PAI (Process After Input): It determines the flow logic execute
modules after the display of the screen and after receiving inputs
from the User.
 PBO (Process Before Output): It determines the flow logic or
execute modules before displaying the screen.
 POH (Process on Help Request):
 POV (Process on Value Request):
 Screen Status: To create Screen Status, we need Menu Painter.
 OKCODE: It is a function code which acts as a temporary variable
that stores the value of SY-UCOMM. It is recommended to use it.
Should not change the value of SY-UCOMM.
 Conditional Statements:
AT CURSOR-SELECTION
AT EXIT-COMMAND
ON REQUEST
ON INPUT

 LEAVE SCREEN statement: The processing of the current screen


is terminated and control goes to the PBO of the “NEXT SCREEN”
specified in the current screen attributes.
 SET SCREEN statement: The system temporarily overrides the
screen number specified in “NEXT SCREEN” attribute with the
screen number mentioned with SET SCREEN.
 LEAVE TO SCREEN statement: Current screen’s PAI is
terminated and control navigates to the PBO of screen specified with
LEAVE TO SCREEN statement.
 Tabstrips: Multiple subscreens in several tabs can be placed in a
normal screen with Tabstrip. Cannot be created in alphanumeric
mode.
 Navigate between tabs/screens:
 Determine tab’s function code
 Set active tab field to the fcode
 Set a variable to subscreen number
 Call subscreen in PBO

 OOPS:
 It represents real-time objects in the form of class objects.
They are the abstraction of real world.
 Processes can be put into effect realistically, easier to
understand, maintain, and reuse.
 Software structure is improved
 Quite expressive which makes it easier to deliver software
components on time with good quality

 Abstraction: Abstraction is a process where you show only


“relevant” data and “hide” unnecessary details of an object from the
user.
 Encapsulation: It is binding the data with the code that manipulates
it. It keeps the data and the code safe from external interference.
 Inheritance: Inheritance is the mechanism by which an object
acquires the some/all properties of another object.
 Polymorphism: Polymorphism means to process objects
differently based on their data type.

 Class:
 Set of features that have the same structure and performs the
same behaviour.
 Provides a blueprint of all instances created using the same
class.
 Not possible to define class inside another class. Local
auxiliary class or global class can be defined.
 Local Class: Implemented inside ABAP program. Can be
used only inside the program they are defined.
 Global Class: Implemented in T-code SE24. All programs in
the system have access to it.

 Attributes in Class:
 Attributes decide what type of data stored inside the class
 The contents of the attributes determine the behaviour of the
object
 Defined in declaration part of the class
 Types of attributes:
1. Instance attributes: One per instance. Syntax
keyword: DATA
2. Static attributes: One class can have one such
attribute only. Syntax keyword: CLASS-DATA. Also
referred as Class Attributes.
 Types of Methods:
 Instance Method:
 Static Method:

 Object: An object is a special kind of variable that has distinct


characteristics and behaviours. It has a state, a unique identity, and
it may or may not display the behaviour.
 Object reference: Object references are used as pointer objects.
When an object is created, a reference to the new object is returned
to the creator. Object references are the only way to access the
components of object in ABAP program.
 Constructor: When an object is created in memory, the first method
that is executed automatically by the runtime environment is called
Constructor. It can have only IMPORTING parameters.
CLASS_CONSRUCTOR is a static constructor and is executed
once per program.
 EXCEPTIONS: In a program, when a situation arises where at one
point of time there is no meaning in continuing the program flow,
then it is called Exception.
 CX_NO_CHECK: Can be handled. Not considered in syntax
check
 CX_DYNAMIC_CHECK: Must be handled or pass using
RAISING condition. Not considered in syntax check.
 CX_STATIC_CHECK: Must be handled or pass using
RAISING condition. Considered in syntax check.
 Abstract Class:
 Contains both definition and implementation but instances
can’t be created
 Use the keyword ABSTRACT in the CLASS statement to
make an abstract class
 Abstract class should atleast contain one abstract method
 Abstract methods are methods without any implementation –
only a declaration
 Not possible to instantiate Abstract Class. Their subclasses
can.
 Subclasses are totally dependent on Superclasses.
 Interfaces:
 Interfaces are independent objects which can be inherited by
a class.
 It contains only method definition and a class can implement
the method which implements the interface.
 Can define an interface in SE24.

 Conversions:
 SAP Data Migration:
 Batch Input Sessions: It is typically used to transfer data from non-
SAP systems to SAP systems or to transfer data
between SAP systems.
 BDC (Batch Data Communication): It is a technique using with
legacy data or data loading in to SAP system which is not updated
in the SAP systems. Programmer has to write batch input program
to format the entire incoming data into a BDC table.
 Batch Input Recorder: T-code SHDB or through SM35.
 Function Modules in Batch Input Programs:
 BDC_OPEN_GROUP
 BDC_CLOSE_GROUP
 BDC_INSERT
 Batch Input Processing:

 Session Status:
 LSMW (Legacy System Migration Workbench): It is a tool based
on SAP software that supports single or periodic data transfer from
non-SAP to SAP systems (and with restriction from SAP to SAP
system).
 Methods to import data from R/3 System:
 Batch Input
 Direct Input
 BAPI
 IDocs
 BAPI (Business Application Programming Interface): It provides
methods that facilitates external applications to access business
objects in the R/3 system.
 BAPIs are defined in BOR (Business Object Repository) T-
code SW02.
 BAPI_TRANSACTION_COMMIT should be called to store
created data in database.
 BAPI always returns success/error messages in RETURN
table.
 Advantages of BAPI:

1. Status of data sent is known.


2. Sending and processing on the target system is
immediate.
3. It is easier to create a custom BAPI when compared to
creating a custom IDOC.

 Enhancement: R/3 enhancement concept permits us to modify/add


SAP standard business applications without modifying original
applications.
 Enhancement Types in SAP:
 Customer Exit
 User Exit
 BADI
 Enhancement Framework
 BADI (Business Add Ins): Latest SAP enhancement technique
based on OOPS. Custom code can be pushed in between SAP
standard functionality in order to attain user specific requirements.
BADIs permit different levels of system landscape (SAP standard,
partner system, customer solutions, along with country versions,
industry solutions, etc.)
 Multiple implementations are possible in BADIs unlike EXITS.
 BADI_SORTER is used to achieve order sequence in multiple-use
BADIs.
 BADI_SORTER_LAYER_GET: Used to read input field for
BADI_SORTER
 BADI_SORTER_LAYER_SET: Used to set the value to the input
field layer
 Difference between BADI and EXITS:

 Enhancement Framework
 Enhancement Point: It is a point in SAP program where customers
can include further functions in the form of source code without
modifying existing program.

 Enhancement Section: It is the option provided explicitly by SAP


to replace a block of SAP code with customer code. It offers a
default logic which will be replaced by custom logic when
implemented.

 SAP HANA: It is an in-memory, column-oriented, relational


database management system that speeds data-driven, real-time
decisions and actions.
 Compression is applied on column store tables.
 HANA has multi-core, multi-node CPUs which help in parallel
processing of the data and hence use the underlying hardware in
full capacity.
 HANA Analytics

 HANA Modelling: It is an activity of refining data in database tables


by creating views to depict a business scenario. The views can be
used for reporting and decision-making.
 HANA Views:
 Attribute Views: Used to select a subset of columns and rows
from data table. They represent a dimension. They don’t
contain any measures or aggregates. Can be created using
graphical mode.
 Analytic Views: They leverage the computing power of SAP
HANA to calculate aggregate data. They are also called Cube.
Should contain atleast one measure.
 Calculation Views: For calculating complex logic. Can have
multiple fact tables connected to multiple dimension tables.
Can be created using SQL and Graphical modes.
 OPEN SQL:

 Coalesce: It will take the first NON-NULL value from the two
parameters passed in the coalesce functionality.
 Two new expressions for Internal Table Built-in Function:
 LINE_INDEX
 LINE_EXISTS

 CDS Views (Core Data Services): It is a set of domain-specific


languages and services for defining and consuming semantically
rich data models.
 Can be created in any database.
 Gives a single result set as output.
 Difference between CDS Views and ABAP Views: CDS Views
are similar to ABAP Views, where the combination of tables are
done and viewed as a single result set but CDS Views support more
features than ABAP Dictionary Views.

 Code Push Down: It means that you execute the expensive main
part of your computations in the database, not in the
application code. For example, instead of SELECT-ing from two
database tables and then mixing up rows in the
ABAP code, pushing down means you run a JOIN in the database.
 Built in SQL Functions:

 String Functions: CONCAT, REPLACE, SUBSTRING,


CONCAT_WITH_SPACE, INSTR, LPAD, LEFT, RIGHT,
LENGTH, LTRIM, RTRIM, RPAD.
 Numeric Functions: ABE, CEIL, DIV, DIVISION, FLOOR,
MOD, ROUND
 Date Function: DATS_IS_VALID, DATS_DATE_BETWEEN,
DATS_ADD_DAYS, DATS_ADD_MONTHS
 Time Function: TSTMP_IS_VALID,
TSTMP_CURRENT_UTCTIMESTAMP,
TSTMP_SECONDS_BETWEEN, TSTMP_ADD_SECONDS

 CDS Limitations:
 You cannot have multiple result sets.
 You can use only one single select statement in CDS Views
 Coalesce functionality works only when the value of the field
is database NULL.
 Selectin all fields in the tables in not possible using *
statement.
 AMDP (ABAP Managed Database Procedures): ABAP Managed
Database Procedures are a new feature in AS ABAP allowing
developers to write database procedures directly in ABAP.
 It is used to work with stored procedures, which further go
to HANA database layer and execute that.
 It is used to move database intensive logic into database.
 Minimize data transfer between the database and application.

 AMDP Limitations:
 You can create database procedure in HANA database and if
you want to consume it in ABAP the every time you have to
create a proxy in ABAP layer.
 Transporting from one system to other is a challenge since
you have to transfer both the objects – database procedure
and proxy together which are created in different packages.
 AMDP Class:
 ALV-IDA:

You might also like