Conversión de código, par a par
PL/SQL a COBOL
La misma rutina, escrita a mano en PL/SQL y en COBOL. Está aquí para que vea qué cambia y qué no antes de que nadie le pase un presupuesto.
Antes · 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;En qué se convierte · 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.Abajo tiene una rutina en los dos lenguajes. Sobre un sistema real el mismo movimiento corre por el árbol entero de una vez: la plataforma lee en paralelo todos los lenguajes que haya dentro, construye el grafo de dependencias y un ingeniero traza las fronteras. Un millón de líneas es el tamaño normal de ese trabajo, y termina dentro de treinta días.
Cómo se ve esto en su sistema entero
Sobre su código real ese mismo movimiento responde a lo que un par de ficheros no alcanza: qué ficheros ya no llama nadie, qué proceso batch escribe el registro que otro lee a las 02:00 y si la versión reescrita sigue dando las cifras que sus auditores vieron el mes pasado. La auditoría vuelve con las tres respuestas en tres a cinco días.