sábado, 23 de julho de 2011

Exemplo COUNTER NUMBER - CICS COMMAND LEVEL

Este comando mantém os dados em memória(CMOS) mesmo após a saída do CICS .

Criação na área de Working ....

 77       NCOUNTER          PIC S9(08)       BINARY VALUE +25.           
      *                                                                        
 77       COD-RESP          PIC S9(04)       COMP.                       
      *                                                                        
 77       WS-COUNTER        PIC  X(16)       VALUE   'TSTNOMEARQ'.



Primeiro procedimento , deletar counter number para  re-criar

         EXEC    CICS    DELETE                                               
                           COUNTER (WS-COUNTER)                                
                           RESP    (COD-RESP)                                  
         END-EXEC.                                                           
      *                                                                        
           IF      COD-RESP NOT    EQUAL   ZEROS                               
             IF   (COD-RESP        EQUAL   16)      AND                        
                  (EIBRESP2        EQUAL   201)                                
                   NEXT SENTENCE                                               
             ELSE                                                              
                   MOVE    COD-RESP        TO      COM-115-COD-ERRO            
                   MOVE    WS-MSG01        TO      COM-115-MSG-RET             
                   PERFORM 999-E-RETORNO                                       
             END-IF                                                            
           END-IF.                                                               
    

Criar novo procedimento com valores atualizados ,o campo NCOUNTER receber o conteúdo que ficará armazenado em WS-COUNTER que é o nome da fila 'TSTNOMEARQ'.

            EXEC    CICS    DEFINE                                              
                            COUNTER (WS-COUNTER)                                
                            VALUE   (NCOUNTER)                                  
                            MAXIMUM (20)                                        
                            RESP    (COD-RESP)                                  
            END-EXEC.                                                           
      *                                                                        
           IF      COD-RESP NOT    EQUAL   ZEROS                               
                   MOVE    COD-RESP        TO      COM-115-COD-ERRO            
                   MOVE    WS-MSG02        TO      COM-115-MSG-RET             
                   PERFORM 999-E-RETORNO                                       
           END-IF.              
                                               
      *                                                                          

Nenhum comentário:

Postar um comentário