Files
MBS/PROYECTO/cgdir/cgprrp007.4gl
T

811 lines
24 KiB
Plaintext

{
==============================================================================
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 "<<<Buscando Informacion... Espere por Favor>>>" 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 "<<<Buscando Valores ... Espere por Favor>>>" 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 "<<<Buscando Acumulados ... Espere por Favor>>>" 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 "<<<Buscando Ctas Control...Espere por Favor>>>" 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 "<<<Buscando Ano Anterior...Espere por Favor>>>" 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 "<<<Buscando Cta Ctrol Ant. Espere por Favor>>>" 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 "<<<Buscando Presupuesto ...Espere por Favor>>>" 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 "<<<Buscando Presup. Acum...Espere por Favor>>>" 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 "<<<Buscando Cta Ctrl Pres. Espere por Favor>>>" 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 "<<<Reporte Generandose... Espere por Favor>>>" 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