Es muy común ver la fecha en formas pero no tanto así la hora respectiva corriendo, este proceso es muy fácil de crear y solo se necesitan realizar 3 pasos:
1-When-Timer-Expired
2-When-New-Form-Instance
3-Pre-Form
*********************************************************************************
--Código When-New-Form-Instance
declare
TiempoActual TIMER;
Xseg CONSTANT NUMBER := 1000;
begin
TiempoActual:=CREATE_TIMER('TIEMPOACTUAL',Xseg,REPEAT);
Select add_months(sysdate,-1) into :BL_FECHAS.FECHA_DESDE
From dual;
Select sysdate into :BL_FECHAS.FECHA_HASTA
From dual;
select * into :BL_FECHAS.user
from global_name;
end;
*********************************************************************************
--Código When-Timer-Expired
declare
Timer_Expired varchar2(30);
Lv_temporizador TIMER;
Temporizador VARCHAR2(40) := Get_Application_Property(TIMER_NAME);
Lv_tiempo Varchar2(30) :=:SYSTEM.CURRENT_DATETIME;
Lv_tiempo2 Varchar2(30);
begin
SELECT ADD_MONTHS(SYSDATE,-1)INTO Lv_tiempo2
FROM DUAL;
IF Temporizador='TIEMPOACTUAL' THEN
:BL_FECHAS.FECHA_HASTA:=Lv_tiempo;
:BL_FECHAS.FECHA_DESDE:=Lv_tiempo2;
END IF;
end;
*********************************************************************************
--Código Pre-Form
set_application_property(PLSQL_DATE_FORMAT, 'DD/MM/YYYY HH24:MI:SS');
set_application_property(BUILTIN_DATE_FORMAT, 'DD/MM/YYYY HH24:MI:SS');
forms_ddl('ALTER SESSION SET NLS_DATE_FORMAT = ''DD/MM/YYYY HH24:MI:SS''');
*********************************************************************************
Notas: Los campos del bloque fecha no son de base de datos ni tipo Date, no se debe de permitir ni inserción ni actualización.
El Lienzo es muy sencillo y busca de manera gráfica mostrar de la forma más fácil el ejemplo mostrado.
El campo Fecha_Desde viene cargado con la fecha menos un mes, y la Fecha_Hasta que viene cargado con la hora actual.
Timer10g.fmb
No hay comentarios:
Publicar un comentario