744 lines
26 KiB
Plaintext
744 lines
26 KiB
Plaintext
SCHEMA smarmotech
|
|
|
|
GLOBALS
|
|
|
|
|
|
DEFINE tipo_papel,cuenta_educa,cuenta_familia,cuenta_ref,cuenta_idioma SMALLINT
|
|
DEFINE bandera SMALLINT
|
|
DEFINE numero_emp CHAR(15),
|
|
r_filename VARCHAR(20),
|
|
preview INT
|
|
DEFINE decide,modifica,verdad,p_status,control CHAR(1)
|
|
DEFINE opc,opt2,existe,ya,opera1,cambio CHAR(1)
|
|
DEFINE opt CHAR(2)
|
|
DEFINE descrip CHAR(21)
|
|
DEFINE nombre1,nombre2,nombre3,nombre4,nombre5,nombre6 CHAR(15)
|
|
DEFINE nombre7,nombre8,apellido1,apellido2,apellido3 CHAR(15)
|
|
DEFINE apellido4,apellido5,apellido6,apellido7,apellido8,nombre9,nombre10,
|
|
apellido9,apellido10 CHAR(15)
|
|
DEFINE indice,fila SMALLINT
|
|
DEFINE numero_msg LIKE msgtable.cod_msg
|
|
DEFINE descrip1,descrip2,descrip3,descrip4,descrip5 CHAR(60)
|
|
DEFINE descr CHAR(9)
|
|
DEFINE desc_idioma CHAR(10)
|
|
DEFINE nombre,empleado,empleado1,empleado2 CHAR(60)
|
|
DEFINE criterio STRING
|
|
DEFINE selec3,selec2,selec1,selec STRING
|
|
DEFINE curr1,p_act,curr,scr_l SMALLINT,
|
|
idx INT
|
|
DEFINE opcion CHAR(1)
|
|
DEFINE nombre_mes ARRAY[12] OF CHAR(20)
|
|
DEFINE normal,negrilla_on,negrillas_of,comp_on,comp_off,doce,doble_on,doble_off
|
|
CHAR(3),cero,tipo_venta CHAR(10),
|
|
usuarios,clave CHAR(80),
|
|
HANDLER om.SaxDocumentHandler,
|
|
r_output CHAR(4)
|
|
DEFINE ultimo int
|
|
|
|
DEFINE p_companias RECORD LIKE companias.*
|
|
|
|
DEFINE letras RECORD
|
|
negrillas_on ,
|
|
negrillas_off ,
|
|
doble_on ,
|
|
doble_off ,
|
|
comp_on ,
|
|
comp_off ,
|
|
doce ,
|
|
normal CHAR(6)
|
|
END RECORD
|
|
DEFINE impresor SMALLINT,
|
|
imprime CHAR(80),
|
|
archivo,copia STRING,
|
|
parametro CHAR(2),
|
|
orden CHAR(1),
|
|
destino CHAR(1)
|
|
|
|
|
|
|
|
DEFINE rango RECORD
|
|
fech_in DATE,
|
|
fech_fi DATE
|
|
END RECORD
|
|
|
|
DEFINE datos RECORD
|
|
fech_ini DATE,
|
|
fech_fin DATE
|
|
END RECORD
|
|
DEFINE adtb13 RECORD
|
|
cod_par INTEGER,
|
|
sec_par INTEGER,
|
|
nombre CHAR(30),
|
|
cedula CHAR(20),
|
|
sexo CHAR(1),
|
|
fecha_nac DATE
|
|
END RECORD
|
|
|
|
DEFINE req_per RECORD
|
|
num_doc LIKE adtb00011.num_doc,
|
|
fecha LIKE adtb00011.fecha,
|
|
fech_req LIKE adtb00011.fech_req,
|
|
depart LIKE adtb00011.depart,
|
|
tipo_req LIKE adtb00011.tipo_req,
|
|
razon_vac LIKE adtb00011.razon_vac,
|
|
cod_puesto_r LIKE adtb00011.cod_puesto_r,
|
|
edad_min LIKE adtb00011.edad_min,
|
|
salario_sem LIKE adtb00011.salario_sem,
|
|
salario_men LIKE adtb00011.salario_men,
|
|
experiencia LIKE adtb00011.experiencia,
|
|
cod_educa LIKE adtb00011.cod_educa,
|
|
num_emp LIKE adtb00011.num_emp,
|
|
departamento LIKE adtb00011.departamento,
|
|
nivel_emp LIKE adtb00011.nivel_emp,
|
|
cod_puesto LIKE adtb00011.cod_puesto,
|
|
num1_emp LIKE adtb00011.num1_emp,
|
|
departamento1 LIKE adtb00011.departamento,
|
|
nivel1_emp LIKE adtb00011.nivel1_emp,
|
|
cod1_puesto LIKE adtb00011.cod1_puesto,
|
|
num2_emp LIKE adtb00011.num2_emp,
|
|
departamento2 LIKE adtb00011.departamento2,
|
|
nivel2_emp LIKE adtb00011.nivel2_emp,
|
|
cod2_puesto LIKE adtb00011.cod2_puesto
|
|
END RECORD
|
|
|
|
DEFINE basico RECORD
|
|
cod_sol LIKE adtb00012.cod_sol,
|
|
fecha LIKE adtb00012.fecha,
|
|
nom1_sol LIKE adtb00012.nom1_sol,
|
|
nom2_sol LIKE adtb00012.nom2_sol,
|
|
apell1_sol LIKE adtb00012.apell1_sol,
|
|
apell2_sol LIKE adtb00012.apell2_sol,
|
|
calle LIKE adtb00012.calle,
|
|
casa_num LIKE adtb00012.casa_num,
|
|
barrio LIKE adtb00012.barrio,
|
|
urbanizacion LIKE adtb00012.urbanizacion,
|
|
telefono LIKE adtb00012.telefono,
|
|
cod_provincia LIKE adtb00012.cod_provincia,
|
|
fech_nac LIKE adtb00012.fech_nac,
|
|
cod_nac LIKE adtb00012.cod_nac,
|
|
estado_civil LIKE adtb00012.estado_civil,
|
|
estatura LIKE adtb00012.estatura,
|
|
peso LIKE adtb00012.peso,
|
|
tipo_documento VARCHAR(20),
|
|
cedula LIKE adtb00012.cedula,
|
|
licencia LIKE adtb00012.licencia,
|
|
tipo_sangre LIKE adtb00012.tipo_sangre,
|
|
cod_puesto LIKE adtb00012.cod_puesto,
|
|
cod_prof LIKE adtb00012.cod_prof,
|
|
sexo LIKE adtb00012.sexo,
|
|
afp LIKE adtb00012.afp,
|
|
ars LIKE adtb00012.ars,
|
|
numero_nss LIKE adtb00012.numero_nss,
|
|
seguro_complementario LIKE adtb00012.seguro_complementario,
|
|
categoria_licencia_conducir LIKE adtb00012.categoria_licencia_conducir,
|
|
sueldo_deseado LIKE adtb00012.sueldo_deseado,
|
|
pariente_emergencia LIKE adtb00012.pariente_emergencia,
|
|
parentesco_emergencia LIKE adtb00012.parentesco_emergencia,
|
|
nom_puesto LIKE adtb00004.nom_puesto,
|
|
nom_prof LIKE adtb00010.nom_prof,
|
|
nombre_provincia LIKE vetb00020.nombre_provincia,
|
|
nom_nac LIKE adtb00007.nom_nac,
|
|
vehiculo_propio CHAR(2),
|
|
email VARCHAR(100),
|
|
cuenta_bancaria,tipo_vivienda VARCHAR(50),
|
|
|
|
banco VARCHAR(100),
|
|
arrestado VARCHAR(10),
|
|
motivo_arresto,sometido_justicia VARCHAR(100),
|
|
motivo_sometido_justicia VARCHAR(100),
|
|
no_afiliacion VARCHAR(25),
|
|
telefono_contacto_emergencia VARCHAR(15)
|
|
|
|
END RECORD
|
|
|
|
DEFINE proceso RECORD
|
|
fecha LIKE adtb00018.fecha,
|
|
cod_sol LIKE adtb00018.cod_sol,
|
|
num_emp LIKE adtb00018.num_emp,
|
|
departamento LIKE adtb00018.departamento,
|
|
nivel_emp LIKE adtb00018.nivel_emp,
|
|
cod_puesto LIKE adtb00018.cod_puesto,
|
|
num3_emp LIKE adtb00018.num3_emp,
|
|
departamento3 LIKE adtb00018.departamento3,
|
|
nivel3_emp LIKE adtb00018.nivel3_emp,
|
|
cod3_puesto LIKE adtb00018.cod3_puesto,
|
|
recomendacion LIKE adtb00018.recomendacion,
|
|
otros_com LIKE adtb00018.otros_com,
|
|
num1_emp LIKE adtb00018.num1_emp,
|
|
departamento1 LIKE adtb00018.departamento1,
|
|
nivel1_emp LIKE adtb00018.nivel1_emp,
|
|
cod1_puesto LIKE adtb00018.cod1_puesto,
|
|
num2_emp LIKE adtb00018.num2_emp,
|
|
departamento2 LIKE adtb00018.departamento2,
|
|
nivel2_emp LIKE adtb00018.nivel2_emp,
|
|
cod2_puesto LIKE adtb00018.cod2_puesto
|
|
END RECORD
|
|
|
|
DEFINE contra RECORD
|
|
fech_efec LIKE adtb00019.fech_efec,
|
|
sueldo LIKE adtb00019.sueldo,
|
|
cod_mto LIKE adtb00019.cod_mto,
|
|
sec_mto LIKE adtb00019.sec_mto,
|
|
periodo LIKE adtb00019.periodo
|
|
END RECORD
|
|
|
|
DEFINE acc_per RECORD
|
|
num_trx INTEGER,
|
|
cod_mto LIKE adtb00020.cod_mto,
|
|
|
|
cod_sol INTEGER,
|
|
fecha DATE,
|
|
fech_efec DATE,
|
|
num_emp LIKE adtb00020.num_emp,
|
|
departamento LIKE adtb00020.departamento,
|
|
nivel_emp LIKE adtb00020.nivel_emp,
|
|
cod_puesto LIKE adtb00020.cod_puesto,
|
|
sueldo_ac LIKE adtb00020.sueldo_ac,
|
|
nomina LIKE adtb00020.nomina,
|
|
estado_civil LIKE adtb00020.estado_civil,
|
|
sexo CHAR(1),
|
|
tipo_sangre LIKE adtb00020.tipo_sangre,
|
|
sueldo_lq LIKE adtb00020.sueldo_ac,
|
|
observacion CHAR(60),
|
|
num1_emp LIKE adtb00020.num_emp,
|
|
departamento1 LIKE adtb00020.departamento,
|
|
nivel1_emp LIKE adtb00020.nivel_emp,
|
|
cod1_puesto LIKE adtb00020.cod_puesto,
|
|
num2_emp LIKE adtb00020.num_emp,
|
|
departamento2 LIKE adtb00020.departamento,
|
|
nivel2_emp LIKE adtb00020.nivel_emp,
|
|
cod2_puesto LIKE adtb00020.cod_puesto,
|
|
num3_emp LIKE adtb00020.num_emp,
|
|
departamento3 LIKE adtb00020.departamento,
|
|
nivel3_emp LIKE adtb00020.nivel_emp,
|
|
cod3_puesto LIKE adtb00020.cod_puesto,
|
|
cedula LIKE adtb00038.cedula_n
|
|
END RECORD
|
|
|
|
DEFINE actual RECORD
|
|
num_emp LIKE adtb00003.num_emp,
|
|
departamento LIKE adtb00003.departamento,
|
|
nivel_emp LIKE adtb00003.nivel_emp,
|
|
cod_puesto LIKE adtb00003.cod_puesto,
|
|
nom1_emp LIKE adtb00003.nom1_emp,
|
|
nom2_emp LIKE adtb00003.nom2_emp,
|
|
apell1_emp LIKE adtb00003.apell1_emp,
|
|
apell2_emp LIKE adtb00003.apell2_emp,
|
|
telefono LIKE adtb00003.telefono,
|
|
calle LIKE adtb00003.calle,
|
|
casa_num LIKE adtb00003.casa_num,
|
|
barrio LIKE adtb00003.barrio,
|
|
urbanizacion LIKE adtb00003.urbanizacion,
|
|
estado_civil LIKE adtb00003.estado_civil,
|
|
licencia CHAR(9)
|
|
END RECORD
|
|
|
|
DEFINE nom_puesto,desc_mto CHAR(30)
|
|
DEFINE estado CHAR(15)
|
|
|
|
DEFINE mes1 ARRAY[12] OF CHAR(11)
|
|
DEFINE dias ARRAY[5] OF CHAR(11)
|
|
|
|
DEFINE arrexperiencia DYNAMIC ARRAY OF RECORD
|
|
nombre_empresa VARCHAR(100),
|
|
calle VARCHAR(100),
|
|
urbanizacion VARCHAR(100),
|
|
puesto VARCHAR(100),
|
|
sueldo DEC(12,2),
|
|
contacto VARCHAR(100),
|
|
puesto_contacto VARCHAR(100),
|
|
email_laboral VARCHAR(100),
|
|
url VARCHAR(100),
|
|
telefono_empresa VARCHAR(20),
|
|
fecha_inicio DATE,
|
|
fecha_termino DATE ,
|
|
observacion VARCHAR(100)
|
|
END RECORD
|
|
|
|
DEFINE arridiomas DYNAMIC ARRAY OF RECORD
|
|
id SMALLINT,
|
|
idioma1 VARCHAR(40),
|
|
h_idioma VARCHAR(2),
|
|
l_idioma VARCHAR(2),
|
|
e_idioma VARCHAR(2) ,
|
|
otros_idiomas VARCHAR(100)
|
|
END RECORD
|
|
DEFINE despl_educacion ARRAY[200] OF RECORD
|
|
cod_educa LIKE adtb00005.cod_educa,
|
|
nom_educa LIKE adtb00005.nom_educa
|
|
END RECORD
|
|
|
|
DEFINE busca_nac ARRAY[200] OF RECORD
|
|
cod_nac LIKE adtb00007.cod_nac,
|
|
nom_nac LIKE adtb00007.nom_nac
|
|
END RECORD
|
|
|
|
DEFINE despl_nac ARRAY[200] OF RECORD
|
|
cod_nac LIKE adtb00007.cod_nac,
|
|
nom_nac LIKE adtb00007.nom_nac
|
|
END RECORD
|
|
|
|
DEFINE despl_pericia ARRAY[200] OF RECORD
|
|
cod_pericia LIKE adtb00006.cod_pericia,
|
|
nom_pericia LIKE adtb00006.nom_pericia
|
|
END RECORD
|
|
|
|
DEFINE buscar_pericia ARRAY[200] OF RECORD
|
|
cod_pericia LIKE adtb00006.cod_pericia,
|
|
nom_pericia LIKE adtb00006.nom_pericia
|
|
END RECORD
|
|
|
|
DEFINE despl_depto ARRAY[200] OF RECORD
|
|
departamento LIKE adtb00001.departamento,
|
|
nom_dpto LIKE adtb00001.nom_dpto
|
|
END RECORD
|
|
|
|
|
|
DEFINE despl_prov ARRAY[200] OF RECORD
|
|
cod_provincia LIKE vetb00020.cod_provincia,
|
|
nombre_provincia LIKE vetb00020.nombre_provincia
|
|
END RECORD
|
|
|
|
DEFINE buscar_requi ARRAY[200] OF RECORD
|
|
cod_requi LIKE adtb00008.cod_requi,
|
|
requisito LIKE adtb00008.requisito
|
|
END RECORD
|
|
|
|
DEFINE despl_requi ARRAY[200] OF RECORD
|
|
cod_requi LIKE adtb00008.cod_requi,
|
|
requisito LIKE adtb00008.requisito
|
|
END RECORD
|
|
|
|
DEFINE busca_prov ARRAY[200] OF RECORD
|
|
cod_provincia LIKE vetb00020.cod_provincia,
|
|
nombre_provincia LIKE vetb00020.nombre_provincia
|
|
END RECORD
|
|
|
|
DEFINE despl_prof ARRAY[200] OF RECORD
|
|
cod_prof LIKE adtb00010.cod_prof,
|
|
nom_prof LIKE adtb00010.nom_prof
|
|
END RECORD
|
|
|
|
DEFINE busca_prof ARRAY[200] OF RECORD
|
|
cod_prof LIKE adtb00010.cod_prof,
|
|
nom_prof LIKE adtb00010.nom_prof
|
|
END RECORD
|
|
|
|
|
|
|
|
DEFINE buscar_emp ARRAY[200] OF RECORD
|
|
num_emp LIKE adtb00003.num_emp,
|
|
departamento LIKE adtb00003.departamento,
|
|
nivel_emp LIKE adtb00003.nivel_emp,
|
|
cod_puesto LIKE adtb00003.cod_puesto,
|
|
nom1_emp LIKE adtb00003.nom1_emp,
|
|
nom2_emp LIKE adtb00003.nom2_emp,
|
|
apell1_emp LIKE adtb00003.apell1_emp,
|
|
apell2_emp LIKE adtb00003.apell2_emp
|
|
END RECORD
|
|
|
|
DEFINE despl_emp ARRAY[200] OF RECORD
|
|
num_emp LIKE adtb00003.num_emp,
|
|
departamento LIKE adtb00003.departamento,
|
|
nivel_emp LIKE adtb00003.nivel_emp,
|
|
cod_puesto LIKE adtb00003.cod_puesto,
|
|
nom1_emp LIKE adtb00003.nom1_emp,
|
|
nom2_emp LIKE adtb00003.nom2_emp,
|
|
apell1_emp LIKE adtb00003.apell1_emp,
|
|
apell2_emp LIKE adtb00003.apell2_emp
|
|
END RECORD
|
|
|
|
DEFINE buscar_nivel ARRAY[200] OF RECORD
|
|
nivel_emp LIKE adtb00024.nivel_emp,
|
|
desc_nivel LIKE adtb00024.desc_nivel
|
|
END RECORD
|
|
|
|
DEFINE despl_nivel ARRAY[200] OF RECORD
|
|
nivel_emp LIKE adtb00024.nivel_emp,
|
|
desc_nivel LIKE adtb00024.desc_nivel
|
|
END RECORD
|
|
|
|
DEFINE despl_parece ARRAY[200] OF RECORD
|
|
cod_par LIKE adtb00025.cod_par,
|
|
desc_par LIKE adtb00025.desc_par
|
|
END RECORD
|
|
|
|
DEFINE busca_parece ARRAY[200] OF RECORD
|
|
cod_par LIKE adtb00025.cod_par,
|
|
desc_par LIKE adtb00025.desc_par
|
|
END RECORD
|
|
|
|
DEFINE buscar_movi ARRAY[200] OF RECORD
|
|
cod_mto LIKE adtb00009.cod_mto,
|
|
|
|
desc_mto LIKE adtb00009.desc_mto
|
|
END RECORD
|
|
|
|
DEFINE despl_movi ARRAY[200] OF RECORD
|
|
cod_mto LIKE adtb00009.cod_mto,
|
|
|
|
desc_mto LIKE adtb00009.desc_mto
|
|
END RECORD
|
|
|
|
DEFINE arr_proceso ARRAY[200] OF RECORD
|
|
cod_requi LIKE adtb00018.cod_requi,
|
|
requisito LIKE adtb00008.requisito,
|
|
ind_requi LIKE adtb00018.ind_requi
|
|
END RECORD
|
|
|
|
DEFINE arr_per ARRAY[200] OF RECORD
|
|
cod_pericia SMALLINT,
|
|
nom_pericia LIKE adtb00006.nom_pericia,
|
|
status_per VARCHAR(10)
|
|
END RECORD
|
|
|
|
DEFINE arr_ref DYNAMIC ARRAY OF RECORD
|
|
secuencia INT,
|
|
nom_ref LIKE adtb00014.nom_ref,
|
|
ref_parentesco VARCHAR(30),
|
|
anos_rel CHAR(4),#LIKE adtb00014.anos_rel,
|
|
telefonope LIKE adtb00014.telefono,
|
|
callepe LIKE adtb00014.calle,
|
|
casa_numpe LIKE adtb00014.casa_num,
|
|
urbanizacionpe LIKE adtb00014.urbanizacion
|
|
END RECORD
|
|
|
|
DEFINE arr_educa DYNAMIC ARRAY OF RECORD
|
|
nom_inst LIKE adtb00015.nom_inst,
|
|
calleE LIKE adtb00015.calle,
|
|
casa_numE VARCHAR(10),
|
|
urbanizacionE LIKE adtb00015.urbanizacion,
|
|
cod_educa SMALLINT,
|
|
nom_educa LIKE adtb00005.nom_educa,
|
|
descripcion_curso VARCHAR(100),
|
|
mdalidad VARCHAR(50),
|
|
anosE SMALLINT,
|
|
ano_termE SMALLINT
|
|
|
|
END RECORD
|
|
|
|
DEFINE arr_familiares DYNAMIC ARRAY OF RECORD
|
|
cod_par SMALLINT,
|
|
sec_par SMALLINT,
|
|
nombreF VARCHAR(100),
|
|
cedulaF VARCHAR(11),
|
|
sexof VARCHAR(1),
|
|
fechaF DATE,
|
|
ftelefono VARCHAR(20),
|
|
edad smallint,
|
|
ocupacion VARCHAR(100)
|
|
END RECORD
|
|
|
|
DEFINE arr_control ARRAY[200] OF RECORD
|
|
hora_ent CHAR(5),
|
|
hora_sal CHAR(5)
|
|
END RECORD
|
|
|
|
DEFINE arr_labor DYNAMIC ARRAY OF RECORD
|
|
nom_empr LIKE adtb00016.nom_empr,
|
|
cod_puesto LIKE adtb00016.cod_puesto,
|
|
nom_puesto LIKE adtb00004.nom_puesto,
|
|
calle LIKE adtb00016.calle,
|
|
casa_num LIKE adtb00016.casa_num,
|
|
barrio LIKE adtb00016.barrio,
|
|
urbanizacion LIKE adtb00016.urbanizacion,
|
|
sueldo LIKE adtb00016.sueldo,
|
|
contacto VARCHAR(100),
|
|
puesto_contacto VARCHAR(100),
|
|
email VARCHAR(100),
|
|
url VARCHAR(100),
|
|
telefono VARCHAR(20),
|
|
ano_ini LIKE adtb00016.ano_ini,
|
|
ano_fin LIKE adtb00016.ano_fin,
|
|
desc_retiro LIKE adtb00016.desc_retiro
|
|
END RECORD
|
|
|
|
|
|
DEFINE sexo CHAR(1)
|
|
DEFINE depto RECORD LIKE adtb00001.*
|
|
DEFINE seccion RECORD LIKE adtb00002.*
|
|
DEFINE emplea RECORD LIKE adtb00003.*
|
|
DEFINE puesto RECORD LIKE adtb00004.*
|
|
DEFINE nombre_dpto LIKE adtb00001.nom_dpto
|
|
DEFINE nivel RECORD LIKE adtb00005.*
|
|
DEFINE pericia RECORD LIKE adtb00006.*
|
|
DEFINE nacion RECORD LIKE adtb00007.*
|
|
DEFINE seleccion RECORD LIKE adtb00008.*
|
|
DEFINE mov_emp RECORD LIKE adtb00009.*
|
|
DEFINE profesion RECORD LIKE adtb00010.*
|
|
DEFINE parece RECORD LIKE adtb00013.*
|
|
DEFINE refiere RECORD LIKE adtb00014.*
|
|
DEFINE educacion RECORD LIKE adtb00015.*
|
|
DEFINE labor RECORD LIKE adtb00016.*
|
|
DEFINE adiestra RECORD LIKE adtb00022.*
|
|
DEFINE cont_emp RECORD LIKE adtb00023.*
|
|
DEFINE nivelar RECORD LIKE adtb00024.*
|
|
DEFINE parentesco RECORD LIKE adtb00025.*
|
|
DEFINE amon RECORD LIKE adtb00026.*
|
|
DEFINE provincia RECORD LIKE vetb00020.*
|
|
END GLOBALS
|
|
|
|
FUNCTION busca_empleado()
|
|
OPEN WINDOW busqueda AT 7,10 WITH FORM "adfmwd004"
|
|
ATTRIBUTE (BORDER,FORM LINE FIRST + 2, comment line last)
|
|
CONSTRUCT criterio ON adtb00003.nom1_emp,adtb00003.nom2_emp,
|
|
adtb00003.apell1_emp,adtb00003.apell2_emp
|
|
FROM nom1_emp,nom2_emp,apell1_emp,apell2_emp
|
|
|
|
LET selec1 = "SELECT num_emp,departamento,nivel_emp,cod_puesto, ",
|
|
"nom1_emp,nom2_emp,apell1_emp,apell2_emp FROM adtb00003 ",
|
|
" WHERE ",
|
|
" status_t is null AND ",
|
|
criterio clipped,
|
|
"ORDER BY 1,2,3,4"
|
|
|
|
PREPARE busca1 FROM selec1
|
|
DECLARE local1 CURSOR FOR busca1
|
|
|
|
LET idx = 1
|
|
FOREACH local1 INTO buscar_emp[idx].*
|
|
IF status = NOTFOUND THEN
|
|
LET numero_msg = 3
|
|
CALL msg(numero_msg)
|
|
EXIT FOREACH
|
|
END IF
|
|
|
|
LET despl_emp[idx].num_emp = buscar_emp[idx].num_emp
|
|
LET despl_emp[idx].departamento = buscar_emp[idx].departamento
|
|
LET despl_emp[idx].nivel_emp = buscar_emp[idx].nivel_emp
|
|
LET despl_emp[idx].cod_puesto = buscar_emp[idx].cod_puesto
|
|
LET despl_emp[idx].nom1_emp = buscar_emp[idx].nom1_emp clipped
|
|
LET despl_emp[idx].nom2_emp = buscar_emp[idx].nom2_emp clipped
|
|
LET despl_emp[idx].apell1_emp = buscar_emp[idx].apell1_emp clipped
|
|
LET despl_emp[idx].apell2_emp = buscar_emp[idx].apell2_emp clipped
|
|
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
|
|
CALL set_count(idx-1)
|
|
DISPLAY ARRAY despl_emp TO s_empleado.*
|
|
LET curr1 = arr_curr()
|
|
LET nombre =
|
|
despl_emp[curr1].nom1_emp clipped," ",despl_emp[curr1].nom2_emp clipped," ",
|
|
despl_emp[curr1].apell1_emp clipped," ",despl_emp[curr1].apell2_emp clipped
|
|
|
|
CLOSE WINDOW busqueda
|
|
END FUNCTION
|
|
|
|
FUNCTION contrato()
|
|
DEFINE usuarios RECORD
|
|
us_crea CHAR(9),
|
|
fech_crea LIKE adtb00019.fech_crea
|
|
END RECORD
|
|
|
|
WHENEVER ERROR CONTINUE
|
|
OPEN WINDOW contrato1 AT 10,5 WITH FORM "adfmwd006"
|
|
ATTRIBUTE (BORDER,FORM LINE FIRST + 1, comment line last)
|
|
|
|
IF modifica != "S" THEN
|
|
INPUT BY NAME contra.*
|
|
|
|
AFTER FIELD fech_efec
|
|
IF contra.fech_efec IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fech_efec
|
|
END IF
|
|
|
|
AFTER FIELD sueldo
|
|
IF contra.sueldo IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD sueldo
|
|
END IF
|
|
|
|
AFTER FIELD cod_mto
|
|
IF contra.cod_mto > 1 THEN
|
|
LET numero_msg = 151
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cod_mto
|
|
END IF
|
|
|
|
IF contra.cod_mto IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cod_mto
|
|
END IF
|
|
|
|
AFTER FIELD sec_mto
|
|
IF contra.sec_mto IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD sec_mto
|
|
ELSE
|
|
SELECT @desc_mto INTO mov_emp.desc_mto FROM adtb00009
|
|
WHERE @cod_mto = contra.cod_mto and
|
|
@sec_mto = contra.sec_mto and
|
|
status_t is null
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
LET numero_msg = 3
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cod_mto
|
|
END IF
|
|
|
|
DISPLAY BY NAME mov_emp.desc_mto
|
|
END IF
|
|
|
|
AFTER FIELD periodo
|
|
IF contra.periodo IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD periodo
|
|
END IF
|
|
|
|
AFTER INPUT
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
EXIT INPUT
|
|
END IF
|
|
|
|
IF contra.fech_efec IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fech_efec
|
|
END IF
|
|
|
|
IF contra.sueldo IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD sueldo
|
|
END IF
|
|
|
|
IF contra.cod_mto IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cod_mto
|
|
END IF
|
|
|
|
IF contra.sec_mto IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD sec_mto
|
|
END IF
|
|
|
|
IF contra.periodo IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD periodo
|
|
ELSE
|
|
INSERT INTO adtb00019 VALUES (proceso.cod_sol,contra.fech_efec,
|
|
contra.sueldo,contra.cod_mto,
|
|
contra.sec_mto,contra.periodo,
|
|
null, USER, CURRENT, null, null)
|
|
END IF
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
CLEAR FORM
|
|
END IF
|
|
EXIT INPUT
|
|
END INPUT
|
|
IF int_flag THEN
|
|
LET int_flag = false
|
|
LET verdad = "S"
|
|
GOTO volver
|
|
END IF
|
|
END IF
|
|
|
|
IF modifica = "S" THEN
|
|
# INITIALIZE contra.* TO NULL
|
|
SELECT fech_efec,sueldo,cod_mto,sec_mto,periodo
|
|
INTO contra.fech_efec,contra.sueldo,contra.cod_mto,
|
|
contra.sec_mto,contra.periodo FROM adtb00019
|
|
WHERE cod_sol = proceso.cod_sol and
|
|
status_t is null
|
|
|
|
INPUT BY NAME contra.* WITHOUT DEFAULTS
|
|
|
|
AFTER FIELD fech_efec
|
|
IF contra.fech_efec IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fech_efec
|
|
END IF
|
|
|
|
AFTER FIELD sueldo
|
|
IF contra.sueldo IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD sueldo
|
|
END IF
|
|
|
|
AFTER FIELD cod_mto
|
|
IF contra.cod_mto > 1 THEN
|
|
LET numero_msg = 151
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cod_mto
|
|
END IF
|
|
|
|
IF contra.cod_mto IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cod_mto
|
|
END IF
|
|
|
|
AFTER FIELD sec_mto
|
|
IF contra.sec_mto IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD sec_mto
|
|
ELSE
|
|
SELECT @desc_mto INTO mov_emp.desc_mto FROM adtb00009
|
|
WHERE @cod_mto = contra.cod_mto and
|
|
@sec_mto = contra.sec_mto and
|
|
status_t is null
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
LET numero_msg = 3
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cod_mto
|
|
END IF
|
|
|
|
DISPLAY BY NAME mov_emp.desc_mto
|
|
END IF
|
|
|
|
AFTER FIELD periodo
|
|
IF contra.periodo IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD periodo
|
|
END IF
|
|
|
|
AFTER INPUT
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
CLEAR FORM
|
|
END IF
|
|
EXIT INPUT
|
|
END INPUT
|
|
IF int_flag THEN
|
|
LET int_flag = false
|
|
LET verdad = "S"
|
|
GOTO volver
|
|
END IF
|
|
|
|
UPDATE adtb00019 SET fech_efec = contra.fech_efec,
|
|
sueldo = contra.sueldo,
|
|
cod_mto = contra.cod_mto,
|
|
sec_mto = contra.sec_mto,
|
|
periodo = contra.periodo,
|
|
us_mod = USER,
|
|
fech_mod = CURRENT
|
|
WHERE cod_sol = proceso.cod_sol
|
|
|
|
END IF
|
|
|
|
LABEL volver:
|
|
CLOSE FORM adfmwd006
|
|
CLOSE WINDOW contrato1
|
|
END FUNCTION
|