transfer

La sentencia EGL transfer transfiere el control de un programa principal a otro, finaliza el programa que realiza la transferencia y, opcionalmente, pasa un registro cuyos datos se aceptan al registro de entrada del programa receptor. No puede utilizarse una sentencia transfer en un programa llamado.

El programa puede transferir el control mediante una sentencia del formato transferir a transacción :
  • Una transferencia a transacción actúa del siguiente modo:
    • En un programa ejecutado como un como programa principal por lotes o de texto Java, el comportamiento depende del valor de la opción synchOnTrxTransfer del descriptor de construcción:
      • Si el valor de synchOnTrxTransfer es YES, la sentencia transfer compromete los recursos recuperables, cierra archivos, cierra cursores e inicia un programa en la misma unidad de ejecución.
      • Si el valor de synchOnTrxTransfer es NO (valor por omisión), la sentencia transfer también inicia un programa en la misma unidad de ejecución, pero no cierra ni compromete recursos, que están disponibles para el programa invocado.
    • En un PageHandler, no puede realizarse una transferencia a una transacción; en lugar de ello, utilice la sentencia forward.

El componente de opciones de enlace, elemento transferLink no tiene ningún efecto cuando se transfiere el control desde código Java a código Java; de lo contrario, es significativo.

Si transfiere código de control a un código que no se ha escrito con EGL o VisualAge Generator, es aconsejable establecer el elemento transferLink del componente de opciones de enlace. Establezca la propiedad linkType en externallyDefined.

Si la ejecución se realiza en modalidad de compatibilidad con VisualAge Generator, puede especificar la opción externallyDefined en la sentencia transfer, como ocurre en los programas migrados desde VisualAge Generator; sin embargo, no es aconsejable establecer el valor equivalente en el componente de opciones de enlace. Para obtener detalles acerca de la modalidad de compatibilidad de VisualAge Generator, consulte el apartado Compatibilidad con VisualAge Generator.


Diagrama de sintaxis para la sentencia transfer
program nombreDestino (valor por omisión)
El programa que recibe el control. S
transaction nombreDestino
La programa que recibe el control, como se ha descrito anteriormente.
sysVar.transferName
Función de sistema que contiene un nombre destino que puede establecerse durante la ejecución. Para obtener detalles, consulte la función sysVar.transferName.
passing nombreRegistro
Un registro que se recibe como registro de entrada en el programa destino. El registro pasado puede ser de cualquier tipo, pero la longitud y los tipos primitivos deben ser compatibles con el registro que recibe los datos. El registro de entrada en el programa destino debe ser de tipo basicRecord.

Consulta relacionada
transferName

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.