You are on page 1of 22

SAP Web Dynpro ABAP Interview Questions with Answers

Controllers in Web Dynpro:


Question 1: What are the types of Controllers in Web Dynpro ABAP?
The types of controllers are listed in the screenshot below:

Types of Controllers in webdynpro ABAP

Question 2: What is Component Controller?


Component Controller is the King of all Controllers. It is the backbone of your Web
Dypro Component. It is like a Global or Top Include for you program. It controls the
entire activity of your Web Dynpro Component.

Question 3: What is an Interface Controller?


Whenever we want views, nodes or methods of a particular web dynpro component to be
available to other the outside world (i.e. other webdynpro components), we make use of
Interface controller. Interface Controller is created by default when a webdynpro
component is created. Interface Controller would generally come into picture when you
are doing component usage of some sort in web dynpro i.e. re-using
views/methods/nodes of one WD component in another.

Question 4: What is a Custom Controller?


When your Component Controller grows big in size ( say more than 10-15 views and
corresponding context nodes , methods , events , event handlers etc) , it might become
tough to handle everything in the Component Controller . In such a scenario, you can
create one or more custom controllers and modularize or segregate the logic into
separate parts using Custom Controller.

Question 5: Would you prefer creating multiple Custom Controllers OR would you go for
separate Web Dynpro components and then do Component usage.

This would actually depend on the requirement, but ideally separate Web dynpro
components should be created and reused. One can also use the assistance class for
segregating business logic.

Question 6: How many component controllers can a Web Dynpro Component have?

Component Controller is only one. You can create multiple controllers, but those are
called Custom Controllers.

Note: If you are asked about the Web Dynpro architecture, you should talk about both
the MVC framework and the controllers.
Every Web Dynpro application is structured according to the Model View
Controller programming model:

The model forms the interface to the back end system and thus enables the Web
Dynpro application access to data.

The view is responsible for the representation of the data in the browser.

The controller lies between the view and the model. The controller formats the model
data to be displayed in the view, processes the user entries made by the user, and
returns them to the model. 

Question 7: Suppose your Web Dynpro has 10 nodes in the Component Context. Will all
10 the nodes be available in the Interface controller?
Nodes from the Component context are available to the interface controller only when
the nodes are declared as interface nodes. To create an interface node, set the interface
property to yes as shown in the screenshot below:

Interface Node in Webdynpro ABAP

To create an interface node, set the interface property to yes as shown in the screenshot
to the right:

Once created, the interface node is indicated by a special symbol as shown in the figure
below and the property Interface Node is set to yes:

Interface Node in Webdynpro ABAP

Question 8: When do views become available in the interface Controller?

Whenever we embed any view in a window, at the moment that view becomes
automatically available to the Interface Controller and shows up as an interface view in
the Interface Controller. You do not have to declare a view as an interface view as is the
case with interface nodes.
Question 9: Is it true that each controller has its own Context node?
Yes, Each controller has its own context, methods, and Events.

Question 10: At design time how do you decide whether to declare a node in the
Component Controller or in the View Controller?
This again depends on the requirement: If the node is going to be accessed in multiple
views, it should be declared at the Component Controller level. However, If the node is
absolutely specific to only one view, it can be defined in the View Controller. As the size
of Webdynpro development grows, it starts becoming complex and the need to define
attributes, nodes, methods etc. at the Component Controller increases.

Hook Methods in Web Dynpro:


Question 11: What are Hook Methods in Web Dynpro ABAP?

Hook methods in webdynpro are standard web dynpro methods that are called at
different time in the web dynpro lifecycle. These methods are listed in the screenshot
below: These methods start with WD*.

Hook Methods in Webdynpro ABAP

Question 12: Are all the hook methods available to all the Controllers?
No . They are specific to controllers. See the details in the image above:

Question 13: Sequence in which web dynpro hook methods are called:
If you want to understand the sequence , put breakpoints in all these methods. Execute
the web dynpro application , then do some action on the view , then close the application
window:

Have a look at how the control passes from component to window and then to view:

1.WDDOINIT                                    ( Component Controller )


