Regresar un paso atrás Sisinf 7.3
Actualización 7303


  1. Valores máximos
  2. Opción /RECORRER
  3. Opción /RCM
  4. Colores
  5. Capacidad de archivos permanentes en Sisinf
  6. Nuevas revisiones en CLS
  7. Nombre del archivo de espera
  8. ELSI en DS
  9. Opción IMPRIMIR /SELECCIONAR-IMPRESORA.
  10. Enviar reporte por correo electrónico.
Notas de la versión 7.2
Notas de la versión 7.1
Notas de la versión 7.0
Notas de la versión 5.1





1) Valores máximos:

Descripción

Valor máximo

Archivos por DBD

400

Tablas por DBD

200

Número de archivos permanentes por programa

40

Número de tablas por programa

40

Número de variables por programa

600

Número de temporales por programa

40

Número de etiquetas en un programa o rutina

2000




2) Opción /RECORRER:

Esta opción permite definir para el área de lectura o escritura de un campo un número de caracteres menor a lo que se tiene definido en el banco de datos, pero pudiendo leer, modificar o escribir el total de ellos.

Así por ejemplo se pondría en la definición de un área de terminal para leer o escribir una dirección de un cliente definido como X40 lo siguiente:

DIR-CLT /LONG. 20 /RECORRER /LEC. /ESC-1 /MOD-2

Con esto aunque solo se separen 20 columnas se puede leer el campo de 40 caracteres.

