Está en la página 1de 11

CURSO ABAP PARA CONSULTORES

1. Principales instrucciones y comandos ABAP.


Una tabla está compuesta por diferentes estructuras.
En un programa tenemos diferentes instrucciones.
Algunas definiciones de datos son:
- Types: Define tipos de datos, no se usan en los programas para contener
información.
- Types-pool: definiciones de datos que se pueden reusar.
- Data: Definición de variables, estructuras, tablas internas y objetos
referenciados. El valor de estos datos puede cambiarse en el programa.
- Constatns: constantes. El valor de estos datos no puede variar.
- Field-symbols: Se comporta como un puntero. Referencia al contenido de un
dato. Para que apunten al objeto requerido se usa la instrucción ASSIGN.
- Parameters y select-options: son variables que se muestran en la pantalla de
selección.

1.1. Tratamiento de datos en la base de datos.

Instrucciones para tratar la información de una tabla:


- Select: selecciona los datos de las tablas.
- Insert: Inserta datos en la tabla.
- Update: actualiza datos en la tabla.
- Modify: realiza un INSERT si el dato no existe y un UPDATE si existe.
- Delete: borra datos de la tabla.
- Get: recupera datos de la tabla.
- Import: realiza una selección de datos de un clúster de datos.
- Export: realiza una actualización de un clúster de datos

1.2. Tratamiento de datos en programas.

- Read: Lectura de un solo registro de una tabla interna.


- Insert: insertar un registro en una tabla interna en una línea determinada.
- Append: insertar un registro al final de una tabla interna.
- Delete: borrar un registro de una tabla interna.
- Loop at: recorre los datos de una tabla interna de manera ordenada. Los
comandos AT y SUM están asociados al LOOP.
- Loop: este recorre un extracto de datos no una tabla interna. El formato se
define con NODES, FIELD-GROUP e INSERT. El extracto de datos es similar
a una base de datos lógica construida en local.
Existen comandos como el REPLACE, TRASNLATE, SPLIT, ETC
Para comparar cadenas de caracteres están: CO, CN, CA, NA, CS, NS, CP y NP o IN,
IS y BETWEEN.

1.3. Agrupación y reutilización.

- Include: es un trozo de texto (código) que puede incluirse en cualquier


desarrollo. Los INCLUDE por si mismos no copilan deben estar incluidos en
otro código.
- Form: rutinas se usan para realizar procesos repetitivos o para separar y ordenar
el código de un programa. La rutina puede estar en el mismo programa o en otro.
- Function: Acceso a módulos de funciones, pueden usarse en cualquier
desarrollo.
- Method: funciona igual que una función.
- Define: Se definen macro instrucciones. El funcionamiento de las macro
instrucciones es una mezcla entre un FORM con parámetros modificables y un
INCLUDE. Se invocan usando solo su nombre y los parámetros a usar.

1.4. Puntos de ruptura y de salida.

- Exit: sale de una rutina, de un evento o de un bucle.


- Stop: en un REPORT pasa a ejecutar un END OF SELECTION.
- Check: si se cumple la condición continua y si no va al final de la rutina, el
evento o el bucle.
- Continue: dentro de un bucle finaliza el tratamiento actual y continúa con el
siguiente ciclo.
- Raise: Finaliza el tratamiento en una función lanzando una excepción de la
misma.
- Leave: Salir de un programa o de una pantalla. Permite salir completamente o
navegar de un lugar a otro.

2. Comunicación entre objetos.


2.1. Tipo de objetos.

- Pool de subrutinas: tipo de programa que solo contiene variables y FORMS.


Ejemplo:
- Report: programa que es ejecutable.
- Module pool: programa para gestión de pantallas. Ejemplo:

- Grupos/Módulos de funciones: tratamiento encapsulados para realizar acciones


repetitivas.
- Clases/métodos: tratamientos encapsulados para realizar acciones ABAP
orientado a objetos. Ejemplo:
2.2. Llamada a distintos objetos.

- Llamadas a subrutinas: instrucción PERFORM.


o Permite llamar a rutinas del mismo programa o de un código compilado.
o Permite paso de parámetros de entrada y salida.
o Permite llamadas dinámicas.
- Llamadas a módulos de funciones: instrucción CALL FUNCTION.
o Se puede llamar desde cualquier código.
o Permite paso de parámetros de entrada y salida y tratamiento de
excepciones.
o Permite llamadas dinámicas.
- Llamada a métodos: CALL METHOD.
o Es necesario instanciar el objeto al que modifica.
o Permite paso de parámetros de entrada y salida y tratamiento de
excepciones.
o Permite llamadas dinámicas.
- Llamadas a pantallas: CALL SCREEN Y LEAVE SCREEN.
o Permiten acceder a una pantalla definida en el código actual.
o No hay pasos de parámetros.
o Permite llamadas dinámicas.
- Llamadas a programas: instrucción SUBMIT.
o Se pueden llamar desde cualquier código.
o Permite paso de parámetros de entrada y de formas de ejecución.
o Permite llamadas dinámicas.
- Llamadas a transacciones: CALL TRANSACTION.
o Se puede llamar desde cualquier código.
o Permite paso de parámetros de entrada y tratamiento de excepciones.
2.3. Memoria en SAP.
La memoria se usa para guardar información. También se puede usar para traspaso de
información entre programas:
- Parámetros:
o Traspaso de información simple.
o Se guarda en la memoria en la sesión de usuario.
o El valor de los parámetros se puede iniciar con la sesión y cambia con el
tratamiento posterior de los programas.
o Los comandos usados son GET/ SET.
- Clúster:
o Traspaso de información compleja.
o Se guarda en la memoria de sesión de usuario o en el diccionario.
o Los comandos usados son IMPORT/ EXPORT/ FREE.
Compartir memoria en llamadas FORM.
Es posible compartir memoria entre dos programas para que al realizar llamadas FORM
entre ellos las variables globales traspasen información.
Para ello en ambos programas debe haber variables comunes. Esto se hace mediante la
instrucción COMMON PART.
Acceso a la memoria.
Para acceder a las posiciones de memoria de forma dinámica se usan los punteros. Al
definir un puntero no es necesario asignarle memoria ni darle una forma, este tipo de
variable se ajusta al formato del dato al que apunta y permite modificarlo. La
instrucción para apuntar es ASSIGN.

