09/08/17

Generation Data Groups (GDG)

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.

2 comentários:

  1. Please take off this post as you have violated my copyright to this article. Thank you.

    ResponderEliminar