Академический Документы
Профессиональный Документы
Культура Документы
1-10
Bloques de Eventos son bloques de procesos ABAP que son llamados por
el sistema en tiempo de ejecucin. Los bloques de evento pueden
pertenecer lgicamente al programa ejecutable, a la pantalla de seleccin, al
listado o a la pantalla. Esta unidad trata con los bloques de eventos que
pertenecen al programa ejecutable.
Los Mdulos son bloques de proceso ABAP especiales para los procesos de
pantalla.
Sintaxis de un programa
2-10
Sintaxis de un programa
3-10
Leccin 1
Bloques de eventos
Los bloques de Eventos son indicados en el programa mediante una palabra clave y
est delimitado por el inicio del siguiente bloque de proceso. Los diferentes bloques
de eventos tienen diferentes tareas. El bloque de evento por defecto es:
START-OF-SELECTION.
Sintaxis de un programa
4-10
INITIALIZATION
AT SELECTION-SCREEN ON...
START-OF-SELECTION
END-OF-SELECTION
TOP-OF-PAGE
END-OF-PAGE
AT LINE-SELECTION
AT USER-COMMAND
TOP-OF-PAGE DURING LINE-SELECTION
Sintaxis de un programa
5-10
Leccin 2
Subrutinas
Uso de subrutinas
El uso de las subrutinas en un programa es muy importante. La mayor ventaja de
esto es que podemos:
-
Definicin de la subrutina
Cuando definimos una subrutina, especificamos qu parmetros de interfase van a
ser ofrecidos. Introducimos un nombre para cada parmetro y especificamos sus
atributos.
Usamos DATA para definir las variables. La memoria para estas variables est
disponible tan pronto como se llama a las subrutinas. Al finalizar la ejecucin de la
subrutina la memoria se libera.
En el cdigo fuente de la subrutina, podemos acceder a las variables locales y a los
parmetros de interfase por su nombre.
Sintaxis de un programa
6-10
Definimos una subrutina reservando una seccin para el cdigo fuente al final del
programa, usando FORM ... ENDFORM.
FORM <nombre de la subrutina> USING <parametro1><parametro2>
<nombre de la subrutina> especifica el nombre de la subrutina. El nombre debe
ser una sola palabra, y debe empezar por una letra, no por un nmero. Despus de
USING, listamos todos los parmetros que la subrutina necesita. <parametro> se
define de la siguiente forma:
VALUE(<nombre del parmetro>) TYPE <tipo>.
Usamos VALUE(...)para especificar los valores de los objetos de datos asignados a
los parmetros de interfase que deben ser pasados a la subrutina. (Esto es
conocido como pasar un valor).
Podemos elegir el nombre del parmetro de interfase <nombre del parmetro>.
En la subrutina podemos usar este nombre para acceder al valor pasado. Despus
del nombre del parmetro especificamos los atributos del tipo del parmetro de
interfase.
En el PERFORM (Llamada al FORM), si el objeto de datos asignado no es
compatible con el tipo del parmetro de interfase, el chequeo de sintaxis devuelve
un error.
Llamadas a subrutina.
Cuando llamamos a una subrutina, se genera un objeto temporal para ella.
En el momento de la llamada, los valores se copian en los parmetros de interfase
y el cdigo fuente de la subrutina es procesado secuencialmente. Despus de que la
subrutina haya sido procesada, el sistema contina para ejecutar el cdigo fuente
del programa que la ha llamado, inmediatamente despus de la llamada.
Sintaxis de un programa
7-10
Cuando definimos una subrutina, listamos todos los parmetros de entrada despus
de la adicin USING.
Luego aadimos la adicin CHANGING, seguida de todos los parmetros de
entrada/salida.
Sintaxis de un programa
8-10
Sintaxis de un programa
9-10
Leccin 3
Mdulos
Cada pantalla tiene dos bloques de evento:
- PROCESS BEFORE OUTPUT (PBO) es procesado inmediatamente antes
de que se muestre la pantalla.
- PROCESS AFTER INPUT (PAI) es procesado inmediatamente despus de
una accin de usuario. Todo el programa lgico que est influenciado por la
accin del usuario debe ser procesado en el PAI.
El cdigo del PBO y el PAI se escribe en el Screen Painter. Estos dos eventos
conforman el flujo lgico de una pantalla.
MODULE <nombre del mdulo ABAP> es el comando ms importante de la
Pantalla ABAP. Llama a un bloque de proceso que denominaremos mdulo.
Los mdulos empiezan con MODULE y terminan con ENDMODULE.
El uso de mdulos dentro de los bloques Process Before Output y Process After
Input es muy recomendable ya que algunas sentencias Abap no pueden ejecutarse
directamente en estos bloques, deben de ejecutarse dentro de un MODULE.
Los mdulos asignados al evento PBO debern complementarse con el parmetro
OUTPUT y los asignados al PAI con el parmetro INPUT
Sintaxis de un programa
10-10