Stopping tab page change

Dear members,
I would like to prevent a user from moving to another tab page under some circumstances.
Presently, I use "SET_CANVAS_PROPERTY(v_canvas, TOPMOST_TAB_PAGE, :System.Tab_Previous_Page)" to go back to the previous tab page.
However, I'd prefer to stop the action before the change is done.
Any idea ?

Don't know if this helps but... You cannot change tab pages if your cursor focus is within an item that is contained on the current tab page.
So maybe if the cursor was not allowed off that particular tab page until your conditions were met, that would prevent switching tabs.

Similar Messages

  • Help using app_standard.event(when-tab-page-changed')

    Hello ,
    I need to create a form with the following requirements . There is one content canvas which contains a tabbed canvas and on this there are two stacked canvases .
    The problem is that when I compile my form and ftp to oebs , I cannot view the tab pages on the canvas .
    I see only my the fields displayed in the first tab page without the 'tab pages'.
    How do I solve this issue please ?
    My when-page-page-trigger contains the following :
    BEGIN
         APP_STANDARD.EVENT('WHEN-TAB-PAGE-CHANGED');
    if name_in('system.cursor_block') = 'XX_ERROR_MANAGEMENT' then
    if not form_success then
    -- Revert tab to prior value and exit
    set_canvas_property('CAN_INT',topmost_tab_page,name_in('system.tab_previous_page'));
    return;
    end if;
    -- Move to first item on each tab
    if target_canvas_name = 'CAN_INT' then
         SHOW_VIEW('CAN_ONG1');
    go_item('XX_ERROR_MANAGEMENT.INTERFACE_TYPE');
    else
    show_view(target_canvas_name);
    end if;
    END IF;
    END;
    Any help will be much appreciated . Thanks .

    bump

  • WHEN-TAB-PAGE-CHANGED  TRIGGER

    Hi all
    Is any way to found examples of
    WHEN-TAB-PAGE-CHANGED trigger
    in forms implementations.
    Any references will be very usefull.
    Thanks a lot,
    Gor

    In the the on-line help Forms' doc there is one :
    In case you cannot find it... here it is:
    Examples /* Use a When-Tab-Page-Changed trigger to dynamically**
    change a tab page's label from lower- to upper-case**
    (to indicate to end users if they already have** navigated to the tab page):*/
    DECLARE
         tp_nm VARCHAR2(30);
         tp_id TAB_PAGE;
         tp_lb VARCHAR2(30);
         BEGIN
              tp_nm := GET_CANVAS_PROPERTY('emp_cvs', topmost_tab_page);
              tp_id := FIND_TAB_PAGE(tp_nm);
              tp_lb := GET_TAB_PAGE_PROPERTY(tp_id, label);
              IF tp_lb LIKE 'Sa%'
                      THEN
                             SET_TAB_PAGE_PROPERTY(tp_id, label, 'SALARY');
              ELSIF tp_lb LIKE 'Va%'
                      THEN
                              SET_TAB_PAGE_PROPERTY(tp_id, label, 'VACATION');
              ELSE
                      null;
              END IF;
    END;Greetings...
    Sim

  • WHEN-TAB-PAGE-CHANGED's navigation for 1 table

    i have 1 table e.g. Employees
    It's fields displayed in tab's pages canvas
    i want to navigate through the keyboard from the Last item in page_1 to the First Item in page_2 and so on...
    they r in the same table i want to make it programatically not distributing items manually...
    Any ideas plz.
    Regards,
    Abdetu...

    _1) If the user Select any tab randamly so i should do the following as in:_
    -- WHEN-TAB-PAGE-CHANGED
    DECLARE
         tp_nm VARCHAR2(30); -- tab's name
    BEGIN
         tp_nm := GET_CANVAS_PROPERTY('TAB_CANVAS', topmost_tab_page);
         IF tp_nm ='INFO_PERSONAL'  THEN GO_ITEM ('HR_EMPLOYEES.ID_NUMBER');  
         ELSIF tp_nm ='QUALIFICATIONS'  THEN GO_ITEM ('QUALIFICATION_ID');
         ELSIF tp_nm ='MILITARY_STATUS'  THEN GO_ITEM ('HR_EMPLOYEES.MARITAL_STATUS_ID');
         ELSE null;
         END IF;
         END;
    So, it should work as you wrote. I don't see any problem in this code.
    2) i want to navigate through the keyboard from the Last item in page_1 to the First Item in page_2 and so on...programatically ...Okay, there are three options...
    1. If you set the order of items in object navigator (which you don't want) then by pressing the enter key on last item of tab page it will move to the second tab's first item.
    2. Create KEY-NEXT-ITEM trigger and use the GO_ITEM() and send on next tab page's first item.
    3. Use the navigable property as i mentioned earlier.
    -Ammad

  • Querying a Form/Tab Page Change/Applicaiton Items

    Hi,
    I have what I think should be a fairly simple thing to do but am struggling. I have an application item that is set when the user logs on. I have several tabs that open various reports/forms. All I want is that when the user clicks on one tab a form is opened but with a record queried back ready for update with the query being restricted with the value of the application item (application item contains primary key). I have tried setting the default value of the primary key to the application item but no luck. If I manually call the form with primary key column argument:value set in the url the record is queried fine, but you cannot set these items on a tab page change, any help greatly appreciated
    Chris

    Hello
    For each form page you could
    Define an unconditional before header page process or a before-header page computation
    Set the page-item corresponding to the PK of the form's base table to have the value contained in the application item
    Varad

  • When-tab-page-changed not firing

    I have 2 seperate forms opened on a single page. One displays on left side of screen and has tabs. One display on right side. If I am currently on my right side form (no tabs) and click on a tab on the left side form, it seems the 'When-tab-page-changed; trigger is not firing the first time. I have tried this on 6i and 10g webforms. If I try it on client/server 6i it works. Any suggestions?

    I just tried this with 10gR2 in web. My form with the tabs only get focus and does not call when-tab-page-changed when you click on a tab after returning from the other form.
    A 2nd button press does then call the when-tab-page-changed.

  • How trigger when-tab-page-change will fire explicitley

    Hi,
    When-tab-page-change trigger fires only on explicitly changeing the tab page by mouse or key board, is there any way to call this trigger implicitly.
    Please do not suggest option execute_trigger.
    Thanks,
    Ashish

    you can take a copy from this trigger and put in a procedure in the form and call it in the trigger of when tab page change and when you need.

  • When Tab Page Changed Promble with FMX

    FORM 6i
    Problem is Run Form Exits When Tab Page B is clicked but all other Tab Pages(A,C,D,E) are working fine. There is no exit_form; code in when tab page changed trigger. This particular FMX was working fine in TEST sever over a year.
    What could be the Problem? I have renamed fmx toxyz_old.fmx put new xyz.fmx in test server this one run fine. But when I xyz_old.fmx ( exits when B tab page clicked) funny.
    Did any one of you guys had similar problem? or Could any one please tell me what was the problem?

    thats a problem. First try in this situation is a complete recompile of the form
    ctrl-shift-K

  • When-tab-page-changed trigger PL/SQL

    I have a form which Has two tabbed regions
    Can Anyone please let me know how to write the PL/SQL for the when tab page changed trigger for this scenario.
    I can do it for single tabbed region but cant understand how to do it for 2 or more tabbed regions
    thanks

    You have to check :system.tab_new_page for what tab page you ended up on as the result of the user navigation. See the help file for an example of code.

  • Why objet is not stopped when page change

    Hi,
    I'm currently working in my company on a library.
    A have created a class to display ads in a webrowser. A request is executed every 20 seconds.
    I display the ads in a panorama page
    but when i go to a detail page my banner continu to do request.
    The object isn't destroyed when the page change ?
    And if not how can i resolve it ?
    Thank you

    No. You should call the stop method on that timer to ensure it stops when you want it to.  It sounds like there's a handle somewhere on that timer that hasn't been released (perhaps via page caching) so that's why the timer hasn't gone out of scope.
    Ignoring the obvious solutions makes your programming life more difficult.
    Matt Small - Microsoft Escalation Engineer - Forum Moderator
    If my reply answers your question, please mark this post as answered.
    NOTE: If I ask for code, please provide something that I can drop directly into a project and run (including XAML), or an actual application project. I'm trying to help a lot of people, so I don't have time to figure out weird snippets with
    undefined objects and unknown namespaces.

  • Forms Personalizations- Tab Page Change

    Hello all,
    Is there a way to use Forms Personaizations to activate a specific TAB page in a block in Forms (EBS 11i10 or 12)? Sometimes a block spans across multiple tab pages and even the focus is on a specific field, the corresponding tab page does not open.
    Please let me know if you have any ideas on how to accomplsish this. If there is a different forum for Forms Personalizations, please let me know so I can repost the question there.
    Thanks,
    Nat.

    Nat,
    I did not try this myself, but did you check "Forms Personalization" documents (especially the limitation document)?
    Note: 279034.1 - Information About the Oracle Applications Form Personalization Feature in 11i
    https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=279034.1
    Note: 468657.1 - How To Do Forms Personalization
    https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=468657.1
    Note: 420518.1 - Limitations of Forms Personalization (under [6] Certain objects may not be available to user to change, or cannot be validated)
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=420518.1
    Regards,
    Hussein

  • Tab Page - changes track

    Hi all,
    I am developing a tab form with header like
    <<header info>
    <<field1 >>
    <<field2 >>
    <<field3 >>
    etc
    <SAVE> <RESTORE> etc buttons
    TAB canvas under header..
    <pg1> <pg2 > etc
    Some of the tabs are read only and some tabs have save/restore functionalities.
    some tab pages are having tables in common and some have different.
    My doubt is
    If the user is making some changes in particular tab page and going to next page without saving the changes, I want to display "Do u want to save ur changes ?" msg. If he just viewed the page, I do not want to display this page. So, is there any way to track the changes made by the user based on tab page...?
    If I track form status msg, will it be serve my purpose?
    I thought of having temporary global variable setting to 1/0 in each item's when_validate_item trigger. But I am not satisfied with this solution.
    Any help please?
    Regards
    Priya

    Hi Priya,
    You can use the system variable :system.form_status (in my previous code example I made a mistake using :form_status) to track changes in your tab.
    declare
    l_commit boolean;
    begin
    if :system.form_status = 'CHANGED' then
    l_commit := ask_for_commit; -- your function for displaying the message, returning a
    -- boolean
    if l_commit then
    commit_form; -- by committing your form :system.form_status will have
    -- status 'QUERY'
    else
    raise form_trigger_failure;
    end if;
    end if;
    end;

  • Erratic tab page change

    Hi,
    I have 2 tab pages. When i navigate from the first page to the second, and then click on one of the 2 checkboxes, or the button, it flicks me back to the first tab page. This doesn't happen with any other items on the page.
    I can click on a text box, and then a checkbox or button without this problem. I checked a 'when-mouse-click' trigger with system.mouse_item equal to one of these items. This only shows when another item is clicked first...
    Thanks

    is it possible, that you write in your WTPC-trigger something like
    if tab-page = 'PG_1' then
    go_block ('A');
    elsif tab-page = 'PG_1' then
    go_block ('B');
    end if;
    test it. With this technique you have explicit navigation to your blocks and not implicit through the tab pages

  • How to avoid clear record when tab pages changes

    Hi All
    I am using oracle forms 10g and db 10g.
    I have created a form with four tab pages. Namely "EXPENSE" , "AMOUNT_DETAILS", "SUPPLIER" , "ACCOUNT".
    When i enter a data in page 1 ie Expense and move to next page page2 "AMOUNT_DETAILS", and enters data in page3 "SUPPLIER" and when i come back to page1 "EXPENSE" and also Page2 "AMOUNT" the data get cleared in Tab pages. There is no data again i need to enter the data manually.
    Can any one suggest me how to avoid this clear data.
    Thanks & Regards
    Srikkanth

    Hi,
    Thanks once again for your quick response.
    I have checked it , i was working with oracle apps.Now i have entered all the datas in the four tab and press save button in the screen at that time also the data get cleared.Can you please tell is there any work around for this.
    regards
    Srikkanth

  • Tab pages not changed when selecting from TAB LIST

    Hi All,
    I have a form which has 15 tabs, 1st 10 Tabs are dynamic (enabled at new form instance, depending on configuration) and 11 to 15 are Static tabs visible for all.
    My problem is when i am clicking on tabs iam able to switch tabs, but when I select tab from Tab List I am not going to the selected TAB.
    Ex: when I am in TAB 1 and Select TAB15 from Tab list My form Still Stays in TAB1 and not moving to TAB 15
    Please provide me a Solution.
    My code in WHEN TAB PAGE CHANGED is
    DECLARE
    l_curr_rec NUMBER;
         BEGIN
              l_curr_rec := :SYSTEM.CURSOR_RECORD;
              --Get the Top Default Tab Page for the Form
              SHOW_VIEW('HDR_CANVAS_FIXED');
              :global.headers:=GET_CANVAS_PROPERTY('TAB_CANVAS', topmost_tab_page);
         IF(:GLOBAL.HEADERS='AS_REC_IMAGE')THEN      
    SHOW_VIEW('AS_REC_IMAGE');
    SET_VIEW_PROPERTY('AS_REC_IMAGE',VISIBLE,PROPERTY_TRUE);
    SET_TAB_PAGE_PROPERTY('AS_REC_IMAGE',ENABLED,PROPERTY_TRUE);
              GO_BLOCK('AS_REC');
                   --Hide the other canvases except the Pricing Canvas                     
         ELSIF(:GLOBAL.HEADERS='TRIM_REC_IMAGE')THEN      
    SHOW_VIEW('TRIM_REC_IMAGE');
    SET_VIEW_PROPERTY('TRIM_REC_IMAGE',VISIBLE,PROPERTY_TRUE);
    SET_TAB_PAGE_PROPERTY('TRIM_REC_IMAGE',ENABLED,PROPERTY_TRUE);
              GO_BLOCK('TRIM_REC');
                   --Hide the other canvases except the Pricing Canvas                     
         ELSIF(:GLOBAL.HEADERS='AS_SHIP_IMAGE')THEN      
    SHOW_VIEW('AS_SHIP_IMAGE');
    SET_VIEW_PROPERTY('AS_SHIP_IMAGE',VISIBLE,PROPERTY_TRUE);
    SET_TAB_PAGE_PROPERTY('AS_SHIP_IMAGE',ENABLED,PROPERTY_TRUE);
              GO_BLOCK('AS_SHIP');
                   --Hide the other canvases except the Pricing Canvas                     
         ELSIF(:GLOBAL.HEADERS='TRIM_SHIP_IMAGE')THEN      
    SHOW_VIEW('TRIM_SHIP_IMAGE');
    SET_VIEW_PROPERTY('TRIM_SHIP_IMAGE',VISIBLE,PROPERTY_TRUE);
    SET_TAB_PAGE_PROPERTY('TRIM_SHIP_IMAGE',ENABLED,PROPERTY_TRUE);
              GO_BLOCK('TRIM_SHIP');
                   --Hide the other canvases except the Pricing Canvas                     
         ELSIF(:GLOBAL.HEADERS='EXTRA')THEN      
                   ---Show the Export Canvas---------     
    SHOW_VIEW('EXTRA');
    SET_VIEW_PROPERTY('EXTRA',VISIBLE,PROPERTY_TRUE);
    SET_TAB_PAGE_PROPERTY('EXTRA',ENABLED,PROPERTY_TRUE);
              GO_BLOCK('EXTRA');
                   --Hide the other canvases except the Pricing Canvas                     
         ELSE -- DYNAMIC TABS
    --Hide all the other  static canvases
    IF (:GLOBAL.HEADERS='CT01')THEN
         GO_BLOCK('CT01');
    ELSIF (:GLOBAL.HEADERS='CT02')THEN
         GO_BLOCK('CT02');
    ELSIF (:GLOBAL.HEADERS='CT03')THEN
         GO_BLOCK('CT03');
    ELSIF (:GLOBAL.HEADERS='CT04')THEN
         GO_BLOCK('CT04');
    ELSIF (:GLOBAL.HEADERS='CT05')THEN
         GO_BLOCK('CT05');
    ELSIF (:GLOBAL.HEADERS='CT06')THEN
         GO_BLOCK('CT06');
    ELSIF (:GLOBAL.HEADERS='CT07')THEN
         GO_BLOCK('CT07');
    ELSIF (:GLOBAL.HEADERS='CT08')THEN
         GO_BLOCK('CT08');
    ELSIF (:GLOBAL.HEADERS='CT09')THEN
         GO_BLOCK('CT09');
    ELSE --ELSIF (:GLOBAL.HEADERS='CT10')THEN
         GO_BLOCK('CT10');
    END IF;
              END IF;
         END;
    Thanks,
    Durga Srinivas.
    Edited by: DurgaSrinivas_886836 on Dec 3, 2012 8:12 PM

    In your trigger, you are doing a SHOW_VIEW ('HDR_CANVAS_FIXED'); before you select the :GLOBAL.HEADERS information. I'm not sure what HDR_CANVAS_FIXED is, but I am wondering if that is what is messing you up. What happens if you either comment that out:
    DECLARE
      l_curr_rec     NUMBER;
    BEGIN
      l_curr_rec := :SYSTEM.CURSOR_RECORD;
      --Get the Top Default Tab Page for the Form
      --SHOW_VIEW ('HDR_CANVAS_FIXED'); /* <-------------------------------------------------------Comment it out */
      :global.headers := GET_CANVAS_PROPERTY ('TAB_CANVAS', topmost_tab_page);
      IF (:GLOBAL.HEADERS = 'AS_REC_IMAGE') THEN
        SHOW_VIEW ('AS_REC_IMAGE');
        .or if it is necessary move it to after the :GLOBAL.HEADERS:
    DECLARE
      l_curr_rec     NUMBER;
    BEGIN
      l_curr_rec := :SYSTEM.CURSOR_RECORD;
      --Get the Top Default Tab Page for the Form
      :global.headers := GET_CANVAS_PROPERTY ('TAB_CANVAS', topmost_tab_page);
      SHOW_VIEW ('HDR_CANVAS_FIXED'); /* <------------------------------------ Swap it with :global.headers */
      IF (:GLOBAL.HEADERS = 'AS_REC_IMAGE') THEN
        SHOW_VIEW ('AS_REC_IMAGE');
        SET_VIEW_PROPERTY ('AS_REC_IMAGE', VISIBLE, PROPERTY_TRUE);
        SET_TAB_PAGE_PROPERTY ('AS_REC_IMAGE', ENABLED, PROPERTY_TRUE);
        GO_BLOCK ('AS_REC');
      --Hide the other canvases except the Pricing Canvas
      ELSIF (:GLOBAL.HEADERS = 'TRIM_REC_IMAGE') THEN
        SHOW_VIEW ('TRIM_REC_IMAGE');
        .

Maybe you are looking for

  • Ajuda com Product/Software Component/Business System

    Pessoal Preciso de uma ajuda de vcs, estou com um ambiente que o BASIS instalou tudo mas o Produto/Software Component SAP NFe 1.0 não está aparecendo no SLD portanto nao consigo fazer a amarracao com o Business System ( que foi criado ). Vcs sabem me

  • Uploading files using FTP(Linlyn class)

    I'm currently learning java right now on my own, and I'm having some trouble. I'm trying to upload a txt file using the linlyn class. How do you create a file then upload it on an applet?

  • Vendor returns with delivery(new delivery type)

    Hi, I configured vendor return process with delivery. it's working fine with delivery type RLL but when I try to copy "RLL" and create new delivery type it's still picking delivery type "RLL" and not the new delivery type. My configurations 1. Create

  • What is a process_dependency file really for in Adobe LiveCycle?

    What is a process_dependency file really for in Adobe LiveCycle?

  • Undeliverable Mail for Postfix

    I would like to redirect all undeliverable messages to another host for delivery. There are options to redirect undeliverable mail to an email address but this is not what I want. I need it to go to another mail host. Does anyone know how to do this?