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

107 lines
2.4 KiB
Plaintext

{
-------------------------------------------------------------------------
PROGRAMA : NOPRMT019
OBJETIVO : Cambiar de departamento a los empleados y que se actualise en
la tabla notb00003 (Movimientos Fijos)
PROGRAMADOR : Juan F. Soto
FECHA : Septiembre 27, 1994.
-------------------------------------------------------------------------
}
GLOBALS
"noprgb000.4gl"
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
# LET usuarios = 'jsoto'
# LET clave = 'lmmjvsd2009'
CONNECT to "smarmotech" USER usuarios USING clave
SELECT a.* INTO p_companias.* FROM companias a
CALL noprmt019()
END MAIN
FUNCTION noprmt019()
DEFINE datos_c RECORD
num_emp SMALLINT,
depto_de SMALLINT,
nombre_dp_d CHAR(30),
depto_a SMALLINT,
nombre_dp_a CHAR(30),
nombre CHAR(30)
END RECORD
OPTIONS
ERROR LINE 24,
FORM LINE 8
OPEN FORM nofmmt019 FROM "nofmmt019"
DISPLAY FORM nofmmt019
LABEL vuelve:
INPUT BY NAME datos_c.*
AFTER FIELD num_emp
SELECT nom1_emp,apell1_emp,departamento INTO descrip1,descrip2,
datos_c.depto_de
FROM adtb00003
WHERE num_emp = datos_c.num_emp
IF status = notfound THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD num_emp
END IF
LET nombre = descrip1 clipped,descrip2 clipped
DISPLAY BY NAME nombre
SELECT nom_dpto INTO descrip3
FROM adtb00001
WHERE departamento = datos_c.depto_de
LET datos_c.nombre_dp_d = descrip3 clipped
DISPLAY BY NAME datos_c.depto_de,datos_c.nombre_dp_d
NEXT FIELD depto_a
AFTER FIELD depto_a
SELECT nom_dpto INTO descrip3
FROM adtb00001
WHERE departamento = datos_c.depto_a
IF status = notfound THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD depto_a
END IF
LET datos_c.nombre_dp_a = descrip3 clipped
DISPLAY BY NAME datos_c.nombre_dp_a
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 adtb00003 set departamento = datos_c.depto_a,
us_mod = SUSER_SNAME(),
fech_mod = GETDATE()
WHERE num_emp = datos_c.num_emp
UPDATE notb00003 set departamento = datos_c.depto_a,
us_mod = SUSER_SNAME(),
fech_mod = GETDATE()
WHERE num_emp = datos_c.num_emp
LET numero_msg = 13
CALL msg(numero_msg)
GOTO vuelve
END FUNCTION