Autooperador batch

Descripción general

Se ha creado un programa de usuario, que puede incluirse en perfiles o llamarse desde los propios programas de usuario, que permite entre otras cosas, enlazar con los planificadores de la entidad y lanzar JCLs o procedimientos. Con motivo de la incorporación de esta nueva funcionalidad, se ha modificado el área de paso al programa de usuario en el caso de A7I, de forma que se pasa la sesión de presentación en lugar de la sesión de transmisión.

Dicho programa es el ZTBGBUOP, el cual tira de un fichero que contiene la lista de peticiones, llamado Prefijo instalación-ZTBGFUSU, plano de 200.

Elementos de entrada / salida

Área de comunicación: pasada por los programas de Editran invocantes. Su contenido se especificó en el programa de usuario.

Fichero empleado en el programa (ZTBGFUSU), creado por el propio usuario, cuyo formato se especifica a continuación:

01  REG-FUSU.                                       
     03 REG-200-FUSU                   PIC X(200).   
     03 REG-CGO-A7I-FUSU REDEFINES REG-200-FUSU.     
        05 EMI-REC-FUSU               PIC X(3).      
        05 FILLER                     PIC X.         
        05 CGOS-FUSU OCCURS 36.                      
           10 CGO-A7I-FUSU            PIC X(3).      
           10 FILLER                  PIC X.         
        05 FILLER                     PIC X(52).     
     03 REG-PETICIONES-FUSU REDEFINES REG-200-FUSU.  
        05 PETICION-E-FUSU            PIC X(40).     
        05 FILLER REDEFINES PETICION-E-FUSU.         
           10 FUNCION-E-FUSU          PIC X(02).     
           10 SESION-PRES-E-FUSU.                    
              15 LOCAL-E-FUSU         PIC X(9).      
              15 REMOTO-E-FUSU        PIC X(9).      
              15 APLICACION-E-FUSU    PIC X(6).      
           10 REFERENCIA-A7I-E-FUSU.                  
              15 EMI-REC-A7I-E-FUSU   PIC X.
              15 CGO-A7I-E-FUSU       PIC X(03).
           10 FILLER                  PIC X(10).
        05 PETICION-S-FUSU            PIC X(160).
        05 FILLER REDEFINES PETICION-S-FUSU.    
           10 FUNCION-S-FUSU          PIC X(02).
           10 SESION-PRES-S-FUSU.               
              15 LOCAL-S-FUSU         PIC X(9). 
              15 REMOTO-S-FUSU        PIC X(9). 
              15 APLICACION-S-FUSU    PIC X(6). 
           10 HORA-INI-FUSU           PIC X(4). 
           10 HORA-FIN-FUSU           PIC X(4). 
           10 COD-RET-S-FUSU          PIC 9(4). 
           10 FILLER REDEFINES COD-RET-S-FUSU.           
              15 NRO-REINT-FUSU       PIC 9(4).          
           10 NFUNCION-S-FUSU         PIC X(02).         
           10 UBICACION-S-FUSU        PIC X(44).         
           10 FILLER REDEFINES UBICACION-S-FUSU.         
              15 TIEMPO-WAIT-FUSU     PIC 9(8).          
              15 FILLER               PIC X(36).         
           10 FILLER                  PIC X(76).
          

Nivel

Nombre

Long.

Tipo

Descripción

1

Registro de códigos A7I tratables.

200

Alfn.

Registro de códigos de referencia A7I que van a ser tratados por el programa.

Pueden establecerse varios registros de este tipo.

2

Tipo de A7I

3

Alfn.

‘EMI’. Los códigos que vienen en el registro son de emisión

‘REC’ Los códigos que vienen en el registro son de recepción.

2

Filler

1

Alfn.

Espacio de separación

2

Tabla códigos A7I

144

Alfn.

Tabla de referencias A7I de emisión o recepción OCCURS 36 (se desprecian los 2 últimos octetos)

3

