{ ============================================================================== PROGRAMA : CGPRRP028 SISTEMA : Sistema de Contabilidad General OBJETIVO : Validacion Estado Q PROGRAMADOR : Juan F. Soto FECHA : Octubre 9, 1996. ============================================================================== } GLOBALS "cgprgb000.4gl" DEFINE estado2 RECORD estado_m CHAR(8), departamento SMALLINT, cuenta_no CHAR(8), tasa DECIMAL(8,3), balance_ant DECIMAL(12,2), actividad DECIMAL(12,2), balance_act DECIMAL(12,2) END RECORD, incluye CHAR(1) DEFINE fecha_inicial,fecha_final DATE FUNCTION cgprrp028() DEFINE p_estado_q LIKE adtb00037.estado_q LET int_flag = FALSE OPTIONS FORM LINE 8 OPEN FORM cgfmrp002 FROM "cgfmrp002" DISPLAY FORM cgfmrp002 DISPLAY "cgprrp028" AT 4,3 DISPLAY "Catalogo / Estado-M" AT 6,30 LET tipo_papel = 1 CALL msgrp000(tipo_papel) INPUT BY NAME fecha_inicial,fecha_final,incluye AFTER FIELD fecha_inicial IF fecha_inicial IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha_inicial END IF AFTER FIELD fecha_final IF fecha_final IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha_final END IF IF fecha_inicial > fecha_final THEN LET numero_msg = 51 CALL msg(numero_msg) NEXT FIELD fecha_inicial END IF END INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF DECLARE busco CURSOR FOR SELECT a.estado_m,a.departamento,a.cuenta_no,a.tasa, SUM(a.balance_ant),SUM(a.actividad),SUM(a.balance) FROM cgtb00022 a GROUP BY 1,2,3,4 DISPLAY "<< Buscando Informacion ... Espere por Favor. >>" AT 19,14 ATTRIBUTE(REVERSE,BOLD) START REPORT valida TO "C:\\archivo" DISPLAY "<< >>" AT 19,14 DISPLAY "<< Reporte Generandose ... Espere por Favor. >>" AT 19,14 ATTRIBUTE(REVERSE) FOREACH busco INTO estado2.* IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE FINISH REPORT valida EXIT FOREACH END IF LET p_estado_q = NULL SELECT a.estado_q INTO p_estado_q FROM adtb00037 a,chequeo b WHERE a.departamento = b.dpto and a.cuenta_no = estado2.cuenta_no and b.departamento = estado2.departamento IF status = notfound THEN LET p_estado_q = null END IF IF incluye = "S" THEN LET estado2.balance_ant = estado2.balance_ant / estado2.tasa LET estado2.actividad = estado2.actividad / estado2.tasa END IF OUTPUT TO REPORT valida(estado2.*,p_estado_q, fecha_inicial,fecha_final) END FOREACH FINISH REPORT valida CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT valida(x,q_estado,fecha1,fecha2) DEFINE x RECORD estado_m CHAR(8), departamento SMALLINT, cuenta_no CHAR(8), tasa DECIMAL(8,3), balance_ant DECIMAL(12,2), actividad DECIMAL(12,2), balance_act DECIMAL(12,2) END RECORD, q_estado LIKE adtb00037.estado_q DEFINE fecha1,fecha2 DATE DEFINE total1,total2,total3,total4,total5,total6,balance DECIMAL(12,2) ## DEFINICION DE LAS VARIABLES DE IMPRESION DEFINE doble_on CHAR(2) DEFINE doble_off CHAR(2) DEFINE negrillas_on CHAR(2) DEFINE negrillas_off CHAR(2) DEFINE comp_on CHAR(2) DEFINE comp_off CHAR(2) DEFINE doce CHAR(2) DEFINE normal CHAR(2) DEFINE hora CHAR(5) OUTPUT ## DEFINICION DE LOS MARGENES DE IMPRESION TOP MARGIN 0 LEFT MARGIN 0 BOTTOM MARGIN 3 ORDER BY x.estado_m,x.cuenta_no FORMAT PAGE HEADER LET doble_on = ASCII 001 LET doble_off = ASCII 002 LET negrillas_on = ASCII 027, ASCII 098 LET negrillas_off = ASCII 027, ASCII 099 LET comp_on = ASCII 31 LET comp_off = ASCII 30 LET doce = ASCII 30 LET normal = ASCII 029 LET hora = time ## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS PRINT COLUMN 1,comp_off,comp_on, "cgprrp028", COLUMN 11, negrillas_on, COLUMN 19, "M A R M O T E C H, S. A.", COLUMN 67, negrillas_off, COLUMN 80, "Pag. ",pageno using "###" PRINT COLUMN 19, " Sistema de Contabilidad General ", COLUMN 81, today using "dd/mm/yy" PRINT COLUMN 19, " VAlidacion Estado-Q ", COLUMN 84, hora PRINT COLUMN 17, " Del ",fecha1 USING "dd/mm/yy", " Al ",fecha2 USING "dd/mm/yy" SKIP 1 LINE PRINT COLUMN 1, "---------------------------------------------------", "-----------------------------------------" PRINT COLUMN 24, "Estado-Q" PRINT COLUMN 12, "Cuenta De", COLUMN 24, "Cuenta" PRINT COLUMN 3, "Estado-M", COLUMN 12, "Gastos", COLUMN 24, "Corporativa", COLUMN 41, "Balance Anter.", COLUMN 59, "Actividad Mes", COLUMN 76, "Balance Actual" PRINT COLUMN 1, "----------------------------------------------------", "----------------------------------------" skip 1 line ## AQUI SE INDICA LA IMPRESION DEL DETALLE AFTER GROUP OF x.estado_m PRINT COLUMN 40,"--------------", COLUMN 59,"--------------", COLUMN 76,"--------------" PRINT COLUMN 3, "TOTAL ESTADO: ",x.estado_m; IF incluye = "S" THEN PRINT COLUMN 21, "PRIMA: ",x.tasa USING "###.###"; END IF PRINT COLUMN 37,GROUP SUM(x.balance_ant) USING "((,(((,(((,(((.##)", COLUMN 52,GROUP SUM(x.actividad) USING "((,(((,(((,(((.##)", COLUMN 70,GROUP SUM(x.balance_ant)+ GROUP SUM(x.actividad) USING "((,(((,(((,(((.##)" SKIP 1 LINE AFTER GROUP OF x.cuenta_no PRINT COLUMN 3,x.estado_m CLIPPED, COLUMN 12, x.cuenta_no, COLUMN 24,q_estado, COLUMN 37,GROUP SUM(x.balance_ant) USING "((,(((,(((,(((.##)", COLUMN 52,GROUP SUM(x.actividad) USING "((,(((,(((,(((.##)", COLUMN 70,GROUP SUM(x.balance_ant)+ GROUP SUM(x.actividad) USING "((,(((,(((,(((.##)" ON LAST ROW PRINT COLUMN 1,negrillas_on PRINT COLUMN 40,"--------------", COLUMN 59,"--------------", COLUMN 76,"--------------" PRINT COLUMN 37,SUM(x.balance_ant) USING "((,(((,(((,(((.##)", COLUMN 52,SUM(x.actividad) USING "((,(((,(((,(((.##)", COLUMN 70,SUM(x.balance_ant)+ SUM(x.actividad) USING "((,(((,(((,(((.##)" PRINT COLUMN 40,"==============", COLUMN 59,"==============", COLUMN 76,"==============" PRINT COLUMN 1,negrillas_off,comp_off END REPORT