{ ------------------------------------------------------------------------------- PROGRAMA : ISPRRP012 FUNCION : Comparativo de la existencia calculada por movimientos y existencia en la maestra PROGRAMADOR : Juan Fco. Soto FECHA : Noviembre 24, 1992. ------------------------------------------------------------------------------- } GLOBALS "isprgb000.4gl" FUNCTION isprrp012() DEFINE comparativo RECORD cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, descrip_esp CHAR(30), unidad_med CHAR(3), base LIKE istb00002.base, existencia LIKE istb00002.existencia, movimiento LIKE istb00006.cantidad_2 END RECORD OPTIONS FORM LINE 8, ERROR LINE 24, COMMENT LINE 21 OPEN FORM isfmrp012 FROM "isfmrp012" DISPLAY FORM isfmrp012 CALL pantalla() DISPLAY "isprrp012" AT 4,3 ATTRIBUTE(RED) DISPLAY "Comparativo Existencias" AT 6,28 ATTRIBUTE(BLACK) # OPEN FORM INFMRP012 FROM "isfmrp012" # DISPLAY FORM INFMRP012 LET tipo_papel = 1 CALL msgrp000(tipo_papel) CALL defecto(impresor) RETURNING imprime, letras.*, archivo CONSTRUCT criterio ON a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec FROM cod_n,cod_grupo,cod_tipo,cod_sec ON KEY(CONTROL-P) CALL busca_printer() RETURNING imprime, letras.*, archivo AFTER CONSTRUCT EXIT CONSTRUCT END CONSTRUCT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = false RETURN END IF LET selec = "SELECT a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,c.descrip_esp, ", " c.unidad_med,a.base,a.existencia,sum(b.cantidad_2) ", "FROM istb00002 a,intb00001 c,istb00006 b ", "WHERE a.cod_n = b.cod_n and a.cod_grupo = b.cod_grupo and ", " a.cod_tipo = b.cod_tipo and a.cod_sec = b.cod_sec and ", " a.cod_n = c.cod_n and a.cod_grupo = c.cod_grupo and ", " a.cod_tipo = c.cod_tipo and a.cod_sec = c.cod_sec and ", criterio clipped," GROUP BY 1,2,3,4,5,6,7,8" DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14 ATTRIBUTE (REVERSE,BOLD) PREPARE busca_maestra FROM selec DECLARE diferencia CURSOR FOR busca_maestra OPEN diferencia DISPLAY " " AT 19,14 DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14 ATTRIBUTE (REVERSE) START REPORT dife TO archivo FOREACH diferencia INTO comparativo.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF OUTPUT TO REPORT dife(comparativo.*) END FOREACH FINISH REPORT dife RUN imprime CLEAR SCREEN END FUNCTION REPORT dife(x) DEFINE x RECORD cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, descrip_esp CHAR(30), unidad_med CHAR(3), base LIKE istb00002.base, existencia LIKE istb00002.existencia, movimiento LIKE istb00006.cantidad_2 END RECORD, hora char(5) OUTPUT LEFT MARGIN 0 FORMAT PAGE HEADER LET hora = time PRINT COLUMN 1, "isprrp012", COLUMN 19, "R A Y . O . V A C D O M I N I C A N A, S. A.", COLUMN 73, "Pag. ", COLUMN 76, pageno using "###" PRINT COLUMN 24, "Sistema de Inventario de Suministros", COLUMN 73, today using "dd/mm/yyyy" PRINT COLUMN 20, "Comparativo Existencia Maestra - S/ Movtos.", COLUMN 76, hora PRINT COLUMN 1, "--------------------------------------------------------------------------------" PRINT COLUMN 50, "Existencia", COLUMN 69, "Existencia" PRINT COLUMN 1, "Suministros", COLUMN 13, "Descripcion", COLUMN 50, "S/Maestra", COLUMN 69, "S/Movtos." PRINT COLUMN 1, "--------------------------------------------------------------------------------" ON EVERY ROW IF x.base IS NULL THEN LET x.base = 1 END IF PRINT COLUMN 1, x.cod_n using "&","-", COLUMN 3, x.cod_grupo using "&","-", COLUMN 5, x.cod_tipo using "&&","-", COLUMN 8, x.cod_sec using "&&&", COLUMN 13, x.descrip_esp, COLUMN 34, x.unidad_med, COLUMN 38, x.existencia/x.base using "---,---,---.##", COLUMN 65, x.movimiento/x.base using "---,---,---.##" ON LAST ROW PRINT COLUMN 10, "Total Registros ==> ",count(*) using "#,###" END REPORT