2.WDDOINIT                                    ( Window Controller ) –> Handle default method of
the window is called.
3.WDDOBEFORENAVIGATION          ( Component Controller )
4.WDDOINIT                                 ( View Controller )
5.WDDOMODIFYVIEW                   ( View Controller )
6.WDDOPOSTPROCESSING      ( Component Controller )

Now view is displayed . Suppose user does some action on the view:
7. WDDOAFTERACTION               ( View Controller )
8. WDDOBEFOREACTION           ( View Controller )
9. WDDOBEFORENAVIGATION  ( Component Controller )

WDDOINIT                                  ( View Controller ) is not called this time.


10.WDDOMODIFYVIEW                ( View Controller )
11.WDPOSTPROCESSING         ( Component Controller )

View is displayed again.Now close button is clicked on the browser.


12.WDDOEXIT                                ( View Controller )
13.WDDOEXIT                                ( Component Controller )
Application is closed.

1. WDDOINIT                                ( Component Controller )


2. WDDOINIT                                ( Window Controller )
3. WDDOINIT                                ( View Controller )
4. HANDLEDEFAULT ( Window Controller )
5. WDDOBEFORENAVIGATION ( Component Controller )
6. WDDOMODIFYVIEW ( View Controller)
7. WDDOPOSTPROCESSING ( Component Controller )

after interaction
8. WDDOBEFOREACTION           ( View Controller )
9. WDDOAFTERACTION               ( View Controller )
10. WDDOBEFORENAVIGATION  ( Component Controller )
11.WDDOMODIFYVIEW                ( View Controller )
12.WDPOSTPROCESSING         ( Component Controller )

once closed the window


13.WDDOEXIT                                ( View Controller )
14.WDDOEXIT                                ( Component Controller )

So now if you are being asked “What is called first: WDDOINIT or WDDOMODIFY?”  OR
“What is called first WDDOINIT for Window controller or WDDOINIT for View Controller”?
You should be able to answer such questions.

Question 14: If one view is called 10 times in the lifespan of a webdynpro component,
how many times will the method WDDOINIT be called and how may times will
WDDOMODIFYVIEW be called ?
WDDOINIT will be called only once.
WDDOMODIFYVIEW will be called 10 times.
WDDOMODIFYVIEW has a parameter FIRST_TIME. If this is ‘X’, then the view is getting
called first time.

Question 15: What are PRE POST and OVERWRITE exit methods in web dynpro?
Whenever a web dynpro component is enhanced, these 3 methods become available for
all methods in Webdynpro. Let’s take an example of these methods for WDDOINIT.PRE
exit: This method is called before WDDOINIT is called.
POST exit: This method is called after WDDOINIT is called.
OVERWRITE exit: In this case, WDDOINIT is not called. Instead, OVERWRITE exit
method is called.
Question 16:What is an Assistance class in webdynpro ABAP? Where do you define an
assistance class? How many assistance classes can a webdynpro component have?
Assistance class helps you achieve two things:
1) Segregation of business specific logic (one of the purpose of MVC).
2) Performance benefit.
We can write the business logic in the methods of the View, Window or even the
Component controller. But it is not a good practice to load all the business logic in the
views or windows. So SAP has provided an option of assistance class where you can
write all your business logic. By this way, you are still in the framework of your
webdynpro and also avoid loading too much logic in the components of webdynpro itself.
Assistance class methods are much better from a performance point of view than calls of
Web Dynpro controller methods. A web dynpro component will have only
one assistance class and it is defined at the component level as per the screenshot
below. The assistance class is automatically instantiated when a component is called.
You can access the instance of this class with the attribute wd_assist, which is created
when you create the assistance class in web dynpro.

Imp* 
Question 17: What is Singleton Property of a Context Node?
Understanding Singleton property of a context node and how it works in conjunction with
the lead selection event can be a bit complicated. If you do not already know what a
Singleton set is , I recommend you going through an example of Cars(Parent node with
cardinality 0..n ) and Customers ( Nested child node with cardinality 0…
n ) on Singleton Node by clicking on the link. This is not that tough , just spend some
time with it and you should be okay.
The best way to answer this question is by taking an example.
Say there are two ALV’s on a View:
ALV1 —> NODE_SO_HEADER—-> Displays all the Sales Orders.
ALV2 —> NODE_SO_ITEMS ——> Displays all the line items for the Sales Order selected
in ALV1.NODE_SO_ITEMS is the child node for NODE_SO_HEADER and is declared as
Singleton node.
Since this node is declared as singleton , at runtime , it holds the line item data only for
the Lead Selected Sales Order from NODE_SO_HEADER and not for all the Sales Orders
from the parent node.
Whenever the lead selection changes for the parent node, line item data for that lead
selected order is fetched from database and populated in the child node.

