{ ----------------------------------------------------------------------- PROGRAMA : ADPRMT019 OBJETIVO : Capturar, Modificar, Eliminar registros de la Tabla de Adiestramientos al Personal PROGRAMADOR : Ing. Betania Guerrero Perez FECHA REALIZACION : Junio 10, 1993 ----------------------------------------------------------------------- } GLOBALS "adprgb000.4gl" MAIN DEFER INTERRUPT CALL ARG_VAL(1) RETURNING usuarios CALL ARG_VAL(2) RETURNING clave CALL ARG_VAL(3) RETURNING impresor let usuarios = "kpolanco" let clave = "RevolutionX3" CONNECT to "smarmotech" USER usuarios USING clave SELECT a.* INTO p_companias.* FROM companias a CALL adprmt019() END MAIN FUNCTION adprmt019() CLEAR SCREEN OPTIONS FORM LINE 9, ERROR LINE 24, COMMENT LINE 23 OPEN FORM adfmmt019 FROM "adfmmt019" DISPLAY FORM adfmmt019 DISPLAY "adprmt019" AT 4,3 ATTRIBUTE(RED) DISPLAY "Adiestramientos y Capacitacion" AT 6,27 ATTRIBUTE(BLACK) MENU ON ACTION nuevo let int_flag = false INITIALIZE emplea.* TO NULL CALL adpcmf019() ON ACTION buscar let int_flag = false CALL adpcad019() ON ACTION Salir EXIT MENU END MENU END FUNCTION FUNCTION adpcad019() WHENEVER ERROR CONTINUE ## CAPTURA LOS DATOS QUE VA A CONTENER EL REGISTRO INPUT BY NAME adiestra.* ## VENTANA QUE BUSCA LOS EMPLEDOS Y LAS PROFESIONES ON KEY (CONTROL-W) CASE WHEN INFIELD (num_emp) CALL busca_empleado() IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE NEXT FIELD num_emp END IF IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD num_emp END IF LET descrip1 = nombre LET adiestra.num_emp = despl_emp[curr1].num_emp LET adiestra.departamento = despl_emp[curr1].departamento LET adiestra.nivel_emp = despl_emp[curr1].nivel_emp LET adiestra.cod_puesto = despl_emp[curr1].cod_puesto DISPLAY BY NAME adiestra.num_emp,adiestra.departamento, adiestra.nivel_emp,adiestra.cod_puesto, descrip1 NEXT FIELD cod_prof WHEN INFIELD (cod_prof) CALL carrera() IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE NEXT FIELD cod_prof END IF LET adiestra.cod_prof = basico.cod_prof SELECT nom_prof INTO profesion.nom_prof FROM adtb00010 WHERE cod_prof = basico.cod_prof DISPLAY BY NAME adiestra.cod_prof,profesion.nom_prof NEXT FIELD evento WHEN INFIELD (num1_emp) CALL busca_empleado() IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE NEXT FIELD num1_emp END IF IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD num1_emp END IF LET descrip2 = nombre LET adiestra.num1_emp = despl_emp[curr1].num_emp LET adiestra.departamento1 = despl_emp[curr1].departamento LET adiestra.nivel1_emp = despl_emp[curr1].nivel_emp LET adiestra.cod1_puesto = despl_emp[curr1].cod_puesto DISPLAY BY NAME adiestra.num1_emp,adiestra.departamento1, adiestra.nivel1_emp,adiestra.cod1_puesto, descrip2 NEXT FIELD num2_emp WHEN INFIELD (num2_emp) CALL busca_empleado() IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE NEXT FIELD num2_emp END IF IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD num2_emp END IF LET descrip3 = nombre LET adiestra.num2_emp = despl_emp[curr1].num_emp LET adiestra.departamento2 = despl_emp[curr1].departamento LET adiestra.nivel2_emp = despl_emp[curr1].nivel_emp LET adiestra.cod2_puesto = despl_emp[curr1].cod_puesto DISPLAY BY NAME adiestra.num2_emp,adiestra.departamento2, adiestra.nivel2_emp,adiestra.cod2_puesto, descrip3 NEXT FIELD num3_emp WHEN INFIELD (num3_emp) CALL busca_empleado() IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE NEXT FIELD num3_emp END IF IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD num3_emp END IF LET descrip4 = nombre LET adiestra.num3_emp = despl_emp[curr1].num_emp LET adiestra.departamento3 = despl_emp[curr1].departamento LET adiestra.nivel3_emp = despl_emp[curr1].nivel_emp LET adiestra.cod3_puesto = despl_emp[curr1].cod_puesto DISPLAY BY NAME adiestra.num3_emp,adiestra.departamento3, adiestra.nivel3_emp,adiestra.cod3_puesto, descrip4 END CASE BEFORE FIELD fecha LET adiestra.fecha = today using "dd/mm/yyyy" DISPLAY BY NAME adiestra.fecha ## VERIFICA QUE EL EMPLEADO EXISTA EN EL CATALOGO DE EMPLEADOS AFTER FIELD num_emp IF adiestra.num_emp IS NOT NULL THEN SELECT departamento,nivel_emp,cod_puesto,nom1_emp,nom2_emp, apell1_emp,apell2_emp INTO adiestra.departamento,adiestra.nivel_emp, adiestra.cod_puesto,nombre1,nombre2,apellido1,apellido2 FROM adtb00003 WHERE num_emp = adiestra.num_emp and status_t is null IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD num_emp END IF ELSE LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD num_emp END IF LET descrip1 = nombre1 clipped," ",nombre2 clipped," ", apellido1 clipped," ",apellido2 clipped DISPLAY BY NAME adiestra.departamento,adiestra.nivel_emp, adiestra.cod_puesto,descrip1 NEXT FIELD cod_prof ## VERIFICA QUE LA PROFESION EXISTA EN EL CATALOGO DE PROFESIONES AFTER FIELD cod_prof IF adiestra.cod_prof IS NOT NULL THEN SELECT nom_prof INTO profesion.nom_prof FROM adtb00010 WHERE cod_prof = adiestra.cod_prof and status_t is null IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD cod_prof END IF DISPLAY BY NAME profesion.nom_prof END IF AFTER FIELD evento IF adiestra.evento IS NOT NULL THEN IF adiestra.evento = 1 THEN LET descrip = "SEMINARIO" END IF IF adiestra.evento = 2 THEN LET descrip = "CURSO" END IF IF adiestra.evento = 3 THEN LET descrip = "TALLER" END IF IF adiestra.evento = 4 THEN LET descrip = "CONFERENCIA" END IF ELSE LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD evento END IF DISPLAY BY NAME descrip ## VERIFICA QUE EL REGISTRO NO ESTE DUPLICADO AFTER FIELD nom_evento IF adiestra.nom_evento IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD nom_evento ELSE SELECT UNIQUE num_emp FROM adtb00022 WHERE @num_emp = adiestra.num_emp and @departamento = adiestra.departamento and nivel_emp = adiestra.nivel_emp and cod_puesto = adiestra.cod_puesto and nom_evento matches adiestra.nom_evento IF STATUS >= 0 THEN IF STATUS != NOTFOUND THEN IF adiestra.status_t = "E" THEN LET numero_msg = 36 CALL msg(numero_msg) NEXT FIELD fecha END IF DISPLAY BY NAME adiestra.* LET numero_msg = 12 CALL msg(numero_msg) INITIALIZE adiestra.* TO NULL CLEAR FORM NEXT FIELD fecha END IF ELSE IF bandera = 1 THEN CLEAR SCREEN RETURN END IF END IF END IF AFTER FIELD fech_evento IF adiestra.fech_evento IS NOT NULL THEN IF adiestra.fecha > adiestra.fech_evento THEN LET numero_msg = 51 CALL msg(numero_msg) NEXT FIELD fech_evento END IF END IF AFTER FIELD costo_evento IF adiestra.costo_evento IS NULL THEN LET adiestra.costo_evento = 0 END IF ## CHEQUEA QUE EL EMPLEADO EXISTA EN LA TABLA DE EMPLEADOS Y ADEMAS QUE ## EL EMPLEADO QUE FIRMA ES EL MISMO QUE SOLICITA EL ADIESTRAMIENTO BEFORE FIELD num1_emp LET adiestra.num1_emp = adiestra.num_emp LET adiestra.departamento1 = adiestra.departamento LET adiestra.nivel1_emp = adiestra.nivel_emp LET adiestra.cod1_puesto = adiestra.cod_puesto DISPLAY BY NAME adiestra.num1_emp,adiestra.departamento1, adiestra.nivel1_emp,adiestra.cod1_puesto AFTER FIELD num1_emp IF adiestra.num1_emp IS NOT NULL THEN SELECT departamento,nivel_emp,cod_puesto,nom1_emp,nom2_emp, apell1_emp,apell2_emp INTO adiestra.departamento1,adiestra.nivel1_emp, adiestra.cod1_puesto,nombre3,nombre4,apellido3,apellido4 FROM adtb00003 WHERE num_emp = adiestra.num1_emp and status_t is null IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD num1_emp END IF ELSE LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD num1_emp END IF LET descrip2 = nombre3 clipped," ",nombre4 clipped," ", apellido3 clipped," ",apellido4 clipped DISPLAY BY NAME adiestra.departamento1,adiestra.nivel1_emp, adiestra.cod1_puesto,descrip2 NEXT FIELD num2_emp AFTER FIELD num2_emp IF adiestra.num2_emp IS NOT NULL THEN SELECT departamento,nivel_emp,cod_puesto,nom1_emp,nom2_emp, apell1_emp,apell2_emp INTO adiestra.departamento2,adiestra.nivel2_emp, adiestra.cod2_puesto,nombre3,nombre4,apellido3,apellido4 FROM adtb00003 WHERE num_emp = adiestra.num2_emp and status_t is null IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD num2_emp END IF ELSE LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD num2_emp END IF LET descrip3 = nombre3 clipped," ",nombre4 clipped," ", apellido3 clipped," ",apellido4 clipped DISPLAY BY NAME adiestra.departamento2,adiestra.nivel2_emp, adiestra.cod2_puesto,descrip3 NEXT FIELD num3_emp AFTER FIELD num3_emp IF adiestra.num3_emp IS NOT NULL THEN SELECT departamento,nivel_emp,cod_puesto,nom1_emp,nom2_emp, apell1_emp,apell2_emp INTO adiestra.departamento3,adiestra.nivel3_emp, adiestra.cod3_puesto,nombre5,nombre6,apellido5,apellido6 FROM adtb00003 WHERE num_emp = adiestra.num3_emp and status_t is null IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD num3_emp END IF ELSE LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD num3_emp END IF LET descrip4 = nombre5 clipped," ",nombre6 clipped," ", apellido5 clipped," ",apellido6 clipped DISPLAY BY NAME adiestra.departamento3,adiestra.nivel3_emp, adiestra.cod3_puesto,descrip4 AFTER INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF IF adiestra.fecha IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fecha END IF IF adiestra.num_emp IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD num_emp END IF IF adiestra.evento IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD evento END IF IF adiestra.nom_evento IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD nom_evento END IF IF adiestra.fech_evento IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD fech_evento END IF IF adiestra.costo_evento IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD costo_evento END IF IF adiestra.num1_emp IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD num1_emp END IF IF adiestra.num2_emp IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD num2_emp END IF IF adiestra.num3_emp IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD num3_emp END IF ## SI NO OCURRE NINGUN ERROR SE PROCEDE A INSERTAR EL REGISTRO IF adiestra.num_emp IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD num_emp ELSE INSERT INTO adtb00022 VALUES (adiestra.fecha,adiestra.num_emp,adiestra.departamento, adiestra.nivel_emp,adiestra.cod_puesto,adiestra.cod_prof, adiestra.evento,adiestra.nom_evento,adiestra.fech_evento, adiestra.costo_evento,adiestra.num1_emp, adiestra.departamento1,adiestra.nivel1_emp, adiestra.cod1_puesto,adiestra.num2_emp, adiestra.departamento2,adiestra.nivel2_emp, adiestra.cod2_puesto,adiestra.num3_emp, adiestra.departamento3,adiestra.nivel3_emp, adiestra.cod3_puesto,null,SUSER_SNAME (),GETDATE (),null,null) LET numero_msg = 1 CALL msg(numero_msg) CLEAR FORM INITIALIZE adiestra.* TO NULL NEXT FIELD fecha END IF EXIT INPUT END INPUT END FUNCTION FUNCTION adpcmf019() ## AQUI SE PREPARA PARA LA CAPTURA DEL CRITERIO DE SELECCION PARA LA ## MODIFICACION DE REGISTROS WHENEVER ERROR CONTINUE CONSTRUCT criterio ON fecha,num_emp,departamento,nivel_emp,cod_puesto FROM adtb00022.fecha,adtb00022.num_emp, adtb00022.departamento,adtb00022.nivel_emp, adtb00022.cod_puesto IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE RETURN END IF LET SELEC = "SELECT UNIQUE * FROM adtb00022 ", "WHERE status_t is null and ",criterio clipped, " ORDER BY 2,3,4,5" PREPARE busca FROM selec IF bandera = 1 THEN CLEAR SCREEN RETURN END IF DECLARE datos SCROLL CURSOR FOR busca OPEN datos FETCH FIRST datos INTO adiestra.* IF STATUS >= 0 THEN IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) RETURN END IF ELSE IF bandera = 1 THEN CLEAR SCREEN RETURN END IF END IF CALL muestra() MENU "OPCIONES " COMMAND "Siguiente" "Presenta en pantalla el proximo registro encontrado" FETCH NEXT datos INTO adiestra.* IF STATUS = NOTFOUND THEN LET numero_msg = 4 CALL msg(numero_msg) END IF CALL muestra() COMMAND "Anterior" "Presenta en pantalla el registro anterior encontrado" FETCH PREVIOUS datos INTO adiestra.* IF STATUS = NOTFOUND THEN LET numero_msg = 5 CALL msg(numero_msg) END IF CALL muestra() COMMAND "Primero" "Presenta en pantalla el primer registro encontrado" FETCH FIRST datos INTO adiestra.* CALL muestra() LET numero_msg = 5 CALL msg(numero_msg) COMMAND "Ultimo" "Presenta en pantalla el ultimo registro encontrado" FETCH LAST datos INTO adiestra.* CALL muestra() LET numero_msg = 4 CALL msg(numero_msg) COMMAND "Escoger" " Actualiza Registro Cancela Operacion" IF adiestra.status_t = "E" THEN LET numero_msg = 39 CALL msg(numero_msg) RETURN END IF ## SE SELECCIONAN LOS CAMPOS QUE SE PUEDEN MODIFICAR INPUT BY NAME adiestra.cod_prof,adiestra.evento,adiestra.nom_evento, adiestra.fech_evento,adiestra.costo_evento, adiestra.num2_emp,adiestra.num3_emp WITHOUT DEFAULTS ## VENTANA QUE BUSCA LAS PROFESIONES ON KEY (CONTROL-W) CASE WHEN INFIELD (cod_prof) CALL carrera() IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE NEXT FIELD cod_prof END IF LET adiestra.cod_prof = basico.cod_prof SELECT nom_prof INTO profesion.nom_prof FROM adtb00010 WHERE cod_prof = basico.cod_prof DISPLAY BY NAME adiestra.cod_prof,profesion.nom_prof NEXT FIELD evento WHEN INFIELD (num2_emp) CALL busca_empleado() IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE NEXT FIELD num2_emp END IF IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD num2_emp END IF LET descrip3 = nombre LET adiestra.num2_emp = despl_emp[curr1].num_emp LET adiestra.departamento2 = despl_emp[curr1].departamento LET adiestra.nivel2_emp = despl_emp[curr1].nivel_emp LET adiestra.cod2_puesto = despl_emp[curr1].cod_puesto DISPLAY BY NAME adiestra.num2_emp,adiestra.departamento2, adiestra.nivel2_emp,adiestra.cod2_puesto, descrip3 NEXT FIELD num3_emp WHEN INFIELD (num3_emp) CALL busca_empleado() IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE NEXT FIELD num3_emp END IF IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD num3_emp END IF LET descrip4 = nombre LET adiestra.num3_emp = despl_emp[curr1].num_emp LET adiestra.departamento3 = despl_emp[curr1].departamento LET adiestra.nivel3_emp = despl_emp[curr1].nivel_emp LET adiestra.cod3_puesto = despl_emp[curr1].cod_puesto DISPLAY BY NAME adiestra.num3_emp,adiestra.departamento3, adiestra.nivel3_emp,adiestra.cod3_puesto, descrip4 END CASE ## VERIFICA QUE LA PROFESION EXISTA EN EL CATALOGO DE PROFESIONES AFTER FIELD cod_prof IF adiestra.cod_prof IS NOT NULL THEN SELECT nom_prof INTO profesion.nom_prof FROM adtb00010 WHERE cod_prof = adiestra.cod_prof and status_t is null IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD cod_prof END IF DISPLAY BY NAME profesion.nom_prof END IF AFTER FIELD evento IF adiestra.evento IS NOT NULL THEN IF adiestra.evento = 1 THEN LET descrip = "SEMINARIO" END IF IF adiestra.evento = 2 THEN LET descrip = "CURSO" END IF IF adiestra.evento = 3 THEN LET descrip = "TALLER" END IF IF adiestra.evento = 4 THEN LET descrip = "CONFERENCIA" END IF ELSE LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD evento END IF DISPLAY BY NAME descrip AFTER FIELD nom_evento IF adiestra.nom_evento IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD nom_evento END IF AFTER FIELD fech_evento IF adiestra.fech_evento IS NOT NULL THEN IF adiestra.fecha > adiestra.fech_evento THEN LET numero_msg = 51 CALL msg(numero_msg) NEXT FIELD fech_evento END IF END IF AFTER FIELD costo_evento IF adiestra.costo_evento IS NULL THEN LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD costo_evento END IF AFTER FIELD num2_emp IF adiestra.num2_emp IS NOT NULL THEN SELECT departamento,nivel_emp,cod_puesto,nom1_emp,nom2_emp, apell1_emp,apell2_emp INTO adiestra.departamento2,adiestra.nivel2_emp, adiestra.cod2_puesto,nombre3,nombre4,apellido3,apellido4 FROM adtb00003 WHERE num_emp = adiestra.num2_emp and status_t is null IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD num2_emp END IF ELSE LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD num2_emp END IF LET descrip3 = nombre3 clipped," ",nombre4 clipped," ", apellido3 clipped," ",apellido4 clipped DISPLAY BY NAME adiestra.departamento2,adiestra.nivel2_emp, adiestra.cod2_puesto,descrip3 NEXT FIELD num3_emp AFTER FIELD num3_emp IF adiestra.num3_emp IS NOT NULL THEN SELECT departamento,nivel_emp,cod_puesto,nom1_emp,nom2_emp, apell1_emp,apell2_emp INTO adiestra.departamento3,adiestra.nivel3_emp, adiestra.cod3_puesto,nombre5,nombre6,apellido5,apellido6 FROM adtb00003 WHERE num_emp = adiestra.num3_emp and status_t is null IF STATUS = NOTFOUND THEN LET numero_msg = 3 CALL msg(numero_msg) NEXT FIELD num3_emp END IF ELSE LET numero_msg = 16 CALL msg(numero_msg) NEXT FIELD num3_emp END IF LET descrip4 = nombre5 clipped," ",nombre6 clipped," ", apellido5 clipped," ",apellido6 clipped DISPLAY BY NAME adiestra.departamento3,adiestra.nivel3_emp, adiestra.cod3_puesto,descrip4 #### Verifica si el usuario presiono la tecla AFTER INPUT IF int_flag THEN LET numero_msg = 2 CALL msg(numero_msg) LET int_flag = FALSE CLEAR FORM RETURN END IF IF bandera = 1 THEN CLEAR SCREEN RETURN END IF ## AQUI SE ACTUALIZA EL REGISTRO UPDATE adtb00022 SET cod_prof = adiestra.cod_prof, evento = adiestra.evento, nom_evento = adiestra.nom_evento, fech_evento = adiestra.fech_evento, costo_evento = adiestra.costo_evento, num2_emp = adiestra.num2_emp, departamento2 = adiestra.departamento2, nivel2_emp = adiestra.nivel2_emp, cod2_puesto = adiestra.cod2_puesto, num3_emp = adiestra.num3_emp, departamento3 = adiestra.departamento3, nivel3_emp = adiestra.nivel3_emp, cod3_puesto = adiestra.cod3_puesto, us_mod = SUSER_SNAME (), fech_mod = GETDATE () WHERE fecha = adiestra.fecha and num_emp = adiestra.num_emp LET numero_msg = 13 CALL msg(numero_msg) EXIT INPUT END INPUT COMMAND KEY ("L") "eLiminar" UPDATE adtb00022 SET (status_t,us_mod,fech_mod) = ("E",SUSER_SNAME (),GETDATE ()) WHERE fecha = adiestra.fecha and num_emp = adiestra.num_emp LET numero_msg = 39 CALL msg(numero_msg) COMMAND "Retornar" "Retorna al menu anterior" CLEAR FORM EXIT MENU END MENU END FUNCTION ## SELECCIONA Y DESPLIEGA LOS DATOS DEL REGISTRO ESCOGIDO FUNCTION muestra() SELECT nom1_emp,nom2_emp,apell1_emp,apell2_emp INTO nombre1,nombre2,apellido1,apellido2 FROM adtb00003 WHERE num_emp = adiestra.num_emp LET descrip1 = nombre1 clipped," ",nombre2 clipped," ",apellido1 clipped, " ",apellido2 clipped SELECT nom_prof INTO profesion.nom_prof FROM adtb00010 WHERE cod_prof = adiestra.cod_prof IF adiestra.evento = 1 THEN LET descrip = "SEMINARIO" END IF IF adiestra.evento = 2 THEN LET descrip = "CURSO" END IF IF adiestra.evento = 3 THEN LET descrip = "TALLER" END IF IF adiestra.evento = 4 THEN LET descrip = "CONFERENCIA" END IF SELECT nom1_emp,nom2_emp,apell1_emp,apell2_emp INTO nombre1,nombre2,apellido1,apellido2 FROM adtb00003 WHERE num_emp=adiestra.num1_emp LET descrip2 = nombre1 clipped," ",nombre2 clipped," ",apellido1 clipped, " ",apellido2 clipped SELECT nom1_emp,nom2_emp,apell1_emp,apell2_emp INTO nombre3,nombre4,apellido3,apellido4 FROM adtb00003 WHERE num_emp = adiestra.num2_emp LET descrip3 = nombre3 clipped," ",nombre4 clipped," ",apellido3 clipped, " ",apellido4 clipped SELECT nom1_emp,nom2_emp,apell1_emp,apell2_emp INTO nombre5,nombre6,apellido5,apellido6 FROM adtb00003 WHERE num_emp = adiestra.num3_emp LET descrip4 = nombre5 clipped," ",nombre6 clipped," ",apellido5 clipped, " ",apellido6 clipped DISPLAY BY NAME adiestra.*,descrip1,profesion.nom_prof,descrip, descrip2,descrip3,descrip4 END FUNCTION