En la primera parte del post comenzamos a revisar, hace algunas semanas, la lista de instrucciones utilizadas para la conexión Natural ADABAS. Recordemos que una de las ventajas principales del lenguaje Natural es su facilidad para interaccionar con la base de datos ADABAS.
Ya estuvimos viendo los que son considerados como los comandos más importantes a este respecto (ver post Comandos Natural de acceso a ficheros ADABAS - 1). A continuación, trataremos de completar la revisión enumerando el resto de cláusulas que pueden ser utilizadas en la conexión Natural ADABAS.
- FIND:
Esta instrucción sirve para buscar un registro o un grupo de registros
en el fichero ADABAS sin necesidad de usar un superdescriptor.
Normalmente, a diferencia de la instrucción READ, se utiliza para
procesar un número reducido de registros. En general, no se suele
emplear en las instalaciones debido al elevado consumo de recursos que
conlleva.
FIND CLIENTES WITH APELLIDO1 = ’ALDEGUER’
- GET SAME: Este comando se emplea para obtener de nuevo la información del registro que está siendo procesado en ese momento.
GET SAME VALOR
- GET TRANSACTION DATA:
Con esta cláusula podremos recuperar la información que haya sido
almacenada en la última transacción con la instrucción END TRANSACTION.
GET TRANSACTION DATA CLIENTES-ET
- HISTOGRAM:
Este comando nos permite extraer los datos de los campos del fichero
ADABAS que hayan sido definidos como descriptores o que formen parte de
un superdescriptor. En general, el uso de esta sentencia está prohibido
en las instalaciones debido a su alto consumo de recursos.
HISTOGRAM CLIENTES DNI STARTING FROM '1'
DISPLAY DNI *NUMBER *COUNTER
END-HISTOGRAM
- OBTAIN: Esta instrucción se utiliza para poner a disposición una serie de ocurrencias de una matriz ADABAS en almacenamiento continuo.
OBTAIN VALOR
De
los comandos indicados, los que se suelen emplear con mayor frecuencia
son READ, UPDATE, STORE, DELETE y GET, junto con las sentencias END
TRANSACTION y BACKOUT TRANSACTION. Con estas 7 instrucciones tendremos
suficiente para realizar el 90% de los accesos a la base de datos
ADABAS.
Como vemos, el uso de estos comandos es muy
intuitivo y, como decíamos más arriba, las sentencias son más sencillas
de codificar que en el caso de otros lenguajes como Cobol o Java. De
hecho, a pesar de su antigüedad, la sencillez de acceso a la base de datos sigue siendo una de las ventajas competitivas del lenguaje Natural.
Como
siempre, lo importante para hacernos con el control de estas sentencias
es practicar. En este caso, debido a la similitud de Natural con los
lenguajes clásicos de programación, el tiempo requerido para adaptarnos a
su funcionamiento es muy inferior al de los modernos lenguajes
orientados a objetos.
Y nada más. Con lo comentado
debería ser suficiente para hacernos con una idea de cuáles son los
comandos que vamos a necesitar para acceder a ADABAS desde Natural.
Ahora ya es cuestión de cada uno aprovechar este conocimiento o no...
Saludos.
Me gustaría obtener programas de ejemplo, mi correo es chacon_ven72@hotmail.com, gracias.
ResponderEliminarBuenas, primero felicitarlos por la gran iniciativa de dar información sobre Natural/ADABAS. Quería hacer un pequeño comentario u observación con respecto al histogram. Normalmente esta instrucción Natural no se usa tanto en las instalaciones debido a la falta de disponibilidad de información que devuelve la instrucción y no a su alto consumo. De hecho yo diría que es una de las instrucciones con menos consumo, solo hay que acotar y definir bien su uso, ya que genera loops que hay que saber delimitar y definir muy bien. De los 4 principales componentes de ADABAS(Associator, Inverted Lists, Data Area y Working Area) el Histogram lee los datos directa y unicamente de las listas invertidas por lo que no se tiene acceso a mas información que la que hay en esa estructura(*isn, *number & *counter) no mas de ahí. Así que solo es una muy buena instrucción solo para saber si los valores de cierto descriptor o superdescriptor existen y cuanto hay. No se puede obtener ningun otro valor de otro campo del registro ya no se usa la DATA Area que es donde reciden los valores de los registros almacenados.
ResponderEliminar