Files
MBS/PROYECTOS/indir/inprrp031.4gl
T

236 lines
7.1 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : INPRRP031
OBJETIVO : Detallado por Tipo de Movimiento Modificado
PROGRAMADOR : Tadeo A. Ferreras
FECHA REALIZACION : Diciembre 13, 1994.
-------------------------------------------------------------------------------
}
GLOBALS "inprgb000.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 DECIMAL(12,2),
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
MAIN
DEFER INTERRUPT
SELECT * INTO p_companias.* FROM companias
CALL inprrp31()
END MAIN
FUNCTION inprrp31()
# WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM infmrp031 FROM "infmrp031"
DISPLAY FORM infmrp031
CALL pantalla()
DISPLAY "inprrp031" AT 4,3
DISPLAY "Documentos Modificados" AT 6,29
LET tipo_papel = 1
CALL msgrp000(tipo_papel)
CONSTRUCT criterio ON c.cod_n,c.cod_grupo,c.cod_tipo,c.cod_sec
FROM cod_n,cod_grupo,cod_tipo,cod_sec
INPUT BY NAME fecha_1,fecha_2
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 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 intb00006 c,intb00001 b,intb00005 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 "C:\\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
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" 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 DECIMAL(12,2),
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 negrillas_on CHAR(6)
DEFINE negrillas_off CHAR(6)
DEFINE comp_on CHAR(3)
DEFINE comp_off CHAR(3)
DEFINE doce CHAR(3)
DEFINE normal CHAR(3)
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 negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27,ASCII 77
LET normal = ASCII 27,ASCII 80
LET hora = time
LET lj = (138 - LENGTH(p_companias.nombre CLIPPED))/2
PRINT comp_on
PRINT COLUMN 1, "inprrp031",
COLUMN lj, p_companias.nombre CLIPPED,
COLUMN 131, "Pag. ",pageno using "###"
PRINT COLUMN 46, " Sistema de Inventario de Materia Prima",
COLUMN 131, today using "dd/mm/yyyy"
PRINT COLUMN 46, " Documentos Modificados",
COLUMN 134, hora
SKIP 1 LINE
PRINT COLUMN 2, "Desde ",fecha_1," Hasta ",fecha_2
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------",
"--------------------------------"
PRINT COLUMN 1, "Docto",
COLUMN 8, "Fecha",
COLUMN 17, "Articulo",
COLUMN 79, "Cantidad",
COLUMN 89, "Fecha Creacion",
COLUMN 109, "Fecha Modif.",
COLUMN 131, "St."
PRINT comp_on
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------",
"--------------------------------"
BEFORE GROUP OF x.cod_mov
PRINT negrillas_on
PRINT COLUMN 1, x.cod_mov using "##"," ",x.descripcion
PRINT negrillas_off
BEFORE GROUP OF x.num_doc
PRINT COLUMN 1, x.num_doc USING "######",
COLUMN 8, x.fecha_doc USING "dd/mm/yyyy";
ON EVERY ROW
PRINT COLUMN 17, 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 89, x.fech_crea,
COLUMN 109, x.fech_mod,
COLUMN 132, x.status_t CLIPPED
AFTER GROUP OF x.cod_mov
SKIP 1 LINE
PRINT COLUMN 1, "Total Registros Por Movimiento ",
GROUP COUNT(*) USING "###,###"
ON LAST ROW
PRINT comp_off
END REPORT