Tabular form with a metric/imperial selector

Hi,
Oracle 10g database and APEX 3.2.
I have a tabular form based on a simple query (SELECT rock_type, depth FROM rock_samples) with an editable "depth" field. The user cannot add or remove records, but can make updates to that one field. MRU process is handling that.
The underlying table "rock_samples" stores "depth" in meters.
I need to somehow allow the user to select either metric system (meters) or imperial (feet). Based on that selection the displayed deths should change. However, regardless of the selection the updated values should be saved as meters.
Any suggestions on how to implement this would be most welcome, as I cannot think of anything.
Thanks,
Constantine

Hi Constantine,
Sorry my code was slightly confusing. :P1_SELECTOR would be the name of your selector with "Metric" and "Imperial" in it, and this would have to submit the page on select. You can still use the decode in your select statement to display the initial value.
SELECT col1, col2, DECODE(:P1_SELECTOR, 'M', depth, 'I', (depth*3.2808399)) depth_result
from table_nameSaves/Inserts will be trickier. This could probably done with Javascript, but seems like it would be best handled by a trigger just before insert/update on your table. But then you need a way of knowing if the :NEW values are in Metric or Imperial, so you would need a "dummy" value or flag in your table that the incoming values are in Imperial and need converting to Metric.
Hope this helps,
Aaron

