BC412
ABAP DialogProgramming Using
EnjoySAP Controls
.
.
COURSE OUTLINE
.
Course Version: 18
Course Duration:
SAP Copyrights and Trademarks
© 2018 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any
purpose without the express permission of SAP SE or an SAP affiliate company.
SAP and other SAP products and services mentioned herein as well as their
respective logos are trademarks or registered trademarks of SAP SE (or an SAP
affiliate company) in Germany and other countries. Please see http://
[Link]/corporate-en/legal/copyright/[Link] for additional trademark
information and notices.
Some software products marketed by SAP SE and its distributors contain proprietary
software components of other software vendors.
National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for
informational purposes only, without representation or warranty of any kind, and SAP
SE or its affiliated companies shall not be liable for errors or omissions with respect
to the materials. The only warranties for SAP SE or SAP affiliate company products
and services are those that are set forth in the express warranty statements
accompanying such products and services, if any. Nothing herein should be
construed as constituting an additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any
course of business outlined in this document or any related presentation, or to
develop or release any functionality mentioned therein. This document, or any related
presentation, and SAP SE’s or its affiliated companies’ strategy and possible future
developments, products, and/or platform directions and functionality are all subject
to change and may be changed by SAP SE or its affiliated companies at any time for
any reason without notice. The information in this document is not a commitment,
promise, or legal obligation to deliver any material, code, or functionality. All forward-
looking statements are subject to various risks and uncertainties that could cause
actual results to differ materially from expectations. Readers are cautioned not to
place undue reliance on these forward-looking statements, which speak only as of
their dates, and they should not be relied upon in making purchasing decisions.
Typographic Conventions
American English is the standard used in this handbook.
The following typographic conventions are also used.
This information is displayed in the instructor’s presentation
Demonstration
Procedure
Warning or Caution
Hint
Related or Additional Information
Facilitated Discussion
User interface control Example text
Window title Example text
© Copyright. All rights reserved. iii
iv © Copyright. All rights reserved.
Contents
vii Course Overview
1 Unit 1: Introduction to EnjoySAP Controls
1 Lesson: Introduction to EnjoySAP Controls
3 Unit 2: Control Framework Basics
3 Lesson: Control Framework Basics Overview
3 Lesson: Controls and Screens
3 Lesson: Changing the Properties of a Control
3 Lesson: Automation Queue
3 Lesson: Control Events
5 Unit 3: SAP Container
5 Lesson: The Container Concept
5 Lesson: SAP Custom Container Control
5 Lesson: SAP Dialog Box Container Control
5 Lesson: SAP Docking Container Control
6 Lesson: SAP Splitter Container Control
6 Lesson: SAP Easy Splitter Container Control
7 Unit 4: Context Menus
7 Lesson: Context Menus
9 Unit 5: Text Edit Control
9 Lesson: Text Edit Control
11 Unit 6: SAP Grid Control
11 Lesson: SAP Grid Control - Introduction
11 Lesson: Transporting Data and Additional Information
11 Lesson: Adapting the Grid Layout
11 Lesson: Events
13 Unit 7: Tree Control
13 Lesson: Tree Control - Introduction
13 Lesson: Tree Control - Creating a Tree Control Instance
13 Lesson: Tree Control - Creating a Hierarchy
13 Lesson: Tree Control - Additional Functions of the Tree Model
14 Lesson: Tree Control - Events
14 Lesson: Tree Control - Additional Data in the Column and List Trees
© Copyright. All rights reserved. v
15 Unit 8: Drag and Drop Functions
15 Lesson: Drag and Drop Functions
17 Unit 9: Including Different Controls in Complex User Dialogs
17 Lesson: Including Different Controls in Complex User Dialogs
vi © Copyright. All rights reserved.
Course Overview
TARGET AUDIENCE
This course is intended for the following audiences:
● Application Consultant
● Development Consultant
● Developer
© Copyright. All rights reserved. vii
viii © Copyright. All rights reserved.
UNIT 1 Introduction to EnjoySAP
Controls
Lesson 1: Introduction to EnjoySAP Controls
Lesson Objectives
After completing this lesson, you will be able to:
● Name the objectives of the EnjoySAP initiative
● Use an ALV Grid Control in a simple report
© Copyright. All rights reserved. 1
Unit 1: Introduction to EnjoySAP Controls
2 © Copyright. All rights reserved.
UNIT 2 Control Framework Basics
Lesson 1: Control Framework Basics Overview
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the Control Framework architecture
Lesson 2: Controls and Screens
Lesson Objectives
After completing this lesson, you will be able to:
● Work with controls and screens
● Explain the relationship between screen, container, and EnjoySAP control
● Display data in an SAP Picture control and SAP HTML Viewer on a screen
Lesson 3: Changing the Properties of a Control
Lesson Objectives
After completing this lesson, you will be able to:
● Change the properties of a control
Lesson 4: Automation Queue
Lesson Objectives
After completing this lesson, you will be able to:
● Understand how the actions are transferred to the presentation server
● Describe the Automation Queue and its runtime performance
Lesson 5: Control Events
Lesson Objectives
After completing this lesson, you will be able to:
© Copyright. All rights reserved. 3
Unit 2: Control Framework Basics
● Describe the events triggered by the EnjoySAP Controls and learn the steps necessary to react to
them
4 © Copyright. All rights reserved.
UNIT 3 SAP Container
Lesson 1: The Container Concept
Lesson Objectives
After completing this lesson, you will be able to:
● Use Container Controls
● Present the inheritance hierarchy of the Container Classes
● Describe the graphical visualization of Containers
Lesson 2: SAP Custom Container Control
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the Custom Container features
● Create an instance of the SAP Custom Container Control
● Relink an SAP Custom Container
Lesson 3: SAP Dialog Box Container Control
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the Dialog Box Container features
● Create an instance of the SAP Dialog Box Container Control
● Close the SAP Dialog Box Container
Lesson 4: SAP Docking Container Control
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the Docking Container features
● Attach the SAP Docking Container to the screen
● Create an instance of the SAP Docking Container Control
© Copyright. All rights reserved. 5
Unit 3: SAP Container
● Read and set the attributes
● Relink the SAP Docking Container
Lesson 5: SAP Splitter Container Control
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the Splitter Container features
● Create an instance of the SAP Splitter Container Control
● Use the SAP Splitter Container
● Find a cell reference
● Read and set attributes
Lesson 6: SAP Easy Splitter Container Control
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the Easy Splitter Container features
● Create an instance of the SAP Easy Splitter Container Control
● Use the SAP Easy Splitter Container
6 © Copyright. All rights reserved.
UNIT 4 Context Menus
Lesson 1: Context Menus
Lesson Objectives
After completing this lesson, you will be able to:
● Describe how context menus work with EnjoySAP Controls
● Create context menus for EnjoySAP Controls
● Process functions selected in context menus
© Copyright. All rights reserved. 7
Unit 4: Context Menus
8 © Copyright. All rights reserved.
UNIT 5 Text Edit Control
Lesson 1: Text Edit Control
Lesson Objectives
After completing this lesson, you will be able to:
● Exchange data with the Text Edit Control
● Adapt the local context menu of the Text Edit Control to your own application
● Process functions selected in context menus
© Copyright. All rights reserved. 9
Unit 5: Text Edit Control
10 © Copyright. All rights reserved.
UNIT 6 SAP Grid Control
Lesson 1: SAP Grid Control - Introduction
Lesson Objectives
After completing this lesson, you will be able to:
● Name the default functions of the SAP Grid Control
● Describe the screen layout of the SAP Grid Control
● Describe the data area layout of the SAP Grid Control
● Describe the print list layout of the SAP Grid Control
● Understand the technical view of the SAP Grid Control
Lesson 2: Transporting Data and Additional Information
Lesson Objectives
After completing this lesson, you will be able to:
● Pass list data, the field catalog, and additional information to the SAP Grid Control instance
● Work with layout variants in a SAP Grid Control
Lesson 3: Adapting the Grid Layout
Lesson Objectives
After completing this lesson, you will be able to:
● Fill and pass the layout structure of the SAP Grid Control
● Explain the purpose of the field catalog
● Add columns to or change columns of the SAP Grid Control
● Handle colors of rows and cells in the SAP Grid Control
● Suppress standard functionality of the toolbar
Lesson 4: Events
Lesson Objectives
After completing this lesson, you will be able to:
© Copyright. All rights reserved. 11
Unit 6: SAP Grid Control
● Explain how events are triggered and how they can be handled
● Identify existing events
● Create and register an event handler method
● Add new functionality to the standard toolbar
● Enhance the print list by means of event handling
12 © Copyright. All rights reserved.
UNIT 7 Tree Control
Lesson 1: Tree Control - Introduction
Lesson Objectives
After completing this lesson, you will be able to:
● Name the different types of Tree Control and describe their main features
Lesson 2: Tree Control - Creating a Tree Control Instance
Lesson Objectives
After completing this lesson, you will be able to:
● Display data in the different Tree Control variants
● Create hierarchies
● Integrate additional data if necessary
● Create an instance of the SAP Easy Splitter Container Control
● Use the SAP Easy Splitter Container
Lesson 3: Tree Control - Creating a Hierarchy
Lesson Objectives
After completing this lesson, you will be able to:
● Create a hierarchy in a simple tree
● Explain types of relationships
● Pass node entries
Lesson 4: Tree Control - Additional Functions of the Tree Model
Lesson Objectives
After completing this lesson, you will be able to:
● Print the Tree contents
● Search in the Tree
● Create an application toolbar
© Copyright. All rights reserved. 13
Unit 7: Tree Control
Lesson 5: Tree Control - Events
Lesson Objectives
After completing this lesson, you will be able to:
● Name some of the events raised by the Tree Control
● Find the application data belonging to the node raising the event
Lesson 6: Tree Control - Additional Data in the Column and List
Trees
Lesson Objectives
After completing this lesson, you will be able to:
● Use the additional functions of the Tree Model Classes
14 © Copyright. All rights reserved.
UNIT 8 Drag and Drop Functions
Lesson 1: Drag and Drop Functions
Lesson Objectives
After completing this lesson, you will be able to:
● Use drag and drop functions
● Describe the technical sequence of a drag and drop procedure
● Implement copying procedures between different control objects or sub-objects
● Implement move procedures between different control objects or sub-objects
© Copyright. All rights reserved. 15
Unit 8: Drag and Drop Functions
16 © Copyright. All rights reserved.
UNIT 9 Including Different Controls in
Complex User Dialogs
Lesson 1: Including Different Controls in Complex User Dialogs
Lesson Objectives
After completing this lesson, you will be able to:
● Name the benefits and uses of some classic screen elements
● Name the benefits and uses of some control-based screen elements
● Choose and implement the right classic or control-based dialog programming technique for the task
on hand
● Combine classical and control-based screen elements in the same program - that is, implement the
interaction between them
© Copyright. All rights reserved. 17