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

217 lines
5.2 KiB
Plaintext

GLOBALS
"noprgb000.4gl"
FUNCTION proceso()
LET formulario = NULL
#LET formulario = FGL_GETENV("FORMS") CLIPPED,"\\nodir\\" CLIPPED,"nofmrp001"
OPEN WINDOW procesa AT 13,8 WITH FORM "nofmpc001" ATTRIBUTE(BORDER,
FORM LINE FIRST + 1,
MESSAGE LINE LAST)
#LET formulario = FGL_GETENV("FORMS") CLIPPED,"\\nodir\\"
LET per_nomi.num_nomi = NULL
LET per_nomi.tipo_emp = NULL
INPUT BY NAME per_nomi.num_nomi,per_nomi.tipo_emp
AFTER FIELD tipo_emp
SELECT UNIQUE a.tipo_emp FROM notb00010 a
WHERE a.num_nomi = per_nomi.num_nomi AND
a.tipo_emp = per_nomi.tipo_emp
IF STATUS = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
NEXT FIELD tipo_emp
END IF
END INPUT
IF not int_flag THEN
MESSAGE "En Proceso..."
UPDATE notb00010 SET status_t = NULL,
us_mod = user,
fech_mod = current
WHERE num_nomi = per_nomi.num_nomi AND
tipo_emp = per_nomi.tipo_emp
END IF
MESSAGE " "
CLOSE WINDOW procesa
END FUNCTION
FUNCTION nolocalidades()
DEFINE klocalidad SMALLINT,kdescripcion CHAR(30)
#LET pcondicion = ui.combobox.forname("formonly.cond_pago")
DECLARE busca_local CURSOR FOR
SELECT a.sucid,a.sucnombre FROM sucursales a
CALL plocalidad.clear()
FOREACH busca_local INTO klocalidad,kdescripcion
CALL plocalidad.additem(klocalidad,kdescripcion)
END FOREACH
END FUNCTION
FUNCTION paises()
DEFINE ppais SMALLINT,pdescripcion CHAR(30)
DECLARE busca_pais CURSOR FOR
SELECT a.cod_zona,a.descrip FROM vetb00008 a
CALL kpais.clear()
FOREACH busca_PAIS INTO ppais,pdescripcion
CALL kpais.additem(ppais,pdescripcion)
END FOREACH
END FUNCTION
FUNCTION ciudades(pcodPais)
DEFINE pciudad SMALLINT,pdescripcion CHAR(30),
pcodPais SMALLINT
DECLARE busca_ciudad CURSOR FOR
SELECT a.cod_provincia,a.nombre_provincia FROM vetb00020 a,vetb00009 b
WHERE a.cod_provincia = b.cod_provincia AND
b.cod_zona = pcodPais
CALL kciudad.clear()
FOREACH busca_ciudad INTO pciudad,pdescripcion
CALL kciudad.additem(pciudad,pdescripcion)
END FOREACH
END FUNCTION
{
FUNCTION departamentos()
DEFINE pdepartamento SMALLINT,pdescripcion CHAR(30),
kdepto ui.ComboBox
LET kdepto = ui.ComboBox.forName("formonly.departamento")
CALL kdepto.clear()
DECLARE busca_dpto CURSOR FOR
SELECT a.departamento,a.nom_dpto FROM adtb00001 a
WHERE a.status_t IS NULL
ORDER BY a.nom_dpto
FOREACH busca_dpto INTO pdepartamento,pdescripcion
CALL kdepto.additem(pdepartamento,pdescripcion)
END FOREACH
END FUNCTION
}
FUNCTION puestos()
DEFINE pPuestos SMALLINT,pdescripcion CHAR(30)
LET kpuesto=ui.ComboBox.forName("formonly.cod_puesto")
CALL kpuesto.clear()
DECLARE busca_puestos CURSOR FOR
SELECT a.cod_puesto,a.nom_puesto FROM adtb00004 a
WHERE a.status_t IS NULL
ORDER BY a.nom_puesto
FOREACH busca_puestos INTO pPuestos,pdescripcion
CALL kpuesto.additem(pPuestos,pdescripcion)
END FOREACH
END FUNCTION
FUNCTION nivel_educacion()
DEFINE pNivel SMALLINT,pdescripcion CHAR(30)
LET knivel = ui.ComboBox.forName("formonly.nivel_emp")
CALL knivel.clear()
DECLARE busca_nivel CURSOR FOR
SELECT a.cod_educa,a.nom_educa FROM adtb00005 a
WHERE a.status_t IS NULL
CALL knivel.clear()
FOREACH busca_nivel INTO pnivel,pdescripcion
CALL knivel.additem(pnivel,pdescripcion)
END FOREACH
END FUNCTION
FUNCTION nacionalidad()
DEFINE pcod_nac SMALLINT,pdescripcion CHAR(30)
CALL knac.clear()
DECLARE busca_nac CURSOR FOR
SELECT a.cod_nac,a.nom_nac FROM adtb00007 a
WHERE a.status_t IS null
FOREACH busca_nac INTO pcod_nac,pdescripcion
CALL knac.additem(pcod_nac,pdescripcion)
END FOREACH
END FUNCTION
FUNCTION parientes()
DEFINE pcod_par SMALLINT, pdesc_par char(11)
CALL kpar.clear()
DECLARE busca_parientes CURSOR FOR
SELECT a.cod_par,a.desc_par FROM adtb00025 a
FOREACH busca_parientes INTO pcod_par,pdesc_par
CALL kpar.additem(pcod_par,pdesc_par)
END FOREACH
END FUNCTION
FUNCTION busca_depto()
DEFINE buscar_depto DYNAMIC ARRAY OF RECORD
departamento SMALLINT,
nom_dpto VARCHAR(50)
END RECORD,
xdepto SMALLINT,
xnombre VARCHAR(50)
OPEN WINDOW busqueda AT 10,10 WITH FORM "adfmwd001"
ATTRIBUTE (BORDER,FORM LINE FIRST + 2, comment line last)
CONSTRUCT criterio ON adtb00001.nom_dpto FROM adtb00001.nom_dpto
LET selec1 = "SELECT departamento,nom_dpto FROM adtb00001 ",
" WHERE ",
" status_t is null AND ",
criterio clipped,
"ORDER BY 1 "
PREPARE busco FROM selec1
DECLARE local CURSOR FOR busco
LET idx = 1
FOREACH local INTO buscar_depto[idx].*
IF status = NOTFOUND THEN
LET numero_msg = 3
CALL msg(numero_msg)
EXIT FOREACH
END IF
LET idx = idx + 1
END FOREACH
CALL set_count(idx-1)
DISPLAY ARRAY buscar_depto TO s_depto.*
LET idx = arr_curr()
LET xdepto = buscar_depto[idx].departamento
LET xnombre = buscar_depto[idx].nom_dpto
CLOSE WINDOW busqueda
RETURN xdepto,xnombre
END FUNCTION