Los siguientes comentarios son aplicables:
  • La operación cuando se lee es muy sencilla, una vez tecleados los caracteres definidos con /LONG. en forma automática se empieza a recorrer el campo. Si el usuario quiere recorrer el campo para verlo o editarlo, con las teclas ‘flecha izquierda’, ‘flecha derecha’, ‘inicio’ o ‘fin’ puede mover el cursor, el cual estará en una parte visible del campo.

  • En modificación de un campo con esta opción se verán al inicio los primeros caracteres del mismo especificados en /LONG. y con las teclas indicadas se debe posicionar el cursor donde se quiere modificar.

  • La escritura también es muy fácil ya que al desplegarse se verán los primeros caracteres especificados en /LONG. Para ver lo restante, se puede arrastrar sobre el campo el ratón con el botón derecho oprimido. Otra opción es con el botón izquierdo del ratón se posiciona en el campo que se desea ver dando doble ‘clic’ y con las teclas antes indicadas se puede recorrer el mismo, en el caso de escritura no hay un cursor visible.

  • Si en un área de terminal, en el mismo USO, se tienen campos de lectura y escritura con la opción de /RECORRER lo de escritura no se podrán ver ya que no es posible posicionarse en ellos.

  • Cuando se usan tipos de letra proporcionales en las áreas de terminal, el número de caracteres desplegados puede ser mayor o menor a lo indicado en la opción /LONG. pero el funcionamiento descrito es prácticamente igual.

  • Esta opción solo trabaja con el Emulador Sisinf con ELS se ignora.


    Los siguientes comentarios son aplicables para marcar un campo:
  • Para marcar un campo de lectura o modificación con el propósito de copiar/pegar '(copy/paste)' se deberá primero posicionar el cursor y luego marcar con las teclas de shift-flecha_derecha o shift-flecha_izquierda. Para marcar desde donde esta el cursor hasta el final usar shift-fin. Otra forma es arrastrando el ratón con botón izquierdo oprimido, en este caso el campo se recorre en forma automática.

  • En el caso de escritura no hay un cursor visible por lo que la forma más sencilla para marcar todo el campo es posicionar en el mismo y dar shift-fin. Si se quiere marcar parcialmente primero se deberá posicionar con botón derecho del ratón y luego marcar arrastrando el ratón con botón izquierdo oprimido, el campo se recorre en forma automática.




    3) Opcion /RCM:

    La opción /RCM sirve para definir el número de renglones y columnas máximos que usará el programa.

    El formato de la misma es:

    PROGRAMA ..... /RCM Num-Ren Num-Col

    Los siguientes comentarios son aplicables:
  • La opción se especifica en la instrucción de PROGRAMA.

  • En Num-Ren se especifica el número de renglones máximos que tendrá el programa. Los valores permitidos son de 23 a 50.

  • En Num-Col se especifica el número de columnas máximos que tendrá el programa. Los valores permitidos son 80 a 200.

  • El área de /ERROR si no se define o no tiene /POS. usará los 2 últimos renglones.

  • La forma de trabajo del Emulador Sisinf es la siguiente:
    -

    Al inicio del mismo con el tamaño especificado (640-480, 800-600, 1024-768, Auto) se busca un tipo de letra aplicable a la resolución escogida y a una pantalla de Sisinf de 23 renglones por 80 columnas, con esto se fija el tamaño de la ventana que usara el emulador. Dicho tamaño permanecerá igual durante toda la ejecución de los diferentes programas.

    -

    La opción de AUTO en el tamaño del Emulador Sisinf sirve para usar otras resoluciones diferentes a las listadas, lo anterior se debe a que dependiendo del hardware (tarjeta de video y monitor) es posible escoger de entre bastantes resoluciones.

  • Cuando se ejecute un programa con la opción de /RCM, el Emulador Sisinf buscará un nuevo tipo de letra que con el tamaño actual de la ventana. Este tipo de letra será igual o mas pequeño que el tipo de letra inicial, es decir las letras serán mas pequeñas que en los programas de 23 por 80.

  • Con la estrategia seguida por el Emulador Sisinf puede suceder que el tipo de letra seleccionado sea muy pequeño y que por el hardware que se tenga sea ilegible. Se recomienda primero poner la opción y si las áreas actuales del programa con el tipo de letra seleccionado son legibles en los diferentes hardware que usen la aplicación, entonces hacer los cambios.

  • Las variables tipo TEXTO se pueden ahora definir en áreas de mayor tamaño pero un renglón no puede ser mayor a 120, lo mismo si se usa la opción /LONG. en variables numéricas, alfanuméricas y fecha. En el caso de IMAGENES se permite cualquier valor para las opciones de /LONG. y /RENG. siempre que queden dentro del área de terminal.

  • Esta opción solo trabaja con el Emulador Sisinf, con ELS dá error.




    4) Colores:

    En Sisinf ahora podrá tener color verdadero '(true color)' en diferentes instrucciones.

    Los siguientes comentarios son aplicables:
  • Antes el color se especificaba como NEGRO, AZUL, etc. Ahora, además aceptará que se ponga 'CRRRVVVAAA' en donde 'RRR' es un número de 0 a 255 para especificar el rojo, 'VVV' para especificar el verde y 'AAA' para especificar el azul.

  • Existen páginas en Internet en que vienen los valores del RGB como mejor se conoce a los valores de 'RRRVVVAAA' o bien se pueden sacar ejecutando en la PC el programa de 'Paint', seleccionar en este la opción colores del menú principal y seleccionar en la ventana que se despliega la opción de colores personalizados. Al seleccionar un color se tendrán los 3 números de 0 a 255.

  • El compilador acepta que lo que se ponga después del caracter 10, esto para efectos de documentación y es ignorado. Así se puede poner C092184255-CIELO.

  • El número máximo de colores diferentes que se usen en un programa es 50. Esto para las instrucciones de PROGRAMA y OPCION TERMINAL AREA.

  • En una instrucción de FORMAR IMAGEN el máximo es 20 y los colores se numeran del 20 a 39. No se pueden usar en marcas ya que estas están incluidas en la imagen.

  • Esta opción solo trabaja en el Emulador Sisinf.



    Un ejemplo del uso en las diferentes instrucciones se describe a continuación:

    En la instrucción de PROGRAMA se puede poner:



    PROGRAMA 'Menú Recursos Humanos' /COLOR C092184255-CIELO NEGRO

    En la instrucción de OPCION TERMINAL AREA se puede poner:



    /COLOR C255215000-ORO C255215000-ORO NEGRO $
           C255165000-NARANJA NEGRO $
           C250128114-SALMON BLANCO-B


    En la instrucción de OPCION IMPRIMIR se puede poner:



    /DF 'SUIZO' 12 -10 /DF1 'SUIZO' 12 -10 'N' 'C092184255-CIELO' 'BLANCO-B' $
                       /DF2 'SUIZO' 16 -5 'N' 'NEGRO' 'C255215000-ORO'




    Recuerde que BLANCO-B es el color de fondo que se asume igual al del papel de impresión o sea no se pinta ningún color ni se usa tina.

    En la instrucción de FORMAR IMAGEN los colores se definen en las diferentes opciones de la instrucción como una literal (ROJO) o bien un número (para este caso 4) o bien una variable N1-0 con el valor numérico. Por lo anterior se define una nueva opción:

        /DEFINIR-COLOR NUM 'Crrrvvvaaa'

        /DEFINIR-COLOR NUM RRR VVV AAA


    Con esto se define el color con número NUM, en donde NUM puede ser un número o una variable N1-0, el color se define como una literal o bien como tres valores numéricos que pueden ser también variables N1-0.

    Un ejemplo de uso seria:

         FORMAR IMAGEN GRAF-EST /GRAFICA-PASTEL $
         'Resultados de la evaluación' /3D $
         /DATO SUM-PA 'Deficiente' 'ROJO' $
         /DATO SUM-PB 'Aceptable' 'GRIS' $
         /DATO SUM-PC 'Bueno' 'VERDE' $
         /DATO SUM-PD 'Excelente' 20 $
         /DEFINIR-COLOR 20 'C255215000-ORO' $
         /CONSTRUIR




    5) Capacidad de archivos permanentes en Sisinf:

    En versiones anteriores la capacidad de archivos permanentes es de 2G, en esta nueva versión se amplió a 32G, la forma de hacerlo se describe a continuación.

    Dentro de un archivo permanente, si el área de datos se ve como una secuencia de bytes, Sisinf necesita saber donde inicia cada R0, cada R1,... es decir su dirección dentro del archivo.

    Internamente se usan 32 bits para la dirección de los RX, de estos el primero es el signo, los siguientes 23 es el número del registro y los últimos 8 son el desplazamiento dentro del registro. Los registros son de 512 bytes. Así Sisinf para leer un R0, R1,... conociendo su dirección, saca el número de registro, lo lee de disco y luego con el desplazamiento dentro del registro saca la información.

    Usando el formato anterior se tiene la capacidad de 2G.

    Los módulos de Sisinf en muchas máquinas están en los lenguajes de programación con nombre 'Fortran' y 'C'. Para almacenar una dirección de un RX se usan lo que se llama en programación variables, hay de varios tipos, pero el 'Fortran' solo maneja variables enteras de 32bits con signo y en 'C' las maneja con o sin signo.

    Para resolver el problema de aumentar la capacidad se puede pensar en usar el bit de signo para el número del registro y así tener 24 bits pasando a 8G la capacidad. Para ello se necesita hacer rutinas en el lenguaje 'C' para el manejo del direccionamiento.

    Pero para aumentar mas todavía esta capacidad se puede pensar en usar solo 6 bits para el desplazamiento y dejar 26 para el número del registro. Ahora bien si se reduce a 6 bits el desplazamiento solo tenemos un número del 0 al 63, la pregunta es como accesar los 256 bytes del registro. La solución es que el desplazamiento será múltiplo de 4, es decir un 0 accesara el byte 0, un 1 el byte 4, un 2 el byte 8,...

    El problema de esta solución es que cuando se inserten el R0, R1,... el desplazamiento debe ser múltiplo de 4 pudiendo desperdiciar bytes. Así si el último RX insertado termina en el byte 5 de un registro, el siguiente inicia en el byte 8. El desperdicio promedio es de 2 bytes por cada R0, R1,... Claro cuando se manejen imágenes, texto o RX grandes, este desperdicio es mínimo en comparación al tamaño.

    Actualmente el crecimiento de los archivos permanentes en el área de datos es automático, es decir el archivo se agranda cuando se inserta nueva información teniendo como limite 2G o 4G dependiendo de la máquina y la versión de Sisinf.

    Si se tienen archivos que no pasen de 8G este cambio es transparente, pero si un archivo va a crecer mas de 8G será necesario primero reconstruirlo ya sea con RECA o con OPCION DISCO RECA y darle un tamaño por porcentaje tal que exceda los 8G, con esto se pone un indicador y el formato del direccionamiento es el último que se describió.

    Con esta nueva versión si el archivo no tiene el indicador el límite es de 8G, es decir al tratar de pasar el límite se dará error. Si tiene el indicador, el límite es de 32G.

    Los archivos permanentes de mas de 2G/4G no podrán ser usados en versiones de Sisinf anteriores ya que no tendrán el manejo de los formatos ya descritos.

    Se pueden usar los comandos de listar información de directorios para conocer el tamaño de un archivo.

    En algunas máquinas, por restricciones en las llamadas al Sistema Operativo y formatos de directorios no se podrán accesar archivos mayores a 2G o 4G aun con esta versión. Ejemplo: en pruebas hechas en una PC con FAT32 no permite más de 4G.




    6) Nuevas revisiones en CLS:

    Se hicieron ciertas revisiones sobre el uso de la memoria por lo que es posible que algunos programas al ser compilados con la nueva versión den errores de compilación. Dichos programas aunque no se hubiera manifestado podrían propiciar errores de ejecución.




    7) Nombre del archivo de espera:

    Cuando el Emulador Sisinf (V4 o superior) pone los mensajes de espera ya sea por exclusivo o por registro ahora pone el nombre del archivo por el que se está esperando lo anterior sirve mucho en la operación de las aplicaciones.




    8) ELSI en DS:

    Para más facilidad de desarrollo el módulo DS de Windows puede ejecutar el Emulador Sisinf.

    Un paso previo es tener instalado en su PC el Emulador Sisinf con al menos un ícono.

    Dentro de DS, se selecciona Opciones, Definición de ELSI y aquí se selecciona el nombre del ícono cuyas definiciones se usarán para la ejecución.




    9) Opción IMPRIMIR /SELECCIONAR-IMPRESORA:

    En los listados que se imprimen mediante el Emulador Sisinf se usa la impresora predeterminada para hacerlo. Con esta nueva opción se presenta una ventana para que se seleccione la impresora y las características de impresión que se desean para imprimir el listado.

    Se deberá decidir si se cambian ciertos programas para que se ponga esta opción en aquellos listados que se desee se puedan imprimir en una u otra impresora o bien, en el menú del Emulador SISINF en Impresora, activar o desactivar la opción Seleccionar, para que en todas las impresiones se presente la ventana de selección de impresora.

    El instalador del emulador también permite activar esta opción.

    Se debe tener la V7.3 (última actualización del 2011 o superior) y el Emulador Sisinf V4.8 ó superior.




    9) Enviar reporte por correo electrónico:

    La opción de ENVIAR-ARCHIVO de la instrucción OPCION IMPRIMIR sirve para enviar un reporte por medio de correo electrónico, por ejemplo, en un sistema de clientes se pide una cotización, o un estado de cuenta,... y que ya se tiene un programa para generarlo, con esta opción, se puede enviar vía correo.

    El primer paso consiste en generar el archivo de impresión con /ARCHIVO y luego enviarlo con /ENVIAR-ARCHIVO. También antes de enviarlo se puede desplegar en la PC con /DESPLEGAR-ARCHIVO o imprimirlo con /IMPRIMIR-ARCHIVO.

    Esta opción esta disponible desde v7.1 de SISINF con el Emulador Sisinf, pero se han agregado opciones a través del tiempo. Para usarla tal como se describe a continuación se debe tener la V7.3 (última actualización del 2011 o superior) y el Emulador Sisinf V4.8 o superior.

    El formato de general de las opciones para el correo de la instrucción OPCION IMPRIMIR es:

    /ENVIAR-ARCHIVO CORREO ASUNTO (TEXTO) (NOMBRE)

    /PARAMETROS-ENVIAR SERVIDOR (ENVIADOR) (CLAVE)

    /ASCII /RTF /HTML /SISINF /IMAGEN

    /OPCIONES-ENVIAR ARCHIVO (LISTA)

    La opción de /ENVIAR-ARCHIVO es la única que es necesario especificar para indicar que el archivo de impresión se va a enviar por correo electrónico. En donde:

    CORREO:

    Es una variable alfanumérica o literal que tiene la dirección del destino del correo o sea a donde se envía el mensaje. Se debe especificar con las mismas reglas que usted usa con un programa para manejo del correo.

    ASUNTO:

    Es una variable alfanumérica o literal que tiene el asunto del correo igual que en los programas para manejo de correo.

    TEXTO:

    Es una variable alfanumérica o literal que en forma opcional forma un mensaje corto acerca del correo, como puede ser saludos o explicación del mismo. Es lo que Usted escribe en los programas de manejo de correo. Recuerde que se va a adjuntar al correo el archivo de su reporte.

    NOMBRE:

    Es una variable alfanumérica o literal que en forma opcional tiene el nombre asignado dentro del correo al archivo adjunto. Si no se especifica es el nombre del reporte (6 caracteres) más el año, mes y día.

    Para poder usar esta opción, Usted debe poder enviar correo con algún programa diferente al emulador desde su PC, además a dicho programa usted le especificó la dirección de correo del enviador, su clave o contraseña de autenticación y la dirección del servidor de SMTP.

    Esta información la puede revisar en las definiciones del correo.

    La forma de definir estos parámetros para que sean usados al ejecutar la instrucción son:

    • Especificarlos en OPCION IMPRIMIR al usar la opción /PARAMETROS-ENVIAR SERVIDOR (ENVIADOR) (CLAVE) junto con la de /ENVIAR-ARCHIVO. Se pueden usar variables alfanuméricas o literales para especificarlos. Así por ejemplo para poner el servidor: /PARAMETROS-ENVIAR ‘mail.correo.net’.

    • Darlo en el menú del emulador. Seleccionar "Correo", luego "Enviador”, "Servidor" o "Clave" y luego teclearlo.

    • Cuando se genera el ICONO de ejecución del emulador como cualquier dato del menú. Así por ejemplo "Servidormail.correo.net".

    • Es importante señalar que el número de puerto del servidor SMTP es el 25, si su servidor usa uno diferente agréguelo al definirlo en cualquiera de las formas antes descritas. Así se puede especificar el puerto 26 poniendo ‘mail.correo.net:26’.

    Lo especificado en el emulador tiene prioridad sobre el contenido de /PARAMETROS-ENVIAR. Con esto se permite que por ejemplo en una instalación el servidor de SMTP sea el mismo para todos y tener un valor preestablecido para el enviador y que en cada PC en forma opcional se personalice quien es el enviador por el ICONO.

    El reporte se pasa a un archivo convirtiendo con un cierto formato y se adjunta al correo.

    Para especificar el formato se tienen las opciones de:

    /ASCII /RTF /HTML /SISINF /IMAGEN

    Los siguientes comentarios son aplicables:

    • Si no se especifica ninguna de esta opciones se asume /ASCII.

    • El formato /HTML es igual al /ASCII pero en vez de adjuntarse como archivo se adjunta al TEXTO.

    • Cuando se especifica /HTML, /ASCII o /RTF es importante señalar que no todas las opciones para formar un reporte de SISINF tienen su equivalente en el formato seleccionado por lo que algunas opciones son ignoradas. Tal sería el caso de especificar /ASCII y que el reporte de SISINF tenga líneas y varios tipos de letra. Se recomienda hacer pruebas para revisar la presentación.

    • El formato /SISINF genera un archivo con extensión "SLC" que es propio de SISINF, para leerlo se necesita bajar e instalar el "Lector de archivos SISINF" de la página de KRATOS. Se podrá desplegar o imprimir el reporte igual a como lo hace el emulador. Esta opción se recomienda para clientes que se les envía reportes con frecuencia ya que tienen que tener JAVA y hacer la instalación del lector.

    • El formato /IMAGEN genera por cada página del reporte una imagen. El tipo de imagen se selecciona en el menú del emulador, para ello seleccionar "Correo" y luego "Imagen". A continuación aparece una lista de los posibles formatos de imagen que soporta la versión de JAVA que Usted tenga en la PC. El valor preestablecido es "png". Si se tienen logos, líneas, colores,... se recomienda esta opción pero el tamaño del archivo es grande en comparación con los otros formatos.

    Se tienen opciones especiales que se definen con:

    /OPCIONES-ENVIAR ARCHIVO (LISTA)

    En donde:

    ARCHIVO

    Es una variable alfanumérica o literal donde está el directorio y nombre de un archivo en la PC, que se desea adjuntar al correo además del archivo de reporte. Así por ejemplo para adjuntar el archivo “Carta” se puede poner: /OPCIONES-ENVIAR ‘c:\doc\carta.doc’.

    LISTA

    Es una variable alfanumérica o literal donde está el directorio y nombre de un archivo en la PC con las direcciones de envío. Este archivo debe ser tipo texto y cada línea del texto es una dirección. Se puede crear como un temporal de SISINF tipo ASCII en la PC.

    Por último algunos comentarios generales del envío por correo:

    • Si se especifica /SELECCIONAR-PAGINAS al formar el archivo de su reporte, luego se despliega y el usuario selecciona qué paginas desea imprimir, entonces al enviar el correo solo éstas se pasan al archivo.

    • Ciertos datos como la dirección de envío, la dirección del enviador,... NO SE REVISA QUE SEAN VÁLIDOS por lo que el correo puede NO ser enviado y NO detectar un error.