263 lines
7.8 KiB
Plaintext
263 lines
7.8 KiB
Plaintext
{
|
|
==========================================================================
|
|
PROGRAMA : EDPRRP099
|
|
OBJETIVO : LISTAR LA ENTRADA DE DIARIO CIERRE DE ANO
|
|
PROGRAMADOR : JUAN F. SOTO
|
|
FECHA : DICIEMBRE 20, 1994
|
|
==========================================================================
|
|
}
|
|
SCHEMA decomarmol
|
|
GLOBALS "cgprgb000.4gl"
|
|
DEFINE fecha2 DATE,
|
|
decide CHAR(1),
|
|
entrada_no CHAR(14),
|
|
detalle CHAR(40)
|
|
|
|
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 "decomarmol" 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 "edfmrp099"
|
|
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
|
|
|
|
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 defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
|
|
doble_on,doble_off,comp_on,comp_off,
|
|
doce,normal,archivo,copia
|
|
}
|
|
|
|
LET r_filename='edprrp099.4rp'
|
|
|
|
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
|
|
|
|
LET preview=1
|
|
CALL seleccionarsalida() RETURNING r_output
|
|
CALL fgl_report_selectDevice(r_output) -- changing default
|
|
CALL fgl_report_selectPreview(preview) -- changing default
|
|
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
|
|
|
# CALL configureoutput(r_output) RETURNING HANDLER
|
|
# LET handler = configureOutput(r_output)
|
|
END IF
|
|
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] = "6" 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
|
|
#RUN imprime
|
|
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,dvalor DECIMAL(12,2)
|
|
DEFINE fecha date
|
|
OUTPUT
|
|
LEFT MARGIN 3
|
|
|
|
FORMAT
|
|
FIRST PAGE HEADER
|
|
LET fecha =today
|
|
{ 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, "M A R M O T E C H, S. A.",
|
|
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
|
|
LET dvalor=debito+credito
|
|
PRINTX p_compania.*,x.*,p_descripcion,debito,credito,fecha,entrada_no,dvalor
|
|
{ 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,"01",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
|
|
PRINTX t_debito,t_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,"01","3312",
|
|
x.departamento,
|
|
x.cod_aux,x.cod_sec,x.num_doc,debito,credito,
|
|
suser_sname(),getdate(),detalle)
|
|
END IF
|
|
|
|
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 |