Desarrollando en Cobol y Natural sobre Plataforma Mainframe

viernes, 25 de octubre de 2013

Sentencia SELECT para una Tabla DB2

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

Related Posts Plugin for WordPress, Blogger...