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