Serie ficheros virtuales

 

 

 

RPG Ficheros virtuales

 

 



Lista de procedimientos por grupos funcionales del programa de servicio SRAGM

 

 

 

Funciones de gestión de objetos (NEW, NOW, ...)

 

 

Funciones de caché básico. Núcleo del sistema (WRITE, CHAIN, ...)

 

 

Funciones derivadas directas (DELETE, UPDATE, ...)

 

 

Funciones derivadas intrínsicamente del orden (SETLL, READE, ...)

 

 

Extensión de base de datos (CPY, DUP, ...)

 

 

Persistencia de datos (SAVF, RSTF, ...)

 

 

Grupo informativo y de control (INF, NID, ...)

 

 

Grupo emulación de colas (FIFO)

 

 

Grupo emulación de pilas (LIFO)

 


                                                                                                      ________


 

 

 

Lista de procedimientos por grupos funcionales del programa de servicio SRAGM

 

 

 

  Funciones de gestión de objetos

 

 

 

      * Genera un fichero virtual. Si existe previamente, lo limpia

 

     DSRAGM_NEW        PR            10I 0                                      Identificador0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_DIMC                        10I 0 VALUE                                DIM(TAMAÑO)CLAVES2*I

     D P_DIMD                        10I 0 VALUE OPTIONS(*NOPASS)               DIM(TAMAÑO)DATOS 3*I

     D P_MAXR                        10I 0 VALUE OPTIONS(*NOPASS)               MAXIMO NUM.ITEMS 4*I

 

 

 

 

      * Genera un fichero virtual, si no existe previamente

 

     DSRAGM_NOW        PR            10I 0                                      Identificador0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_DIMC                        10I 0 VALUE                                DIM(TAMAÑO)CLAVES2*I

     D P_DIMD                        10I 0 VALUE OPTIONS(*NOPASS)               DIM(TAMAÑO)DATOS 3*I

     D P_MAXR                        10I 0 VALUE OPTIONS(*NOPASS)               MAXIMO NUM.ITEMS 4*I

 

 

 

 

      * Reestablece el tamaño máximo de un fichero virtual

 

     DSRAGM_RESIZE     PR            10I 0                                      0/1 ErrorProceso

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero    *I

     D P_MaxNreg                     10I 0 VALUE                                NuevoNºMáxRegistrs*I

 

 

 

 

      * Crea un "lógico" en base a un fichero virtual "físico" previo

 

     DSRAGM_CRTLF      PR            10I 0                                      NID del LF | 0=Error

     D P_pLF                           *   VALUE OPTIONS(*STRING)               NombreFichero LF  *I

     D P_pPF                           *   VALUE OPTIONS(*STRING)               NombreFichero PF  *I

     D P_KPOS                        10I 0 VALUE                                PosiciónClaveEnPF *I

     D P_KLEN                        10I 0 VALUE                                LongitudClaveDelLF*I

 

 

   

 

      * Limpia un fichero virtual (Vaciado de datos)

 

     DSRAGM_CLRF       PR            10I 0                                      0/1 ErrorProceso

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_NBorr                       10I 0       OPTIONS(*NOPASS)               NºReg.Borrados   2*O

 

 

 

 

      * Elimina una base de datos virtual

 

     DSRAGM_ERASE      PR            10I 0                                      0/1 Error de proceso

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero    *I

 

 



                                                                                                      ________

 

 

 

    Funciones de caché básico. Núcleo del sistema

 

 

 

 - Grupo CHAIN

 

  

 

      * Recupera un registro de un fichero virtual

 

     DSRAGM_CHAIN      PR            10I 0                                      PosiciónItem/0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_pCLAV                         *   VALUE OPTIONS(*STRING)               pCLAVE solicitada2*I

     D P_pDATO                         *   VALUE OPTIONS(*NOPASS)               pDATOS pedidos(O)3*I

     D P_LONG                        10I 0 VALUE OPTIONS(*NOPASS)               LongtdClvParcial 4*I

 

 

 

 

      * Determina la existencia de un ítem en memoria, y si no lo establece

 

     DSRAGM_VER        PR            10I 0                                      PosItem/0=NO existía

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero    *I

     D P_pCLAV                         *   VALUE OPTIONS(*STRING)               Clv.del Item      *I

 

 

 

 

 - WRITE

 

 

 

      * Graba un registro en un fichero virtual

 

     DSRAGM_WRITE      PR            10I 0                                      PosiciónItem/0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_pCLAV                         *   VALUE OPTIONS(*STRING)               ClaveRegAGrabar  2*I

     D P_pDATO                         *   VALUE OPTIONS(*STRING:*NOPASS)       DatosRegAGrabar  3*I

 

 

 


                                                                                                     
