{ ------------------------------------------------------------------------------- PROGRAMA : IRPRRP010 OBJETIVO : REPORTE EXISTENCIAS PROGRAMADOR : Ing. Juan Fco. Soto. FECHA REALIZACION : Marzo 1, 1993. ------------------------------------------------------------------------------- } GLOBALS "irprgb000.4gl" MAIN DEFER INTERRUPT SELECT * INTO p_companias.* FROM companias CALL irprrp010() END MAIN FUNCTION irprrp010() DEFINE mes CHAR(2) DEFINE ano_c CHAR(4) DEFINE idx_ant,idx_cos,idx_act SMALLINT DEFINE salir,primera CHAR(1) DEFINE balance_in DECIMAL(12,2) DEFINE existe RECORD cod_n LIKE intb00001.cod_n, cod_grupo LIKE intb00001.cod_grupo, cod_tipo LIKE intb00001.cod_tipo, cod_sec LIKE intb00001.cod_sec, descrip_esp LIKE intb00001.descrip_esp, unidad_med LIKE intb00001.unidad_med, costo LIKE intb00013.costo_st END RECORD DEFINE select_cost,select_act,select_ant CHAR(1000) # WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 OPEN FORM infmrp010 FROM "irfmrp010" DISPLAY FORM infmrp010 CALL pantalla() DISPLAY "irprrp010" AT 4,3 DISPLAY "Repuestos Sin Compra" AT 6,30 LET tipo_papel = 1 CALL msgrp000(tipo_papel) LET ano_c = year(datos_cons.fech_fi) CONSTRUCT criterio ON d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec FROM cod_n,cod_grupo,cod_tipo,cod_sec IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET select_cost = "SELECT d.cod_n,d.cod_grupo,d.cod_tipo,d.cod_sec,d.descrip_esp, ", " d.unidad_med,MAX(b.precio) ", "FROM intb00001 d,OUTER cotb00015 b ", "WHERE ",criterio CLIPPED," AND d.cod_n IN (5,8) AND d.cod_n=b.cod_n and ", " d.cod_grupo = b.cod_grupo and d.cod_tipo = b.cod_tipo and ", " d.cod_sec = b.cod_sec and d.status_t is null AND b.precio > 0 ", "GROUP BY 1,2,3,4,5,6 ORDER BY 1,2,3,4 " DISPLAY "<< Estoy Buscando Los Costos Actuales >>" AT 17,14 ATTRIBUTE (REVERSE,BOLD) PREPARE busca_costo FROM select_cost DECLARE material_costo SCROLL CURSOR FOR busca_costo OPEN material_costo DISPLAY " " AT 17,14 LET selec1 = "SELECT COUNT(*) FROM intb00001 d,OUTER cotb00015 b ", "WHERE ",criterio CLIPPED," AND d.cod_n IN (5,8) AND d.cod_n=b.cod_n and ", " d.cod_grupo = b.cod_grupo and d.cod_tipo = b.cod_tipo and ", " d.cod_sec = b.cod_sec and d.status_t is null AND b.precio > 0 " PREPARE comando1 FROM selec1 DECLARE busca1 CURSOR FOR comando1 OPEN busca1 FETCH busca1 INTO regi LET p_param = "S" DISPLAY "<< Estoy Buscando Los Costos Actuales >>" START REPORT reporte_10 TO "C:\\archivo" DISPLAY "<< Reporte Generandose.. Espere Por Favor" AT 17,14 ATTRIBUTE (REVERSE,BOLD) WHILE status != notfound FETCH material_costo INTO existe.* IF status = notfound THEN EXIT WHILE END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF CALL termometro(regi,p_param) LET p_param = "N" IF existe.costo IS NULL THEN LET existe.costo = 0 OUTPUT TO REPORT reporte_10(existe.*) END IF END WHILE FINISH REPORT reporte_10 RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT reporte_10(x) DEFINE x RECORD cod_n LIKE intb00001.cod_n, cod_grupo LIKE intb00001.cod_grupo, cod_tipo LIKE intb00001.cod_tipo, cod_sec LIKE intb00001.cod_sec, descrip_esp LIKE intb00001.descrip_esp, unidad_med LIKE intb00001.unidad_med, costo LIKE intb00013.costo_st END RECORD DEFINE total_c,total_p DECIMAL (12,2) DEFINE doble_on CHAR(2) DEFINE doble_off CHAR(2) DEFINE negrillas_on CHAR(2) DEFINE negrillas_off CHAR(2) DEFINE comp_on CHAR(2) DEFINE comp_off CHAR(2) DEFINE doce CHAR(2) DEFINE hora CHAR(5) OUTPUT TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 2 FORMAT PAGE HEADER LET doble_on = ASCII 14 LET doble_off = ASCII 20 LET negrillas_on = ASCII 27, ASCII 69 LET negrillas_off = ASCII 27, ASCII 70 LET comp_on = ASCII 15 LET comp_off = ASCII 18 LET doce = ASCII 27, ASCII 77 LET hora = time PRINT COLUMN 1, ASCII 27,ASCII 80 PRINT COLUMN 1, "irprrp010", COLUMN 18, " M A R M O T E C H S. A.", COLUMN 75, "Pag. ",pageno using "###" PRINT COLUMN 1, COLUMN 18, " Sistema de Inventario de Repuestos", COLUMN 75, today using "dd/mm/yy" PRINT COLUMN 18, " Repuestos Sin Compras ", COLUMN 78, hora SKIP 1 LINES PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------" PRINT COLUMN 1, "Codigo", COLUMN 12, "Descripcion", COLUMN 75, "Precio" PRINT COLUMN 1, "--------------------------------------------------", "--------------------------------------------------" SKIP 1 LINE ON EVERY ROW PRINT COLUMN 1, x.cod_n USING "&","-",x.cod_grupo USING "&","-", x.cod_tipo USING "&&","-",x.cod_sec USING "&&&", " ",x.descrip_esp CLIPPED, COLUMN 43, x.unidad_med CLIPPED, COLUMN 67, x.costo USING "#,###,###.####" ON LAST ROW PRINT COLUMN 1, "==================================================", "==================================================" PRINT COLUMN 4, "Total Registros Impresos =", count(*) USING "<<<<" PRINT COLUMN 1, "==================================================", "==================================================" PRINT COLUMN 4, ASCII 27, ASCII 80 END REPORT