Diferencia entre revisiones de «Listado de Empleados por Título y Dependencia»
De Wiki
(→INFORME) |
(→Programa "prg_fec_permanencia.prg") |
||
Línea 10: | Línea 10: | ||
− | ===Programa " | + | ===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
Contenido
FORMULARIO
INFORME
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