Serie ficheros virtuales

 

 


RPG Ficheros virtuales

 

 

 

Persistencia de Datos

 

 

        Estructuras de soporte

 

        Relación de prototipos

 

          SRAGM_RSTF

 

        SRAGM_SAVF

 

 

                                                                                   ________

 

 

Estructuras de soporte

 

 

A lo largo de este manual dedicado a los servicios de SRAGM, se irán ilustrando los procedimientos utilizando la estructura de datos DS8888c, que se compone de una subestructura de clave principal, una subestructura de clave alternativa y una subestructura de datos, que se detallan a continuación:

 

 

      **********************************************************************************************

      *  DS8888   *  Banco de pruebas de SRAGM

      **********************************************************************************************

 

      ***

      * *  Definición fichero virtual DS8888

      ***

     D DS8888c         DS                  QUALIFIED BASED(pDS8888c)            Soporte  DS8888

     D  DSK                                LIKEDS(DSCc)                         ClavesPF DS8888

     D  DSK01                              LIKEDS(DSC01c)                       ClavesLF DS8888

     D  DSD                                LIKEDS(DSDc)                         Datos    DS8888

 

      ***

      * *  Definición claves PF (Es la definición de una red [I,J], como en la emulación de una hoja de cálculo)

      ***

     D DSCc            DS                  QUALIFIED BASED(pDSCc)

     D  I                            10S 0                                      I

     D  J                            10S 0                                      J

 

      ***

      * *  Definición claves LF (Orden inverso)

      ***

     D DSC01c          DS                  QUALIFIED BASED(pDSC01c)

     D  JI                           10S 0                                      N*N - IJ + 1

 

      ***

      * *  Definición datos fichero virtual DS8888

      ***

     D DSDc            DS                  QUALIFIED BASED(pDSDc)

     D  IJ                           10S 0                                      N*(I-1) + J

     D  IMPT                         10S 0                                      [100000]+N*(I-1) + J

      * La constante [100000] se añadirá/retirará en los UPDATE de prueba

 

 

 

 

DS8888 es una definición tipo. Está basada en punteros nulos y para usarse debe instanciarse con una instrucción LIKEDS. Esto puede apreciarse en el juego entre el programa CC8888 y el programa de servicio SRAGMV.

 

 

                                                                                   ________

 

 