As a result great performance optimization is achieved.

I hope you get this one :).

Question 18: What is a supply function? When is it called?


You can assign a supply function to a context node when you create a node. In simple
terms, supply function is used to populate data records in the context node. A supply
function is called when one or more elements of the node are accessed for the first time.

 
Supply function in web dynpro

To give you an analogy, we all know that a constructor method of a class is called
whenever an object of that class is instantiated. In the same way, a supply function for a
context node is called when the node is accessed for the first time.

The supply function is generally used in combination with singleton nodes. So whenever
the lead selection of the parent node changes, the supply function of the singleton node
recalculates and repopulates the child node.

 Question 19: What is lead selection? Is it an event?


Yes , the lead selection is an event in web dynpro.
At run time a context node may contain many records , but only one of those is
selected .
The user can select any record from the Table/ALV and this selection is called lead
selection.
 
Lead Selection in Web Dynpro

Question 20: What is Cardinality of a context node?


Cardinality simply indicates the minimum and the maximum no. of entries the node can
have.
The 4 cardinalities are 0:1, 0:n, 1:1, and 1:n .
 
Question 21: Is there any relation between Cardinality and Lead selection?
Yes , If the cardinality is set to 0:1 or 1:1 , the user cannot select multiple records on
the view.
So if you want the user to be able to select multiple records on the screen , the
cardinality of that particular node must be set to 0:n or 1:n.

Question 22: Some important Web Dynpro attributes that you should know:
Some attribute in webdynpro that are used very frequently and some of those that you
must know are :
Wd_this
Wd_context
Each controller has the above two mentioned attributes.
To elaborate, if you are using the above two attributes say in a method of a View
Controller, then WD_CONTEXT is the reference to the Context node of the View and
WD_THIS is the reference to the View Controller itself.

Wd_comp_controller is the reference to the Component Controller. View and Window


controller have this attribute defined by default and methods/attributes of the
Component Controller can be accessed by using this attribute.
For example:

Wd_assist: This attribute is created when the assistance class is saved and activated
for a web dynpro component. All the methods of the assistance class can be accesses by
using this attribute.

Question 23: What are layouts in Web Dynpro ABAP?


Flow layout, Row Layout, Grid Layout, Matrix layout and the form layout.
The layout can be set at a Container level.
 

Question 24: Can you use multiple layouts in one view?


Layouts can be assigned at the container level. For example, you define the layout for
your view at the ROOTUIELEMENT container level.
So if at all you want to use multiple layouts in one view, you can create multiple
transparent containers and assign different layouts to them.

Question 25: How do you introduce line break for a UI element in any layout?
Say if you are using matrix layout, you will say Matrix Head data for the UI element for
which you need a line break.

Question 26:Can you call/launch one web dynpro application from another webdynpro
application?
Yes, you can launch one webdynpro application from another webdynpro application.
First, you should get the URL of the web dynpro component that you want to launch and
second, call that URL in an external window.
To get the URL of any web Dynpro component, you use the FM
CALL METHOD cl_wd_utilities=>construct_wd_url
EXPORTING
application_name = ‘ZDEMO’
IMPORTING
out_absolute_url = str.
Once you get the URL in str, you can call this web dynpro using ‘str’ and
fm: create_external_window.

Question 27: Can you create a Tcode for Webdynpro Application?

 
Creating Transaction code for Web dynpro ABAP

Yes, you can create a Tcode for webdynpro application. Go to SE93 , create Tcode,
choose the last option and maintain default values as shown in the screenshot:
Question 28: Can you pass parameters in a webdynpro URL?
Yes, you can pass parameters in webdynpro URL and read them too in your web dynpro
component.
Example: http://domainname.com:8000/sap/bc/webdynpro/sap/zdemo_webdynpro?
sap-language=EN&var1=4500000001&var2=00010