3. Utilidades del versionado de objetos.


3.1. Versionado de objetos.

SAP contempla versionado automático de todos los objetos en desarrollo. La versión no


es más que una orden de transporte.
Para conseguir una versión es necesario liberar la orden de transporte correspondiente.
Tratamiento de versiones.
Para acceder desde el código a las versiones se hace con el siguiente menú:
Utilidades  Versiones  Gestión de las versiones.
Visualizar versiones.
Rescatar versión.
Comparar versiones.
Comparar con sistema remoto.
Comparación de programas.
Para comparar el código de programas se accede por menú:
Utilidades  Más utilidades  Editor Split Screen

4. Enhancements y BADIS.

Estos objetos están en SAP para permitir introducir código dentro de otro código de una
forma estándar.
Son la evolución para orientación a objetos de las USER-EXIT y FIELD-EXITS.
Desde un punto de vista técnico son clases y métodos.
Permiten implementar código en punto concretos y deben ser revisadas con cuidado ya
que uso puede tener consecuencias adicionales a las esperadas.
Enhancements: este tipo de ampliación está extendiéndose por el código SAP como
solución estándar para modificar el propio código estándar.
Ampliaciones de tipo implícito.
Son ampliaciones predefinidas provistas por SAP en el código fuente.

BADIs: Bussiness Ad-ins


Básicamente cumplen la misma función que las USER EXITS y las FIELD EXITS
excepto las siguientes diferencias:
- BADI se puede usar todas las veces que quieras, donde las users exits solo se
pueden usar una sola vez.
- Las BADI´s son mucho más moldeables a las necesidades del programador en
cuanto a que podamos definir los puntos de salida, junto con la lógica de
programación que necesitamos. Posee todas las propiedades de una
programación orientada a objetos.
Este tipo de ampliaciones permite cambiar el funcionamiento y adaptarlo en casi
cualquier punto pero también es necesario limitarlo ya que puede afectar a otros
procesos relacionados.

5. Opciones de DEBUG.
5.1. Modos de Debug.
Debug clásica.
Debug actual.
6. Break y watchpoints.
6.1. Break-points: tipos.
Existen dos tipos de puntos:

- Internos: estos se usan para realizar paradas de DEBUG del usuario que ha
comenzado la sesión.

- Externos: se usan para capturar las ejecuciones de otros usuarios. Son útiles en
ejecuciones desde un entorno WEB en el que el usuario de comunicación con el
que se prueba no suele ser el mismo que el usuario del entorno de desarrollo.
Opciones para situar Break-points.
 Si se conoce el lugar exacto en el código se puede acceder a ese código y
marcarlo.
 Directamente en un lugar concreto del código desde DEBUG.
 Se pueden crear desde DEBUG en el menú con las opciones que se muestran.
 Se pueden crear desde el DEBUG la solapa de BREAK-/Watchpoints.
6.2. Watchpoints.
Son similares a los BREAK-POINTS condicionados pero no es necesario saber el punto
en el que hay que ponerlos, ya que se paran sin tener lugar un lugar previo y sólo en
función de que se cumpla las condiciones.
Se pueden poner de dos formas:

7. DEBUG en formularios.

7.1. Smartforms.
Los smartforms son una evolución de los formularios. Este tipo de formulario genera
automáticamente un grupo de funciones.
Para realizar el DEBUG de un SMARTFORM hay dos formas:
- La primera consiste en indicar poner en algún punto del código que se permite
incluir un BREAK-POINT codificado. Dentro de los distintos puntos en los que
se permite incluir código.
- La segunda es poner un BREAK-POINT en el grupo de funciones que se ha
generado. Desde el formulario se accede a través: entorno Nombre del módulo
de funciones.

8. Análisis de DUMP.

Causas que pueden provocar un DUMP.

- Un diseño incorrecto: volúmenes de datos a tratar; tiempos de respuesta;


memoria disponible.
- Codificación deficiente: ejecutar sentencias en puntos incorrectos; cálculos
incorrectos; llamadas a subrutinas; funciones o métodos con parámetros
incorrectos.
- Provocados: es posible provocar un DUMP con un mensaje tipo “X” con el
objetivo de analizar datos posteriormente.

Provocar un dump.
Para analizar un DUMP esta es la mejor opción.
Ejecutar los pasos que provocan el DUMP para conseguir obtenerlo directamente.

En este caso es posible realizar dos acciones:


- Acceder a la información de análisis del DUMP.
- Abrir el modo DEBUG en el punto en que se ha producido el DUMP.
Se accede a la t-code ST22. En este modo se guarda la información del sistema en el
punto en que se ha producido el DUMP: información general y categorización,
Entorno y sistema, vista de usuario, vista de programador ABAP y vista de
programador BASIS.

También podría gustarte