Ir para o conteúdo

Conversores de código

PL/SQL para COBOL

A mesma rotina, escrita à mão em PL/SQL e em COBOL. Ela está aqui para você ver o que muda e o que continua igual antes de alguém te passar um preço.

O que você tem · PL/SQL

CREATE OR REPLACE FUNCTION interest(
  p_balance NUMBER, p_rate NUMBER
) RETURN NUMBER IS
BEGIN
  RETURN ROUND(p_balance * p_rate, 2);
END;

No que isso vira · COBOL

       IDENTIFICATION DIVISION.
       PROGRAM-ID. INTEREST.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  WS-BALANCE     PIC S9(9)V99 COMP-3 VALUE 0.
       01  WS-RATE        PIC S9(1)V9(4) COMP-3 VALUE 0.0425.
       01  WS-INTEREST    PIC S9(9)V99 COMP-3.
       PROCEDURE DIVISION.
           COMPUTE WS-INTEREST ROUNDED = WS-BALANCE * WS-RATE
           DISPLAY 'INTEREST: ' WS-INTEREST
           STOP RUN.
Uma rotina: um saldo vezes uma taxa, arredondado ao centavo. Escrita por uma pessoa nas duas linguagens, sem ferramenta no meio. O seu arquivo é mais longo e tem mais coisa acontecendo, que é justamente o ponto.
Ler dois arquivos lado a lado é a metade fácil. A metade difícil é o resto do sistema: que arquivos nada mais chama, que job escreve às 02:00 o registro que outro lê depois e se a reescrita ainda produz os números que seus auditores viram no mês passado. Esse trabalho roda na nossa plataforma com um engenheiro acompanhando, e começa com uma olhada na sua base de código.

Quando o conversor deixa de bastar

Comparar dois arquivos é a metade fácil. Nada nesta página consegue dizer que arquivos nada mais chama, que job batch escreve às 02:00 o registro que outro lê depois, nem se a versão reescrita ainda produz os números que seus auditores viram no mês passado. O diagnóstico responde isso sobre a sua base de código real.