38
1 | Page SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

  • Upload
    vuduong

  • View
    279

  • Download
    1

Embed Size (px)

Citation preview

Page 1: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

1 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 2: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

2 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 3: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

3 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 4: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

4 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 5: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

5 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 6: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

6 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 7: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

7 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 8: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

8 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 9: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

9 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 10: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

10 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 11: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

11 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 12: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

12 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 13: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

13 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 14: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

14 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 15: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

15 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 16: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

16 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 17: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

17 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 18: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

18 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 19: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

19 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 20: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

20 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 21: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

21 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 22: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

22 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 23: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

23 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 24: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

24 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 25: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

25 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 26: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

26 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 27: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

27 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 28: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

28 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 29: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

29 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 30: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

30 | P a g e

SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2

KIDS Information Center INd_rasN

Page 31: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

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

Page 32: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

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.

Page 33: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the 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:

-

Page 34: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

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

Page 35: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

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

Page 36: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

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.

Page 37: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

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)

Page 38: SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 · PDF file33 | P a g e SAP ABAP WORKBENCH CONCEPTS PART 1 AND 2 KIDS Information Center INd_rasN - Inteface references can call only the interface

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.