Similar Messages

  • Bug: 4.1.1 Tabular form with all columns conditional

    I need to make all the columns in a tabular form conditional because in some situations the editable elements should not be shown. For some reason just changing the columns to conditional stops the form working, the ApplyMRU/ApplyMRD process runs but does not action the changed rows. I can't figure out why at all or any workaround.
    You can easily reproduce this in 4.1.1 by creating a tabular form with the wizard selecting one column in the form. Then make the row selector colunn and your editable column conditional using the plsql expression 1=1. The form is displayed the just the same with these true conditions but it doesn't work. How weird is that?
    Rod West

    Rod,
    In your scenario the tabular form rendering engine is unable to place the hidden, internal tabular form status columns in your form, i.e. the columns that contain checksums, etc. The logic that places these columns looks for the last unconditional, visible column in your tabular form, and includes the hidden fields there. So you need at least one column that's always shown for this to work. This can be an otherwise empty column. I filed a bug (#13881803) for this, so we can look into improving this logic.
    Regards,
    Marc

  • Tabular form with non base table field

    I want to develop a tabular form with
    1. A non-base table edit field to accept a value
    2. Insert/update another table based on the input value
    3. Also, computed field on each row based on other fields on the records (like post-query trigger in oracle forms at block level - for each row)
    Thanks,
    Rachna

    Thanks for your reply.
    Varad, I like the link you sent me. It has a lot of good information.
    I created a process (under page processing) called "Update/Insert Process" that dosn't seem to be working.
    Question, I created a manual tabular form with SQL Query and created a process (under page processing) called "Update/Insert Process", then I check for each record in the tabular form. If the old value <> new value then I update/insert in the new table.
    Any step by step will be highly apprciated - to create process/validation etc.
    Thanks,
    Rachna

  • Tabular form with select list not updating

    I have created a tabular form with a dynamic select list
    select primary_key, column1,
    htmldb_item.select_list_from_query(10,column2, 'select descr d, column_value r from lookup_table where column_value = '||column1) column2
    from main_table
    The select list appears to work correctly but the new value is not saved to the database. I assume this is because the tabular form element display as field for column2 is set to "standard report column" but when I select any of the "display as text" or "LOV" options either the current data is not displayed or errors are generated.
    Any suggestions?
    Thanks,
    Bob

    Hi Ian,
    As you have seen, sorting on the project_manager_id column will sort by the id value rather than the textual value. This is, of course, because this is the value in the field.
    I haven't tried this out, but one thing that may work is the fact that you don't have to include the ORDER BY fields within the SELECT statement. You could, for example, do:
    select p.project_number, p.project_manager_id
    from projects p, users u
    where p.project_manager_id = u.id (+)
    order by u.name
    Obviously, you won't be able to do this in the existing statement as you would then be blocked from using column sorting. However, it implies that if you could construct the SQL statement dynamically, appending appropriate ORDER BY strings to the end of the base select statement, you could sort by anything you like. This does, of course, mean that you would have to create a mechanism to allow the user to select the sort order, generate the appropriate string and reconstruct the entire sql statement.
    I had had a similar request quite a while ago. The underlying reason for that request turned out to be that the user just wanted to quickly locate records relating to one person. In the end, we agreed that a search filter was the best thing to do.
    Regards
    Andy

  • ADD ROW in tabular form with new max value for a certain field

    All,
    I have a tabular form with an 'ADD ROW'-button.
    When a row is added the field 'TemplateID' should get
    automatically a new value which is MAX from TEMPLATEID + 1.
    I would be very glad, if someone has a hint for me.
    Thanks in advance,
    lucio

    Hi
    the cause of not seeing the 'Default Item Field' is,
    that during creation of a 'Tabular Form' the column with the
    primary key doesn't get that feature, why so ever.
    I still hope that someone could give me a hint why that code isn't working:
    function SetNewID(vDBID)
    v_check = $v('P20_MAX_TEMPLATEID');
    pNd = $u_Carray(vDBID);
         for(var i=0;i<pNd.length;i++){
              var node = $x(pNd);
              node = $x_Check_For_Compound(pNd[i])
              var lTr = $x_UpTill(node,'TR');
    updateRow = lTr.rowIndex - 1;
    document.wwv_flow.f02[updateRow].value=$v(v_check)
    Many thanks in advance
    lucio                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Error tabular form with validation

    Hi everyone,
    I have built a tabular form with the wizard and I every time a validation check is done and fails,
    getting an error in the place where the tabular form should be. I get to see the tabular form again when pressing the cancel button or refreshing the page.
    I'm not quite able to reproduce this error, but I was wondering if anyone knows of this error and a workaround for it.
    The error that's displayed is: report error: User-Defined exception
    using Apex version 4.1.1. I've already tried building a new tabular form, but that didn't seem to resolve the issue.
    I would appreciate the help.
    Kind regards,
    Cleopatra

    Possible solution?
    Validation returns : no data found + unhandled user-defined exception
    See post by user 794496 there.

  • Custom Tabular Form with working days by quarter

    Hi All, I'm trying to create an application to improve an old excel that some people use in my office. I came across a challenge: create a page when a user can submit for each business day the amount of hours worked, the real problem is that I have to show on the same page 40 business days that need to be dynamic, I mean that there is a "period" table that has a start date and end date, the range between those two MINUS the Saturdays and Sundays should be the amount of COLUMNS that the report show.
    create table CT_PERIOD(
    PERIOD_ID VARCHAR2(6),
    PERIOD_FY VARCHAR2(4),
    PERIOD_QUARTER VARCHAR2(1),
    PERIOD_START_DATE DATE,
    PERIOD_END_DATE DATE,
    PERIOD_DAY_COUNT NUMBER,
    insert into ct_period values ('1', 'FY14', 'Q1', to_date('01-JUN-2013', 'DD-MON-YYYY'), to_date('25-AUG-2013', 'DD-MON-YYYY'), 56);
    commit;
    I searched in the web for some example of this with no luck, if somebody did something like this or knows where I can see an example that would be great!
    Thanks!

    Hi guys,
    I'm having exactly the same problem, I need a tabular form with days as columns to add actual working hours for each day as for each row ( task)

  • Apexlib tabular form with lov gining ora-00900

    Hi,
    When I add a tabular form with 3 items and chagne two of them to a LOV display item I get the following error:
    ORA-00900: invalid SQL statement
    Debug:
    1: begin
    2: ---------------------------------------------
    3: -- Get metadata of page
    4: ---------------------------------------------
    5: ApexLib_Page.generateBrowserData;
    6: ---------------------------------------------
    7: -- Get metadata of items and tabular forms.
    8: ---------------------------------------------
    9: ApexLib_Item.generateBrowserData;
    10: ApexLib_TabForm.generateBrowserData;
    11:
    12: ---------------------------------------------
    13: -- Send data for cascading lovs
    14: ---------------------------------------------
    15: ApexLib_Lov.generateBrowserData;
    16:
    17: ---------------------------------------------
    18: -- Send NLS data for date formats and numeric
    19: -- format masks and translated error messages
    20: ---------------------------------------------
    21: ApexLib_Browser.setNlsData;
    22: ApexLib_Browser.setApexLibMessages;
    23:
    24: ---------------------------------------------
    25: -- Active different navigation improvements
    26: ---------------------------------------------
    27: ApexLib_Browser.setLovIconsNonNavigable;
    28: ApexLib_Browser.setLRButtonIconsNonNavigable
    29: ( pLeftClassName => 'L'
    30: , pRightClassName => 'R'
    31: );
    32: ApexLib_Browser.checkForLovKey;
    33: ApexLib_Browser.checkForUpDownKey;
    34:
    35: ---------------------------------------------
    36: -- Active different UI improvements
    37: ---------------------------------------------
    38: /* optional
    39: ApexLib_Browser.setTextareaProperty
    40: ( pProperty => ApexLib_Browser.VERTICAL_RESIZEABLE
    41: );
    42: */
    43: ---------------------------------------------
    44: -- Init browser validation
    45: ---------------------------------------------
    46: ApexLib_Browser.initValidation
    47: ( pShowRequiredWarning => TRUE
    48: );
    49: ---------------------------------------------
    50: -- Has to be the last statement!
    51: ---------------------------------------------
    52: ApexLib_Browser.flushJsBuffer;
    53: end;
    Any idea?
    Erwin

    I solved it.
    I modified a bit my code "On load Page". In case of LOV i have changed this condition
    if (l == undefined) {
              document.wwv_flow.f03.disabled = true;
          }with this
    if (l == 105) {
              document.wwv_flow.f03.disabled = true;
          }I don't know why 105 instead of undefined, but this works. I give 105, with alert on length.

  • Tabular form with onhover comment column

    Hi guys!
    I was wondering if anyone of you saw an example of onhover item help with query...I mean..lets imagine a tabular form with a text field Comment column. Comment column has width 50 but we all know that comment ale like to be long ;) I'd like to see full lenght comment every time I put my mouse pointer on a specific row. Is it possible ? If yes can you show me an example or point me in a good direciton...(I dont know javascript well..)
    With regards,
    PsmakR

    PsmakR,
    Yes it is possible. Currently the ShowPopup script displays the value of current cell (hv_item.value). You can just simply replace with whatever you like.
    If you're talking about the value of other columns, you may have to use document.wwv_flow.fXX to refer to it. Again, see my other sample of [Tabular Form Column Read-only|http://apex.oracle.com/pls/otn/f?p=57043:4] . Patrick Wolf wrote about this as well in his [ Which Tabular Form Column is mapped to which Apex_Application.g_fxx array|http://www.inside-oracle-apex.com/which-tabular-form-column-is-mapped-to-which-apex_applicationg_fxx-array/] .
    Ittichai

  • How to build a tabular form with a by the user insertable primary key

    I have build a build a tabular form with the wizzard. Wat should I do to make the primary key insertable by the user.
    When I change the PK from 'hidden' to 'text field', I get a checksum error when i am trying to insert.

    Fred: When you use the tabular form wizard, notice the help text on the right hand side of each page. The help page where you define the type of primary key (Existing trigger, PL/SQL function, existing sequence) clearly states
    Tabular forms do not support user entered primary key values
    Makes sense when you think about it. The MRU process needs to determine whether to update a record or insert a new record. It does that by comparing the checksums (and/or) pk values from when the page was first rendered and then when you make changes and submit it. Newly inserted rows will have a blank PK/checksum.
    If you allow user to change the PK, how will the system know which rows are new and which ones are old?
    For example, lets say you have
    create table t
    pk int primary key,
    data varchar2(10)
    )You have 2 rows
    1 red
    2 yellow
    If the PK were to be editable, user could go in and change the above to
    2 red
    1 yellow
    Now what? Would you like the system to create a new row with 1/yellow or change the existing pk=1 row to yellow? Same with the other row.
    Bottom line: The built-in processes dont support this. You can always write your own manual tabular form and implement whatever you logic you wish in your After Submit processes.
    Hope this helps.

  • Horizontal scroll bar in tabular form with columns freeze

    Hi All,
    I have a requirement where i have to create a tabular form in which the first three columns should be in freeze mode and it should have a horizontal scroll bar.
    with the help of Google i found an example [http://apex.oracle.com/pls/otn/f?p=267:46]
    I want the same thing as in the example but with first three columns in freeze mode
    But could not find out how to create this column freeze and horizontal scroll bar.
    Let me know if you have any idea on this
    Thanks in advance,
    Ananth

    Hi,
    It is easy to look at the page source and see what they have done
    if you search for var d1 = document.getElementById("d and d1 you see some javascript doing the magic.
    Thanks

  • Select item on a Tabular form with a different dynamic LOV on each row

    I would like to use a tabular form where one of the columns is a dynamic LOV based Select, and where that dynamic LOV refers to one of the column values on each row.
    So if the tabular form represented a list of teams and the LOV-based Select column was the current team leader, I would want that select list to be populated only with the members of that team (different for each row). Since the list of team members is in some other table (all_players or something) I would want to populate the LOV with a query with a where clause that selected only those players records with a team-membership equal to the current tabular form's team id. So, on each row that select list's contents would be different.
    -- Justin

    I'm beating a dead horse here but I did get something to work with "less" code. My current needs do not require me to cascade drop downs, I only want 1. You can use the query like the in the first reply (but I don't have a table with joins) I created a simple two column table dept_emp with 4 records 10,null 20,null .... I want to fill the nulls with an employee but ONLY an employee that matches the dept. (Same concept of team leader and members).
    Here's the query:
    select apex_item.display_and_save(1,dept) dept,
    apex_item.select_list_from_query(2, name, 'select ename from emp where deptno='||dept) name
    from dept_emp
    I removed the code that was there already (ApplyMRU) and just put in this code:
    BEGIN
    FOR i IN 1..HTMLDB_APPLICATION.G_F01.COUNT LOOP
    UPDATE dept_emp
    SET
    name=HTMLDB_APPLICATION.G_F02(i)
    WHERE dept=to_number(HTMLDB_APPLICATION.G_F01(i));
    END LOOP;
    END;
    The G_F01 matches the column 1 and so forth. There's more documentation but little explanation at:
    http://download.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25309/api.htm#sthref2171
    The thing I could not get to work was a dynamic message
    #MRU_COUNT# row(s) updated, #MRI_COUNT# row(s) inserted.
    Not sure when the MRU_COUNT gets populated (probably in the routine I removed ;))
    You're probably way past me by now but I like to have as little code as possible when it comes to maintaining an app. That's why I liked oracle forms so much. This kind of stuff was pretty easy to do.
    Thanks again everybody!

  • Tabular form with Popuv LOV doesn't work with onchange event

    Hi all.
    I have a problem with tabular forms, Popuv LOVs and javascript.
    I have created one tabular form, I want to put a value in "my_field" field when a user selects a new value from other field called "my_list", I have this code:
    <script type="text/javascript">
    function putValue(pThis)
        var vRow = pThis.id.substr(pThis.id.indexOf('_')+1);
        html_GetElement('f06_'+vRow).value = '0000';
    </script>and this for Element Attributes:
    onchange="putValue(this);"Everything works well when I choose "Display as Text Field", but if I change this option to "Display as Popup KEY LOV" or "Popup LOV" it doesn't work, I mean "my_field" stays without any value.
    I'm using Oracle Application Express Release 4.0 and Oracle 11g
    Please help.
    Regards.

    Hi Peter.
    Thanks, yes, in fact the position of my column changes, but it doesn't work even with the correct element, I have made a lot of proves and it seems that APEX constructs POPUPS LOVS in a different way and that's why "onchange" does not work.
    With this thread: Re: onchange not work on popup lov for a field on collection I have a half solution, It works for existing rows, but it doesn't for added rows.
    I have solved this problem calling a function that set the onchange event to every row when "ADD ROW" button is pressed, now it works without problems.
    Regards.
    Oscar.

  • Create tabular form with blank records

    Hi,
    I want to create a tabular form for INSERTing multiple records! However, I am having difficulty working out how to render the form as 'empty' i.e. no existing table records appear on the Form. I tried to adjust the query the form is based on so the 'automatic' query returns no records, but this caused the fields to 'disappear'. Can anyone recommend the best way to do this (if possible),
    regards,
    Kevin.

    Hi Tyson,
    I used the Advanced Dynamic Action wizard and at the point when I specify the Page Load event, a drop down list of conditions is available ( but does include NOT EXISTS ) so I kept the default 'No condition'. I associated the DA with the Event Source. Without editing the DA the form shown 10 blank rows in addition to 10 rows populated from the table. On subsequently editing the DA to add the NOT EXISTS condition you mentioned, the additional blank rows did not appear.
    I had exactly the same behaviour when associating the DA with the 'Form' Region! Is the bottom line simply that I can't have a totally blank form if the table it is based on is not empty?
    regards,
    Kevin.

  • Tabular Form With Dates Is Driving Me Nuts!

    Hello,
    Still new to the world of APEX/HTML-DB, and I'm pulling my hair out with something right now.
    I have a tabular form that is updating a table. I'm pre-populating the date field with a default value of SYSDATE and it's 'Display as Text (Saves State'. It shows fine, but when I submit to the database all the other fields are input EXCEPT my date field which is always blank! The field in the database is set to NOT NULL, and it doesn't give me an error. Where is my date going!?
    The second problem I have is that SYSDATE is in GMT, and I need CST. How can I convert that? I used the to_char(current_date, 'DD-MM-YYYY HH24:MI') but it always gives me an error.
    Any help would be most appreciated, as this is the last thing I need to do to get my simple app up and running.

    Here is an example of my trigger...
    create or replace TRIGGER "bu_MY_ORDER_TABLE"
    before update on "MY_ORDER_TABLE"
    for each row
    begin
    :new.order_date := :old.order_date;
    end;
    -- order_date is a TIMESTAMP(6) set to default of sysdate at table level.
    :>) It works great for me... Bill

Maybe you are looking for