- Se pueden declarar datos globalmente (accesibles desde todo el programa y sus subrutinas) o localmente (solo accesibles en la subrutina).
- Declaraciones globales facilitan el desarrollo pero pueden hacer menos eficiente la modularización y afectar el mantenimiento.
- Declaraciones locales favorecen la modularidad y el uso eficiente de memoria, declarando solo lo necesario en cada subrutina.
Formas de pasar parámetros-Diferencias entre tipos de parámetros
Se explicó la diferencia entre el nombre del parámetro actual (usado al llamar la subrutina con perform) y el nombre del parámetro formal (usado en la declaración con form) en ABAP, remarcando que sólo deben coincidir en orden y tipo.
En el paso por valor, se utiliza la palabra reservada value y las modificaciones a los parámetros dentro de la subrutina no afectan al valor fuera de ella.
En el paso por referencia, los parámetros sí conservan los cambios realizados dentro de la subrutina cuando el control regresa al programa principal.
También se abordó el paso por valor y resultado, que mezcla características de ambos enfoques.
Ejemplos prácticos y salidas
Se mostró que al declarar una variable (por ejemplo, B-f1 con valor 'B') y pasarla por valor a una subrutina, aunque dentro de la subrutina cambia de valor, al salir de la subrutina mantiene el valor original.
En el paso por referencia, se ejemplificó con variables que al ingresar con valores distintos y modificarse dentro de la subrutina mantienen esos cambios al volver al programa principal.
Para el paso por valor y resultado, se utilizó el ejemplo de dos variables donde una recibe el valor de la otra y, gracias al uso combinado de value y changing, el cambio es persistente tras la ejecución.
Estándares de nomenclatura ABAP
Se remarcó la diferencia entre variables globales y locales mediante prefijos: las globales usan B_ o BG_ y las locales BL_.Este estándar facilita la identificación del ámbito de cada variable en el programa.
Se comentó que la gran mayoría de los casos en la práctica se utiliza el paso por referencia, por ser el más flexible y aplicable a distintos requerimientos en desarrollo.
Se hizo un repaso intencional sobre todas las formas de pasar parámetros, resaltando la importancia de comprender bien cada una por sus efectos en el flujo del programa y en la persistencia de valores.
Repasar los conceptos de paso de parámetros por valor, por valor y resultado, y por referencia utilizando ejemplos prácticos en ABAP.
Adoptar los estándares de nomenclatura sugeridos para variables globales y locales en los desarrollos futuros.
- Revisar las subrutinas existentes para asegurar modularización y nombrado adecuado.
- Evaluar el uso de parámetros y su tipo de paso en las subrutinas utilizadas.
- Considerar migrar declaraciones globales innecesarias a variables locales dentro de subrutinas.