【问题标题】:Can I set two different timers inside one trigger in Oracle Forms?我可以在 Oracle Forms 的一个触发器中设置两个不同的计时器吗?
【发布时间】:2021-11-15 15:40:37
【问题描述】:

我有一个表单,上面有一个 When New Form Instance Trigger,所以我想知道如何在该触发器上设置两个具有不同长度的不同计时器,当它们结束时执行不同的操作?

我的尝试:

WHEN_NEW_FORM_INSTANCE

DECLARE    
  timer_pocetak TIMER;
  timer_zatvori TIMER;    
BEGIN    
  timer_pocetak:= CREATE_TIMER('POCETAK',60000,NO_REPEAT);   
  timer_zatvori:= CREATE_TIMER('KRAJ',270000,NO_REPEAT);    
end;

WHEN_TIMER_EXPIRED

DECLARE    
    v_timer_name VARCHAR2(100);    
BEGIN    
    v_timer_name :=GET_APPLICATION_PROPERTY (timer_name);

  IF v_timer_name = 'POCETAK' THEN    
    procedure...        
  ELSIF V_TIMER_NAME = 'KRAJ' THEN    
    DBMS_APPLICATION_INFO.SET_CLIENT_INFO(NULL);
    DBMS_APPLICATION_INFO.SET_MODULE(NULL, NULL);
    EXIT_FORM(NO_COMMIT, FULL_ROLLBACK);    
  END IF;
END;

【问题讨论】:

  • 你为什么不简单地尝试一下?
  • 我做了,但他们没有工作
  • 请更新问题,而不是在此处添加此类 cmets。
  • 是的,点击Edit 以编辑您的请求并添加代码。

标签: oracle oracleforms


【解决方案1】:

是的,您可以拥有多个计时器。但是,我建议您仔细考虑如果计时器都试图在相同的确切时间到期该怎么办。在这种情况下,虽然看到所有过期都应该发生,但报告它们的顺序可能有些随机。

您是否知道可以直接向 Oracle 员工和其他 Forms 用户提问 Oracle Forms 问题?查看 Oracle Forms 论坛了解有关 Forms 的最新信息。

https://community.oracle.com/tech/developers/categories/forms

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 2018-07-26
    相关资源
    最近更新 更多