BC400
ABAP Workbench Foundations
.
.
COURSE OUTLINE
.
Course Version: 18
Course Duration:
SAP Copyrights, Trademarks and
Disclaimers
© 2020 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://
global12.sap.com/corporate-en/legal/copyright/index.epx 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 may have been machine translated and may contain grammatical
errors or inaccuracies.
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: Flow of an ABAP Program
1 Lesson: Describing the Processing of ABAP Programs
3 Unit 2: ABAP Workbench
3 Lesson: Introducing the ABAP Workbench
3 Lesson: Organizing ABAP Development Projects
3 Lesson: Developing ABAP Programs
3 Lesson: Finalizing ABAP Development Projects
5 Unit 3: Basic ABAP Language Elements
5 Lesson: Defining Elementary Data Objects
5 Lesson: Using Basic ABAP Statements
5 Lesson: Analyzing Programs with the ABAP Debugger
7 Unit 4: Modularization Techniques in ABAP
7 Lesson: Explaining Modularization
7 Lesson: Defining and Calling Subroutines
7 Lesson: Calling Function Modules
7 Lesson: Creating Function Modules
7 Lesson: Describing Business Application Programming Interfaces
(BAPIs)
8 Lesson: Calling Methods of Global Classes
8 Lesson: Creating Global Classes and Static Methods
8 Lesson: Using Local Classes
9 Unit 5: Complex Data Objects
9 Lesson: Using Structured Data Objects
9 Lesson: Using Internal Tables
11 Unit 6: Data Modeling and Data Retrieval
11 Lesson: Explaining Data Models
11 Lesson: Retrieving Single Database Records
11 Lesson: Retrieving Multiple Database Records
11 Lesson: Describing Other Aspects of Database Access
12 Lesson: Implementing Authorization Checks
© Copyright. All rights reserved. v
13 Unit 7: Classic ABAP Reports
13 Lesson: Implementing ABAP Lists
13 Lesson: Implementing Selection Screens
13 Lesson: Implementing Events of ABAP Reports
15 Unit 8: Screens
15 Lesson: Creating Screens
15 Lesson: Creating Input and Output Fields
15 Lesson: Implementing Data Transport
17 Unit 9: SAP List Viewer
17 Lesson: Using the SAP List Viewer
19 Unit 10: Web Dynpro ABAP
19 Lesson: Describing Web Dynpro ABAP
19 Lesson: Implementing Navigation in Web Dynpro
19 Lesson: Implementing Data Transport in Web Dynpro
21 Unit 11: Program Analysis Tools
21 Lesson: Improving the Quality of ABAP Code with the Code
Inspector
23 Unit 12: ABAP Development Tools for SAP NetWeaver
23 Lesson: Describing ABAP Development Tools for SAP NetWeaver
23 Lesson: Creating an ABAP Project in Eclipse
25 Unit 13: SAP Standard Software Adjustments
25 Lesson: Adjusting the SAP Standard Software
vi © Copyright. All rights reserved.
Course Overview
TARGET AUDIENCE
This course is intended for the following audiences:
● Developer
● Development Consultant
● IT Support
● Project Manager
© Copyright. All rights reserved. vii
viii © Copyright. All rights reserved.
UNIT 1 Flow of an ABAP Program
Lesson 1: Describing the Processing of ABAP Programs
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the SAP NetWeaver Application Server architecture
● Describe the execution of a dialog program by the ABAP runtime system
© Copyright. All rights reserved. 1
Unit 1: Flow of an ABAP Program
2 © Copyright. All rights reserved.
UNIT 2 ABAP Workbench
Lesson 1: Introducing the ABAP Workbench
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the structure of the ABAP Repository
● Use the search tools of the ABAP Repository
● Display ABAP Repository objects with the Object Navigator
Lesson 2: Organizing ABAP Development Projects
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the ABAP development infrastructure
● Create packages
Lesson 3: Developing ABAP Programs
Lesson Objectives
After completing this lesson, you will be able to:
● Create ABAP programs
● Write ABAP programs with the ABAP Editor
● Activate ABAP programs
Lesson 4: Finalizing ABAP Development Projects
Lesson Objectives
After completing this lesson, you will be able to:
● Create transactions
● Release change requests
© Copyright. All rights reserved. 3
Unit 2: ABAP Workbench
4 © Copyright. All rights reserved.
UNIT 3 Basic ABAP Language Elements
Lesson 1: Defining Elementary Data Objects
Lesson Objectives
After completing this lesson, you will be able to:
● Compare data types and data objects
Lesson 2: Using Basic ABAP Statements
Lesson Objectives
After completing this lesson, you will be able to:
● Explain the ABAP syntax for basic programming concepts
Lesson 3: Analyzing Programs with the ABAP Debugger
Lesson Objectives
After completing this lesson, you will be able to:
● Analyze values of elementary data objects with the ABAP Debugger
© Copyright. All rights reserved. 5
Unit 3: Basic ABAP Language Elements
6 © Copyright. All rights reserved.
UNIT 4 Modularization Techniques in
ABAP
Lesson 1: Explaining Modularization
Lesson Objectives
After completing this lesson, you will be able to:
● Describe techniques of modularization
Lesson 2: Defining and Calling Subroutines
Lesson Objectives
After completing this lesson, you will be able to:
● Modularize using subroutines
Lesson 3: Calling Function Modules
Lesson Objectives
After completing this lesson, you will be able to:
● Use function modules of function groups
Lesson 4: Creating Function Modules
Lesson Objectives
After completing this lesson, you will be able to:
● Create function groups
● Create function modules
Lesson 5: Describing Business Application Programming Interfaces
(BAPIs)
Lesson Objectives
After completing this lesson, you will be able to:
● Modularize using BAPIs
© Copyright. All rights reserved. 7
Unit 4: Modularization Techniques in ABAP
Lesson 6: Calling Methods of Global Classes
Lesson Objectives
After completing this lesson, you will be able to:
● Describe object-oriented programming
● Use methods of global classes
● Use instances
Lesson 7: Creating Global Classes and Static Methods
Lesson Objectives
After completing this lesson, you will be able to:
● Create simple global classes and static methods
Lesson 8: Using Local Classes
Lesson Objectives
After completing this lesson, you will be able to:
● Use local classes
8 © Copyright. All rights reserved.
UNIT 5 Complex Data Objects
Lesson 1: Using Structured Data Objects
Lesson Objectives
After completing this lesson, you will be able to:
● Define structured data objects
● Implement basic ABAP statements for structured data objects
● Analyze structured data objects in debugging mode
Lesson 2: Using Internal Tables
Lesson Objectives
After completing this lesson, you will be able to:
● Define internal tables
● Implement basic ABAP statements with internal tables
● Analyze internal tables in debugging mode
© Copyright. All rights reserved. 9
Unit 5: Complex Data Objects
10 © Copyright. All rights reserved.
UNIT 6 Data Modeling and Data
Retrieval
Lesson 1: Explaining Data Models
Lesson Objectives
After completing this lesson, you will be able to:
● Explain the purpose and benefits of data models
● Describe the SAP flight data model
● Explain transparent tables
Lesson 2: Retrieving Single Database Records
Lesson Objectives
After completing this lesson, you will be able to:
● Retrieve single database records
Lesson 3: Retrieving Multiple Database Records
Lesson Objectives
After completing this lesson, you will be able to:
● Implement a SELECT loop
● Implement an array fetch
Lesson 4: Describing Other Aspects of Database Access
Lesson Objectives
After completing this lesson, you will be able to:
● Retrieve client-specific data
● Use database indexes
● Explain the SAP table buffer
● Retrieve data from several database tables
● Identify ways to change data in a database table
© Copyright. All rights reserved. 11
Unit 6: Data Modeling and Data Retrieval
Lesson 5: Implementing Authorization Checks
Lesson Objectives
After completing this lesson, you will be able to:
● Explain the authorization concept
● Implement authorization checks
12 © Copyright. All rights reserved.
UNIT 7 Classic ABAP Reports
Lesson 1: Implementing ABAP Lists
Lesson Objectives
After completing this lesson, you will be able to:
● Define ABAP list titles and column headers
Lesson 2: Implementing Selection Screens
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the attributes and benefits of selection screens
● Implement options for restricting selections of selection screens
Lesson 3: Implementing Events of ABAP Reports
Lesson Objectives
After completing this lesson, you will be able to:
● Implement the events of ABAP reports
© Copyright. All rights reserved. 13
Unit 7: Classic ABAP Reports
14 © Copyright. All rights reserved.
UNIT 8 Screens
Lesson 1: Creating Screens
Lesson Objectives
After completing this lesson, you will be able to:
● Create screens and understand screen processing
Lesson 2: Creating Input and Output Fields
Lesson Objectives
After completing this lesson, you will be able to:
● Create input and output fields on screens
Lesson 3: Implementing Data Transport
Lesson Objectives
After completing this lesson, you will be able to:
● Implement data transport on screens
© Copyright. All rights reserved. 15
Unit 8: Screens
16 © Copyright. All rights reserved.
UNIT 9 SAP List Viewer
Lesson 1: Using the SAP List Viewer
Lesson Objectives
After completing this lesson, you will be able to:
● Describe EnjoySAP controls
● Implement an SAP List Viewer
© Copyright. All rights reserved. 17
Unit 9: SAP List Viewer
18 © Copyright. All rights reserved.
UNIT 10 Web Dynpro ABAP
Lesson 1: Describing Web Dynpro ABAP
Lesson Objectives
After completing this lesson, you will be able to:
● Describe Web Dynpro ABAP
Lesson 2: Implementing Navigation in Web Dynpro
Lesson Objectives
After completing this lesson, you will be able to:
● Implement navigation in Web Dynpro
Lesson 3: Implementing Data Transport in Web Dynpro
Lesson Objectives
After completing this lesson, you will be able to:
● Implement data transport in Web Dynpro
© Copyright. All rights reserved. 19
Unit 10: Web Dynpro ABAP
20 © Copyright. All rights reserved.
UNIT 11 Program Analysis Tools
Lesson 1: Improving the Quality of ABAP Code with the Code
Inspector
Lesson Objectives
After completing this lesson, you will be able to:
● Describe the Code Inspector
● Use the Code Inspector
© Copyright. All rights reserved. 21
Unit 11: Program Analysis Tools
22 © Copyright. All rights reserved.
UNIT 12 ABAP Development Tools for
SAP NetWeaver
Lesson 1: Describing ABAP Development Tools for SAP NetWeaver
Lesson Objectives
After completing this lesson, you will be able to:
● Describe Eclipse-based ABAP development
Lesson 2: Creating an ABAP Project in Eclipse
Lesson Objectives
After completing this lesson, you will be able to:
● Create an ABAP project in Eclipse
© Copyright. All rights reserved. 23
Unit 12: ABAP Development Tools for SAP NetWeaver
24 © Copyright. All rights reserved.
UNIT 13 SAP Standard Software
Adjustments
Lesson 1: Adjusting the SAP Standard Software
Lesson Objectives
After completing this lesson, you will be able to:
● Explain terms for adjusting the SAP standard software
● Describe options for adjusting SAP standard software
● Describe enhancement types
© Copyright. All rights reserved. 25