229 lines
6.7 KiB
Plaintext
229 lines
6.7 KiB
Plaintext
{
|
|
------------------------------------------------------------------
|
|
PROGRAMA : INPRRP0039
|
|
OBJETIVO : Imprimir listado para saber cuantas veces se han contado
|
|
: los Items por Categoria
|
|
PROGRAMADOR : Maria Gomez
|
|
MODIFICADO :
|
|
FECHA REALIZACION : Agosto 20, 1996.
|
|
------------------------------------------------------------------
|
|
}
|
|
globals
|
|
"inprgb000.4gl"
|
|
|
|
FUNCTION inprrp039()
|
|
DEFINE p_conteo RECORD
|
|
cod_n LIKE intb00015.cod_n,
|
|
cod_grupo LIKE intb00015.cod_grupo,
|
|
cod_tipo LIKE intb00015.cod_tipo,
|
|
cod_sec LIKE intb00015.cod_sec,
|
|
# semana_del LIKE intb00015.semana_del,
|
|
categoria LIKE intb00014.categoria,
|
|
descrip_esp LIKE intb00001.descrip_esp,
|
|
cant SMALLINT
|
|
END RECORD, i,c,dia,cant1,cant INTEGER
|
|
|
|
DEFINE tipo_papel, numero_msg SMALLINT
|
|
DEFINE fecha_ini,fecha_fin DATE
|
|
|
|
OPTIONS
|
|
FORM LINE 9
|
|
|
|
OPEN FORM infmrp039 FROM "infmrp039"
|
|
CLEAR SCREEN
|
|
CALL pantalla()
|
|
DISPLAY "inprrp039" at 4,3 attribute(yellow)
|
|
DISPLAY "Conteo por Categoria de Fisico Perpetuo" at 6,18
|
|
DISPLAY form infmrp039
|
|
LET tipo_papel = 1
|
|
CALL msgrp000(tipo_papel)
|
|
|
|
INPUT BY NAME fecha_ini, fecha_fin
|
|
|
|
AFTER FIELD fecha_ini
|
|
IF fecha_ini IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fecha_ini
|
|
END IF
|
|
|
|
BEFORE FIELD fecha_fin
|
|
LET fecha_fin = today
|
|
DISPLAY BY NAME fecha_fin
|
|
|
|
AFTER FIELD fecha_fin
|
|
IF fecha_fin IS NULL THEN
|
|
LET fecha_fin = today
|
|
END IF
|
|
DISPLAY BY NAME fecha_fin
|
|
|
|
IF fecha_ini > fecha_fin THEN
|
|
LET numero_msg = 51
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fecha_ini
|
|
END IF
|
|
END INPUT
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
|
|
DECLARE curs1 SCROLL CURSOR FOR
|
|
SELECT a.cod_n,a.cod_tipo,a.cod_grupo,a.cod_sec,b.categoria,f.descrip_esp,
|
|
COUNT(*) cant
|
|
FROM intb00015 a, intb00014 b, intb00001 f
|
|
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 = f.cod_n AND a.cod_grupo = f.cod_grupo AND
|
|
a.cod_n = f.cod_n AND a.cod_grupo = f.cod_grupo AND
|
|
b.cod_tipo = f.cod_tipo AND b.cod_sec = f.cod_sec AND
|
|
b.cod_tipo = f.cod_tipo AND b.cod_sec = f.cod_sec AND
|
|
(a.semana_del BETWEEN fecha_ini AND fecha_fin) AND
|
|
a.status_t IS NULL
|
|
GROUP BY 1,2,3,4,5,6
|
|
ORDER BY 5
|
|
|
|
DISPLAY "BuscANDo Informacion ... Espere por favor" AT 19,14
|
|
ATtribute(reverse,bold)
|
|
|
|
IF STATUS < 0 THEN
|
|
CALL integridad()
|
|
IF bANDera = 1 THEN
|
|
LET bANDera = 0
|
|
RETURN
|
|
END IF
|
|
END IF
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
|
|
START REPORT conteo_f TO "C:\\archivo"
|
|
DISPLAY " " AT 19,14
|
|
DISPLAY "Reporte Generandose ... Por Favor Espere" AT 19,14
|
|
ATTRIBUTE(REVERSE)
|
|
|
|
FOREACH curs1 INTO p_conteo.*
|
|
|
|
OUTPUT to REPORT conteo_f(p_conteo.*,fecha_ini,fecha_fin)
|
|
|
|
END FOREACH
|
|
FINISH REPORT conteo_f
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
|
|
|
REPORT conteo_f(x,fecha3,fecha4)
|
|
DEFINE x RECORD
|
|
cod_n LIKE intb00015.cod_n,
|
|
cod_grupo LIKE intb00015.cod_grupo,
|
|
cod_tipo LIKE intb00015.cod_tipo,
|
|
cod_sec LIKE intb00015.cod_sec,
|
|
# semana_del LIKE intb00015.semana_del,
|
|
categoria LIKE intb00014.categoria,
|
|
descrip_esp LIKE intb00001.descrip_esp,
|
|
cant SMALLINT
|
|
END RECORD
|
|
|
|
DEFINE fecha3, fecha4 date
|
|
DEFINE doble_on CHAR(2)
|
|
DEFINE doble_off CHAR(2)
|
|
DEFINE negrillas_on CHAR(2)
|
|
DEFINE negrillas_off CHAR(2)
|
|
DEFINE comp_on CHAR(3)
|
|
DEFINE comp_off CHAR(2)
|
|
DEFINE doce CHAR(2)
|
|
DEFINE hora CHAR(5)
|
|
DEFINE l SMALLINT
|
|
DEFINE varia CHAR(10)
|
|
DEFINE imprime CHAR(1)
|
|
|
|
ORDER BY x.categoria,x.cod_n,x.cod_grupo,x.cod_tipo,x.cod_sec
|
|
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 doce = ASCII 27, ASCII 77
|
|
LET hora = time
|
|
LET hora = time
|
|
|
|
LET lj = (78 - LENGTH(p_companias.nombre CLIPPED))/2
|
|
PRINT COLUMN 1, negrillas_on
|
|
PRINT COLUMN 1, "inprrp039",
|
|
COLUMN lj, p_companias.nombre CLIPPED,
|
|
COLUMN 71, "Pag. ",pageno USING "###"
|
|
PRINT COLUMN 17, "Confirmacion Conteo Fisico Inventario Perpetuo",
|
|
COLUMN 71, today USING "dd/mm/yyyy"
|
|
PRINT COLUMN 25, "Del ",fecha3 USING "dd/mm/yyyy", " al ",fecha4
|
|
USING "dd/mm/yyyy",
|
|
COLUMN 74, hora
|
|
SKIP 1 LINE
|
|
PRINT COLUMN 1, "__________________________________________________",
|
|
"____________________________"
|
|
PRINT COLUMN 2, "Codigo",
|
|
COLUMN 15, "Descripcion",
|
|
COLUMN 58, "CANTIDAD"
|
|
PRINT COLUMN 1, "__________________________________________________",
|
|
"____________________________"
|
|
PRINT COLUMN 1, negrillas_off
|
|
SKIP 1 LINE
|
|
|
|
BEFORE GROUP OF x.categoria
|
|
|
|
SKIP 1 LINE
|
|
PRINT COLUMN 2,negrillas_on,"Categoria...",x.categoria,negrillas_off
|
|
SKIP 1 LINE
|
|
ON EVERY ROW
|
|
|
|
PRINT COLUMN 2,x.cod_n USING "&","-",x.cod_grupo USING "&","-",
|
|
x.cod_tipo USING "&&","-",x.cod_sec USING "&&&",
|
|
COLUMN 15, x.descrip_esp,
|
|
COLUMN 58, x.cant
|
|
SKIP 1 LINE
|
|
|
|
AFTER GROUP OF x.categoria
|
|
SKIP 1 LINE
|
|
PRINT COLUMN 2,negrillas_on,"Total en categoria ",
|
|
COLUMN 30, GROUP COUNT(*) USING "#####"
|
|
|
|
ON LAST ROW
|
|
SKIP 1 LINE
|
|
PRINT COLUMN 2,negrillas_on,"Total registro en general " ,
|
|
COUNT(*) USING "######" ,
|
|
negrillas_off
|
|
END REPORT
|
|
|
|
#-----------------------------------------------------------------------
|
|
{
|
|
FUNCTION pantalla()
|
|
DEFINE fecha CHAR(8),
|
|
hora char(5)
|
|
LET fecha = today USING "dd/mm/yyyy"
|
|
LET hora = time
|
|
DISPLAY p_companias.nombre AT 4,lj ATTRIBUTE (REVERSE,YELLOW)
|
|
DISPLAY fecha AT 4,70 ATTRIBUTE (YELLOW)
|
|
DISPLAY "Sistema Inventario de Materia Prima" AT 5,22
|
|
DISPLAY hora AT 6,73 ATTRIBUTE(YELLOW)
|
|
|
|
CALL fgl_drawbox(5,79,3,1)
|
|
CALL fgl_drawbox(1,79,22,1)
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
|
}
|
|
{
|
|
FUNCTION integridad()
|
|
IF sqlca.sqlcode < 0 THEN
|
|
LET numero_msg = sqlca.sqlcode
|
|
CALL msg(numero_msg)
|
|
DISPLAY numero_msg AT 23,70
|
|
LET bandera = 1
|
|
SLEEP 2
|
|
RETURN
|
|
END IF
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION}
|