246 lines
7.1 KiB
Plaintext
246 lines
7.1 KiB
Plaintext
{
|
|
------------------------------------------------------------------------------
|
|
PROGRAMA : NOPRMT015
|
|
OBJETIVO : Anular Cheques de Pago
|
|
PROGRAMADOR : Ing. Juan F. Soto
|
|
FECHA REALIZACION : Enero 15, 1993.
|
|
------------------------------------------------------------------------------
|
|
}
|
|
GLOBALS
|
|
"noprgb000.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)
|
|
END RECORD
|
|
|
|
DEFINE descrip_st CHAR (15)
|
|
FUNCTION noprmt015()
|
|
|
|
OPTIONS
|
|
FORM LINE 9,
|
|
ERROR LINE 24,
|
|
COMMENT LINE 23
|
|
|
|
CALL pantalla()
|
|
|
|
LET formulario = formulario CLIPPED,"nofmmt015"
|
|
OPEN FORM nofmmt015 FROM "nofmmt015"
|
|
DISPLAY FORM nofmmt015
|
|
DISPLAY "noprmt015" AT 4,3
|
|
DISPLAY "Anular Cheques" AT 6,33
|
|
CLEAR FORM
|
|
|
|
MENU "OPCION"
|
|
COMMAND "Anular" "<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 (BOLD)
|
|
|
|
AFTER FIELD cuenta_no
|
|
IF concilia.cuenta_no is not null THEN
|
|
SELECT descripcion INTO concilia.descripcion FROM cgtb00001
|
|
WHERE cuenta_no = concilia.cuenta_no and
|
|
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
|
|
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 fecha,portador,monto,status_t INTO concilia.fecha,concilia.portador,
|
|
concilia.monto,concilia.status_t FROM cgtb00005
|
|
WHERE cuenta_no = concilia.cuenta_no and
|
|
cheque_no = concilia.cheque_no
|
|
|
|
IF status = notfound THEN
|
|
LET numero_msg = 177
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cheque_no
|
|
END IF
|
|
LET descrip_st = null
|
|
CASE
|
|
WHEN concilia.status_t = "E"
|
|
LET descrip_st = "ELIMINADO"
|
|
EXIT CASE
|
|
WHEN concilia.status_t = "C"
|
|
LET descrip_st = "CONCILIADO"
|
|
EXIT CASE
|
|
WHEN concilia.status_t = "N"
|
|
LET descrip_st = "NULO"
|
|
EXIT CASE
|
|
END CASE
|
|
|
|
DISPLAY BY NAME concilia.fecha,concilia.portador,
|
|
concilia.monto,concilia.status_t,
|
|
descrip_st
|
|
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 = concilia.status_t
|
|
WHERE cheque_no = concilia.cheque_no and
|
|
cuenta_no = concilia.cuenta_no
|
|
|
|
CALL integridad()
|
|
IF bandera = 1 THEN
|
|
LET bandera = 0
|
|
RETURN
|
|
END IF
|
|
|
|
#---------------------------------------------------------------------------
|
|
# Quita el estatus de procesada a la nomina que pertenece este cheque.
|
|
# Esto para que pueda generar nuevos cheques que sustituyan los anulados.
|
|
#---------------------------------------------------------------------------
|
|
# UPDATE notb00010 set status_t = null
|
|
# WHERE fecha_del <= concilia.fecha and
|
|
# fecha_al >= concilia.fecha and
|
|
# Esta linea no va.---> tipo_emp = "S" and
|
|
# status_t = "P"
|
|
|
|
# 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
|
|
{
|
|
FUNCTION cgpcmod10()
|
|
# Captura del criterio de seleccion
|
|
CONSTRUCT BY NAME criterio ON cgtb00011.*
|
|
|
|
LET selec2 = "SELECT * FROM cgtb00011 WHERE ",criterio clipped,
|
|
" and status_t is null ",
|
|
"ORDER BY 1"
|
|
|
|
PREPARE comando FROM selec2
|
|
DECLARE busca SCROLL CURSOR FOR comando
|
|
OPEN busca
|
|
|
|
FETCH FIRST busca INTO entradas.*
|
|
IF status = notfound THEN
|
|
LET numero_msg = 3
|
|
CALL msg(numero_msg)
|
|
RETURN
|
|
END IF
|
|
|
|
DISPLAY BY NAME entradas.*
|
|
|
|
MENU "OPCION"
|
|
COMMAND "Siguiente"
|
|
"Presenta en pantalla el proximo registro encontrado"
|
|
FETCH NEXT busca INTO entradas.*
|
|
IF status = notfound THEN
|
|
LET numero_msg = 4
|
|
CALL msg(numero_msg)
|
|
END IF
|
|
DISPLAY BY NAME entradas.*
|
|
|
|
COMMAND "Anterior"
|
|
"Presenta en pantalla el registro anterior encontrado"
|
|
FETCH PREVIOUS busca INTO entradas.*
|
|
IF status = notfound THEN
|
|
LET numero_msg = 5
|
|
CALL msg(numero_msg)
|
|
END IF
|
|
DISPLAY BY NAME entradas.*
|
|
|
|
COMMAND "Primero"
|
|
"Presenta en pantalla el primer registro encontrado"
|
|
FETCH FIRST busca INTO entradas.*
|
|
LET numero_msg = 5
|
|
CALL msg(numero_msg)
|
|
DISPLAY BY NAME entradas.*
|
|
|
|
COMMAND "Ultimo"
|
|
"Presenta en pantalla el ultimo registro encontrado"
|
|
FETCH FIRST busca INTO entradas.*
|
|
LET numero_msg = 4
|
|
CALL msg(numero_msg)
|
|
DISPLAY BY NAME entradas.*
|
|
|
|
COMMAND "Escoger"
|
|
"<Esc> Actualiza Registro <CTRL-C> Cancela Operacion"
|
|
IF entradas.status_t = "E" THEN
|
|
LET numero_msg = 39
|
|
CALL msg(numero_msg)
|
|
RETURN
|
|
END IF
|
|
|
|
INPUT BY NAME entradas.* WITHOUT DEFAULTS ATTRIBUTE (BOLD)
|
|
BEFORE FIELD entrada_no
|
|
NEXT FIELD descripcion
|
|
|
|
AFTER INPUT
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
|
|
EXIT INPUT
|
|
END INPUT
|
|
|
|
UPDATE cgtb00011 set descripcion = entradas.descripcion,
|
|
prog_4gl = entradas.prog_4gl
|
|
WHERE entrada_no = entradas.entrada_no
|
|
|
|
CALL integridad()
|
|
IF bandera = 1 THEN
|
|
LET bandera = 0
|
|
RETURN
|
|
END IF
|
|
|
|
LET numero_msg = 13
|
|
CALL msg(numero_msg)
|
|
|
|
COMMAND KEY("L") "eLiminar"
|
|
UPDATE cgtb00011 set status_t = "E"
|
|
WHERE entrada_no = entradas.entrada_no
|
|
LET numero_msg = 39
|
|
CALL msg(numero_msg)
|
|
|
|
COMMAND "Retornar"
|
|
EXIT MENU
|
|
END MENU
|
|
END FUNCTION}
|