Ir para o conteúdo

Conversores de código

RPG para Java

A mesma rotina, escrita à mão em RPG e em Java. 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 · RPG

**free
dcl-s balance packed(11:2) inz(0);
dcl-s rate    packed(5:4)  inz(0.0425);
dcl-s interest packed(11:2);

interest = %dec(balance * rate : 11 : 2);
dsply ('INTEREST: ' + %char(interest));
*inlr = *on;

No que isso vira · Java

public static BigDecimal interest(BigDecimal balance, BigDecimal rate) {
    return balance.multiply(rate).setScale(2, RoundingMode.HALF_UP);
}
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.