{ ============================================================================= PROGRAMA : IRPRRP039 OBJETIVO : IMPRIMIR MAESTRA DE COSTOS ESTANDARES DE REPUESTOS PROGRAMADOR : ABNER MONTALVO FECHA : NOVIEMBRE 24, 1997 ============================================================================= } GLOBALS "irprgb000.4gl" DEFINE descrip CHAR(30) DEFINE fecha_inicial,fecha_final DATE DEFINE opcion1 CHAR(1) DEFINE ano1 CHAR(4) DEFINE mes1 INTEGER DEFINE datos_39 RECORD cod_n SMALLINT, cod_grupo SMALLINT, cod_tipo SMALLINT, cod_sec SMALLINT, descrip_esp CHAR(30), unidad_med CHAR(3), costo_st DECIMAL(12,2) END RECORD MAIN DEFER INTERRUPT SELECT * INTO p_companias.* FROM companias CALL irprrp039() END MAIN FUNCTION irprrp039() OPTIONS PROMPT LINE 10, ERROR LINE 24, FORM LINE 8 OPEN FORM irfmrp039 FROM "irfmrp039" DISPLAY FORM irfmrp039 DISPLAY "irprrp039" AT 4,3 DISPLAY "Maestra de Costos de Repuestos" AT 6,24 LET tipo_papel = 1 CALL msgrp000(tipo_papel) INPUT BY NAME ano1 WITHOUT DEFAULTS BEFORE FIELD ano1 LET ano1 = YEAR(today) USING "&&&&" AFTER FIELD ano1 IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET numero_msg = FALSE RETURN END IF IF ano1 IS NULL OR ano1 = " " THEN LET numero_msg = 16 CALL msg(numero_msg) LET numero_msg = FALSE RETURN END IF END INPUT 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 a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,b.descrip_esp, ", " b.unidad_med,c.costo_st ", "FROM irtb00002 a, intb00001 b, irtb00013 c ", "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 ", " a.status_t IS NULL AND b.status_t IS NULL AND ", " c.ano = ",ano1," AND ", criterio CLIPPED, " AND c.status_t IS NULL 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_39 TO PIPE "lp -dcentral" DISPLAY "<< Reporte Generandose ... Espere Por Favor >>" AT 19,14 FOREACH busca INTO datos_39.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET numero_msg = FALSE RETURN END IF OUTPUT TO REPORT reporte_39(datos_39.*) END FOREACH FINISH REPORT reporte_39 RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT reporte_39(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 DECIMAL(12,2) 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, "irprrp039", 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 16, "Costos Estandares de Repuestos para el ano ", ano1, COLUMN 74, time PRINT "=============================================================================", "========" PRINT COLUMN 1, "CODIGO", COLUMN 55, "COSTO ESTANDAR" PRINT "=============================================================================", "========" 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," ",x.unidad_med, COLUMN 55, x.costo_st USING "###,###,###.##" ON LAST ROW PRINT "=============================================================================", "========" PRINT "TOTAL REGISTRO ---> ", COUNT(*) USING "<<<,<<<,<<<" PRINT ASCII 031 END REPORT