Diferencia entre revisiones de «Listado de Empleados por Título y Dependencia»

De Wiki
Saltar a: navegación, buscar
(INFORME)
(Programa "prg_fec_permanencia.prg")
Línea 10: Línea 10:
  
  
===Programa "prg_fec_permanencia.prg"===
+
===Programa "ver_titulos_empleados.prg"===
  
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *--PARAMETROS DEL PROGRAMA--------------------------------------------------------------------------------
 +
  PARAMETERS dependencia,titulo,mesFinanc,anioFinanc,flagBuscarPorPeriodo
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *--SACO LA FECHA ACTUAL-----------------------------------------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  **Se utilizara la fecha actual para poder verificar que la fecha de baja del empleado es superior
 +
  **a la de la emisión del informe.
 +
  CLEAR
 +
  CLOSE TABLES all
 +
  SET CENTURY ON
 +
  SET DATE TO french
 +
  **Se recupera fecha del sistema, que serán utilizados para el proceso de recuperación de
 +
  **empleados.
 +
  fecha="'" + alltrim(str(year(date()))) +"-"+ padl(alltrim(str(month(date()))),2,"0")+"-01'"
 +
 
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *--LLAMO AL CARTEL DE ESPERA------------------------------------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  procesando=vm_formularios+"frmprocesando.scx"
 +
  DO FORM &procesando
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *--TRAIGO LOS DATOS DE LAS TABLAS DH01,DH03,DH06 y DH33---------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  **Tabla DH01**
 +
  consulta01="select nro_legaj,desc_appat,desc_nombr";
 +
  +" from dh01";
 +
 
 +
  nom01=SYS(3)
 +
  CREATE SQL VIEW &nom01;
 +
  CONNECTION con_pampasql;
 +
  AS &consulta01
 +
  SELE SELE(1)
 +
  USE &nom01 ALIAS v01
 +
  *Creo Tabla
 +
  tabla01=vm_bases_informes+"dh01Activos"
 +
  *Creo Consulta
 +
  SELECT *;
 +
  FROM v01;
 +
  ORDER BY v01.nro_legaj;
 +
  INTO TABLE &tabla01
 +
  *Destruyo Vista
 +
  SELECT v01
 +
  USE
 +
  DROP VIEW &nom01
 +
 
 +
  *---------------------------------------------------------------------------------------------------------
 +
  **Tabla DH03**
 +
  consulta03="select distinct nro_legaj,codc_uacad";
 +
  +" from dh03";
 +
  +" where dh03.fec_baja>="+fecha+" or dh03.fec_baja is NULL";
 +
 
 +
  nom03=SYS(3)
 +
  CREATE SQL VIEW &nom03;
 +
  CONNECTION con_pampasql;
 +
  AS &consulta03
 +
  SELE SELE(1)
 +
  USE &nom03 ALIAS v03
 +
  *Creo Tabla
 +
  tabla03=vm_bases_informes+"dh03Activos"
 +
  *Creo Consulta
 +
  SELECT *;
 +
  FROM v03;
 +
  ORDER BY v03.nro_legaj;
 +
  INTO TABLE &tabla03
 +
  *Destruyo Vista
 +
  SELECT v03
 +
  USE
 +
  DROP VIEW &nom03
 +
 
 +
  *---------------------------------------------------------------------------------------------------------
 +
  **Tabla DH06**
 +
 
 +
  consulta06="select nro_legaj,codc_titul,fec_emisi,cant_anos,sino_liqui,idtituloona,mes_financ,anio_financ";
 +
  +" from dh06"
 +
 
 +
  nom06=SYS(3)
 +
  CREATE SQL VIEW &nom06;
 +
  CONNECTION con_pampasql;
 +
  AS &consulta06
 +
  SELECT SELECT (1)
 +
  USE &nom06 ALIAS v06
 +
  *Creo Tabla
 +
  tabla06=vm_bases_informes+"dh06Activos"
 +
  *Creo Consulta
 +
  SELECT *;
 +
  FROM v06;
 +
  ORDER BY v06.nro_legaj;
 +
  INTO TABLE &tabla06
 +
  *Destruyo Vista
 +
  SELECT v06
 +
  USE
 +
  DROP VIEW &nom06
 +
 
 +
  *SELECT dh06Activos
 +
  *BROWSE
 +
  *---------------------------------------------------------------------------------------------------------
 +
  **Tabla DH33**
 +
  consulta33="select codc_titul,desc_titul,codc_nivel";
 +
  +" from dh33"
 +
 
 +
  nom33=SYS(3)
 +
  CREATE SQL VIEW &nom33;
 +
  CONNECTION con_pampasql;
 +
  AS &consulta33
 +
  SELECT SELECT (1)
 +
  USE &nom33 ALIAS v33
 +
  *Creo Tabla
 +
  tabla33=vm_bases_informes+"dh33Activos"
 +
  *Creo Consulta
 +
  SELECT *;
 +
  FROM v33;
 +
  ORDER BY v33.codc_titul;
 +
  INTO TABLE &tabla33
 +
  *Destruyo Vista
 +
  SELECT v33
 +
  USE
 +
  DROP VIEW &nom33
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *--CREO LA TRABLA EMPLEADOS POR DEPENDENCIA CON FILTRO POR TITULO DEL COMBO DEL FORMULARIO----------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  tabla1=vm_bases_informes+"tituloSeleccionado"
 +
 
 +
  IF(titulo=="TODOS")
 +
  IF(flagBuscarPorPeriodo==1)
 +
  condWhere="dh03Activos.codc_uacad=dependencia AND dh06Activos.anio_Finan>="+ALLTRIM(anioFinanc)+" AND   
 +
                dh06Activos.mes_Financ>="+ALLTRIM(mesFinanc)
 +
  ELSE
 +
    condWhere="dh03Activos.codc_uacad=dependencia"
 +
  ENDIF
 +
  ELSE
 +
  IF(flagBuscarPorPeriodo==1)
 +
  condWhere="dh06Activos.codc_titul=titulo AND dh03Activos.codc_uacad=dependencia AND 
 +
                dh06Activos.anio_Finan>="+ALLTRIM(anioFinanc)+" AND dh06Activos.mes_Financ>="+ALLTRIM(mesFinanc)
 +
  ELSE
 +
  condWhere="dh06Activos.codc_titul=titulo AND dh03Activos.codc_uacad=dependencia"
 +
  ENDIF
 +
  ENDIF
 +
 
 +
  SELECT *;
 +
  FROM dh01Activos INNER JOIN(dh03Activos INNER JOIN;
 +
      (dh06Activos INNER JOIN dh33Activos;
 +
        ON dh06Activos.codc_titul=dh33Activos.codc_titul);
 +
        ON dh03Activos.nro_legaj=dh06Activos.nro_legaj);
 +
        ON dh01Activos.nro_legaj=dh06Activos.nro_legaj;
 +
  WHERE &condWhere;
 +
  ORDER BY dh06Activos.nro_legaj;
 +
  INTO TABLE &tabla1
 +
 
 +
  *SELECT tituloSeleccionado
 +
  *BROWSE
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *--CREO LA TRABLA EMPLEADOS POR DEPENDENCIA - MOSTRANDO SOLO LOS TITULOS DESCRIPTIVOS---------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  tabla2=vm_bases_informes+"titulosDescriptivos"
 +
 
 +
  IF(titulo<>"TODOS")
 +
  SELECT *;
 +
  FROM dh01Activos INNER JOIN(dh03Activos INNER JOIN;
 +
  (dh06Activos INNER JOIN dh33Activos;
 +
  ON dh06Activos.codc_titul=dh33Activos.codc_titul);
 +
  ON dh03Activos.nro_legaj=dh06Activos.nro_legaj);
 +
  ON dh01Activos.nro_legaj=dh06Activos.nro_legaj;
 +
  WHERE dh03Activos.codc_uacad=dependencia AND ALLTRIM(dh33Activos.codc_titul)<>"TITA";
 +
  AND ALLTRIM(dh33Activos.codc_titul)<>"TITB" AND ALLTRIM(dh33Activos.codc_titul)<>"TITC";
 +
  AND ALLTRIM(dh33Activos.codc_titul)<>"TITD" AND ALLTRIM(dh33Activos.codc_titul)<>"DOCF";
 +
  AND ALLTRIM(dh33Activos.codc_titul)<>"MAEF" AND ALLTRIM(dh33Activos.codc_titul)<>"ESPF";
 +
  AND ALLTRIM(dh33Activos.codc_titul)<>"DOCT" AND ALLTRIM(dh33Activos.codc_titul)<>"MAGI";
 +
  AND ALLTRIM(dh33Activos.codc_titul)<>"ESPE";
 +
  ORDER BY dh06Activos.nro_legaj;
 +
  INTO TABLE &tabla2
 +
  ENDIF
 +
 
 +
  *SELECT titulosDescriptivos
 +
  *BROWSE
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *--FILTRO LA TABLA DE TITULOS DESCRIPTIVOS----------------------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  tablaDescripFiltro=vm_bases_informes+"descriptivosFiltrados"
 +
 
 +
  IF(titulo<>"TODOS")
 +
  SELECT *;
 +
  FROM titulosDescriptivos;
 +
  WHERE nro_legaj_ IN(SELECT nro_legaj_ FROM tituloSeleccionado);
 +
  INTO TABLE &tablaDescripFiltro
 +
  ENDIF
 +
 
 +
  *SELECT descriptivosFiltrados
 +
  *BROWSE
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *--CREO LA TRABLA EMPLEADOS POR DEPENDENCIA - DESORDENADA-------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  tablaGralDesordenada=vm_bases_informes+"estudioEmpDesordenada"
 +
 
 +
  IF(titulo<>"TODOS")
 +
  SELECT *;
 +
  FROM tituloSeleccionado;
 +
  UNION;
 +
  SELECT *;
 +
  FROM descriptivosFiltrados;
 +
  INTO TABLE &tablaGralDesordenada
 +
  ENDIF
 +
 
 +
  *SELECT estudioEmpDesordenada
 +
  *BROWSE
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *--CREO LA TRABLA EMPLEADOS POR DEPENDENCIA - ORDENADA----------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  tablaGral=vm_bases_informes+"estudioEmp"
 +
 
 +
  IF(titulo=="TODOS")
 +
  SELECT *;
 +
  FROM tituloSeleccionado;
 +
  ORDER BY nro_legaj_;
 +
  INTO TABLE &tablaGral
 +
  ELSE
 +
  SELECT *;
 +
  FROM estudioEmpDesordenada;
 +
  ORDER BY nro_legaj_;
 +
  INTO TABLE &tablaGral
 +
  ENDIF
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *--CIERRO EL CARTEL DE ESPERA------------------------------------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  frmprocesando.release
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *--MUESTRO LA TABLA GENERAL-------------------------------------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *SELECT estudioEmp
 +
  *BROWSE
 +
  *---------------------------------------------------------------------------------------------------------
 +
  *--MUESTRO EL REPORTE FINAL-------------------------------------------------------------------------------
 +
  *---------------------------------------------------------------------------------------------------------
 +
  IF(RECCOUNT("estudioEmp")==0)
 +
  MESSAGEBOX("Su consulta no genero resultados")
 +
  ELSE
 +
  informe=vm_informes+"frx_titulo_emp_depen.frx"
 +
  report form &informe preview
 +
  ENDIF
  
 
