154 lines
4.1 KiB
Plaintext
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
|
|
|