Files
MBS/PROYECTOS/irdir/irprrp039.4gl
T

162 lines
4.6 KiB
Plaintext

{
=============================================================================
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