Close

marzo 11, 2014

Sintaxis de ABAP

Ahora veremos algunas de la reglas y sintaxis que se usa en los programas de ABAP. Aprenderemos cuales son los operadores lógicos, como se agregan comentarios al programa, como declarar variables y usar las instrucciones de ABAP.

Estructura básica de un programa sencillo.

Un programa básico de ABAP tiene una estructura como esta:

Comentarios

Los programas básicos inician con la instrucción REPORT y un nombre, luego declaramos variables, constantes y escribimos el código del programa.

Existen dos formas de agregar comentarios a un programa, si colocamos un asterisco (*) como primer carácter en una linea, toda la linea se trata como un comentario, para que funcione, el asterisco debe ser el primer carácter en la linea, no funciona si antes del asterisco hay un espacio en blanco. Si agregamos unas comillas dobles (“), todo después de las comillas es tratado como un comentario en esa linea. Ya sea el asterisco o las comillas dobles solo afectan la linea en la que se encuentran, no existen comentarios de bloque como los usados en lenguajes inspirados en C/C++ (/* */).

Fin de instrucción

En ABAP toda instrucción debe finalizar con un punto (.) esto es equivalente al punto y coma (;) que se usa en otros lenguajes como C/C++, Javascript, etc.

Operadores lógicos

Los operadores lógicos se resumen en esta tabla y vienen en dos opciones, utilizando símbolos como ( = ) o como letras por ejemplo EQ. Tenemos la libertad de usar el que más nos guste.

operadores-logicos

Bloques de decisión y ciclos (bucle)

Sentencia IF simple: Ejecuta un código si la condición es cierta

Sentencia IF/ELSE: Ejecuta un código si la condición es cierta, sino ejecuta otro código

Sentencia IF/ELSEIF: Ejecuta un código si la condición es cierta, sino ejecuta otro código si la segunda condicion es cierta.

Sentencia CASE: Evalúa una variable y ejecuta el código según el valor de la variable, por ejemplo si VARIABLE tiene un ‘1’, ejecuta “codigo 1”, si contiene un ‘2’ ejecuta ‘codigo 2’, si es cualquier otro valor ejecuta ‘codigo 3’

La sentencia DO, ejecuta un código n cantidad de veces, en el siguiente ejemplo el código se ejecuta 5 veces. El valor 5 se puede sustituir por una variable de tipo numérica.

La sentencia WHILE, ejecuta el código mientras la condición que se evalúa se cierta.

Variables del sistema

SAP mantiene una estructura llamada SY con valores del sistema, algunos de los más usados son:

variables-sistema-sap

Parámetros de un programa

Para solicitar un parámetro sencillo (un solo valor), utilizamos la sentencia PARAMETER, con el siguiente ejemplo se solicitará un parámetro llamado mes de tipo entero

Si necesitamos solicitar un rango de valores, por ejemplo una lista de sociedades, usamos la sentencia SELECT-OPTIONS, en esta debemos indicar un par tabla-campo y ademas haber declarado la tabla, por ejemplo:

Para usar un parámetro de tipo check box usamos AS CHECKBOX, podemos incluir un valor default = ‘X’ para que esta marcado de forma predeterminada. En SAP una X (mayúscula) es igual true (cierto) y un espacio en blanco es igual falso.

Si necesitamos indicar un parámetro en forma de botones de radio, el truco es definir varios parámetros dentro del mismo grupo (en este ejemplo es gp1), podemos reutilizar la sentencia parameter (y muchas otras) colocando dos puntos (:) y una lista de parámetros separados por comas.

También podemos crear marcos para agrupar parámetros según algún criterio de clasificación usando la sentencia SELECTION-SCREEN, por ejemplo el siguiente codigo genera un marco para un parametro

En el código anterior vemos que hay una variable llamada text-001, que es donde esta el titulo del marco, para asignarle un texto hacemos doble clic sobre él.

Si hemos probado estos fragmentos de código en nuestros programas veremos que los nombres que se muestran al ejecutarlo no son muy amigables, para cambiarlos entramos al menú Pasar a > Elementos de texto > Textos de selección. Luego definimos los nombres deseados y activamos los textos

textos-seleccion

Imprimir textos en pantalla

Para mostrar textos en pantalla usamos la sentencia WRITE, aqui hay algunos ejemplos de como se utiliza:

Para imprimir más de un texto agregamos dos puntos después del WRITE, el símbolo / se usa para hacer un salto de linea.

Ejercicio

Crear un programa que reciba un número del 1 al 7 y envié un mensaje diciendo que día de la semana es, por ejemplo si se ingresa 1 que imprima un mensaje diciendo “Domingo”. Si el número no está entre 1 y 7 que envíe un error.