107 lines
2.4 KiB
Plaintext
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
|
|
|