certificación sap taw10_1 capitulos 7 & 8

16
Unit 7 Basic ABAP Language Elements Objetivos de la Unidad Después de completar esta unidad, usted será capaz de: • Definir objetos de datos elementales • Usar sentencias básicas de ABAP con objetos de datos elementales • Ejecutar y analizar los programas en modo de debugging Tipos de datos y objetos de datos (Data Types and Data Objects) Una descripción formal de una variable se llama un tipo de datos (data type). Por el contrario, una variable o constante que se define concretamente por medio de un tipo de datos se denomina un objeto de datos(data object) Using Data Types El siguiente gráfico muestra cómo se pueden utilizar los tipos de datos:

Upload: hikarukirishima

Post on 28-Dec-2015

95 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Certificación SAP TAW10_1 Capitulos 7 & 8

Unit 7Basic ABAP Language Elements

Objetivos de la Unidad

Después de completar esta unidad, usted será capaz de:

• Definir objetos de datos elementales

• Usar sentencias básicas de ABAP con objetos de datos elementales

• Ejecutar y analizar los programas en modo de debugging

Tipos de datos y objetos de datos (Data Types and Data Objects)

Una descripción formal de una variable se llama un tipo de datos (data type). Por el contrario, una variable o constante que se define concretamente por medio de un tipo de datos se denomina un objeto de datos(data object)

Using Data Types

El siguiente gráfico muestra cómo se pueden utilizar los tipos de datos:

Los tipos de datos ABAP Se dividen en dos grupos: completos e incompletos.

Page 2: Certificación SAP TAW10_1 Capitulos 7 & 8

Los tipos de datos completos se llaman así porque ya poseen un formato y una longitud predefinida, y está compuesto por los siguientes tipos de datos standards:

DTipo para fechas(Date), formato: YYYYMMDD, longitud 8 (fijo)TTipo para tiempo(Time), formato: HHMMSS, longitud 6 (fijo)ITipo para números enteros (Integer), longitud 4 (fijo)FTipo para números de coma flotante (Floating), longitud 8 (fijo)DECFLOAT16Tipo para número DECimal de coma FLOATing, longitud 8 (fijo) – disponible desde AS ABAP 7.02DECFLOAT34Tipo para número DECimal de coma FLOATing, longitud 16 (fijo) - disponible desde AS ABAP 7.02STRINGTipo para cadena de caracteres de longitud dinámicaXSTRINGTipo para secuencia de bytes de longitud dinámica (HeXadecimal string)

Los tipos de datos incompletos se llaman así porque es necesario especificar la longitud de la variable, y está compuesto por los siguientes tipos de datos standards:

CTipo para cadena de caracteres (Character) para los cuales la longitud fija debe ser especificadaNTipo para cadena de caracteres numéricos (Numerical character) para los cuales la longitud fija debe ser especificadaXTipo para secuencia de bytes (HeXadecimal string) para los cuales la longitud fija debe ser especificada PTipo para números empaquetados (Packed number) para los cuales la longitud fija debe ser especificada.(En la definición de números empaquetados, también se debe especificar la cantidad de posiciones de los decimales.)

Tipos de datos locales

Utilizando los tipos estándar, se puede declarar tipos de datos locales en el programa,

