IMS DB - Recuperacin de Datos



Los distintos mtodos de recuperacin de datos usa en IMS DL/I, se pide son las siguientes:

  • GU Llamada
  • GN Llamada
  • Usando cdigos de comando
  • Procesamiento mltiple

Consideremos la siguiente estructura de la base de datos IMS para comprender la recuperacin de datos llamadas de funcin:

IMS DATABASE1

GU Llamada

Los fundamentos de GU llamada son los siguientes:

  • GU llamada es conocido como obtener singular llamada. Se usa para procesamiento aleatorio.

  • Si una aplicacin no se actualiza la base de datos regularmente o si el nmero de actualizaciones de la base es menor y, a continuacin, utilizamos procesamiento aleatorio.

  • GU llamada se utiliza para colocar el cursor en una determinada posicin secuencial de recuperacin.

  • GU las llamadas son independientes de la posicin del puntero establecido por las llamadas anteriores.

  • GU procesamiento de llamadas se basa en un nico campos clave suministrada en la llamada declaracin.

  • Si disponemos de una campo de clave que no es nico, entonces DL/I devuelve el primer segmento ocurrencia del campo clave.

CALL 'CBLTDLI' USING DLI-GU
                     PCB-NAME
                     IO-AREA
                     LIBRARY-SSA
                     BOOKS-SSA
                     ENGINEERING-SSA
                     IT-SSA

El ejemplo anterior muestra que un GU con un conjunto completo de SSAS. Incluye todos los campos clave a partir del nivel de la raz para el segmento que queremos recuperar.

Consideraciones GU Llamada

Si no damos el conjunto completo de servicios especiales en la llamada y, a continuacin, DL/I trabaja en la siguiente forma:

  • Cuando usamos un incondicional SSA en una GU llamada, DL/I accede a la primera parte de la base de datos que cumple con los criterios que usted especifique.

  • Cuando hacemos una llamada sin GU Ssa, DL/I devuelve la primera aparicin del segmento raz en la base de datos.

  • Si algunos SSA en los niveles intermedios no son mencionados en la llamada y, a continuacin, DL/I utiliza la posicin establecida o el valor predeterminado de un incondicional SSA en el segmento.

Cdigos de estado

La tabla siguiente muestra los cdigos de estado despus de una GU llamada:

Cdigo de estado Descripcin
Espacios Llamada con xito
GE DL/no he podido encontrar un segmento que cumplen con los criterios especificados en la convocatoria

GN Llamada

Los fundamentos de la GN son como sigue:

  • GN llamada se conoce como obtener el siguiente llamada. Se usa para procesamiento secuencial bsico.

  • La posicin inicial del puntero en la base de datos est antes de la raz de la primera base de datos de registro.

  • La posicin del puntero se base antes de que el siguiente segmento de la secuencia, despus de una exitosa GN llamada.

  • El GN llamada comienza a travs de la base de datos a partir de la posicin establecida por la llamada anterior.

  • Si un GN llamada es incondicional, que devuelve el siguiente segmento de la base de datos independientemente de su tipo, en orden jerrquico.

  • Si la GN llamada incluye Ssa, luego DL / recupera slo segmentos que cumplan los requisitos de SSAs todo especificados.

CALL 'CBLTDLI' USING DLI-GN
                     PCB-NAME
                     IO-AREA
                     BOOKS-SSA

El ejemplo anterior muestra que una GN llamada de la posicin inicial para leer los registros secuencialmente. Busca la primera aparicin de los libros.

Cdigos de estado

La tabla siguiente muestra los cdigos de estado despus de una GN llamada:

Cdigo de estado Descripcin
Espacios Llamada con xito
GE DL/no he podido encontrar un segmento que cumplen con los criterios especificados en la convocatoria.
GA GN llamada incondicional se sube un nivel en la jerarqua de la base para obtener el segmento.
GB Final de base de datos es alcanzado y el segmento no encontrado.
GK Una incondicional GN llamada intenta buscar un segmento de un tipo particular de uno acaba de recuperar, sino que permanece en el mismo nivel jerrquico.

Cdigos de comando

Cdigos de comando se utilizan las llamadas para obtener un segmento. Los diversos cdigos de comando se usa con las llamadas se examinan a continuacin.

F cdigo de comando