Question 29: How do you read parameters passed in the Web Dynpro URL?
First lets understand how a typical webdynpro application looks like:
When you create a web dynpro application , you can see the link URL generated by web
dynpro.
It will be something like:
http://domainname.com:8000/sap/bc/webdynpro/sap/zdemo_webdynpro?sap-
language=EN&sap-client=100.

Whatever comes after the ‘?’ and is followed by ‘&’ is an URL parameter. You can see
sap-language and sap-client as default parameters whenever you launch your web
dynpro in browser. The cool thing is you can add some custom variables
too. http://domainname.com:8000/sap/bc/webdynpro/sap/zdemo_webdynpro?sap-
language=EN&sap-client=100&var1=4500000001&var2=00010.
So var1 and var2 are custom webdynpro URL parameters and you can read them in
the HANDLEDEFAULT method of your main window:

Question 30: Can you run a Webdynpro Application in background?


This is a tricky question. It doesn’t make sense to run a webdynpro application in
background because in that case you are beating the purpose of the MVC controller
architecture for webdynpro. However, you can build logic to create background jobs from
a Web Dynpro Application. 
So we have by now put a bunch of questions here . Let me know how do you find these
questions.
We haven’t yet covered Web Dynpro component usage , ALV, Select Options , OVS , the
coding part in web dynpro, Web dynpro enhancements etc.

Question 31: What is Web Dynpro Component Usage?


Real world business scenarios are quite complex and may involve multiple Web Dynpro
Components.
While dealing with multiple WD components, you may come across a situation where you
need to reuse already developed parts of an existing Web dynpro component.The Web
Dynpro framework provides you with a technique called ‘Component Usage’, with the
help of which you can reuse the events, methods, and context of one WD component
into another WD component.
Standard examples of Component Usage: Select Options , ALV , OVS.
You declare component usage both at the Component and at the view levels:

@Component Level:

@View Level:

Question 32: Briefly explain how will you use implement Select Options in Web
Dynpro?
1) Declare Component Usage for Standard WD
component WDR_SELECT_OPTIONS both at component and view level.

2) Place a VIEWCONTAINER on your main view and embed the view


‘WND_SELECTION_SCREEN’ of component WDR_SELECT_OPTIONS in it.
 
3) Use the methods CREATE_RANGE_TABLE and ADD_SELECTION_FIELD for your
fields on Selection screen.
4) Use method GET_RANGE_TABLE_OF_SEL_FIELD to read user input before you do
a SELECT.

Question 33: What is the Web Dynpro Phase model?


Whenever a roundtrip occurs from the client (browser) to the server, a sequence of
processing steps is executed. This sequence of processing steps in web Dynpro is called
the ‘Phase Model’.
Executing all the tasks in the phase model is the responsibility of the Web Dynpro
framework.
Each step is executed only once and errors if any are captured.If you want to get into
the details , have a look at the webinar from Chris Whealy: Understanding the Web
Dynpro Phase model. 

Important
Question 34: What is OVS? Can you explain the different phases used in OVS?
First we should understand the difference between Value help and OVS i.e. object Value
Selector.
We use generic Value Help only for the field to which it is bound.
OVS is used when we want to populate multiple fields based on one field on the screen.

 
So as per the screenshot , If I select Userid from OVS help, First name and Last name
will be populated automatically. The standard component WDR_OVS is used for
implementing OVS.
OVS works on the PHASE MODEL and different tasks are performed during different
phases.
The current phase is indicated by the parameter PHASE_INDICATOR.

Phase 1:
In this phase you have the possibility to define the texts, if you do not want to use the
defaults: So You can play around with the highlighted texts in the screenshot below in
this phase.
Here we call the method ovs_callback_object->Set_Configuration
 
Phase 2:
If you do not want the filter fields, you can do that in this phase and the table will be
displayed directly. Refer screenshot below. The table is displayed directly. I have blurred
some results. Here you can call the method ovs_callback_object-
>Set_Input_Structure

 
Phase 3:
In this Phase, You write the select queries that should run as per user input when the
user hits ‘Start Search’ button and finally set the output table.You can call the
method ovs_callback_object->Set_Output_Table for that purpose.

