ABAP Interview Questions and Answer in Detail
ABAP Interview Questions and Answer in Detail
By Pankaj Kumar
Mob/WhatsApp – 8971472172
Email – [email protected]
Introduction – SAP ABAP Question’s Answer – Complete Set
This Course will help you to prepare the SAP ABAP Interview Question’s Answer
This Course will help you give the answer of any kind of SAP ABAP Question
This course is not simply Questions and answer but here I have tried to make you revise
the concept as well wherever needed.
In this course I have marked Question as VVI which are asked very frequently in
Interview
Area Covered and some Questions Example
Data Dictionary: - Table, Views, Search Help, Lock Objects, Data types etc.
What is the difference between Transparent Table, Pool table and Cluster Table?
Report: Events, Data types, System Variables, OPEN SQL, ALV etc.
1. What are the Non Numeric Data types in ABAP
2. What is user defined data types in ABAP?
3. What are the different system variables in ABAP?
4. What are the important/frequently used string operation in ABAP?
And Many More 5. What are the frequently used Character Operation in ABAP?
Such Questions 6. What is Internal tables?
7. What is difference between Internal Table Vs DB Table
8. What is the difference between Refresh, Clear and Free
9. What is the different types of internal table operation
What is the Transport Request and What is the task?
Explore next What is the difference between TR and Tasks?
page for Answers What is the significance of the Standard Recording Routine?
What are the main data types in ABAP?
What are the Numeric data types in ABAP? Given the answer in detail
BDC
R3
PRESENTATION SERVER ARCHITECTURE
Database layer
Oracle, MYSQL, SYBASE,DB2,
DB6,HANA
What is R2 Architecture?
PRESENTATION SERVER
R2
ARCHITECTURE
DISPATCHER( Taking the request from the user and identifies what kind of request it is and
then it assigns to the correct wp)
UPDATE WP
DATABASE BACKGROUND
DIALOGUE WP SPOOL ENQUEUE WP( TO
USER UPDATE WP(BACKGROUND
WP(PRINT, HANDLE THE LOCKING
INTERACTION REQUESTS JOB)
FAX,EMAIL) MECHANISM)
( UPDATE / Batch Process
Function Module
)
What is the Architecture of the Work Process?
SCREEN PROCESSOR
WORK PROCESS
ABAP PROCESSOR
VVI
Solution Architect
Technical Architect
ABAP
FS TD/TS
DEVELOPER
VVI
Table
VVI
How many types of table and what is the difference b/w them?
Criteria/Name
Transparent Table Pool table Cluster table
Relationship Many(application layer) to One(database layer)
One to One Relationship b/w application server Many(AL) to one(DB) relation
and database relation
Data Master/Transaction data=> Application Data System Related Information: Used to store large number of logically related
Parameter, Screen Sequences continuous records e.g. Document
Match Code Objects, Look up value/Drop Down
Values, Secondary Index
Benefits General data. All the data at application layer to get at one time 5 to 10 times compression
What is Foreign key relation ship and what are the another terms used for this?
EPT
EPT800 EPT810
sap
EPT820 EPT830
What field can be used for the purpose of making a table Client Dependent ?
Ans: - MANDT
Primary Index and Secondary Index
Ans:- > Index is the sorted content in the separate memory pointing to the original content.
Index
Secondary Index
Primary Index Manually
Gets created
automatically
Max Index: 9/16
Based Primary Key
Why we are not supposed to create many Secondary Indexes?
Secondary Index:
By default Primary index gets created on the primary key of the table.
If you have multiple searching(Select Query) performed on the non primary key field of the database table
then you can create the Secondary index in order to improve the performance.
More than 9/16 Secondary Index is not supposed to create because more secondary index overall can hamper
the performance because if you do any changes in the record of the database, database has to adjust all the
connected secondary index accordingly.
What is the difference between Primary Index and Secondary Index?
• There can be one and only one • There can be 0 or Multiple secondary
Primary Index on a DB Table. i.e. Index for a table.
Minimum and Maximum Primary
index on a table is ONE.
Buffer: What is Buffer? What is the use of Buffer?
PRESENTATION SERVER
TSTC
Application Server R3
SELECT * FROM MARA BUFFER
ARCHITECTURE
FLAG = INVALID
REDUCED NETWORK LOAD
HIT ON THE DATABASE IS GOING TO BE DECREASED
Database layer
Buffer
Notes:
If your data is going to change frequently then never use buffer
Where you can use the buffering?
1. If your data is very rarely changed
Buffer Analysis: ST10
•Direct Reads – This gives the number of SELECT queries on a particular table in which the entire primary key was specified in
the WHERE clause.
•Seq. Reads – This gives the number of SELECT queries on a particular table in which the entire primary key was NOT specified in
the WHERE clause. There can more than one record satisfying the WHERE clause.
•Changes – This gives the number of write access (INSERT/UPDATE/MODIFY/DELETE) on a particular table.
•Total – This is the total number of accesses (read + write) to a particular table in the time frame chosen and in the server chosen.
Total = Direct Read + Seq. Reads + Changes.
•Changes/Total % = Also termed as “Change Rate”, this is the % of accesses that are write accesses.
DE1
DE2 DE3
TB1
TB2 TB3
What is the difference between INCLUDE STRUCTURE VS APPEND STRUCTURE VVI
Different View
Search Help
Customizing Structure
Table Structure
IMPORTANT
APPL1
TRANSACTION
APPL2
APPL0 DATA
ORGANIZATION USER DATA
MASTER DATA VERY
AL / USR1
RARELY MODIFIED FREQUENTLY
CUSTOMIZING
CHANGED
What is size Category? Important
0-10000 IMPORTANT
SIZE CATEGORY:
Delivery Class: It decides how the transport management is going to happen in Very IMPORTANT
case of development or implementation or update or roll out
Workbench TR
CUSTOMIZING TR
4th
What is View and What are different types of View?
VIEW VVI
View: Different way of looking into the data from one table or more than one table
View doesn’t contain the data physically/Permanently
View shows the data by fetching the data from the single/different table at run time
View
Table View
• 1. It stores the physical data/actual data • 1. It will fetch the data at run time from the
single/multiple table based on the view type
• 2. Because it contains the data it will be having –
Delivery Class and Technical settings • 2. Since it doesn’t contain the data it doesn’t have the
deliver Class and Technical settings
-> 3. able is of 3 types: Transparent , Pool and Cluster
• 3. View is of four types: 1. Database view, 2. Projection,
Index 3. Maintenance and 4. Help view
No Index
What is the different data types under data dictionary which can be defined or created?
Data types
With reference to it we
can define the internal
table.
type
What is type group? IMPORTANT
Types:
Constants:
What is the important point about the type group when we create a table type and structure and
constants wrt to Naming convention.
SEARCH HELP
Lower
FIXED VALUE
SEARCH HELP
Search help at field
Higher
lelvel
At selection-screen
on value request for
p_matnr
5
What is Lock? And What is Lock Object in SAP DD VVI
Lock: Locking mechanism is used to maintain the integrity and consistency of the database table
Lock Object: It is the technical object through which in SAP, we maintain the Lock.
Q. When we create the lock object is there any function module gets generated after activation of the
lock object ?
Ans.-> Yes
Q. When we are going to create the lock object what naming convention we need to follow
Ans. Name must be started with EZ_ OR EY_.
Function Module
S E X-O
Lock
TRANSPORT REQUEST(SE09,SE10,SE01)
What is Workbench TR
TR
TASK1
TASK2
TASK3
What is the difference between TR and Tasks?
TR vs TASKS
TRNASPORT REQUEST TASK
1. TR is like main engine of the TRAIN with which • It is like Bogies of the train which is attached with a
multiple bogies are attached. main engine( TR)
i.e. One TR can have multiple Tasks. i.e. One Task can have only one TR.
2. Under one TR multiple user can work at a time 2. Under one task only one user can work at a time
3. A TR can be released only when all the TASKS are 3. Task can be released independently.
released.
What is the significance of Standard Recording Routine?
Ans. If this is selected then only the TR will be asked when you save the entries in TMG ( SM30 ).
T- CODE SE54
se54
What are the main datatypes in ABAP?
Abap data types
FIX - P
Numeric Data Types
111111….up to 64 times 1
2^64
All this user defined data types can be declared / defined in two ways –
1. Global declaration using SE11 – data Element, Structure and Table type
2. Local Declaration – Only possible for Structure and Table types
Loop at it_tab
System Variable: into wa.
Its value get determined at runtime Sy-index
Sy-tabix
SY-SUBRC
endloop
IF SUCCESSFUL SY-FDPOS
THEN IT’S VALUE SY-TABIX THE CURRENT
SY-DATUM SY-INDEX
WILL BE 0 Current SY-UZEIT POSITION OF SY-ZONLO
CURRENT DATE Current
OTHERWISE Record of CURRENT TIME CHARACTER/ST Current Time
OF THE SYSTEM Loop
VALUE WILL BE internal OF THE SYSTEM RING WHICH Zone
Pass
OTHER THAN 0 Table YOU ARE
SEARCHING
Q. What is the structure name which holds all the system variable ?
Ans -> SYST.
What are the important/frequently used string operation in ABAP?
String Operation
Character Operations-
IF ‘AABBCCEE’ CN ‘ABCD’
Character Operation
ANS. -> It is nothing but temporary table which is created within the program session to hold the
multiple records during run time. As soon as program execution is finished Internal table temporary
memory area gets released and hence content of it also destroyed.
Refresh can be used for Clear Can be used for Free can be used free
Internal table Work Area and the object memory
Internal Table Both
i. APPEND
ii. INSERT
iii. SORT
iv. DESCRIBE TABLE
v. READ TABLE WITH KEY – ( WITH SEQUENTIAL AND BINARY SEARCH)
vi. READ TABLE WITH INDEX – Very Fast
vii. LOOP....ENDLOOP.
viii. MODIFY
ix. DELETE
x. DELETE ADJACENT DUPLICATES
xi. CLEAR, REFRESH, FREE
xii. APPEND LINES OF
xiii. INSERT LINES OF
xiv. MOVE
xv. COLLECT
=> COLLECT STATEMENT ADD THE NUMERIC DATA TYPE FIELD TOGETHER IF LEFT SIDE FIELDS VALUE IS SAME.
=>APPEND STATEMENT WILL SIMPLY APPEND THE RECORD
8
What is field symbols and of how many types? Important
Field Symbol
It is a place holder for the data object ( Variable )
Data References –
It’s Pointer to any Data object.
C Pointer – It’s a variable which stores the address of another variable
Lv_dr->* = 500
10000
Lv_dr = 100
What are the pillars of dynamic programming
DYNAMIC PROGROMMING
Control Statement
1. IF <cond>
code..
ELSEIF <cond>
code…
ELSEIF <cond>
code..
ELSE
IF <cond>
code..
endif.
code..
ENDIF.
2. BREAK;
3. CONTINUE;
What is the difference between SY-TABIX VS SY-INDEX ? VVI
Loop at it_mara into wa_mara.
VVI
Endloop.
SY-TABIX( LOOP AND ENDLOOP ) SY-INDEX( NO IMPACT INSIDE LOOP AND ENDLOOP)
• IT POINTS THE CURRENT RECORD OF THE INTERNAL • IT POINTS THE CURRENT ITERATION OF THE LOOP
TABLE • THIS IS APPLICATION INSIDE ANY DO….ENDDO AND
• IT IS APPLICABLE INSIDE THE LOOP ….. ENDLOOP WHILE … ENDWHILE.
STATEMENT.
What is SQL and what are its types? Important
Which component of application server layer is responsible for converting the OPEN SQL into the
Native SQL?
Ans. – Database Abstraction Interface
OPEN SQL
DATABASE ABSTRACTION
INTERFACE
MAX
What are the different types of OPEN SQL language
OPEN SQL
DDL DML
DQL DCL(DB ADMIN)
Defining DELETE,
ALL TYEPS SELECT GRANT
TABLE(create, alter ) MODIFY,UPDATE,ISER
QUERY REVOKE
SE11 ( ABAP ) T
3. Before NE 7.40
2.
1.
4.
What is the syntaxes for INNER JOIN and LEFT OUTER JOIN – Give some Example
*SELECT matnr spras maktx UP TO 10 ROWS FROM makt INTO TABLE it_tab.
SELECT mara~matnr mtart werks
FROM mara INNER JOIN marc ON mara~matnr = marc~matnr
inner JOIN makt on MARA-MATNR = MARKT-MATNR
"INNER JOIN
SELECT mara~matnr mtart werks
FROM mara INNER JOIN marc ON mara~matnr = marc~matnr APPENDING
CORRESPONDING FIELDS OF TABLE it_tab.
*
"LEFT OUTER
SELECT mara~matnr mtart werks
FROM mara LEFT OUTER JOIN marc
ON mara~matnr = marc~matnr INTO TABLE it_tab.
What are the important internal table operations?
VVI
UPDATE MODIFY
• it tries to find out the key first if it’s there it’ll update or • it tries to find out the key if it’s present then it’ll update
else it’ll leave. and if it’s not present then it’ll insert.
• UPDATE key word doesn’t to SUPPORT to the internal • MODIFY supports both Internal table and DB Table.
table. It supports only DB Table.
NON HANA(ORACLE ETC) Not recommended on more than 2 In case of more than 2 tables
tables. use FOR ALL ENTRIES
What are the different types of internal table and what are basic Detail? VI
You can use append, but your data should follow the sorting
criteria
What is Primary key and secondary key and how it is defined in different internal table? VI
NOTE: IF YOU DON’T DEFINE ANY KEY EXPLICITELY THEN STANDARD KEY WILL BE PRIMARY KEY
I.E. NON NUMERIC KEY COLUMN COMBINATION WILL BE STANDARD KEY
Q. What is the difference between Standard internal table, Sorted Internal table and Hashed Internal Table? VI
Ans.
Do the INITIALITY Check for the table on which FOR ALL ENTRIES is going to be applied
i.e. Internal table must be filled then only FOR ALL ENTRIES Work properly.
What are optional best practices before using FOR ALL ENTRIES?
Ans. –
Sort the internal table on the fields where you want to use in where condition and delete adjacent
duplicates.
Remove the adjacent duplicates from the internal table on which FOR ALL ENTRIES is applied.
Select all the Key fields in Select Query if you don’t want to have the data lost( deletion of duplicate
record )
If the Internal table records is not filled then what impact will be when we use the FOR ALL ENTRIES?
All the records from the DB will be fetched. Though it is not supposed to fetch any record - All the
records from the DB will be fetched.
What is the difference between Pass by Value and pass by reference?
1. Data access happens by copying the value 1. Data access happens by passing the
from one variable to another variable. address of one variable to another.
Q. In case of RFC Function module, Is it possible to have the pass by reference Parameters? VVI
Ans. -> No
Why?
Ans. -> Because, memory reference is not possible in two different session/system.
What is RFC Function Module?
RFC FM
this is basically a FM only but it can be called from outside of the current system
.net /
SAP2 java/vb
SAP1( RFC FM )
HTTPS
based SAP3
application
What is Function Module in SAP Important
SAP has created many standard function module and we directly use it without
understanding actual implementation process.
1. It is collection of function modules which governs the function module source code.
2. All the function group is having a Master program associated with it.
3. That Master Program contains all the function modules in form of INCLUDES.
4. Whenever a function module are loaded complete function group is loaded into
What are the extra steps than normal FM need to be taken while creating the RFC FM
Update Function Module is the type of FM which is used to achieve the SAP LUW ( Either all or none )
and performance.
Function module
What is the different types of Function Module and what are the differences between them?
FM
2. Here Pass by value + Pass by Reference both 2. In RFC function module you can only 2. Update FM can be called from the same system. (
have Pass by Value. if you want to use in another system then
is fine Background RFC / trfc / qrfc )
3. In the same system if you are going
to add the DESTINATION 3. This is used to achieve generally the
NONE’ while calling the RFC then it’ll be SAP LUW
called in separate session
4. Some time we use from performance
perspective also
5. When COMMIT WORK gets executed
then Update gets starts getting executed
When update function Module gets Triggered? VVI
If a update function module gets failed, under which transaction we can see that?
Or VVI
What is the T-Code for monitoring the Update function module failures?
Ans. SM13
What is the Syntax for Update Function module?
Will the update function module gets triggered asynchronously or Synchronously when it is called?
Ans. -> Asynchronously(in parallel).
Ans. In Update Queue and it gets triggered in the sequence in which it’s
registered and priority of the update function ( type of the update FM ).
What are the different types of Update function module and there differences?
What is Collective Run Update Function Module
AT LINE SELECTION
AT USER COMMAND
AT PFn(AT PF5, ATPF6 etc.)
Top of page during Line selection
End of page during Line selection
What are the different events and how is their flow in the Program? VVI
What is the difference between At selection Screen Outputs and At selection Screen VVI
F8=> COMPLETE PROGRAM WILL BE EXECUTED (I.E. ALL THE ALL THE EVENTS WILL BE TRIGGERED )
ENTER => if selection ONLY Two Events AT SELECTION SCREEN and AT SELECTION SCREEN OUTPUT
EVENT WILL BE TRIGGERED
What is the difference between LOAD OF PROGRAM and INITIALIZATION Events?(VVI) VVI
Below are the important message types in ABAP Which is frequently used
Syntax:
MESSAGE <MESSAGE TEXT> type <MESSAGE TYPE>.
MESSAGE MSGNO(MSGID) WITH LV_PH1 LVPH2
What is the difference between Information Message and Warning message?
It gives the Information in pop up and Program flows as It gives you the message and it enables the selection screen
usual and it will not give you the option to change the value to enter the new value.
on selection screen. If you realize that value is correct then you can press enter
and it will move ahead from the previous step.
If you are correcting the data and press Enter then it will run
from beginning( at selection screen ).
Report: A Report:
Line 1 Line 1
Line 2 Line 2
Line 3: Information message - ok Line 3: Warning Message
Line 4 Line 4
Line5 Line5
What is the difference between Information Message, Error Message, Abort Message?
Information Message You must have to correct the As soon as this abort
It gives the Information and Program flows as error. message encounters,
usual and it will not give you the option to change Every time program runs from Program come out from
the value on selection screen beginning the flow and go to initial
( At Selection ) sap screen.
when you press enter
What are techniques used to capture the value from Output screen(LPS)?
IMPORTANT
Ans. - 0<n<25 :
AT END OF
VVI tricky
Suppose you have a internal table with 5 fields and you have written AT NEW <FIELD3>
If FIELD2 values changes then AT NEW will trigger or not?
Ans.- Yes it will trigger. Because if any value from left before control field changes AT NEW gets
triggered. So be careful while answering
What will be output for below set of records for AT NEW VVI
IT_MARA QUESTION
LOOP AT IT_MARA INTO WA_MARA. CODE
AT NEW weight.
WRITE: WA_MARA-MTART.
WRITE: WA_MARA-WEIGHT.
ENDAT
ENDLOOP. ANS.
MTART WEIGHT
FERT 0 1
FERT 0 2
ROH 0 3
HALB 0 6
HALB 0 7
HALB 8
What will be output for below set of records for AT NEW
Data types IT_MARA QUESTION
LOOP AT IT_MARA INTO WA_MARA. CODE
CHAR5 CHAR4 QUAN CHAR50
WA_MARA_C = WA_MARA.
AT NEW MTART.
WRITE: WA_MARA-MTART.
WRITE: WA_MARA-WEIGHT.
WRITE: WA_MARA-MAKTX.
ENDLOOP. ANS.
MTART WEIGHT MAKTX
FERT 20 IRON
FERT 0 *
ROH 0 *
HALB 0 *
HALB 0 *
What is the difference between AT NEW and ON CHANGE OF
13
What is the difference between AT NEW and ON CHANGE OF? VI
AT NEW ON CHANGE OF
1. Can be used inside only LOOP.. ENDLOOP 1. Can be used inside any kind of LOOP(
2. It triggers the control whenever any field DO..ENDDO, WHILE..ENDWHILE) and
from the left to the control field changes. LOOP..ENDLOOP as well.
3. Can’t be used with WHERE condition 2. It triggers the control when the particular
4. ELSE Clause can’t be used between AT NEW field is going to be changed.
and ENDAT. 3. Can be used with WHERE condition
5. AT NEW <FIELD> 4. ELSE Clause can be used without any problem
inside ON CHANGE OF and ENDON.
5. ON CHANGE OF <WA-FIELD>
What is the difference between Normal List and ALV Grid List
Reuse_alv_list_display Reuse_alv_grid_display
What type of extra field need to be added if we have to color a cell?
ROW COLOR
REUSE_ALV_BLOCK_LIST_INIT
and REUSE_ALV_BLOCKED_LIST_DISPLAY.
VVI
If you want to make your ALV editable what to do?
If you want to edit a particular field then at field catalogue level set the
EDIT property for that particular field
For a particular field: FIELDCATALOGUE-<FIELD>, FEILDCATALOGUG-EDIT =
‘X’.
If you want to make whole ALV editable then use
LAYOUT-EDIT option.
What are the various tools are present to improve the code quality and improve the performance? VI
The various SAP Tools :
1. EPC – Extended Program Check
2. ATC – ABAP Test Cockpit
3. ST05/ST12/SE30/SAT
• ->Technical Correction
• -> Performance
• -> Code will optimized
• -> Functional Correction
Steps
1. Sort the data of Header table by VBELN( Sales order ) => OUTER LOOP
2. Sort the item table with the same field as header table(i.e. VBELN) => INNER LOOP
3. LOOP AT IT_HEADER INTO WA_HEADER
4. READ IT_ITEM TABLE WITH KEY VBELN = WA_HEADER-VBELN BINARY SEARCH
IF SY-SUBRC EQ 0.
DATA(LV_CURR_ROW_NO) = SY-TABIX.
ELSE.
CONTINUE.
ENDIF.
5. LOOP AT IT_ITEM INTO WA_ITEM FROM LV_CURRR_ROW_NO
IF WA_ITEM-VBELN = WA_HEADER-VBELN.
****Business Logic******
ELSE.
EXIT.
ENDIF.
ENDLOOP.
ENDLOOP
What are the different trace tools available?
TRACE
File Operation
AL11
Batch: In Group
Data: Content
Communication: Transfer of data from one system to other system
BDC
Legacy System SAP SYSTEM
What is BDC?
When BDC? Material Creation : MM01 Customer Creation: Xd01
Why BDC? Material Change: MM02 Customer Change: Xd02
How BDC? Material Display: MM03 Customer Display: Xd03
Definition: It’s one of the powerful BDC technique which is used to process the large amount of data
In easy way because here the error handling and reprocessing the error content by correcting is very
easy.
Q. What is the t-code where we can see the created session and we can process the
session?
Ans – SM35
What is the difference between Call Transaction and session method? VVI
1. It is suitable for small amount of data 1. It’s good for large amount of data
2. It’ is very fast ( Why? Ans - if you use the 2. This session method is comparatively slow ( Why ? - It always run in
asynchronous mode(PARALLEL), it is going to be synchronous mode )
faster ) 3. Error handling is very easy – Why? When you get any error, you can
3. Error handling is difficult. Why? Every time if you manually correct that error by running in foreground and correct and
get some error you have to correct your file and bend and again execute in background.
remove the processed data and execute the 4. Only synchronous Mode is possible.
program 5. To process the recorded session you need to go to T-CODE SM35
4. Two running mode Synchronous and asynchronous. 6. Here need to open the session using BDC_OPEN_GROUP fm, Insert the
5. Here you don’t have to go to any other t-code data using BDC_INSER fm, close the session using BDC_CLOSE_GROUP
6. No need to open any session fm.
15
Q. What is the 2nd name of Session Method?
Q. Which structures are referred while creating the BDC Internal table? -VVI
Ans.- BDCDATA
Ans.- PROGRAM,DYNPRO,DYNBEGIN,FNAM,FVAL
What are the function Modules involved for creating the Batch session method?
Ans. –
BDC_OPEN_GROUP. -> To open the session.
BDC_INSERT. -> To insert the transaction data
BDC_CLOSE_GROUP.-> To close the session.
What are the two methods to execute the BDC session method?
This parameter is used to lock the session up to the desired date by passing the date
value into it.
What is the use of KEEP Parameter in BDC_OPEN_GROUP FM?
Harkesh: While creating the FM if we pass the parameter as TRUE(‘X’) then after
successful execution of the session, session will still remain.
Do this
research If we pass the blank value (‘’) then session will be deleted automatically after
successful execution.
After 5
records if
internet is What is the importance of POST_LOCAL parameter in BDC_INSERT?
down in our
local desktop?
This is used to run the Update function module locally in same work process
rather than Update function Module.
Ans. - BDCMSGCOLL
1. Go to SHDB and record the transaction for which the data is to be created into the SAP System.
2. Use the Recording to create a Program automatically by clicking on Program Button .
3. Now modify that program as per your need.
4. Say if you are uploading an text file available in presentation server then use function modules to
upload excel file data into internal table.
5. Then put a loop on internal table to populate the data in BDCDATA internal table in such way that it should be
in form of same as the SHDB recording data .
6. Finally CALL TRANSACTION statement can be used to process the data present in the BDCDATA table and handle
the message in internal table of TYPE Table BDCMSGCOL
What is CTU Parameters in BDC? - VVI
CTU_PARAMS is a structure which has components used to control processing of CALL_TRANSACTION. This structure is used to provide display
mode, update mode, default size and more control components to the Call Transaction statement.
DEFSIZE - Default Size For Screen resolution. 'X' - Yes, ' ' - No.
RACOMMIT - Do not end transaction at COMMIT WORK. 'X' - Yes, ' ' - No.
NOBINPT - No batch input session active (that is, SY-BINPT = SPACE). SY-BINPT is always space during a CATT procedure. 'X' - Yes, ' ' - No.
NOBIEND – No Batch input session active after end of BDC data 'X' - Yes, ' ' - No.
Explain A Scenario Where NOBINPT Component OF CTU_PARAMS Can Be Used In BDC?
Ans.
The error message that usually comes in status bar while you are running the transaction online
might appear in a popup window when you are running that in batch. This will make your fields
disabled for input. This OPTIONS addition will remove this problem
What is the different F-Code and their meaning
F-CODE Explanation
/BBEG Restart the Transaction
/BDA Change the Screen processing from error only mode to All display mode
/BDE Change the Screen processing from all display mode to Error only Mode
2. All the importing and exporting parameter’s name should be started ‘ZBAPI’
4. because it’s RFC function module – so all the parameters must be pass by value
6. Once you register the RFC with Custom Object then it will become the BAPI
RFC BAPI
2. All the RFC is not BAPI 2. All the BAPI must have to RFC
3. Communication with External world is little tricky 3. When an RFC gets registered with BO, then it
becomes the BAPI
4. RFC typically not represent a complete business unit
4. It is easy to communicate with External world(NON
sap system)
Problem: It requires the Access Key. If you don’t want to get the access key you can use the implicit enhancement option
This user exit is only available in SD( Sales and Distribution )
Because we are going to use the subroutine to modify the code, there is a risk that we can disturb the potent ial global variable.
Customer Exit
CUSTOMER EXIT
CALL CUSTOMER-FUNCTION ‘XXX‘
Exporting
Importing
Tables
exception
Where XXX is 3 digit number which is representing the unique customer Exit
Function Module: <exit><program name which is calling this FM><3digit>
1. It is in form of Function Module
2. Here you neither require an access key nor Implicit enhancement because the place
where you are supposed to write the code will be under customer Name Space
3. You need to create a Project in order to implement the Customer Exit
How to Search the customer exit
1st Way: -
Identify the program and search globally with CALL CUSTOMER
2nd Way:-
Use the T-Code SMOD to Search the CUSTOMER EXIT
Difference b/w Customer exit and User Exit VVI
Customer Exit
User Exit
1. This is in form of FM
1.It is in form subroutine 2. It doesn’t require any access key
2.It requires the Access 3. You don’t have access for the global
3.You have the access for the global variable – only you can have the access
variable which is risky for parameters( importing exporting
4.It is only available in SD Module etc.)
5.It doesn’t require any project to be 4. It’s available in all module
created 5. It’s is not that much risky as user exit
6. You need to have created on project in
order to implement customer exit.
SMOD/CMOD VVI
SMOD: it is to find the Customer Exit
Note: The same Customer Exit can not be implemented in two different project
Explicit Enhancement :
Enhancement section
Enhancement spot
Enhancement Point
Explicit Enhancement
Enhancement Section
One section can be implemented at
Enhancement Point. one time.
Previous code will be also called Only one implementation will be
along with new code. called at one time.
Suppose another developer is going
to write the piece of code under the
same section then the previous code
will not work.
BADI: Business Add Ins
OOPS Oriented Concept
Basics of OOPS
Class:
Global Class(
SE24) Local Class (se38 )
Reusability No reusability
Class
ZMB28APRREPORT.
Object : Instance of the Class. Once a class is instantiated, one memory area is allocated where all the
attributes and class are present OBJECT
BADI: Business Add Ins / How to find the BADI
NEW BADI/KERNAL
CLASSICAL BADI/OLD BADI 1. it’s implemented at KERNAL Level
1. It is implemented at application layer 2. It’s very fast because this BADI is implemented at Kernel level
2. It is relatively slow
3. It can be found by CL_EXITHANDLER Note: Kernel is the Core of SAP NetWeaver. This is Operating
System of the NetWeaver
3. It can be found by GET BADI and CALL BADI
How to find out the Classical BADI? VVI
How to Identify the BADI(Classical)
CALL BADI
How Implementation of NEW BADI is called in the program
Ans. – CALL BADI
What is the Criteria of using a BADI for multiple implementation
5-7 Years experience:
What is Filter BADI ->
What is Fall Back Class ->
3. ZCL_IMPL3
BADI
Multiple Use
GUI FIORI
Ans.
1. PAI-> Process After Input
2. PBO-> Process Before Output
3. POH-> Process on Help Request(F1) ( Technical Settings or Documents )
4. POV -> Process on Value Request(F4) ( search Help )
Q1. Suppose you have a mandatory field defined on the screen and you want to go back, or cancel or exit. Will you be
able to go back normally? ( VVI )
Ans. No. Not possible. It will ask to fill the mandatory field
500
SUBSCREEN1 SUBSCREEN2
VALIDATION
2. FLOW Logic Validation-> Under the flow of the program itself we are going give the allowed values
3. Module pool Validation-> In the program you can write the logic to implement the validation
3. Flow Logic Validation: - Field: <field name> values ‘1’ ‘2’ ‘3’
Action on Me:
Check the Flow logic Validation
Check the BETWEEN COMMAND
Q. What is the difference between Chain and Field command? (VVI )
OR.
Q. If you have one field to validate in Module pool then what technique you will use?
Ans. - FIELD Command
Q. If you have multiple fields to be validated, then what technique will be used?
CHAIN.
FILED ‘FIELD1’.
FIELD ‘FIELD2’.
FIELD ‘FIELD3’.
ENDCHAIN.
Q. If you don’t use CHAIN and ENDCHAIN What problem will occur.
Another field will be grayed out apart from the one which we are validating currently.
What are the different Function Modules used for displaying the help document?
Assignment –
https://answers.sap.com/questions/4467757/f1-help-for-field.html
Use the below FM to display the Help Request for a Field.
1. 'F4IF_FIELD_VALUE_REQUEST‘ => Use this FM to Display the Search Help Value as assignment
2. ‘F4IF_INT_TABLE_VALUE_REQUEST’ => Already we have seen( You can explore more)
SCREEN Navigation
oint during the Debugger Session Break Points External Break Points
( Debugger Break-Point ) During the ABAP Session. Only for 2 Hours
he Debugger session it will
e. AS soon as you will come External
m the debugger, It will be System
.NET /
JAVA/NON SAP SAP
Z_UPDATE_FM System
ABC
1. SET THE EXTERNAL break-POINT ON UPDATE SAP System
FM ‘DEF’
2. Enable The Update debugging in Debugger
Dynamic Break Point
4. SE16_INTERFACE
How to DEBUG the RFC from another system
External User Id
Forms
this doesn’t generate any fm after When you activate smartform it generates the FM
activation.
Saved into table Stxh and stxl The generated FM is saved in some cluster table
SMARTFORMS
Program1 Program2
SMARTFORM: ZTESTSF
SMARTFORM: ZTESTSF
FM: /FM0021
FM: /FM001
Driver Program
Driver Program CALL ‘SSF_FUNCTION_MODULE_NAME’
CALL ‘SSF_FUNCTION_MODULE_NAME’ EXPORTING
EXPORTING FORM = ZTESTSF
FORM = ZTESTSF IMPORTING
IMPORTING FMNAME = LV_FMNAE
FMNAME = LV_FMNAE
Call fm LV_FMNAE
Call fm LV_FMNAE