When-timer-expired hit the cursor position

Some of our forms sometimes have timers running, to monitor
progress of this and that. We've found that if the timer
expires when you're typing in a form field, there's a tendency
for the cursor to momentarily move to the beginning of the field
then jump back to roughly where it had been. If you're just
typing away without paying attention, this can be messy.
Specifically, I put a few '0' characters at the beginning of a
large field, then hit '1' and let it go to autorepeat. When the
trigger fires, the insert cursor goes to a wait cursor for a
bit, then back. I'll find a few '1' characters at the beginning
of the field, and the insert cursor is now pointing the same
number of characters from the end of the field. My testing
indicates that the more time spent in the trigger, the more
likely the problem is to occur. Also, it happens more if
you're in a different form than the one with the timer.
does anyone know how to handle this situation
i m using when_timer_expired trigger with folllowing code
declare
v_timer varchar2(40);
begin
v_timer:=get_application_Property(timer_name);
if v_timer='TIMER_TIME' then
:CONTROL.onscreen:=to_char(sysdate,'HH12:mi:ss AM');
end if;
end;

You could use JDAPI to make bulk changes to your Forms ...
Re: Reading items/blocks/LOVs in the Object Navigator
h2. UPDATE:
Take a look at metalink note 45615.1 - Focus And Timer Behavior In Multiple Form Applications
It seems you need to keep destroying and recreating the timer as you navigate from Form to Form ..
Edited by: Rodolfo Ferrari on Aug 20, 2009 6:26 PM