Referencia A7I

3

Núm.

Referencia del A7I

3

Filler

1

Alfn.

Espacio de separación

2

Filler

52

Alfn.

Área de reserva

1

Registro de acciones de entrada-acciones de salida

200

Alfn.

Registro donde se introduce la acción causante y la acción a tomar.

2

Acción causante

40

Alfn.

Parte de datos reservada a la acción causante

3

Función causante

2

Núm.

Espacios: cualquier acción

01: Carga de emisión

02: Posterior a emisión

03: Emisión de la presentación

05: Excepción de emisión (interrumpir emisión)

06: Inicialización de la recepción

07: Posterior a la recepción

08: Recepción de la presentación

09: Excepción de recepción (interrumpir recep)

3

Sesión presentación

Causante

24

Alfn.

Código de la sesión de presentación.

4

Origen presentación

Causante

9

Alfn.

Código origen de la sesión de presentación causante

Espacios: Cualquier código es válido

4

Destino presentación causante

9

Alfn.

Código destino de la sesión de presentación causante

Espacios: Cualquier código es válido

4

Aplicación presentación

Causante

6

Alfn.

Aplicación de presentación causante

Espacios: Cualquier código es válido

3

Referencia A7I

Causante

4

Alfn.

Referencia A7I específica a tratar en la petición (en caso de función 05 y 09).

Espacios: Se busca en el registro de A7I.

4

Tipo Ref. A7I

Causante

1

Alfn.

Tipo Referencia A7I (E:Emisión, R:Recepción).

4

Código Ref. A7I

Causante

3

Núm.

Código Referencia A7I.

3

Filler

10

Alfn.

Área de reserva de la petición causante

2

Acción a tomar

160

Alfn.

Parte de datos reservada a la acción a tomar

3

Función de acción a tomar

2

Núm.

01: Carga de emisión

02: Posterior a emisión

03: Emisión de la presentación

05: Excepción de emisión (interrumpir emisión)

06: Inicialización de la recepción

07: Posterior a la recepción

08: Recepción de la presentación

09: Excepción de recepción (interrumpir recep)

21: Devolver código de retorno

22: Submitir procedimento

23: Submitir JCL

24: Control de número de reintentos en A7I

25: Esperar un tiempo (WAIT), antes de continuar realizando lo especificado.

3

Sesión presentación de acción a tomar

24

Alfn.

Código de la sesión de presentación

4

Origen presentación de acción a tomar

9

Alfn.

Código origen de la sesión de presentación de la acción a tomar.

4

Destino presentación de acción a tomar

9

Alfn.

Destino de la sesión de presentación de la acción a tomar.

4

Aplicación presentación de acción a tomar

6

Alfn.

Aplicación de la sesión de presentación de la acción a tomar.

3

Hora inicio de acción a tomar

4

Núm.

Espacios o ceros: No valida hora de inicio.

HHMM: Se validará que la acción a tomar sea posterior a la hora de inicio acción

3

Hora fin de acción a tomar

4

Núm.

Espacios o ceros: No valida hora de fin

HHMM: Se validará que la acción a tomar sea anterior a la hora fin de acción

3

Código de retorno de acción a tomar

4

Núm.

Código de retorno que devolverá el programa. Sólo se utiliza en caso de que acción a tomar sea igual a 21

3

REDEFINICION

4

Número reintentos

4

Núm.

Número de reintentos (0001-9999).

Sólo se utiliza en caso de que acción a tomar sea igual a 24 y se trate de un A7I

3

Nueva función a tomar

2

Núm.

Nueva acción a tomar (ver acción a tomar), en caso de que acción a tomar = 22.

Puede tomar el valor que quiera el usuario para su procedimiento

3

Ubicación del JCL de acción a tomar

44

Alfn.

Campo con variables para ejecutar un JCL-procedimiento (tal y como se especifica en la tabla correspondiente). Sólo se utiliza en caso de que acción a tomar sea igual a 22 o 23.

