Forms vs canvases

I am trying to understand when I would use forms or canvases.I thought that for each screen on an app you would create a form. Instead I have seen apps that use several canvases for one form, each representing a screen. Please help!

This all depends on what you want the Form to do.
You may have a single canvas/window within the form which shows all the columns on a table and the user can retireve records from the database and update the columns as he sees fit.
However, you may want the user to perform a specific task and believe a wizard type approach may be better. In this case you could have several windows/canvases within the form which the user is taken through step by step until the action has been finished.
You need to look at the functionality required and the solution which you believe would best fit this.
John

Similar Messages

  • Forms tab canvases

    Hi,
    Does anyone know how can I set the colour of the background and foreground on the heading of each tab page?
    Wright now,I'm setting the tab page visual attribute,but Forms is showing some others colours on the tab pages headings.
    I'm using forms 9i.

    Hi Frank,
    In the layout editor,background and foreground colors are exactly the ones I'm setting.
    I'm not having any problems with the lowercase or uppercase of the chars,but with the colors.
    But in runtime,these colors are changing to some colors depending on the LAF.
    Isn't really some other way to set them?(when I've changed the LAF,they changed too)

  • Forms Tabbed Canvases

    I have got a tabbed canvas on my form. I can change focus from 1 tab to another even when the current record/item fails validation. This validation will only fail once I am in the other tab page. How can I make sure I am not able to move on to the next tab page until the item/record I am on is validated ?
    Thanks in advance

    I use a when-tab-page-changed trigger to move the cursor to the first item on the corresponding tab page. If the Go_Item fails, error processing on the first tab page forces the cursor to stay in the item where validation failed, and the first tab page will remain in view.
    -- When-Tab-Page-Changed form-level trigger                          --*
    Declare
      new_pg   varchar2(30) := :system.tab_new_page;
    Begin
      If new_pg <> get_item_property(:system.cursor_item,item_tab_page) then
      -- cursor is on a different tab page.  Need to navigate to an item
      -- on the requested tab page.
        If new_pg = 'TAB1' then
          Go_item('BLOCK1.ITM_1');
        elsif new_pg = 'TAB2' then
          Go_item('BLOCK2.ITM_1');
      end if;
    End;

  • Canvases vs forms

    I am trying to understand when I would use forms or canvases.I thought that for each screen on an app you would create a form. Instead I have seen apps that use several canvases for one form, each representing a screen. Please help!

    This all depends on what you want the Form to do.
    You may have a single canvas/window within the form which shows all the columns on a table and the user can retireve records from the database and update the columns as he sees fit.
    However, you may want the user to perform a specific task and believe a wizard type approach may be better. In this case you could have several windows/canvases within the form which the user is taken through step by step until the action has been finished.
    You need to look at the functionality required and the solution which you believe would best fit this.
    John

  • Scrolling tab page canvase

    hi friends
    i have a problem with my tab page canvase.
    the width of my canvase is very large and i need horizontal scroll bar
    form my canvase,but the horizontal scroll bar of window cannot use forn tab page canvase.
    i appretiate any suggestion.
    thanks.
    shoja.

    Hi puthanampatti,
    Thanks for your reply.
    Here sdi3 means showDetailItem3. I've tried but one error is raised.
    Error is : identifier sdi3 not found.
    My java code is:
    public String showTab() {
    sdi3.setDisclosed(Boolean.TRUE);
    AdfFacesContext.getCurrentInstance().addPartialTarget(sdi3);
    return null;
    i've a showDetailItem(Tab Page) which id is sdi3.
    But error raised.
    How to write it and solve it?

  • Integration of two Form and making a single form

    Hi All,
    I have developed two Oracle Apps Costume form
    Each form has there own logic and it has developed with the content cnavas.
    Now the client is interested to put both the form with single prompt and it is having TAB.
    Mence I need to do it in TAB canvas.
    Can Some one help me that how do I copy paste the logic and as well as the layout I developed in content canvas to Tab canvas.
    so that my rework will minimize.
    If Any body has any idea please let me know.Its urgent.
    In the mean time I am also trying in some different ways.
    Thanks
    Nihar

    Just been trying this (in a quiet moment in the office), and I would suggest:
    Decide which will be the target form.
    In the target form create canvases to match the source form.
    Drag the blocks in question from the source to target form (visible item should appear on the corresponding canvas).
    Create the tabbed canvas.
    Drag items from other canvas to tabbed canvas.
    Make sure everything is in the right blocks and on right canvases.
    Drop the objects you no longer need.
    Make everything look pretty.
    Make sure navigation works.
    Go home for tea.

  • How do I display Canvas Graphic image (Not Iconic button) from jar file

    Hi all,
    I am currently using Forms 10g.
    I have gone through the tutorials on how to add Button Icons into Jar files for web enables forms .....so far so good
    This however does not explain what I actually want to do... since "graphic images are by nature embeded in the for rather than referenced ......so here goes ..
    I have a forms 10g application where all the individual form modules/canvases display a big banner (covering top 20% of the screen). This was done by importing the image straight unto the content canvases. As you know this now becomes a "graphic Image" now embeded(& not referenced by file name) on the canvas. Also bear in mind that this is actually different from an "Image Item" which is a block object.
    I dont know if this is possible, but what steps do i follow to make the image part of a jar file as opposed to my current situation. Please let me know if possible or not so I stop waisting development time looking for answers :)
    Another question is how do i make this jar file a library object so that we can vary the image as we wish
    NB: one other trick which i can think of is to create a giant push button across the screen to display the image and then stick it in a jar file !
    Cheers
    css_jay99

    I don't know about embedded images imported in from the builder, but there is a way to use READ_IMAGE_FILE into a BLOCK.IMAGE_ITEM where the images are all in a jar file stored on the OAS.
    Metalink Note:137397.1 explains it in details.
    Tony

  • Mutiple Canvases Single form

    Hi,
    I'm facing a problem of having multiple canvases(3) in single form.
    I've two Data blocks(Master & Detail). Master having one canvas. But details have two different canvases.
    I've created 3 different menus for 3 canvases.
    say Master,Detail1,Detail2. Now the problem is when i try to open detail1 or detail2 from oracle apps menu it opens master canvas only.
    i've created functions in apps & in NEW_FORM_INSTANCE trigger coded like
    If (fnd_function.current_form_function = 'CRM_FC_PPC') then
    GO_BLOCK('CRM_CUSTO_FORCAST_DET');
    SHOW_VIEW('PPC');
    HIDE_VIEW('CUST_FORECAST');     
    HIDE_VIEW('SHIPPING');
    Elsif (fnd_function.current_form_function = 'CRM_FC_SHIP') then
    SHOW_VIEW('SHIPPING');
    HIDE_VIEW('PPC');
    HIDE_VIEW('CUST_FORECAST');     
    Else
    SHOW_VIEW('CUST_FORECAST');
    HIDE_VIEW('PPC');
    HIDE_VIEW('SHIPPING');
    Go_item('CRM_CUST_FORCAST_HDR.CUSTOMER_ID');also my master canvas is Content & details are stacked. should i create different windows for details canvases ? i also did that but failed.
    what could be the solution here ?
    Forms 6i
    DB 9.2
    Regards

    Hi,
    Sorry for delayed reply.
    Francois,
    I've tried with go_item but it doesn't worked. i knew it & tried it before asking here. but thanks anyway.
    Ahmed,
    i've only one window show all these canvases.I'm now trying with multiple windows.
    The code is as follow
    If (fnd_function.current_form_function = 'IRS_CRM_FC_PPC') then
         GO_ITEM('IRS_CRM_CUSTO_FORCAST_DET.CUSTOMER_ID');
    Set_window_property('CF_PPC',VISIBLE,PROPERTY_TRUE);     
    Set_window_property('MAIN',VISIBLE,PROPERTY_FALSE);     
    Set_window_property('CF_PPC',TITLE,'IRS CRM PPC Details'||:global.div);
    GO_BLOCK('IRS_CRM_CUSTO_FORCAST_DET');
    SHOW_VIEW('PPC');
    HIDE_VIEW('CUST_FORECAST');     
    HIDE_VIEW('SHIPPING');
    Elsif (fnd_function.current_form_function = 'IRS_CRM_FC_SHIP') then
    SHOW_VIEW('SHIPPING');
    HIDE_VIEW('PPC');
    HIDE_VIEW('CUST_FORECAST');     
    Else
    SHOW_VIEW('CUST_FORECAST');
    HIDE_VIEW('PPC');
    HIDE_VIEW('SHIPPING');
    Go_item('IRS_CRM_CUST_FORCAST_HDR.CUSTOMER_ID');Regards
    PS. Master is Content & details are stacked.
    Edited by: user10569054 on Apr 5, 2010 3:10 PM edited for canvas details

  • Is there any way to get the canvases names on the form

    i have a form in Orcle 6i
    i want when the form load i get the names of the Canvases on the Form automatically
    to change their visual attribute
    is there any way to get the name of the canvases on the form automatically
    Thanks in advance

    The amount of time to evaluate each item in a Form is a lot less than you think. You are dealing with milliseconds. Worse case scenario, you might add 1 second to your form load time.
    I think Francois's suggestion is the best solution, but if this is still too much time, you might concider creating strategic When-New-Item-Instance triggers on an item in each of your canvases that would perform what you want to do.
    This will most likely cause problems of its own, but it is an alternative.
    Food to get the thought process flowing... :-)
    Craig...

  • Problem with Two tab canvases in a form

    Hi Experts,
    I am working on Oracle forms 10g (OS: Windows7) from last 1 year. I have got a requirement to create a form with one tab canvas CAN_TAB (with 2 tab pages) in main page and a pop up tab canvas ASN_SPLIT_TAB(with 2 tab pages). Now the problem is whenever we click on tabs it will fire WHEN-TAB-PAGE-CHANGED trigger and executes the complete code. As a result even if i click a tab page in CAN_TAB canvas it will fire for ASN_SPLIT_CANVAS as well. Check the below code (WHEN-TAB-PAGE-CHANGED). Now i have to differentiate between two tab canvases so that i can use IF-ELSE statement to overcome this problem. Please share your useful comments.
    BEGIN
    Lv_Toppage := Upper(Get_canvas_property('CAN_TAB',Topmost_Tab_page));
      if Lv_Toppage = 'LINES' THEN 
      go_item('shipment_summary.shipment_reference');
      show_view('CAN_LINES');
      show_view('CAN_SCROLL');
      elsif Lv_Toppage = 'ATTRIBUTES' THEN
      go_item('shipment_summary.shipment_reference');
      show_view('CAN_ATT' );
      elsif Lv_Toppage = 'AUDIT' THEN
      go_item('shipment_summary.confirmedby');
      show_view('AUDIT');
      end if;
    Lv_Toppage := Upper(Get_canvas_property('ASN_SPLIT_TAB',Topmost_Tab_page));
      IF Lv_Toppage = 'INVOICE_SPLIT' THEN
      show_view('ASN_SPLIT_STACK');
      go_item('ASN_INBOUND_CATEGORY_SUMMARY.brand_representitive');
      ELSIF Lv_Toppage = 'SUPPLIER' THEN
      go_item('CONTROL.cancel_but');
      END IF;
      hide_view('ASN_SPLIT_STACK');
    END;

    Thanks Craig. You made it happen..!! Below code is working fine for me.
    IF :SYSTEM.tab_new_page = 'LINES' THEN
      go_item('shipment_summary.shipment_reference');
      show_view('CAN_LINES');
      show_view('CAN_SCROLL');
    ELSIF :SYSTEM.tab_new_page = 'ATTRIBUTES' THEN
      go_item('shipment_summary.shipment_reference');
      show_view('CAN_ATT' );
    ELSIF :SYSTEM.tab_new_page = 'INVOICE_SPLIT' THEN
    END IF;

  • Forms 9i Compatibility - Stacked Canvases

    I'm currently working on a forms screen that implements a horizontal scrollbar using stacked canvases and multiple viewports all within the same window.
    My boss wants to make sure that this form would be easily migratable to Forms 9i (from Forms 6i) when we eventually switch.
    Is there a cause for concern? Has anyone used stacked canvases on Forms 9i with horizontal scrolling?
    Thanks,
    Gio - [email protected]
    Giovanni Jaramillo
    AMGEN Inc. - Sales & Marketing Information Systems
    Thousand Oaks, CA 91320-1799

    Hi Giovanni,
    I have a form that implements one stacked canvas with one viewport (horizontal scrolling) all in the same window.
    It works fine but for one strange problem,
    when the form is run and you click on any item on the stacked canvas, the whole viewport becomes blank.
    I am at a loss why. Haven't reported it though since i have been a bit pre-occupied with other things but now is as good a time as any.
    Thanks for bringing it up.

  • Forms 6i - Two Tab Canvases

    Hi. I have a form with 2 canvases of the Type 'Tab'. The first is named 'top canvas' and second is named 'bottom canvas'. Each tab canvas has 3 tab pages under it.
    My problem is that when the user clicks one of the 6 tab pages I need to determine which tab page was clicked.
    I was able to do this when I had only one canvas of the Type 'Tab' by doing the following:
    tp_nm := GET_CANVAS_PROPERTY('TOP_CANVAS', topmost_tab_page);
    tp_id := FIND_TAB_PAGE(tp_nm);
    tp_lb := GET_TAB_PAGE_PROPERTY(tp_id, label);
    IF tp_lb LIKE 'Details%' THEN
    go_item('to_do_mteam.hide_cursor');
    ELSIF tp_lb LIKE 'Droppers To Call%' THEN
    go_item('dropper.hide_cursor');
    END IF;
    But since I now have 2 canvases of the Type 'Tab' I can't hard code the canvas name (e.g. 'top_canvas') like I did above because the tab page could be on either the 'top_canvas' or the 'bottom' canvas. And BOTH canvases will always have a topmost_tab_page.
    Can anyone advise me on how to solve this issue? Any help would be greatly appreciated!

    :system.event_canvas
    Not documented. See thread here:
    Re: System.Tab_New_Page - with multiple tab canvases

  • Mouse coordinate in oracle form canvase

    Hi,
    Is there any way to know the mouse coordinate when the mouse is moving in oracle form canvase.
    I will appreciate for help..... Thanks.
    Regards,

    System variables should give u information
    this forms example might help
    /* Trigger:  When-Mouse-Click
    **   Example:  Dynamically repositions an item if:
    **             1) the operator clicks mouse button 2
    **                on an item and
    **             2) the operator subsequently clicks mouse button
    **                2 on an area of the canvas that is
    **                not directly on top of another item.
    DECLARE
       item_to_move       VARCHAR(50);
       the_button_pressed VARCHAR(50);
       target_x_position  NUMBER(3);
       target_y_position  NUMBER(3);
       the_button_pressed VARCHAR(1);
    BEGIN
       /* Get the name of the item that was clicked.
       item_to_move := :System.Mouse_Item;
       the_button_pressed := :System.Mouse_Button_Pressed;
       **  If the mouse was clicked on an area of a canvas that is
       **  not directly on top of another item, move the item to
       **  the new mouse location.
       IF item_to_move IS NOT NULL AND the_button_pressed =  '2' THEN
          target_x_position := To_Number(:System.Mouse_X_Pos);
          target_y_position := To_Number(:System.Mouse_Y_Pos);
          Set_Item_Property(item_to_move,position,
              target_x_position,target_y_position);
          target_x_position := NULL;
          target_y_position := NULL;
          item_to_move := NULL;
       END IF;
    END; plz mark correct/helpful if it is

  • Sharing data between two canvases on the same form ?

    Hello,
    I have one form with two canvases and two data blocks.
    Datablock A and datablock B are same tables.
    The reason I split is so I can have a search field on canvas A, then after executing the query, I want to populate canvas B.
    I'm having trouble sharing the data across both data blocks.
    Note: I set up a relation in datablock B to correspond with A, and I've chosen field name "Horse" to be my master and detail item.
    "When-button-pressed-trigger" --> Here is part of my code after the user presses the "Search" button (in datablock A).
         execute_query;
         SHOW_VIEW('CANVAS_HORSE');
         HIDE_VIEW('CANVAS_SEARCH');
         :fox_horse.horse := :fox_horse1.horse     ;                         GO_BLOCK('FOX_HORSE');
    When I go back to my "FOX_Horse" datablock, why is the :fox_horse.horse field the only one populated? I though by creating a relation btwn the two blocks they would syncronize automatically ?
    Any advice ?
    Thanks,
    Bob

    Alex,
    I have tried your suggestion, yet I'm still having a problem once I issue my execute_query command.
    In my Search button I have this code:
    BEGIN
    :fox_horse1.horse := :fox_horse.horse;
    GO_BLOCK('FOX_HORSE1');               
    execute_query;
    END;
    Note that FOX_HORSE is NOT a database block (as you suggested), but FOX_HORSE1 is a database block.
    So when I click on the "Search" button I can see the :fox_horse1.horse field getting populated immediately, but then the system asks me if I want to save changes. When I say NO, the actual data block portion of my screen just defaults to the first record, so my exec_query show no effect at all.
    What am I doing wrong in my search button trigger ?
    Thanks so much for your advice,
    Bob

  • The Forms LAF Project - Gradient Color for Tab Canvases

    Hi,
    I have the following two issues.
    1. It appears that the Gradient Color works only for the first Tab.
    The rest of the tabs are not changed.
    1.1 I can see some delays during the 'coloring' process. Basically I can see the original color and then the Gradient color being applied.
    2. I can also observe the original color around the tabs. Not all canvas is colored.
    This is also is visible in a doc images in a white paper.
    Please advise.
    Thanks,
    Michael

    Hello,
    This is true that the Forms standard Java function used to set the background color of the unselected tabs does not make the job, and I do not know why (no action and no error). I think that it could come from the colorscheme selected.
    Secondly, the delay comes from the fact that the tab is painted after the Forms standard process.
    In fact, it is not always possible to overwrite all the Forms standard behaviours, I'm affraid.
    Francois

Maybe you are looking for