quarta-feira, março 02, 2011

ADASEL - Select Protection Log - 3



Formatos Default

Um campo é exibida de acordo com seu formato padrão:

Alphanumeric é apresentado como entrou, com caracteres não imprimíveis convertido em branco.
Binary é exibido na unsigned dígitos decimais (0-9) se o valor for inferior a X'80000000 ', caso contrário, o valor é exibido em notação hexadecimal.
Packed/unpacked é exibido em dígitos decimais (0-9), com um sinal de menos se o valor for n

MU ou Campos PE

Se field-name (nome-do-campo) se refere a um MU ou um campo de membro de uma PE, é possível exibir uma única ocorrência ou uma série de ocorrências, especificando o índice, como parte do nome do campo:

  DISPLAY AA5 

Se você tiver Adabas 8 ou superior instalado e se estendeu MU e as contagens do PE ativadas para um arquivo, os valores de índice válidos variam de "1" a "65534", caso contrário os valores de índice válidos variam de "1" a "191" . Além disso, se você especificar "N", como o limite superior de uma faixa de índice, ADASEL exibe todas as ocorrências, começando com a primeira ocorrência no intervalo.

Nota:

O uso de mais de 191 campos ou grupos MU e PE em um arquivo deve ser explicitamente permitido para um arquivo (não é permitido por padrão). Isso é feito usando a função ADADBS MUPEX ou a ADACMP COMPRESS MUPEX e MUPECOUNT parâmetros.

Você não pode especificar o nome do PE em um comunicado DISPLAY. Para exibir todo o grupo periódica, você deve especificar o nome de cada campo do grupo.

Se o MU está contido dentro de um EP, ambos os índices (PE e MU) deve ser especificado. Nos formatos índice abaixo, I eJ são os índices de MU, k e l são os índices de PE. AB se refere a um campo de membro de um PE; MB refere-se a um MU que é um campo de membro de um PE.


ÍndiceMostra. . .
MU iocorrência i do MU
MU ijocorrências de i até j do MU
MU i N-todas as ocorrências do MU, começando com a ocorrência de i
k ABAB em campo k ocorrência do PE para o qual o campo pertence
kl ABcampo de AB em ocorrências k l através do PE
AB k-NAB campo em todas as ocorrências da PE, a começar com kocorrência
MBK (i)i ocorrência de MB em k ocorrência do PE ao qual pertence MB
MB k - l (i)i ocorrência de MB em k l ocorrências através do PE
MB k - l (ij)ocorrências de i até j da MB em k l ocorrências através do PE
k MB - l (i-N)todas as ocorrências de MB (começando com i) Ocorrência de k locorrências através do PE
k MB N-(i - j)ocorrências de i até j da MB em todas as ocorrências do PE (a começar com k ocorrência do PE)
k MB N-(i-N)todas as ocorrências de MB (a partir da ocorrência i) em todas as ocorrências do PE (a começar com k ocorrência do PE)

Exemplo:

File 12 contém o PE a seguir:

Level Name Descriptive Name Format Length Options Occ
1 JT JOB TITLE A 16 DE,MU 12
1 PA INCOME

PE 12
2 SA SALARY P 6 DE,MU 7
2 BO BONUS P 5


As seguintes declarações são válidas para o arquivo DISPLAY no file 12:
SELECT NEW FROM FILE 12
DISPLAY JT1
END
SELECT ALL FROM FILE 12
DISPLAY JT1-5 SA1-5(1-N) BO1-5
END
SELECT ALL FROM FILE 12
WITH JT3 ='Programmer' THRU 'Systems Analyst'
DISPLAY JT3 SA3(1-N) BO3
END
SELECT UPDATED FROM FILE 12    DISPLAY JT2-N SA2-N(1-N)
END

OUTPUT Instruction

A instrução de saída é usado para gravar os registros de descompactado a partir do registo de protecção para um conjunto de dados de saída.


