GLOBALS "idprgb000.4gl" FUNCTION edprrp129(fecha1, fecha2, detalle, entra, afecta, p_companias, acumulado_arr) DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings() r_filename STRING, -- filename of Report Design Document including .4rp extension r_output STRING, -- output format option preview INTEGER DEFINE acumulado_arr DYNAMIC ARRAY OF RECORD cod_mov LIKE irtb00006.cod_mov, descrip_mov LIKE intb00005.descrip_mov, departamento SMALLINT, nombre CHAR(30), consumo decimal(12,2), cuenta CHAR(10), gasto_ind LIKE irtb00013.costo_st, descripcion CHAR(30), consumo_cuenta DECIMAL(12,2) END RECORD DEFINE afecta CHAR(3), fecha1, fecha2 DATE, p_cctb01 RECORD LIKE cctb00001.*, entra CHAR(14), detalle CHAR(100), p_companias CHAR(30), idz INT, ###### Variables para almacenar los datos selecionados usuarios,clave CHAR(80), impresor SMALLINT CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of, doble_on,doble_off,comp_on,comp_off, doce,normal,archivo,copia LET r_filename ="edprrp129b.4rp" LET idz = 1 FOR idx = 1 TO acumulado_arr.getLength() IF idx = 1 THEN IF fgl_report_loadCurrentSettings(r_filename) THEN LET preview=1 CALL seleccionarsalida() RETURNING r_output -- load the .4rp file CALL fgl_report_selectDevice(r_output) -- changing default CALL fgl_report_selectPreview(preview) -- changing default LET handler = fgl_report_commitCurrentSettings() -- commit changes END IF START REPORT entrada14 TO XML HANDLER HANDLER END IF OUTPUT TO REPORT entrada14(p_cctb01.*,fecha1,fecha2,detalle,entra, afecta,p_companias, acumulado_arr[idz].*) LET idz = idz + 1 END FOR IF idx > 1 THEN FINISH REPORT entrada14 ELSE CALL fgl_winmessage("INFO", "NO HAY REGISTROS EN ESTE RANGO DE FECHA Y CON LOS PARAMETROS INDICADOS", "INFO") END IF --RUN imprime END FUNCTION REPORT entrada14(x,fecha1,fecha2,detalle1,entrada, afecta,p_companias, y) DEFINE x RECORD LIKE cctb00001.* DEFINE y RECORD cod_mov LIKE irtb00006.cod_mov, descrip_mov LIKE intb00005.descrip_mov, departamento SMALLINT, nombre CHAR(30), consumo decimal(12,2), cuenta CHAR(10), gasto_ind LIKE irtb00013.costo_st, descripcion CHAR(30), consumo_cuenta DECIMAL(12,2) END RECORD ### Acumula los valores de las diferentes cuentas para entrada diario de nomina DEFINE total_departamento DECIMAL(12,2), detalle1, nombre_cta,rango_fecha CHAR(50), total_haber DECIMAL(12,2), fecha1,fecha2 DATE, #### Almacena las fecha del rango de busqueda hora,cuenta_no CHAR(5), entrada CHAR(14), afecta CHAR(3), p_companias,desc_cuenta CHAR(30) FORMAT PAGE HEADER LET hora = TIME LET actual = today using "dd/mm/yy" LET rango_fecha = "Del ",fecha1 USING "dd/mm/yy", " Al ",fecha2 USING "dd/mm/yy" BEFORE GROUP OF y.departamento LET total_departamento = 0 ON EVERY ROW PRINTX entrada,hora,actual,rango_fecha,p_companias, y.cod_mov, y.consumo, y.cuenta, y.departamento, y.descrip_mov, y.gasto_ind, y.nombre, y.consumo_cuenta, y.descripcion, y.consumo_cuenta, detalle1 AFTER GROUP OF y.departamento LET desc_cuenta = '1135-01' LET total_departamento = GROUP SUM(y.consumo_cuenta) IF afecta = "YES" THEN INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,desc_cuenta,y.departamento,null,null,null, null,detalle1,null,total_departamento,0,null,usuarios,GETDATE(), null,NULL) END IF ON LAST ROW SELECT descripcion INTO nombre_cta FROM cgtb00001 WHERE cuenta_no = '1135-01' LET total_haber = SUM(y.consumo_cuenta) LET desc_cuenta = '1135-01' IF nombre_cta IS NULL THEN LET nombre_cta = "CUENTA SIN DESCRIPCION" END IF IF afecta = "YES" THEN INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,null,null,null,null,NULL, null,detalle1,null,0,total_haber,null,usuarios,GETDATE(), null,NULL) END IF PRINTX total_haber, nombre_cta, desc_cuenta END REPORT