Puntos a tener en cuenta:

  • Cuando un F cdigo de comando es especificado en una llamada, la llamada procesa la primera ocurrencia del segmento.

  • F cdigos de comando se puede utilizar cuando lo que queremos es proceso en forma secuencial y que puede ser utilizado con GN llamadas y PNB las llamadas.

  • Si especificamos un F cdigo de comando con una GU llamada, no tiene ninguna importancia, como GU llamadas obtener el primer segmento ocurrencia de forma predeterminada.

L cdigo de comando

Puntos a tener en cuenta:

  • Cuando un comando L cdigo se especifica en una llamada, la llamada los procesos la ltima ocurrencia del segmento.

  • L cdigos de comando se puede utilizar cuando queremos proceso en forma secuencial y que puede ser utilizado por GN llamadas y PNB las llamadas.

D cdigo de comando

Puntos a tener en cuenta:

  • D cdigo de comando se utiliza para obtener ms de una serie de sesiones las ocurrencias tan slo utilizando una sola llamada.

  • Normalmente DL/I funciona en el nivel ms bajo en un segmento SSA, pero en muchos casos, queremos datos de otros niveles. En esos casos, podemos utilizar el comando D cdigo.

  • D cdigo de comando hace fcil recuperacin de todo el camino de los segmentos.

C cdigo de comando

Puntos a tener en cuenta:

  • C cdigo de comando se utiliza para concatenar las llaves.

  • Utilizando operadores relacionales es un poco complejo, ya que debemos especificar un nombre de campo, un operador relacional, y un valor de bsqueda. En su lugar, se puede usar un cdigo de comando C para proporcionar una clave concatenada.

El siguiente ejemplo muestra el uso de C cdigo de comando:

01 LOCATION-SSA.
   05 FILLER		     PIC X(11) VALUE INLOCSEG*C(.
   05 LIBRARY-SSA      PIC X(5).
   05 BOOKS-SSA        PIC X(4).
   05 ENGINEERING-SSA  PIC X(6).
   05 IT-SSA           PIC X(3)
   05 FILLER		     PIC X	VALUE ).

CALL 'CBLTDLI' USING DLI-GU
                     PCB-NAME
                     IO-AREA
                     LOCATION-SSA

P cdigo de comando

Puntos a tener en cuenta:

  • Cuando emitimos una GU o GN llamada, el DL/I establece su ascendencia en el nivel ms bajo que se recupera.

  • Si incluimos un comando P cdigo y, a continuacin, el DL/I establece su filiacin a un nivel superior en la va jerrquica.

U cdigo de comando

Puntos a tener en cuenta:

  • Cuando un cdigo de comando se especifica en un incondicional de la SSA GN llamada, el DL/I restringe la bsqueda para el segmento.

  • U cdigo de comando se omite si se utiliza con un calificado SSA.

V cdigo de comando

Puntos a tener en cuenta:

  • V cdigo de comando funciona de forma similar a la U cdigo de comando, pero restringe la bsqueda de un segmento en un determinado nivel y todos los niveles por encima de la jerarqua.

  • V cdigo de comando es ignorado cuando se usa con un SSA.

Q cdigo de comando

Puntos a tener en cuenta:

  • Q cdigo de comando se utiliza para poner en cola o reservar un segmento para el uso exclusivo de su programa de aplicacin.

  • Q cdigo de comando se utiliza en un entorno interactivo donde otro programa podra realizar un cambio en un segmento.

Procesamiento mltiple

Un programa puede tener varias posiciones en la base de datos de IMS que es lo que se conoce como procesamiento mltiple. Procesamiento mltiple puede realizarse de dos formas:

  • Varios PCB
  • Varios Posicionamiento

Varios PCB

Varios pcb puede ser definida para una sola base de datos. Si hay varios pcb, a continuacin, un programa de aplicacin puede tener distintas opiniones de la misma. Este mtodo de aplicacin procesamiento mltiple es eficaz porque los gastos generales impuestas por el extra.

Varios Posicionamiento

Un programa puede mantener varias posiciones en una base de datos mediante una sola placa. Esto se logra manteniendo una posicin distinta para cada ruta jerrquica. Varios posicionamiento se utiliza para acceder a segmentos de dos o ms tipos secuencialmente en el mismo tiempo.

Advertisements