ABAP Objects

Total Page:16

File Type:pdf, Size:1020Kb

ABAP Objects Horst Keller, Sascha Krüger ABAP® Objects ABAP Programming in SAP NetWeaver™ Bonn Ⴇ Boston Contents at a Glance 1 Introduction .................................................. 23 2 A Practical Introduction to ABAP ................. 53 3 Basic Principles of ABAP ............................... 141 4 Classes and Objects ...................................... 177 5 Basic ABAP Language Elements ................... 225 6 Advanced Concepts in ABAP Objects ........... 341 7 Classic ABAP—Events and Procedures ......... 449 8 Error Handling .............................................. 479 9 GUI Programming with ABAP ....................... 513 10 Working with Persistent Data ..................... 705 11 Dynamic Programming ................................. 795 12 External Interfaces ........................................ 841 13 Testing and Analysis Tools ........................... 939 Contents Foreword ...................................................................................... 19 1 Introduction ............................................................. 23 1.1 What Is ABAP? ........................................................... 23 1.1.1 The Evolution of ABAP ................................... 23 1.1.2 Scope of ABAP ............................................... 25 1.1.3 ABAP Development Environment ................... 26 1.1.4 ABAP Programming Model ............................ 26 1.1.5 ABAP and SAP NetWeaver ............................. 29 1.1.6 ABAP or Java? ................................................ 30 1.1.7 ABAP and Java! .............................................. 31 1.2 The Objective of This Book ......................................... 40 1.2.1 Target Audience ............................................. 40 1.2.2 Structure of this Book .................................... 41 1.2.3 Observing Programming Guidelines ................ 46 1.2.4 Syntax Conventions ........................................ 47 1.3 How Can I Use This Book on a Practical Level? ........... 48 1.3.1 Creating the Examples .................................... 48 1.3.2 Goal of the Examples ..................................... 49 1.3.3 Using the Examples ........................................ 49 1.3.4 Releases Described ......................................... 50 1.3.5 Database Tables Used .................................... 50 2 A Practical Introduction to ABAP ............................ 53 2.1 Functionality of the Sample Application ...................... 54 2.2 Getting Started with the ABAP Workbench ................. 54 2.2.1 Entry through SAP Easy Access ....................... 55 2.2.2 The Object Navigator ..................................... 57 2.3 Packages ..................................................................... 60 2.3.1 Package for Local Development Objects ......... 61 2.3.2 Packages for Transportable Develop- ment Objects ................................................. 62 2.3.3 Creating a Package ......................................... 63 2.3.4 Calling the Transport Organizer ...................... 67 2.4 Database Tables .......................................................... 68 2.4.1 Creating a Customer Table ............................. 68 2.4.2 Creating a Data Element ................................ 72 7 Contents 2.4.3 Creating a Domain ........................................ 75 2.4.4 Completing the Customer Table .................... 76 2.4.5 Creating a Search Help .................................. 78 2.4.6 Creating the Rental Car Table ........................ 78 2.4.7 Creating the Reservations Table ..................... 81 2.5 Creating an ABAP Program ........................................ 82 2.5.1 Creating an Auxiliary Program ....................... 82 2.5.2 ABAP Syntax ................................................. 84 2.5.3 General Program Structure ............................ 86 2.5.4 Two “Hello World” Programs ........................ 88 2.5.5 Copying Programs ......................................... 91 2.6 Implementing the Auxiliary Program .......................... 91 2.6.1 Source Code for the Auxiliary Program .......... 92 2.6.2 Chained Statements ...................................... 94 2.6.3 Data Declarations .......................................... 94 2.6.4 Assigning Values to Data Objects .................. 95 2.6.5 Database Accesses ......................................... 95 2.6.6 Exception Handling ....................................... 96 2.6.7 Testing the Auxiliary Program using the ABAP Debugger ...................................... 96 2.6.8 Result of the Auxiliary Program in the Data Browser ................................................ 98 2.7 User Dialog ................................................................ 99 2.7.1 Using a Function Group ................................. 100 2.7.2 Top Include of the Function Group ................ 101 2.7.3 Creating Function Modules ........................... 105 2.7.4 Testing Function Modules ............................. 108 2.8 Application Logic ....................................................... 110 2.8.1 Exception Classes .......................................... 111 2.8.2 Creating a Class for Reservations ................... 112 2.8.3 Creating a Class for Customer Objects ........... 120 2.8.4 Application Program ...................................... 126 2.8.5 Creating a Transaction Code .......................... 129 2.8.6 Executing the Transaction .............................. 131 2.8.7 Reporting ...................................................... 133 2.9 Summary ................................................................... 135 2.10 Using the Keyword Documentation ........................... 136 3 Basic Principles of ABAP .......................................... 141 3.1 ABAP and SAP NetWeaver ......................................... 141 3.1.1 SAP NetWeaver ............................................. 141 8 Contents 3.1.2 The Application Server ................................... 142 3.1.3 The Application Server ABAP ......................... 143 3.1.4 The ABAP Runtime Environment .................... 150 3.1.5 The Text Environment .................................... 151 3.2 ABAP Program Organization and Properties ................ 152 3.2.1 ABAP Program Design .................................... 152 3.2.2 ABAP Program Execution ............................... 155 3.2.3 ABAP Program Calls ....................................... 156 3.2.4 ABAP Program Types ..................................... 159 3.2.5 Other Program Attributes ............................... 162 3.2.6 Processing Blocks ........................................... 164 3.3 Source Code Organization .......................................... 167 3.3.1 Include Programs ........................................... 167 3.3.2 Macros ........................................................... 170 3.4 Software and Memory Organization of AS ABAP ......... 171 3.4.1 AS ABAP as a System ..................................... 171 3.4.2 Application Server .......................................... 171 3.4.3 User Session ................................................... 174 3.4.4 Main Session .................................................. 174 3.4.5 Internal Session .............................................. 175 4 Classes and Objects ................................................. 177 4.1 Object Orientation ..................................................... 177 4.2 Object-Oriented Programming in ABAP ...................... 180 4.3 Classes ........................................................................ 182 4.3.1 Global and Local Classes ................................ 182 4.3.2 Creating Classes ............................................. 183 4.4 Attributes and Methods .............................................. 191 4.4.1 Instance Components and Static Components ......................................... 191 4.4.2 Attributes ...................................................... 192 4.4.3 Methods ........................................................ 194 4.4.4 Using Static Components ............................... 197 4.4.5 Editor Mode of the Class Builder .................... 199 4.5 Data Types as Components of Classes ......................... 200 4.6 Objects and Object References ................................... 202 4.6.1 Creating and Referencing Objects .................. 202 4.6.2 The Self-Reference “me” ................................ 205 4.6.3 Assigning References ...................................... 205 4.6.4 Multiple Instantiation .................................... 207 9 Contents 4.6.5 Object Creation in a Factory Method ............. 209 4.6.6 Garbage Collection ........................................ 212 4.7 Constructors .............................................................. 213 4.7.1 Instance Constructor ..................................... 214 4.7.2 Static Constructor .......................................... 216 4.7.3 Destructors ................................................... 219 4.8 Local Declarations of a Class Pool .............................. 219 4.8.1 Local Types in Class Pools .............................. 220 4.8.2 Local Classes in Class Pools ............................ 220 4.9 Using ABAP Objects on the AS ABAP ......................... 221 4.10 Summary and Perspective .......................................... 224 5 Basic ABAP Language Elements ............................... 225 5.1 Data Types and Data Objects ....................................
Recommended publications
  • SAP Backup Using Tivoli Storage Manager
    Front cover SAP Backup using Tivoli Storage Manager Covers and compares data management techniques for SAP Presents a sample implementation of DB2 and Oracle databases Explains LAN-free and FlashCopy techniques Budi Darmawan Miroslav Dvorak Dhruv Harnal Gerson Makino Markus Molnar Rennad Murugan Marcos Silva ibm.com/redbooks International Technical Support Organization SAP Backup using Tivoli Storage Manager June 2009 SG24-7686-00 Note: Before using this information and the product it supports, read the information in “Notices” on page xi. First Edition (June 2009) This edition applies to Version 5, Release 5, Modification 0 of Tivoli Storage Manager and its related components: Tivoli Storage Manager Server, 5608-ISM Tivoli Storage Manager for Enterprise Resource Planning, 5608-APR Tivoli Storage Manager for Databases, 5608-APD Tivoli Stroage Manager for Advanced Copy Services, 5608-ACS Tivoli Storage Manager for SAN, 5608-SAN © Copyright International Business Machines Corporation 2009. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . xi Trademarks . xii Preface . xv The team that wrote this book . xv Become a published author . xvii Comments welcome. xviii Part 1. Concepts . 1 Chapter 1. SAP data management. 3 1.1 SAP . 4 1.2 Data management. 4 1.3 Book structure . 5 Chapter 2. SAP overview . 7 2.1 SAP product history. 8 2.2 SAP solutions and products . 11 2.2.1 Enterprise solutions. 11 2.2.2 Business solutions . 13 2.2.3 SAP solutions for small businesses and mid-size companies . 13 2.3 SAP NetWeaver overview .
    [Show full text]
  • IBM Db2 for Linux, UNIX, and Windows Database: IBM Db2 for Linux, UNIX, and Windows
    Installation Guide | PUBLIC Software Provisioning Manager 1.0 SP 32 Document Version: 3.5 – 2021-06-21 Installation of SAP Systems Based on the Application Server ABAP of SAP NetWeaver 7.0 to 7.03 on UNIX: IBM Db2 for Linux, UNIX, and Windows Database: IBM Db2 for Linux, UNIX, and Windows company. All rights reserved. All rights company. Operating System: UNIX and Linux affiliate THE BEST RUN 2021 SAP SE or an SAP SE or an SAP SAP 2021 © Content 1 About this Document........................................................12 1.1 SAP Products Based on SAP NetWeaver 7.0 to 7.0 EHP3 Supported for Installation Using Software Provisioning Manager 1.0 .......................................................13 1.2 Naming Conventions..........................................................14 1.3 New Features...............................................................15 1.4 Constraints................................................................20 1.5 Before You Start.............................................................20 1.6 SAP Notes for the Installation....................................................21 2 Installation Options Covered by this Guide........................................23 2.1 Central System..............................................................23 2.2 Distributed System...........................................................24 2.3 High-Availability System.......................................................25 2.4 ASCS Instance with Integrated SAP Web Dispatcher ...................................26
    [Show full text]
  • SAP Overview
    SAP Overview What is SAP? SAP (Systems, Applications, Products in Data Processing), is headquartered in Walldorf, Germany. They provide business software designed to help companies execute and optimize business and IT strategies. SAP defines business software as comprising enterprise resource planning (ERP) and related applications such as supply chain management (SCM), customer relationship management (CRM), product life‐cycle management, and supplier relationship management (SRM).1 SAP currently has: • More than 51,000 employees in over 50 countries developing, marketing, and selling applications and services • 82,000 customers of all sizes across 25 industries and in over 120 countries • Listings on the Frankfurt and New York stock exchanges SAP operates in three geographic regions: EMEA (representing Europe, Middle East, and Africa), Americas, and Asia Pacific Japan (APJ, representing Japan, Australia, and parts of Asia). 2 History of SAP In 1972, SAP was founded by 5 former IBM employees in Mannheim, Germany with the vision to “to develop standard application software for real‐time business processing.” After the first year, they created the first financial accounting software application, which came to be known as the "R/1 system." "R" stands for real‐time data processing. By the end of the 1970s, R/1 evolved into SAP R/2. The programming language ABAP (Advanced Business Application Programming) was also a derivative of R/2, originally serving as the report language for the system.3 In the 1980s, SAP R/2 was updated to handle different languages and currencies‐‐subsequently, this lead to SAP’s international expansion into Austria, Denmark, Sweden, Italy, and the United States.
    [Show full text]
  • Best Practices for SAP BI Using DB2 9 for Z/OS
    Front cover Best Practices for SAP BI using DB2 9 for z/OS Benefits of SAP Business Information Warehouse on z/OS Best practices and troubleshooting Scalability of the BI Accelerator Lydia Parziale Wilfried Alle Martin Cardoso Lindy Crawford Giovanni Grita Theodor Kuebler Georg Mayer ibm.com/redbooks International Technical Support Organization Best Practices for SAP BI using DB2 9 for z/OS March 2008 SG24-6489-02 Note: Before using this information and the product it supports, read the information in “Notices” on page ix. Third Edition (March 2008) This edition applies to DB2 Version 9 for z/OS, Release 1, and SAP BI Version 7.0 . © Copyright International Business Machines Corporation 2005, 2007, 2008. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . ix Trademarks . x Preface . xi The team that wrote this IBM Redbook . xii Become a published author . xv Comments welcome. xv Chapter 1. Introduction. 1 1.1 Product overview. 2 1.2 The audience for this IBM Redbooks publication . 3 1.3 Why run SAP BI on IBM System z . 4 1.3.1 Value provided by System z, z/OS, and DB2 . 4 Chapter 2. Overview of SAP BI and related data . 9 2.1 BI architecture . 10 2.2 Which cubes, DSO, and PSA objects are in your BI system. 12 2.2.1 Report SAP_BWTOOLPGM_DB2 . 13 2.3 BI data and DB2 partitioning . 14 2.3.1 Why partitioning . 15 2.3.2 Range partitioning of F- fact tables .
    [Show full text]
  • Micro Focus Fortify Static Code Analyzer User Guide, Which Are No Longer Published As of This Release
    Micro Focus Fortify Static Code Analyzer Software Version: 20.1.2 User Guide Document Release Date: July 2020 Software Release Date: July 2020 User Guide Legal Notices Micro Focus The Lawn 22-30 Old Bath Road Newbury, Berkshire RG14 1QN UK https://www.microfocus.com Warranty The only warranties for products and services of Micro Focus and its affiliates and licensors (“Micro Focus”) are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. Micro Focus shall not be liable for technical or editorial errors or omissions contained herein. The information contained herein is subject to change without notice. Restricted Rights Legend Confidential computer software. Except as specifically indicated otherwise, a valid license from Micro Focus is required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. Copyright Notice © Copyright 2003 - 2020 Micro Focus or one of its affiliates Trademark Notices All trademarks, service marks, product names, and logos included in this document are the property of their respective owners. Documentation Updates The title page of this document contains the following identifying information: l Software Version number l Document Release Date, which changes each time the document is updated l Software Release
    [Show full text]
  • Single Sign on for SAP Netweaver Application Server (ABAP) On
    Single Sign On for SAP NetWeaver Application Server (ABAP) on Power Systems How to enable Single Sign On with Secure Network Communication using Kerberos on SAP Application Servers (ABAP) running on Power Linux or AIX with a central Active Directory serving as Kerberos server Cäcilie Hampel ODOE Technology & Solutions Development Oktober 2009 This document can be found on the web, www.ibm.com/support/techdocs © Copyright IBM Corporation, 2009. All Rights Reserved. All trademarks or registered trademarks mentioned herein are the property of their respective holders Table of contents Abstract ................................................... ................................................... ........................... 3 Preface ................................................... ................................................... ........................... 3 Kerberos Client Configuration ................................................... ......................................... 5 a.) Novell Linux Kerberos Client Configuration ................................................... ................................ 5 b.) Red Hat Linux Kerberos Client Configuration ................................................... ............................ 6 c.) AIX Kerberos Client Configuration ................................................... .............................................. 8 Add Linux/AIX Server as host to Active Directory and create keytab .............................. 9 a.) Initialize keytab on Linux host ..................................................
    [Show full text]
  • SAP Netweaver® Application Server ABAP/Java on Oracle Cloud Infrastructure
    SAP NetWeaver® Application Server ABAP/Java on Oracle Cloud Infrastructure August 2021, Version 2.1 Copyright © 2021, Oracle and/or its affiliates Public 1 SAP NetWeaver® Application Server ABAP/Java on Oracle Cloud Infrastructure / Version 2.1 Copyright © 2021, Oracle and/or its affiliates / Pub lic Disclaimer This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle software license and service agreement, which has been executed and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates. This document is for informational purposes only and is intended solely to assist you in planning for the implementation and upgrade of the product features described. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle. Due to the nature of the product architecture, it may not be possible to safely include all features described in this document without risking significant destabilization of the code. Revision History The following revisions have been made to this technical brief since its initial publication: DATE REVISION August 2021 Version 2.1 of this document covers the VM.Standard.E4.Flex shape.
    [Show full text]
  • ABAP Development for SAP HANA? Your Comments and 1.2 Basic Principles of In-Memory Technology
    First-hand knowledge. Reading Sample As an ABAP developer you will want to use views and database procedures you created in SAP HANA Studio in ABAP. In this samp- le chapter, you will learn how to consistently transport native SAP HANA development objects, via the Change and Transport System “Integrating Native SAP HANA Development Objects with ABAP” Contents Index The Authors Hermann Gahm, Thorsten Schneider, Christiaan Swanepoel, Eric Wes- tenberger ABAB Development for SAP HANA 625 Pages, 2016, $79.95 ISBN 978-1-4932-1304-7 www.sap-press.com/3973 Chapter 5 ABAP developers want to use views and database procedures that they’ve created in SAP HANA Studio in ABAP. Developers are also used to a high-performance transport system and expect consistent transport of native SAP HANA development objects via the Change and Transport System. 5 Integrating Native SAP HANA Development Objects with ABAP Chapter 4 illustrated how you can create analytical models (views) and database procedures using SAP HANA Studio. Now we’ll explain how you can call these native SAP HANA objects from ABAP. We’ll also discuss how you can transport ABAP programs that use native SAP HANA objects consistently in your system landscape. 5.1 Integrating Analytic Views In the previous chapter, you learned how to model the different view types in SAP HANA Studio and how to access the results of a view using the Data Preview or Microsoft Excel. In Chapter 4, Section 4.4.4, we also explained how to address the generated column views via SQL. This section describes how to access the views from ABAP.
    [Show full text]
  • How to Develop in Abap
    HOW TO DEVELOP IN ABAP How to Develop in ABAP Applies to: SAP NetWeaver 7.0. For more information, visit the ABAP homepage. Summary This is the PDF version of the development blog series on SDN published in 2007 that gave an introduction to ABAP newbies who want to learn how to develop simple programs in ABAP. This PDF file does not contain the few blogs of the original series that explained how to install and administrate the ABAP demo version and how to import and export programs. This PDF document solely focuses on the many blogs that focused on development in ABAP. This is why the PDF file starts with blog 3 and has some gaps in the numbering. The main author of this blogs is Thomas Weiss but some blogs were written by other authors (Manfred Lutz, Hans Tillinger, Dirk Feeken). For more information read the original blogs. If you are interested in the comments and answers to the comments on the blogs you should read the original blogs on SDN. Otherwise this PDF file gives you an easy opportunity to work your way through the whole series. Author Bio Thomas Weiss has a Ph.D. in analytic philosophy. He worked as a professional writer before joining, in 2001, the SAP NetWeaver product management training team where his responsibilities included the e-Learning strategy for ABAP. After becoming more involved in writing ABAP material himself, he is now a member of the SAP NetWeaver Application Server Solution Management. One of his main interests lies in rolling out ABAP topics both for experts and for beginners by writing blogs in SDN.
    [Show full text]
  • Is COBOL Holding You Hostage with Math? | by Marianne Bellotti | Medium
    7/31/2020 Is COBOL holding you hostage with Math? | by Marianne Bellotti | Medium This is your last free story this month. Sign up and get an extra one for free. Is COBOL holding you hostage with Math? Marianne Bellotti Follow Jul 28, 2018 · 12 min read Face it: nobody likes fractions, not even computers. When we talk about COBOL the first question on everyone’s mind is always Why are we still using it in so many critical places? Banks are still running COBOL, close to 7% of the GDP is dependent on COBOL in the form of payments from the Centers for Medicare & Medicaid Services, The IRS famously still uses COBOL, airlines still use COBOL (Adam Fletcher dropped my favorite fun fact on this topic in his Systems We Love talk: the reservation number on your ticket used to be just a pointer), lots of critical infrastructure both in the private and public sector still runs on COBOL. Why? The traditional answer is deeply cynical. Organizations are lazy, incompetent, stupid. They are cheap: unwilling to invest the money needed upfront to rewrite the whole system in something modern. Overall we assume that the reason so much of civil society runs on COBOL is a combination of inertia and shortsightedness. And certainly there is a little truth there. Rewriting a mass of spaghetti code is no small task. It is expensive. It is difficult. And if the existing software seems to be working fine there might be little incentive to invest in the project. But back when I was working with the IRS the old COBOL developers used to tell me: “We tried to rewrite the code in Java and Java couldn’t do the calculations right.” This was a very strange concept to me.
    [Show full text]
  • Comparative Programming Languages CM20253
    We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily
    [Show full text]
  • Database Administration Guide for SAP on IBM Db2 for Linux, UNIX, and Windows Company
    Administration Guide | PUBLIC Document Version: 2.5 – 2021-09-23 Database Administration Guide for SAP on IBM Db2 for Linux, UNIX, and Windows company. All rights reserved. All rights company. affiliate THE BEST RUN 2021 SAP SE or an SAP SE or an SAP SAP 2021 © Content 1 Introduction................................................................7 1.1 Document History............................................................ 8 1.2 Naming Conventions..........................................................10 2 Administration Tools and Tasks.................................................12 2.1 Administration Tools..........................................................12 2.2 Administration Tasks..........................................................13 3 Architectural Overview.......................................................16 3.1 SAP Application Server for ABAP.................................................16 3.2 SAP Application Server for Java..................................................17 3.3 Db2 Components............................................................18 3.4 Db2 Client Connectivity........................................................19 4 User Management and Security................................................ 21 4.1 SAP System Users and Groups...................................................21 Access Authorizations for Db2 Directories and Database-Related Files....................25 4.2 Role-Based Security Concept for Database Users..................................... 27 Database Roles for
    [Show full text]