IMS DB - Manipulación de datos
Los diferentes métodos de manipulación de datos utilizados en las llamadas IMS DL / I son los siguientes:
- Llamada ISRT
- Obtener llamadas en espera
- REPL Llamada
- Llamada DLET
Consideremos la siguiente estructura de la base de datos IMS para comprender las llamadas a la función de manipulación de datos:
Llamada ISRT
Puntos a tener en cuenta:
La llamada ISRT se conoce como llamada Insert y se utiliza para agregar incidencias de segmento a una base de datos.
Las llamadas ISRT se utilizan para cargar una nueva base de datos.
Emitimos una llamada ISRT cuando un campo de descripción de segmento se carga con datos.
Se debe especificar un SSA no calificado o calificado en la llamada para que el DL / I sepa dónde ubicar una ocurrencia de segmento.
Podemos usar una combinación de SSA calificados y no calificados en la llamada. Se puede especificar una SSA calificada para todos los niveles anteriores. Consideremos el siguiente ejemplo:
CALL 'CBLTDLI' USING DLI-ISRT
PCB-NAME
IO-AREA
LIBRARY-SSA
BOOKS-SSA
UNQUALIFIED-ENGINEERING-SSA
El ejemplo anterior muestra que estamos emitiendo una llamada ISRT al proporcionar una combinación de SSA calificados y no calificados.
Cuando un segmento nuevo que estamos insertando tiene un campo de clave único, se agrega en la posición adecuada. Si el campo clave no es único, entonces se agrega mediante las reglas definidas por un administrador de base de datos.
Cuando emitimos una llamada ISRT sin especificar un campo clave, la regla de inserción indica dónde colocar los segmentos en relación con los segmentos gemelos existentes. A continuación se muestran las reglas de inserción:
First - Si la regla es la primera, el nuevo segmento se agrega antes que los gemelos existentes.
Last - Si la regla es la última, el nuevo segmento se agrega después de todos los gemelos existentes.
Here - Si la regla está aquí, se agrega en la posición actual relativa a los gemelos existentes, que pueden ser el primero, el último o cualquier lugar.
Códigos de estado
La siguiente tabla muestra los códigos de estado relevantes después de una llamada ISRT:
S. No | Código de estado y descripción |
---|---|
1 | Spaces Llamada exitosa |
2 | GE Se utilizan múltiples SSA y el DL / I no puede satisfacer la llamada con la ruta especificada. |
3 | II Intente agregar una ocurrencia de segmento que ya esté presente en la base de datos. |
4 | LB / LC LD / LE Obtenemos estos códigos de estado durante el procesamiento de carga. En la mayoría de los casos, indican que no está insertando los segmentos en una secuencia jerárquica exacta. |
Obtener llamada en espera
Puntos a tener en cuenta:
Hay tres tipos de llamada Get Hold que especificamos en una llamada DL / I:
Get Hold Unique (GHU)
Get Hold Next (GHN)
Get Hold Next within Parent (GHNP)
La función Hold especifica que actualizaremos el segmento después de la recuperación. Por lo tanto, antes de una llamada REPL o DLET, se debe emitir una llamada de retención exitosa que le indique al DL / I la intención de actualizar la base de datos.
REPL Llamada
Puntos a tener en cuenta:
Después de una llamada en espera exitosa, emitimos una llamada REPL para actualizar la ocurrencia de un segmento.
No podemos cambiar la longitud de un segmento usando una llamada REPL.
No podemos cambiar el valor de un campo clave mediante una llamada REPL.
No podemos utilizar una SSA calificada con una llamada REPL. Si especificamos un SSA calificado, la llamada falla.
CALL 'CBLTDLI' USING DLI-GHU
PCB-NAME
IO-AREA
LIBRARY-SSA
BOOKS-SSA
ENGINEERING-SSA
IT-SSA.
*Move the values which you want to update in IT segment occurrence*
CALL ‘CBLTDLI’ USING DLI-REPL
PCB-NAME
IO-AREA.
El ejemplo anterior actualiza la ocurrencia del segmento de TI mediante una llamada REPL. Primero, emitimos una llamada a GHU para obtener la ocurrencia del segmento que queremos actualizar. Luego, emitimos una llamada REPL para actualizar los valores de ese segmento.
Llamada DLET
Puntos a tener en cuenta:
La llamada DLET funciona de la misma manera que una llamada REPL.
Después de una llamada en espera exitosa, emitimos una llamada DLET para eliminar una ocurrencia de segmento.
No podemos utilizar una SSA calificada con una llamada DLET. Si especificamos un SSA calificado, la llamada falla.
CALL 'CBLTDLI' USING DLI-GHU
PCB-NAME
IO-AREA
LIBRARY-SSA
BOOKS-SSA
ENGINEERING-SSA
IT-SSA.
CALL ‘CBLTDLI’ USING DLI-DLET
PCB-NAME
IO-AREA.
El ejemplo anterior elimina la aparición del segmento de TI utilizando una llamada DLET. Primero, emitimos una llamada GHU para obtener la ocurrencia del segmento que queremos eliminar. Luego, emitimos una llamada DLET para actualizar los valores de ese segmento.
Códigos de estado
La siguiente tabla muestra los códigos de estado relevantes después de una llamada REPL o DLET:
S. No | Código de estado y descripción |
---|---|
1 | Spaces Llamada exitosa |
2 | AJ SSA calificado utilizado en llamadas REPL o DLET. |
3 | DJ El programa emite una llamada de reemplazo sin una llamada en espera inmediatamente anterior. |
4 | DA El programa realiza un cambio en el campo clave del segmento antes de emitir la llamada REPL o DLET |