COBOL - Balance-line de 3 (tres) arquivos - combinações possíveis



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - Balance-line de 3 (tres) arquivos - combinações possíveis
Primeira combinação Demais combinações Operações Arquivos lidos
WHEN CHAVE1 = CHAVE2 AND CHAVE1 = CHAVE3 AND CHAVE2 = CHAVE3 = = = LER CHAVE1 CHAVE2 CHAVE3
CHAVE1 < CHAVE3 AND CHAVE2 < CHAVE3 = < < LER CHAVE1 CHAVE2
CHAVE1 > CHAVE3 AND CHAVE2 > CHAVE3 = > > LER CHAVE3
WHEN CHAVE1 > CHAVE2 AND CHAVE1 = CHAVE3 AND CHAVE2 < CHAVE3 > = < LER CHAVE2
CHAVE1 < CHAVE3 AND CHAVE2 < CHAVE3 > < < LER CHAVE2
CHAVE1 > CHAVE3 AND CHAVE2 = CHAVE3 > > = LER CHAVE2 CHAVE3
CHAVE1 > CHAVE3 AND CHAVE2 > CHAVE3 > > > LER CHAVE3
CHAVE1 > CHAVE3 AND CHAVE2 < CHAVE3 > > < LER CHAVE2
WHEN CHAVE1 < CHAVE2 AND CHAVE1 = CHAVE3 AND CHAVE2 > CHAVE3 < = > LER CHAVE1 CHAVE3
CHAVE1 < CHAVE3 AND CHAVE2 = CHAVE3 < < = LER CHAVE1
CHAVE1 < CHAVE3 AND CHAVE2 < CHAVE3 < < < LER CHAVE1
CHAVE1 < CHAVE3 AND CHAVE2 > CHAVE3 < < > LER CHAVE1
CHAVE1 > CHAVE3 AND CHAVE2 > CHAVE3 < > > LER CHAVE3

COBOL - Balance-line de 3 (tres) arquivos - CODIGO
EVALUATE TRUE

    WHEN CHAVE1 = CHAVE2 
         EVALUATE TRUE
             WHEN CHAVE1 = CHAVE3 AND 
                  CHAVE2 = CHAVE3 
                  LER OS ARQUIVOS 1 2 3
             WHEN CHAVE1 < CHAVE3 AND
                  CHAVE2 < CHAVE3
                  LER OS ARQUIVOS  1 2
             WHEN CHAVE1 > CHAVE3 AND
                  CHAVE2 > CHAVE3 
                  LER O ARQUIVO 3
             WHEN OTHER
                  DISPLAY "CHAVE1 = CHAVE2 - ERRO" 
         END-EVALUATE






    WHEN CHAVE1 > CHAVE2
         EVALUATE TRUE
             WHEN CHAVE1 = CHAVE3 AND
                  CHAVE2 < CHAVE3
                  LER O ARQUIVO 2
             WHEN CHAVE1 < CHAVE3 AND
                  CHAVE2 < CHAVE3
                  LER O ARQUIVO 2
             WHEN CHAVE1 > CHAVE3 AND
                  CHAVE2 = CHAVE3
                  LER OS ARQUIVOS 2 3 
             WHEN CHAVE1 > CHAVE3 AND
                  CHAVE2 > CHAVE3
                  LER O ARQUIVO 3
             WHEN CHAVE1 > CHAVE3 AND
                  CHAVE2 < CHAVE3
                  LER O ARQUIVO 2
             WHEN OTHER
                  DISPLAY "CHAVE1 > CHAVE2 - ERRO" 
         END-EVALUATE


    WHEN CHAVE1 < CHAVE2
         EVALUATE TRUE
             WHEN CHAVE1 = CHAVE3 AND 
                  CHAVE2 > CHAVE3
                  LER O ARQUIVO 1 3
             WHEN CHAVE1 < CHAVE3 AND 
                  CHAVE2 = CHAVE3
                  LER O ARQUIVO 1
             WHEN CHAVE1 < CHAVE3 AND 
                  CHAVE2 < CHAVE3
                  LER O ARQUIVO 1
             WHEN CHAVE1 < CHAVE3 AND 
                  CHAVE2 > CHAVE3
                  LER O ARQUIVO 1
             WHEN CHAVE1 > CHAVE3 AND 
                  CHAVE2 > CHAVE3
                  LER O ARQUIVO 3
             WHEN OTHER
                  DISPLAY "CHAVE1 < CHAVE2 - ERRO" 
         END-EVALUATE

END-EVALUTE