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

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