
MODULARIZAR: se llama asi a la accion de pasar el codigo de unn programa a subrutinas, para mejorar la lectura y mantenimiento del mismo.
la modularizacion ayuda a encontrar mas facilmente los errores en los programas.
una subrutina se declara con la palabra reservada PERFORM.
Existen 2 tipos de subrutinas:
Internas: cuando las subrutinas esta dentro del mismo programa que la llama.
Externas: cuando la subrutina esta en un programa distinto al que lo llama como puede ser en caso de un include de subrutinas o otro programa.
los parametros son de 3 tripos:
de entrada : cuando se utiliza para pasar datos del programa principal a la subrutina.
de salida: cuando se utliza para pasar los datos de la subrutina al programa principal.
de entrada y salida: cuando se uilizan para pasar datos entre de la subrutina al programa principal y tambien viceversa.
para pasar los parametros tenemos 3 opciones.
USING , CHANGING ,TABLES. el orden seria
PERFORM subrutina TABLES (tabla de salidas)
USING (parametro de entrada)
CHANGING (parametro de salida)
Existen 3 formas de pasar parametros .
PASO POR VALOR: durante la llamada a la subrutina, los parametros formales son creados como copias de los parametros actuales.los cambios en los parametros formales no afectan a los parametros actuales.
PASO POR REFERENCIA:durante la llamada a la subrutina , solo la direccion de los parametros actuales se transafieren a los parametros formales . dentro de la subrutina , se trabaja con el campo del programa que hace la llamada.
si cambiamos los parametros formales , el contenido del campo programa que hace la llamada tambien cambia.
PASO POR VALOR Y RESULTADO: durante la llamada a la subrutina, los parametros formales son creados como copias de los parametros actuales. los cambios en los parametros formales son copiados a los parametros actuales al final de la subrutina.