________

 

 

 

   

 Funciones derivadas directas

 

 

 

 

      * Elimina un registro en un fichero virtual

 

     DSRAGM_DELETE     PR            10I 0                                      PosicItemBAJ/0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_pCLAV                         *   VALUE OPTIONS(*STRING)               ClaveRegAEliminar2*I

     D P_Long                        10I 0 VALUE OPTIONS(*NOPASS)               LongitudParcialK 3*I

 

 

 

 

      * Actualiza un registro en un fichero virtual

 

     DSRAGM_UPDATE     PR            10I 0                                      PosiciónItem/0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_pCLAV                         *   VALUE OPTIONS(*STRING)               ClaveRegAActualiz2*I

     D P_pDATO                         *   VALUE OPTIONS(*STRING:*NOPASS)       DatosRegAActualiz3*I

     D P_LONG                        10I 0 VALUE OPTIONS(*NOPASS)               LongtdClvParcial 4*I

 

 

 

 

      * Reorganiza un fichero virtual depurando bajas y reordenándolo s/claves

 

     DSRAGM_REORGANIZ  PR            10I 0                                      0/1 ErrorProceso

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_NBorr                       10I 0       OPTIONS(*NOPASS)               NºReg.Borrados   2*O

 

 

 


                                                                                                      ________

 

 

 

 

    Funciones derivadas intrínsicamente del orden

 

 

 

- Grupo posicionamiento

 

 

 

      * Determina la existencia de un ítem por clave igual (Y deja situado para READE)

 

     DSRAGM_SETEQ      PR            10I 0                                      PosiciónItem/0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_pCLAP                         *   VALUE OPTIONS(*STRING)               Clv(Parcial)Acces2*I

     D P_LONG                        10I 0 VALUE OPTIONS(*NOPASS)               LongtdClvParcial 3*I

 

 

 

 

      * Determina la existencia de un ítem por clave mayor (Y deja situado para READPE)

 

     DSRAGM_SETGT      PR            10I 0                                      PosiciónItem/0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_pCLAP                         *   VALUE OPTIONS(*STRING)               Clv(Parcial)Acces2*I

     D P_LONG                        10I 0 VALUE OPTIONS(*NOPASS)               LongtdClvParcial 3*I

 

 

 

 

      * Determina la existencia de un ítem por clave mayor superior (Y deja situado para READ)

 

     DSRAGM_SETGTT     PR            10I 0                                      PosiciónItem/0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_pCLAP                         *   VALUE OPTIONS(*STRING)               Clv(Parcial)Acces2*I

     D P_LONG                        10I 0 VALUE OPTIONS(*NOPASS)               LongtdClvParcial 3*I

 

 

 

 

      * Sitúa en el índice de memoria-clave más próximo inferior (+ 1)

      *     o en el índice exacto del ítem, dejando a SRAGM preparado para

      *     responder a SRAGM_READE, etc.

      * Nota: Si sólo se desea verificar la existencia, utilícese SRAGM_SETEQ

 

     DSRAGM_SETLL      PR            10I 0                                      PosiciónItem/0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_pCLAP                         *   VALUE OPTIONS(*STRING)               Clv(Parcial)Acces2*I

     D P_LONG                        10I 0 VALUE OPTIONS(*NOPASS)               LongtdClvParcial 3*I

 

 

 

