Introdução
GDG (Generation Data Group), ou Grupo de Dados por Geração em português, é um conceito usado em sistemas mainframe para gerenciar e acessar versões históricas de arquivos ou conjuntos de dados de maneira organizada. O GDG permite que você mantenha um histórico de versões de um arquivo ou conjunto de dados específico, facilitando o acesso a versões anteriores para fins de recuperação ou auditoria.Funcionalidade
GDGs são grupos de datasets cronologicamente relacionados. Suponha que queremos acompanhar as vendas diárias da supermercado. Nos podemos criar novos arquivos todos os dias, ou pode executar o mesmo job para produzir novas versões do GDG todos os dias. Portanto, precisamos criar um dataset modelo, chamado GDG Base, e todos os novos arquivos criados pelo sistema terão as propriedades da versão Base e criarão novos arquivos.AAF.C.* Type on Volume(s) AAA.C.ARRECA.G0001V00 ??? VC3264 AAA.C.ARRECA.G0002V00 ??? VC3364 AAA.C.ARRECA.G0003V00 ??? VC3363 AAA.C.ARRECA.G0004V00 ??? VC3396 AAA.C.ARRECA.G0005V00 ??? VC3412 AAA.C.ARRECA.G0006V00 ??? VC3469 AAA.C.ARRECA.G0007V00 ??? VC3446 AAA.C.ARRECA.G0008V00 ??? VC3293 AAA.C.ARRECA.G0009V00 ??? VC3240 AAA.C.ARRECA.G0010V00 ??? VC3555 AAA.C.ARRECA.G0011V00 ??? VC2822 AAA.C.ARRECA.G0012V00 ??? VC3556 AAA.C.ARRECA.G0013V00 ??? VC3542 AAA.C.ARRECA.G0014V00 ??? VC3561 AAA.C.ARRECA.G0015V00 ??? VC3197 AAA.C.ARRECA.G0016V00 ??? VC3508 AAA.C.ARRECA.G0017V00 ??? VC3415 AAA.C.ARRECA.G0018V00 ??? VC3528 AAA.C.ARRECA.G0019V00 ??? VC3282 AAA.C.ARRECA.G0020V00 ??? VC3411 AAA.C.ARRECA.G0021V00 ??? VC3280
Criando GDG
Criando uma GDG nova no sistema;//AADPNATB JOB (AACC,DIST),CLAUD,CLASS=S,MSGCLASS=A //*UQ ALLOW //* ------------------------------------------------------- //* CRIANDO GDG NO SISTEMA //* ------------------------------------------------------- //ALOCLIB EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* DEF GDG(NAME(ADABAS.C.CLAUD.CSA) LIM(1) SCR) /*
Listando GDG
Vamos listar as definições da GDG;//AAFSNATB JOB (AACC,SCHE),CLAUDEMAR,CLASS=S,MSGCLASS=A //*UQ ALLOW //* ------------------------------------------------------------- //* LISTA AS ENTRADAS //* ------------------------------------------------------------- //STP1 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * LISTCAT ENT(ADABAS.C.CLAUD.CSA) ALL /*
Observe no começo - ATTRIBUTES - LIMIT------------------1
1IDCAMS SYSTEM SERVICES TIME: 13:40:2 0 LISTCAT ENT(ADABAS.C.CLAUD.CSA) ALL 0GDG BASE ------ ADABAS.C.CLAUD.CSA IN-CAT --- AAB01.SUPORTE.CATALOG HISTORY DATASET-OWNER-----(NULL) CREATION--------2023.229 RELEASE----------------2 LAST ALTER------0000.000 ATTRIBUTES LIMIT------------------1 SCRATCH NOEMPTY ASSOCIATIONS--------(NULL) 1IDCAMS SYSTEM SERVICES TIME: 13:40:2 0 THE NUMBER OF ENTRIES PROCESSED WAS: AIX -------------------0 ALIAS -----------------0 CLUSTER ---------------0 DATA ------------------0 GDG -------------------1 INDEX -----------------0 NONVSAM ---------------0 PAGESPACE -------------0 PATH ------------------0 SPACE -----------------0 USERCATALOG -----------0 TAPELIBRARY -----------0 TAPEVOLUME ------------0 TOTAL -----------------1 0 THE NUMBER OF PROTECTED ENTRIES SUPPRESSED WAS 0 0IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0 0 0IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0 UQS0009 - END OF DATA SET.
Alterando GDG
Vamos alterar o limit de uma GDG que já existe - ela foi criado de 1 vamos alterar para 11//AACCIDCM JOB (AACC,SCHE),CLAU,CLASS=C,MSGCLASS=A //*UQ ALLOW //* ---------------------------------------------------------- //* CHANGE GDG BASE LIMIT //* ---------------------------------------------------------- //STEP1 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * ALTER ADABAS.C.CLAUD.CSA LIMIT(11) /*
Alterado com sucesso;
1IDCAMS SYSTEM SERVICES TIME: 13:42:0 0 ALTER ADABAS.C.CLAUD.CSA LIMIT(11) 0IDC0531I ENTRY ADABAS.C.CLAUD.CSA ALTERED 0IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0 0 0IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0 UQS0009 - END OF DATA SET.
Listando - foi alterado para 11
1IDCAMS SYSTEM SERVICES TIME: 13:43:0 0 LISTCAT ENT(ADABAS.C.CLAUD.CSA) ALL 0GDG BASE ------ ADABAS.C.CLAUD.CSA IN-CAT --- AAB01.SUPORTE.CATALOG HISTORY DATASET-OWNER-----(NULL) CREATION--------2023.229 RELEASE----------------2 LAST ALTER------0000.000 ATTRIBUTES LIMIT-----------------11 SCRATCH NOEMPTY ASSOCIATIONS--------(NULL) 1IDCAMS SYSTEM SERVICES TIME: 13:43:0 0 THE NUMBER OF ENTRIES PROCESSED WAS: AIX -------------------0 ALIAS -----------------0 CLUSTER ---------------0 DATA ------------------0 GDG -------------------1 INDEX -----------------0 NONVSAM ---------------0 PAGESPACE -------------0
Deletando GDG
Vamos deletar uma GDG do sistema;//AAACDELS JOB (AACC,SCHE),'CLAUDEMAR',CLASS=S,MSGCLASS=A //*UQ ALLOW //* ---------------------------------------------------------- //* DELETE GDG ENTRY IN A CATALOG //* ---------------------------------------------------------- //STP1 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE (AAF.C.TEMP.CSA) GDG FORCE /*
Resultado
1IDCAMS SYSTEM SERVICES TIME: 13:53:2 0 DELETE (ADABAS.C.CLAUD.CSA) GDG FORCE 0IDC0550I ENTRY (B) ADABAS.C.CLAUD.CSA DELETED 0IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0 0 0IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0 UQS0009 - END OF DATA SET.
Please take off this post as you have violated my copyright to this article. Thank you.
ResponderEliminarI removed all your content, sorry;
Eliminar