Crear archivos y luego realizar un write

Todo lo relacionado con REXX en este ambiente.
Responder
bilardo
Usuario
Usuario
Mensajes: 18
Registrado: 21 Dic 2012, 11:19
País: Argentina
Ciudad: Capital Federal
Ocupación: Programador

Crear archivos y luego realizar un write

Mensaje por bilardo » 07 Jul 2017, 17:56

Buenas tardes, estoy iniciando con REXX y me propuse realizar lo siguiente:
"crear N salidas con REXX de archivos, sin definir DD"

- Crear un DATASET con una REXX
- Escribir en el archivo creado anterior.
- Lo anterior debe ser sin generar DD en el JCL que ejecuta la REXX


el primer paso lo hice con:

"ALLOC DA("NAMEFILE") DSORG(PS) SPACE(1,0) TRACKS",
"LRECL(10) BLKSIZE(0) RECFM(F,B) NEW"
"FREE FI(SAL)"

No estoy logrando escribir en este archivo (siempre en la misma rexx).

Lo que escribi es lo siguiente:

REGISTRO. = "ESCRIBO UN REGISTRO ATR EN EL ARCHIVO"
"ALLOC F(SAL) DSNAME("NAMEFILE") MOD REUSE"
ADDRESS TSO "EXECIO * DISKR SAL(STEM REGISTRO. FINIS"
"FREE FI(SAL)"


Pero no se escribe nada a la salida.

alguien sabe que estoy haciendo mal??
PD: estoy ejecutando la rexx desde un JCL y no defini ninguna DD.

f_caballero
Usuario avanzado
Usuario avanzado
Mensajes: 58
Registrado: 25 Sep 2007, 16:36
País: España
Ciudad: Madrid
Ocupación: Analista de desarrollo

Re: Crear archivos y luego realizar un write

Mensaje por f_caballero » 08 Jul 2017, 08:43

Hola, a mi me parece que estás leyendo el fichero en vez de escribirlo.
DISKR es READ
DISKW es WRITE
REGISTRO. = "ESCRIBO UN REGISTRO ATR EN EL ARCHIVO"
"ALLOC F(SAL) DSNAME("NAMEFILE") MOD REUSE"
ADDRESS TSO "EXECIO * DISKR SAL(STEM REGISTRO. FINIS"
"FREE FI(SAL)"
Salud y fortuna.
Fernando Caballero

bilardo
Usuario
Usuario
Mensajes: 18
Registrado: 21 Dic 2012, 11:19
País: Argentina
Ciudad: Capital Federal
Ocupación: Programador

Re: Crear archivos y luego realizar un write

Mensaje por bilardo » 10 Jul 2017, 10:33

Si, le estaba pifiando. Muchas gracias!

Cerbumota
Colaborador
Colaborador
Mensajes: 137
Registrado: 07 Feb 2007, 05:34
País: España
Ciudad: Madrid
Ocupación: Otra

Re: Crear archivos y luego realizar un write

Mensaje por Cerbumota » 12 Jul 2017, 07:01

Y además, cuando mandas escribir el stem, debes generar bien. Has creado una variable
REGISTRO. = "ESCRIBO UN REGISTRO ATR EN EL ARCHIVO"
como si fuera un stem, pero no le asignas un índice... Lo suyo debería ser:
REGISTRO.1 = "ESCRIBO UN REGISTRO ATR EN EL ARCHIVO"
REGISTRO.0 = 1

Los stem te dan mucha flexibilidad, pero es necesario y cuesta poco, usarlos bien.
Un saludo.
Mi lema favorito, el de las tres "uVes": Velocidad, Valor y... Vuevos.

Responder