✒️ABAP Las subrutinas
ABAP Las subrutinas
LAS SUBRUTINAS: son secciones de código que pueden ser utilizadas más de una vez dentro de un mismo programa y también pueden ser utilizadas por otros programas que las referencien. La idea de pasar código de programas a subrutinas, es para que los programas sean más fáciles de leer y mantener, a esto se le conoce como MODULARIZAR, la idea es que una subrutina no tenga más de 50 líneas de código para que sea más fácil la manera en la cual se detecta un error, la subrutina se declara con la palabra reservada PERFORM. ej:
PERFORM seleccionar_datos. Al crear la subrutina se pulsa doble click sobre ella y el sistema nos propondrá crear la subrutina y la crearemos en el programa de control. la longitud del nombre la subrutina no puede exceder los 30 caracteres.
LOS TIPOS DE SUBRUTINAS: existen 2 tipos:
Internas: cunado la subrutina se encuentra dentro del mismo programa o un include de subrutinas, el cual se encuentra declarado en el programa de control.
Externas: cuando la subrutina se encuentra en un programa distinto al que la llama. Para llamar a subrutina externa desde otro programa vamos a escribir la sentencia PERFORM de la siguiente forma:
PERFORM <nombre_subrutina> IN PROGRAMA <nombre_programa_subrutina>.
ej: llamar a una subrutina desde otro programa.
REPORT ztest_subrutina.
START-OF-SELECTION.
PERFORM seleccionar_datos IN PROGRAM ztest_subrutinas2.
EL PASO DE PARÁMTROS A SUBRUTINAS: podemos pasar datos entre el programa principal y una subrutina a través de parámetros, estos puede ser de 3 tipos:
***Entrada: se utilizan para pasar datos del programa principal a la subrutina.
***Salida: se utilizan para pasar datos de la subrutina al programa principal.
***Entrada y Salida: se utilizan para pasar datos del programa principal a la subrutina y también viceversa.
Para pasar los parámetros en las subrutinas vamos a utilizar 3 palabras reservadas:
***USING: para declarar parámetros de entrada que serán utilizados en la subrutina.
***CHANGING: para declarar parámetros de entrada/salida que serán utilizados en la subrutina.
***TABLES: para declarar parámetros de entrada/salida que son tablas, las cuales serán utilizadas en la subrutina.
Estas se utilizan de la siguiente manera: PERFORM <nombre_subrutina> TABLES <tabla_interna>
USING <parámetro_de_entrada>
CHANGING <parámetro_de_entrada_y_salida>.
DECLARACIONES DE DATOS GLOBALES Y LOCALES: cuando realizamos la declaración de variables, estructuras, tablas internas u otros tipos de datos podemos hacerlo de manera LOCAL y GLOBAL. Hasta ahora siempre los declaramos entre las sentencias REPORT y START-OF-SELECTION lo cuales se llamarían datos globales ya que puedes ser utilizados en cualquier parte del programa o subrutina que el programa contenga.
Como ventaja se puede indicar que la podemos utilizar en cualquier parte del programa sin problemas y como desventaja estamos obviando la modularización lo cual nos puede complicar el tema del mantenimiento al programa.
Otra manera que tenemos es la de declarar variables locales los cuales van a ser utilizados dentro de una subrutina en el programa y así modularizamos más nuestro programa evitando consumir muchos recursos del sistema, evitando también declarar datos globalmente que solo serán utilizados localmente, logramos utilizar también eficientemente el uso de la memoria en un programa ABAP. Esto se hace declarando DATA: dentro de FORM ENDFORM.
 
 
 
Sobre el autor
Publicación académica de Jean Carlos Lopez, en su ámbito de estudios para la Carrera Consultor ABAP.
Jean Carlos Lopez
Profesión: Ingeniero en Infomática - Venezuela - Legajo: AG33O
✒️Autor de: 61 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Certificación Académica de Jean Lopez