Los tipos de datos locales sólo existen en el programa en cuestión, La declaración se realiza mediante la sentencia TYPES y la longitud se puede especificar con la adición LENGTH o bien entre paréntesis a continuación de la variable (lo cual ya se considera obsoleto ya que afecta la legibilidad del código del programa.

Tipos de datos globales

Un tipo de datos definido en el Diccionario ABAP se llama global, ya que puede ser utilizado en todo el sistema (que significa en todo el sistema de SAP en cuestión).

Page 3: Certificación SAP TAW10_1 Capitulos 7 & 8

Una vez que conocemos las distintas formas que puede tener un TIPO DE DATO procedemos a crear VARIABLES (OBJETOS DE DATOS) que se declaran con la sentencia DATA, y para hacer referencia al mismo tipo que otro objeto se utiliza la adición LIKE.

Page 4: Certificación SAP TAW10_1 Capitulos 7 & 8

¿Se pueden declarar objetos de datos sin especificar el tipo o la longitud?

Literals, Constants and Text Symbols

Page 5: Certificación SAP TAW10_1 Capitulos 7 & 8

Sugerencia: Si es posible, evite completamente literales cuando se utilicen declaraciones. Utilice constantes y símbolos en vez de texto. Esto hace que sea mucho más fácil de mantener su programa.

Sentencias básicas ABAP

En esta sección usted aprenderá cómo llenar los elementos de objetos de datos con valores y realizar cálculos en ABAP. También se le dará una introducción a las construcciones que puede utilizar para controlar el flujo del programa depende del contenido de los objetos de datos.

Asignación de valores

VALUE (como adición)MOVE (=)CLEAR

Page 6: Certificación SAP TAW10_1 Capitulos 7 & 8

Cálculos y expresiones aritméticas

En ABAP se puede programar expresiones aritméticas y subdividirlas indefinidamente normalmente utilizadas con la sentencia COMPUTE. Las operaciones válidas son:

• + - Adición• - - Resta• * - Multiplicación• / - División• ** - Exponenciación• DIV - división Integral sin resto• MOD - El resto después de la división integral

Conditional Branches and Logical Expressions

IF & CASE.

Loops

Unconditional/index-controlled loopsHeader-Controlled LoopsRead Loops

Campos de sistema

Page 7: Certificación SAP TAW10_1 Capitulos 7 & 8

Mensajes de Dialogo

Trabajando con el debugger ABAP

Page 8: Certificación SAP TAW10_1 Capitulos 7 & 8

Unit 8Modularization

Objetivos de la UnidadDespués de completar esta unidad, usted será capaz de:• Nombrar las técnicas básicas de modularización• Definir subrutinas• Llamar subrutinas • Analizar la ejecución de subrutinas en modo de depuración• Búsqueda de módulos de función• Adquirir información sobre la funcionalidad y el uso de módulos de función• Llamar Módulos de función desde su programa• Crear un grupo de funciones• Creación de un módulo de función• Explicar el papel de BAPIs e identificar sus propiedades especiales• Explicar los términos básicos de la programación orientada a objetos• Obtener información sobre la función y el uso de las clasificaciones mundiales y sus métodos• Llamar a métodos de clases globales en sus programas• Creación de clases globales• Crear y aplicar métodos simples en clases globales• Describir cómo se definen, implementan y utilizan las clases locales

Técnica de Modularización

Page 9: Certificación SAP TAW10_1 Capitulos 7 & 8

Hay dos técnicas para la modularización local en un programa ABAP:• Las subrutinas, también conocidas como rutinas form• Los métodos de las clases locales

(Se puede llamar desde otro programa, pero esto contradice el principio de encapsulación de datos y funciones.)

Global Modularization

• Módulos de función que se organizan en grupos de funciones• Los métodos de las clases globales

Page 10: Certificación SAP TAW10_1 Capitulos 7 & 8

El número total de parámetros en una unidad de modularización se denomina la interfaz o de la firma.Los parámetros pueden ser de import, export o changing

Modularization with Subroutines

Distinto comportamiento de parámetros

También se pueden utilizar estructuras y tablas como parámetros

Page 11: Certificación SAP TAW10_1 Capitulos 7 & 8

En la solapa STANDARD en el debug se puede ver en los programas que llaman a la subrutina. La herramienta para esto es la pila de llamadas (Call Stack).

Modularization with Function Modules

Si un programa llama a un módulo de funciones, se carga todo el grupo de función correspondiente y se ejecuta el módulo de función. El grupo de funciones permanece cargado en la memoria de trabajo hasta que el programa que realizó la llamada se cierra. Por lo tanto, si se llama a un módulo de función que escribe los valores de los datos globales del grupo de funciones, otros módulos de función en el mismo grupo de funciones puede acceder a estos datos cuando se les llama en la misma ejecución del programa.

Buscando módulos de función

A través del navegador de objetos (SE80) A través del repositorio ABAP (se37) A través de la referencia de utilización

Modularización de los métodos de las clases globales

Principios de Programación Orientada a Objetos

Classes, Attributes, and Methods

La principal diferencia entre las clases globales y grupos de función es que un grupo de funciones con sus objetos de datos globales sólo se puede cargar una vez para el contexto del programa para cada programa principal, mientras que una clase mundial se puede cargar tantas veces como desee. Esto se conoce como la creación de instancias múltiples de la clase. En la práctica, esto significa que los valores en los objetos de datos globales de un grupo de funciones son las mismas para todas las llamadas de módulo de función. Por el contrario, una clase puede tener varias instancias (también

Page 12: Certificación SAP TAW10_1 Capitulos 7 & 8

conocido como objetos), cada uno de los cuales se almacenan por separado en el contexto del programa del programa principal. Por tanto, cada instancia puede tener diferentes valores de los atributos.

Un método de instancia sólo puede ser llamado si una instancia de clase fue generado previamente. Por el contrario, los métodos estáticos se pueden llamar sin instancia previa de la clase.

Seleccione la ficha Atributos para abrir la lista de las definiciones de los atributos de la clase.Si sólo desea utilizar la clase, entonces sólo aquellos atributos que se identifican como "público" son de interés. Usted puede abordar estos directamente fuera de la clase.

Con los métodos estáticos, la clase y el método se separan por "=>" (flecha de doble punta). Con los métodos estáticos el campo Instancia no necesita ser llenado.

Handling Class-Based Exceptions (Manejo de excepciones basadas en la clase)TRY.

cl_bc400_compute=>get_powerEXPORTING

iv_base = pa_int1iv_power = pa_int2

IMPORTINGev_result = gv_result.

WRITE gv_result.CATCH cx_bc400_power_too_high .

WRITE 'Max Value for Power is 4'.CATCH cx_bc400_result_too_high .

WRITE 'Result value was too high'.ENDTRY.

Como las instancias no tienen nombres, hay que definir las variables de referencia con el fin de ser capaz de generar y resolver instancias de clases. Son indicadores que pueden ser dirigidas a las instancias correspondientes. Las variables de referencia se definen mediante:

DATA gr_ref_name TYPE REF TO class_name.

Cuando se inicia el programa, una variable de referencia todavía tiene su valor inicial ("no apunta a una instancia"). Una vez que se ha utilizado para crear una instancia, ya no tiene el valor inicial y apunta a esa instancia.Puede utilizar la siguiente instrucción para generar una instancia de la clase que se especifica en la definición de las variables de referencia:

CREATE OBJECT gr_ref_name.

Posteriormente, la referencia variable apunta a la instancia recién creada.Cuando se utiliza CREATE OBJECT, es posible que tenga que proporcionar los parámetros de importación del método constructor CONSTRUCTOR con datos. Este método especial se ejecuta de forma automática directamente después de la creación de la instancia. Con sus parámetros de importación, que mantiene los atributos correspondientes de la nueva instancia.

Usted llama a los métodos de una instancia utilizando la sentencia

CALL METHOD gr_ref_name->method_name.

En contraste a llamar a un módulo de función, el nombre del método por sí solo no basta. Debe especificar la instancia pertinente, así, ya que es posible que el programa tenga varias instancias de esa clase.

Creación de clases globales y métodos estáticos

Page 13: Certificación SAP TAW10_1 Capitulos 7 & 8

Modularización de los métodos de las clases locales

Page 14: Certificación SAP TAW10_1 Capitulos 7 & 8

Para definir un método de instancia en comparación con el método estático, la declaración METHODS tendría que ser utilizado en lugar de la CLASS-METHODS.