{ ---------------------------------------------------------------------------- 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" " Cancela operacion" CALL activo() COMMAND "Desactivar" " 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