Files
MBS/PROYECTOS/ipdir - 21102021/ipprrp017.4gl
T

237 lines
7.2 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : IPPRRP017
OBJETIVO : Detallado por Tipo de Movimiento Eliminado
PROGRAMADOR : Tadeo A. Ferreras
FECHA REALIZACION : Abril 28, 1993
-------------------------------------------------------------------------------
}
GLOBALS "ipprgb000.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 iptb00005.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,5),
descrip_esp CHAR(30),
unidad_med CHAR(3),
fech_crea LIKE iptb00006.fech_crea,
fech_mod LIKE iptb00006.fech_mod,
status_t LIKE iptb00006.status_t
END RECORD
MAIN
DEFER INTERRUPT
SELECT * INTO p_companias.* FROM companias
CALL ipprrp017()
END MAIN
FUNCTION ipprrp017()
# WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM ipfmrp17 FROM "ipfmrp023"
DISPLAY FORM ipfmrp17
CALL pantalla()
DISPLAY "ipprrp017" AT 4,3
DISPLAY " Documentos Eliminados " AT 6,30
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 iptb00006 c,iptb00002 b,iptb00005 a ",
"WHERE c.fech_mod between (?) AND (?) AND c.status_t = 'E' 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_17 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_17(reg_elim.*)
END WHILE
FINISH REPORT reporte_17
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT reporte_17(x)
DEFINE x RECORD
cod_mov LIKE iptb00005.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,5),
descrip_esp CHAR(30),
unidad_med CHAR(3),
fech_crea LIKE iptb00006.fech_crea,
fech_mod LIKE iptb00006.fech_mod,
status_t LIKE iptb00006.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(2)
DEFINE comp_off CHAR(3)
DEFINE doce CHAR(3)
DEFINE normal CHAR(3)
DEFINE hora CHAR(5)
DEFINE l INTEGER
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 l = (138 - LENGTH(p_companias.nombre CLIPPED))/2
PRINT comp_on
PRINT COLUMN 1, "ipprrp017",
COLUMN l, p_companias.nombre CLIPPED,
COLUMN 131, "Pag. ",PAGENO USING "###"
PRINT COLUMN 46, "Sistema de Inventario de Productos ",
COLUMN 131, today using "dd/mm/yy"
PRINT COLUMN 46, " Documentos Eliminados ",
COLUMN 134, 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 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 10, x.fecha_doc USING "dd/mm/yy";
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 normal
END REPORT