Professional Documents
Culture Documents
ABAPQA
ABAPQA
Abstraction, Encapsulation, Polymorphism, Inheritance - Inheritance - Derive code functionality from one class to another, p
Polymosphism - Polymorphism means redefining methods to either
class which contains methods with implementation and without implementation is called Abstract Class. * We can't create 'ob
Friend Class / Final Class - Friend class - A class can grant friendship to other classes and interfaces (and thus to all classes tha
specifying all classes and interfaces to which friendship is to be granted. These friends are granted access to all components o
instances of this class regardless of the addition CREATE of the statement CLASS.
Final Class - creating a class as a final means you can stop polymorphism. A class that is defined as final class can not be inheri
method can not be redefined further.
Event Handler Technique in OOPS ABAP -
Method overloading and Method Overriding - ABAP doesn’t Support method Overloading. The Process of overriding the supe
Concept of ‘SUPER’ and ‘ME’ in SAP ABAP Class? - ME - By using ME, we access the instance attribute. SUPER - Super Keywor
Deffered Keyword in OOPS ABAP. - One class can be refrerred within another class definition with defining the class. But that
1. Delivery Class
2. Data Browser
3. Foreign Key Relationship
4. Index in Transparent Tables
5. Database Utility
6. Data Class
Views
Data Type
Type Group
Domain
Search Help
Lock Object
Delivery Class - Decides how the transport management is going to happen in case of development, or implementation or upd
Data Browser - Data class determines the physical area (tablespace) of the database in which a database table is created. APP
Foreign Key Relationship - You use foreign keys to define relationships between tables in the ABAP Dictionary, create value ch
Secondary Index in Transparent Tables - Secondary indexes are used to enhancement performance when retrieving data. For
Database Utility - The database utility is the interface between the ABAP Dictionary and the relational database underlying th
Data Class - Each data class corresponds to a physical area in which all the tables assigned to this data class are stored. There a
Size Category - You use the size category to define the expected space required for the table in the database. You can choose
Pool Table and Cluster Table - https://www.youtube.com/watch?v=dsjCQO6II8g
Buffering - https://www.youtube.com/watch?v=puTd-a_YZBk
Max. no. Of structures that can be included in a table or structure. - Nine
Enhancement Category - The enhancement category of a structure describes whether a structure can be enhanced subsequen
Elementary and collective search helps - Dialog Type( Dialog Values Immediately, Dialog Values with restriction, Dialog depen
Types of Lock objects - Read(Shared Lock - I can read but not update the data ), Write(Exclusive Lock - Other user cannot read
Lock objects Function Module - Enqueue and Dequeue
Table Maintances generator - https://www.youtube.com/watch?v=lbGoDW5LjaY( Auth Group, One Step,Two Step,Overview
Events in TMG - https://www.youtube.com/watch?v=cI5tPkkFNkk
Recording Routine - To move the transaction data to higher system.
Domain - A domain is one of the fundamental objects of the ABAP data dictionary, which is used to define the technical attribu
Data Elemets - You use data elements to define the type of a table field, structure component or the row type of a table type
Type Groups - if we want to use some custom types in various programs then we need not define them separately, we can sim
Structure - Structure is a group of components defined under a name. A component is a field that can be an elementary type o
Table Type - You use a table type to describe the structure of an internal table in ABAP.
Value Table and Check Table - https://www.youtube.com/watch?v=Y2ANPmhyrgc Check Table - check table is validation at fi
Types of view - Database View, Help View, & Projection View
SM12 Lock Object - T code to view the lock objects
Append Structure and Custom Includes -
and T2 by assigning fields of table T1 to the primary key fields of table T2.
is table using AUFNR, the performance will be great because you are using the key. Say you need to hit this table with GLTRP(finish date),
finition in the ABAP Dictionary) database objects derived from objects of the ABAP Dictionary.
master data is the data contained in an address file, such as the name, address and telephone number.
s on the database system used, is assigned to each category.
ON INPUT AND ON REQIUEST FIELD Statement - On Input - ON INPUTThe ABAP module is called only if the field contains a va
numeric fields. Even if the user enters the initial value of the screen as the initial value, the module is not called. (ON REQUEST
On Request - The module <mod> is only called if the user has entered something in the field. This includes cases when the use
In general, the ON REQUEST condition is triggered through any form of "manual input".
SUPPRESS DIALOG - Screen will be suppressed. LEAVE TO LIST PROCESSING - Screen to reports
Tabstrips Controls - CONTROLS : tab_strip TYPE TABSTRIP.
Table Control - CONTROLS : tbl_ctrl TYPE TABLEVIEW USING SCREEN 0001.
Changing screen field properties - Using Loop at screen. If screen-field = 'xxxx'. Screen-input = 0. MODIFY SCREEN. Endloop.
utube.com/watch?v=AQfjScgguSU
Update Function modules - Types of update - Start immediately, Delayed,Collective run. VBMOD,VBDATA,VBHDR
Remote enabled Function Module
Formal Parameter
Actual Parameter
Call by value and call by refference
Internal and External Subroutines
Why RFC Is pass by value
Difference between Subroutines and function modules
Types - Include Program, Function Module,
LUW - Database LuW, SAP LuW --- SAP LUW -> Database LUW ( SAP LUW collects all the process and pass it to Database LUW
COMMIT WORK - End the LUW and start the new one
https://blogs.sap.com/2014/04/18/relation-between-data-references-and-field-symbols-with-examples/
https://www.youtube.com/watch?v=0LtMrGuSnss
https://www.youtube.com/watch?v=X355G4mtpT4 https://sapcodes.com/2015/11/17/sap-abap-mem
https://www.youtube.com/watch?v=4McHkcmWJhY
m/2015/11/17/sap-abap-memory/
https://www.youtube.com/watch?v=S8JL8182NM0
ALSM_EXCEL_TO_INTERNAL_TABLE
FILE_READ_AND_CONVERT_SAP_DATA
IMPORT_FROM_SPREADSHEET
KCD_EXCEL_OLE_TO_INT_CONVERT
TEXT_CONVERT_XLS_TO_SAP
UPLOAD_XLS_FILE_2_ITAB
GUI DOWNLOAD
https://www.youtube.com/watch?v=d_4N8zAAKeE
https://www.youtube.com/watch?v=ugGfV-jsBhg
https://www.youtube.com/watch?v=For8ooD8Iis
https://www.youtube.com/watch?v=pzvBPGe1HmQ
https://www.youtube.com/watch?v=zj0rEl2USpI
https://www.youtube.com/watch?v=WcUJxIqYO0Q
T code for application server - CG3Y , CG3Z
https://answers.sap.com/questions/1213482/al11-directory-f4-help.html
https://www.youtube.com/watch?v=Q08x4eIqdGk
Message class - SE91
Transport Organizer - SE09/SE10
System Landscaspe - DEV,QA,PROD
Types - Workbench,Customizing,Transport of copies,Relocation
Status - Modifiable,Released
Workbench Request - Carry Custom ABAP Objects
Customizing Request - Configuration Changes. SPRO changes, Customizng data
Who will import the TR to Q/p = Basis person
ToC - Only task will be released
Simulate Release
Service Consumer
Service Provider
Create custom webservice
Webservice enhancements
SOAMANAGER
CRUD Operations
dsd
sd
BDC - Batch Da
CALL TRANSACTION
SESSION Method
DIRECT INPUT METHOD
BAPI - Business App
BDC - Batch Data Communication
LSMW - Legacy system Migration Workbench
BAPI - Business Application Programming Interface
Enhancement & Modifications
BADI Sort
Fallback class
USER EXITS
Only available in SAP SD Module
mentations to be conditional. Say we want the different implementations for different Country codes we can go with Filter dependent BAD
n go with Filter dependent BADI.
Adobe form are interactive forms
We can interact with the output of adobe forms
Adobe forms provides the output in the form of PDF
T code is SFP
Need to create the interface first
Generate the functional module in runtime
Need ADLC( Adobe Life cycle designer)
form interface , global definationv are defined in the interface
Interface - ABAP Dictionary Based Interface, XML Scheme based interface, smartform compatible interface
Form Layout - Standard Layout,Xacf Layout, ZCI Layout,Unknow Layout Type
System Fields - DATE,TIME,USERNAME,SUBRC
Master Page,Body Page
Flowed,Positioned
Subform
Image Upload, Pages,Barcoed,text modules,INCLUDE TEXT
Integration into programs( FP_JOB_OPEN,FP_FUNCTION_MODULE_NAME,FP_JOB_CLOSE)
Scripting Language in Adobe form( Form Calc, Java Script)
FormCalc - To perform arithmetic and logical calculation
Javascript - For Dynamic form requirementts
this.presence = "visbile";
}
Points - ADS is must to design the layout, Check ADS connection FP_TEST_00,Positioned/Flowed
Adobe form tranlation to other language - SE63
Form Attributes - Generic Information
Form Interface - It’s used to pass the input and output parameters
Global Defination - Global data,Types,FieldSymbols,Initilization,form routines,currenct / quan fields
Page
Window - Main Window(Default)
Templates - Static and Fixed data
Table - For Dynamic data ( Header, Main Area, Footer),Line Type,
& - To display data
SUM - Using calculation tab
Generate the FM automatically at runtime
Driver program for smartform
SSF_FUNCTION_MODULE_NAME
Types of Windows - Main Windows,Secondary Window,Copies Window,final window
Main Window - For continuous output. Like Table
Secondary Window - For Fixed length output
Copies Window - Ist the special kind of secondary window. For making copies or orginal- SFSY-COPYCOUNT - Orginal Copy/Cus
Final Window - Ist the special kind of secondary window. Will be processed only at the end of processing of the form
Possible without main window - Yes
Windows will be processedd in the seq order except final window
Types of text - Text elements, Text Modules, Include Text, Dynamic text
Debugging - Place breakpoint at the FM,Put BREAKPOINT or BREAK USERNAME in the smartform code itself
Uploading and Downloading - best practice
Logo or graphics in smart forms - BITMAP - SE78 - Import Graphics, Define Resolutions in Smartforms
Address in Smartforms - Address are stored in ADRC table, Use address option in the SF and provide the address number
Folder Creation in SF - Achieve page protection in SF, So that everything will be printed in the same page, PAGE PROTECTION
Page Craetion - By defauly one page will be created along with one main window. If I want header info only on the first page, t
Currenct page and Total Page - SFSY-PAGE, SFST-FORMPAGES
SMARTSTYLES - Here we define paragraph format , and charater format, format, assign SMARTSTYLE in the smartforms
Bar Code and charater format - SE73, Assign barcode via charterformat
Smartforms Control Parameters, Output Options and User Settings - NO DIALOG,PERVIEW,TDTEST,USER SETTING OPTIONS
Output to PDF format - Get the OTF for smart form -> Convert OTF to PDF
Smartform Translation in to other language - SE63 Only for text elemnts not for incldue text or text modules
What is the tcode for SAPScript forms?
What is PROTECT & ENDPROTECT?
What are the different types of SAPScript symbols?
What are the different window types in SAPScript?
How many MAIN windows are allowed in SAPscript?
How can we omit a leading sign and a leading zero in SAPScript?
How to debug a SAPScript?
What are the different function modules used in SAPScript?
How to call a subroutine in SAPScript?
SE71
PROTECT & ENDPROTECT is a command used to protect a paragraph against a page break.
System symbols,Standard symbols,Program symbols,Text symbols
Main,VAR,CONST
99 main windows are allowed in SAPscript
Leading sign can be omitted by using ‘S’ with the sapscript symbol i.e. &symbol(S)&. Leading zero can be omitted by using ‘Z’ with the sapscript symbol i.
To switch on the debugger for SAPScript use the menu path Utilities->Debugger or use the program RSTXDBUG.
START_FORM,OPEN FORM,WRITE_FORM,CLOSE_FORM,END_FORM
Use PERFORM to call a subroutine.
Concatenation
Repeating Values
InLine Declaration
VALUE Expressions/Chaining/DEFAULT
CONV – Conversion Operator
LET Expression
COND & SWITCH operator
Alternative to READ TABLE
FILTER expression
LINE_EXISTS
LINE_INDEX
FOR Operator
REDUCE Operator
BASE, CORRESPONDING & MOVE-CORRESPONDING Operators
LOOP AT – GROUP
Extension and performance Boost
Comma and Escaping variable
Selecting a Constant
Arithmetic Calculation
Concatenation
CASE Statement
CTE – Common Table Expressions
INSERT with SELECT
Case Insensitive search with SELECT
New SQL functions with ABAP 7.51
DATA lo_ref TYPE REF TO CL_XX.
Lo_ref = NEW #( ).
[OR]
DATA(lo_ref) = NEW CL_XX( ).
on a.matnr = b.matnr
b.maktx as description,
$parameters.Lang as language
Session Variables - As of ABAP 7.51, CDS framework provides some runtime system variables which can be readily used to ma
$session.client is runtime SAP client which is equivalent to sy-mandt in AS ABAP
$session.system_date is current system date and works same as sy-datum in AS ABAP
$session.system_language works very similar to sy-langu in AS ABAP
$session.user is essentially same as sy-uname in AS ABAP
ABAP Managed Database Procedure
AMDP Interface - IF_AMDP_MARKER_HDB
Types of AMDP Methods - BY_DATABASE_PROCEDURE and BY_DATABASE_FUNCTION
AMDP Syntax - METHOD XXX BY DATABASE PROCEDURE FOR HDB LANGUAGE SQLSCRIPT OPTIONS READ-ONLY USING TAB
We cannot create the AMDP in GUI SE24
AMDPs will not support automatic client handling
Constructors cannot be implemented as AMDP methods.
exception handling is supported for AMDP procedure methods.
AMDP method does not support implicit enhancement options.
COMMIT and ROLLBACK statements are not permitted in AMDP
We can return data from AMDP method using CHANGING parameters.
The parameters must be declared using VALUE for pass by value. Pass by reference is not permitted
Return values can not be declared as RETURNING
AMDP class can contain both regular methods and AMDP methods.
AMDP - BADI - https://blogs.sap.com/2016/12/26/how-to-extend-an-abap-managed-database-procedures-using-amdp-badis/
Define CDS View data mode using interface view and consumptio view
Create the metadata extension
Create behaviour definition
Crate behavior implementation
Servoce definition
Service binding
https://github.com/miltonchandradas/rapdemo