Phase 4:
In this phase , you pass the selected record to the Web dynpro Fields.
i.e. set the attributes using  ovs_callback_object->context_element-
>Set_Attribute
 

 
Question 35: Briefly explain how will you implement ALV in Web Dynpro?
To implement ALV in Web Dynpro, you need to use the Standard WD
component SALV_WD_TABLE.
We need to use:
a) the view ‘TABLE’ of component SALV_WD_TABLE
b) the node ‘DATA’ of component SALV_WD_TABLE.
Here is the brief process:1) Declare component Usage for SALV_WD_TABLE at the WD
component level and the view level.
@ Component Level:

 
@ View Level:
 

2) Put a VIEWCONTAINER UI element on the MAIN view and ember the view ‘TABLE’ of
SALV_WD_TABLE into it.

 
3) Let’s say the ALV data is to be populated in NODE_FLIGHT.
Write the logic to select the ALV Data and bind it to NODE_FLIGHT:
node_flight_alv->BIND_TABLE( lt_node_flight_alv ).
4) Do a Context mapping between NODE_ALV and the node ‘DATA’ of
SALV_WD_TABLE.
 

Question 36: How to make columns in a table editable?


While doing the Binding for the Table, just choose ‘Input field’ instead of ‘Textview’.
Refer the Screenshot below:

Question 37: How will you delete selected rows in a Table / ALV?


Get the Table / ALV data in an internal table.
Delete the row selected by the user from the internal table.
Re-bind the internal table to the node bound to the Table/ALV.

Question 38: How do you generate POP UP in WD? 


This can be easily done using the Wizard:
The CREATE_WINDOW method is used in this case.

Question 39: How do you close a window in Web Dynpro?


There is a special outbound plug called ‘Exit Plug’ that can be used for this purpose.
wd_this->fire_to_exit_plg( url = url close_window = close_window ).

Also explore
other Plug Types:

I am going to add some more questions to part 3 :

Let me know if you need answers to the below questions by putting your comments
below:

Question 40: What is the difference between Drop down by key and drop down
by index ?

DDBK - If you want to fill your dropdown by using dictionary i.e., from domain use drop down by key.
DDBI - If you want to fill your dropdown by using context (cardinality 0-n) use drop down by index. In DDBI you
can also use domain values. That is the main difference.

Question 41: How do you display error / success / warning messages in Web


Dynpro ?

We ca generate the error/success/warning message from Code wizard. SAP has already
provided a standard functionality to generate the message from Code wizard option and
it automatically generates the code in the required methods.

Question 42: How do you access methods of component controller in a view?

By using the attributes WD_COMP_CONTROLLER, we can access methods of the


component controller.

Question 43: Have you worked on roadmap UI element ? Elaborate .

Question: What is dynamic ALV in web dynpro ?

Question: Can you have Totals and Subtotals in Web dynpro ALV ? How ?
Hint: First get the reference of the ALV. Then get the columns.
By looping at lt_columns , get to the required column.
Once you achieve this, check methods create_aggr_rule and create_sort_rule of the
class
cl_salv_wd_field.

Question: Can you have TOP OF PAGE and END OF PAGE ? How ?


Hint: Check TOP_OF_LIST and END_OF_LIST events.

Question: Have you worked on events in ALV in web dynpro? 


                  Which events do you know?

Question: Can you add custom buttons on Web Dynpro ALV toolbar ? How?
 

Question: Can you add custom buttons in Web Dynpro ALV cells ? How?

Question: Can you add Image / Icons in Web Dynpro ALV cells ? How?
How do you define and implement action handlers for them?

Question: Can you add links in Web Dynpro ALV cells ? How?  

I hope this blog helps you crack your web dynpro interview
1) Types of ABAP UI Technologies
Ans: Webdynpro for ABAP, BSP

2) MVC Architecture Concepts and usage of the same in ABAP Webdynpro


