Lea en AS/400 System i . . .

Aprovechando las posibilidades del WRKACTJOB a través de sus parámetros

Obtenga una salida diferente de la habitual al ejecutar el comando WRKACTJOB, aprovechando lo ofrecido por algunos parámetros interesantes que posibilitan entre otras acciones la de renovar automáticamente la pantalla resultante.

FaceBookTwitterGoogle+

Acceso a archivos multimiembro en un entorno cliente/servidor o SQL.

Conozca  cómo manipular miembros de un archivo físico de datos distintos del primero (default), al trabajar con accesos client/server, tipo SQL, ODBC, JDBC, NetData, etc.

Los archivos de datos DB2/400 aceptan poseer más de un miembro de datos. Si el acceso a archivos multimiembro se hace desde herramientas tradicionales (DDS,CL, RPG, etc.) existen formas francas de direccionar un miembro determinado. En cambio, cuando se utilizan accesos tipo SQL, por ejemplo en un entorno client/Server, o desde la Web, o desde JAVA, deben implementarse otros recursos para elegir sobre cuál miembro se desea trabajar.

A partir de OS/400 V4.3, el lenguaje SQL posee una sentencia CREATE ALIAS para crear un nombre alternativo para un  archivo físico de datos asociado a un determinado miembro. El resultado de la ejecución de esta instrucción SQL es la creación de un objeto de tipo *FILE con atributo DDMF.

El comando CL Override Database File (OVRDBF) también permite al administrador de base de datos procesar miembros individuales de un archivo de base de datos, desde una línea de comandos, desde un programa o con una llamada a QCMDEXC. Sin embargo, el método del ALIAS es más adecuado para estos casos.

Los archivos de datos DB2/400 (*FILE PF-DTA) almacenan registros conteniéndolos dentro de un  miembro de datos. DB2/400 soporta los llamados archivos multimiembro, es decir, este tipo de objeto acepta poseer más de un miembro de datos para contener otro subconjunto de registros del mismo formato (otra sucursal, otro año fiscal, etc.).

Cuando se manipulan registros de un archivo, por omisión el sistema accede a los registros del primer miembro (aquél de fecha de creación más temprana). Si el acceso a un archivo multimiembro se hace desde herramientas tradicionales (mandatos CL, DDS RPG, etc.) existen formas francas de direccionar un miembro determinado.

En cambio, cuando se utilizan accesos tipo SQL, por ejemplo desde un sistema cliente, o desde la Web, o desde JAVA, deben implementarse otros recursos para elegir sobre cuál miembro se desea trabajar. Básicamente esto se logra a través de la creación de ALIAS o el uso del OVRDBF.

SQL y la creación de Alias

A partir de OS/400 V4.3, el lenguaje SQL posee una sentencia CREATE ALIAS para crear un nombre alternativo para un  archivo físico de datos y un determinado miembro. El resultado de la ejecución de esta instrucción SQL es la creación de un objeto de tipo *FILE con atributo DDMF. Es importante observar que el efecto de la ejecución de este comando no es temporario, sino que genera un objeto en una determinada biblioteca al que podrá referirse como un archivo físico de datos independiente en cualquier momento desde un cliente utilizando ODBC, por ejemplo desde MS-Access o desde Excel.

Las siguientes sentencias son ejemplos de creación de Alias:

1)       CREATE ALIAS tekdb2.pruebas  FOR tekdb2.movim

Dónde tekdb2.pruebas es el nombre del alias (*FILE DDMF que se genera), y tekdb2.movim es el archivo *FILE PF-DTA en el cual se basa. Como no se especifican datos del miembro, apunta al de fecha de creación más antigua.

2)       CREATE ALIAS tekdb2.vent_enero  FOR tekdb2.ventas(enero)

Dónde tekdb2. vent_enero es el nombre del alias (*FILE DDMF que se genera), y tekdb2. ventas(enero) es el archivo *FILE PF-DTA en el cual se basa, y enero el nombre del miembro del archivo.

Para crear un alias, pueden utilizarse diferentes entornos:

  1. Desde pantalla verde, invocando al comando STRSQL.
  2. Desde Operations Navigator, a través del item Base de datos.

Independientemente de la interfaz usada para la creación de alias, el objeto generado es siempre un *FILE DDMF en la biblioteca indicada.

Creación de un alias usando STRSQL

Para crear un alias desde “pantalla verde” realizar los siguientes pasos:

1) Iniciar una sesión interactiva, e ingresar el comando STRSQL.

2)  Presionar F4 para obtener la lista de comandos SQL permitidos.

3) Seleccionar la opción 6, CREATE ALIAS, y presionar Intro.

4) Indicar el nombre del alias y la biblioteca donde se lo almacenará. También especificar el nombre calificado del archivo, y sobre cual miembro operará. Luego presionar Intro.

