180 lines
5.1 KiB
Plaintext
180 lines
5.1 KiB
Plaintext
{
|
|
------------------------------------------------------------------------------
|
|
PROGRAMA : CGPRMT011
|
|
OBJETIVO : Mantenimiento de Conciliaciones Bancarias
|
|
PROGRAMADOR : Ing. Juan F. Soto
|
|
FECHA REALIZACION : Diciembre 28, 1993.
|
|
------------------------------------------------------------------------------
|
|
}
|
|
GLOBALS
|
|
"cgprgb000.4gl"
|
|
DEFINE concilia RECORD
|
|
cuenta_no CHAR(8),
|
|
descripcion LIKE cgtb00001.descripcion,
|
|
cheque_no INTEGER,
|
|
fecha DATE,
|
|
portador LIKE cgtb00005.portador,
|
|
monto LIKE cgtb00005.monto,
|
|
status_t CHAR(1),
|
|
us_crea CHAR(9),
|
|
fech_crea LIKE cgtb00005.fech_crea,
|
|
us_mod CHAR(9),
|
|
fech_mod LIKE cgtb00005.fech_crea
|
|
END RECORD
|
|
DEFINE cuenta_no1 CHAR (8)
|
|
DEFINE descrip_st CHAR (15)
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL ARG_VAL(1) RETURNING usuarios
|
|
CALL ARG_VAL(2) RETURNING clave
|
|
CALL ARG_VAL(4) RETURNING impresor
|
|
|
|
CONNECT to "smarmotech" USER usuarios USING clave
|
|
SELECT a.* INTO p_compania.* FROM companias a
|
|
|
|
CALL cgprmt011()
|
|
END MAIN
|
|
|
|
FUNCTION cgprmt011()
|
|
|
|
OPTIONS
|
|
FORM LINE 9,
|
|
ERROR LINE 24,
|
|
COMMENT LINE 23
|
|
|
|
CALL pantalla()
|
|
OPEN FORM cgfmmt011 FROM "cgfmmt011"
|
|
DISPLAY FORM cgfmmt011
|
|
DISPLAY "cgprmt011" AT 4,3
|
|
DISPLAY "Conciliacion Bancaria" AT 6,30
|
|
CLEAR FORM
|
|
|
|
MENU "OPCION"
|
|
COMMAND "Conciliar" "<Esc> Conciliacion <Ctrl-C> Cancela Operacion"
|
|
LET int_flag = false
|
|
CALL cgpcad11()
|
|
COMMAND "Salir"
|
|
EXIT MENU
|
|
END MENU
|
|
END FUNCTION
|
|
|
|
FUNCTION cgpcad11()
|
|
|
|
# Captura de informacion
|
|
INITIALIZE concilia.* TO NULL
|
|
|
|
INPUT BY NAME concilia.* WITHOUT DEFAULTS ATTRIBUTE (blue )
|
|
|
|
BEFORE FIELD cuenta_no
|
|
|
|
LET concilia.cuenta_no = cuenta_no1
|
|
DISPLAY BY NAME concilia.cuenta_no
|
|
|
|
|
|
AFTER FIELD cuenta_no
|
|
IF concilia.cuenta_no is not null THEN
|
|
SELECT UNIQUE a.descripcion INTO concilia.descripcion
|
|
FROM cgtb00001 a, cgtb00012 b
|
|
WHERE a.cuenta_no =b.cuenta_no AND a.cuenta_no = concilia.cuenta_no AND
|
|
a.status_t is null
|
|
|
|
# Chequeo si el registro existe, si existe desplega las informaciones
|
|
IF status = notfound THEN
|
|
LET numero_msg = 12
|
|
CALL msg(numero_msg)
|
|
DISPLAY BY NAME concilia.*
|
|
INITIALIZE concilia.* TO NULL
|
|
NEXT FIELD cuenta_no
|
|
END IF
|
|
DISPLAY BY NAME concilia.descripcion
|
|
END IF
|
|
|
|
LET cuenta_no1 = concilia.cuenta_no
|
|
AFTER FIELD cheque_no
|
|
IF concilia.cheque_no is null THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cheque_no
|
|
END IF
|
|
SELECT a.fecha,a.portador,a.monto,a.status_t,a.us_crea,a.fech_crea,
|
|
a.us_mod,a.fech_mod
|
|
INTO concilia.fecha,concilia.portador,concilia.monto,concilia.status_t,
|
|
concilia.us_crea,concilia.fech_crea,concilia.us_mod,concilia.fech_mod
|
|
FROM cgtb00005 a
|
|
WHERE a.cuenta_no = concilia.cuenta_no and a.cheque_no = concilia.cheque_no
|
|
|
|
IF status = notfound THEN
|
|
LET numero_msg = 177
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cheque_no
|
|
END IF
|
|
#-----------------------------------------
|
|
# Iniciliza el Status con C
|
|
#-----------------------------------------
|
|
|
|
#LET concilia.status_t ="C"
|
|
LET descrip_st = null
|
|
CASE
|
|
WHEN concilia.status_t = "E"
|
|
LET descrip_st = "ELIMINADO"
|
|
LET numero_msg = 1001
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cheque_no
|
|
EXIT CASE
|
|
WHEN concilia.status_t = "C"
|
|
LET descrip_st = "CONCILIADO"
|
|
LET numero_msg = 1000
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cheque_no
|
|
EXIT CASE
|
|
END CASE
|
|
Let concilia.status_t = "C"
|
|
|
|
DISPLAY BY NAME concilia.fecha,concilia.portador,concilia.monto,
|
|
concilia.status_t,descrip_st,concilia.fech_crea,
|
|
concilia.us_crea,concilia.us_mod,concilia.fech_mod
|
|
|
|
# IF concilia.status_t IS NOT NULL OR concilia.status_t != " " THEN
|
|
# RETURN
|
|
# END IF
|
|
|
|
AFTER FIELD status_t
|
|
IF concilia.status_t IS NOT NULL THEN
|
|
IF concilia.status_t != "C" THEN
|
|
LET numero_msg = 34
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD status_t
|
|
END IF
|
|
|
|
LET descrip_st = "CONCILIADO"
|
|
DISPLAY BY NAME descrip_st
|
|
END IF
|
|
|
|
AFTER INPUT
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
|
|
UPDATE cgtb00005 set (status_t,us_mod,fech_mod) =
|
|
(concilia.status_t,SUSER_SNAME(),GETDATE())
|
|
WHERE cheque_no = concilia.cheque_no and cuenta_no = concilia.cuenta_no
|
|
|
|
CALL integridad()
|
|
IF bandera = 1 THEN
|
|
LET bandera = 0
|
|
RETURN
|
|
END IF
|
|
|
|
LET numero_msg = 1
|
|
CALL msg(numero_msg)
|
|
INITIALIZE concilia.* TO NULL
|
|
CLEAR FORM
|
|
NEXT FIELD cuenta_no
|
|
|
|
EXIT INPUT
|
|
END INPUT
|
|
END FUNCTION
|