

En el siguiente código de programación vemos el uso del Occur para actualizar un archivo. Puede apreciarse que ya no es necesario el uso de variables de trabajo utilizadas como campos en la pantalla para guardar los valores modificados por el usuario.
f*************************************************************
f*************************************************************
fArchivo uf e k Disk
FArchidsp cf e WORKSTN
d*************************************************************
d* Variables, Estructuras, Arreglos *
d*************************************************************
dDSARCHIVO E DS EXTNAME(ARCHIVO)
d Occurs(2)
dINDICE s 1s 0
c*************************************************************
c* Rutina Principal *
c*************************************************************
c
c*
c Eval Indice = 1
C Indice occur DSARCHIVO
c Clave chain(n) archivo
c Exfmt FMT1
c* Exsr validar
c*
c* if okey
c Eval Indice = 2
C Indice occur DSARCHIVO
c Clave chain archivo
c*
c if %found
c Eval Indice = 1
C Indice occur DSARCHIVO
c update rarchi
c* endif
c*
c endif
c
c Seton Lr
Si declaramos dos ocurrencias sobre una DS que está asociada a la descripción externa del archivo que queremos actualizar, se hace innecesario declarar tantas variables auxiliares como campos tiene el archivo.
Cuando nos posicionamos en el indice = 1, inicialamente cargamos, en esta ocurrencia, los valores del archivo. Luego el usuario altera los campos de pantalla con los valores que desea modificar. Con este procedimiento podemos declarar los campos en pantalla con los mismos nombres que tienen los campos en el archivo.Como seguimos posicionados en el Indice = 1, los cambios son realizados sobre esta ocurrencia de la DS del archivo. Antes de hacer un segundo chain sobre el archivo, nos posicionamos en la segunda ocurrencia con Indice = 2, para que los valores leídos del archivo se carguen sobre esta ocurrencia de la DS y no altere los cambios que el usuario realizó en pantalla. Finalmente antes de realizar el UPDATE, nos volvemos a posicionar en el Occur con indice = 1 a fin de rescatar los valores que queremos grabar y realizar los cambios que el usuario está solicitando.
Si te pareció interesante, reenvialo a un amigo haciendo click en el sobrecito que está al final del artículo. El conocimiento es valioso, compártelo.
Autor: Ing. Liliana Suárez
No comments:
Post a Comment