1 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
2 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
3 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
4 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
5 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
6 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
7 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
8 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
9 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
10 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
11 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
12 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
13 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
14 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
15 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
16 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
17 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
18 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
19 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
20 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
21 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
22 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
23 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
24 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
25 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
26 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
27 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
28 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
29 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
30 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
31 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
22nd March 2017 (Wednesday)
2. how program exits help enhancement and how they are different from user exits?
component editing
activation of enhancement projects
project transportation
Project Transportation
//Program exits - we can create our own function / module
//User exits - we cannot create our own function; it has predefined empty function.
Program exits:
Program exits allow customers to implement additional logic in application functions.
SAP - Definition
Customer - Source code
Program exits have no effect until the enhancement project is activated.
SAP application programmers define the function module call using the ABAP statement CALL
CUSTOMER-FUNCTION 'NNN', where 'NNN' is a three-digit number. SAP application programmers
also create the corresponding function module and function group.
The CALL CUSTOMER-FUNCTION statement is executed only when the enhancement is activated.
FINDING PROGRAM EXITS.
Determining whether an application program offers a program exit:
1. Search within a single dialog program during execution. [ Choose System -> Status]
2. Use search tools - on the right hand side of the graphic.
.. Package (also try generic entries)
.. Technical name of the enhancement
32 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
TO EDIT PROGRAM EXITS
1. Execute transaction CMOD to use the Project Management function
2. Choose radio button for editing components to go directly to the function module editor.
3. Double click the object (include program). when it opens you can enter the source code.
23rd March 2017 (Thursday)
CLASSIC BUSINESS ADD-INS
- To use BAdIs in SAP, we need to understand the ABAP Object interface.
- Object is the instance of the class.
- Static components are static attributes and methods.
- An interface is the collection of the formally defined function without any coding. An interface can
be integrated with class of the interface.
- Interfaces are created during runtime, and therefore have no name. call the instance over
reference variable (pointer), which refers to the instance.
- Define a reference variable with additional specification REF TO <class>
Definition of the reference variable
DATA my_pointer TYPE REF TO cl_flight_booking.
Creating an object
CREATE OBJECT my_pointer [EXPORTING .. ].
Calling an instance method using reference variable
CALL METHOD my_pointer->get_flight_booking [...].
Calling a class method using class prefix
CALL METHOD cl_flight_booking=>get_n_o_booking [...].
- There is no way to instantiate an interface because interfaces do not have coding. Therefore, we
cannot use the statement CREATE OBJECT to a reference that is defined to an interface.
33 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
- Inteface references can call only the interface components of an object of the implementing class.
- The advantages of BAdIs:
1. A BAdI is reusable;
2. A BAdI can be implemented many times, even by parties further towards the end of the
software delivery chain.
3. A BAdI enables each party in the software delivery chain to offer enhancements.
SAP -> IBU -> Partner -> [..] -> Customer
29th March 2017 (Wednesday)
- BAdI can contain the following components:
- Program enhancements
- Menu enhancements
- Screen enhancements
- Components created when a BAdI is defined:
- Inerface
- Generated class (the BAdI class) that implements the interface.
- Generated class perform the following tasks:
- Filtering
- Control
- Calling BAdI :
DATA r_var TYPE REF TO <badi-interface>.
- BAdI Identification: CL_EXITHANDLER
- spro - for searching string in BAdI
- /nSE81 - transaction to follow the steps specified to find BADI
- A default implementation is executed whenever on active implementation of a BAdI exists. The
enhancement provider can create a default implementation.
- To create a default implementation: Goto --> Default code
- Naming Conventions:
-
34 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
Q1. Is it possible to create Business Add-Ins without object oriented concept? Justify.
- No, it is not possible to create BAdIs without Object Oriented concept because a class is needed to
implement the interface and define there. Moreover, object is instantiated to call the interface that
define inside the class.
Q2. In one line, define the role of program exits to implement Business Add-Ins.
- The role of program exits is to return to the main application program from the BAdI execution
program.
MODIFICATION OF THE SAP STANDARD
- SAP Standard :
- Personalization
- Modification
- Enhancement
- An object is original in only one system. The original system belongs to SAP.
- In customer systems, these objects are only available as copies.
- The objects that we are created are original in our development system.
5th April 2017 (Wednesday)
- Changes to an original object are called corrections. Corrections are recorded in a change request.
- Repairs to SAP objects are called modifications.
- We cannot do changes with SAP objects as they are not original in our systems.
- Conflicts occur when you change any SAP object and SAP also delivers a new version of it, which
then becomes active in the repository.
-
multiple spots / multiple sections
SAP provides - adding new features / modify the code
35 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
add or change the code in enhancement points
make changes in the software
hard coded - cannot be changed
6th April 2017 (Thursday)
Enhancement Points, Enhancement Options and Enhancement sections
- SAP created the new Business Add-In (BAdI) technology for performance reasons.
- BAdIs that have been created using the new technology are grouped together and managed using
enhancement spots.
- Implicit enhancements points do not always require preparation from SAP.
- Enhancement implementations are performed on a separate software layer.
- SAP offers enhancement points and sections within enhancement spots. Enhancement spots can
be combined by SAP into composite enhancement spots.
- Explicit enhancement points are provided by SAP and allow you to enhance SAP source code by
inserting our own logic, without making modifications.
- It is possible that more than one enhancement implementation may have created for an
enhancement section.
- Only one implementation for an enhancement section can be executed at runtime. To enable one
specific implementation, it is necessary to use Switch Framework.
- Conflict situation where the system does not know which implementation to execute.
- The sequence in which the implementations are executed is not predefined. Therefore,
dependencies or conflicts must avoid.
- Implicit enhancement points provide with the option to insert additional source code at certain
points, and methods, without making modifications and without explicit preparation by SAP
developers.
13th April 2017 (Thursday)
BUSINESS ADD-INS (BAdIs)
- BAdIs Program Exits
- BAdIs Menu Exits
- BAdIs Screen Exits
36 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
* Enhancement Spots
* Classic BAdIs
* SAP BAdIs definition - SE18
* BAdI Implementation - SE19
* When the GET_INSTANCE static method of the standard class CL_EXITHANDLER is called, an
instance of the adapter class (BAdI instance) is created.
* New BAdI technology works similarly to classic BAdIs.
* At runtime of the application program, the system generates a BAdI handle in the kernel, which
performs the same function as the adapter class and calls the available implementation methods
more efficiently.
* To use a BAdI, you must create an enhancement implementation that is an implementation of the
higher-level enhancement spot.
* Menu Exits provide customers with the option to implement additional menu entries, which
trigger custom code on SAP screens.
20th April 2017 (Thursday)
Introduction to Web Dynpro
- Web Dynpro applications are built using declarative programming techniques based on the Model
View Controller (MVC) paradigm.
- A standard runtime framework generates all the codes to create the UI automatically. This relieves
you of the repetitive coding tasks involved in writing the HTML and making it interactive with
JavaScript.
- Object Navigator transaction code - SE80
- Examples of reuse components:
* Methods of classes defined in your system.
* Function modules defined in your system or (through RFC) in back-end system.
* Web services through a Web service client object.
- The best way to have reusable entities encapsulating business logic is to create global ABAP classes
containing the source code.
- The main goal of Web Dynpro is to enable application developers to create powerful Web
applications with minimal efforts, using descriptive tools in a structured design process.
- Web Dynpro components are containers for other entities related to a UI and a Web Dynpro
program.
37 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
- Entities related to the UI are windows and views. A view can be embedded in any number of
windows.
- The Web Dynpro source code is located in Web Dynpro controllers.
- Global variables of controllers are defined as controller attributes.
- Addressing the Web Dynpro Components:
* By using Web Dynpro application
* When reusing a Web Dynpro components as a subcomponent.
- Connecting the values of UI elements that allow user input to the context attributes of the
corresponding controller is called data binding.
- Referencing the variables defined in a Web Dynpro controller from other Web Dynpro controllers is
called context mapping.
- Context mapping allows you to share common data between different controllers.
- Data binding is the means by which data is automatically transported to and from a UI element in
its layout.
- The data binding process separates the UI element object from the application code in the view
controller.
26th April 2017 (Wednesday)
- Meta Model Declaration: Already declared data like Days, Months which are fixed and can be used
using ComboBox, dropdown instead of textbox.
- MVC: Model - Database layer/Business Logic
View - User layer/Flow Logic
Controller - control of data flow between Model and View
- Plug
- Custom Controller: Need to describe as it will consider
- Web Dynpro components:
* Windows (Navigation, View combination)
* Views (UI, Layout)
* Component Controller (Flow control)
- Web Dynpro controllers includes the Web Dynpro source code.
- Navigation between views is triggered by firing outbound plugs. Multiple outbound plugs can be
fired from one view which ones are used determined the next UI. (way to communicate between
two view controllers)
38 | P a g e
SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2
KIDS Information Center INd_rasN
- Inbound plugs have special event handler methods that subscribe to the navigation events raised
when outbound plugs are fired.
- Outbound and inbound plugs are joined together using navigation links.
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
1. Explain in brief how controller reciprocate model and view.
2. Differentiate between window and view controller.
3. Write the role of Application Server in web drypro applications.
4. What do you understand by context (mapping) and data binding.
5. Write down the one-line description of System hook method with their context.
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
2. View contains UI elements, such as input fields and buttons. The possible combinations of views
and flow between the views are defined in a window. A window can contain any number of views. A
view can be embedded in any number of windows.
5. Before the controller lifecycle may come to end, is the only place to modify the existing view
elements or to create a new element. The various UI elements i the screen you can access by the
parameter view.
Top Related