Serie ficheros virtuales

 

 

RPG Ficheros virtuales

 

 

 

Alternativas

 

 

En la introducción inicial del conjunto de la serie de ficheros virtuales, escrita allá por el año 2004, se exponían las razones que me habían llevado a desarrollar esta implementación. Una de ellas consistía en que no existían alternativas en el lenguaje RPG del sistema iSeries.

 

Con la release 7.1 está afirmación deja de ser cierta en esencia.

 

La ampliación de las posibilidades de %sort() a las estructuras dinámicas de aparición múltiple como en el siguiente ejemplo, tomado del artículo

 

Big Changes for RPG in IBM i 7.1

Open Access and new built-in functions top the list

April 2010 | by Susan Gantner and Jon Paris

 

IBM Systems Magazine

 

D ProductInfo     DS                  Dim(1000) Qualified

D  Name                          8    

D  UnitPrice                     5p 2    

D  QtyInStock                    5p 0  

 

 

 If SortByName;

    SortA  ProductInfo(*).Name;

  ElseIf SortByQty;

    SortA  ProductInfo(*).QtyInStock;

  ElseIf SortByPrice;

    SortA  ProductInfo(*).UnitPrice;

  EndIf;

 

  Element = %LookUp( 'ABC': ProductInfo(*).Name);

 

 

Dota al lenguaje de unas herramientas que resuelven las necesidades de ordenación in situ que eran muchas veces el objeto de mi utilización de los ficheros virtuales.

 

Ni que decir tiene que el uso de esta posibilidad en segundo plano al estilo de cómo se muestra en el capítulo de paso implícito de información, también permite resolver el problema de caché.

 

Si bien el resto de razones expuestas en aquella introducción permanecen, no hay duda que las necesidades principales que me llevaron a desarrollar el núcleo del producto se resuelven con la ampliación de esta función integrada (bif).

 

                                                                                                      ________

 

 

Aunque el sistema aún no proporciona una herramienta que soporte la ampliación final de ficheros virtuales a bases de datos virtuales que proporciona el interfaz final SRAGM, el camino abierto con estas funciones es un punto de partida para alcanzarlas.

 

Entrando ya en el terreno de la especulación, confío en que esas ampliaciones den un soporte nativo completo a este tipo de desarrollos, que acaban siendo una exigencia al abordar la programación que las complejas necesidades de implementación actual demandan. 

 

                                                                                                      ________