===Botón "Procesar" (btnProcesar)===
 
===Botón "Procesar" (btnProcesar)===

Revisión del 10:09 31 ene 2012

FORMULARIO

Fmr Emp por Titulo y Dependencia.PNG

INFORME

Frx titulo emp depen.PNG

CÓDIGO

Programa "ver_titulos_empleados.prg"

  *---------------------------------------------------------------------------------------------------------
  *--PARAMETROS DEL PROGRAMA--------------------------------------------------------------------------------
  PARAMETERS dependencia,titulo,mesFinanc,anioFinanc,flagBuscarPorPeriodo
  *---------------------------------------------------------------------------------------------------------
  *--SACO LA FECHA ACTUAL-----------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  **Se utilizara la fecha actual para poder verificar que la fecha de baja del empleado es superior
  **a la de la emisión del informe.
  CLEAR
  CLOSE TABLES all
  SET CENTURY ON
  SET DATE TO french
  **Se recupera fecha del sistema, que serán utilizados para el proceso de recuperación de
  **empleados.
  fecha="'" + alltrim(str(year(date()))) +"-"+ padl(alltrim(str(month(date()))),2,"0")+"-01'"
  
  *---------------------------------------------------------------------------------------------------------
  *--LLAMO AL CARTEL DE ESPERA------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  procesando=vm_formularios+"frmprocesando.scx"
  DO FORM &procesando
  *---------------------------------------------------------------------------------------------------------
  *--TRAIGO LOS DATOS DE LAS TABLAS DH01,DH03,DH06 y DH33---------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  **Tabla DH01**
  consulta01="select nro_legaj,desc_appat,desc_nombr";
  		+" from dh01";
  		
  nom01=SYS(3)
  CREATE SQL VIEW &nom01;
  CONNECTION con_pampasql;
  AS &consulta01
  SELE SELE(1)
  USE &nom01 ALIAS v01
  *Creo Tabla
  tabla01=vm_bases_informes+"dh01Activos"
  *Creo Consulta
  SELECT *;
  FROM v01;
  ORDER BY v01.nro_legaj;
  INTO TABLE &tabla01
  *Destruyo Vista
  SELECT v01
  USE 
  DROP VIEW &nom01
  
  *---------------------------------------------------------------------------------------------------------
  **Tabla DH03**
  consulta03="select distinct nro_legaj,codc_uacad";
  		+" from dh03";
  		+" where dh03.fec_baja>="+fecha+" or dh03.fec_baja is NULL";
  		
  nom03=SYS(3)
  CREATE SQL VIEW &nom03;
  CONNECTION con_pampasql;
  AS &consulta03
  SELE SELE(1)
  USE &nom03 ALIAS v03
  *Creo Tabla
  tabla03=vm_bases_informes+"dh03Activos"
  *Creo Consulta
  SELECT *;
  FROM v03;
  ORDER BY v03.nro_legaj;
  INTO TABLE &tabla03
  *Destruyo Vista
  SELECT v03
  USE 
  DROP VIEW &nom03
  
  *---------------------------------------------------------------------------------------------------------
  **Tabla DH06**
  
  consulta06="select nro_legaj,codc_titul,fec_emisi,cant_anos,sino_liqui,idtituloona,mes_financ,anio_financ";
  		+" from dh06"
  
  nom06=SYS(3)
  CREATE SQL VIEW &nom06;
  CONNECTION con_pampasql;
  AS &consulta06
  SELECT SELECT (1)
  USE &nom06 ALIAS v06
  *Creo Tabla
  tabla06=vm_bases_informes+"dh06Activos"
  *Creo Consulta
  SELECT *;
  FROM v06;
  ORDER BY v06.nro_legaj;
  INTO TABLE &tabla06
  *Destruyo Vista
  SELECT v06
  USE 
  DROP VIEW &nom06
  
  *SELECT dh06Activos
  *BROWSE
  *---------------------------------------------------------------------------------------------------------
  **Tabla DH33**
  consulta33="select codc_titul,desc_titul,codc_nivel";
  		+" from dh33"
  
  nom33=SYS(3)
  CREATE SQL VIEW &nom33;
  CONNECTION con_pampasql;
  AS &consulta33
  SELECT SELECT (1)
  USE &nom33 ALIAS v33
  *Creo Tabla
  tabla33=vm_bases_informes+"dh33Activos"
  *Creo Consulta
  SELECT *;
  FROM v33;
  ORDER BY v33.codc_titul;
  INTO TABLE &tabla33
  *Destruyo Vista
  SELECT v33
  USE 
  DROP VIEW &nom33
  *---------------------------------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  *--CREO LA TRABLA EMPLEADOS POR DEPENDENCIA CON FILTRO POR TITULO DEL COMBO DEL FORMULARIO----------------
  *---------------------------------------------------------------------------------------------------------
  tabla1=vm_bases_informes+"tituloSeleccionado"
  
  IF(titulo=="TODOS")
  	IF(flagBuscarPorPeriodo==1)
  		condWhere="dh03Activos.codc_uacad=dependencia AND dh06Activos.anio_Finan>="+ALLTRIM(anioFinanc)+" AND    
               dh06Activos.mes_Financ>="+ALLTRIM(mesFinanc)
  	ELSE
  	   	condWhere="dh03Activos.codc_uacad=dependencia"
  	ENDIF
  ELSE
  	IF(flagBuscarPorPeriodo==1)
  		condWhere="dh06Activos.codc_titul=titulo AND dh03Activos.codc_uacad=dependencia AND  
               dh06Activos.anio_Finan>="+ALLTRIM(anioFinanc)+" AND dh06Activos.mes_Financ>="+ALLTRIM(mesFinanc)
  	ELSE
  		condWhere="dh06Activos.codc_titul=titulo AND dh03Activos.codc_uacad=dependencia"
  	ENDIF
  ENDIF
  
  SELECT *;
  FROM dh01Activos INNER JOIN(dh03Activos INNER JOIN;
      (dh06Activos INNER JOIN dh33Activos;
       ON dh06Activos.codc_titul=dh33Activos.codc_titul);
       ON dh03Activos.nro_legaj=dh06Activos.nro_legaj);
       ON dh01Activos.nro_legaj=dh06Activos.nro_legaj;
  WHERE &condWhere; 
  ORDER BY dh06Activos.nro_legaj;
  INTO TABLE &tabla1
  
  *SELECT tituloSeleccionado
  *BROWSE 
  *---------------------------------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  *--CREO LA TRABLA EMPLEADOS POR DEPENDENCIA - MOSTRANDO SOLO LOS TITULOS DESCRIPTIVOS---------------------
  *---------------------------------------------------------------------------------------------------------
  tabla2=vm_bases_informes+"titulosDescriptivos"
  
  IF(titulo<>"TODOS")
  	SELECT *;
  	FROM dh01Activos INNER JOIN(dh03Activos INNER JOIN;
  	(dh06Activos INNER JOIN dh33Activos;
  	ON dh06Activos.codc_titul=dh33Activos.codc_titul);
  	ON dh03Activos.nro_legaj=dh06Activos.nro_legaj);
  	ON dh01Activos.nro_legaj=dh06Activos.nro_legaj; 
  	WHERE dh03Activos.codc_uacad=dependencia AND ALLTRIM(dh33Activos.codc_titul)<>"TITA";
  	AND ALLTRIM(dh33Activos.codc_titul)<>"TITB" AND ALLTRIM(dh33Activos.codc_titul)<>"TITC";
  	AND ALLTRIM(dh33Activos.codc_titul)<>"TITD" AND ALLTRIM(dh33Activos.codc_titul)<>"DOCF";
  	AND ALLTRIM(dh33Activos.codc_titul)<>"MAEF" AND ALLTRIM(dh33Activos.codc_titul)<>"ESPF";
  	AND ALLTRIM(dh33Activos.codc_titul)<>"DOCT" AND ALLTRIM(dh33Activos.codc_titul)<>"MAGI"; 
  	AND ALLTRIM(dh33Activos.codc_titul)<>"ESPE";
  	ORDER BY dh06Activos.nro_legaj;
  	INTO TABLE &tabla2
  ENDIF
  
  *SELECT titulosDescriptivos
  *BROWSE
  *---------------------------------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  *--FILTRO LA TABLA DE TITULOS DESCRIPTIVOS----------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  tablaDescripFiltro=vm_bases_informes+"descriptivosFiltrados"
  
  IF(titulo<>"TODOS")
  	SELECT *;
  	FROM titulosDescriptivos;
  	WHERE nro_legaj_ IN(SELECT nro_legaj_ FROM tituloSeleccionado);
  	INTO TABLE &tablaDescripFiltro
  ENDIF
  
  *SELECT descriptivosFiltrados
  *BROWSE
  *---------------------------------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  *--CREO LA TRABLA EMPLEADOS POR DEPENDENCIA - DESORDENADA-------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  tablaGralDesordenada=vm_bases_informes+"estudioEmpDesordenada"
  
  IF(titulo<>"TODOS")
  	SELECT *;
  	FROM tituloSeleccionado;
  	UNION;
  	SELECT *;
  	FROM descriptivosFiltrados;
  	INTO TABLE &tablaGralDesordenada
  ENDIF
  
  *SELECT estudioEmpDesordenada
  *BROWSE
  *---------------------------------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  *--CREO LA TRABLA EMPLEADOS POR DEPENDENCIA - ORDENADA----------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  tablaGral=vm_bases_informes+"estudioEmp"
  
  IF(titulo=="TODOS")
  	SELECT *;
  	FROM tituloSeleccionado;
  	ORDER BY nro_legaj_;
  	INTO TABLE &tablaGral
  ELSE
  	SELECT *;
  	FROM estudioEmpDesordenada;
  	ORDER BY nro_legaj_;
  	INTO TABLE &tablaGral
  ENDIF
  *---------------------------------------------------------------------------------------------------------
  *--CIERRO EL CARTEL DE ESPERA------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  frmprocesando.release
  *---------------------------------------------------------------------------------------------------------
  *--MUESTRO LA TABLA GENERAL-------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  *SELECT estudioEmp
  *BROWSE
  *---------------------------------------------------------------------------------------------------------
  *--MUESTRO EL REPORTE FINAL-------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  IF(RECCOUNT("estudioEmp")==0)
  	MESSAGEBOX("Su consulta no genero resultados")
  ELSE
  	informe=vm_informes+"frx_titulo_emp_depen.frx"
  	report form &informe preview
  ENDIF

Botón "Procesar" (btnProcesar)

Botón "Cancelar" (btnCancelar)

  THISFORM.Release

Botón "Ayuda"(btnAyuda)

Combo "Año" (cmbAnio)

Combo "Mes" (cmbMes)

MANUAL DEL USUARIO

Procedimiento de Uso