jueves, 30 de noviembre de 2017

Próximamente... nueva APP para android!

Al fin!!!
La app del consultorio cobol para consultar errores se construyó hace como 6 años, con el app inventor de aquella época.
Eso ha hecho que en las nuevas versiones de android ni siquiera funcione. Vamos, que estábamos deprecated y hasta ahora no nos habíamos animado a reconstruirla con android studio.

Pero en el consultorio cobol seguimos estando muy locos, y ha llegado el momento de meterse al lío.

Todavía falta, pero para que veáis que va en serio, aquí os dejo el panel de nuestro SCRUM particular :-D


Mandadnos ánimos! Alvarito y yo somos PJs android y cuesta lo suyo! jaja

Lo dicho, próximamente... en los mejores móviles :-)

lunes, 23 de octubre de 2017

REPLACE / REEMPLAZAR con FINDREP en JCL

Hola a todos.
Hace unos días un amigo me contaba que tenía un fichero que generaba desde Java, y que le llegaba a host con espacios al final.
Él necesitaba cambiar esos espacios a low-values y me preguntaba cómo hacerlo por JCL.

Así que aprovecho y os enseño este job facilito para reemplazar algunos valores de tu fichero usando OUTREC FINDREP, como complemento al artículo SORT vol.2: OUTREC donde explicábamos el uso de CHANGE.

Imaginad que tenemos un fichero de longitud variable que viene relleno con espacios al final de los datos:

                                                           Columns 00001 00072
Command ===>                                                  Scroll ===> CSR 
****** ***************************** Top of Data ******************************
000001 ENTRADA1                                                               
       CDEDCCCF4444444444444444444444444444444444444444444444444444444444444444
       553914110000000000000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
000002 ENTRADA1MASCOSAS                                                       
       CDEDCCCFDCECDECE44444444444444444444444444444444444444444444444444444444
       553914114123621200000000000000000000000000000000000000000000000000000000
------------------------------------------------------------------------------
****** **************************** Bottom of Data ****************************


Y que queremos reemplazar esos espacios por low-values.

martes, 26 de septiembre de 2017

Editor y compilador COBOL

Muchos de vosotros nos preguntáis a menudo donde conseguir "el compilador" de cobol.
Pues bien, hoy os cuento una manera de poder practicar en casa con la programación cobol aunque no sea real al 100%.
Me explico. Los compiladores cobol que conozco a día de hoy son de pago, y además nada baratitos. Hablamos de un microfocus o un compilador de IBM (siempre entornos mainframe). Básicamente porque no están pensados para venderlos a particulares, sino a empresas.

Lo que os voy a enseñar es una combinación de editor+compilador que, aunque no real al 100%, os hará familiarizaros con los entornos host y podréis ejecutar el código generado.

SPFLite Editor
Este editor simula el entorno de edición del ISPF de IBM. Os pongo unas imágenes para que veais que es así:

lunes, 18 de septiembre de 2017

Utilidades Rexx IV: listar miembros

Aquí os dejo un programilla rexx que lista los componentes/miembros de una librería que le indiquemos:

/* REXX*/                                               
ADDRESS "ISPEXEC"                                       
"LMINIT DATAID(LMID) DATASET('"libreria.componentes.alistar"')"
"LMOPEN DATAID("LMID")"                                 
DO FOREVER = 1                                          
    "LMMLIST DATAID("LMID") MEMBER(LMMEM) STATS(YES)"   
    IF RC > 0 THEN LEAVE                                
    SAY 'MEMBER NAME:' LMMEM                            
    SAY 'TSO UID    :' ZLUSER                           
    SAY 'CREATE DATE:' ZLCDATE                          
END                                                     
"LMFREE DATAID("LMID")"   
                           

Donde:
LMMEM es el nombre del componente/miembro de la librería.
ZLUSER es el usuario que lo creó.
ZLCDATE es la fecha de creación del componente.

Para ejecutar nuestro código rexx hemos hecho este job:

lunes, 17 de julio de 2017

FTP desde JCL

Muchas veces nos preguntamos cómo se crea un FTP desde cero, sin embargo no existe un manual o un estándar, que nos indique, como debe de ser generado.
Como estamos en el camino, los ayudaré dando la pauta con lo básico para que lo puedas crear. Antes de nada podemos decir de los FTP’S:
  •  File Transfer Protocol, es un protocolo con una arquitectura cliente – servidor que te permite transferir archivos entre tu servidor local y un servidor FTP.
  •  Debes de identificar que el FTP que quieras generar es cliente. (Si es así es porque tu deseas transferir archivos a un alojamiento, o a un directorio).
  • Que existen varias maneras de transferir ficheros desde el host por FTP, pero que aquí veremos el caso del PGM=FTP en un proceso batch (job) al que le pasaremos parámetros utilizando el PARM.
  •  Podemos utilizar el nombre del servidor o su dirección IP utilizando el puerto 21.

//FTPSON   JOB,'FTP CONSULTORIO',
//             CLASS=P,MSGCLASS=S,REGION=0M
//*
//PASO01   EXEC PGM=FTP,REGION=2048K,
//         COND=(4,LT),
//          PARM='(EXIT=08 TIMEOUT 20'
//SYSMDUMP   DD SYSOUT=*
//SYSPRINT   DD SYSOUT=*
//OUTPUT     DD SYSOUT=*
//INPUT      DD *
nombre.servidor ó DIRECCIÓN IP
Usuario Contraseña
CD /Directorio/destino
PUT 'FICHERO.DEL.HOST' fichero.txt
QUIT