{ ============================================================================== PROGRAMA : CGPRRP012 SISTEMA : Sistema de Contabilidad General OBJETIVO : Imprimir Balance para las Cuentas con Estado_M Activo PROGRAMADOR : Tadeo A. Ferreras FECHA : Octubre 05, 1993 ============================================================================== } GLOBALS "cgprgb000.4gl" DEFINE estado2 RECORD estado_a CHAR(8), balance_ant DECIMAL(12,2), actividad DECIMAL(12,2), balance_act DECIMAL(12,2) END RECORD DEFINE fecha_inicial,fecha_final DATE MAIN DEFER INTERRUPT CALL ARG_VAL(1) RETURNING usuarios CALL ARG_VAL(2) RETURNING clave CALL ARG_VAL(3) RETURNING impresor CONNECT to "smarmotech" USER usuarios USING clave SELECT a.* INTO p_compania.* FROM companias a CALL cgprrp012() END MAIN FUNCTION cgprrp012() LET int_flag = FALSE OPTIONS FORM LINE 9 OPEN FORM cgfmrp008 FROM "cgfmrp013" DISPLAY FORM cgfmrp008 DISPLAY "cgprrp012" AT 4,3 DISPLAY "Catalogo / Estado-A" AT 6,30 LET tipo_papel = 1 CALL msgrp000(tipo_papel) INPUT BY NAME fecha_inicial,fecha_final 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 CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of, doble_on,doble_off,comp_on,comp_off, doce,normal,archivo,copia START REPORT reporte_12 TO archivo # Crea un archivo en ASCII para el llenado de los estados financieros en # EXCEL {UNLOAD TO "/users/usccxpc/estado/aym.csv" SELECT a.estado_a,SUM(a.balance_ant),SUM(a.actividad),SUM(a.balance_act) FROM cgtb00016 a GROUP BY 1 ORDER BY 1} #------------------------------------------------------------------------------ DECLARE busco CURSOR FOR SELECT a.estado_a,SUM(a.balance_ant),SUM(a.actividad),SUM(a.balance_act) FROM cgtb00016 a WHERE a.estado_a is not null and a.estado_a[1] != " " GROUP BY a.estado_a DISPLAY "<< Buscando Informacion ... Espere por Favor. >>" AT 19,14 ATTRIBUTE(REVERSE,BOLD) 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 reporte_12 EXIT FOREACH END IF OUTPUT TO REPORT reporte_12(estado2.*,fecha_inicial,fecha_final) END FOREACH FINISH REPORT reporte_12 CLEAR SCREEN RUN imprime END FUNCTION REPORT reporte_12(x,fecha1,fecha2) DEFINE x RECORD estado_a CHAR(8), balance_ant DECIMAL(12,2), actividad DECIMAL(12,2), balance_act DECIMAL(12,2) END RECORD 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_a FORMAT PAGE HEADER LET doble_on = ASCII 14 LET doble_off = ASCII 20 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 ## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS LET l = (90 - LENGTH(p_compania.nombre CLIPPED)) / 2 PRINT COLUMN 1,comp_on, "cgprrp012", COLUMN 11, negrillas_on, COLUMN l, p_compania.nombre CLIPPED, COLUMN 67, negrillas_off, COLUMN 80, "Pag. ",pageno using "###" PRINT COLUMN 19, " Sistema de Contabilidad General ", COLUMN 81, today using "dd/mm/yyyy" PRINT COLUMN 19, " Catalogo / Estado-A ", COLUMN 84, hora PRINT COLUMN 17, " Del ",fecha1 USING "dd/mm/yyyy", " Al ",fecha2 USING "dd/mm/yyyy" PRINT COLUMN 1, "---------------------------------------------------", "-------------------------------------" PRINT COLUMN 3, "Estado-A", COLUMN 25, "Balance Anter.", COLUMN 50, "Actividad Mes", COLUMN 75, "Balance Actual" PRINT COLUMN 1, "----------------------------------------------------", "------------------------------------" skip 1 line ## AQUI SE INDICA LA IMPRESION DEL DETALLE ON EVERY ROW PRINT COLUMN 3,x.estado_a CLIPPED, COLUMN 24,x.balance_ant USING "((,(((,(((,(((.##)", COLUMN 49,x.actividad USING "((,(((,(((,(((.##)", COLUMN 74,x.balance_act USING "((,(((,(((,(((.##)" ON LAST ROW PRINT COLUMN 1,negrillas_on PRINT COLUMN 25,"--------------", COLUMN 50,"--------------", COLUMN 75,"--------------" PRINT COLUMN 24,SUM(x.balance_ant) USING "((,(((,(((,(((.##)", COLUMN 49,SUM(x.actividad) USING "((,(((,(((,(((.##)", COLUMN 74,SUM(x.balance_act) USING "((,(((,(((,(((.##)" PRINT COLUMN 25,"==============", COLUMN 50,"==============", COLUMN 75,"==============" PRINT COLUMN 1,negrillas_off,comp_off END REPORT