✒️ABAP Las subrutinas
ABAP Las subrutinas
Unidad 4: Subrutinas, Funciones y Batch.
Lección 1: Subrutinas
1.1 ¿Qué son las subrutinas?
Ø Subrutinas: secciones de código que pueden ser utilizadas más de una vez
Ø Modularizar: pasar el código de un programa a subrutinas.
Ø PERFORM
Ø Longitud 30 caracteres en nombre de subrutina
1.2 Tipos de subrutinas
Ø Internas: mismo programa que las llama
Ø Externas: programa distinto.
1.3 Subrutinas internas
Ø FORM-ENDFORM
Ø Parámetros actuales. Definidos en programa principal
Ø Parámetros formales. Definidos en la subrutina.
1.4 Paso de parámetros a subrutinas
Ø TABLES
Ø USING
Ø CHANGING
Ø Paso por valor: los parámetros formales con creados como copia de los actuales. Formales no afectan a los actuales.
Ø Paso por referencia: la dirección de los parámetros actuales se transfieren a los parámetros formales, si cambiamos formales cambian los actuales.
Ø Paso por valor y resultado. Los parámetros formales son creados como copias de los parámetros actuales. Los formales son copiados a los actuales al final de la subrutina.
Ø VALUE Audio tip
1.5 Subrutinas externas.
Ø PERFORM
Ø INCLUDE
Audio tip 1.
Cómo vemos en la imagen anterior, el nombre del parámetro actual v_f1, es decir, el que se específica a la derecha de la palabra reservada PERFORM es diferente al nombre del parámetro formal pf1, es decir el que se especifica a la derecha de la palabra reservada FORM en la declaración de la subrutina paso_por_valor. Basta con que ambos parámetros se encuentren en el mismo orden y su tipo sea el mismo para que ABAP los interprete correctamente. Para pasar parámetros por valor, utilizamos en la declaración de la subrutina la palabra reservada VALUE y encerramos al parámetro entre paréntesis. Cuando se pasan parámetros por valor debemos tener bien claro que las modificaciones que se realicen al parámetro dentro de la subrutina, no tendrán efecto alguno fuera de la subrutina en el programa principal.
Ahora bien expliquemos porque la salida por pantalla es B. Al momento de declarar en el programa principal la variable v_fi, le asignamos el valor B. Luego ejecutamos la subrutina paso por valor pasando a la variable v_f1 como parámetro por valor. Dentro de la subrutina paso por valor vemos que el nombre del parámetro cambia y que se le asigna al mismo una X, tal como mencionamos anteriormente debido al paso a la salida de la subrutina el parámetro v_f1 no vuelve a tener el mismo valor que tenia antes de ingresar a la misma , es decir, B. Finalmente el contenido de la variable en pantalla será B.
Audio tip 2:
Como vemos en la imagen anterior los nombres de los parámetros actuales v_g1 y v_g2, es decir, lo que se especifican a la derecha de la palabra reservada PERFORM son diferentes a los nombres de los parámetros formales p_g1 y p_g2 es decir los que se especifican a la derecha de la palabra reservada FORM en la declaración de la subrutina paso por referencia.
Vasta conque los parámetros se encuentren en el mismo orden y sus tipos sean el mismo para que ABAP los interprete correctamente. Cuando se pasan parámetros por referencia debemos tener bien claro que las modificaciones que se realicen al parámetro dentro de la subrutina SI tendrán efecto fuera de la subrutina en el programa principal.
Ahora bien expliquemos porque la salida por pantalla es A B y X X. Al momento de declarar en el programa principal las variables v_g1 y v_g2 les asignamos los valores A y B, luego imprimimos en pantalla las variables por lo que la salida en pantalla es A B a continuación ejecutamos la subrutina paso por referencia pasando ambas variables como parámetros por referencia, dentro de la subrutina vemos que los nombres de los parámetros cambian por p_g1 y p_g2 y que ambos parámetros se les asigna una X, a la salida de la ejecución de la subrutina en el programa principal los parámetros conservan el valor asignado a la subrutina debido al paso por referencia, es decir, X. Finalmente la impresión del contenido de las variables en pantalla serán X X.
 
 
 
Sobre el autor
Publicación académica de Brenda Castillo Domínguez, en su ámbito de estudios para la Carrera Consultor ABAP.
Brenda Castillo Domínguez
Profesión: Ingenieria en Sistemas Computacionales - Mexico - Legajo: HJ67S
✒️Autor de: 187 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
- Curso Introducción a SAP
Disponibilidad Laboral: FullTime
Certificación Académica de Brenda Castillo