Files
MBS/PROYECTO/nodir/noprmt022.4gl
T

154 lines
4.1 KiB
Plaintext

{
------------------------------------------------------------------
PROGRAMA : NOPRMT022
OBJETIVO : Elimina Cheques de la tabla general de cheques
PROGRAMADOR : Juan F. Soto
FECHA REALIZACION : Febrero 19, 1996
------------------------------------------------------------------
}
GLOBALS "noprgb000.4gl"
DEFINE cheque_ini,cheque_fin,num_nomi INTEGER
DEFINE tipo_emp CHAR(1),
pcuenta_no CHAR(8),
descripcion LIKE cgtb00001.descripcion
DEFINE cod_mov,num_emp SMALLINT
DEFINE reg_elim RECORD
num_nomi INTEGER,
tipo_emp CHAR(1),
cod_mov SMALLINT,
num_emp SMALLINT
END RECORD
FUNCTION noprmt022()
OPTIONS
FORM LINE 8,
PROMPT LINE 23,
ERROR LINE 24,
COMMENT LINE 22
LET int_flag = FALSE
LET formulario = formulario CLIPPED,"nofmmt022"
OPEN FORM nofmmt022 FROM "nofmmt022"
DISPLAY FORM nofmmt022
CALL pantalla()
DISPLAY "noprmt022" AT 4,3
DISPLAY "Eliminacion de Cheques" AT 6,30
INPUT BY NAME pcuenta_no,num_nomi,tipo_emp,cheque_ini,cheque_fin
AFTER FIELD num_nomi
IF num_nomi IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD num_nomi
END IF
AFTER FIELD tipo_emp
IF tipo_emp IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD tipo_emp
END IF
SELECT UNIQUE b.num_nomi FROM notb00019 b
WHERE b.num_nomi = num_nomi and
b.tipo_emp = tipo_emp
IF status = notfound THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD pcuenta_no
END IF
AFTER FIELD pcuenta_no
IF pcuenta_no is null THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD pcuenta_no
END IF
SELECT a.descripcion INTO descripcion
FROM cgtb00001 a
WHERE a.cuenta_no = pcuenta_no
DISPLAY BY NAME descripcion
AFTER FIELD cheque_ini
IF cheque_ini IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cheque_ini
END IF
AFTER FIELD cheque_fin
IF cheque_fin IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD cheque_fin
END IF
IF cheque_fin < cheque_ini THEN
LET numero_msg = 355
CALL msg(numero_msg)
NEXT FIELD cheque_ini
END IF
SELECT unique @tipo_emp FROM notb00019
WHERE @tipo_emp = tipo_emp and
@num_nomi = num_nomi and
cheque_no_ini = cheque_ini and
cheque_no_fin = cheque_fin
IF status = notfound THEN
LET numero_msg = 356
CALL msg(numero_msg)
NEXT FIELD cheque_ini
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
PROMPT "Desea Eliminar Los Cheques [S/N]" FOR CHAR opcion
IF opcion = "s" OR opcion = "S" THEN
UPDATE cgtb00012 set cheque_no = cheque_ini - 1
WHERE cuenta_no = pcuenta_no
#Tabla conciliaciones Bancarias
DELETE FROM notb00020
WHERE cuenta_no=pcuenta_no AND cheque_no between cheque_ini and cheque_fin
INSERT INTO notb00020
SELECT * FROM cgtb00005
WHERE cuenta_no=pcuenta_no AND cheque_no between cheque_ini and cheque_fin
UPDATE notb00020 SET us_mod = user, fech_mod = current
WHERE cuenta_no=pcuenta_no AND cheque_no between cheque_ini and cheque_fin
DELETE FROM cgtb00005
WHERE cuenta_no=pcuenta_no AND cheque_no between cheque_ini and cheque_fin
# Tabla Control del Rango de los Cheques
DELETE FROM notb00021
WHERE @num_nomi=num_nomi AND @tipo_emp=tipo_emp AND cuenta_no=pcuenta_no
DELETE FROM notb00019
WHERE @num_nomi=num_nomi AND @tipo_emp=tipo_emp AND cuenta_no=pcuenta_no
AND cheque_no_ini = cheque_ini and cheque_no_fin = cheque_fin
# Actualizacion de la tabla periodos de nomina
UPDATE notb00010 set status_t = null
WHERE @num_nomi = num_nomi and @tipo_emp = tipo_emp
LET numero_msg = 13
CALL msg(numero_msg)
ELSE
LET numero_msg = 2
CALL msg(numero_msg)
RETURN
END IF
END FUNCTION