Cuando se crea un alias de la manera detallada anteriormente, la autorización *PUBLIC para el objeto *FILE DDMF surge del parámetro CRTAUT de la biblioteca que lo contendrá.

Creación de un alias usando iSeries Navigator - Operations Navigator

Para crear un alias desde iSeries Navigator - Operations Navigator realizar los siguientes pasos:

1) Iniciar una sesión con iSeries Navigator .

2) Sobre el item Base de datos, presionar botón derecho.

3) Elegir Ejecutar scripts SQL.

4) Ingresar la sentencia SQL que permite crear un alias. Como ayuda se puede utilizar el combo box “Ejemplo sentencias SQL”, seleccionar la sentencia e insertar. La siguiente ventana muestra la sentencia CREATE ALIAS y un posterior uso con la sentencia SELECT.

AS400-crear-alias-SQL

Cuando se crea un alias de la manera detallada anteriormente, la autorización *PUBLIC para el objeto *FILE DDMF es *EXCLUDE.

Luego de la creación, se puede hacer referencia al alias como al nombre de cualquier archivo físico.

Seleccionando el miembro a utilizar con OVRDBF

El comando CL Override Database File (OVRDBF) también permite al administrador de base de datos procesar miembros individuales de un archivo de base de datos. Sin embargo, crear un alias sobre un miembro de un archivo físico es más fácil y trabaja mejor al eliminar la necesidad de realizar un override. Además,  las alteraciones temporales deben invocarse cada vez que se las desee utilizar.

La manera de acceder a un miembro determinado de un archivo físico usando la alternativa OVRDBF puede ser desde una línea de comandos, desde un programa o con una llamada a QCMDEXC como la siguiente, (ya sea desde la línea de comandos SQL, o como sentencia dentro de un script SQL con la interfaz Operations Navigator), para ser invocada desde un cliente:

CALL QSYS/QCMDEXC(‘OVRDBF FILE(MOVIM) MBR(MOVIM1) OVRSCOPE(*JOB)’,  0000000045,00000) ,   donde el segundo parámetro (el número) es la longitud del primer parámetro en formato 15,5 (todos los 0’s tienen que estar).

Para tener en cuenta...

  • A un archivo físico de datos multimiembro no se le pueden definir restricciones referenciales.
  • Si un archivo físico tiene definidas restricciones referenciales, no va a poder tener más de un miembro de datos.
  • Los archivos físicos aceptan por default, como máximo, un solo miembro de datos. Para agregar un nuevo miembro, debe modificarse con el comando CHGPF el atributo Máximo de miembros de “1” a un valor determinado o “*NOMAX” y luego crear el miembro con  ADDPFM.
  • En la pantalla “Trabajar con miembros utilizando PDM”, cuando se visualizan los miembros de un archivo físico de datos, la fecha que acompaña al nombre del miembro representa la correspondiente al último cambio. Para ver la fecha de creación, utilizar la opción 8 (Visualizar descripción).
  • El usuario que emite la sentencia CREATE ALIAS debe tener autorización *USE para el comando CRTDDMF (que se ejecuta indirectamente al crear un alias) aunque el usuario no tenga que ejecutar   directamente este comando.
  • Si bien al crear el alias se genera un objeto *FILE DDMF, si se expande la biblioteca  que lo contiene desde el Operations Navigator, en el item Base de Datos, se lo distinguirá como tipo Alias.

Copyright Teknoda S.A. Todos los derechos reservados

IMPORTANTE:
“Notas técnicas de AS/400 - IBM i" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes IBM i - AS/400. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. NS iTech - Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas AS400 - IBM i, envíe un mensaje desde esa dirección a info@nsitech.com.ar  o  a letter400@nsitech.com.ar, aclarando nombre, empresa, cargo y país del suscriptor.

AS400 , iSeries, System i, IBM Power Systems, IBM i son marcas registradas de IBM. IBM no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, NS iTech - Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT NS iTech - TEKNODA S.A.  PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE  NS iTech - TEKNODA


 

Lea en AS/400 Tips . . .

Infografía comparativa Comandos de SAVE RESTORE del AS400

save_restore_thumbnail

Conozca y diferencie visualmente qué partes del almacenamiento resguarda y restaura cada comando y cada opción del Menú Salvar y Restaurar. PUEDE DESCARGAR UN FORMATO POSTER PARA IMPRESION.

Para lograr un entendimiento conceptual es de suma utilidad contar con una ayuda gráfica, que  permita diferenciarlos a primera vista. Nuestro equipo de especialistas ha desarrollado el "Infographics" que presentamos con este tip. Por supuesto, el mismo debe complementarse con la información detallada de los innumerables parámetros de cada comando, pero es un útil marco de referencia  para recordar el área de injerencia de cada comando.

LEER ESTE ARTICULO >>>>>

 

 

 

Copyright © 2024 Teknoda Tech Portal & Training. Todos los derechos reservados.
Joomla! es software libre, liberado bajo la GNU General Public License.