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

225 lines
6.7 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : IRPRRP017
OBJETIVO : Detallado por Tipo de Movimiento Eliminado
PROGRAMADOR : Juan F. Soto
FECHA REALIZACION : Diciembre 13, 1994.
-------------------------------------------------------------------------------
}
GLOBALS "irprgb000.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_2 CHAR(8)
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
END RECORD
MAIN
DEFER INTERRUPT
SELECT * INTO p_companias.* FROM companias
CALL irprrp17()
END MAIN
FUNCTION irprrp17()
# WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPEN FORM irfmrp17 FROM "irfmrp017"
DISPLAY FORM irfmrp17
CALL pantalla()
DISPLAY "irprrp017" AT 4,3
DISPLAY "Documentos Eliminados " 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 datos_cons.fech_in,datos_cons.fech_fi
AFTER FIELD fech_in
IF datos_cons.fech_in IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fech_in
END IF
AFTER FIELD fech_fi
IF datos_cons.fech_fi IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD fech_fi
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 ",
"FROM irtb00006 c,intb00001 b,irtb00005 a ",
"WHERE c.fecha between ? and ? and c.status_t = 'E' 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 datos_cons.fech_in,datos_cons.fech_fi
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
START REPORT eliminados 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
OUTPUT TO REPORT eliminados(reg_elim.*)
END WHILE
FINISH REPORT eliminados
CLEAR SCREEN
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
REPORT eliminados(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
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 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
PRINT comp_off,doce
PRINT COLUMN 1, "irprrp017",
COLUMN 28, " M A R M O T E C H S. A.",
COLUMN 91, "Pag. ",pageno using "###"
PRINT COLUMN 32, "Sistema de Inventario de Repuestos ",
COLUMN 91, today using "dd/mm/yyyy"
PRINT COLUMN 32, " Documentos Eliminados",
COLUMN 94, hora
SKIP 1 LINE
PRINT COLUMN 2, "Desde ",datos_cons.fech_in using "dd/mm/yyyy",
COLUMN 21, "Hasta ", datos_cons.fech_fi using "dd/mm/yyyy"
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------"
PRINT normal,comp_on
PRINT COLUMN 1, "Docto",
COLUMN 10, "Fecha",
COLUMN 22, "Articulo",
COLUMN 80, "Cantidad",
COLUMN 95, "Fecha Creacion",
COLUMN 115, "Fecha Elim."
PRINT comp_off,doce
PRINT COLUMN 1, "--------------------------------------------------",
"--------------------------------------------------"
PRINT normal,comp_on
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/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
AFTER GROUP OF x.cod_mov
SKIP 1 LINE
ON LAST ROW
PRINT normal
END REPORT