La sentencia SELECT se emplea en los programas Cobol cuando únicamente queremos recuperar un registro de la tabla DB2 especificada. Esta sentencia extrae los campos que indiquemos y los carga en las variables que tengamos definidas para recibirlos.
El comando SELECT es el más sencillo que se puede usar cuando estamos trabajando con un programa Cobol DB2. No es necesario extraer listas de información ya que lo único que estamos buscando son los datos del registro sobre el que nos vamos a posicionar.
A continuación, mostramos un ejemplo de cómo sería el acceso a un registro de la tabla DB2 denominada JJCLIEM0 mediante la sentencia SELECT.
* CARGAMOS CLAVE CON CODIGO CLIENTE
* ---------------------------------
MOVE 0000000001 TO CLAVE-CLIENTE
*
* OBTENCION DE INFORMACION DEL DB2 JJCLIEM0
* -----------------------------------------
EXEC SQL
SELECT CLIENTE,
NOMBRE,
APELLIDO1,
APELLIDO2,
ALTURA,
PESO,
IMC,
OBSERVACIONES,
FECHA
INTO
:S-CLIENTE,
:S-NOMBRE,
:S-APELLIDO1,
:S-APELLIDO2,
:S-ALTURA,
:S-PESO,
:S-IMC,
:S-OBSERVACIONES,
:S-FECHA
FROM JJCLIEM0
WHERE CLIENTE = :CLAVE-CLIENTE
ORDER BY CLIENTE
END-EXEC
*
* VALIDACION DEL ACCESO DB2
* -------------------------
EVALUATE TRUE
WHEN SQLCODE = ZEROES
DISPLAY 'ACCESO DB2 OK'
WHEN SQLCODE = +100
DISPLAY 'NO EXISTE REGISTRO'
WHEN OTHER
MOVE SQLCODE TO SQLCODE-DIS
DISPLAY 'ERROR ACCESO DB2. SQLCODE: ' SQLCODE-DIS
PERFORM 9980-GENERAR-ERROR
THRU 9980-GENERAR-ERROR-EXIT
END-EVALUATE
Los pasos que estamos siguiendo en este fragmento de código son los siguientes:
1º) Cargamos la clave por la que vamos a acceder a la tabla DB2 JJCLIEM0. En este caso, se trata del campo CLAVE-CLIENTE.
2º) A continuación, ejecutamos la sentencia SQL SELECT indicando los nombres de los campos que queremos extraer de la tabla JJCLIEM0. En este caso son CLIENTE, NOMBRE, APELLIDO1, APELLIDO2, ALTURA, PESO, IMC, OBSERVACIONES y FECHA.
3º) Con el comando INTO especificamos los nombres de las variables que van a recibir los datos extraidos de los campos de la tabla JJCLIEM0.
4º) Finalmente, tras la ejecución de la sentencia SELECT, evaluamos el resultado del acceso mediante el parámetro SQLCODE. Si es cero, entonces la operación de acceso ha sido correcta.
Y esos son, en resumen, los pasos que habría que seguir para implementar correctamente una sentencia SELECT en nuestro programa Cobol DB2. Si lo codificamos tal y como se indica en el ejemplo, no deberíamos tener problema alguno posteriormente en el proceso de compilación.
Pues nada, como siempre, esperamos que la información que os proporcionamos os sirva de ayuda para resolver las dudas que tengáis a la hora de enfrentaros con la programación Cobol DB2.
Saludos.
No hay comentarios:
Publicar un comentario