- Grupo READ

 

 

 

      *  Lectura secuencial de un registro de un fichero virtual

 

     DSRAGM_READ       PR            10I 0                                      0/1 Error (Eof)

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_INDI                        10I 0 VALUE                                NRR a recuperar  2*I

     D P_pDATO                         *   VALUE                                pDATOS pedidos(O)3*I

     D P_pCLAV                         *   VALUE OPTIONS(*NOPASS)               pCLAVE asociad(O)4*I

 

 

 

 

      * Lectura por clave de un registro de un fichero virtual

 

     DSRAGM_READE      PR            10I 0                                      PosiciónItem/0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_pCLAP                         *   VALUE OPTIONS(*STRING)               Clv(Parcial)Acces2*I

     D P_LONG                        10I 0 VALUE                                LongtdClvParcial 3*I

     D P_pDATO                         *   VALUE                                pDATOS pedidos(O)4*I

     D P_pCLAV                         *   VALUE OPTIONS(*NOPASS)               pCLAVE asociad(O)5*I

 

 

 

 

      * Lectura inversa por clave de un registro de un fichero virtual

 

     DSRAGM_READPE     PR            10I 0                                      PosiciónItem/0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_pCLAP                         *   VALUE OPTIONS(*STRING)               Clv(Parcial)Acces2*I

     D P_LONG                        10I 0 VALUE                                LongtdClvParcial 3*I

     D P_pDATO                         *   VALUE                                pDATOS pedidos(O)4*I

     D P_pCLAV                         *   VALUE OPTIONS(*NOPASS)               pCLAVE asociad(O)5*I

 

 

 


                                                                                                     
________

 

 

 

  Extensión de base de datos

 

  

 

      * Copia un fichero virtual a otro

 

     DSRAGM_CPY        PR            10I 0                                      NºRegistrosCopiados

     D P_pORIG                         *   VALUE OPTIONS(*STRING)               NombreFicheroOrg 1*I

     D P_pDEST                         *   VALUE OPTIONS(*STRING)               NombreFicheroDest2*I

     D P_Opci                         5I 0 VALUE OPTIONS(*NOPASS)               Opc 0=A 1=R 3=M  3*I

      * 0=COPY *ADD  1=COPY *REPLACE (Valor por defecto)  2=COPY *MERGE:ReemplazCoincidente AddResto

      *              ===================================

 

 

 

 

 

      * Duplica una base de datos virtual

 

     DSRAGM_DUP        Pr            10I 0                                      Nid Destino  0=Error

     D P_pORIG                         *   VALUE OPTIONS(*STRING)               NombreFicheroOrg  *I

     D P_pDEST                         *   VALUE OPTIONS(*STRING)               NombreFicheroDest *I

 

 

 


                                                                                                     
________

 

 

 

  Persistencia de datos

 

 

 

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

 

     DSRAGM_RSTF       PR            10I 0                                      ContadorRegistrosRST

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

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

      *                                                                         *Dft 1=Reemplazar

 

 

 

 

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

 

     DSRAGM_SAVF       PR            10I 0                                      ContadorRegistrosSAV

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

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

      *                                                                         *Dft 1=Reemplazar

 

 



                                                                                                      ________

 

 

 

 

   Grupo informativo y de control

 

 

 

 

      * Recupera información estadística de un fichero ("DSPFD")

 

     DSRAGM_INF        PR            10I 0                                      0/1 ErrorDeProceso

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_DIMC                        10I 0 OPTIONS(*NOPASS)                     DIM CLAVES       2*O

     D P_DIMD                        10I 0 OPTIONS(*NOPASS)                     DIM DATOS        3*O

     D P_NITEM                       10I 0 OPTIONS(*NOPASS)                     NºITEMS          4*O

     D P_NBAJAS                      10I 0 OPTIONS(*NOPASS)                     NºBAJAS          5*O

     D P_NITD                        10I 0 OPTIONS(*NOPASS)                     NºITEMS Disponibl6*O

 

 

 

  

      * Interfaz de SRRCW_NAME para uso RPG

 

     DSRAGM_NAME       PR              *                                        NombreDepuradoTipRPG

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

 

 

 

 

      * Recupera el NID asociado a un fichero virtual

 

     DSRAGM_NID        Pr            10I 0                                      Identificador 0=Erro

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

 

 

 

 

      * Devuelve el nombre asociado a un NID s/relación de enlace de nombres y NID's

 

     DSRAGM_NidFile    Pr              *                                        NombreAsociadoAlNID

     D P_NID                         10I 0 VALUE                                IdentificadorDeFile

 

 

 

 

      * Evalúa si un nombre de fichero (lógico) tiene dbr asociada.

 

     DSRAGM_VERDBR     PR            10I 0                                      Nid del PF asociado

     D P_pLF                           *   VALUE OPTIONS(*STRING)               NombreFichero(LF) *I

     D P_pPF                           *   VALUE OPTIONS(*STRING)               NombreFicheroPF(O)*I

 

 

 


                                                                                                     