Saidas de dados de até 20 data sets são permitidos. A saída do data set é especificado no parâmetro EXPAn e a declaração DDEXPAn/ EXPAn de controle do job.

Exemplo:

Escreva a imagens anteriores de todos os registros atualizados ou excluídos para conjunto de dados DDEXPA1/ EXPA1:

SELECT BEFORE IMAGE FILE 2
OUTPUT TO EXPA1
END

Output Record Format

O formato do registro de saída depende de o, loginfo, ou do SPANREC o parâmetro é especificado. loginfo e EXTENDED são usados para exibir informações adicionais. O parâmetro SPANREC indica que os cabeçalhos alternativa devem ser usada para manipular os registros calibrados.

Campos comuns a todos os registros de saída são mostradas abaixo. Os valores entre parênteses são as posições do campo, quando LOGINFO (bytes 32-42) or EXTENDED (bytes 64-74) são especificados.

Bytes Description
0-1 protection log record length (binary)
2-3 set to zeros (X'0000')
4-5
record image type:
C'BI' before-image
C'AI' after-image
C'C5' user data
6-7 Adabas file number (binary)
8-9 (32-33, 64-65) decompressed record length (including this length field and the ISN)
10-17 (34-41, 66-73) ISN (binary) or user data from a C5 command
18 (42, 74) beginning of the decompressed protection log data


Nota:
O primeiro registro em cada bloco é precedida pelo comprimento do bloco de dois bytes e dois bytes de nulos ou em branco.

Os campos do registro de protection log são fornecidas na forma, comprimento e formato em que estão definidos na FDT do arquivo. Os campos alfanuméricos que são maiores do que o comprimento definido na FDT são truncados. Os campos numéricos que são maiores do que o comprimento definido na causa FDT ADASEL terminar de forma anormal.

MUs e PEs são precedidos por um campo de um byte binário contendo o número de ocorrências. Campos de comprimento variável tem um comprimento padrão de zero e são precedidas por um campo de um byte que contém o comprimento do valor (incluindo o campo de comprimento).

Se um campo definido com a opção de supressão NC contém um valor nulo, o valor nulo é descompactado pelo ADASEL para um valor vazio (em branco ou zero, dependendo do formato do campo). Este tipo de NC processamento nulo campo se aplica somente ao ADASEL.

SPANREC

Quando o SPANREC é especificado, o novo registro estendido (spanned) SELH e SELC outputs e os cabeçalhos são utilizados para todas as saídas DSECTs para o SELH e SELC podem ser encontrado na biblioteca de origem Adabas. Estes novos cabeçalhos de registro estendido são usados quando um registro lógico descompactado do PLOG excede o EXPAn limitação registro físico. Neste caso, o cabeçalho SELH será prefixo cada registro lógico escrito n Expa; subseqüentes registros físicos pertencentes à lógica mesmo registro será antecedido pelo cabeçalho SELC.

Loginfo

Quando loginfo é especificado, as seguintes informações adicionais é incluído em cada registro:

Bytes Description
8-15 ID of the user who added, deleted, or updated the record
16-19 low-order four bytes of the TID of the user who added, deleted, or updated the record (from the communications ID; TP monitor users only)
20-23 Data Storage RABN where the record was stored (binary)
24-27 data protection block number for the record (binary)
28-31 timestamp of update (binary; high-order four store-clock (STCK) bytes)

EXTENDED

Quando EXTENDED é especificado, as seguintes informações adicionais é incluído em cada registro:

Bytes Description
8-15 ID of the user (ETID) who added, deleted, or updated the record
16-23 low-order eight bytes of the terminal ID of the user who added, deleted, or updated the record (from the communications ID; TP monitor users only)
24-27 Data Storage RABN where the record was stored (binary)
28-31 data protection block number for the record (binary)
32-35 timestamp of update (binary; high-order four store-clock (STCK) bytes)
36
backout indicator:
C'B' record is a result of a backout
C' ' normal record
37 reserved
38-41 transaction number
42-63 reserved

