{ ------------------------------------------------------------------------------- PROGRAMA : IRPRRP023 OBJETIVO : Detallado por Tipo de Movimiento Modificado PROGRAMADOR : Tadeo A. Ferreras 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_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 MAIN DEFER INTERRUPT SELECT * INTO p_companias.* FROM companias CALL irprrp023() END MAIN FUNCTION irprrp023() # WHENEVER ERROR CONTINUE OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21 OPEN FORM irfmrp023 FROM "irfmrp023" DISPLAY FORM irfmrp023 CALL pantalla() DISPLAY "irprrp023" AT 4,3 DISPLAY " Documentos Modificados " AT 6,23 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 irtb00006 c,intb00001 b,irtb00005 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 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 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_on PRINT COLUMN 1, "irprrp023", COLUMN 44, " M A R M O T E C H S. A.", COLUMN 127, "Pag. ",pageno using "###" PRINT COLUMN 44, " Sistema de Inventario de Repuestos", COLUMN 127, today using "dd/mm/yyyy" PRINT COLUMN 44, " Documentos Modificados", COLUMN 130, 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/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 normal END REPORT