Ans: As per the MVC Architecture there is a clear separation between flow logic, view
and the Business
Logic. View holds all the UI elements that are visible in the UI, Controllers have the
flow logic. Controllers are of different kind (Component Controller, View Controller,
Window Controller). Business logic is held in the Model which is in the form of
Assistance class in webdynpro context.

3) Difference between the View Container and the Transparent Container


Ans: View Container holds the views, there can be multiple views assigned to the
view container but only one view can be active (viewed) at a time. Transparent
holds the webdynpro UI elements, A layout type can be associated with it.

4) What does a Model Class Consists of


Ans: Model Class is the Assitance class in webdynpro. It contains the Business logic
in the form of methods, Global data & Constants in the form of Class Attributes. The
Model class can be accessed in webdynpro component using the attribute wd_assist-
>. Note: All the visibility properties of the Class are applicable when accessing the
class using the object wd_assist.

5) What is an Assistance Class and how is it Instantiated in Webdynpro


Ans: Assistance Class is the model class which would act as the data provider for
the webdynpro component and it is instantiated by the webdynpro component
during the run time and no explicit instantiation is required.

6) Design Patterns in Webdynpro(GAF,OIF,QAF Etc)


Refer to the link:
FPM Concepts in Webdynpro

7) How do you debug an web based Application


(Could be from ABAP Webdynpro, BSP or CRM Web UI)
Ans: External break-points should be used to debug web UI's.

8) How do you create a ALV Report/Editable ALV in Webdynpro


Ans: ->Add the Standard ALV component to the web dynpro Component.
->Use Components tab: Ex: ALV_MATS type SLV_WD_TABLE
->Create a context node with the table field information to be displayed
->Write the ALV Default Code for table display
->Set the read only attribute to false to switch to editable mode using
the method set_read_only of the interface
IF_SALV_WD_TABLE_SETTINGS implementing class
CL_SALV_WD_CONFIG_TABLE).

9) How do you Navigate between Views in Webdynpro


Ans: Navigation between Views is through Plugs(Inbound and Outbound),

10) Usage of Plugs in Webdynpro


Ans: Plugs are used to Navigate between the views. Parameters can be passed
using the plugs similar to interface parameters of function module or a class
method.

11) Usage of Webdynpro Component Controller


Ans: Component controller is used to the store the Global attributes and Methods of
the component.
Attributes/methods declared in the component controller are visible throughout the
component and they are accessed using the attribute wd_comp_controller outside
of component controller(like views, windows etc) All the context nodes defined in
the component controller are visible in all the views and windows of the component.
Ex: if a variable called gv_count is defined in the component controller, it can be
accessed in the view using the syntax wd_comp_controller->gv_count.

12) How do you access a Context Nodes and elements Programmaticall.


Code required for accessing the Context Nodes can be written using the webdynpro
code wizard.
For Ex: if there exists a Node Node1 with cardinality 1:1 and has 3 Attributes to it
Att1, Att2,Att3. The
attributes can be accessed using the below code.

data: lo_nd_node1 type ref to if_wd_context_node.


data: lo_el_node1 type ref to if_wd_context_element.
data: ls_node1 type wd_this->element_node1.

lo_nd_node1 = wd_context->get_child_node
( name = wd_this->wdctx_node1 ).
lo_el_node1 = lo_nd_node1->get_element( ).

**Read Node1
lo_el_node1->get_static_attributes(
importing
static_attributes = ls_node1 ).

**Write to Node1
lo_el_node1->set_static_attributes(
exporting
static_attributes = ls_node1 ).

13) Message Areas in Webdynpro


Message areas are created in views to display messages Error, Success, Warning,
Info). WD allows to have multiple Message errors in a view but throws an error when
the view is displayed.
Use the code wizard to get code for raising error messages. Few of the message
classes and methods are: Interface: if_wd_message_manager.
methods: report_t100_message.(used to report message from the message class)

14) Concept of OTR(Online Text Repository) and its Usage


OTR's are similar to text elements in ABAP. OTR's are created for
UI texts and texts can be maintained in multiple language.
OTR's can be created using the transaction: SOTR_EDIT

15) Concept of Interface Views


If the views of a different components are need to be used in a webdynpro
component mark the view as interface view and use it in another component. It's
similar to using an include in a program. An Interface view of the component can
be used in any no of components. this concept supports the reusuability of
the views.

