Ir al contenido

Conversores de código

Perl a ABAP

La misma rutina, escrita a mano en Perl y en ABAP. Está aquí para que vea qué cambia y qué no antes de que nadie le pase un presupuesto.

Lo que tiene · Perl

sub interest {
    my ($balance, $rate) = @_;
    return sprintf('%.2f', $balance * $rate);
}

En qué se convierte · ABAP

DATA: lv_balance  TYPE p DECIMALS 2 VALUE 0,
      lv_rate     TYPE p DECIMALS 4 VALUE '0.0425',
      lv_interest TYPE p DECIMALS 2.

lv_interest = lv_balance * lv_rate.
WRITE: / 'INTEREST:', lv_interest.
Una rutina: un saldo multiplicado por un tipo, redondeado al céntimo. Escrita por una persona en los dos lenguajes, no sacada de una herramienta. Su fichero es más largo y tiene más cosas dentro, que es justo de lo que va esto.
Leer dos ficheros uno al lado del otro es la mitad fácil. La difícil es el resto del sistema: qué ficheros ya no llama nadie, qué proceso escribe el registro que otro lee a las 02:00 y si la reescritura sigue dando las cifras que sus auditores vieron el mes pasado. Ese trabajo corre sobre nuestra plataforma y lo vigila un ingeniero. Empieza con una lectura de su código.

Cuando un conversor deja de bastar

Comparar dos ficheros es la mitad fácil. Nada de lo que hay en esta página puede decirle qué ficheros ya no llama nadie, qué proceso batch escribe el registro que otro lee a las 02:00, ni si la versión reescrita sigue dando las cifras que sus auditores vieron el mes pasado. La auditoría responde a eso sobre su propio código.