Serie ficheros virtuales

 

 

 

 

RPG Ficheros virtuales

 

 

 

- Paso asíncrono de parámetros

 

 

- Introducción

 

- Las utilidades de paso

 

- Programas de muestra

 

- Código fuente

 

 

 ________

 

 

- Introducción

 

 

En el capítulo  A.I.7 Extensión. SRRCW como implementación de base de datos virtual  del blog hermano  C Ficheros virtuales  de la  serie ficheros virtuales,  se introdujo el epígrafe

 

A.I.7.10 Un ejemplo de paso implícito de información

en donde se presentaba un ejemplo en lenguaje C de paso implícito de información.

 

 

La situación que se contemplaba responde al caso en que ciertos parámetros que nos interesan se generan en un programa que radica en una pila de programas que nos viene impuesta y a la que no podemos aplicar la solución estándar de paso explícito de parámetros.

 

En iSeries una solución alternativa consiste en utilizar estructuras de datos externas. Pero como todo objeto físico presenta la problemática de autorizaciones, bloqueos, etc.

 

Como alternativa adicional, se va a desarrollar ahora el ejemplo de A.I.7.10 pero para programas RPG.

 

 

 ________



- Las utilidades de paso

 

 

  Las funciones de paso asíncrono de parámetros son

 

 SRAGG_PasoW   Que permite grabar el contenido de un parámetro numérico o alfanumérico

 

 SRAGG_PasoWp  Que permite grabar la dirección de una estructura para su paso implícito

 

 

 SRAGG_PasoRa   Para leer el contenido de un parámetro alfanumérico

 

 SRAGG_PasoRn   Para leer el contenido de un parámetro numérico

 

 SRAGG_PasoRp   Para leer la dirección de una estructura

 


________

 

 


- Programas de muestra

 

  Se han preparado los programas de muestra

 

 CC7701  ----  CC7702  ----  CC7703

 

 

  El esquema de funcionamiento es como sigue:

 

 CC7701 llama a CC7702 que cumple la función de caja negra inaccesible que llama a CC7703 que graba una serie de parámetros que finalmente vuelve a recoger de forma asíncrona CC7701 y los presenta en pantalla.

 

 

  La imagen del resultado que presenta CC7701 es

 

 

 

 

La imagen muestra como CC7701 presenta los parámetros que se graban en CC7703.

 

Así, se graba un parámetro alfanumérico N1ALFA con el texto “Texto grabado en CC7703”, un parámetro numérico N1NSER con el valor  NúmeroJob,NúmeroSecuencial  y un parámetro estructura N1STAM con un estampillado Fecha-Hora-Milisegundos.

 

 

Las instrucciones núcleo de paso son:

 

 

Parámetro alfanumérico :  TTResu = SRAGG_PasoW('CC7703.N1ALFA':'Texto grabado en ' + P1PROC);

 

Parámetro numérico . . :  TTResu = SRAGG_PasoW('CC7703.N1NSER':%editc(TSNSER:'X'));

 

Parámetro estructura . :  TTResu = SRAGG_PasoWp('CC7703.N1STAM':%addr(DSSTAM));

 

 

 

Las instrucciones núcleo de recepción son:

 

 

Parámetro alfanumérico :  N1ALFA = SRAGG_PasoRa('CC7703.N1ALFA':TTResu);

 

Parámetro numérico . . :  N1NSER = SRAGG_PasoRn('CC7703.N1NSER':%len(N1NSER):%decpos(N1NSER):TTResu);

 

Parámetro estructura . :  pDxSTAM = SRAGG_PasoRp('CC7703.N1STAM':TTResu);

 

 


________

 

 

- Código fuente

 

El código del interfaz de presentación CC7701 se encuentra en

 

 Archivo de pantalla CCD7701: http://iseries.ficherosvirtuales.com/QDDSSRC/QDDSSRC.CCD7701

 Código del programa CC7701 : http://iseries.ficherosvirtuales.com/QRPGLESRC/QRPGLESRC.CC7701

 

 

El código de CC7702 es mínimo y se encuentra en http://iseries.ficherosvirtuales.com/QRPGLESRC/QRPGLESRC.CC7702

 

 

El código del programa de carga CC7703 se encuentra en

 

 Código del programa CC7703 : http://iseries.ficherosvirtuales.com/QRPGLESRC/QRPGLESRC.CC7703

 Código adicional DS7703  . : http://iseries.ficherosvirtuales.com/QRPGLESRC/QRPGLESRC.COCCD_7703

 

 

Fuente de servicios auxiliares SRAGG (Que incluyen la serie SRAGG_Paso...)

 

       Prototipos de exportación: http://iseries.ficherosvirtuales.com/QCOPYSRC/QCOPYSRC.PSRAGG
       Fuente principal . . . . : http://iseries.ficherosvirtuales.com/QRPGLESRC/QRPGLESRC.SRAGG     
       Fuente de enlace . . . . : http://iseries.ficherosvirtuales.com/QSRVSRC/QSRVSRC.SSRAGG 

       Código adicional DSPASO  : http://iseries.ficherosvirtuales.com/QRPGLESRC/QRPGLESRC.COAGD_PASO

 

 


________