En caso de que la acción sea 23, sólo se consignará el nombre del procedimiento, que podrá ser un nombre variable (de hasta 8 posiciones)

3

REDEFINICION

4

Tiempo wait

8

Núm.

Tiempo de espera o de WAIT antes de continuar (HHMMSSDC).

Sólo se utiliza en caso de que acción a tomar sea igual a 25 y se trate de un A7I

4

Filler

36

3

Filler

86

Alfn.

Área de reserva de la petición causante

Dentro de la ubicación, el nombre del job, será de 8 caracteres. Si no es así, se genera un carácter al final que será el dígito de la petición entrante.

Para dar la ubicación del procedimiento o del JCL se seguirán las normas de poner punteros variables utilizadas para escoger el nombre del fichero de aplicación de recepción, en concreto:

Variables % permitidas. Si la variable de estrada no contiene un valor válido se aplica el valor por defecto (como las variables permitidas son más, el ZTBGBUOP, deberá controlar que sólo están las especificadas a continuación):

Var

Significado

Valor válido.

Valor por defecto.

%Y

Último dígito del año

%A

Dos últimos dígitos del año (aa)

%M

Mes en dos dígitos (mm)

%X

Mes en un carácter (1,2,3,4,5,6,7,8,9,O,N,D)

%D

Día del mes (dd)

%H

Hora (hhmmss)

%R

Los 7 últimos caracteres del código del extremo remoto

Distinto de espacios o x’00’

Ceros

%P

Código de aplicación

Distinto de espacios o x’00’

Ceros

Condiciones de llamada

El programa se ejecuta al ser requerido por el programa principal del procedimiento o por el programa de usuario ya creado, una vez que ha terminado el tratamiento completo del proceso.

Las condiciones de entrada del programa varían en función del proceso:

  • Previo a emisión: Se invoca después de la carga de los tampones de emisión, independientemente de si lo ha conseguido o no (código de resultado = 0 o # 0).

  • Previo a recepción: Después de inicializar los tampones.

  • Posterior a emisión: En la finalización del proceso de la última sesión de transmisión.

  • Posterior a recepción: Después de la descarga de los datos que se desencadena al finalizar la última sesión de transmisión.

  • Excepción: Se invoca el programa en cualquier caso.

Se adjunta un ejemplo a continuación en el que se especifica el contenido del fichero ZTBGFUSU:

El significado sería:

  • Ficha 01: Códigos de referencia A7I de emisión, que serán tratados por programa.

  • Ficha 02: Códigos de referencia A7I de recepción, que serán tratados por programa.

  • Ficha 03: Cuando llegue un A7I de recepción de la sesión descrita, 000099980000099940PRUEBA, si el código A7I pertenece a los de la ficha 02, se solicita la recepción de la presentación (función 08) de dicha sesión.

  • Ficha 04: Cuando llegue cualquier mensaje que tenga un A7I de emisión con código E230 (aunque no esté en la ficha 02), se lanzará un previo a emisión, siempre que la hora de sistema esté comprendida entre las 10:30 y las 11:30.

  • Ficha 05: Cuando llegue una carga de emisión de la sesión A7I de recepción con referencia R100 del remoto-aplicación descritos, con cualquiera de los códigos multientorno de mi entidad, se finalizará el job que se está ejecutando con return code 29.

  • Ficha 06: Cuando llegue una petición de carga de emisión de la sesión 000099980000099940PRUEBX, se generará un procedimiento llamado J0099940. Se le pasarán como PARM : ORIGEN=’A’, FUNCION=’03’, L0=’alias del subentorno local’, L01=’000098’, L2=’980’, R1=’000094’, R2=’980’, AP=’PARAMI’.

  • Ficha 07: Cuando llegue una petición de carga de emisión de la sesión 000099980000099940PRUEBA, se generará un JCL que se encuentra en la librería KI.LPRUEBA, que se llamará J0099940.

Última actualización