161 lines
3.7 KiB
Plaintext
161 lines
3.7 KiB
Plaintext
{
|
|
----------------------------------------------------------------------------
|
|
PROGRAMA : NOPRMT016
|
|
OBEJTIVO : Activar / Desactivar empleados para la nomina
|
|
PROGRAMADOR : Ing. Juan Soto
|
|
FECHA : Enero 17, 1993.
|
|
----------------------------------------------------------------------------
|
|
}
|
|
GLOBALS
|
|
"noprgb000.4gl"
|
|
DEFINE p_datos RECORD
|
|
num_emp SMALLINT,
|
|
tipo_emp CHAR(1),
|
|
nombre_t CHAR(15),
|
|
nombre CHAR(30)
|
|
END RECORD
|
|
DEFINE nomb1,nomb2 CHAR(30)
|
|
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 noprmt016()
|
|
END MAIN
|
|
|
|
FUNCTION noprmt016()
|
|
OPTIONS
|
|
FORM LINE 8,
|
|
ERROR LINE 24
|
|
CLEAR SCREEN
|
|
|
|
|
|
OPEN FORM nofmmt016 FROM "nofmmt016"
|
|
DISPLAY FORM nofmmt016
|
|
|
|
MENU "OPCION"
|
|
COMMAND "Activar"
|
|
"<CTRL-C> Cancela operacion"
|
|
CALL activo()
|
|
COMMAND "Desactivar"
|
|
"<CTRL-C> Cancela Operacion"
|
|
CALL desactivo()
|
|
COMMAND "Salir"
|
|
EXIT MENU
|
|
END MENU
|
|
END FUNCTION
|
|
|
|
FUNCTION activo()
|
|
INITIALIZE p_datos.* TO NULL
|
|
INPUT BY NAME p_datos.*
|
|
|
|
AFTER FIELD num_emp
|
|
IF p_datos.num_emp is null THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD num_emp
|
|
END IF
|
|
SELECT nom1_emp,apell1_emp,nomina INTO nomb1,nomb2,p_datos.tipo_emp
|
|
FROM adtb00003
|
|
WHERE num_emp = p_datos.num_emp
|
|
|
|
IF status = notfound THEN
|
|
LET numero_msg = 12
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD num_emp
|
|
END IF
|
|
CASE
|
|
WHEN p_datos.tipo_emp = "Q"
|
|
LET p_datos.nombre_t = "QUINCENAL"
|
|
EXIT CASE
|
|
WHEN p_datos.tipo_emp = "S"
|
|
LET p_datos.nombre_t = "SEMANAL"
|
|
EXIT CASE
|
|
WHEN p_datos.tipo_emp = "V"
|
|
LET p_datos.nombre_t = "VENDEDOR"
|
|
EXIT CASE
|
|
OTHERWISE
|
|
LET p_datos.nombre_t = "NO EXISTE"
|
|
EXIT CASE
|
|
END CASE
|
|
LET p_datos.nombre = nomb1 clipped," ",nomb2 clipped
|
|
DISPLAY BY NAME p_datos.nombre,p_datos.nombre_t ATTRIBUTE (BOLD)
|
|
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 status_t = null,
|
|
us_mod = suser_sname(),
|
|
fech_mod = GETDATE()
|
|
WHERE num_emp = p_datos.num_emp
|
|
|
|
LET numero_msg = 190
|
|
CALL msg(numero_msg)
|
|
END FUNCTION
|
|
|
|
FUNCTION desactivo()
|
|
INITIALIZE p_datos.* TO NULL
|
|
INPUT BY NAME p_datos.*
|
|
|
|
AFTER FIELD num_emp
|
|
IF p_datos.num_emp is null THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD num_emp
|
|
END IF
|
|
SELECT nom1_emp,apell1_emp,nomina INTO nomb1,nomb2,p_datos.tipo_emp
|
|
FROM adtb00003
|
|
WHERE num_emp = p_datos.num_emp
|
|
|
|
IF status = notfound THEN
|
|
LET numero_msg = 12
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD num_emp
|
|
END IF
|
|
|
|
CASE
|
|
WHEN p_datos.tipo_emp = "Q"
|
|
LET p_datos.nombre_t = "QUINCENAL"
|
|
EXIT CASE
|
|
WHEN p_datos.tipo_emp = "S"
|
|
LET p_datos.nombre_t = "SEMANAL"
|
|
EXIT CASE
|
|
WHEN p_datos.tipo_emp = "V"
|
|
LET p_datos.nombre_t = "VENDEDOR"
|
|
EXIT CASE
|
|
OTHERWISE
|
|
LET p_datos.nombre_t = "NO EXISTE"
|
|
EXIT CASE
|
|
END CASE
|
|
LET p_datos.nombre = nomb1 clipped," ",nomb2 clipped
|
|
DISPLAY BY NAME p_datos.nombre,p_datos.nombre_t ATTRIBUTE (BOLD)
|
|
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 status_t = "D" ,
|
|
us_mod = suser_sname(),
|
|
fech_mod = GETDATE()
|
|
WHERE num_emp = p_datos.num_emp
|
|
|
|
LET numero_msg = 191
|
|
CALL msg(numero_msg)
|
|
END FUNCTION
|