{ ============================================================================= PROGRAMA : IRPRRP037 OBJETIVO : IMPRIMIR REPUESTOS, COSTO STANDARD REAL, COSTO STANDARD PROP. PROGRAMADOR : ABNER MONTALVO FECHA : NOVIEMBRE 13, 1997 ============================================================================= } GLOBALS "irprgb000.4gl" DEFINE descrip CHAR(30) DEFINE fecha_inicial,fecha_final DATE DEFINE opcion1 CHAR(1) DEFINE ano1 SMALLINT DEFINE mes1 INTEGER DEFINE datos_37 RECORD cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, descrip_esp CHAR(30), unidad_med CHAR(3), costo_st_r DECIMAL(16,4), costo_st_p DECIMAL(16,4) END RECORD FUNCTION irprrp037() OPTIONS PROMPT LINE 10, ERROR LINE 24, FORM LINE 8 OPEN FORM irfmrp025 FROM "irfmrp001" DISPLAY FORM irfmrp025 DISPLAY "irprrp037" AT 4,3 DISPLAY "Repuestos con Costos Reales y Propuestos" AT 6,21 LET tipo_papel = 2 CALL msgrp000(tipo_papel) CONSTRUCT criterio ON a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec FROM cod_n,cod_grupo,cod_tipo,cod_sec IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET numero_msg = FALSE RETURN END IF LET selec = "SELECT UNIQUE a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,b.descrip_esp, ", " b.unidad_med ", "FROM irtb00002 a, intb00001 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.status_t IS NULL AND ", " b.status_t IS NULL AND ", criterio CLIPPED, " ORDER BY 1,2,3,4 " DISPLAY "<< Buscando Informacion ... Espere Por Favor >>" AT 19,14 PREPARE comando FROM selec DECLARE busca CURSOR FOR comando #START REPORT reporte_37 TO PIPE "lp -dcentral" START REPORT reporte_37 TO "salida" DISPLAY "<< Reporte Generandose ... Espere Por Favor >>" AT 19,14 FOREACH busca INTO datos_37.* LET datos_37.costo_st_r = null LET datos_37.costo_st_p = null DISPLAY datos_37.cod_n USING "&" AT 20,35 DISPLAY datos_37.cod_grupo USING "&" AT 20,37 DISPLAY datos_37.cod_tipo USING "&&" AT 20,39 DISPLAY datos_37.cod_sec USING "&&&" AT 20,42 SELECT MAX(ano) INTO ano1 FROM irtb00013 a WHERE a.cod_n = datos_37.cod_n AND a.cod_grupo = datos_37.cod_grupo AND a.cod_tipo = datos_37.cod_tipo AND a.cod_sec = datos_37.cod_sec AND a.status_t IS NULL IF status = NOTFOUND THEN LET datos_37.costo_st_r = null ELSE SELECT costo_st INTO datos_37.costo_st_r FROM irtb00013 a WHERE a.cod_n = datos_37.cod_n AND a.cod_grupo = datos_37.cod_grupo AND a.cod_tipo = datos_37.cod_tipo AND a.cod_sec = datos_37.cod_sec AND a.ano = ano1 AND a.status_t IS NULL END IF SELECT costo_st INTO datos_37.costo_st_p FROM irtb01133 a WHERE a.cod_n = datos_37.cod_n AND a.cod_grupo = datos_37.cod_grupo AND a.cod_tipo = datos_37.cod_tipo AND a.cod_sec = datos_37.cod_sec AND a.ano = ano1 AND a.status_t IS NULL IF status = NOTFOUND THEN LET datos_37.costo_st_p = null END IF OUTPUT TO REPORT reporte_37(datos_37.*) END FOREACH FINISH REPORT reporte_37 RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT reporte_37(x) DEFINE x RECORD cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, descrip_esp CHAR(30), unidad_med CHAR(3), costo_st_r DECIMAL(16,4), costo_st_p DECIMAL(16,4) END RECORD, doble_off,doble_on,doce CHAR(3), unidad CHAR(3), total_p DECIMAL(12,2) OUTPUT LEFT MARGIN 0 FORMAT PAGE HEADER LET doce = ASCII 030 LET doble_on = ASCII 027, ASCII 001 LET doble_off = ASCII 027, ASCII 002 PRINT ASCII 031 PRINT COLUMN 1, "irprrp037", COLUMN 18, "R A Y .O. V A C D O M I N I C A N A, S. A.", COLUMN 74, "Pag. ",pageno using "###" PRINT COLUMN 18, " SISTEMA DE REPUESTOS", COLUMN 74, today using "dd/mm/yy" PRINT COLUMN 21, "Repuestos con Costos Reales y Propuestos", COLUMN 74, time PRINT COLUMN 1, "FECHA: ",TODAY using "dd/mm/yy" PRINT "=============================================================================", "===" PRINT COLUMN 1, " ", COLUMN 55, "Costo St.", COLUMN 70, "Costo St." PRINT COLUMN 1, "Codigo", COLUMN 55, " Real ", COLUMN 70, "Propuesto" PRINT "=============================================================================", "===" SKIP 1 LINE ON EVERY ROW LET total_p = 0 IF x.costo_st_r IS NULL THEN LET x.costo_st_r = 0 END IF IF x.costo_st_p IS NULL THEN LET x.costo_st_p = 0 END IF PRINT COLUMN 1, x.cod_n USING "&","-",x.cod_grupo USING "&","-", x.cod_tipo USING "&&","-",x.cod_sec USING "&&&"," ", x.descrip_esp," ",x.unidad_med, COLUMN 50, x.costo_st_r USING "#,###,###.####", COLUMN 65, x.costo_st_p USING "#,###,###.####" ON LAST ROW PRINT "=============================================================================", "===" PRINT "TOTAL REGISTRO ---> ", COUNT(*) USING "<<<,<<<,<<<" PRINT ASCII 030 END REPORT