Listado de Control de Fecha de Permanencia

De Wiki
Revisión del 09:47 31 ene 2012 de Mwilson (Discusión | contribuciones) (Botón "Procesar" (btnProcesar))

Saltar a: navegación, buscar

FORMULARIO

Fmr Fec Permanencia.PNG

INFORME

Frx fec permanencia.PNG

CÓDIGO

Programa "prg_fec_permanencia.prg"

  *---------------------------------------------------------------------------------------------------------
  *--Parametros del Programa--------------------------------------------------------------------------------
  PARAMETERS mesVigente,anioVigente
  *---------------------------------------------------------------------------------------------------------
  *--Rutina de Inicialización-------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  CLEAR
  CLOSE TABLES all
  SET CENTURY ON
  SET DATE TO french
  **Se construye la variable fecha a partir de los campos "Mes" y "Año" que se completan en el formulario.
  **Dicha fecha será utilizada para traer los empleados que esten activos al periodo de busqueda.
  fecha="{^"+ALLTRIM(anioVigente)+"-"+PADL(ALLTRIM(mesVigente),2,"0")+"-01}"
  
  PUBLIC periodoVigente
  periodoVigente=ALLTRIM(mesVigente)+"/"+ALLTRIM(anioVigente)
  *---------------------------------------------------------------------------------------------------------
  *--Llamo a la pantalla de espera--------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  procesando=vm_formularios+"frmprocesando.scx"
  DO FORM &procesando
  *---------------------------------------------------------------------------------------------------------
  *--Traigo los datos de las tablas DH01 y DH03-------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  **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;
  INTO TABLE &tabla01
  *Destruyo Vista
  SELECT v01
  USE 
  DROP VIEW &nom01
  
  *SELECT dh01Activos
  *BROWSE
  *---------------------------------------------------------------------------------------------------------
  **Tabla DH03**
  consulta03="select nro_legaj,fec_alta,fec_baja,codc_categ,fechapermanencia";
  		+" from dh03";
  	
  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;
  INTO TABLE &tabla03
  *Destruyo Vista
  SELECT v03
  USE 
  DROP VIEW &nom03
  
  *SELECT dh03Activos
  *BROWSE
  *---------------------------------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  *--Creo la Tabla Final------------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  tablaFinal=vm_bases_informes+"fechaPermanencia"
  
  SELECT *;
  FROM dh01Activos INNER JOIN dh03Activos;
  ON dh01Activos.nro_legaj=dh03Activos.nro_legaj; 
  WHERE (dh03Activos.fec_baja>=&fecha OR dh03Activos.fec_baja IS NULL);
  AND (VAL(dh03Activos.codc_categ) IN (3661,3662,3663,3664,3665,3666,3667,1,2,3,4,5,6,7,8,9,10,11));
  AND (dh03Activos.fechaperma<>dh03Activos.fec_alta OR dh03Activos.fechaperma IS NULL);
  ORDER BY dh01Activos.nro_legaj;
  INTO TABLE &tablaFinal
  *---------------------------------------------------------------------------------------------------------
  *--CIERRO EL CARTEL DE ESPERA------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  frmprocesando.release
  *---------------------------------------------------------------------------------------------------------
  *--MUESTRO LA TABLA GENERAL-------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  *SELECT fechaPermanencia
  *BROWSE
  *---------------------------------------------------------------------------------------------------------
  *--MUESTRO EL REPORTE FINAL-------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  IF(RECCOUNT("fechaPermanencia")==0)
  	MESSAGEBOX("Su consulta no genero resultados")
  ELSE
  	informe=vm_informes+"frx_fec_permanencia.frx"
  	report form &informe preview
  ENDIF

Botón "Procesar" (btnProcesar)

  *---------------------------------------------------------------------------------------------------------
  *--CAPTURO LOS VALORES DE LOS COMBO QUE SERAN PASADO AL PROGRAMA COMO PARAMETRO---------------------------
  *---------------------------------------------------------------------------------------------------------
  mesVigencia=THISFORM.cmbMes.value
  anioVigencia=THISFORM.cmbAnio.value
  *---------------------------------------------------------------------------------------------------------
  *--LLAMO AL PROGRAMA--------------------------------------------------------------------------------------
  *---------------------------------------------------------------------------------------------------------
  programa=vm_programas + "prg_fec_permanencia.prg"
  DO &programa WITH mesVigencia,anioVigencia

Botón "Cancelar" (btnCancelar)

Botón "Ayuda"(btnAyuda)

Combo "Año" (cmbAnio)

Combo "Mes" (cmbMes)

MANUAL DEL USUARIO

Procedimiento de Uso