________

 

 

 

   Grupo emulación colas (FIFO: First input, first output)

 

 

 

      * Genera una cola FIFO virtual. Si existe previamente, la limpia.

 

     DSRAGM_FIFO_NEW   PR            10I 0                                      Identificador0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_DIMD                        10I 0 VALUE                                DIM(TAMAÑO)DATOS 2*I

     D P_MAXR                        10I 0 VALUE OPTIONS(*NOPASS)               MAXIMO NUM.ITEMS 3*I

 

 

 

 

      * Genera una cola FIFO virtual, si no existe previamente.

 

     DSRAGM_FIFO_NOW   PR            10I 0                                      Identificador0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_DIMD                        10I 0 VALUE                                DIM(TAMAÑO)DATOS 2*I

     D P_MAXR                        10I 0 VALUE OPTIONS(*NOPASS)               MAXIMO NUM.ITEMS 3*I

 

 

 

 

      * Lee un ítem de una cola virtual

 

     DSRAGM_FIFO_READ  PR            10I 0                                      0/1 Error

     D P_pFIFO                         *   VALUE OPTIONS(*STRING)               Nombre Cola     1*I

     D P_pDATO                         *   VALUE                                pDatosObtenidos 2*I

     D P_OPCI                          N   VALUE OPTIONS(*NOPASS)               0/1 Borrar Item 3*I

 

 

 

 

      * Graba un ítem en una cola virtual

 

     DSRAGM_FIFO_WRIT  PR            10I 0                                      PosiciónItem/0=Error

     D P_pFIFO                         *   VALUE OPTIONS(*STRING)               Nombre Cola      *I

     D P_pDATO                         *   VALUE OPTIONS(*STRING)               pDatosGrabados   *I

 

 

 


                                                                                                     
________

 

 

 

   Grupo emulación pilas (LIFO: Last input, first output)

 

 

 

      * Genera una pila LIFO virtual. Si existe previamente, la limpia.

 

     DSRAGM_LIFO_NEW   PR            10I 0                                      Identificador0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_DIMD                        10I 0 VALUE                                DIM(TAMAÑO)DATOS 2*I

     D P_MAXR                        10I 0 VALUE OPTIONS(*NOPASS)               MAXIMO NUM.ITEMS 3*I

 

 

 

 

      * Genera una pila LIFO virtual, si no existe previamente.

 

     DSRAGM_LIFO_NOW   PR            10I 0                                      Identificador0=Error

     D P_pFILE                         *   VALUE OPTIONS(*STRING)               Nombre Fichero   1*I

     D P_DIMD                        10I 0 VALUE                                DIM(TAMAÑO)DATOS 2*I

     D P_MAXR                        10I 0 VALUE OPTIONS(*NOPASS)               MAXIMO NUM.ITEMS 3*I

 

 

 

 

      * Lee un ítem de una pila virtual

 

     DSRAGM_LIFO_READ  PR            10I 0                                      0/1 Error

     D P_pFIFO                         *   VALUE OPTIONS(*STRING)               Nombre Pila     1*I

     D P_pDATO                         *   VALUE                                pDatosObtenidos 2*I

     D P_OPCI                          N   VALUE OPTIONS(*NOPASS)               0/1 Borrar Item 3*I

 

 

 

 

      * Graba un ítem en una pila virtual

 

     DSRAGM_LIFO_WRIT  PR            10I 0                                      PosiciónItem/0=Error

     D P_pFIFO                         *   VALUE OPTIONS(*STRING)               Nombre Pila      *I

     D P_pDATO                         *   VALUE OPTIONS(*STRING)               pDatosGrabados   *I

 

 

 


                                                                                                     
________