En las funciones que se están presentando ahora, se utiliza como soporte físico el fichero de trabajo auxiliar de longitud variable YGFVFILE cuyo diseño se muestra ahora:

 

           ******************************************************************

      * YGFVFILE * F.TRABAJO INTERCAMBIO SRAGM_SAVF/RSTF

      ******************************************************************

     A                                      UNIQUE

     A          R REGVF

 

      * IDENTIFICACIÓN VF - VIA DE ACCESO

     A            VFFILE        33A         COLHDG('VFFILE' 'ID.VFILE')

     A            VFJOBN         6A         COLHDG('VFJOBN' 'NUMERO JOB')

     A            VFNORD         6S 0       COLHDG('VFNORD' 'NUMERO SEC')

 

      * ESTAMPILLADO

     A            VFJOBR        10A         COLHDG('VFJOBR' 'NOMBRE JOB')

     A            VFJOBU        10A         COLHDG('VFJOBU' 'USUARIO')

     A            VFFECH         8S 0       COLHDG('VFFECH' 'FECHA ANOTACION')

     A            VFHORA         6S 0       COLHDG('VFHORA' 'HORA  ANOTACION')

     A            VFMILI         3S 0       COLHDG('VFMILI' 'MILIS.ANOTACION')

 

      * SERIALIAZACIÓN DEL FICHERO VIRTUAL

     A            VFCLAV     16200A         COLHDG('VFCLAV' 'ValorClave') VARLEN

     A            VFDATO     16200A         COLHDG('VFDATO' 'ValorDatos') VARLEN

 

      * VIA DE ACCESO

     A          K VFFILE

     A          K VFJOBN

     A          K VFNORD

 

 

                                                                                   ________

 

 

 

 

 

  Persistencia de datos

 

 

 

      * Restaura un salva de registros desde el soporte físico YGFVFILE 

 

     DSRAGM_RSTF       PR            10I 0                                      NºReg.Copiados -1=Er

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               NombreFicheroDest1*I

     D P_JOBN                         6    VALUE OPTIONS(*NOPASS)               NºJob/*Bl=*Standr2*I

     D P_Repl                         5I 0 VALUE OPTIONS(*NOPASS)               0/1 Reemplazar   3*I

      *                                                                         *Dft 1=Reemplazar

 

 

 

 

      * Salva un fichero físico al soporte físico YGFVFILE

 

     DSRAGM_SAVF       PR            10I 0                                      NºReg.Copiados -1=Er

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               NombreFicheroOrig1*I

     D P_JOBN                         6    VALUE OPTIONS(*NOPASS)               NºJob/*Bl=*Curren2*I

     D P_Repl                         5I 0 VALUE OPTIONS(*NOPASS)               0/1 Reemplazar   3*I

      *                                                                         *Dft 1=Reemplazar

 

 

 

 

                                                                                   ________

 

 

 

  SRAGM_RSTF. Prototipo

 

 

 

      * Restaura un fichero virtual desde el soporte físico YGFVFILE

 

     DSRAGM_RSTF       PR            10I 0                                      NºReg.Copiados -1=Er

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               NombreFicheroDest1*I

     D P_JOBN                         6    VALUE OPTIONS(*NOPASS)               NºJob/*Bl=*Standr2*I

     D P_Repl                         5I 0 VALUE OPTIONS(*NOPASS)               0/1 Reemplazar   3*I

      *                                                                         *Dft 1=Reemplazar

 

 

 

 

 

Ejemplo

 

 

 

         T_Resu = SRAGM_RSTF('DS8888');

 

 

Al ejecutar esta instrucción, se restauran los datos del fichero virtual 'DS8888' desde el fichero físico YGFVFILE, reemplazando el contenido anterior, que se salvaron en el trabajo que sometió al actual (Opción estándar). T_Resu recoge el número de registros copiados.

 

En el ejemplo

 

         T_Resu = SRAGM_RSTF('DS8888':K1JOBN);

 

se restauran los datos del fichero virtual 'DS8888' desde el fichero físico YGFVFILE, reemplazando el contenido anterior, que se salvaron en el trabajo K1JOBN. T_Resu recoge el número de registros copiados.

 

 

 

 

Funciones relacionadas

 

 

   SRAGM_INF   Recupera estadísticos de un fichero virtual. 

 

   SRAGM_DUP   Duplica una base de datos virtual.

 

   SRAGM_NEW   Crea un fichero virtual. Si existe previamente lo limpia.

 

   SRAGM_NOW   Tiene el mismo funcionamiento que SRAGM_NEW, pero no limpia datos previos si hay pre-existencia.

 

   SRAGM_SAVF  Su recíproco. Salva un fichero virtual a YGFVFILE.

 

 

                                                                                   ________

 

 

 

  SRAGM_SAVF. Prototipo

 

 

 

      * Salva un fichero físico a un soporte físico

 

     DSRAGM_SAVF       PR            10I 0                                      ContadorRegistrosSAV

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               NombreFichero(LF)1*I

     D P_JOBN                         6    VALUE OPTIONS(*NOPASS)               NºJob/*Bl=*Curren2*I

     D P_Repl                         5I 0 VALUE OPTIONS(*NOPASS)               0/1 Reemplazar   3*I

      *                                                                         *Dft 1=Reemplazar

 

 

 

 

 

Ejemplo

 

 

 

         T_Resu = SRAGM_SAVF('DS8888');

 

 

Al ejecutar esta instrucción, se salvan los datos del fichero virtual 'DS8888' al fichero físico YGFVFILE, reemplazando el contenido anterior. T_Resu recoge el número de registros copiados.

 

Esto deja al sistema preparado para restaurar los datos desde este mismo trabajo o desde cualquier otro, particularmente desde un trabajo sometido, proporcionando un sistema de paso de información compleja entre distitntos trabajos.

 

 

Funciones relacionadas

 

 

   SRAGM_INF   Recupera estadísticos de un fichero virtual. 

 

   SRAGM_DUP   Duplica una base de datos virtual.

 

   SRAGM_NEW   Crea un fichero virtual. Si existe previamente lo limpia.

 

   SRAGM_NOW   Tiene el mismo funcionamiento que SRAGM_NEW, pero no limpia datos previos si hay pre-existencia.

 

   SRAGM_RSTF  Su recíproco. Restaura un fichero virtual desde uno real.

 

 

                                                                                   ________