viernes, 5 de julio de 2019

Jcl - comprobar si un fichero existe

Mediante jcl podemos comprobar si un fichero existe.

Veamos un ejemplo:

          //*******************************************************
          //FICEXIST EXEC PGM=IDCAMS
          //SYSOUT DD SYSOUT=*
          //SYSPRINT DD SYSOUT=*
          //SYSIN DD *
               LISTCAT ALL             -
               ENTRIES(DD.EE.JJJJJJJJ.FICHEROA.VERIFICA)
          //*******************************************************

Con este paso detectamos si el fichero DD.EE.JJJJJJJJ.FICHEROA.VERIFICA  existe. Simplemente tenemos que comprobar el código de retorno devuelto por este paso ya que si devuelve:

  • el valor 4 significa que no existe
  • el valor 0 significa que existe

Por lo tanto, el código de retorno 4 en el paso FICEXIST no debe significar la cancelación de este proceso.

Veamos cómo se podría utilizar una comprobación de este tipo.


          //*******************************************************
          //FASE01 EXEC PGM=STFICHA,
          //            PARM='CADENA A GRABAR EN FICHERO'
          //STEPLIB DD DSN=<<librería-prod-ejecutables>>
          //SYSOUT DD SYSOUT=*
          //SYSPRINT DD SYSOUT=*
          //FFICHAS DD DSN=FICHERO.GRABAR.MENSAJES,
          //                   DISP=(,CATLG,DELETE),
          //                   SPACE=(CYL,(100,10))
          //*******************************************************
          //* COMPROBAR EXISTENCIA DE FICHERO
          //*******************************************************
          //FEXIST01 EXEC PGM=IDCAMS
          //SYSOUT DD SYSOUT=*
          //SYSPRINT DD SYSOUT=*
          //SYSIN DD *
               LISTCAT                 -
               ENTRIES(DD.EE.JJJJJJJJ.FICHEROA.VERIFICA) -
               NONVSAM
          //*******************************************************
          //* EVALUAR CODIGO DE RETORNO
          //*******************************************************
          //PASO01   IF FEXIST01.RC = 0 THEN
          //PASO01OK EXEC PGM=STFICHA,
          //            PARM='EXISTE EL FICHERO'
          //STEPLIB DD DSN=<<librería-prod-ejecutables>>
          //SYSOUT DD SYSOUT=*
          //SYSPRINT DD SYSOUT=*
          //FFICHAS DD DSN=FICHERO.GRABAR.MENSAJES,DISP=MOD
          /*
          //PASO01   ELSE
          //PASO01KO EXEC PGM=STFICHA,
          //            PARM='NO EXISTE EL FICHERO'
          //STEPLIB DD DSN=<<librería-prod-ejecutables>>
          //SYSOUT DD SYSOUT=*
          //SYSPRINT DD SYSOUT=*
          //FFICHAS DD DSN=FICHERO.GRABAR.MENSAJES,DISP=MOD
          //PASO01   ENDIF

En el paso FASE01 estamos creando un fichero, FICHERO.GRABAR.MENSAJES, en el que estamos grabando el literal CADENA A GRABAR EN FICHERO.

En el paso FEXIST01 estamos comprobando la existencia del fichero DD.EE.JJJJJJJJ.FICHEROA.VERIFICA y a continuación viene lo "importante".

En el paso PASO01 tenemos un IF para evaluar el código de retorno devuelto por el paso previo, el paso que comprueba si existe o no el fichero. Si el código de retorno es 0 graba el literal EXISTE EL FICHERO en el fichero generado en el paso FASE01. En caso contrario graba el literal NO EXISTE EL FICHERO en el mismo fichero (es decir, en el generado en el paso FASE01).

viernes, 28 de junio de 2019

ADA

ADA es un lenguaje de programación inspirado en Pascal. Su nombre se debe a Lady Augusta Ada Byron, considerada la primera programadora de la Historia.

Biografía de Lady Augusta Ada Byron: pinchar aquí.

viernes, 21 de junio de 2019

Apple ha sido hackeada...

...por un joven de 16 años. Esta noticia saltó a los medios hace unos meses: https://clipset.20minutos.es/joven-australiano-hackea-apple/

En relación a la seguridad de Apple, os recomiendo ver el siguiente vídeo en el que Chema Alonso, experto en ciberseguridad, asegura que tu iphone es tan (in)seguro como tu windows:


A continuación se adjuntan un par de enlaces de interés acerca de los problemas de seguridad que ha tenido apple:



Parece que Apple tiene ciertas deficiencias en temas de seguridad.

martes, 4 de junio de 2019

HOST - Aplantillar un fichero con su copy

Ponemos F1 a la izquierda del fichero.

Tras hacer esto damos INTRO y aparece una pantalla en la que hay que informar ciertas cosas que ahora te contamos.

En Record layout dataset indicamos la librería de las copys y en Member name indicamos la copy con la que aplantilla el fichero. Damos INTRO y aparece otra pantalla llamada Selection Criteria Menuestando aquí podemos hacer dos cosas:

1) Damos PF3 y aparece toda la información del fichero aplantillada de acuerdo a la copy indicada.
2) Elegimos la opción 2 de FORMATTED.

Si optamos por la segunda opción (elegir la opción 2 y damos INTRO) veríamos otra pantalla con el listado de los campos de la copy.

En esta pantalla podemos dar PF3 (volviendo a la pantalla antes mencionada, es decir, Selection Criteria Menu) o podemos aplicar algún tipo de criterio para seleccionar registros. Para seleccionar registros tenemos: EQ (igual), NE (distinto), LT (menor que), LE (menor o igual), GT (mayor que), GE (mayor o igual), CO (contiene) y alguna opción más que no recuerdo por no haberla usada nunca.

Tras aplicar los criterios damos INTRO y luego PF3 tantas veces como sea necesario hasta que se muestre la información (porque existen registros que cumplan las condiciones) o porque no hay información que cumpla las condiciones en cuyo caso se mostraría un mensaje por pantalla indicando tal situación (dicho mensaje es NO RECORDS SELECTED).

Esto es todo con F1. Si hubiéramos puesto F2 en su lugar, todo lo explicado valdría pero la diferencia radica en que podemos modificar la información (eso si el número de registros no supera cierta cantidad, ya que si la supera no se puede modificar nada ya que el propio host inhabilita esa opción y es como haber entrado con F1).

lunes, 20 de mayo de 2019

Píldoras Informáticas

En este post os hablaremos de las Píldoras Informáticas.

¿Y qué son las Píldoras Informáticas?

Pues bien, primero vayamos a su página: http://www.pildorasinformaticas.es/

En esta página web encontrarás cursos, una academia virtual, recursos y foros para resolver dudas en distintas categorías (Access, Android, CSS, HTML, Java, SQL,...)

También tienen un canal en Youtube al que puedes echar un ojo pinchando aquí. Dentro de sus Listas de Reproducción encontrarás una serie de cursos dedicados a Python, Android o JavaScript entre otros. Estos cursos están compuestos por un número variable de vídeos, es decir, unos cursos tienen menos vídeos y otros disponen de un mayor número de vídeos. La duración de los mismos (la de los vídeos, queremos decir) oscila entre 13 y 32 minutos aproximadamente, aunque la media suele estar en 20-25 minutos.

lunes, 6 de mayo de 2019

Cantineoqueteveo

Menudo palabro, ¿verdad? Parece un insulto: cantineoqueteveo. Seguro que te estás preguntando qué significa, pues absolutamente nada ya que es una palabra inventada.

Tal y como puedes ver en el post del blog de Tecnoempleo pinchando aquí,es un término, que antes del concurso, tenía cero resultados en Google.

Si queréis demostrar vuestros conocimientos en SEO, sólo tenéis que usar la palabra cantineoqueteveo. Quién sabe si, de paso, ganáis el concurso. Buena suerte!!!

jueves, 2 de mayo de 2019

HOST - File-AID

Entramos en el File-AID. Cuando entramos vemos un menú en el que lo más importante son las opciones MVS y DB2.

Podemos manejar ficheros o tablas DB2. Vayamos a la opción 1 (relativa a los ficheros, MVS). Cuando vamos a dicha opción vemos otro menú en el que lo más interesante es la opción 8, a través de la cual tenemos lo siguiente:

          - En Dataset name se indica la librería en la que están las copys.
          - En Member name se indica la copy.

Se da INTRO y vemos los campos de los que consta la copy e información interesante como puede ser en qué posición empieza y finaliza cada campo.

Ahora vamos a la opción 2 del menú principal del File-AID. Ésta es la opción relativa a las tablas DB2 y si entramos en esta opción vemos un menú en el que ahora vamos a destacar las siguientes opciones:

Opción 1, entramos en una pantalla en donde indicamos el "Creator" y "Table Name" (la tabla y su creador). Damos INTRO y aparece otra pantalla en la que podemos seleccionar las columnas que queremos visualizar (o no seleccionar para verlas todas), aplicar algún tipo de ordenación o aplicar algún tipo de selección para visualizar algunas filas en concreto. Hagamos lo que hagamos, si queremos ver información tenemos que dar al PF6. Tras esto vemos la información existente en la tabla.

Opción 2, con esta opción podemos hacer exactamente lo mismo que lo que se acaba de explicar en la opción anterior pero con la salvedad de que cuando estamos visualizando la información tenemos la posibilidad de modificarla (actualizar el valor del algún campo, insertar alguna fila con los valores deseados o borrar alguna fila).

miércoles, 17 de abril de 2019

Hacker

Siempre se ha asociado el término hacker con aquella persona que rompe o vulnera la seguridad (por descubrir la vulnerabilidad de un ordenador o una red informática) con intenciones maliciosas pero en la actualidad existe controversia acerca de este término ya que los programadores reclaman el término hacker y consideran que los que irrumpen en un ordenador deberían llamarse "cracker". 

Bajo la denominación de "cracker" estarían incluidos tanto los delincuentes informáticos (o sombreros negros) como los expertos en seguridad informática (sombreros blancos). Algunos de los denominados sombreros blancos consideran que ellos deberían ser llamados "hackers" mientras que los de sombrero negro deberían ser calificados como "crackers".

En la actualidad conocemos hackers, como es el caso de Chema Alonso (considerado uno de los mejores de España), que se dedican a la ciberseguridad. Pero aún así, los hackers tienen el colgado el sambenito de que son delincuentes y se saltan la ley por una cantidad de dinero adecuada, como es el caso de un hacker cuyo jefe le ofreció 10.000€ por entrar al WhatsApp de su novia (leer noticia completa aquí).

Como curiosidad diremos que Anonymous crea una escuela para aprender a ser un hacker:






Fuentes para la redacción de este artículo


Blog de Chema Alonso: Un informático en el lado del mal

jueves, 4 de abril de 2019

HOST - consultar versiones de un gdg

Si queremos consultar el número de versiones de un fichero gdg (junto con más información relativa a dicho gdg), sólo tenemos que poner el comando VER a la izquierda del gdg (de la base del gdg, no en una de sus versiones existentes).

Damos INTRO y ya aparece la información relativa de dicho gdg. Ocupa varias pantallas y para ver toda su información tenemos que dar al INTRO tantas veces como sea necesario. En una de esas pantallas aparece el número de versiones, sólo tienes que fijarte donde pone LIMIT ya que ahí se indica el número de versiones:

          LIMIT-----------------------------20

Pues así es como sabemos el número de versiones de un fichero gdg.

lunes, 18 de marzo de 2019

Aprender Informática - Tutoriales de Informática

En la página web de Aprender Informática tienen una sección de Tutoriales de Informática a la que puedes acceder pinchando aquí.

En general son tutoriales bastante curiosos, como el relativo al Teclado del ordenador y partes en el que explican qué es un teclado, los diferentes tipos que hay, las partes del teclado y los atajos (es decir, la conocida combinación de teclas Ctrl + otra con la que se tiene algún tipo de resultado como copiar, pegar o deshacer el último cambio).

viernes, 1 de marzo de 2019

Jcl - cláusula NOTIFY

Cuando vas a submitir un jcl en desarrollo y quieres que la notificación de la finalización de dicho jcl salte en pantalla, sólo tienes que incluir en la cabecera de dicho jcl lo siguiente: NOTIFY=&SYSUID

En la cláusula NOTIFY puedes poner lo que he indicado antes (es decir, &SYSUID; por lo tanto, la notificación saltará al usuario que submita el jcl) o puedes poner un usuario en concreto (submita quien submita el jcl, da igual quien sea, quien recibirá la notificación será el usuario indicado).

viernes, 15 de febrero de 2019

La nube

Seguro que has oído hablar mucho acerca de la nube. Pues bien, aquí vamos a hablar más acerca de este concepto.

¿Qué es? Es un modelo de almacenamiento de datos basado en redes de computadoras. Los datos se alojan en espacios de almacenamiento virtualizados. Para más información acceder al siguiente enlace de la Wikipedia: https://es.wikipedia.org/wiki/Almacenamiento_en_nube

Funcionamiento. Para saber más acerca del funcionamiento de este tipo de almacenaje podéis pinchar aquí.

¿Nos podemos fiar de la nube? La respuesta es que no y si quieres saber por qué te recomiendo leer el siguiente artículo: Si te fías de la nube estás cometiendo un grave error.


viernes, 1 de febrero de 2019

HOST - comando keys

Con el comando KEYS o PFKEYS podéis configurar qué comandos se ejecutarán cuando pulséis cualquiera de las teclas comprendidas desde la PF1 hasta la PF12 ambas incluidas.

En Programación e Informática Fácil solemos tener configurado el comando SWAP LIST en la PF9.

De esta manera, cuando tecleamos la PF9 aparece una pantalla en la que no sólo aparece un listado de todas las ventanas que tenemos abiertas dentro de nuestra sesión host sino que también nos da la posibilidad de abrir una nueva ventana (hasta un máximo de 8, no nos deja tener más de 8 ventanas abiertas a la vez).

viernes, 18 de enero de 2019

Diskette u objeto de coleccionista

¿Os acordáis del diskette? ¿quién no lo utilizó alguna vez en el pasado?

Con el avance tan rápido de otros métodos de almacenamiento se quedó obsoleto desde hace algunos años. Su obsolescencia ha llegado hasta tal punto que ahora mismo hay artículos que utilizan el hashtag #Teacuerdasde para hablar del diskette. Un buen ejemplo es el artículo ¿#Teacuerdasde el diskette?

Interesante de leer por los recuerdos que nos va a traer y por los consejos que nos da para reutilizar los diskettes que tengamos.