viernes, 2 de octubre de 2020

MongoDB

Aquí os dejamos interesantes vídeos acerca de MongoDB (base de datos de tipo NoSQL).

MongoDB en 20 minutos


¿Qué es SQL y NoSQL?


NoSQL VS SQL


viernes, 4 de septiembre de 2020

HOST - comando unnum

Seguro que te ha pasado alguna que al final del fichero aparece los números de secuencia. Si quieres eliminarnos y poder editar el fichero sólo tienes que ejecutar el comando unnum o unnumber.

En la línea donde pone Command ===> sólo tienes que poner el comando indicado y solucionado.

Para más información acerca de este comando sólo tienes que pinchar aquí.

viernes, 14 de agosto de 2020

Fundamentos de la programación

Apuntes muy interesantes y completos de la asignatura Fundamentos de la programación de la Facultad de Informática (UCM).

Pinchar aquí para acceder a dichos apuntes en formato pdf (interesantes por la abstracción procedimental y por la visión completa de C++).

viernes, 10 de julio de 2020

Jcl - DISP=(OLD,DELETE,KEEP)

Habitualmente solemos ver lo siguiente en los pasos de sort de los jcl's:

          //SORT01 EXEC PGM=SORT
          //SORTIN    DD DSN=FICH.PRUEBA.ENTRADA,
          //               DISP=SHR
          //SORTOUT DD DSN=FICH.PRUEBA.SALIDA,
          //                     DISP=(,CATLG,DELETE),
          //                     SPACE=(CYL,1,1)
          //SORTWK01 DD SPACE=(CYL,(1,1),RLSE)
          //SYSOUT     DD SYSOUT=*
          //SYSIN        DD *
              SORT FIELDS=COPY

Sin embargo, también podemos poner algo como lo siguiente:

          //SORT02 EXEC PGM=SORT
          //SORTIN    DD DSN=FICH.PRUEBA.ENTRADA,
          //               DISP=(OLD,DELETE,KEEP)
          //SORTOUT DD DSN=FICH.PRUEBA.SALIDA,
          //                     DISP=(,CATLG,DELETE),
          //                     SPACE=(CYL,1,1)
          //SORTWK01 DD SPACE=(CYL,(1,1),RLSE)
          //SYSOUT     DD SYSOUT=*
          //SYSIN        DD *
              SORT FIELDS=COPY

Lo primero de todo: en ambos casos debe existir el fichero que se está utilizando en el SORTIN, es decir, el fichero FICH.PRUEBA.ENTRADA debe existir para que no falle ni el paso de sort SORT01 ni el paso de sort SORT02.

Ahora vamos a ver qué diferencia hay entre lo utilizado en el paso SORT01 y lo utilizado en el paso SORT02: DISP=SHR y DISP=(OLD,DELETE,KEEP).

DISP=SHR: Con esta disposición nos limitamos a utilizar el fichero, SHR viene del inglés SHARE (que significa 'compartir'). Resulta que seguirá existiendo el fichero FICH.PRUEBA.ENTRADA cuando finalice el jcl, por lo tanto, no nos tenemos que olvidar de incluir un paso de borrado al final del jcl para borrar este fichero de trabajo junto con todos los demás que se generen a lo largo del mismo jcl.
DISP=(OLD,DELETE,KEEP): Con esta disposición lo que conseguimos es que el fichero FICH.PRUEBA.ENTRADA se borre automáticamente cuando termine OK el paso SORT02; sin embargo, el mencionado fichero seguirá existiendo en el caso hipotético de fallo en el paso SORT02 (lo que nos permite relanzar desde ese mismo paso).

viernes, 19 de junio de 2020

Validar un XML

¿Quieres saber si un XML es correcto? Para validarlo puedes usar la herramienta XML Validator: https://www.w3schools.com/xml/xml_validator.asp

Si en algún momento no se pudiera acceder a dicho validador, puedes acceder a la página de w3schools existente en la sección Webs de interés de este mismo blog.

viernes, 5 de junio de 2020

HOST - TSO línea de comandos

Pinchando aquí accederás a un listado con los diferentes comandos que puedes usar cuando estés trabajando en el tso del host.

Es muy útil porque en ocasiones se nos olvida qué comando utilizar cuando queremos hacer algo en concreto y necesitamos un lugar dónde buscar algo que nos sirva.

viernes, 22 de mayo de 2020

¿Excel ante su ocaso?

Podríamos estar ante el ocaso de Excel debido a dos motivos: (1) se podría haber quedado obsoleto para muchas compañías y (2) otras aplicaciones están comenzado a ganar mercado.

Si te interesa este tema, puedes leer el artículo completo pinchando aquí.

viernes, 8 de mayo de 2020

Compilador cobol online

piaza.IO es un editor y compilador en línea donde puedes escribir y ejecutar código instantáneamente.

