TÉCNICAS DE MODULARIZACIÓN

10.1. MACROS

10.2. INCLUSIÓN DE CÓDIGO

10.3. ZONAS DE DATOS COMUNES

10.4. SUBRUTINAS

10.5. MÓDULOS DE FUNCIÓN

10.6. LLAMADA A UN REPORT

10.7. LLAMADA A UNA TRANSACCIÓN

 


10.1 MACROS:

Se han definido las macros ‘operación’ y ‘salida’, y además la primera hace uso de la segunda en su definición. Con esto se crea una nueva “instrucción” Abap/4 llamada ‘operación’, con 3 parámetros formales. Al ejecutarla con parámetros actuales ‘4’ ‘+’ ‘3’, lo que se ve en pantalla es: “El resultado de la operación 4 + 3 es 7”. Los operandos &1 y &3 son números, así como el resultado &4, y el operando &2 es el operador binario. En la variable ‘solución’ se calcula el resultado, y se llama a la macro ‘salida’ para mostrar éste en pantalla.

 

10.2. INCLUSIÓN DE CÓDIGO:

10.3. ZONAS DE DATOS COMUNES:

10.4. SUBRUTINAS:

Existen 2 tipos de subrutinas: internas (el código de la subrutina está dentro del programa que la llama) y externas (la subrutina está en un programa distinto al llamante). Las subrutinas se codifican al final del programa principal, tras todos los eventos. No se pueden anidar. Se puede salir de una subrutina con un EXIT (salida incondicional) o un CHECK (salida condicional), si estas sentencias no están dentro de un bucle. Sólo dentro de una subrutina se puede usarse la sentencia LOCAL campo, para declarar variables locales a la subrutina (sólo visibles dentro de ella). Deja oculto el valor de ese campo que tuviera antes de entrar a la subrutina, y lo restaura al salir de ésta.

 

  • Paso por valor y resultado: El parámetro formal y el actual ocupan posiciones de memoria distintas (se pasa una copia), pero su valor puede ser modificado por la subrutina (sólo si ésta termina incorrectamente y por tanto se lanza algún mensaje. En otro caso el parámetro no se modifica). Sólo se puede usar en CHANGING con VALUE.

10.5. MÓDULOS DE FUNCIÓN:

Una función es una subrutina externa especial que se almacena en una “biblioteca central” de SAP. Hay muchas predefinidas, de librería, así como subrutinas, que pueden ser llamados desde cualquier programa Abap/4. Se pueden crear otras nuevas (indicando el grupo de funciones al que van a pertenecer). Las funciones se crean por menú en Workbench Abap/4 – Biblioteca de Funciones. También se pueden ver y testar (probar su funcionamiento introduciendo valores en los parámetros de entrada de forma manual, al pulsar en el botón Test).

Se usa esta sentencia para crear el código fuente de un módulo de funciones. El nombre son 4 caracteres. No debe escribirse REPORT ni PROGRAM. El resto es similar a una subrutina, pero no se declaran con DATA variables para los parámetros EXPORT ni IMPORT (ya lo hace SAP automáticamente). Puede usarse en toda función de grupo de funciones XXXX un include llamado LXXXXTOP. El resto de includes que use la función se llamarán: LZZZZUYY, con ZZZZ el nombre de dicha función, e YY el número del include. Tras el ENDFUNCTION pueden codificarse las subrutinas que use dicha función, si tiene.


10.6. LLAMADA A UN REPORT:

10.7. LLAMADA A UNA TRANSACCIÓN: