{ ------------------------------------------------------------------------------- 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