- IMS DB - Inicio
- IMS DB - Descripción General
- IMS DB - Estructura
- IMS DB - DL/I Terminología
- IMS DB - DL/I Procesamiento
- IMS DB - Bloques de Control
- IMS DB - Programación
- IMS DB - Cobol Básico
- IMS DB - DL/I Funciones
- IMS DB - PCB máscara
- IMS DB - SSA
- IMS DB - Recuperación de Datos
- IMS DB - Manipulación de Datos
- IMS DB - Índice Secundario
- IMS DB - Base de datos lógica
- IMS DB - Recuperación
- IMS DB - Preguntas de la entrevist
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:
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.