{"id":54,"date":"2008-11-28T14:07:59","date_gmt":"2008-11-28T14:07:59","guid":{"rendered":"http:\/\/degenio.com\/blog\/?p=54"},"modified":"2008-12-04T02:48:09","modified_gmt":"2008-12-04T02:48:09","slug":"timers-and-their-usefulness-what-has-changed-in-oracle-forms-10g","status":"publish","type":"post","link":"http:\/\/degenio.com\/blog\/2008\/11\/timers-and-their-usefulness-what-has-changed-in-oracle-forms-10g\/","title":{"rendered":"Timers and their usefulness, what has changed in Oracle forms 10g ?"},"content":{"rendered":"<p>Timers were used quite heavily in C\/S environments (Oracle forms 6i). Of the many uses, the one that is the most typical is to create a timer when validating an item and then perform an action when the timer expires.<\/p>\n<p>For example, suppose that we need to sort records in a block according to a given criterion. Whenever a new value or a change occurs in a column (record within the\u00a0 block) we reorder the block. This implies an execute_query built-in. Another one deals with a go_item whenever we validate a given item. In this case, the error related to restricted built-ins will be raised.<\/p>\n<p>By including a timer, we will shift the action from the WHEN-VALIDATE-ITEM to the WHEN-TIMER-EXPIRED.<\/p>\n<p>However, in Oracle forms 10g, the same strategy will raise a whole new issue. Since 10g implies a web environment with a middle-tier hosting the application server, managing timers implies prohibitive server-side management especially with a large user base.<\/p>\n<p>In this case, another solution might be available by using PJC&#8217;s\/Javabeans. Oracle has already provided a client-side Timer bean. For the time being, I have not tried this bean since it can be set at a minimum to 1 min. I will have to modify the bean code in order to allow much lower interval (in the milliseconds range).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Timers were used quite heavily in C\/S environments (Oracle forms 6i). Of the many uses, the one that is the most typical is to create a timer when validating an item and then perform an action when the timer expires. For example, suppose that we need to sort records in a block according to a [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[8,1],"tags":[36],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/phEMW-S","_links":{"self":[{"href":"http:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/posts\/54"}],"collection":[{"href":"http:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/comments?post=54"}],"version-history":[{"count":0,"href":"http:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/posts\/54\/revisions"}],"wp:attachment":[{"href":"http:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/media?parent=54"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/categories?post=54"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/tags?post=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}