Similar Messages

  • HT3180 When using my remote the cursor moves multiple times.  How can I fix this?

    When  using my remote the cursor moves multiple times.  How can I correct?

    Hi Freebyrd1999,
    In order to get your Apple TV working correctly you may need to restore it. Use the steps in this article -
    Apple TV (2nd and 3rd generation): Restoring your Apple TV
    http://support.apple.com/kb/HT4367
    Thanks for using Apple Support Communities.
    Best,
    Brett L

  • Regarding When-timer-expired trigger

    Hi,
    My requirement is to display time .From my understanding i think every time
    when-timer-expired shuttle between client and middle tier for this purpose for
    every expiry of time .This i feel degrades the performance.
    Is there any workaround available so that the database time is fetched for the first
    time and thereafter refreshing could takeplace in the client-side
    Thanks in advance
    regards,
    prabakaran.s

    Here is the code:
    package oracle.forms.fd;
    import java.awt.AWTEventMulticaster;
    import java.awt.Color;
    import java.awt.Cursor;
    import oracle.forms.handler.IHandler;
    import oracle.forms.properties.ID;
    import oracle.forms.ui.VTextField;
       * A PJC to have a textfield blinking
       * @author Francois Degrelle
       * @version 1.0
      public class BlinkTextField extends VTextField  implements Runnable
        public final static ID START        = ID.registerProperty("START"); 
        public final static ID STOP         = ID.registerProperty("STOP"); 
        public final static ID SETBLINKRATE = ID.registerProperty("SETBLINKRATE");   
        public final static ID SETFGCOLOR   = ID.registerProperty("SETFGCOLOR");   
        public final static ID SETBGCOLOR   = ID.registerProperty("SETBGCOLOR");       
        static Thread runner ;
        protected int seconds   = 400 ;  // milliseconds
        private Color  cdefFG   = null ; // default background color
        private Color  cdefBG   = null ; // default foreground color
        private Color  cFore    = null ; // blinking foreground color
        private Color  cBack    = null ; // blinking background color
        private boolean bSwitch = true ;
        private   IHandler  m_handler; 
        public BlinkTextField ()
           super();
        public void init(IHandler handler)
          m_handler = handler;
          super.init(handler);
          cdefFG = this.getForeground() ;
          cdefBG = this.getBackground() ;
         * switch color to simulate the blinking process
        public void run()
          Thread theThread = Thread.currentThread();
          while (runner == theThread)
            try{
            Thread.sleep(seconds);
            } catch (InterruptedException e) { }
            if(bSwitch)
              if(cBack != null) this.setBackground(cBack);
              if(cFore != null) this.setForeground(cFore);
            else
              this.setBackground(cdefBG);       
              this.setForeground(cdefFG);
            bSwitch = ! bSwitch ;
        private void startTimer()
          if (runner == null )
            runner = new Thread(this);
            runner.start();
        private static void stopTimer()
          if (runner != null )
            runner = null;
        public boolean setProperty(ID property, Object value)
          if (property == START)  // start the blinking
            startTimer() ;
            System.out.println("** Start **");
            return true;
          if (property == STOP)  // stop the blinking
            System.out.println("** Stop **");
            stopTimer() ;
            return true;
          else if (property == SETBLINKRATE)  // set the cursor blink rate
            int i = Integer.parseInt(value.toString());
            seconds=i;
            System.out.println("** SetRate="+seconds+ " miliseconds");
            return true;
          else if (property == SETFGCOLOR)  // set the foreground color
            cFore = getColor(value.toString()) ;
            System.out.println("** SetFGColor="+cFore);
            return true;
          else if (property == SETBGCOLOR)  // set the background color
            cBack = getColor(value.toString()) ;
            System.out.println("** SetBGColor="+cBack);
            return true;
          else
           return super.setProperty(property, value);
    // expects r,g,b values separated by commas 
    public Color getColor(String colourValue)
      try{     
        int r,g,b;     
        int rPos, gPos;     
        rPos = colourValue.indexOf(",");     
        gPos = colourValue.indexOf(",", rPos + 1);     
        if (rPos < 1 || gPos < 1 || gPos + 1 == colourValue.length()) {       
            throw new Exception("Invalid colour");
        r = Integer.parseInt(colourValue.substring(0, rPos));     
        g = Integer.parseInt(colourValue.substring(rPos + 1, gPos));     
        b = Integer.parseInt(colourValue.substring(gPos + 1));       
        if (r < 0 || r > 255 || g < 0 || g > 255 || b < 0 || b > 255) {       
           throw new Exception("Invalid colour");
        return new Color(r,g,b);
      catch(Exception e) {     
        return new Color(0,0,0);
    }Francois

  • How can I prevent a new tab being created every time I hit the Home Key in Firefox 4?

    I recently installed Firefox 4. I have it set to open two tabs, Google and Yahoo, for my homepage. When I open a new site in either of them the tab assumes the name of the new site. At the end of my search I hit the Home Key to return to my two original tabs. My two original tabs appear, but so does an additional tab...a duplicate of one of the original two. Each time I hit the Home Key another tab is created. This is annoying and I would like to know how to prevent it from happening. Thanks.

    Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance).
    *Do NOT click the Reset button on the Safe Mode start window.
    *https://support.mozilla.org/kb/Safe+Mode
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes

  • How to get the cursor position from screen in module pool program

    Hi,
    I am doing the module pool program, I have one table control in one screen.
    I have to give functionality to the user that when the user enters first record in the table control and after filling the last field
    when he presses enter the cursor will have to come in the starting field of the second record.
    I know the logic , but i m bit confused.
    Can any body help me to solve this....
    thanks

    Hi,
    Check this code,
    Write it in the PBO
    MODULE SET_CURSOR_WERTKONTRAKT.
    MODULE SET_CURSOR_WERTKONTRAKT OUTPUT.
      PERFORM SET_CURSOR USING 'VBAP-ZWERT'.
    ENDMODULE.                 " SET_CURSOR_WERTKONTRAKT  OUTPUT
    FORM SET_CURSOR USING US_FELDNAME.
      DATA: DA_TFILL LIKE SY-TFILL.
      DESCRIBE TABLE IVBAP LINES DA_TFILL.
    FCODE 'Create Position':
    ==> Cursor to the first free line set to make the new position
    Can be created directly
        IF DA_TFILL EQ 0.
          SET CURSOR FIELD US_FELDNAME LINE 1.   -> set cursor position
        ELSE.
          SET CURSOR FIELD US_FELDNAME LINE 2.
        ENDIF.
    Product proposal actively
    Set ==> cursor in the first row
      IF DPP_ACTIVE   EQ CHARX AND
         XVBAP_UMFANG_OPV IS INITIAL.
    in the 'target volume' if available
        IF KOPGR_MIT_ZMENG CS TVAK-KOPGR.
            SET CURSOR FIELD 'VBAP-ZMENG' LINE 1.
            EXIT.
        ELSE.
    Else in the field 'Order quantity'
          SET CURSOR FIELD 'RV45A-KWMENG' LINE 1.
          EXIT.
        ENDIF.
      ENDIF.
    Hope it helps you,
    Regards,
    Abhijit G. Borkar

  • How to control the cursor position in the Table control in Module pool

    Hi,
    Can any body tell me how to change the cursor positon from last field of the first record to the
    first field of the second record , when user presses enter in the last field in the module pool
    programming.
    Thanks

    Hi,
    Please avoid posting duplicate posts.
    Re: how to get the cursor position from screen in module pool program
    Nag

  • Changing the cursor position

    Is it possible to change the cursor position automatically when changing the language?
    For example: when changing from English to Hebrew the cursor will move from the right end to the left?
    Thanks,
    Amnon

    I don't think this is possible in general, although some individual apps might do it.  Normally you use a direction control from an app menu or at the system level.
    http://support.apple.com/kb/PH14203

  • Using InDesign CC on Windows 7 Ultimate.  Every time I hit the text tool button the program crashes

    When using InDesign CC, every time I hit the text tool button, the program crashes. 

    Arpit thanks, I have almost exactly the same issue, except that any editing of any kind in my Indesign CC seems to cause a crash.Windows 7 home premium.64bit
    I have received the same solution as you gave above, from the tech team, but cant find the correct file to add the "CopyPlugins.vbs script." to....I get an error message telling me to try again and chose the file adobe indesign CC, and yet that's what I'm doing. There must be an instruction missing for finding the correct file.

  • Newtab question: How do I ''input'' the nine (yes 3X3) boxes to be my specific permanent sites exactly the same each time I hit the newtab+?

    Newtab question: How do I ''input'' the nine (yes 3X3) boxes to be my specific permanent sites exactly the same each time I hit the newtab+? I know that I can hit the 'save' button but I want it to be MY selection before the save. Evert time I hit the newtab it seems to use my history to keep moving them up the line.
    I have used google.com/ig as my home for years. In November the sites that are my personal choices will be gone as Google has decided to eliminate "IG"!
    For example the NYTimes (with about 5-6 daily lead articles) appear in my upper left of the personalized home site. I would at least like to see that summary. At least with Newtab I can save it.
    Is there a program step in FF that I can achieve my results and put nine sites into it and click them to be permanent as well as being able to edit them in the future?

    You can change the order of the boxes on the about:newtab page and drag an item to a different slot to pin it to that position or you can remove a website by clicking the close X to block that URL.
    You can drag a bookmark or history item and drop them in a slot on the about:newtab page to pin them and have your own favorites sites showing.
    Changes made manually on the about:newtab page are stored in the browser.newtabpage.pinned (default = [null]) and browser.newtabpage.blocked prefs that you can check/modify on the about:config page.

  • When-timer-expired

    Hi everyone,
    This is my first time using this trigger and i dont really catch what to do to make it fire. Arwind advices me to use it to make the valus of the item blink. The way i see it it should work but i guess i'm missing something...could u plz help me find what i'm missing here.
    Here is the only code i have for the trigger.
    DECLARE
    id_item ITEM;
    timerid TIMER := FIND_TIMER('BLINK');
    BEGIN
    if :prix_en_vigueur is not null then
    /*--- Make the item blink ---*/
    id_item := find_item('PRIX_EN_VIGUEUR');
    set_timer(timerid, 1000, REPEAT);
    if get_item_property('id_item',DISPLAYED) = 'PROPERTY_TRUE' then
    set_item_property(Id_item,
    DISPLAYED,PROPERTY_FALSE);
    else
    set_item_property(Id_item, DISPLAYED,PROPERTY_TRUE);
    end if;
    end if;
    END;
    Does it have something to do with the set_timer or delete_timer and if so how should i use them.
    Thanx in advance for ur replies.
    null

    You have the when-timer-expired defined at form level. In it you should first have a call to get_application_property(TIMER_NAME), that returns the name of the timer that has made the trigger fire, depending on which you perform what you have to do under those circumstances.
    How to make it fire? In whatever trigger you find appropriate you call set_timer, that starts the countdown for the number of milisecs you specify that finally generates the "Timer-Expired" event which makes the trigger fire.
    Regards,
    BD

  • Can I control the cursor position

    I'd like to confine the cursors position to a grid when it's within a particular panel. I tried public void mouseMoved(MouseEvent e)
    int x = (int) (GRIDSIZE*java.lang.Math.round(e.getX()/(1.0*GRIDSIZE)));
    int y = (int) (GRIDSIZE*java.lang.Math.round(e.getY()/(1.0*GRIDSIZE)));
    e.translatePoint(x,y);
    } But that didn't work. Can it be done?

    I'm not exactly sure what you want to be done, but, if you want to control the mouse position, you can create a Robot object (check the class in the java docs) and use robot.mouseMove(mouseX,mouseY) where mouseX and mouseY are integers. THIS ONLY WORKS IN APPLICATIONS THOUGH. its too powerful to be able to control a persons mouse, (and keyboard is controllable too with Robot), you can imageine what a person could do lol.. Anyway, you could repeatedly check if the mouse position is on the grid, and if it isn't, use robot.mouseMove, to place it onto the grid.

  • GO_FORM when TIMER-EXPIRED

    Just want to know if I am doing something wrong
    or if it's another feature of Forms. I have a
    GO_FORM within an IF statement in the (repeating)
    WHEN-TIMER-EXPIRED trigger. It all goes well until
    the IF statement evaluates to a value that makes
    GO_FORM the case, the repeating timer seems to go
    dead after GO_FORM switches the focus to the
    specified form. Any comments? Thanks in advance.

    Hi Eugeniy,
    The original WBP trigger has already the following code:
    go_item('bijz.click_datum');
    do_key('list_values');
    The section where copy ('0','GLOBAL.save_mouse_record'); is mentioned is part of the code that Metalink offered me, look at:
    Note 266535.1 How to call to a calender window against an unbound item via an LOV button.doc
    Best regards,
    Ronny.

  • Controling the cursor position

    Hi all,
    I have two x, and y signal outputs from a dll module and I plan to use them to control the cursor position. One problem I'm facing is that my signals are variable enough to cause the cursor to vibrate in stationary setting. So, I use hysterysis (putting threshold) to eliminate these fluctuations but the drawback is that keeping the treshold high enough to eliminate the fluctuations keeps me from getting a nice, smooth movement when the speed of movement (rate of x and y changing) is low. Any ideas or suggestions will be appreciated.
    p.s. I am using "SetCursorPos".dll as you might have already guessed.
    Thank you,
    Elnaz

    The formula for an exponential filter of degree D is the following:
    New Average = (New Value + (D-1)*Old Average)/D
    I usually add a special case for startup so that D is never greater than the number of points. 
    As I said, it is a low-pass filter, much like using a running average.  I usually like it because the state is simply a single value (Old Average) instead of the array of values you have to keep around to do a running average.
    As to the new question of separating high-frequency noise from your high-frequency signal, that is a bit more complicated (obviously).  You should take a power spectrum of the noise to see if there is a characteristic feature you can use (cutoff frequency, strong peaks).

  • When-Timer-Expired not firing if LOV is open

    In my form I have a when-timer-expired trigger that kicks the user out of the form if there is no activity for one minute. But if the LOV is open the when-timer-expired trigger is not firing.
    Thanks,

    yeah !
    if the form starts a db-function or a host-command or a lov - then the form isn't able to do something else parallel to this...
    e.g. :
    WHEN-BUTTON-PRESSED :
    IF show_lov () THEN
    END IF;
    if the lov works different, then you have parallel working program units. In this case :
    a WHEN-BUTTON-PRESSED and a WHEN-TIMER-EXPIRED
    and this is today impossible in Forms

  • WHEN-TIMER-EXPIRED TRIGGER

    WHEN-TIMER-EXPIRED
    declare
         var number :=10;
         v_al char(3);
         v_al_ti date;
    begin
         for i in 1..var loop
              :control.showdate := TO_CHAR(SYSDATE,'DD-MONTH-YYYY');     
              :control.showtime := TO_CHAR(SYSDATE,'HH24-MI-SS AM');     
              select alarm, alert_date, alert_time
              into v_al, v_al_da, v_al_ti
              from remind
              where alarm='ON';
              if v_al = 'ON' AND
                   v_al_ti = to_char(sysdate,'HH24-MI-SS AM') AND
                   v_al_da = to_char(sysdate,'DD-MONTH-YYYY')then
                   message('alert is on ');
              end if;
              if var =9 then
              var:= var+1;
              end if;
         end loop;
    end;
    THE CLOCK WORK BUT THE FORMAT MASK GIVE ERROR.
    I WANT TO RAISE A MESSAGE WHEN AN REMINDER ENTRY HAVE ALARM = 'ON'
    AND DATE = SYSDATE
    AND TIME = SYSDATE.
    THE TABLE HAVE FOLLOWING COLUMNS.
    SQL> desc remind;
    Name Null? Type
    RE_ABOUT VARCHAR2(100)
    ALARM CHAR(3)
    ALERT_TIME DATE
    ALERT_DATE           DATE
    THANKS IN ADVANCE.
    REPLY ME ON MY EMAIL.
    MUHAMMAD NADEEM
    MARDAN (PAKISTAN)
    [email protected]
    +92-0301-8334434

    Hi Nadeem,
    Change these two lines of code:
    :control.showdate := TO_CHAR(SYSDATE,'DD-MONTH-YYYY');
    :control.showtime := TO_CHAR(SYSDATE,'HH24-MI-SS AM');
    Try with replace the above with select statement like below.
    select TO_CHAR(SYSDATE,'DD-MONTH-YYYY'), TO_CHAR(SYSDATE,'HH24-MI-SS AM') INTO :control.showdate, :control.showtime From dual;
    Cheers

Maybe you are looking for

  • CS4 Text Wrap issue - HELP!

    HELP!  I taught myself PageMaker 6.5 and I got REALLY good at the basics, but not so great at the in-depth things.  Consequently, when I upgraded to InDesign CS4, the same holds true, so please feel free to treat me like a 2-year-old in your explanat

  • ITunes is 'not responding' on startup

    Running windows vista , just downloaded and installed iTunes a couple hours ago , while i was sorting my music there was a pop up about lack of memory or something , then it got really laggy so i closed it . And now when i try to open it it opens fin

  • Multiple iPods, same computer....HELP

    I know this question has probably been answered, but I have tried other things and nothing works. I have Windows XP, and I have my own account on it and my own iPod(4th gen, click wheel) and my sister has her own account and her own mini iPod. Our mu

  • WHAT DO THE DIFFERENT COLORS CIRCLES MEAN WHEN YOU LOCATE YOUR IPHONE?

    I was just wondering what do the different color circles mean when I've located my iphone. So far I've seen a green dot with a green bigger outlined circle around it , a gray circle , a gray circle with a gray bigger outline around it , a real big gr

  • Why is itunes change some that i didnt buy ? also they are taking 21.87 more then i spend.

    why is itunes change some that i didnt buy ? also they are taking 21.87 more then i spend.