viernes, 24 de abril de 2020

Programación WEB

A la hora de aprender programación WEB hay una serie de cosas que viene bien saber y por ello os recomiendo los siguientes pdf's que tienen muy buena pinta:


Esto ha sido todo por hoy, si encuentro algo más y que sea de interés lo adjuntaré a continuación como actualización del post.

viernes, 3 de abril de 2020

Jcl - comprobar si un fichero tiene datos

Mediante jcl podemos comprobar si un fichero tiene datos.

Veamos un ejemplo:

          //*******************************************************
          //FICVACIO EXEC PGM=IDCAMS
          //FENTRADA DD DSN=DD.EE.JJJJJJJJ.FICHEROA.VERIFICA,
          //                      DISP=SHR
          //FSALIDA DD DUMMY
          //SYSPRINT DD SYSOUT=*
          //SYSIN DD *
               REPRO COUNT(1)      -
               INFILE(FENTRADA)    -
               OUTFILE(FSALIDA)
          //*******************************************************

Con este paso detectamos si el fichero DD.EE.JJJJJJJJ.FICHEROA.VERIFICA está vacío o, por el contrario, tiene datos. Simplemente tenemos que comprobar el código de retorno devuelto por este paso ya que si devuelve:

  • el valor 4 significa que está vacío
  • el valor 0 significa que tiene datos

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

viernes, 20 de marzo de 2020

Linux

Manual práctico de linux con ejercicios.

Si queréis un ejemplar sólo tenéis que pinchar aquí.

viernes, 6 de marzo de 2020

Cobol - foros de cobol

En la actualidad tenemos que internet está plagado de foros acerca de cualquier tema que nos podamos imaginar. Y "nuestro querido" lenguaje Cobol no podía ser una excepción.

Seguro que alguno de vosotros conoce alguno. O a lo mejor no. Sea como sea nos gustaría hablaros de COBOL Foro, un foro sobre Cobol (valga la redundancia).

¿Por qué queremos hablaros de este foro? Porque nos ha gustado el hecho de que no es necesario darse de alta para crear un post. Esto es muy útil, o al menos nos lo ha parecido desde Programación e Informática Fácil, cuando tienes una duda y quieres que te ayuden desde un foro pero no sabes cuándo será la próxima vez que vas a plantear otra duda.

viernes, 21 de febrero de 2020

Excel - vídeos en youtube

Youtube es un pozo sin fondo para aprender Excel a través de los diferentes vídeos existentes en dicha plataforma. Para muestra un botón:

30 trucos de Excel que todos deben saber

Cómo armar un dashboard en Excel

Espero que os resulten interesantes estos ejemplos.

viernes, 7 de febrero de 2020

Cobol - cruce de ficheros

Veamos cómo es el cruce de ficheros.

La estructura de un programa Cobol (o el cualquier otro lenguaje) suele ser:

     INICIO
     TRATAMIENTO hasta FIN-FICHERO-ENTRADA
     FINAL

En el cruce tendríamos:

     INICIO
     TRATAMIENTO hasta FIN-FICHERO1 y FIN-FICHERO2
     FINAL

En el párrafo INICIO tendríamos la primera lectura de ambos ficheros. En cada  una de las lecturas se debe tener en cuenta lo siguiente:
  1. Si el file-status es 0 se debe mover la clave leída del fichero a CLAVE1 (si hemos leído del FICHERO1) o a CLAVE2 (si hemos leído del FICHERO2).
  2. Si el file-status es 10, no sólo hay que activar el correspondiente switch que indica que se ha llegado a final de fichero, sino que además hay que mover HIHG-VALUES a CLAVE1 (si hemos leído del FICHERO1) o a CLAVE2 (si hemos leído del FICHERO2).

En el párrafo TRATAMIENTO (que se ejecuta hasta que finalicen ambos ficheros) tendríamos la comparación de claves:

     EVALUATE TRUE
           WHEN CLAVE1 = CLAVE2
                  DISPLAY 'HAY CRUCE. CLAVE1: ' CLAVE1 '. CLAVE2: ' CLAVE2
                  PERFORM LEER-FICHERO2
           WHEN CLAVE1 < CLAVE2
                  DISPLAY 'CLAVE1 no existe en FICHERO2'
                  PERFORM LEER-FICHERO1
           WHEN CLAVE1 > CLAVE2
                  DISPLAY 'CLAVE2 no existe en FICHERO1'
                  PERFORM LEER-FICHERO2
           WHEN OTHER
                  CONTINUE
     END-EVALUATE

          Nota: Se pone WHEN OTHER, aunque no llegue a ejecutarse nunca, por-
          que por temas de calidad todo EVALUATE tiene que tener WHEN OTHER.

Espero que os sirva de ayuda si tenéis que hacer un programa de cruce en Cobol.