318 lines
9.5 KiB
Plaintext
318 lines
9.5 KiB
Plaintext
{
|
|
==========================================================================
|
|
PROGRAMA : EDPRRP099
|
|
OBJETIVO : LISTAR LA ENTRADA DE DIARIO CIERRE DE ANO
|
|
PROGRAMADOR : JUAN F. SOTO
|
|
FECHA : DICIEMBRE 20, 1994
|
|
==========================================================================
|
|
}
|
|
SCHEMA smarmotech
|
|
GLOBALS "cgprgb000.4gl"
|
|
DEFINE
|
|
fecha2 DATE,
|
|
decide CHAR(1),
|
|
entrada_no CHAR(14),
|
|
detalle CHAR(40),
|
|
tipoEntrada SMALLINT
|
|
|
|
DEFINE datos RECORD
|
|
cuenta_no CHAR(10),
|
|
departamento SMALLINT,
|
|
cod_aux SMALLINT,
|
|
cod_sec SMALLINT,
|
|
num_doc CHAR(12),
|
|
balance DECIMAL(12, 2)
|
|
END RECORD
|
|
|
|
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 edprrp099()
|
|
END MAIN
|
|
|
|
FUNCTION edprrp099()
|
|
|
|
OPTIONS ERROR LINE 24, FORM LINE 9
|
|
|
|
CALL pantalla()
|
|
DISPLAY "Entrada Cierre de Ano" AT 6, 29
|
|
OPEN FORM edfmrp099 FROM "/"
|
|
DISPLAY FORM edfmrp099
|
|
|
|
INPUT BY NAME entrada_no, fecha2, decide, detalle
|
|
AFTER FIELD entrada_no
|
|
IF entrada_no IS NULL THEN
|
|
ERROR "(16) CAMPO EN BLANCO"
|
|
NEXT FIELD entrada_no
|
|
END IF
|
|
LET tipoEntrada = '03'
|
|
SELECT UNIQUE a.ref FROM cgtb00004 a WHERE a.ref = entrada_no
|
|
|
|
IF status != NOTFOUND THEN
|
|
ERROR "(03) REGISTRO EXISTE"
|
|
NEXT FIELD entrada_no
|
|
END IF
|
|
|
|
AFTER FIELD fecha2
|
|
IF fecha2 IS NULL THEN
|
|
ERROR "(16) CAMPO EN BLANCO"
|
|
NEXT FIELD fecha2
|
|
END IF
|
|
|
|
AFTER INPUT
|
|
IF int_flag THEN
|
|
ERROR "(2) OPERACION CANCELADA"
|
|
LET int_flag = FALSE
|
|
RETURN
|
|
END IF
|
|
EXIT INPUT
|
|
END INPUT
|
|
|
|
DISPLAY "Buscando Informacion.. Espere Por Favor" AT 15, 14
|
|
CALL seleccionarsalida() RETURNING r_output
|
|
CALL configureoutput(r_output) RETURNING HANDLER
|
|
|
|
START REPORT entrada TO XML HANDLER handler
|
|
|
|
DECLARE busca CURSOR FOR
|
|
SELECT a.cuenta_no,
|
|
a.departamento,
|
|
a.cod_aux,
|
|
a.cod_sec,
|
|
a.num_doc,
|
|
SUM(a.debito - a.credito)
|
|
FROM cgtb00004 a
|
|
WHERE (a.cuenta_no[1] = "4"
|
|
OR a.cuenta_no[1] = "5"
|
|
OR a.cuenta_no[1] = "7"
|
|
OR a.cuenta_no[1] = "8")
|
|
AND a.fecha <= fecha2
|
|
AND a.status_t IS NULL
|
|
GROUP BY a.cuenta_no,
|
|
a.departamento,
|
|
a.cod_aux,
|
|
a.cod_sec,
|
|
a.num_doc
|
|
ORDER BY a.cuenta_no
|
|
|
|
DISPLAY "Reporte Generandose... Espere Por Favor" AT 15, 14
|
|
FOREACH busca INTO datos.*
|
|
OUTPUT TO REPORT entrada(datos.*)
|
|
END FOREACH
|
|
FINISH REPORT entrada
|
|
|
|
END FUNCTION
|
|
|
|
REPORT entrada(x)
|
|
|
|
DEFINE x RECORD
|
|
cuenta_no CHAR(10),
|
|
departamento SMALLINT,
|
|
cod_aux SMALLINT,
|
|
cod_sec SMALLINT,
|
|
num_doc CHAR(12),
|
|
balance DECIMAL(12, 2)
|
|
END RECORD
|
|
DEFINE p_descripcion CHAR(40)
|
|
DEFINE negritas_on, negritas_off, comp_off, comp_on CHAR(3)
|
|
DEFINE t_debito, t_credito, sumatoria, credito, debito DECIMAL(12, 2)
|
|
|
|
OUTPUT
|
|
LEFT MARGIN 3
|
|
|
|
FORMAT
|
|
PAGE HEADER
|
|
{ LET negritas_on = ASCII 27, ASCII 69
|
|
LET negritas_off = ASCII 27, ASCII 70
|
|
LET comp_on = ASCII 15
|
|
LET comp_off = ASCII 18
|
|
}
|
|
PRINT comp_on
|
|
PRINT COLUMN 1,
|
|
"edprrp099",
|
|
COLUMN 39,
|
|
p_compania.nombre,
|
|
COLUMN 90,
|
|
"Pag. ",
|
|
PAGENO USING "<<<"
|
|
|
|
PRINT COLUMN 38,
|
|
"ENTRADA CIERRE DE ANO",
|
|
COLUMN 90,
|
|
TODAY USING "dd/mm/yy"
|
|
SKIP 1 LINE
|
|
PRINT COLUMN 1, "ENTRADA NO. ", entrada_no
|
|
PRINT "============================================================================",
|
|
"=================================="
|
|
PRINT COLUMN 1,
|
|
"CUENTA NO.",
|
|
COLUMN 12,
|
|
"DEPART",
|
|
COLUMN 20,
|
|
"CATAL.",
|
|
COLUMN 28,
|
|
"REF",
|
|
COLUMN 40,
|
|
"DESCRIPCION",
|
|
COLUMN 77,
|
|
"DEBITO",
|
|
COLUMN 100,
|
|
"CREDITO"
|
|
PRINT "=============================================================================",
|
|
"================================="
|
|
SKIP 1 LINE
|
|
PRINT "DETALLE: ", detalle
|
|
SKIP 1 LINE
|
|
ON EVERY ROW
|
|
SELECT descripcion
|
|
INTO p_descripcion
|
|
FROM cgtb00001
|
|
WHERE cuenta_no = x.cuenta_no
|
|
IF t_debito IS NULL THEN
|
|
LET t_debito = 0
|
|
END IF
|
|
IF t_credito IS NULL THEN
|
|
LET t_credito = 0
|
|
END IF
|
|
LET credito = 0
|
|
LET debito = 0
|
|
|
|
IF x.balance > 0 THEN
|
|
LET credito = x.balance
|
|
ELSE
|
|
LET debito = x.balance * -1
|
|
END IF
|
|
|
|
PRINT COLUMN 1,
|
|
x.cuenta_no,
|
|
COLUMN 12,
|
|
x.departamento USING "####",
|
|
COLUMN 20,
|
|
x.cod_aux USING "##",
|
|
"-",
|
|
x.cod_sec USING "####",
|
|
COLUMN 28,
|
|
x.num_doc,
|
|
COLUMN 40,
|
|
p_descripcion[1, 20],
|
|
COLUMN 70,
|
|
debito USING "####,###,###.##",
|
|
COLUMN 94,
|
|
credito USING "###,###,###.##"
|
|
LET t_debito = t_debito + debito
|
|
LET t_credito = t_credito + credito
|
|
IF decide = "S" THEN
|
|
INSERT INTO cgtb00004(
|
|
ref,
|
|
fecha,
|
|
tipo,
|
|
cuenta_no,
|
|
departamento,
|
|
cod_aux,
|
|
cod_sec,
|
|
num_doc,
|
|
debito,
|
|
credito,
|
|
us_crea,
|
|
fech_crea,
|
|
detalle_1)
|
|
VALUES(entrada_no,
|
|
fecha2,
|
|
tipoEntrada,
|
|
x.cuenta_no,
|
|
x.departamento,
|
|
x.cod_aux,
|
|
x.cod_sec,
|
|
x.num_doc,
|
|
debito,
|
|
credito,
|
|
suser_sname(),
|
|
getdate(),
|
|
DETALLE)
|
|
END IF
|
|
|
|
ON LAST ROW
|
|
SELECT descripcion
|
|
INTO p_descripcion
|
|
FROM cgtb00001
|
|
WHERE cuenta_no = "3312"
|
|
LET sumatoria = SUM(x.balance)
|
|
|
|
LET credito = 0
|
|
LET debito = 0
|
|
IF sumatoria < 0 THEN
|
|
LET credito = SUM(x.balance) * -1
|
|
ELSE
|
|
LET debito = SUM(x.balance)
|
|
END IF
|
|
|
|
LET t_debito = t_debito + debito
|
|
LET t_credito = t_credito + credito
|
|
PRINT COLUMN 1,
|
|
"3312",
|
|
COLUMN 40,
|
|
p_descripcion[1, 20],
|
|
COLUMN 70,
|
|
debito USING "#,###,###,###.##",
|
|
COLUMN 95,
|
|
credito USING "#,###,###,###.##"
|
|
|
|
PRINT COLUMN 70, "--------------", COLUMN 94, "--------------"
|
|
|
|
PRINT COLUMN 70,
|
|
t_debito USING "###,###,###,###.##",
|
|
COLUMN 94,
|
|
t_credito USING "###,###,###,###.##"
|
|
IF decide = "S" THEN
|
|
INSERT INTO cgtb00004(
|
|
ref,
|
|
fecha,
|
|
tipo,
|
|
cuenta_no,
|
|
departamento,
|
|
cod_aux,
|
|
cod_sec,
|
|
num_doc,
|
|
debito,
|
|
credito,
|
|
us_crea,
|
|
fech_crea,
|
|
detalle_1)
|
|
VALUES(entrada_no,
|
|
fecha2,
|
|
tipoEntrada,
|
|
"3312",
|
|
x.departamento,
|
|
x.cod_aux,
|
|
x.cod_sec,
|
|
x.num_doc,
|
|
debito,
|
|
credito,
|
|
suser_sname(),
|
|
getdate(),
|
|
detalle)
|
|
END IF
|
|
PRINT comp_off
|
|
END REPORT
|
|
|
|
FUNCTION pantalla()
|
|
DEFINE
|
|
fecha CHAR(8),
|
|
hora CHAR(5)
|
|
LET fecha = TODAY USING "dd/mm/yy"
|
|
LET hora = TIME
|
|
DISPLAY " M A R M O T E C H, S A. " AT 4, 17 ATTRIBUTE(REVERSE, BLUE)
|
|
DISPLAY fecha AT 4, 70 ATTRIBUTE(BLUE)
|
|
DISPLAY "Sistema Contabilidad General" AT 5, 24
|
|
DISPLAY hora AT 6, 73 ATTRIBUTE(BLUE)
|
|
|
|
CALL FGL_DRAWBOX(5, 79, 3, 1)
|
|
CALL FGL_DRAWBOX(1, 79, 22, 1)
|
|
END FUNCTION
|