16) Sequence of Webdynpro Events:


Ex: WDDOINIT,WDMODIFYVIEW,WDAFTERACTION,
WDBEFOREACTION etc
Sequence: WDDOINIT of the component controller,
WDDOINIT of the Window Controller,
WDDOINIT of the View Controller,

WDMODIFYVIEW(On Input/Display on any UI Element).


WDBEFOREACTION(Method for validation of user input,
Once the user action happens on the UI)
WDAFTERACTION(Method for non-action specific operations
before Navigation)
WDDOEXIT( Exit from the View/Window/Component Controller)
WDPOSTPROCESSING(used to perform exception handling for supply function
methods)
17) Can a Component have Multiple Applications
Yes, For a given webdynpro component any no of applications can be created.
Applications are similar to transactions in SAP. You can associate different Interface
views of the component to create different applications using the same component.

18) How do you launch a Webdynpro Application from a Transaction


Refer to the previous blog Calling webdynpro application from a Transaction
URL: http://sapabapwebdynpro.blogspot.com/2011/04/call-abap-webdynpro-
application-from-r3.html

19) How do you Navigate between two Webdynpro Components


You can use Interface views to navigate between components or create a navigation
class and do an explicit call.

20) Creating a tree in Webdynpro


Tree UI element is used to create Tree in Webdynpro. Tree can be defined as part of
the table column.

21) Usage of Exit Plug in a Webdynpro Window


Exit plugs are outbound plugs used to close the webdynpro application. they can be
called from the view which are embedded in the window Note: Exit plugs won't work
in portal environment.
Exit plugs can also be used to pass the call to another URL. Here is the sample code
snippet of the exit
plug call:
method onexit .

data url type string.


data close_window type wdy_boolean.
url = 'url_name'.
close_window = abap_false.
wd_this->fire_to_exit_plg( url = url close_window = close_window ).
endmethod.

22) why FQDN(Frequently Qualified Domain Name) is necessary for running Webdynpro
Applications
Refer to sap help:

http://help.sap.com/saphelp_erp2005/helpdata/en/67/be9442572e1231e10000000a155
0b0/content.htm
21) Standard ALV Component required to create ALV Reports in Webydnpro
SALV_WD_TABLE

22) How do you build Select Options in Webdynpro


Using the standard webdynpro component WDR_SELECT_OPTIONS
You can refer to the example: WDR_TEST_SELECT_OPTIONS
23) How do you build F4 Search Help in Webdynpro
A F4 help for an input field can be made available by attaching the search help
to the table field. Usage of standard help component WDR_OVS. Creating a component
for help and attaching it to the node element as Freely programmed value help

24) How are Plugs(Inbound/Outbound) bounded in the Window


Plugs are created in the view and bounded in the window by using the drag drop
option in the window.

25) How do you Control the visibility of the Webdynpro UI elements Programmatically.
Create a context element of type wdui_visibility and bind to the visibility property of
the UI element.

26) What is the use of Interface views/nodes in Webdynpro.


Interfaces nodes and views are created to use them in other webdynpro
components.

27) How do you navigate between different Webdynpro applications


Create a navigation class and trigger the target application to be called.

28) What are the webdynpro init events and what is the sequence of trigger

Sequence: WDDOINIT of the component controller,


WDDOINIT of the Window Controller,
WDDOINIT of the View Controller,

30) What is an OTR and mention its usage in Webdynpro


Online Text Repository is the central storage for texts for webdynpro
applications. An otr can be fetched in the program using the below mentioned code.

data: lv_string type string.


lv_string = cl_wd_utilities=>get_otr_text_by_alias( alias =
'PACKAGE/OTR_NAME' ).

31) Can text elements be used in webdynpro, if yes how?


Yes text elements can be used in webdynpro.
Refer to the below code snippet.
data: lv_string type string.
lv_string = wd_assist->if_wd_component_assistance~get_text( '025' ).

32) What is the use of Road Map UI element


Roadmap UI element is used to display step-by-step workflows. It can used to
clearly define a process.

34) Is it possible to hide F4 function for an Input element programmatically?


