Files
MBS/PROYECTOS/isdir/isprrp013.4gl
T

234 lines
7.4 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : ISPRRP013
OBJETIVO : Detallado por Tipo de Movimiento Modificado
PROGRAMADOR : Tadeo A. Ferreras
FECHA REALIZACION : Diciembre 13, 1994.
-------------------------------------------------------------------------------
}
GLOBALS "isprgb000.4gl"
DEFINE ventas CHAR(1)
DEFINE salir CHAR(1)
DEFINE select_ac,select_ant,select_p CHAR(1000)
DEFINE idx_ac,ano,idx_a,idx_c SMALLINT
DEFINE ano_act CHAR(4)
DEFINE fecha_1,fecha_2 DATETIME YEAR TO DAY
DEFINE fecha_ini_per CHAR(8)
DEFINE reg_elim RECORD
cod_mov LIKE intb00005.cod_mov,
descripcion CHAR(30),
num_doc INTEGER,
fecha_doc DATE,
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_Tipo SMALLINT,
cod_Sec SMALLINT,
cantidad LIKE vetb00014.cantidad,
descrip_esp CHAR(30),
unidad_med CHAR(3),
fech_crea LIKE intb00006.fech_crea,
fech_mod LIKE intb00006.fech_mod,
status_t LIKE intb00006.status_t
END RECORD
FUNCTION isprrp013()
# WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM isfmrp013 FROM "isfmrp013"
DISPLAY FORM isfmrp013
CALL pantalla()
DISPLAY "isprrp013" AT 4,3 ATTRIBUTE(RED)
DISPLAY " Documentos Modificados " AT 6,30 ATTRIBUTE(BLACK)
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
CALL defecto(impresor) RETURNING imprime, letras.*, archivo
CONSTRUCT criterio ON c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec
FROM cod_n,cod_grupo,cod_tipo,cod_sec
ON KEY(CONTROL-P)
CALL busca_printer() RETURNING imprime, letras.*, archivo
AFTER CONSTRUCT
EXIT CONSTRUCT
END CONSTRUCT
INPUT BY NAME fecha_1,fecha_2
ON KEY(CONTROL-P)
CALL busca_printer() RETURNING imprime, letras.*, archivo
AFTER FIELD fecha_1
IF fecha_1 IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha_1
END IF
AFTER FIELD fecha_2
IF fecha_2 IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fecha_2
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = false
RETURN
END IF
{LET YEAR(fecha_1) = YEAR(datos_cons.fech_in) USING "yyyy","-",
LET MONTH(fecha_1) = MONTH(datos_cons.fech_in) USING "mm","-",
LET DAY(fecha_1) = DAY(datos_cons.fech_in) USING "dd"
LET YEAR(fecha_2) = YEAR(datos_cons.fech_fi) USING "yyyy","-",
LET MONTH(fecha_2) = MONTH(datos_cons.fech_fi) USING "mm","-",
LET DAY(fecha_2) = DAY(datos_cons.fech_fi) USING "dd"
}
LET selec =
"SELECT c.cod_mov,a.descrip_mov,c.num_doc,c.fecha,c.cod_n,c.cod_grupo, ",
" c.cod_tipo,c.cod_sec,c.cantidad_2,b.descrip_esp,b.unidad_med, ",
" c.fech_crea,c.fech_mod,c.status_t ",
"FROM istb00006 c,intb00001 b,istb00005 a ",
"WHERE c.fech_mod between (?) AND (?) AND ",
" c.us_mod IS NOT NULL AND ",
" c.cod_n = b.cod_n AND c.cod_grupo=b.cod_grupo AND ",
" c.cod_tipo = b.cod_tipo AND c.cod_sec = b.cod_sec AND ",
" c.cod_mov = a.cod_mov AND ",criterio CLIPPED
DISPLAY "<< Estoy Buscando Documentos... Espere Por favor >>"
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
PREPARE comando FROM selec
DECLARE actual CURSOR FOR COMANDO
OPEN actual USING fecha_1,fecha_2
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
START REPORT reporte_23 TO archivo
WHILE STATUS != NOTFOUND
FETCH actual INTO reg_elim.*
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
DISPLAY "DATOS: ",reg_elim.cod_sec USING "&&&","-",
reg_elim.cantidad USING "##,###,###.##" AT 20,14
OUTPUT TO REPORT reporte_23(reg_elim.*)
END WHILE
FINISH REPORT reporte_23
RUN imprime
CLEAR SCREEN
END FUNCTION
REPORT reporte_23(x)
DEFINE x RECORD
cod_mov LIKE intb00005.cod_mov,
descripcion CHAR(30),
num_doc INTEGER,
fecha_doc DATE,
cod_n SMALLINT,
cod_grupo SMALLINT,
cod_Tipo SMALLINT,
cod_Sec SMALLINT,
cantidad LIKE vetb00014.cantidad,
descrip_esp CHAR(30),
unidad_med CHAR(3),
fech_crea LIKE intb00006.fech_crea,
fech_mod LIKE intb00006.fech_mod,
status_t LIKE intb00006.status_t
END RECORD
DEFINE primera CHAR(1)
DEFINE c_ano1 char(4)
DEFINE hora CHAR(5)
DEFINE total_p,total_m DECIMAL(12,2)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 2
ORDER BY x.cod_mov,x.num_doc
FORMAT
PAGE HEADER
LET hora = time
PRINT letras.comp_on
PRINT COLUMN 1, "isprrp013",
COLUMN 28, "R A Y . O . V A C D O M I N I C A N A, S. A.",
COLUMN 91, "Pag. ",
COLUMN 96, pageno using "###"
PRINT COLUMN 28, " Sistema de Inventario de Suministro Oficina",
COLUMN 91, today using "dd/mm/yyyy"
PRINT COLUMN 28, " Operacion de Registros Modificados",
COLUMN 94, hora
SKIP 1 LINE
PRINT COLUMN 2, "Desde ",fecha_1,
" Hasta ",fecha_2
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------",
"--------------------------------------"
PRINT COLUMN 1, "Docto",
COLUMN 10, "Fecha",
COLUMN 22, "Articulo",
COLUMN 80, "Cantidad",
COLUMN 95, "Fecha Creacion",
COLUMN 115, "Fecha Modif.",
COLUMN 133, "Status"
PRINT letras.comp_on
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------",
"--------------------------------------"
BEFORE GROUP OF x.cod_mov
PRINT letras.negrillas_on
PRINT COLUMN 1, x.cod_mov using "##"," ",x.descripcion
PRINT letras.negrillas_off
BEFORE GROUP OF x.num_doc
PRINT COLUMN 1, x.num_doc USING "######",
COLUMN 10, x.fecha_doc USING "dd/mm/yyyy";
ON EVERY ROW
PRINT COLUMN 22, x.cod_n USING "&","-",x.cod_grupo USING "&","-",
x.cod_tipo USING "&&","-",x.cod_sec USING "&&&"," ",
x.descrip_esp clipped,
COLUMN 75, x.cantidad USING "###,###,###.##",
COLUMN 95, x.fech_crea,
COLUMN 115, x.fech_mod," ",x.status_t
AFTER GROUP OF x.cod_mov
SKIP 1 LINE
PRINT COLUMN 1, "Total Registros Por Movimiento ",
GROUP COUNT(*) USING "###,###"
ON LAST ROW
PRINT letras.normal
END REPORT