O IMS Blocos de controle definem a estrutura de dados do IMS e um programa do acesso a eles. O diagrama a seguir mostra a estrutura da IMS blocos de controle.
DL/I utiliza as seguintes três tipos de blocos de controle.
Os pontos de observação:
DBD descreve a completa estrutura física da base de dados uma vez que todos os segmentos foram definidos.
Durante a instalação de um DL/I banco de dados, um DBD devem ser criadas, como é necessário para acessar os dados DO IMS.
Os aplicativos podem usar diferentes vistas da DBD. Eles são chamados Application e estruturas de dados são especificados no Programa Especificação Bloquear.
O administrador do banco cria um DBD através da codificação DBDGEN comandos de controle.
DBDGEN descritor é um banco gerador. Criando blocos de controle é de responsabilidade do administrador do banco de dados. Todos os a carregar os módulos são armazenados na biblioteca DO IMS. Demonstrações macro linguagem de montagem são usados para criar blocos de controle. Abaixo está um código de exemplo que mostra como criar um controle DBDGEN DBD usando declarações:
PRINT NOGEN DBD NAME=LIBRARY,ACCESS=HIDAM DATASET DD1=LIB,DEVICE=3380 SEGM NAME=LIBSEG,PARENT=0,BYTES=10 FIELD NAME=(LIBRARY,SEQ,U),BYTES=10,START=1,TYPE=C SEGM NAME=BOOKSEG,PARENT=LIBSEG,BYTES=5 FIELD NAME=(BOOKS,SEQ,U),BYTES=10,START=1,TYPE=C SEGM NAME=MAGSEG,PARENT=LIBSEG,BYTES=9 FIELD NAME=(MAGZINES,SEQ),BYTES=8,START=1,TYPE=C DBDGEN FINISH END
Vamos entender os termos usados no acima DBDGEN:
Quando você executar o comando acima declarações de JCL, ele cria uma estrutura física onde BIBLIOTECA é a raiz segmento, e livros e MAGZINES são suas crianças os segmentos.
O primeiro DBD macro declaração identifica o banco de dados. Aqui, temos de mencionar o nome e o acesso que é utilizado pelo DL/I para acessar esse banco de dados.
O segundo conjunto macro declaração identifica o arquivo que contém o banco de dados.
O segmento tipos são definidos usando o macro SEGM declaração. Temos de especificar o PARENT do segmento. Se ele for um segmento raiz, em seguida, mencionar PARENT=0.
A tabela a seguir mostra os parâmetros utilizados no campo macro declaração:
Parâmetros | Descrição |
---|---|
Nome | O nome do campo, geralmente 1 a 8 caracteres |
Bytes | Tamanho do campo |
Início | Posição de domínio no segmento |
Tipo | Tipo de dados do campo |
Tipo C | Tipo de dados de caractere |
Tipo P | Tipo de dados decimal compactado |
Tipo Z | Tipo de dados decimal zoneada |
Tipo X | Tipo de dados hexadecimais |
Tipo H | Meia palavra dados binários tipo |
Tipo F | Texto Completo tipo de dados binários |
Os princípios básicos do PSB estão indicados abaixo:
O banco de dados tem uma única estrutura física definida pela DBD mas a programas de aplicação que o processo pode ter opiniões diferentes do banco de dados. Esses pontos de vista são chamados aplicação estrutura de dados e estão definidos no PSB.
Nenhum programa pode usar mais de um PSB em uma única execução.
Programas de Aplicação têm seu próprio PSB e é comum que programas aplicativos que possuem banco de dados semelhante as necessidades de processamento para compartilhar um PSB.
PSB consiste de um ou mais blocos de controle chamado Program Communication Blocks (PCBs). O PSB contém um PCB em cada DL/I base de dados do programa aplicativo irá acessar. Vamos discutir mais sobre PCB nos próximos módulos.
PSBGEN deve ser realizada para criar um PSB para o programa.
PSBGEN é conhecido como programa Bloco Especificação gerador. O exemplo a seguir cria um PSB usando PSBGEN:
PRINT NOGEN PCB TYPE=DB,DBDNAME=LIBRARY,KEYLEN=10,PROCOPT=LS SENSEG NAME=LIBSEG SENSEG NAME=BOOKSEG,PARENT=LIBSEG SENSEG NAME=MAGSEG,PARENT=LIBSEG PSBGEN PSBNAME=LIBPSB,LANG=COBOL END
Vamos entender os termos usados no acima DBDGEN:
O primeiro macro declaração é a Program Communication Blocks (PCBs). que descreve o tipo de banco de dados, Nome, Key-Length , e opção de processamento.
DBDNAME parâmetro no PCB macro especifica o nome da DBD. KEYLEN especifica o comprimento da maior chave concatenada. O programa pode processar no banco de dados. PROCOPT parâmetro especifica o programa, opções de processamento. Por exemplo, LS significa apenas operações de carga.
SENSEG segmento é conhecido como nível de sensibilidade. Ela define o programa do acesso a partes do banco de dados e ele é identificado no nível do segmento. O programa tem acesso a todos os campos no âmbito dos segmentos para os quais ele é sensível. Um programa também pode ter domínio de nível de sensibilidade. No presente, podemos definir um segmento nome e o nome do parent do segmento.
A última declaração é macro PCBGEN. PSBGEN é a última declaração dizendo não há mais declarações para o processo. PSBNAME define o nome dado à saída PSB módulo. O LANG parâmetro especifica o idioma em que o programa está escrito, por exemplo, EM COBOL.
Abaixo estão listados os pontos a nota sobre o controle de acesso blocos.
Access Control Blocks de um programa aplicativo combina a Base de Dados Descritor e Especificação do Programa bloco em um formato executável.
ACBGEN é conhecido como Controle de Acesso bloqueia o gerador. Ele é usado para gerar ACBs.
Para programas on-line, precisamos de pré-compilação ACBs. Daí a ACBGEN utilitário é executado antes de executar o programa aplicativo.
Para programas de lote, o ACBs podem ser geradas em tempo de execução.