Yes it is possible to hide F4 function attached to an input field.Use the interface
if_wd_context_node_info and the method set_attribute_value_help

35) How do Webydnpro Upload and download functions work, Explain.


Fileupload UI element is used upload files from desktop the application.
There is also restriction on the max data volumes that can be uploaded.
Filedownload UI element is used to download files to the client.

36) Explain the concept of Road Map UI element in Webdynpro.


Refer to the link: Road map UI element webdynpro for abap
37) How to create popups in webdynpro.
Create a view and embed the view in the window and call the window to trigger the
popup.

38) Explain the concept of OVS and its usage


WDR_OVS is the standard webdynpro component to generate F4 helps
for the input field. OVS refers to Object value selector.

39) Using Radio Buttons/Checkboxes/Dropdown lists in webdynpro


Radio buttons/Checkboxes are used for objective selection similar to what is
available in SAP GUI. An event is associated with each UI element for onclick action.

40) FPM Concept and its usage in webdynpro.->>>>Refer to the link

41) what is internationalization in webdynpro abap application?


Internalization refers to creation of texts used in webdynpro application in a specific
language and providing option to translate to multiple languages if necessary. This is
achieved by using OTR's or text elements for static texts and performing translation
when required.

42) What is Cardinality of a context node in webdynpro


Cardinality refers to no of elements a node can accomodate during run time. When
a node is created the
cardinality is assigned to it. Cardinality is of the following kinds:
0:1 -->At run time, no element or maximum one element can be instantiated
0:n -->At run time, no element or maximum of n elements can be instantiated
1:n -->At run time, minimum one element or maximum of n elements can be
instantiated
1:1 -->At run time, only one element should always be instantiated
if you try violating the cardinality there would be a short dump saying Number of
elements of the collection of node node_name violates the cardinality

43) what is Personalization in abap webdynpro application


Personalization refers to changing the properities of UI elements at runtime.
Personalization settings are user specific. Configuration controller is used for
personalization function.
ex: Changing the order of columns in a table display.

44) what are the controller types in webdynpro ABAP


-Component Controller->Component Controller is global part of the component and
each component has only one component controller. Global Attributes and
methods required by the component can be defined here.

-Custom Controllers->Custom controllers are defined during design time and these
are optional. The visibility Custom controllers is in the entire component and has
the life time equal to life time of the component. Custom controllers are used if a
set of views have to be grouped to perform a special function or hold a set of data.

-View Controller->Flow logic of the views are in view controller and a view can
have only one view controller. The visibility of View controller is specific to view
only.

-Configuration Controller->Configuration controller is used achieve personalization


function.
-Window Controller->A window controller exists for each window and can also
have methods
to write coding logic. Every window will have the default method and it is used to
receive parameters. The windows controllers are visible in entire component and
also in the custom controller.

45)what are Layout types in Webdynpro and its usage


->Flow Layout : Used for sequential display of WD UI elements.
->Row Layout : here each ui element is displayed on its own column and the
width differs from row to
row.Rowheaddata is used to insert a break.
->Grid Layout : Ui elements are arranged based the no of columns. line breaks
are inserted based on
the size.
->Matrix Layout: Matrix layout arranges ui elements in columns. Matrixheaddata is
used to insert a line
break.
Usage of the appropriate layout to build a webdynpro application is determined
during the UI
design.

46)what is supply function method in SAP


->Supply function method is used to populate the context node or to default
values to the context
node elements. supply function method is called before the node is accessed for
first read.
->Using supply function method is optional

47)what is singleton property of context node


->Singleton property is one of the attributes of the context node if this is set there
can be only one
instance of the respective context node at runtime.

48)How to default a value to the context attribute


In the context attribute there is a property to set the default value. Use the same,
However the
default value can be overwritten using the set_attribute method of the interface
if_wd_context_element.

49)Is it possible to pass parameters to webdynpro URL?


yes you can pass parameters to webdynpro URL and it is passed as below.
for ex: your url is http://server.com/wd_url_name?sap-system-login-
basic_auth=X&sap-client=800&sap-
language=E
Here the parameter values are passed for sap-system-login-basic_auth,sap-client
and sap-language.

You might also like