Ver Mensaje Individual
  #2  
Viejo 21/07/06, 08:46:48
Avatar de RosaR
RosaR RosaR is offline
Junior Member
 
Fecha de Ingreso: jun 2006
Localización: Madrid
Mensajes: 3
Hola:

Te mando unas lineas que espero te lo aclaren, mándame tu correo y te envío un manual.

Un saludo
Rosa R.

Tipos de subrutinas
Existen 3 tipos de subrutinas o subprogramas.
Internas: El Subprograma y la llamada a éste están en el mismo programa.
Externas : El Subprograma y la llamada a éste están en programas distintos.
Biblioteca de funciones (Módulos de función) : Funciones externas al programa con
interface de llamada claramente definido.


Subrutinas externas y Módulos de función
En un report, podemos llamar a subrutinas que no se encuentren dentro de nuestro
código. Para ello disponemos de la modalidad de llamada a subrutina pasándole el
programa, el uso de includes, y las llamadas a módulos de función.
· Si queremos llamar a una subrutina que está en un programa distinto utilizamos:
PERFORM <sub> (<programa>) USING...
· También existe la posibilidad de añadir porciones de código del tipo INCLUDE con la
instrucción:
INCLUDE <report>.
En el código del INCLUDE no utilizaremos la sentencia REPORT...
· Los módulos de función son módulos especiales guardados en una librería central, y
agrupados por la función que realizan. Principalmente se caracterizan por un interface
definido y porque realizan tratamiento de excepciones.
Se caracterizan por un interface definido ya que su diseño facilita el paso de parámetros
tanto de entrada como de salida.
CALL FUNCTION <funcion>.
EXPORTING <par_E>=<valor>
...
IMPORTING <par_S>=<valor_ret>
...
TABLES <tab_Func>=<tab_Prog>
...
EXCEPTIONS <excep>=<valor>
...
Donde en el EXPORTING especificamos los parámetros de entrada, en el IMPORTING
(opcional) el resultado o retorno de la función y en TABLES (opcional) las tablas que se
utilizan como parámetros.
Los módulos de función también se caracterizan por realizar un tratamiento de
excepciones. En el interface de los módulos de función se indican los valores de
excepciones para el retorno del módulo, que posteriormente con el SY-SUBRC se
pueden comprobar.
Responder Con Cita