Output Data Set Designation

O parâmetro EXPAn identifica os dados de saída definida. O valor de n deve corresponder ao valor do n DDEXPAn/ EXPAn instrução do JCL. A saída de dados válidos definir números são 20/01, sem zeros à esquerda:

Valid statement
OUTPUT TO EXPA3
Invalid statement
OUTPUT TO EXPA03

A mesma regra aplica-se ao DD/EXPAn instrução JCL.

Exemplo:

Selecione todos os registros de arquivo 1. Escrever registros descompactados em que o campo contém BA "Smith" ou "Smyth" para DDEXPA1/ EXPA1. Escreve todos os outros a DDEXPA2/ EXPA2:

SELECT ALL RECORDS FROM FILE 1
IF BA ='SMITH' OR BA ='SMYTH'
THEN OUTPUT TO EXPA1
ELSE
OUTPUT TO EXPA2
END

NEWPAGE Instruction

A instrução NewPage e a instrução SKIP controla a formatação da página. A instrução NewPage força uma ejeção de página antes de exibir a próxima linha de dados. No exemplo a seguir, uma ejeção de página ocorre toda vez que o valor das alterações de campo BA:

SELECT ALL RECORDS FROM FILE 1
WITH BA EQUAL 'SMITH' THRU 'SMYTH'
IF BA CHANGES THEN DO
NEWPAGE
DISPLAY 'NEW NAME' BA BB BC
DOEND
END

SKIP Instruction

A instrução NewPage e a instruções SKIP controlar a formatação da página. A instrução SKIP imprime o número especificado de linhas em branco antes de exibir a próxima linha de dados. No exemplo a seguir, duas linhas em branco são impressas cada vez que o valor das alterações de campo BA.

SELECT ALL RECORDS FROM FILE 1
WITH BA EQUAL 'SMITH' THRU 'SMYTH'
IF BA CHANGES THEN DO
SKIP 2 LINES
DISPLAY 'NEW NAME' BA BB BC
DOEND
END

The END Keyword

A palavra-chave END é um elemento necessário do parâmetro SELECT e deve ser especificado por último.

Exemplos

Esta seção fornece vários exemplos de parâmetros SELECT.

O parâmetro seguinte SELECT saída para conjunto de dados DD/EXPA1 todos os registros de novos dados inseridos pelo usuário ETID1 para 01 de novembro de 2008:

SELECT NEW RECORDS FROM USER
STARTING FROM 20081101/000000
ENDING AT 20081101/240000
WITH USERID='ETID1'
OUTPUT TO EXPA1
END
O parâmetro seguinte SELECT saída para o conjunto de dados DD/EXPA2 depois que as imagens de todos os registros de dados atualizado por qualquer usuário trabalhar a partir de terminais através CICS1000 CICS9999 antes do final do 1 de novembro de 2008. A saída irá incluir prorrogado loginfo dados:

SET GLOBALS NU=50
SELECT NEW RECORDS FROM USER
ENDING AT 20081101/240000
WITH USERTID EQ 'CICS1000' THRU 'CICS9999'
OUTPUT EXTENDED TO EXPA2
END

O parâmetro seguinte SELECT irá exibir os campos AA e AB de todos os registros de dados de arquivo de 200 que foram inseridos, atualizados ou excluídos pelo usuário ETID1:

SELECT ALL RECORDS FROM FILE 200
WITH USERID EQ 'ETID1'
DISPLAY AA AB
END

Finalmente, o seguinte parâmetro SELECT irá mostrar os IDs de usuário para todos os usuários que atualizou a base de dados:

SELECT UPDATED RECORDS FROM USER
DISPLAY USERID
END

Clique Aqui

1 comentário:

  1. Este utilitário do Adabas é uma mão na roda (de bom) pois com ele consigo saber quem fez alteração em qualquer registro no banco, dá para saber como o registro era antes (before) e depois (after) de alterado - quem foi que alterou, precisei usar ele algumas.

    ResponderEliminar