ABAP
Iníciate en ABAP con esta guía para principiantes. Primero, comprende la sintaxis de ABAP y descubre cómo añadir datos y lógica a tus aplicaciones. A continuación, profundiza en la programación backend: aprende a trabajar con el diccionario de datos ABAP, a crear objetos de base de datos y a procesar y almacenar datos. Completa tus habilidades practicando el manejo de errores, la modularización, la manipulación de cadenas y mucho más. Con ejemplos guiados, instrucciones paso a paso y código detallado, ¡te convertirás en un desarrollador ABAP en muy poco tiempo!
- Desarrolle sus habilidades en ABAP y escriba su primer programa.
- Utilice el diccionario de datos, cree programas modulares y solucione los errores.
- Desarrolle aplicaciones utilizando cadenas y texto, fechas y horas, y mucho más.
Aprenderás sobre:
- Conceptos básicos del lenguaje ABAP:
Aprenda el lenguaje ABAP, desde el formato del código hasta el uso de variables y constantes. Comprenda cómo agregar lógica binaria a las aplicaciones, crear interfaces de usuario sencillas y mucho más.
- Trabajar con datos:
Cree objetos de diccionario de datos y programe aplicaciones ABAP para procesar y leer datos de una base de datos. Utilice la memoria de trabajo para almacenar los datos recuperados y mostrarlos a los usuarios.
- Manipulación de programas:
Modularice programas ABAP, gestione errores y trabaje con cadenas, textos, fechas, horas y divisas.
- Preparación para una carrera profesional en ABAP:
Comprenda el entorno del sistema SAP, prepare su entorno de desarrollo y explore las directrices oficiales de desarrollo ABAP.
Aspectos Destacados:
- Programación procedimental
- Programación orientada a objetos
- Control de flujo
- Operaciones aritméticas
- Diccionario de datos
- Definición de variables y constantes
- Creación de tablas
- Lectura/escritura de bases de datos
- Modularización
- Depuración
- Visor de listas ABAP (ALV)
Ver Tabla de Contenidos Completa
- Prefacio
- Público
- Tu ruta de aprendizaje ABAP
- Profesional de SAP con algunos conocimientos de ABAP
- Profesional o usuario avanzado de SAP sin conocimientos de ABAP u otros lenguajes de programación.
- Desarrollador profesional sin conocimientos de ABAP
- Lector sin conocimientos de SAP, ABAP ni ningún lenguaje de programación.
- ¿Hacia dónde ir desde aquí?
- 1 Introducción a los sistemas ERP de SAP
- 1.1 ¿Qué son SAP y ABAP?
- 1.2 Estado actual de los sistemas ERP de SAP
- 1.3 ABAP «antiguo» frente a ABAP «nuevo»
- 1.4 Navegación por los sistemas SAP ERP
- 1.4.1 Descripción general de SAP GUI
- 1.4.2 Descripción general de SAP Fiori
- 1.5 Resumen
- 2 Creación de su primer programa
- 2.1 «¡Hola, mundo!»
- 2.1.1 Creación de un nuevo programa con Eclipse
- 2.1.2 Creación de un nuevo programa en la transacción SE80
- 2.1.3 Escribir un programa «¡Hola, mundo!»
- 2.1.4 Añadir funciones a tu primer programa
- 2.2 Resumen
- 3 ABAP 101
- 3.1 Variables y constantes en ABAP
- 3.1.1 La palabra clave DATA
- 3.1.2 Tipos de datos numéricos
- 3.1.3 Tipos de datos similares a caracteres
- 3.1.4 Booleano
- 3.1.5 Estructuras y tablas internas
- 3.1.6 Declaraciones de datos en línea
- 3.1.7 Constantes
- 3.1.8 Campos del sistema y constantes predefinidas
- 3.2 Funciones aritméticas y matemáticas básicas
- 3.2.1 Operaciones aritméticas
- 3.2.2 Funciones matemáticas
- 3.2.3 Comando CLEAR
- 3.3 Control de flujo
- 3.3.1 Instrucciones IF
- 3.3.2 Instrucciones CASE
- 3.3.3 Bucles DO
- 3.3.4 Bucles WHILE
- 3.4 Programación de la pantalla de selección
- 3.4.1 PARÁMETRO
- 3.4.2 OPCIONES DE SELECCIÓN
- 3.4.3 Textos de selección
- 3.4.4 PANTALLA DE SELECCIÓN
- 3.4.5 BLOQUE
- 3.4.6 Otros elementos de la pantalla de selección
- 3.5 Bloques de eventos
- 3.5.1 INICIALIZACIÓN
- 3.5.2 EN LA PANTALLA DE SELECCIÓN
- 3.5.3 INICIO DE LA SELECCIÓN
- 3.6 Código de formato
- 3.7 Comentarios
- 3.7.1 Errores comunes al comentar
- 3.7.2 Uso de comentarios durante la programación
- 3.8 Conceptos básicos de depuración
- 3.8.1 Programa para depurar
- 3.8.2 Puntos de interrupción en Eclipse
- 3.8.3 Puntos de interrupción en SAP GUI
- 3.8.4 Puntos de observación en Eclipse
- 3.8.5 Puntos de observación en SAP GUI
- 3.9 Uniendo todas las piezas
- 3.9.1 El problema
- 3.9.2 La solución
- 3.10 Resumen
- 4 Objetos del diccionario de datos
- 4.1 ¿Qué es una base de datos?
- 4.2 ¿Qué es un diccionario de datos?
- 4.3 Diseño de la base de datos
- 4.3.1 Diagramas de relaciones entre entidades
- 4.3.2 Normalización de bases de datos
- 4.3.3 Relaciones en los diagramas de relaciones entre entidades (ERD)
- 4.4 Navegación a objetos del diccionario ABAP
- 4.5 Tabla, elemento de datos y dominio
- 4.6 Modelo de datos de entrenamiento y definición de ejemplo
- 4.6.1 Modelo de datos de vuelos y reservas de SAP
- 4.6.2 Ejemplo de capacitación: mejora del modelo SAP
- 4.7 Creación de un nuevo dominio
- 4.8 Creación de un nuevo elemento de datos
- 4.9 Creación y edición de tablas
- 4.9.1 Visualización de la configuración de la tabla de vuelos
- 4.9.2 Creación de una estructura de anexado
- 4.9.3 Creación de una tabla transparente personalizada
- 4.10 Documentación
- 4.11 Visualización de datos en las tablas de la base de datos
- 4.11.1 Vista previa de datos en Eclipse
- 4.11.2 Navegador de datos en SAP GUI
- 4.11.3 Configuración de los datos de ejemplo de vuelos
- 4.12 Diálogos de mantenimiento de tablas
- 4.12.1 Creación del cuadro de diálogo de mantenimiento para una tabla
- 4.12.2 Transacción de mantenimiento de tablas SM30
- 4.13 Estructuras y tipos de tablas
- 4.13.1 Creación de estructuras
- 4.13.2 Creación de tipos de tabla
- 4.14 Ayuda para la búsqueda
- 4.15 Vistas
- 4.16 Resumen
- 5 Acceso a la base de datos
- 5.1 Consola SQL en Eclipse
- 5.2 Lectura de datos
- 5.2.1 Instrucciones SELECT
- 5.2.2 INNER JOIN
- 5.2.3 UNIÓN EXTERIOR IZQUIERDA
- 5.2.4 PARA TODAS LAS PARTICIPACIONES EN
- 5.2.5 Con SELECT-OPTIONS
- 5.2.6 Expresiones agregadas en sentencias SELECT
- 5.2.7 Nuevo Open SQL
- 5.2.8 Vistas ABAP CDS
- 5.3 Cambio de datos
- 5.3.1 INSERTAR
- 5.3.2 MODIFICAR/ACTUALIZAR
- 5.3.3 ELIMINAR
- 5.4 Bloqueos de tabla
- 5.4.1 Visualización de bloqueos de tablas
- 5.4.2 Creación de objetos de bloqueo de tablas
- 5.4.3 Configuración de bloqueos de tabla
- 5.5 Temas de rendimiento
- 5.6 Palabras clave de acceso a bases de datos obsoletas
- 5.6.1 SELECCIONAR... FIN DE SELECCIÓN
- 5.6.2 SQL abierto abreviado
- 5.7 Resumen
- 6 Almacenamiento de datos en la memoria de trabajo
- 6.1 Uso de los tipos de datos del diccionario ABAP
- 6.2 Creación de tipos de datos con la palabra clave TYPE
- 6.3 Símbolos de campo
- 6.4 Definición de tablas internas
- 6.4.1 Definición de tablas estándar
- 6.4.2 Claves en tablas internas
- 6.4.3 Definición de tablas ordenadas
- 6.4.4 Definición de tablas hash
- 6.5 Lectura de datos de tablas internas
- 6.5.1 LECTURA DE TABLA
- 6.5.2 LOOP AT
- 6.6 Modificación de tablas internas
- 6.6.1 Insertar/añadir filas
- 6.6.2 Cambiar filas
- 6.6.3 Eliminación de filas
- 6.7 Otras operaciones con tablas internas
- 6.7.1 Copiar datos de la tabla
- 6.7.2 CLASIFICAR
- 6.7.3 ELIMINAR DUPLICADOS ADYACENTES DE
- 6.8 ¿Qué tabla se debe utilizar?
- 6.9 Actualización del tipo de tabla del diccionario ABAP
- 6.10 Sintaxis obsoleta de la memoria de trabajo
- 6.10.1 CON LÍNEA DE ENCABEZADO
- 6.10.2 OCURRE
- 6.10.3 Corchetes
- 6.10.4 Acceso a tablas en formato abreviado
- 6.10.5 BÚSQUEDA BINARIA
- 6.11 Resumen
- 7 Creación de programas modulares
- 7.1 Separación de preocupaciones
- 7.2 Subrutinas
- 7.3 Introducción a la programación orientada a objetos
- 7.3.1 ¿Qué es un objeto?
- 7.3.2 Modularización con programación orientada a objetos
- 7.4 Estructuración de clases
- 7.4.1 Implementación frente a definición
- 7.4.2 Creación de objetos
- 7.4.3 Secciones públicas y privadas
- 7.4.4 Métodos de clase
- 7.4.5 Importar, devolver, exportar y cambiar
- 7.4.6 Constructores
- 7.4.7 Recursividad
- 7.4.8 Herencia
- 7.4.9 Composición
- 7.5 Clases globales
- 7.5.1 Cómo crear clases globales en Eclipse
- 7.5.2 Cómo crear clases globales en la transacción SE80
- 7.5.3 Uso de la vista basada en formularios en la transacción SE80
- 7.6 Patrones de diseño
- 7.7 Módulos de funciones
- 7.7.1 Creación de grupos de funciones y módulos en Eclipse
- 7.7.2 Creación de grupos de funciones en la transacción SE80
- 7.7.3 Llamada a módulos de función
- 7.8 Resumen
- 8 Manejo de errores
- 8.1 SY-SUBRC
- 8.2 Clases de mensajes
- 8.2.1 Visualización de una clase de mensaje
- 8.2.2 Creación de una clase de mensaje
- 8.2.3 Uso de la palabra clave MESSAGE
- 8.3 Clases de excepción
- 8.3.1 Excepciones no controladas
- 8.3.2 Instrucciones TRY/CATCH
- 8.3.3 Clases de excepción personalizadas
- 8.4 Excepciones no basadas en clases
- 8.5 Resumen
- 9 Presentación de datos con el visor de listas ABAP
- 9.1 ¿Qué es ALV?
- 9.2 Ejemplo de informe utilizando una tabla SALV
- 9.3 Ejemplo de informe utilizando el árbol SALV
- 9.4 ALV con acceso integrado a datos
- 9.5 Marcos ALV obsoletos
- 9.5.1 Módulo de función REUSE_ALV_GRID_DISPLAY
- 9.5.2 Clase CL_GUI_ALV_GRID
- 9.6 Resumen
- 10 Creación de un ejemplo de carrito de compras
- 10.1 El diseño
- 10.1.1 La base de datos
- 10.1.2 La clase global
- 10.1.3 Los programas de acceso
- 10.2 Solución de base de datos
- 10.2.1 Elementos de datos
- 10.2.2 Tablas transparentes
- 10.3 Acceso a la solución de base de datos
- 10.4 Creación de una clase de mensaje para la solución
- 10.5 Creación de pantallas clásicas para la solución
- 10.5.1 Programa de mantenimiento del producto
- 10.5.2 Programa de mantenimiento del carrito de compras
- 10.6 Resumen
- 11 Trabajar con cadenas y textos
- 11.1 Manipulación de cadenas
- 11.1.1 Plantillas de cadenas
- 11.1.2 Funciones de cadena
- 11.2 Símbolos de texto
- 11.2.1 Creación de símbolos de texto
- 11.2.2 Traducción de símbolos de texto
- 11.3 Traducción de datos en tablas
- 11.4 Traducción de mensajes
- 11.5 Comandos de cadena y texto obsoletos
- 11.6 Actualización del ejemplo del carrito de compras
- 11.6.1 Actualización de la base de datos
- 11.6.2 Uso de la tabla de texto
- 11.7 Resumen
- 12 Trabajar con fechas, horas, cantidades y divisas
- 12.1 Fechas
- 12.1.1 Conceptos básicos sobre el tipo de fecha
- 12.1.2 Calendarios de fábrica
- 12.1.3 Tipo de fecha de referencia
- 12.1.4 Campos de fecha del sistema
- 12.1.5 Registros con fecha límite
- 12.2 Veces
- 12.2.1 Cálculo del tiempo
- 12.2.2 Marcas de tiempo
- 12.2.3 SY-UZEIT (hora del sistema frente a hora local)
- 12.3 Cantidades
- 12.3.1 Campos de cantidad en el diccionario de datos
- 12.3.2 Conversión de cantidades
- 12.4 Monedas
- 12.4.1 Campos de moneda en el diccionario de datos
- 12.4.2 Conversión de divisas
- 12.5 Actualización del ejemplo del carrito de compras
- 12.5.1 Actualización de la base de datos
- 12.5.2 Actualización de la clase global
- 12.5.3 Actualización de los programas ABAP
- 12.6 Resumen
- 13 Tecnologías de interfaz de usuario
- 13.1 Trabajar con pantallas Dynpro clásicas
- 13.1.1 Eventos de pantalla Dynpro
- 13.1.2 Creación de una pantalla Dynpro
- 13.2 Tecnologías modernas de interfaz de usuario
- 13.2.1 Web Dynpro
- 13.2.2 Personajes de pantalla SAP
- 13.2.3 SAP Gateway, SAPUI5 y SAP Fiori
- 13.3 Resumen
- 14 Trabajar con ABAP de manera profesional
- 14.1 Conceptos básicos sobre la arquitectura del sistema ABAP
- 14.2 Gestión del transporte
- 14.3 Concepto de autorización
- 14.3.1 Objeto de autorización
- 14.3.2 Realización de una verificación de autorización en un programa ABAP
- 14.4 Trabajar con archivos
- 14.4.1 Archivos en el servidor de presentación
- 14.4.2 Archivos en el servidor de aplicaciones
- 14.5 Directrices para el desarrollo ABAP
- 14.6 Mantenimiento de la documentación
- 14.7 Pruebas unitarias ABAP
- 14.8 Trabajos en segundo plano
- 14.9 Herramientas del oficio
- 14.10 Compatibilidad con versiones anteriores y manejo del código heredado
- 14.11 Resumen
- A Preparación del entorno de desarrollo
- A.1 Descripción general de ABAP Developer Edition
- A.2 Sistema de prueba ABAP con SAP CAL
- A.3 Sistema de prueba ABAP utilizando la opción de descarga
- A.4 Introducción a ABAP en Eclipse
- A.4.1 Espacios de trabajo Eclipse
- A.4.2 Perspectivas de Eclipse
- A.4.3 Proyectos ABAP en Eclipse
- A.5 IDE basados en ABAP
- A.5.1 Transacción SE80
- A.5.2 Otras transacciones ABAP IDE
- B Interfaces, formularios, mejoras
- B.1 Interfaces
- B.1.1 Interfaces de archivos
- B.1.2 Llamada a función remota
- B.1.3 IDoc y EDI
- B.1.4 Servicios web
- B.2 Implementación de la salida en SAP ERP
- B.2.1 Programas de producción
- B.2.2 Formularios
- B.3 Mejoras
- C Diferencias entre las versiones de ABAP
- C.1 Versión 7.0
- C.2 Versión 7.02 (7.0 EHP 2)
- C.3 Versión 7.4
- C.4 Versión 7.4 SP 5
- C.5 Versión 7.4 SP 8
- C.6 Versión 7.50
- C.7 Versión 7.51
- C.8 Versión 7.52
- C.9 Versión 7.53
- D Otros recursos
- D.1 Libros de SAP PRESS
- D.2 Comunidad SAP
- D.3 openSAP
- D.4 Certificaciones SAP
- D.5 Conferencias SAP TechEd
- D.6 Eventos de la comunidad SAP
- E Los autores
- Índice
ABAP
Step into ABAP with this beginner's guide. First understand ABAP syntax and find out how to add data and logic to your applications. Then delve into backend programming: learn to work with the ABAP data dictionary, create database objects, and process and store data. Round out your skill set by practicing error handling, modularization, string manipulation, and more. With guided examples, step-by-step instructions, and detailed code you'll become an ABAP developer in no time!
- Build your ABAP skills and write your first program
- Use the data dictionary, make programs modular, and troubleshoot errors
- Develop applications using strings and text, dates and times, and more
You'll learn about:
- ABAP Language Basics:
Learn the ABAP language, from formatting code to using variables and constants. Understand how to add binary logic to applications, create simple user interfaces, and more.
- Working with Data:
Create data dictionary objects and program ABAP applications to process and read data from a database. Use working memory to store retrieved data and display it to users.
- Manipulating Programs:
Modularize ABAP programs, handle errors, and work with strings, texts, dates, times, and currencies.
- Preparing for an ABAP Career:
Understand the SAP system landscape, prepare your development environment, and explore the official ABAP development guidelines.
Key Highlights:
- Procedural programming
- Object-oriented programming
- Flow control
- Arithmetic operations
- Data dictionary
- Defining variables and constants
- Creating tables
- Database read/write
- Modularization
- Debugging
- ABAP List Viewer (ALV)
View Full Table of Contents
- Preface
- Audience
- Your ABAP Learning Path
- SAP Professional with Some Knowledge of ABAP
- SAP Professional or Power User with No Knowledge of ABAP or Other Programming Languages
- Professional Developer with No Knowledge of ABAP
- Reader with No Knowledge of SAP, ABAP, or Any Programming Languages
- Where to Go from Here?
- 1 Introduction to SAP’s ERP Systems
- 1.1 What Are SAP and ABAP?
- 1.2 Current State of SAP’s ERP Systems
- 1.3 “Old” versus “New” ABAP
- 1.4 Navigating SAP ERP Systems
- 1.4.1 Overview of SAP GUI
- 1.4.2 Overview of SAP Fiori
- 1.5 Summary
- 2 Creating Your First Program
- 2.1 “Hello, World!”
- 2.1.1 Creating a New Program with Eclipse
- 2.1.2 Creating a New Program in Transaction SE80
- 2.1.3 Writing a “Hello, World!” Program
- 2.1.4 Adding Features to Your First Program
- 2.2 Summary
- 3 ABAP 101
- 3.1 Variables and Constants in ABAP
- 3.1.1 The DATA Keyword
- 3.1.2 Numeric Data Types
- 3.1.3 Character-like Data Types
- 3.1.4 Boolean
- 3.1.5 Structures and Internal Tables
- 3.1.6 Inline Data Declarations
- 3.1.7 Constants
- 3.1.8 System Fields and Predefined Constants
- 3.2 Arithmetic and Basic Math Functions
- 3.2.1 Arithmetic Operations
- 3.2.2 Math Functions
- 3.2.3 CLEAR Command
- 3.3 Flow Control
- 3.3.1 IF Statements
- 3.3.2 CASE Statements
- 3.3.3 DO Loops
- 3.3.4 WHILE Loops
- 3.4 Selection Screen Programming
- 3.4.1 PARAMETER
- 3.4.2 SELECT-OPTIONS
- 3.4.3 Selection Texts
- 3.4.4 SELECTION-SCREEN
- 3.4.5 BLOCK
- 3.4.6 Other Selection Screen Elements
- 3.5 Event Blocks
- 3.5.1 INITIALIZATION
- 3.5.2 AT SELECTION-SCREEN
- 3.5.3 START-OF-SELECTION
- 3.6 Formatting Code
- 3.7 Comments
- 3.7.1 Common Commenting Mistakes
- 3.7.2 Using Comments while Programming
- 3.8 Debugging Basics
- 3.8.1 Program to Debug
- 3.8.2 Breakpoints in Eclipse
- 3.8.3 Breakpoints in the SAP GUI
- 3.8.4 Watchpoints in Eclipse
- 3.8.5 Watchpoints in SAP GUI
- 3.9 Tying It All Together
- 3.9.1 The Problem
- 3.9.2 The Solution
- 3.10 Summary
- 4 Data Dictionary Objects
- 4.1 What Is a Database?
- 4.2 What Is a Data Dictionary?
- 4.3 Database Design
- 4.3.1 Entity Relationship Diagrams
- 4.3.2 Database Normalization
- 4.3.3 Relationships in ERDs
- 4.4 Navigation to ABAP Dictionary Objects
- 4.5 Table, Data Element, and Domain
- 4.6 Training Data Model and Example Definition
- 4.6.1 SAP Flight and Booking Data Model
- 4.6.2 Training Example: Enhancing the SAP Model
- 4.7 Creating a New Domain
- 4.8 Creating a New Data Element
- 4.9 Creating and Editing Tables
- 4.9.1 Viewing the Flight Table Configuration
- 4.9.2 Creating an Append Structure
- 4.9.3 Creating a Custom Transparent Table
- 4.10 Documentation
- 4.11 Viewing Data in the Database Tables
- 4.11.1 Data Preview in Eclipse
- 4.11.2 Data Browser in SAP GUI
- 4.11.3 Setting Up the Flights Example Data
- 4.12 Table Maintenance Dialogs
- 4.12.1 Generating Maintenance Dialog for a Table
- 4.12.2 Table Maintenance Transaction SM30
- 4.13 Structures and Table Types
- 4.13.1 Creating Structures
- 4.13.2 Creating Table Types
- 4.14 Search Help
- 4.15 Views
- 4.16 Summary
- 5 Accessing the Database
- 5.1 SQL Console in Eclipse
- 5.2 Reading Data
- 5.2.1 SELECT Statements
- 5.2.2 INNER JOIN
- 5.2.3 LEFT OUTER JOIN
- 5.2.4 FOR ALL ENTRIES IN
- 5.2.5 With SELECT-OPTIONS
- 5.2.6 Aggregate Expressions in SELECT Statements
- 5.2.7 New Open SQL
- 5.2.8 ABAP CDS Views
- 5.3 Changing Data
- 5.3.1 INSERT
- 5.3.2 MODIFY/UPDATE
- 5.3.3 DELETE
- 5.4 Table Locks
- 5.4.1 Viewing Table Locks
- 5.4.2 Creating Table Lock Objects
- 5.4.3 Setting Table Locks
- 5.5 Performance Topics
- 5.6 Obsolete Database Access Keywords
- 5.6.1 SELECT…ENDSELECT
- 5.6.2 Short Form Open SQL
- 5.7 Summary
- 6 Storing Data in Working Memory
- 6.1 Using ABAP Dictionary Data Types
- 6.2 Creating Data Types with the TYPE Keyword
- 6.3 Field Symbols
- 6.4 Defining Internal Tables
- 6.4.1 Defining Standard Tables
- 6.4.2 Keys in Internal Tables
- 6.4.3 Defining Sorted Tables
- 6.4.4 Defining Hashed Tables
- 6.5 Reading Data from Internal Tables
- 6.5.1 READ TABLE
- 6.5.2 LOOP AT
- 6.6 Modifying Internal Tables
- 6.6.1 Inserting/Appending Rows
- 6.6.2 Changing Rows
- 6.6.3 Deleting Rows
- 6.7 Other Internal Table Operations
- 6.7.1 Copying Table Data
- 6.7.2 SORT
- 6.7.3 DELETE ADJACENT DUPLICATES FROM
- 6.8 Which Table Should Be Used?
- 6.9 Updating ABAP Dictionary Table Type
- 6.10 Obsolete Working Memory Syntax
- 6.10.1 WITH HEADER LINE
- 6.10.2 OCCURS
- 6.10.3 Square Brackets
- 6.10.4 Short Form Table Access
- 6.10.5 BINARY SEARCH
- 6.11 Summary
- 7 Making Programs Modular
- 7.1 Separation of Concerns
- 7.2 Subroutines
- 7.3 Introduction to Object-Oriented Programming
- 7.3.1 What Is an Object?
- 7.3.2 Modularizing with Object-Oriented Programming
- 7.4 Structuring Classes
- 7.4.1 Implementation versus Definition
- 7.4.2 Creating Objects
- 7.4.3 Public and Private Sections
- 7.4.4 Class Methods
- 7.4.5 Importing, Returning, Exporting, and Changing
- 7.4.6 Constructors
- 7.4.7 Recursion
- 7.4.8 Inheritance
- 7.4.9 Composition
- 7.5 Global Classes
- 7.5.1 How to Create Global Classes in Eclipse
- 7.5.2 How to Create Global Classes in Transaction SE80
- 7.5.3 Using the Form-Based View in Transaction SE80
- 7.6 Design Patterns
- 7.7 Function Modules
- 7.7.1 Creating Function Groups and Modules in Eclipse
- 7.7.2 Creating Function Groups in Transaction SE80
- 7.7.3 Calling Function Modules
- 7.8 Summary
- 8 Error Handling
- 8.1 SY-SUBRC
- 8.2 Message Classes
- 8.2.1 Displaying a Message Class
- 8.2.2 Creating a Message Class
- 8.2.3 Using the MESSAGE Keyword
- 8.3 Exception Classes
- 8.3.1 Unhandled Exceptions
- 8.3.2 TRY/CATCH Statements
- 8.3.3 Custom Exception Classes
- 8.4 Non-Class-Based Exceptions
- 8.5 Summary
- 9 Presenting Data Using the ABAP List Viewer
- 9.1 What Is ALV?
- 9.2 Report Example Using an SALV Table
- 9.3 Report Example Using SALV Tree
- 9.4 ALV with Integrated Data Access
- 9.5 Outdated ALV Frameworks
- 9.5.1 REUSE_ALV_GRID_DISPLAY Function Module
- 9.5.2 CL_GUI_ALV_GRID Class
- 9.6 Summary
- 10 Creating a Shopping Cart Example
- 10.1 The Design
- 10.1.1 The Database
- 10.1.2 The Global Class
- 10.1.3 The Access Programs
- 10.2 Database Solution
- 10.2.1 Data Elements
- 10.2.2 Transparent Tables
- 10.3 Accessing the Database Solution
- 10.4 Creating a Message Class for the Solution
- 10.5 Creating Classic Screens for the Solution
- 10.5.1 Product Maintenance Program
- 10.5.2 Shopping Cart Maintenance Program
- 10.6 Summary
- 11 Working with Strings and Texts
- 11.1 String Manipulation
- 11.1.1 String Templates
- 11.1.2 String Functions
- 11.2 Text Symbols
- 11.2.1 Creating Text Symbols
- 11.2.2 Translating Text Symbols
- 11.3 Translating Data in Tables
- 11.4 Translating Messages
- 11.5 Obsolete String and Text Commands
- 11.6 Updating the Shopping Cart Example
- 11.6.1 Updating the Database
- 11.6.2 Using the Text Table
- 11.7 Summary
- 12 Working with Dates, Times, Quantities, and Currencies
- 12.1 Dates
- 12.1.1 Date Type Basics
- 12.1.2 Factory Calendars
- 12.1.3 Datum Date Type
- 12.1.4 System Date Fields
- 12.1.5 Date-Limited Records
- 12.2 Times
- 12.2.1 Calculating Time
- 12.2.2 Timestamps
- 12.2.3 SY-UZEIT (System Time versus Local Time)
- 12.3 Quantities
- 12.3.1 Quantity Fields in Data Dictionary
- 12.3.2 Converting Quantities
- 12.4 Currencies
- 12.4.1 Currency Fields in Data Dictionary
- 12.4.2 Converting Currencies
- 12.5 Updating the Shopping Cart Example
- 12.5.1 Updating the Database
- 12.5.2 Updating the Global Class
- 12.5.3 Updating the ABAP Programs
- 12.6 Summary
- 13 User Interface Technologies
- 13.1 Working with Classic Dynpro Screens
- 13.1.1 Dynpro Screen Events
- 13.1.2 Creating a Dynpro Screen
- 13.2 Modern UI Technologies
- 13.2.1 Web Dynpro
- 13.2.2 SAP Screen Personas
- 13.2.3 SAP Gateway, SAPUI5, and SAP Fiori
- 13.3 Summary
- 14 Working with ABAP Professionally
- 14.1 ABAP System Architecture Basics
- 14.2 Transport Management
- 14.3 Authorization Concept
- 14.3.1 Authorization Object
- 14.3.2 Performing an Authorization Check in an ABAP Program
- 14.4 Working with Files
- 14.4.1 Files on the Presentation Server
- 14.4.2 Files on the Application Server
- 14.5 ABAP Development Guidelines
- 14.6 Maintaining Documentation
- 14.7 ABAP Unit Tests
- 14.8 Background Jobs
- 14.9 Tools of the Trade
- 14.10 Backward Compatibility and Dealing with Legacy Code
- 14.11 Summary
- A Preparing Your Development Environment
- A.1 ABAP Developer Edition Overview
- A.2 ABAP Trial System Using SAP CAL
- A.3 ABAP Trial System Using the Download Option
- A.4 Getting Started with ABAP in Eclipse
- A.4.1 Eclipse Workspaces
- A.4.2 Eclipse Perspectives
- A.4.3 ABAP Projects in Eclipse
- A.5 ABAP-Based IDEs
- A.5.1 Transaction SE80
- A.5.2 Other ABAP IDE Transactions
- B Interfaces, Forms, Enhancements
- B.1 Interfaces
- B.1.1 File Interfaces
- B.1.2 Remote Function Call
- B.1.3 IDoc and EDI
- B.1.4 Web Services
- B.2 Output Implementation in SAP ERP
- B.2.1 Output Programs
- B.2.2 Forms
- B.3 Enhancements
- C Differences Between ABAP Versions
- C.1 Release 7.0
- C.2 Release 7.02 (7.0 EHP 2)
- C.3 Release 7.4
- C.4 Release 7.4 SP 5
- C.5 Release 7.4 SP 8
- C.6 Release 7.50
- C.7 Release 7.51
- C.8 Release 7.52
- C.9 Release 7.53
- D Other Resources
- D.1 SAP PRESS Books
- D.2 SAP Community
- D.3 openSAP
- D.4 SAP Certifications
- D.5 SAP TechEd Conferences
- D.6 SAP Community Events
- E The Authors
- Index