Sap Abap
Sap Abap
It is a central repository in the sap system where all the metadata related to the database objects are
stored.
The DDIC is used to manage and maintain the definitions of the database objects.
• Database table
Transparent Table, Pooled Table, Cluster Table
• View
Database view, Projection view, Maintenance view, Help view
• Data type
Data element, Structure, Table Type
• Type Groups
• Domain
• Search help
• Lock Object
--------------------------------------------------------------------------------------------------------------------------------------------
---
* Delivery Class :
determines how the table data is handled during the transport between different SAP systems
(like from development to production) and how it is managed in upgrades
Also tell the type of data that the table will store
* Master Data : accessed very frequently but changed rarely Examples: Customer Master, Material
Master, vendor Master
1 Display/Maintenance Allowed:
User can both view & Maintain data using se16 and SM30 after TMG
--------------------------------------------------------------------------------------------------------------------------------------------
---
--------------------------------------------------------------------------------------------------------------------------------------------
---
1) Data Class:
Determines in which table space the data is going to be stored.
Physical area of database where the database table is stored.
--------------------------------------------------------------------------------------------------------------------------------------------
---
2) Size Category:
determines the size of the initial memory reserved for the table on the database
Total 0 to 9 Size categories
--------------------------------------------------------------------------------------------------------------------------------------------
---
Buffering
Buffering not allowed – Table buffering is not performed for the table.
Buffering allowed, but switched off – Table is allowed to be buffered but currently its off. If required we
can on buffering.
Buffering Activated – Table buffering is performed for the table
Buffering Type
Full Buffering: The entire table is stored in the buffer when one record of table is accessed.
Generic Buffering: When a record of table is accessed all records having this record in generic key field
are loaded in buffer.
Single-record Buffering: only accessed Individual records are buffered.
Note : For single record buffer – If SELECT SINGLE is used to access a non-buffered row, an attempt is
made to load the row.
If the row is not found, this is noted in the buffer and the database is not accessed again the next time
SELECT SINGLE is used.
--------------------------------------------------------------------------------------------------------------------------------------------
---
If logging is activated, access to the database table slows down and lock situations can arise for the log
table.
Hence, the logging is not set up in the systems usually.
--------------------------------------------------------------------------------------------------------------------------------------------
---
5) DB-Specific Properties:
Either a row store or column store is selected as Storage type.
The data is stored in different way in row and column store.
In HANA dB, the preference is to use Column Store.
--------------------------------------------------------------------------------------------------------------------------------------------
---
* Enhancement Category:
Se11 --> Extras --> Enhancement category
This is also an optional step, but we get a warning while activation if this step is not performed.
* Types:
1) Can be Enhanced(Deep): allows adding complex data types used in oops ABAP / CDS
2) Can be enhanced(Char type or numeric): allows adding CHAR and NUM INT DEC
3) can be enhanced(Char type only): Only Char field can be added
4) Cannot be enhanced: Default - No further fields should be added
--------------------------------------------------------------------------------------------------------------------------------------------
---
* Indexes:
An index helps the database find the rows faster.
Note :
No more than five indexes should be created for any one table
An index should only consist of a few fields; as a rule, no more than four
Table fields with the predefined data types STRING and RAWSTRING must not be index fields.
It is recommended that table fields with the data type FLTP are not index fields.
--------------------------------------------------------------------------------------------------------------------------------------------
---
* Check Table:
Check table is validation at field level
it defines valid values for a field in another table
we pass check table while creation foreign key relationship in item table key field.
ensures data consistency only values existing in check table can be entered in main table
Provides input help F4 from check table
* value Table:
Value table is validation at Domain level
Provide values on F4 help for the table field.
it provides default possible values for the field.
it ensures that item table contains valid values after checking with header table for specific field.
Value table acts as check table for all item tables where we have same key field containing value table as
header table
so we can create direct foreign key proposal.
--------------------------------------------------------------------------------------------------------------------------------------------
---
* Foreign Key:
It links item table to header table
It ensures value entered in Item table must exist in header table
This ensures data consistency and provides F4 help.
Steps:
SE11 - Item table - GOTO - foreign key / Foreign key button
select field in item table which is common in header and item tables
assign check table i.e. header table
define cardinality i.e. relation type
Cardinality:
1:1 - each item entry must have exactly one header entry
1:N - one header entry can have many entries in item table
N:N - both side can have multiple entries
--------------------------------------------------------------------------------------------------------------------------------------------
---
* Authorization Group:
Mostly &NC& is without any authorization
If the table needs to be maintained by only particular group of people, then the Authorization group needs
to be filled
To maintain the authorization group refer to SU21
* Function group:
it is the name to which the generated maintenance modules will belong to.
Generally Function Group name can be same as table name.
* There are two different Maintenance type – One Step and Two Step method
* Note :
If New field added in table after TMG is generated then we either need to delete and regenerate TMG
OR
Click change pencil icon and regenerate (This case is used with we have Events for TMG)
* TMG Events:
Environment --> Modification --> Events.
It allows us to build custom logic at specific points in table maintenance process.
* Types if TMG Events:
01 -- Before saving data in DB -- Can validate user input
02 -- after saving data in DB -- Trigger update in table
03 -- Before deleting an entry -- Stop delete if record is still used
04 -- After deleting an entry -- Log who deleted record
05 -- Create new entry -- Setting default values / performing validation checks
* Note : In TMG event editor custom code should be written in SUBROUTINE i.e. FORM & ENDOFRM.
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Database table
1) Transparent Table:
It has 1:1 relationship between data dictionary table and database table
the structure in se11 is same as in DB
examples : MARA, VBAK
used for storing application data (Master and transactional data)
2) Pooled Table:
3) Cluster Table:
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Views: A View is a Virtual table, it a logical representation of one or more database tables
1) Database view:
2) Projection View:
Its applicable to single table
allow us to select required field from a table for view
cannot contain join
can be used in open SQL
Example : join on MARA with only MATNR, MTART, MATKL
3) Maintenance View:
4) Help View:
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Data Type:
1) Data element :
it defines the technical attributes of a table field like data type and length
and also provides semantic information like field label
2) Structure :
Its a collection of fields of different or same data types.
Structures are primarily used in ABAP programs to define work areas, internal tables
Difference - A table has data but structure does not have any data it hold data only during program
runtime (in memory)
Include-
----------
it is a reusable structure
Can be included in any number of tables or structures, making it a highly reusable component
we can insert include structure at any point in table
it is applicable to only custom Z tables not applicable to SAP standard tables
Max 9 includes we can add in a table
Append-
----------
it is not a reusable structure
Assigned to only one specific table or structure.
it always insert at last of table
it is applicable for both custom Z & SAP standard tables
if an APPEND structure is tied to its table, and you cannot directly delete it; you’d typically delete the
whole table
3) Table Type :
It is used to define structure and functional attributes of an internal table which will be used in ABAP
program
A table type is defined by referencing to a line type.
An existing dictionary type can be used as line type such as -
database tables,
structure,
views,
data elements,
direct type definitions or even another table type.
--------------------------------------------------------------------------------------------------------------------------------------------
---
the disadvantage is that the entire type group is loaded even if few types are needed
so instead of type groups we prefer to use the types defined through global classes
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Domain:
It defines technical attributes of a table field such as data type and length and the number of decimal
places for a field
we can define same domain to multiple fields having same properties
Value Range:
It can define a fixed value range or a value table, which restricts the possible values that fields referring to
this domain can hold.
This ensures data consistency and validity.
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Search help
Types :
Selection method: determines from where the data will be fetched Example: database table or (help)
view
Search help exit : A Search Help Exit in SAP ABAP is a custom ABAP function module that extends and
modifies the standard behavior of a search help.
It provides a mechanism to implement custom logic at various stages of the search help process, allowing
for dynamic filtering, data manipulation, and enhanced functionality beyond the standard search help
capabilities.
Dialog Types:
2) Dialog with value restriction: a restriction dialog will appear before displaying values
3) Dialog depends on set of values: if table has less than 100 entries it will display values immediately
if more then 100 a restriction dialog will appear
LPOS: List position - when values get displayed -- it is sequence of columns once data is displayed
SPOS: Screen position - before displaying values -- sequence of fields on restriction dialog box
Modify: it modifies data element basically we can create new data element and add it.
SDI’s: if checked it greys out the field restricting user input, making it read only
Default values: provides default values for a field Note:- Importing must be unticked.
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Lock Object
Its used to ensure data consistency and prevent conflicts when multiple users or programs attempt to
access and modify the same data simultaneously
Lock objects name starts with prefix ’EZ’ or ’EY’
T-code to see locked entries is SM12
Enqueue Server: In SM12 entries are temporary which comes from enqueue servers
Lock Modes:
Allows multiple users to read the data simultaneously but prevents any user from modifying it.
An exclusive lock request is rejected if a shared lock exists
Allows only one user to access and modify the data. No other user can read or write the locked data.
Write locks can be requested multiple times for same transaction.
3) "Enhances Write Lock" also called as "Exclusive but not cumulative Lock" (X):
Similar to an exclusive lock, but it can only be called once within the same transaction.
Subsequent calls within the same transaction are rejected.
Initially behaves like a shared lock, allowing multiple users to access in update mode.
The first user to save the data acquires an exclusive lock, and other shared locks are released.
Now we can create a custom program and call the required FM either to lock and unlock based on
process.
Allow RFC checkbox: It tell us FMs attributes processing type is either Regular FM or Remote-enabled
FM
--------------------------------------------------------------------------------------------------------------------------------------------
---
--------------------------------------------------------------------------------------------------------------------------------------------
---
* SAP Memory:
Note : ’MAT’ is a parameter id which will be available in data element - Further Char tab for field MATNR.
Use when:
you want to prefill fields in transactions like MM03 / VA01
OR
Navigate between screens or programs outside your code
--------------------------------------------------------------------------------------------------------------------------------------------
---
* ABAP Memory:
You can store variables in memory and access them across program in the same call chain.
Using :
EXPORT to memory ID
IMPORT FROM memory ID
Example:
(Sender)
DATA : lv_matnr type matnr value ’M123’
Export lv_matnr to MEMORY ID ’MATKEY’.
(Receiver)
DATA: lv_matnr Type matnr.
IMPORT lv_matnr FROM MEMORY ID ’MATKEY’.
Write:/ ’Material Number:’, lv_matnr.
Use when:
Calling another program with "SUBMIT" or "CALL TRANSACTION"
OR
You want to pass multiple variables internally
--------------------------------------------------------------------------------------------------------------------------------------------
---
* Enhancements in SAP :-
=========================
• User Exits :-
================
2) Go to SE80
VA01 (Create sales order) program "SAPMV45A" here user exits will begin with "MV45A"
VL01N (Create Outbound Delivery) program "SAPMV50A" here user exits will begin with "MV50A"
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Customer Exit :-
===================
SMOD - To find CE
CMOD - To implement CE
MODSAP - Table to find CE
MODACT - Table to find project for CE
This allows us to add our custom code in sap program with help of FM.
* Put package name in SMOD (Utilities -> Find -> Package name)
get package name for standard program from attributes and search you will get list of all available FMEs.
2) Menu Exit :-
===============
To find ME :-
3) Screen Exit :-
=================
It allows us to add fields to the screen of sap program with help of customer sub-screen
SAP provides sub-screens areas within a standard screen
Syntax :- CALL CUSTOMER-SUBSCREEN ’sub screen area’ INCLUSING ’program name’ ’screen
number’.
To Find SE:-
Go to sap programs -> system -> status -> screen number and find CALL CUSTOMER-SUBSCREEN
OR
Go to SMOD -> utilities -> FIND -> put package name
look for text - sub screen on initial screen
get that exit name and area
To Implement SE:-
Go to CMOD
Provide project name and click create
click enhancement and provide CE name
click component which will show all available exits
double click on required exit
create screen and design respective layout on screen
Note : inside screen painter attributes remember to select DYNPRO TYPE as SUBSCREEN
then we need write logic in FMEs
--------------------------------------------------------------------------------------------------------------------------------------------
---
Its an object oriented enhancement framework that allows us to add custom functionality.
Note :- check description of Exit name in SE18 Attributes to figure out what the exit will do
OR
go to SE19 -> under create implementation pass classic badi name which was found in SE18
give implementation name -> click interface tab -> A class name will appear double click and save
this will open class and show all methods -> and write custom logic in required method
SAP INTERNAL :- If this is checked then we cannot create BADI implementation, this will be for SAP use
only
MULTIPLE USE :- If ticked then we can create multiple implementation for the BADI
If unticked then we can create single implementation only
FILTER DEPEND :- When you mark a BADI as filter-dependent in SE18, you must specify a "Filter Type"
which is a data element.
This data element determines the type of the filter value that will be used.
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Enhancement Framework :-
==========================
1) Explicit :-
* Enhancement Point :-
* Enhancement Section :-
2) Implicit :-
Implicit points are available at starting or at last of program
--------------------------------------------------------------------------------------------------------------------------------------------
---
• OOPs ABAP:-
============
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Class:
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Definition:
the CLASS....DEFINITION block defines the components such as attributes and methods of the class
it has different visibility sections
• Implementation:
The CLASS...IMPLEMENTATION block contains the actual code for the methods defined in the
DEFINATION part
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Object:
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Attributes:
Attributes are variables that hold the data associated with an object
they define the state of the object
for example: A class called cl_car might have attributes like car_color and current_speed
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Methods:
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Interface:
An interface defines a set of method signatures but does not provide any implementation.
It is used to define a contract that classes must follow.
A class that implements an interface must provide implementations for all the methods declared in the
interface.
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Singleton Class:
It ensures that only one instance of class can exist throughout the entire application runtime and provides
a global point of access to that single instance.
we cannot create the instance/object outside the class
we write the logic for instance/object in class itself -- class methods
The object represents a global resource like printer we don’t need to have printer for each person.
We want only one version of consistency
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Constructor:
A constructor is a special method in Object-Oriented ABAP that is automatically called when an object of
a class is created.
The constructor is used to initialize the object, set default values for attributes,
and perform any necessary setup when the object is instantiated.
It is defined using the CONSTRUCTOR keyword.
A constructor cannot return any value and typically doesn’t have a return type.
• Example:
In this example, when an object of my_class is created, the constructor method is called,
and the attribute name is initialized with the value "John Doe."
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Abstract Class : class that cannot be directly instantiated, meaning you cannot create objects of an
abstract class itself.
Its primary purpose is to serve as a blueprint or a common base for other classes, known as
subclasses.
Cannot be instantiated
Subclasses must implement abstract methods
Can contain concrete methods and attributes
Used for defining common functionalities and interfaces
Example:
START-OF-SELECTION.
DATA: lo_instance TYPE REF TO lcl_concrete_subclass.
CREATE OBJECT lo_instance.
--------------------------------------------------------------------------------------------------------------------------------------------
---
1) Encapsulation: Bundling data (attributes) and the methods that operate on that data into a single unit (a
class) and controlling access to that data.
Achieved primarily through visibility sections (PUBLIC, PROTECTED, PRIVATE) within a class. Attributes
and methods declared in the PRIVATE section are only accessible within the class, while those in the
PUBLIC section form the interface for external interaction
• Example:
here my_balance is private / Hidden outside world can only use methods
--------------------------------------------------------------------------------------------------------------------------------------------
---
Abstraction utilizes interfaces and abstract classes/methods, while encapsulation uses visibility sections.
• Example:
Interface zif_payment.
methods process_payment importing iv_amount type i.
endinterface.
User only knows they must call process_payment not how it works internally.
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Example:
--------------------------------------------------------------------------------------------------------------------------------------------
---
4) Polymorphism: Same method / Interface call behaves differently for different objects.
• Example:
Data: lo_animal type ref to lcl_animal.
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Method Overloading:
Purpose: Allows a single class to have multiple methods with the same name but different parameter lists
(number, type, or order of arguments). This provides flexibility by enabling methods to perform similar
operations on different types or quantities of data.
Return Type: The return type can be different for overloaded methods, but it is not a factor in
distinguishing them.
• Example:
START OF SELECTION.
DATA(lo_math) = NEW cl_math( ).
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Method Overriding:
Purpose: Allows a subclass to provide a specific implementation for a method that is already defined in its
superclass. This enables specialization of behavior for derived classes while maintaining a common
interface.
Return Type: The return type of the overridden method in the subclass must be the same as, or a subtype
of, the return type of the method in the superclass.
Inheritance: Fundamentally relies on inheritance, as a subclass overrides a method inherited from its
superclass.
• Example:
--------------------------------------------------------------------------------------------------------------------------------------------
---
• In essence:
Overloading allows you to define multiple versions of a method within the same class, differentiated by
their parameter lists.
Overriding allows a subclass to redefine the implementation of a method inherited from its superclass.
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Multiple Inheritance:
ABAP does not support multiple inheritance directly through classes. However, multiple inheritance can
be achieved using interfaces. A class can implement multiple interfaces, thereby inheriting the method
signatures from all the interfaces.
• Example:
INTERFACE if_car.
METHODS drive.
ENDINTERFACE.
INTERFACE if_airplane.
METHODS fly.
ENDINTERFACE.
CLASS IMPLEMENTATION.
METHOD if_car~drive.
WRITE:/ ’Car is driving on road’
ENDMETHOD.
METHOD if_airplane~fly.
WRITE:/ ’Car is flying in sky’
ENDMETHOD.
ENDCLASS.
START OF SELECTION.
DATA(lo_flying_car) = NEW cl_flying_car.
lo_flying_car->if_car~drive( ).
lo_flying_car->if_airplane~fly( ).
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Instance Attribute:
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Static Attribute:
• Example: All student share same school name, is school name changes, it changes for everyone.
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Instance Method:
Belongs to an object
You need to create an object first before calling them
They can access both Instance and Static Attributes
• Example:
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Static Method:
• Example:
cl_demo=>static_attri = 100.
cl_demo=>show_static_stti( )
--------------------------------------------------------------------------------------------------------------------------------------------
---
• Events in OOPs.
• Steps:
• Example:
• EVENT PUBLISH CLASS:
• PROGRAM:
START OD SELECTION.
lo_alarm->check_smoke( ).
--------------------------------------------------------------------------------------------------------------------------------------------
---
Smart form are not interactive forms whereas adobe forms are interactive forms
in Smart form the form interface global definition pages windows are all together
whereas in adobe form the form interface global definition are part of interface and we design layout
separately
Types of interfaces:
ABAP Dictionary Based Interface: This interface has different standard parameters in the form interface.
XML Schema based interface : we use this interface if we create forms in form builder in webdynpro for
abap.
Smartform Compatible interface: this also has different standard parameters in form interface.
Note : if you want table data to continue on next pages then select that table in layout go to pallet - object
- table - check - Allow page break within content
logo : If we want to add logo in master page - select master page - insert - standard - image - browse and
add - check Embed image data or else image will not show in output.
adding Page no : go to master page - select page 1 - insert - Custom - "Page n of m" it will show current
page (n) with total page (m)
to display barcode : go to body page - select the subform in which u want to add barcode - insert -
barcode - eg: Code 128A and bind the field.
* How to use textmodule in form - create text module in SMARTFORM tcodec - in sfp add text in context -
and then drag and drop in form from data view.
* **How to create reusable text using SO10** - create text and save - add text in context of form - and
drag and drop in form from data view to reuse the same text.
FP\_JOB\_OPEN - here we can manage parameters like no preview or no dialog box etc.
1. FormCalc - its default scripting language - best for date \& time , Financial, calculations, logical etc.
IF ( [Link] == ’C’ )
{
[Link] = "visible";
}
ELSE
{
[Link] = "hidden";
}
JavaScript - here we are making text filed Document Cat visible only for given sales order number in
condition.
("this file path to the sales order number field in hierarchy")
if ( [Link]("[Link]").rawvalue == "ID10000000" )
{
[Link] = "visible";
}
else
{
[Link] = "hidden";
}
* Adobe form translation tcode se63 - other text - PDF based form for form texts
* smartoform module text - tcode se63 - other text - sapscript form and style - sap smart form - name of
text module
* include text - SO10 translation of text - change lang and create new include text
Note : if we are using any language variable then change context text lang for both include and module
text in context of form
In case of SMARTFORMS we need to convert it to OTF then to PFD but in ADOBE FORMS its already
and PDF form so we can send directly in mail
CL_BCS : Class is used for creating send request i.e. adding recipient sending document etc
CL_DOCUMENT_BCS : This class is used for creating document and adding attachment
CL_SAPUSER_BCS : This class is used for creating SAP users
CL_CAM_ADDRESS_BCS : This class is used for creating external recipients
CL_SSF_XSF_UTILITIES
GET_BDS_GRAFIC_AS_BMP
--------------------------------------------------------------------------------------------------------------------------------------------
---
IDOC: Intermediate Documents
T Code :
here format of data exchange will change from EDI to X12 and from X12 back to IDOC
It supports both sap to non-sap and non-sap to sap and sap to sap as well
IDOC Architecture:
1. Control Record : It provides control information such as IDOC Type, message type, port, partner
number
it also provides direction of idoc 1 is outbound and 2 is inbound
Table : EDIDC
IDOC Settings :
TRFC Port - stands for Transaction port here we define port for RFC destinations created using SM59
File Port - here we can specify the directory where the IDOC file should be placed done using AL11
Partner Profile : A partner is one with whom we conduct business or exchange data.
KNA1 partner number should already exist in customer table.
TCODE - WE20
Process Code : It contains details of function module that are used for IDOC processing
every process code has FM which is used to process IDOC
1. Inbound Process Code : It processes IDOC and sends data to application TCODE - WE42
2. Outbound Process Code : It takes data from application and send data to IDOC TCODE - WE41
--------------------------------------------------------------------------------------------------------------------------------------------
---
Q1: What is Web Dynpro ABAP? Explain its architecture and key components.
Web Dynpro ABAP is SAP’s standard UI technology for building web-based applications in ABAP.
It follows the MVC architecture:
Q2: Explain the role of Context in Web Dynpro ABAP. How does data binding work?
Context in Web Dynpro ABAP is the data storage area that holds application data during runtime. It
consists of nodes (collections of attributes) and attributes (individual fields).
Purpose:
Q3: Explain the difference between Component Controller and View Controller in Web Dynpro ABAP.
When do you use each?
Component Controller:
View Controller:
When to use:
Use Component Controller for global data (e.g., user session info, RFC calls).
Use View Controller for UI-specific logic (e.g., button click handling in that view).
Q4: How does navigation work in Web Dynpro ABAP? Explain Windows, Plugs, and Navigation Links.
Navigation in Web Dynpro ABAP is managed through windows, plugs, and navigation links.
A window contains multiple views. Each view has inbound plugs (entry points) and outbound plugs (exit
points).
Navigation links connect outbound plugs of one view to inbound plugs of another.
When an outbound plug is triggered, the linked view is displayed, enabling controlled navigation between
screens.
Q5: What are Supply Functions in Web Dynpro ABAP Context Nodes? Why do we use them?
A Supply Function is a special method linked to a context node that automatically populates data for that
node when it is accessed at runtime.
How it works:
Q6: What are the different types of controllers in Web Dynpro ABAP? Explain their roles.
Component Controller
View Controller
Window Controller
Interface Controller
Q7: How do you handle events in Web Dynpro ABAP? Give an example of an action triggered by a button
click.
Events are triggered by UI actions (e.g., button click) and handled in the view controller.
Example:
Create a button in the view layout.
Assign an action to the button (e.g., ON_CLICK).
Implement the corresponding event handler method in the view controller:
METHOD on_action_on_click.
DATA lv_text TYPE string.
lv_text = ’Button clicked!’.
wd_context->set_attribute( name = ’MESSAGE’ value = lv_text ).
ENDMETHOD.
Q8: What is the difference between Interface Controller and Component Controller? Why do we need an
Interface Controller?
Component Controller:
Interface Controller:
Why needed?
If you have multiple Web Dynpro components and need to share data or call methods between them, you
use the Interface Controller.
Key Features:
Q: How do you share data between two different Web Dynpro components?
FPM provides reusable floorplans (OVP, GAF, QAF) for consistent UI.
Steps:
Q: How do you call an RFC in Web Dynpro without blocking the UI?
____________________________________________________________________________________
_____________________________________________________________________
Message Type
IDoc Type
Output Mode (Immediate or Collect)
Communication Method (e.g., File, RFC, HTTP)
Port Configuration
Idoc Processing
Via:
Monitoring
File drop
RFC call
Middleware integration
Message Type
IDoc Type
Process Code (links to Function Module)
IDoc Posting
Monitoring
Key Points
____________________________________________________________________________________
_______________________________________________________________________
IDoc Creation
Message Type
IDoc Type
Output Mode (Immediate or Collect)
Communication Method: RFC (common for SAP-to-SAP)
IDoc Dispatch
Monitoring
Message Type
IDoc Type
Process Code (links to Function Module)
IDoc Posting
Monitoring