{ ============================================================================== PROGRAMA : CGPRRP007 SISTEMA : Sistema de Contabilidad General Objetivo : Imprimir el estado de resultado Sin deptos 4102,4103 PROGRAMADOR : Tadeo A. Ferreras FECHA : Oct. 05, 1993 ============================================================================== } GLOBALS "cgprgb000.4gl" DEFINE comentario CHAR(30) ###### Registro que almacena la informacion a imprimir ###### DEFINE resultado RECORD cuenta_no CHAR(8), descripcion CHAR(30), estado_a CHAR(4), estado_m CHAR(4), nivel SMALLINT, aplica_a CHAR(8), mes SMALLINT, valor DECIMAL(12,2), valor_ant DECIMAL(12,2), presupuesto DECIMAL(12,2) END RECORD, ent_diario CHAR(14), ch_ano CHAR(4) DEFINE resultado1 RECORD cuenta_no CHAR(8), mes SMALLINT, valor DECIMAL(12,2) END RECORD DEFINE resultado3 RECORD cuenta_no CHAR(8), mes SMALLINT, valor DECIMAL(12,2) END RECORD DEFINE resultado4 RECORD cuenta_no CHAR(8), valor DECIMAL(12,2) END RECORD DEFINE resultado5 RECORD cuenta_no CHAR(8), valor DECIMAL(12,2) END RECORD DEFINE resultado2 RECORD cuenta_no CHAR(8), mes SMALLINT, valor DECIMAL(12,2) END RECORD ### Variable que almacena la fecha de corte DEFINE fecha_ant1,fecha_ant2 DATE DEFINE ano1,mes1 SMALLINT DEFINE salir,salir11,salir112,salir113,salir4,salir5,salir6,salir7, salir8,salir9 CHAR(1) DEFINE cant_dias,jj,idx1,idx2,idx3,idx4,idx5,idx6,idx7,idx8, idx9 INTEGER DEFINE selec12,selec13,selec11,selec14,selec15,selec6,selec7, selec8,selec9 CHAR(1000) DEFINE ano2,anoss CHAR(4) DEFINE total_gral DECIMAL(12,2) FUNCTION cgprrp007() LET int_flag = FALSE OPTIONS FORM LINE 8 OPEN FORM cgfmrp007 FROM "cgfmrp007" DISPLAY FORM cgfmrp007 DISPLAY "cgprrp007" AT 4,3 DISPLAY "Estado de Resultado Comparativo Sin 4102 y 4103" AT 6,17 LET tipo_papel = 2 CALL msgrp000(tipo_papel) INPUT BY NAME ano1,mes1,comentario AFTER FIELD ano1 IF ano1 IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD ano1 END IF LET ano2 = (ano1 - 1) USING "&&&&" SELECT fecha_inicio INTO fecha_ant1 FROM prdtable WHERE ano = ano2 AND mes = 1 LET ch_ano = ano1 using "&&&&" LET ch_ano = ch_ano[3,4] LET ent_diario = "ED.99-999/12",ch_ano clipped AFTER FIELD mes1 IF mes1 IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD mes1 END IF IF mes1 > 12 THEN LET numero_msg = 173 CALL msg(numero_msg) NEXT FIELD mes1 END IF LET anoss = ano1 USING "&&&&" SELECT a.fecha_corte INTO fecha_ant2 FROM prdtable a WHERE a.ano = ano2 AND a.mes = mes1 END INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET selec = "SELECT UNIQUE a.cuenta_no,a.descripcion,a.estado_a,a.estado_m,a.nivel,", " a.aplica_a ", "FROM cgtb00001 a ", "WHERE a.status_t IS NULL AND a.cuenta_no[1] BETWEEN '4' AND '8' AND ", " a.aplica_a IS NOT NULL ORDER BY 1 " LET selec1 = "SELECT COUNT(*) FROM cgtb00001 a ", "WHERE a.status_t IS NULL AND a.cuenta_no[1] BETWEEN '4' AND '8' AND ", " a.aplica_a IS NOT NULL " DISPLAY "<<>>" AT 17,14 ATTRIBUTE(blue) PREPARE comamdo30 FROM selec1 DECLARE busca30 CURSOR FOR comamdo30 OPEN busca30 FETCH busca30 INTO regi PREPARE comando FROM selec DECLARE busco CURSOR FOR comando OPEN busco LET selec11 = "SELECT a.cuenta_no,b.mes,SUM(a.debito-a.credito),a.status_t ", "FROM cgtb00004 a,prdtable b ", "WHERE YEAR(a.fecha) = b.ano AND (a.fecha BETWEEN b.fecha_inicio AND ", " b.fecha_corte) AND b.ano=? AND b.mes<=? AND a.status_t IS NULL AND ", " ((a.departamento not in (4102,4103) or a.departamento is null) AND ", " a.cuenta_no[1] BETWEEN '4' AND '8') GROUP BY 1,2,4 ORDER BY 1,2 " DISPLAY "<<>>" AT 17,14 ATTRIBUTE(blue) PREPARE comando1 FROM selec11 DECLARE busco1 SCROLL CURSOR FOR comando1 OPEN busco1 USING ano1,mes1 LET selec12 = "SELECT a.cuenta_no[1],b.mes,SUM(a.debito-a.credito),a.status_t ", "FROM cgtb00004 a,prdtable b ", "WHERE (a.fecha BETWEEN b.fecha_inicio AND ", " b.fecha_corte AND b.ano = ?) AND b.mes <= ? and ", " (a.departamento not in (4102,4103) or a.departamento is null) AND ", " a.status_t IS NULL AND (a.cuenta_no[1] > '3') ", "GROUP BY 1,2,4 ORDER BY 1,2 " DISPLAY "<<>>" AT 17,14 ATTRIBUTE(blue) PREPARE comando2 FROM selec12 DECLARE busco2 SCROLL CURSOR FOR comando2 OPEN busco2 USING ano1,mes1 LET selec13 = "SELECT a.cuenta_no[1,2],b.mes,SUM(a.debito-a.credito),a.status_t ", "FROM cgtb00004 a,prdtable b ", "WHERE a.status_t is null and a.departamento not in (4102,4103) or ", " a.departamento is null) and a.cuenta_no[1,2] >= '40') and ", " (a.fecha BETWEEN b.fecha_inicio AND b.fecha_corte) AND ", " (b.ano = ?) AND (b.mes <= ?) GROUP BY 1,2,4 ORDER BY 1,2 " DISPLAY "<<>>" AT 17,14 ATTRIBUTE(blue) PREPARE comando3 FROM selec13 DECLARE busco3 SCROLL CURSOR FOR comando3 OPEN busco3 USING ano1,mes1 LET selec14 = "SELECT a.cuenta_no[1],SUM(a.debito-a.credito) ", "FROM cgtb00004 a ", "WHERE (a.fecha <= ?) AND a.status_t IS NULL AND ", " (a.departamento not in (4102,4103) AND a.cuenta_no[1] ", " BETWEEN '4' AND '8') and year(a.fecha) = ? and (a.ref != ?) ", "GROUP BY 1 ORDER BY 1 " DISPLAY "<<>>" AT 17,14 ATTRIBUTE(blue) PREPARE comando4 FROM selec14 DECLARE busco4 SCROLL CURSOR FOR comando4 OPEN busco4 USING fecha_ant2,ano2,ent_diario LET selec7 = "SELECT a.cuenta_no[1,2],SUM(a.debito-a.credito) ", "FROM cgtb00004 a ", "WHERE (a.fecha <= ?) AND a.status_t IS NULL AND ", " (a.departamento not in (4102,4103) AND a.cuenta_no[1] BETWEEN ", " '4' AND '8') and year(a.fecha) = ? and (a.ref != ?) ", "GROUP BY 1 ORDER BY 1 " DISPLAY "<<>>" AT 17,14 ATTRIBUTE(blue) PREPARE comando7 FROM selec7 DECLARE busco7 SCROLL CURSOR FOR comando7 OPEN busco7 USING fecha_ant2,ano2,ent_diario LET selec15 = "SELECT a.cuenta_no,SUM(a.valor) ", "FROM pgtb00003 a ", "WHERE a.ano=? AND a.mes <= ? and a.departamento not in (4102,4103) and ", " a.status_t IS NULL AND a.cuenta_no[1] BETWEEN '4' AND '8' ", "GROUP BY 1 ORDER BY 1 " DISPLAY "<<>>" AT 17,14 ATTRIBUTE(blue) PREPARE comando5 FROM selec15 DECLARE busco5 SCROLL CURSOR FOR comando5 OPEN busco5 USING ano1,mes1 LET selec8 = "SELECT a.cuenta_no[1],SUM(a.valor) ", "FROM pgtb00003 a ", "WHERE a.ano = ? AND a.mes <= ? and a.status_t IS NULL AND ", " a.departamento not in (4102,4103) and a.cuenta_no[1] BETWEEN ", " '4' AND '8' GROUP BY 1 ORDER BY 1 " DISPLAY "<<>>" AT 17,14 ATTRIBUTE(blue) PREPARE comando8 FROM selec8 DECLARE busco8 SCROLL CURSOR FOR comando8 OPEN busco8 USING ano1,mes1 LET selec9 = "SELECT a.cuenta_no[1,2],SUM(a.valor) ", "FROM pgtb00003 a ", "WHERE a.ano = ? AND a.mes <= ? and a.status_t IS NULL AND ", " a.cuenta_no[1] BETWEEN '4' AND '8' AND a.departamento not in ", " (4102,4103) GROUP BY 1 ORDER BY 1 " DISPLAY "<<>>" AT 17,14 ATTRIBUTE(blue) PREPARE comando9 FROM selec9 DECLARE busco9 SCROLL CURSOR FOR comando9 OPEN busco9 USING ano1,mes1 START REPORT resulta1 TO "cgrp07" DISPLAY "<<>>" AT 17,14 ATTRIBUTE(blue) # Loop principal del reporte LET p_param = "S" LET salir = "N" WHILE salir != "S" FETCH busco INTO resultado.* IF STATUS = NOTFOUND THEN LET salir = "S" EXIT WHILE END IF IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF CALL termometro(regi,p_param) LET p_param = "N" LET resultado.mes = 1 LET resultado.valor = null LET resultado.valor_ant = 0 LET resultado.presupuesto= 0 # Si la cuenta es control IF resultado.nivel = 1 THEN # Busca el balance anterior LET jj = 0 LET idx6 = 1 LET salir6 = "N" WHILE salir6 != "S" FETCH ABSOLUTE idx6 busco4 INTO resultado4.* IF STATUS = NOTFOUND THEN LET salir6 = "S" LET idx6 = 1 EXIT WHILE END IF LET idx6 = idx6 + 1 IF resultado.cuenta_no = resultado4.cuenta_no THEN LET resultado.valor_ant = resultado4.valor LET idx6 = 1 LET salir6 = "S" EXIT WHILE END IF END WHILE IF resultado.valor_ant IS NULL THEN LET resultado.valor_ant = 0 END IF # Presupuesto LET idx8 = 1 LET salir8 = "N" WHILE salir8 != "S" FETCH ABSOLUTE idx8 busco8 INTO resultado5.* IF STATUS = NOTFOUND THEN LET salir8 = "S" LET idx8 = 1 EXIT WHILE END IF LET idx8 = idx8 + 1 IF resultado.cuenta_no = resultado5.cuenta_no THEN LET resultado.presupuesto = resultado5.valor LET idx8 = 1 LET salir8 = "S" EXIT WHILE END IF END WHILE IF resultado.presupuesto IS NULL THEN LET resultado.presupuesto = 0 END IF LET salir112 = "N" LET idx2 = 1 WHILE salir112 != "S" FETCH ABSOLUTE idx2 busco2 INTO resultado1.* IF STATUS = NOTFOUND THEN LET salir112 = "S" LET idx2 = 1 EXIT WHILE END IF LET idx2 = idx2 + 1 LET jj = jj + 1 IF resultado1.cuenta_no = resultado.cuenta_no THEN LET resultado.mes = resultado1.mes LET resultado.valor = resultado1.valor LET resultado1.valor = 0 OUTPUT TO REPORT resulta1(resultado.*,ano1,mes1) LET resultado.valor = 0 END IF END WHILE END IF IF resultado.nivel = 2 THEN LET jj = 0 LET idx7 = 1 LET salir7 = "N" WHILE salir7 != "S" FETCH ABSOLUTE idx7 busco7 INTO resultado4.* IF STATUS = NOTFOUND THEN LET salir7 = "S" LET idx7 = 1 EXIT WHILE END IF LET idx7 = idx7 + 1 IF resultado.cuenta_no = resultado4.cuenta_no THEN LET resultado.valor_ant = resultado4.valor LET idx7 = 1 LET salir7 = "S" EXIT WHILE END IF END WHILE IF resultado.valor_ant IS NULL THEN LET resultado.valor_ant = 0 END IF LET idx9 = 1 LET salir9 = "N" WHILE salir9 != "S" FETCH ABSOLUTE idx9 busco9 INTO resultado5.* IF STATUS = NOTFOUND THEN LET salir9 = "S" LET idx9 = 1 EXIT WHILE END IF LET idx9 = idx9 + 1 IF resultado.cuenta_no = resultado5.cuenta_no THEN LET resultado.presupuesto = resultado5.valor LET idx9 = 1 LET salir9 = "S" EXIT WHILE END IF END WHILE IF resultado.presupuesto IS NULL THEN LET resultado.presupuesto = 0 END IF LET salir113 = "N" LET idx3 = 1 WHILE salir113 != "S" FETCH ABSOLUTE idx3 busco3 INTO resultado1.* IF STATUS = NOTFOUND THEN LET salir113 = "S" LET idx3 = 1 EXIT WHILE END IF LET idx3 = idx3 + 1 LET jj = jj + 1 IF resultado1.cuenta_no = resultado.cuenta_no THEN LET resultado.mes = resultado1.mes LET resultado.valor = resultado1.valor LET resultado1.valor = 0 OUTPUT TO REPORT resulta1(resultado.*,ano1,mes1) LET resultado.valor = 0 END IF END WHILE END IF IF resultado.nivel = 3 THEN # Buysqueda del ano anterior LET jj = 0 LET idx4 = 1 LET salir4 = "N" WHILE salir4 != "S" FETCH ABSOLUTE idx4 busco4 INTO resultado4.* IF STATUS = NOTFOUND THEN LET salir4 = "S" LET idx4 = 1 EXIT WHILE END IF LET idx4 = idx4 + 1 IF resultado.cuenta_no = resultado4.cuenta_no THEN LET resultado.valor_ant = resultado4.valor LET idx4 = 1 LET salir4 = "S" EXIT WHILE END IF END WHILE IF resultado.valor_ant IS NULL THEN LET resultado.valor_ant = 0 END IF # Busqueda del presupuesto LET idx5 = 1 LET salir5 = "N" WHILE salir5 != "S" FETCH ABSOLUTE idx5 busco5 INTO resultado5.* IF STATUS = NOTFOUND THEN LET salir5 = "S" LET idx5 = 1 EXIT WHILE END IF LET idx5 = idx5 + 1 IF resultado.cuenta_no = resultado5.cuenta_no THEN LET resultado.presupuesto = resultado5.valor LET idx5 = 1 LET salir5 = "S" EXIT WHILE END IF END WHILE # Valor de las auxiliares IF resultado.presupuesto IS NULL THEN LET resultado.presupuesto = 0 END IF LET jj = 0 LET salir11 = "N" LET idx1 = 1 WHILE salir11 != "S" FETCH ABSOLUTE idx1 busco1 INTO resultado1.* IF STATUS = NOTFOUND THEN LET salir11 = "S" LET idx1 = 1 EXIT WHILE END IF LET idx1 = idx1 + 1 LET jj = jj + 1 IF resultado.cuenta_no = resultado1.cuenta_no THEN LET resultado.mes = resultado1.mes LET resultado.valor = resultado1.valor LET resultado1.valor = 0 OUTPUT TO REPORT resulta1(resultado.*,ano1,mes1) LET resultado.valor = 0 END IF END WHILE END IF IF resultado.valor IS NULL THEN LET resultado.mes = 1 LET resultado.valor = 0 OUTPUT TO REPORT resulta1(resultado.*,ano1,mes1) LET resultado.valor = 0 END IF END WHILE FINISH REPORT resulta1 DISPLAY BY NAME total_gral LABEL atras: PROMPT "Desea Imprimir Este Reporte [S/N]... ? " FOR CHAR opcion LET opcion = upshift(opcion) IF (opcion != "S" AND opcion != "N") OR opcion IS NULL THEN LET numero_msg =-1301 CALL msg(numero_msg) GOTO atras END IF IF opcion = "S" THEN RUN "lp cgrp07" END IF CLEAR SCREEN RUN "type C:\\archivo > %USPRINT%" END FUNCTION REPORT resulta1(x,ano3,mes2) DEFINE x RECORD cuenta_no CHAR(8), descripcion CHAR(30), estado_a CHAR(4), estado_m CHAR(4), nivel SMALLINT, aplica_a CHAR(8), mes SMALLINT, valor DECIMAL(12,2), valor_ant DECIMAL(12,2), presupuesto DECIMAL(12,2) END RECORD DEFINE n_1 CHAR (1) DEFINE n_2 CHAR(2) DEFINE total_irs,valor1,valor_ant1 ARRAY[14] OF DECIMAL(12,2) DEFINE valor ARRAY[5,14] OF DECIMAL(12,2) DEFINE valor_88,valor2 ARRAY[14] OF DECIMAL(12,2) DEFINE descr ARRAY[5] OF CHAR(30) DEFINE cuenta_num ARRAY[5] OF CHAR(1) DEFINE j,k INTEGER DEFINE ano2 CHAR(4) DEFINE ano3,mes2,a,b SMALLINT DEFINE fecha1,fecha2 DATE DEFINE balance,total_a,total_p,total_c,total_c1,total_c2,credito1,credito2 DECIMAL(12,2) DEFINE descrip ARRAY[12] OF CHAR(4) DEFINE descrip1 CHAR(4) DEFINE codigo CHAR(2) DEFINE codigo1 CHAR(8) ## 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.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 029 LET doce = ASCII 30 LET normal = ASCII 029 LET hora = time ## AQUI SE INDICA LA IMPRESION DE LOS ENCABEZADOS PRINT COLUMN 1, comp_on,"cgprrp007",negrillas_on,doble_on, COLUMN 12, "M A R M O T E C H, S. A.", negrillas_off,doble_off, COLUMN 109, "Pag. ",pageno using "###" PRINT COLUMN 37, "Sistema de Contabilidad General", COLUMN 109, today using "dd/mm/yy" LET descrip[1] = "ENE." LET descrip[2] = "FEB." LET descrip[3] = "MAR." LET descrip[4] = "ABR." LET descrip[5] = "MAY." LET descrip[6] = "JUN." LET descrip[7] = "JUL." LET descrip[8] = "AGO." LET descrip[9] = "SEP." LET descrip[10] = "OCT." LET descrip[11] = "NOV." LET descrip[12] = "DIC." LET descrip1 = descrip[mes2] PRINT COLUMN 17, "Estado de Resultado Comparativo Sin 4102 y 4103", " (De ENE./",ano3 USING "####"," A ", descrip1 CLIPPED,"/",ano3 USING "####", COLUMN 110, hora PRINT COLUMN 35, "Cantidades Expresadas en Miles (1000)" PRINT COLUMN 1, comentario PRINT COLUMN 1, "----------------------------------------------------", "----------------------------------------------------" , "----------------------------------------------" PRINT COLUMN 13, "Estado" PRINT COLUMN 1, "Cuenta", COLUMN 10, "A M", COLUMN 27, "Descripcion"; LET b = 50 FOR a = 1 to mes2 LET b = b + 10 PRINT COLUMN b,descrip[a] CLIPPED; END FOR PRINT COLUMN b+12,"Total", COLUMN b+24,"Ano Ant.", COLUMN b+36,"Presup." PRINT COLUMN 1, "----------------------------------------------------", "----------------------------------------------------" , "----------------------------------------------", negrillas_off skip 1 line ## AQUI SE INDICA LA IMPRESION DEL DETALLE BEFORE GROUP OF x.cuenta_no LET ano2 = ano3 IF x.nivel = 1 OR x.nivel = 2 THEN PRINT COLUMN 1,negrillas_on END IF PRINT COLUMN 1, x.cuenta_no, COLUMN 10, x.estado_a," ",x.estado_m, COLUMN 27, x.descripcion; LET total_c1 = 0 LET b = 49 LET a = 0 IF x.presupuesto is null THEN LET x.presupuesto = 0 END IF ON EVERY ROW LET a = x.mes LET valor1[a]= 0 LET valor1[a]= x.valor/1000 LET x.valor = 0 LET x.mes = 0 LET a = 0 AFTER GROUP OF x.cuenta_no IF x.nivel = 1 THEN IF j IS NULL THEN LET j = 0 END IF LET j = j + 1 LET cuenta_num[j] = x.cuenta_no LET descr[j] = x.descripcion LET valor_ant1[j] = x.valor_ant/1000 LET valor2[j] = x.presupuesto/1000 END IF LET total_c1 = 0 FOR i = 1 TO mes2 LET b = b + 10 IF valor1[i] IS NULL THEN LET valor1[i] = 0 END IF IF x.nivel = 1 THEN LET valor[j,i]=valor1[i] END IF IF x.cuenta_no = "88" THEN LET valor_88[i] = valor1[i] END IF PRINT COLUMN b,valor1[i] USING "(((,(#&)"; LET total_c1 = total_c1 + valor1[i] LET valor1[i] = 0 END FOR PRINT COLUMN b+12,total_c1 USING "(((,(#&)", COLUMN b+24,x.valor_ant/1000 USING "(((,(#&)", COLUMN b+36,x.presupuesto/1000 USING "((((,(#&)",negrillas_off ON LAST ROW PRINT COLUMN 1, negrillas_on PRINT COLUMN 1, "----------------------------------------------------", "----------------------------------------------------" , "----------" SKIP TO TOP OF PAGE PRINT COLUMN 35, " R e s u m e n d e C u e n t a s " PRINT COLUMN 35, " ----------------------------------- " SKIP 1 LINE LET total_c1 = 0 LET total_p = 0 FOR k = 1 TO j PRINT COLUMN 1, cuenta_num[k], COLUMN 27, descr[k]; LET b = 49 LET total_c = 0 FOR a = 1 TO mes2 LET b = b + 10 IF cuenta_num[k] = "8" THEN LET valor[k,a] = valor[k,a] - valor_88[a] END IF IF total_irs[a] is null THEN LET total_irs[a] = 0 END IF PRINT COLUMN b,valor[k,a] USING "(((,(#&)"; LET total_c = total_c + valor[k,a] LET total_irs[a] = total_irs[a] + valor[k,a] END FOR PRINT COLUMN b+12,total_c USING "(((,(#&)", COLUMN b+24,valor_ant1[k] USING "(((,(#&)", COLUMN b+36,valor2[k] USING "((((,(#&)" IF total_a is null THEN LET total_a = 0 END IF LET total_p = total_p + valor2[k] LET total_a = total_a + valor_ant1[k] LET total_c1 = total_c1 + total_c END FOR PRINT COLUMN 1, "----------------------------------------------------", "----------------------------------------------------" , "----------",negrillas_off PRINT COLUMN 1, "Beneficios antes de IRS..."; LET b = 49 FOR a = 1 to mes2 LET b = b + 10 PRINT COLUMN b,total_irs[a] USING "((((,(#&)"; END FOR PRINT COLUMN b+12,total_c1 USING "(((,(#&)", COLUMN b+24,total_a USING "(((,(#&)", COLUMN b+36,total_p USING "((((,(#&)" LET total_gral = total_c1 LET total_c1= 0 LET total_c = 0 LET total_p = 0 PRINT COLUMN 1, "====================================================", "====================================================" , "==========" PRINT COLUMN 1, negrillas_off,comp_off END REPORT