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

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