Master/Detail - At wits end

I am trying to learn Application Express and I have read the threads that sorta relate to the following error message but I still cannot get it to work. Can anyone help we with the following error please? Thanks
I am trying to create a Master/Detail form following the instructions in the tutorial but applying it to my own project. When I go to add a record to the detail table, I get the following error:
Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-01400: cannot insert NULL into
Any help in resolving this would be appreciated.
Thanks

Marc,
Thanks for your help. I resolved the problem by writing a pl/sql procedure to load the key properly. And it works like a charm. Now I can stop worrying and move on to the next problem of which I am positive there are many.
Many, many, many thanks.
malcolm

Similar Messages

  • At my wits end re Saga of erratic Broadband connec...

    I guess there are many people with connection speed problems but are they general or related to local exchanges or what.
    I have been a customer of BT Broadband based in Tavistock Devon, for 2 years or more and during this time my connection speed has been consistently reliable and fast.  It started of at around 7.5Mb and increased last year to 14 Mb as they switched me to a faster link at the exchange and I have consistently achieved those speeds until 14th April 2012 when after losing web access totally and being put through the test hoops by the BT support people in India, it was agreed that my Home Hub 2 had failed.  I could only finally prove this by connecting up an old Netgear hub I had and proving that everything was then OK, despite the fact that I kept telling them that everything had worked satisfactorily for two years and had only just gone wrong.  They seem fixated on - either the amber light comes on the router - in which case it's the line, or no amber light shows on the router in which case it's a wireless fault and it's down to you the user to fix it.
    They agreed to send me a new hub and after 3 days (despite them promising it would be a next day delivery) I recieved a new Home Hub 3 which I duly connected up and everything seemed OK.  However, my wife uses a DS connected over the internet to play online with friends around the world.  The problem is this game will only work on a hub with WEP security set ( It doesn't like WPA or WPA2) so I have had the previous router set to WEP and everything has worked OK.  When I try this on the Home Hub3, the game will not work and having spoken to Nintendo, they cannot explain why that would be.  BT also cannot explain why it would be different with HH3 and decided to send out an engineer to me but to also ship me a brand new Home Hub 2.  The engineer duly came out and checked my internal connections, checked the line between my house and the exchange and pronounced everything in order.  I had to agree on that day running my normal BB Max speedtest, I was getting nearer 10Mb and assumed that as I had switched routers there would maybe be a learning curve again and the speed would get back up to full speed after a few days.
    As everything seemed to be working apart from the DS, I assumed that I would be able to replace the HH3 with the HH2 when it arrived and everything would then be back to normal.  Well, it wasn't and after a few days the speed dropped back to almost zero.  Over the next couple of days the speed jumped around from between 436Kb to 4Mb but nowhere near the 14 Mb I had been getting.
    So back on the phone to India, and having gone through all the basic tests yet again, they agreed to send an engineer out who "understood" about wireless as they thought this would be more helpful.  The engineer was booked for 26th April and over the ensuing days, the connection speed bounced about from less than 1 Meg and up to 14Meg.  I had checked my home wireless network, paying paricular attention to the wireless signal strength using InSSIDER which shows the amplitude of the wireless signal from any router in the vicinity.  One thing I noticed was that th HH3 signal was almost as weak as my neighbours HH2 and also seemed to be quite erratic.  I tried changing channels which did improve it a bit. On the 25th April in the afternoon, I lost my telephone connection for about 15 minutes and then amazingly, the internet connection speed jumped up to 14 - 15Mb almost immediately.  I was looking forward to the Open Reach engineer visiting hoping he would be able to determine what was wrong.  He arrived at 8:15 on the morning and I first asked him whether anything had been changed at the exchange end yesterday as things had now seemed to be back to how they had been originally.  He said, I don't know, I'm not based at the exchange but from what you describe it could be a "cut and move" or some similar term, I can't remember exactly, but he implied that they may have moved my connection to a different port in the exchange.
    We then went upstairs where I have all my system and where the line comes up from the master socket downstairs by the street entrance.  He then asked me how many devices I had connected to the HH3 router.  At that moment I only had my own desktop and my wife's laptop.  He asked how many devices I usually have connected to the router and I went through a list - 1 Desktop PC , 2 Laptops, A PS3, a Nintendo Wii, a nintendo DSiXL, A Humax PVR, an Epson printer and finally my daughters Android phone when she was visiting.  I made it clear that not all theses devices would be accessing the internet at once, and at most I might have three or four devices connected at the same time.  Well that's what your problem is, he said, you can't connect more than 3 or 4 devices to this router!  Who says I asked,  I just did he replied.  Yes I know that but where are you getting that information from?  Well you can't just connect loads of devices to the router, it's like telephone extensions, you can't just connect any number of phones, there's a limit to how many the router will take.  I was astounded by this comment and said so.  He seemed to know nothing about wireless networks and when I said that I had used similar set-ups in an office environment, he said well you only have a domestic router and that has a limit to the number of devices.  I said, but BT offer the same router to their Business customers.  He was really aggresive and patronising and I was becoming very frustrated by his attitude so I said maybe he had better do his tests and then leave.  At this he just said, I don't have to put up with this, and stomped out of my home without doung anything.
    On 3rd May the Home Hub 2 arrived which I then connected up and everything seemd to work OK.  The connection speed seemed to be more or less stable at around 14Mb, so I concluded that something had been done at the exchange which had corrected the fault.  This was later confirmed when I spoke to the Indian support people again who recorded that there had been a line fault (low voltage on the line) which would have explained why my connection was erratic.  This had been corrected on 26th April.  I had contacted India again to complain about the way I had been dealt with and why it had taken so long to correct the problem.  They said they would arrange for a rebate on my Broadband rental as I had lost my service and I asked them also to look at compensating me for the trouble I had been put to trying to find the cause which they continually treated as a "wireless connection fault".
    They said they couldn't deal with that so they transferred me to the "Customer Service" department who then proceeded to ask me to phone back in few days, when the fault might be cleared.  I was at a complete loss as to what they were talking about, so just gave up.  Later I made a complaint about the Open Reach engineer and the loss of my time, on the BT website complaints form and yesterday I got an answer back saying that it sounded like a wireless fault and I should refer to their self help guide on the web.  This despite me telling them that the fault had been an exchange fault and nothing to do with wireless and had been working satisfactorily for the last two years.  Does'nt anybody at BT support listen to or read complaints properly? I have replied to that email accordingly, but I am now at my wits end because today the connection speed has been bouncing about from less than 1Mb up to a maximum of 4Mb again and I just don't know what to do.
    Is there anybody at BT who is prepared to take ownership of this problem and actually resolve it?  I heard on the news that BT's sales were down 4%.  Mr BT Chairman, have you thought that it might be something to do with the level of service you are providing to your customers?  I for one will be considering very carefully whether I renew my contract with you.  Any commecnts or suggestions would be very gratelfully received.  Paul Burton
    Solved!
    Go to Solution.

    ok then it is back to basic  tests  if you can go through all the notes  we can try and find your connection problems 
    Here are some help pages done by CL Keith http://www.btinternet.com/~cbeddoe/speed/Speed.html
    also post your full hub stats details shown in this link http://www.btinternet.com/~cbeddoe/others/adslstats.html
    Can you also post the full results fromBT Speedtest speedtester.bt.com  
    Have you tried connecting to the test socket at the rear of the master socket
    Have you tried the quiet line test? - dial 17070 option 2 - should hear nothing - best done with a corded phone. if cordless phone you may hear a 'dull hum' which is normal
    This is a customer to customer self help forum the only BT presence here are the forum moderators
    If you want to say thanks for a helpful answer,please click on the Ratings star on the left-hand side If the reply answers your question then please mark as ’Mark as Accepted Solution’

  • Questions on Master-Detail HTMLDB HOW-TO

    Hi all
    I have created a 3 page application based on the master detail how-to given at http://www.oracle.com/technology/products/database/htmldb/howtos/index.html
    Instead of DEPT and EMP tables I have PERSON and PERSON_ADDR tables. The PK of PERSON is the person_id and the PK of PERSON_ADDR is the person_id and addr_start_dt. Person_id column in PERSON_ADDR is obviously the FK to the master table PERSON(person_id).
    At first I had problems trying to create the pages themselves because the wizard always hides the person_id column on all the forms(and I don't want that,even though it is a sequence number I still want people to see it) , it being the PK, then somehow I managed it to display the person_id by replacing the EDIT link with the person_id itself. Now if a person already has an address and I click on EDIT then it copies the person_id values and others to the next page and all looks good but when I try to create a new address it does it ?? (It should take across the person_id as well)
    My PERSON report is on page 1, when I click edit against a person it takes me to page 2 where I can see+change all the person details plus I can see the person_addr details. When I click edit against a person address it takes me to page 3 and I can edit all the address details nicely copied to the new page but when I click CREATE on the page 2, then all the fields appear as NULL on page 3( all the fields but the person_id should be null here). How can I fix this ?
    Also, for my person address I would like to validate the address dates , there should be no overlapping start and end dates for a person's address. How to do this ? I think I will need to create a function to which I pass the person id and the new start and end dates and this function returns error message,if any, or null. I had a play around with validation and I think I need to use "function returning error text", what should I put in the "validate expression 1" box then...just something like
    begin
    my_function(param_1,param_2)
    end;
    If yes, then what variables would store the new start date and new end date of an address.
    Lastly, for every table do I have to user a sequence number or a trigger to define a primary key, what if the primary key is just a character code and I want the users to add it ?
    Thanks a lot in advance !!

    thanks Marc.
    Yes you are right, I used the 1.5 viewlet. I will try the master-detail wizard now.
    With the primary key problems, for things to work nicely in HTMLDB, do you suggest each and every tables should have a sequence number generated primary key ? We have some tables for various statuses like ACTIVE,CLOSED where these codes themselves are the primary keys, so you suggest making these codes unique keys but still have a sequence number PK ? Also when I want the users to enter the primary key themselves I will let them enter new ones but not update existing ones, so data entegrity is maintained.
    I was able to work out how to create validations using "functions returning error text" but my problem is I need to be able to compare what the user has just updated/entered with the data that already exists in the table. I have a table called person_Address having columns like person_id, start_dt,end_dt and various other fields. The primary key is person_id and start_dt and I need to put a validation which avoids any overlapping addresses. Overlap as in there can be only 1 active address for a given start and end date range. Does HTMLDB has something like :new.start_dt the way we can write database triggers ? Please suggest a way to do this.
    Lastly, how does HTMLDB handles error messages raised by table triggers. Can they be shown along with the item on the page as we can with the other HTMLDB validations ? I have many tables with all sorts of triggers and if any validation fails I generally do...raise_application_error(-20001,get_my_message(234));
    get_my_message function returns the message text for message number 234 . Will this message be displayed somewhere or not ? Do I have to duplicate my validations , once in the triggers and then in HTMLDB as well ?

  • Using bind variables in the model view for master detail

    Hi all,
    I have a master-detail views setup on the following two queries.
    In the first query below - I use two bind variables to collect the start and end date.
    you have to add (and :startDate = :startDate and :endDate = :endDate) or you will get errors - bind not defined in sql
    I then use the viewQueryCriteria to collect the data on a search panel - so far so good. (Make the bind variables required) along with the other criteria.
    The bind variables are displayed in the search panel and the data is entered correctly.
    The query executes and all is happy.
    VIEWOBJECT1
    SELECT DepositAccounts.COA_ID,
    ... ChartOfAccounts.ACCOUNT_CODE || ' ' || ChartOfAccounts.ACCOUNT_TITLE as description
    FROM DEPOSIT_ACCOUNTS DepositAccounts, DEPOSIT_ACCOUNT_DETAILS DepositAccountDetails, CHART_OF_ACCOUNTS ChartOfAccounts
    WHERE DepositAccounts.ID = DepositAccountDetails.DEP_ACC_ID
    and ChartOfAccounts.id = DepositAccountDetails.COA_ID
    and :startDate = :startDate and :endDate = :endDate
    Now I add the summation of a value (AMOUNT) to the view object (java - create view impl) to the VOViewRowImpl
    and everything works - the value is shown in the transient attribute formatted and looking nice.
    VIEWOBJECT2
    SELECT PostingBatchAccounts.AMOUNT,
    FROM POSTING_BATCH_ACCOUNTS PostingBatchAccounts, POSTING_BATCHES PostingBatches
    where PostingBatchAccounts.PB_ID = PostingBatches.ID
    and PostingBatches.SOURCE_DATE between :startDate and :endDate
    Now I need to add the start date and end date to the child query - before the view executes (or the summation is calculated).
    The attributes are in the where clause (PostingBatches.SOURCE_DATE between :startDate and :endDate) in VIEWOBJECT2 which is the child.
    I need the child records and the summation to work with the date restrictions.
    I would assume you could get access to the child view in the VOViewImpl file and set the bind variables there.
    Everything I find is based on the JSF - not the model layer - this should be fairly easy (and common). can anyone give me a hand on this?

    Hi all,
    I have a master-detail views setup on the following two queries.
    In the first query below - I use two bind variables to collect the start and end date.
    you have to add (and :startDate = :startDate and :endDate = :endDate) or you will get errors - bind not defined in sql
    I then use the viewQueryCriteria to collect the data on a search panel - so far so good. (Make the bind variables required) along with the other criteria.
    The bind variables are displayed in the search panel and the data is entered correctly.
    The query executes and all is happy.
    VIEWOBJECT1
    SELECT DepositAccounts.COA_ID,
    ... ChartOfAccounts.ACCOUNT_CODE || ' ' || ChartOfAccounts.ACCOUNT_TITLE as description
    FROM DEPOSIT_ACCOUNTS DepositAccounts, DEPOSIT_ACCOUNT_DETAILS DepositAccountDetails, CHART_OF_ACCOUNTS ChartOfAccounts
    WHERE DepositAccounts.ID = DepositAccountDetails.DEP_ACC_ID
    and ChartOfAccounts.id = DepositAccountDetails.COA_ID
    and :startDate = :startDate and :endDate = :endDate
    Now I add the summation of a value (AMOUNT) to the view object (java - create view impl) to the VOViewRowImpl
    and everything works - the value is shown in the transient attribute formatted and looking nice.
    VIEWOBJECT2
    SELECT PostingBatchAccounts.AMOUNT,
    FROM POSTING_BATCH_ACCOUNTS PostingBatchAccounts, POSTING_BATCHES PostingBatches
    where PostingBatchAccounts.PB_ID = PostingBatches.ID
    and PostingBatches.SOURCE_DATE between :startDate and :endDate
    Now I need to add the start date and end date to the child query - before the view executes (or the summation is calculated).
    The attributes are in the where clause (PostingBatches.SOURCE_DATE between :startDate and :endDate) in VIEWOBJECT2 which is the child.
    I need the child records and the summation to work with the date restrictions.
    I would assume you could get access to the child view in the VOViewImpl file and set the bind variables there.
    Everything I find is based on the JSF - not the model layer - this should be fairly easy (and common). can anyone give me a hand on this?

  • Requerying on Master Detail form

    Hi,
    Does anyone know how to set up PL/SQL code to automatically requery on a master detail form after insert/update? For example, if I insert a record on the master part of the form, I would like that record to automatically show up after the insert/update. Also, if I insert a record on the detail part of the form, I would like that record to automatically show up after an insert/update.
    Thanks,
    Martin

    Hi Krishnamurthy,
    Thank you very much for the code. The code for the most part acts like I want it to except when I initally insert a master record. In my case, I have the form set up so you have to insert a master record before you can insert any detail records. Therefore, after the user clicks save, that master record needs to come up. The code you gave me only brings up the current master record if you are inserting detail records (which is great, that is what I want it to do). I have modified the code you gave me so when a user is just inserting the master record, the master record automaticaly comes up rather than the first record in the table. However my code makes the form run slow (about 13 seconds to save). Do you know of another way that I can make the form act like I want it to. Below is my code.
    Thanks again,
    Martin
    declare
         l_msg                varchar2(255);
         l_key_value      number(10);
         l_key_value2      number(10);
         v_get_id           number(9);
         v_check_detail      number(9);
         CURSOR GET_ID IS
              SELECT MAX(A.PCH_ID)
              FROM PORTAL30.PCHEADER A;
         CURSOR CHECK_DETAILS IS
              SELECT DISTINCT B.PCD_ID
              FROM PORTAL30.PCDETAILS B WHERE B.PCD_PHC_ID = v_get_id;
    begin
         /*get the key field value from the Master Detail form to requery the details since the form will be cleared out after update */
         l_key_value := p_session.get_value_as_NUMBER(
         p_block_name => 'MASTER_BLOCK',
         p_attribute_name => 'A_PCH_ID',
         p_index => 1
         doSave;--- This is the default handler
         OPEN get_id;
         FETCH get_id into v_get_id;
         CLOSE get_id;
         OPEN check_details;
         FETCH check_details into v_check_detail;
    IF check_details%NOTFOUND
    THEN
         CLOSE check_details;
         /*get the key field value from the Master Detail form to requery the details since the form will
         be cleared out after update */
         l_key_value2 := v_get_id;
         /*get the message which is going to be displayed after update */
         l_msg := p_session.get_value_as_varchar2(
         p_block_name => 'MASTER_BLOCK',
         p_attribute_name => '_STATUS');
         /*now set the key field value in the Master Detail */
         p_session.set_shadow_value(p_block_name => 'MASTER_BLOCK',
         p_attribute_name => 'A_PCH_ID',
         p_value => l_key_value2,
         p_language => PORTAL30.wwctx_api.get_nls_language);
         WWV_MASTER_GENSYS_1(p_block_name => null,
         p_object_name => null,
         p_instance => null,
         p_event_type => null,
         p_user_args => null,
         p_session => p_session);
         /*put the message(like 'Updated one master record' ) back in the screen */
         p_session.set_value(p_block_name => 'MASTER_BLOCK',
         p_attribute_name => '_STATUS',
         p_value => l_msg);
         p_session.set_value
         (p_block_name => 'MASTER_BLOCK'
         ,p_attribute_name => '_MASTER_ACTION'
         ,p_value => 'NONE');
         p_session.save_session();
    ELSE
         CLOSE check_details;
         /*get the message which is going to be displayed after update*/
         l_msg := p_session.get_value_as_varchar2(
         p_block_name => 'MASTER_BLOCK',
         p_attribute_name => '_STATUS');
         /*now set the key field value in the Master Detail*/
         p_session.set_shadow_value(p_block_name => 'MASTER_BLOCK',
         p_attribute_name => 'A_PCH_ID',
         p_value => l_key_value,
         p_language => PORTAL30.wwctx_api.get_nls_language);
         WWV_MASTER_GENSYS_1(p_block_name => null,
         p_object_name => null,
         p_instance => null,
         p_event_type => null,
         p_user_args => null,
         p_session => p_session);
         /*put the message(like 'Updated one master record' ) back in the screen*/
         p_session.set_value(p_block_name => 'MASTER_BLOCK',
         p_attribute_name => '_STATUS',
         p_value => l_msg);
         p_session.save_session();
    END IF;
    END;

  • Master/detail + tabbed, how?

    I am designing my first form. I'd like to have a master-detail, but there is a difference from textbook examples: the detail should use tabs instead of tabular. This is because the the detail records are very few but variable (1 to 8 tabs).
    The critical part here is thet the number of tabs are not known in advance; only when he user executes the query, the form will find out how many tabs are needed.
    Do I need a trigger or something to generate the tabs at run time? How do I create this tabs dynamically? Do I have to use tabbed canvases or there are other ways to use tabs?
    TIA
    -Ramon F. Herrera
    null

    Ramon -
    What you can do is if you know the maximum possible, you mention 8, you can create a tab canvas that has eight tab pages. you can programatically determine whether the tab pages are displayed or not
    if get_block_property('myBlock', query_hits) = '7' then
    set_tab_page_property('tabName', VISIBLE, property_false);
    end if;
    Hope this helps,
    Candace Stover
    Forms Product Management

  • Master Detail Form - How 2 update a field in the Detail form using a query?

    Hello,
    I have a master detail form with, each master record having a fixed(6) number of detail records. One of the fields in the detail record is the PART_DESCRIPTION field. I am trying to update this field by querying Table_X. TABLE_X is in the format of (desciption id, description). Description id runs from 1 to 6.
    When the form displays, the PART_DESCRIPTION field for the 6 detail records needs to be automatically populated with the six values of description stored in Table_X. How can this be done?
    Tried using session storage objects, but made no headway.
    Would greatly appreciate pointers on how to go about doing this.
    Thanks.
    Dev

    If you are on a Portal Version lesser than 3.0.9.8.3, then please try the following to populate
    the PART_DESCRIPTION field.
    Steps:-
    1> Edit the form and go to the Additional PL/SQl section and put the following code in the
    "...after displaying the page area" :-
    declare
    type t_vc_arr is table of varchar2(4000) index by binary_integer;
    l_arr_desc t_vc_arr;
    l_form_name varchar2(200);
    l_form_state varchar2(500);
    begin
    l_form_name := p_session.get_module().get_name();
    l_form_state := p_session.get_value_as_varchar2(
    p_block_name => 'MASTER_BLOCK',
    p_attribute_name => '_FORM_STATE'
    if l_form_state = 'QUERY_AND_SAVE' then
    select description
    bulk collect into l_arr_desc
    from <schema>.table_x;
    htp.p('
    <script>
    var descArr = new Array();
    var Fidx = 1;
    var formObj = document.WWVM'||p_session.get_id()||';
    var fieldName = "'||l_form_name||'.DETAIL_BLOCK.PART_DESCRIPTION.0";
    for i in 1..l_arr_desc.count loop
    htp.p('descArr['||to_char(i-1)||']="'||l_arr_desc(i)||'";');
    end loop;
    htp.p('
    for (var i=0; i < formObj.length; i++){
    if (formObj.elements.name == fieldName+Fidx){
    formObj.elements[i].value = descArr[Fidx-1];
    ++Fidx;
    htp.p('</script>');
    end if;
    end;

  • Detail-Disclosure problem with Master- Detail VO

    Hi,
    I have UIX pages based on Master - Detail VO, detail data being shown when you press Detail button on the left, detail data display in the BC4J Table correctly, but I am able to update only the last record of the rowset. when I click on the first master detail and press update button i get Null Pointer Exeception error and other problem is that my detail data has sorted headers, when i click on the sorted column header, it close the Detail portion on the Table.
    Here is UIX page listing, please any one review the code and let me what is wrong
    Thanks
    View Page
    <?xml version="1.0" encoding="windows-1252" ?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:bc4j="http://xmlns.oracle.com/uix/bc4j"
    xmlns:html="http://www.w3.org/TR/REC-html40"
    xmlns:viewpage="http://www.example.org/siriusbilling/templates">
    <ctrl:head xmlns="http://www.w3.org/TR/REC-html40">
    <title>View Properties</title>
    </ctrl:head>
    <templates xmlns="http://xmlns.oracle.com/uix/ui">
    <templateImport source="templates/SiriusBilling.uit"/>
    </templates>
    <bc4j:registryDef>
    <bc4j:rootAppModuleDef name="PropertiesForeignKeyLink1AppModule"
    definition="siriusbilling.SiriusBCModule"
    releaseMode="stateful" >
    <bc4j:viewObjectDef name="PropertyTypesMasterView"
    rangeSize="2" />
    <bc4j:viewObjectDef name="PropertiesDetailView"
    rangeSize="5" />
    </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    <ctrl:content xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui">
    <viewpage:siriusPageLayout>
    <pageHeader>
    <globalHeader selectedIndex="0">
    <contents>
    <link text="View Properties" />
    </contents>
    </globalHeader >
    </pageHeader>
    <contents>
    <try xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui" >
    <catch>
    <displayException />
    </catch>
    <contents>
    <!-- this will contain any validation errors after form
    submission -->
    <messageBox automatic="true" />
    <bc4j:rootAppModuleScope name="PropertiesForeignKeyLink1AppModule" >
    <contents>
    <header text="Properties Search" >
    <contents>
    <form name="search" method="POST" >
    <contents>
    <inlineMessage prompt="Search by:" vAlign="middle" >
    <contents>
    <bc4j:viewObjectScope name="PropertiesDetailView" >
    <contents>
    <flowLayout>
    <contents>
    <choice name="attrName"
    data:selectedValue="attrName@ctrl:page"
    shortDesc="Search Column">
    <contents>
    <option text="Property Id" value="PropertyId" />
    <option text="Property Name" value="PropertyName" />
    <option text="Property Description" value="PropertyDescription" />
    <option text="Unit Of Measure" value="UnitOfMeasure" />
    </contents>
    </choice>
    <textInput prompt="Criteria" name="attrValue" columns="20"
    data:text="attrValue@ctrl:page"
    shortDesc="Search Criteria for Propeties"/>
    </contents>
    </flowLayout>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    <end>
    <submitButton text="Go" ctrl:event="search" />
    </end>
    </inlineMessage>
    </contents>
    </form>
    </contents>
    </header>
    <spacer width="10"/>
    <separator />
    <header text="Property Types" >
    <contents>
    <form name="viewForm" method="POST" >
    <contents>
    <bc4j:viewObjectScope name="PropertyTypesMasterView" >
    <contents>
    <bc4j:table name="viewPropertyTypeTable" automatic="false"
    width="100%" alternateText="No rows found"
    formSubmitted="true"
    partialRenderMode="self"
    data:detailDisclosure="tableDetails@ctrl:eventResult">
    <!-- the key identifying the current row in the table -->
    <bc4j:keyStamp>
    <bc4j:rowKey name="key" />
    </bc4j:keyStamp>
    <contents>
    <!-- placing the region in automatic mode will cause the key
    named child to be rendered, followed by each attribute
    in the ViewObject using the attrStamp named child. -->
    <!-- A bc4j:column element is added for each attribute
    in the ViewObject. -->
    <bc4j:column attrName="PropertyType">
    <columnHeader>
    <bc4j:sortableHeader text="Property Type"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="TableName">
    <columnHeader>
    <bc4j:sortableHeader text="Table Name"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="Comments" >
    <columnHeader>
    Comments
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    </contents>
    <detail>
    <flowLayout>
    <contents>
    <header text="Properties Detail">
    <contents>
    <spacer width="10"/>
    <bc4j:viewObjectScope name="PropertiesDetailView" >
    <contents>
    <!-- placing the table in automatic mode will cause the table
    to contain the keyStamp named child followed by the
    columnStamp named child for each attribute in the
    ViewObject. -->
    <bc4j:table name="viewTable" automatic="false"
    width="100%" alternateText="No rows found"
    formSubmitted="true"
    partialRenderMode="self">
    <tableSelection>
    <!-- single selection for each row in the table -->
    <singleSelection selectedIndex="0" text="Select Row and ...">
    <contents>
    <submitButton text="Create" ctrl:event="create" />
    <!-- the update button causes the currently selected
    row to be sent to the update page -->
    <submitButton text="Update"
    ctrl:event="update" />
    <!-- the delete button causes the currently selected
    row to be removed -->
    <submitButton text="Delete"
    ctrl:event="delete" />
    </contents>
    </singleSelection>
    </tableSelection>
    <!-- the key identifying the current row in the table -->
    <bc4j:keyStamp>
    <bc4j:rowKey name="key" />
    </bc4j:keyStamp>
    <contents>
    <!-- A bc4j:column element is added for each attribute
    in the ViewObject. -->
    <bc4j:column attrName="PropertyId">
    <columnHeader>
    <bc4j:sortableHeader text="Property Id"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="PropertyName">
    <columnHeader>
    <bc4j:sortableHeader text="Property Name"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="PropertyDescription">
    <columnHeader>
    <bc4j:sortableHeader text="Property Description"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    <bc4j:column attrName="UnitOfMeasure">
    <columnHeader>
    <bc4j:sortableHeader text="Unit of Measure"/>
    </columnHeader>
    <contents>
    <bc4j:input readOnly="true"/>
    </contents>
    </bc4j:column>
    </contents>
    </bc4j:table>
    </contents>
    </bc4j:viewObjectScope>
    <formValue name="disclosed" value="true" />
    </contents>
    </header>
    </contents>
    </flowLayout>
    </detail>
    </bc4j:table>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    </form>
    </contents>
    </header>
    </contents>
    </bc4j:rootAppModuleScope>
    </contents>
    </try>
    </contents>
    </viewpage:siriusPageLayout>
    </ctrl:content>
    <handlers>
    <event name="search" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- search for the view criteria -->
    <bc4j:findByExample>
    <bc4j:exampleRow ignoreCase="true" >
    <bc4j:exampleAttribute>
    <bc4j:nameBinding><bc4j:parameter name="attrName" /></bc4j:nameBinding>
    <bc4j:valueBinding><bc4j:parameter name="attrValue" /></bc4j:valueBinding>
    </bc4j:exampleAttribute>
    </bc4j:exampleRow>
    </bc4j:findByExample>
    <bc4j:executeQuery/>
    <!-- store the current search criteria as page properties -->
    <bc4j:setPageProperty name="attrName" >
    <bc4j:parameter name="attrName" />
    </bc4j:setPageProperty>
    <bc4j:setPageProperty name="attrValue" >
    <bc4j:parameter name="attrValue" />
    </bc4j:setPageProperty>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="first" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the first department -->
    <bc4j:first/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="previous" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the previous department -->
    <bc4j:previous/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="next" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the next department -->
    <bc4j:next/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="last" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the last department -->
    <bc4j:last/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="sort" source="viewTable" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- sort by the submitted attribute name -->
    <bc4j:sort/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="sort" source="viewPropertyTypeTable" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- sort by the submitted attribute name -->
    <bc4j:sort/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="goto" source="viewPropertyTypeTable" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertyTypesMasterView" >
    <!-- navigate to the submitted range -->
    <bc4j:goto/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="goto" source="viewTable" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- navigate to the submitted range -->
    <bc4j:goto/>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    <event name="create" >
    <!-- forward to the create page -->
    <ctrl:go name="InsertProperties" redirect="true" />
    </event>
    <event name="update" >
    <!-- forward to the update page, passing the selected key
    as a page property -->
    <ctrl:go name="UpdateProperties" redirect="true" >
    <ctrl:property name="key" >
    <ctrl:selection name="viewTable" key="key" />
    </ctrl:property>
    </ctrl:go>
    </event>
    <event name="delete" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- find the selected Row -->
    <bc4j:findRowByKey>
    <bc4j:keyBinding>
    <bc4j:selectionKey name="viewTable" key="key" />
    </bc4j:keyBinding>
    <bc4j:handlers>
    <!-- remove the selected ViewObject row -->
    <bc4j:removeRow />
    <!-- execute the query to eliminate dead row access -->
    <bc4j:executeQuery/>
    </bc4j:handlers>
    </bc4j:findRowByKey>
    </bc4j:findViewObject>
    <!-- commit the transaction, forwards to self automatically -->
    <bc4j:commit/>
    </bc4j:findRootAppModule>
    </event>
    <event name="show">
    <method class="servlet.showDetails" method="doHideShowEvent" />
    </event>
    <event name="hide">
    <method class="servlet.showDetails" method="doHideShowEvent" />
    </event>
    </handlers>
    </page>
    Update View
    <?xml version="1.0" encoding="windows-1252" ?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:bc4j="http://xmlns.oracle.com/uix/bc4j"
    xmlns:html="http://www.w3.org/TR/REC-html40"
    xmlns:updatepage="http://www.example.org/siriusbilling/templates">
    <ctrl:head xmlns="http://www.w3.org/TR/REC-html40">
    <title>Update Properties</title>
    </ctrl:head>
    <templates xmlns="http://xmlns.oracle.com/uix/ui">
    <templateImport source="templates/SiriusBilling.uit"/>
    </templates>
    <bc4j:registryDef>
    <bc4j:rootAppModuleDef name="PropertiesForeignKeyLink1AppModule"
    definition="siriusbilling.SiriusBCModule"
    releaseMode="stateful" >
    <bc4j:viewObjectDef name="PropertiesDetailView" >
    <bc4j:rowDef name="UpdatePropertiesDetailView" autoCreate="false" usesCurrency="true">
    <bc4j:propertyKey name="key" />
    </bc4j:rowDef>
    </bc4j:viewObjectDef>
    <!-- Display only 20 rows -->
    <bc4j:viewObjectDef name="PropertyTypesView" rangeSize="20" >
    <bc4j:rowDef name="UpdatePropertyTypesView" autoCreate="false">
    <bc4j:propertyKey name="key" />
    </bc4j:rowDef>
    </bc4j:viewObjectDef>
    </bc4j:rootAppModuleDef>
    </bc4j:registryDef>
    <ctrl:content xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui">
    <updatepage:siriusPageLayout>
    <pageHeader>
    <globalHeader selectedIndex="0">
    <contents>
    <link text="Update Property" />
    </contents>
    </globalHeader >
    </pageHeader>
    <contents>
    <try xmlns="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui" >
    <catch>
    <displayException />
    </catch>
    <contents>
    <switcher childName="default">
    <boundAttribute name="childName">
    <if>
    <comparison type="equals">
    <dataObject select="key" source="ctrl:page"/>
    <dataObject source="ui:null"/>
    </comparison>
    <fixed text="error"/>
    </if>
    </boundAttribute>
    <case name="error">
    <header text="Required page property 'Property Type' missing. Cannot display page."/>
    </case>
    <case name="default">
    <flowLayout>
    <contents>
    <!-- this will contain any validation errors after form
    submission -->
    <messageBox automatic="true" />
    <script>
    <contents>
    function UOMLovCallBack(lovwin, event)
    var value = lovwin.returnUOMValue;
    if (value!=(void 0))
    document.updateForm.UnitOfMeasure.value = lovwin.returnUOMValue;
    </contents>
    </script>
    <form name="updateForm" method="POST" >
    <contents>
    <!-- we cannot implicitly determine that events
    will be triggered because submit buttons are
    outside the form scope, so add the placeholder
    explicitly -->
    <formParameter name="event" />
    <!-- layout the fields in two columns -->
    <spacer width="10"/>
    <tableLayout width="80%"
    cellPadding="2"
    hAlign="center">
    <contents>
    <bc4j:rootAppModuleScope name="PropertiesForeignKeyLink1AppModule" >
    <contents>
    <bc4j:viewObjectScope name="PropertiesDetailView" >
    <contents>
    <bc4j:rowScope name="UpdatePropertiesDetailView" >
    <contents>
    <bc4j:messageChoice prompt="Property Type" attrName="PropertyType" name="PropertyType">
    <contents>
    <bc4j:optionList voName="PropertyTypesView" attrName="PropertyType" textAttributeName="PropertyType" size="30"/>
    </contents>
    </bc4j:messageChoice>
    <bc4j:messageInput prompt="Property Id" vAlign="left" attrName="PropertyId" size="30"/>
    <bc4j:messageInput prompt="Property Name" attrName="PropertyName" size="30"/>
    <bc4j:messageInput prompt="Property Description" attrName="PropertyDescription" size="30" />
    <bc4j:messageLovField prompt="Unit Of Measure"
    attrName="UnitOfMeasure"
    name="UnitOfMeasure"
    onClick="openWindow(window,
    'UOMLov.uix',
    'lovwin',
    {width:480, height:300},
    true,
    'dialog',
    UOMLovCallBack);
    return false;" />
    </contents>
    </bc4j:rowScope>
    </contents>
    </bc4j:viewObjectScope>
    </contents>
    </bc4j:rootAppModuleScope>
    </contents>
    </tableLayout>
    </contents>
    </form>
    </contents>
    <contents>
    <contentFooter>
    <contents>
    <html:center>
    <!-- place a row of buttons below the content -->
    <pageButtonBar>
    <contents>
    <!-- the cancel button performs a transaction rollback -->
    <button text="Cancel" ctrl:event="cancel" />
    <!-- the update button submits the user-entered
    form data -->
    <submitButton text="Update" formName="updateForm"
    ctrl:event="apply" />
    </contents>
    </pageButtonBar>
    </html:center>
    </contents>
    </contentFooter>
    </contents>
    </flowLayout>
    </case>
    </switcher>
    </contents>
    </try>
    </contents>
    </updatepage:siriusPageLayout>
    </ctrl:content>
    <handlers>
    <event name="cancel" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- rollback the current transaction -->
    <bc4j:rollback/>
    <!-- forward to the summary page -->
    <ctrl:go name="ViewProperties" redirect="true" />
    </bc4j:findRootAppModule>
    </event>
    <event name="apply" >
    <!-- using the ApplicationModule causes it to be checked out from the
    ApplicationPool. It is released using stateful mode. -->
    <bc4j:findRootAppModule name="PropertiesForeignKeyLink1AppModule" >
    <!-- establish the ViewObject scope -->
    <bc4j:findViewObject name="PropertiesDetailView" >
    <!-- find the row by key, falling back on a new default
    row if the key is not found -->
    <bc4j:findRow name="UpdatePropertiesDetailView" >
    <!-- set each attribute explicitly -->
    <bc4j:setAttribute name="PropertyId" />
    <bc4j:setAttribute name="PropertyType" />
    <bc4j:setAttribute name="PropertyName" />
    <bc4j:setAttribute name="PropertyDescription" />
    <bc4j:setAttribute name="UnitOfMeasure" />
    <!-- commit the transaction -->
    <bc4j:commit/>
    <bc4j:executeQuery/>
    <!-- forward to the summary page -->
    <ctrl:go name="ViewProperties" redirect="true" />
    </bc4j:findRow>
    </bc4j:findViewObject>
    </bc4j:findRootAppModule>
    </event>
    </handlers>
    </page>

    I think the detailDisclosure state needs to be saved and retrieved from the session.
    I'm not sure using a table with singleSelection inside a detail disclosure is supported. Are you doing master-detail inside of detail disclosure? Detail disclosure is not really meant for that. In jdev 10g preview we make hooking up a master-detail easy. Here's a link to some doc about it.
    http://otn.oracle.com/products/jdev/collateral/tutorials/9050/adfuix_tut.html#Create%20a%20Master-Detail%20page

  • Master / Details Regions with yui Calendar

    I have a Calendar of Events that I need to display.  I have put a yui Calendar in my Master Region, and need it to control the Details Region.  I can get the Details Region to show a single event per day.
    Is there a way to let the Details Region show multiple Events if they are scheduled on the same date?
    I do not have access to an external web server to post my page to, but here is the code to the Master/Details Region on my site:
    <div id="sidebar2">
        <div id="yuicalendar1"></div>
    <script type="text/javascript">
    // BeginWebWidget YUI_Calendar: yuicalendar1   (function() {
        var cn = document.body.className.toString();
        if (cn.indexOf('yui-skin-sam') == -1) {
          document.body.className += " yui-skin-sam";
      })();  var inityuicalendar1 = function() {
        var yuicalendar1 = new YAHOO.widget.Calendar("yuicalendar1");    // The following event subscribers demonstrate how to handle
        // YUI Calendar events, specifically when a date cell is
        // selected and when it is unselected.
        // See: http://developer.yahoo.com/yui/calendar/ for more
        // information on the YUI Calendar's configurations and
        // events.
        // The YUI Calendar API cheatsheet can be found at:
        // http://yuiblog.com/assets/pdf/cheatsheets/calendar.pdf
        //--- begin event subscribers ---//
        yuicalendar1.selectEvent.subscribe(selectHandler, yuicalendar1, true);
        yuicalendar1.deselectEvent.subscribe(deselectHandler, yuicalendar1, true);
        //--- end event subscribers ---//
    yuicalendar1.cfg.setProperty("title", "Calendar of Events", false);    yuicalendar1.render();
      }  function selectHandler(event, data) {
      // The JavaScript function subscribed to yuicalendar1.  It is called when
      // a date cell is selected.
      // alert(event) will show an event type of "Select".
      // alert(data) will show the selected date as [year, month, date].
      var formattedDateString = data[0][0][1] + "/" + data[0][0][2] + "/" + data[0][0][0];
      var r = dsCalendar.findRowsWithColumnValues({"Date": formattedDateString }, true);
      var region = Spry.Data.getRegion("classDetail");
      if(r){
       dsCalendar.setCurrentRow(r.ds_RowID);
       region.setState("showClass", true);
       } else {
        region.setState("ready", true);
      };  function deselectHandler(event, data) {
      // The JavaScript function subscribed to yuicalendar1.  It is called when
      // a selected date cell is unselected.
      };      // Create the YUI Calendar when the HTML document is usable.
      YAHOO.util.Event.onDOMReady(inityuicalendar1);
    // EndWebWidget YUI_Calendar: yuicalendar1
    </script>
    <div spry:detailregion="dsCalendar" spry:setrow="dsCalendar" id="classDetail">
    <div spry:state="showClass">
    <table width="100%" border="0" cellpadding="1">
       <tr>
         <td colspan="2"><h4>{Class}</h4></td>
        </tr>
       <tr>
        <td colspan="2">{Description}</td>
        </tr>
       <tr>
         <td>{Location}</td>
         <td>{Date}</td>
       </tr>
    </table>
        </div>
        <div spry:state="ready">
    There are no classes on this date. Please select another date.
    </div></div>
      <!-- end #sidebar2 --></div>
    And, here is the code to my "schedule.htm" file:
    Class
    Logo
    Description
    Location
    Date
    Dreamweaver CS4 Intermediate
    Take your skills to the next level with this training.
    Austin, TX
    12/15/2008
    InDesign CS4 Advanced
    This class is for experienced users that want to go beyond the basics.
    Phoenix, AZ
    12/18/2008
    Flex CS4 Data Services
    Learn about Live Cycle Data Services in this training.
    Austin, TX
    12/19/2008
    Flash CS4 Rich Content Creation
    From beginning to intermediate, learn how to animate with the latest tools.
    Austin, TX
    12/30/2008
    Photoshop Advanced
    Experienced Photoshop users will learn how to use advanced tools for image manipulation.
    Phoenix, AZ
    12/20/2008
    Dreamweaver CS4 Intermediate
    Take your skills to the next level with this training.
    Austin, TX
    12/01/2008
    InDesign CS4 Advanced
    This class is for experienced users that want to go beyond the basics.
    Phoenix, AZ
    12/08/2008
    Flex CS4 Data Services
    Learn about Live Cycle Data Services in this training.
    Austin, TX
    12/25/2008
    Flash CS4 Rich Content Creation
    From beginning to intermediate, learn how to animate with the latest tools.
    Austin, TX
    12/26/2008
    Photoshop Advanced
    Experienced Photoshop users will learn how to use advanced tools for image manipulation.
    Phoenix, AZ
    8/21/2009
    Short Course
    Seminar where the engineers come together to discuss TxDOT.
    Austin, TX
    8/26/2009
    Long Course
    Around the cementary, down to the high school, and back.
    Wolfforth, TX
    8/21/2009
    No Class
    No classes on this date.
    n/a
    Notice on the schedule.htm file, there are some classes that have the same date.  I would like the Details region to show multiple classes based on the date.  Is that even possible?
    Thanks!

    @strick,
    Don't know if you got this sorted out already, but I'll add an answer since I looked here when trying to figure this out.
    I had the same problem.
    You can get this to do what you want in two steps:
    1.)  Just below the line in your code that reads
    var formattedDateString = data[0][0][1] + "/" + data[0][0][2] + "/" + data[0][0][0];
    add the following code:
    function myFilterFunc(dataSet, row, rowNumber)
    // Filter all rows with date = selected date
    if (row['Date'] == formattedDateString){
    return row;   }
    else {
    return null;}
    // Filter the data.
    dscalendar.filter(myFilterFunc);
    2.) Just after the line in your code that reads
    <table width="100%" border="0" cellpadding="1">
    add the following code:
    <tr spry:repeat="dscalendar">
    Ok, one last step for the code that you've listed here.  You should be able to get rid of all the <tr> tags except for the outermost ones.  So, it could
    look like this:
    <table width="100%" border="0" cellpadding="1">
       <tr spry:repeat="dscalendar">
        <td colspan="2"><h4>{Class}</h4></td>
        <td colspan="2">{Description}</td>
        <td>{Location}</td>
        <td>{Date}</td>
       </tr>
    </table>
    You can see a working example of this at http://www.coloradogreenline.com/YUISpryCalendar/sprytest6.html.  October 13, 2009 has more than one event scheduled.  This one doesn't display the data in table format, but you can still it working.
    Hope this helps.

  • At my wits end with BT - can anyone help please?

    This is a long and ongoing saga and so I apologise for the long post.
    In February due to a change in job I needed to change the payment date of my DD payment. I did this online and received an email confirming the new payment date of the 28th. I stupidly assumed that was the date BT would take payment. The account is only used for Direct Debits and so money is put in there shortly before they're due. Over two weeks before the payment was due I received an unpaid DD letter from my bank. BT had attempted to take the payment early. I contacted BT and was assured my payment date was the 28th and they had no idea why payment had been attempted early. Later that day BT called to discuss the returned DD and I explained it was a BT error. A week later BT attempted to take the DD again. Once again I contacted them to be told my DD was definitely set up for the 28th and "there must be an error on the system" Later that day I received another call from BT to inform me my DD had been returned unpaid and again I explained that it was a BT error. Not trusting BT I cancelled the DD with the intention of making my payment online on the 28th. On 28th Feb before I had chance to make the payment I received a call from someone at BT who was mentioning late payment charges etc. I made it clear that any charges would be unacceptable as the error was down to BT and my payment wasn't actually late. I was asked to make payment over the phone but as it was difficult to understand each other I made it online and gave the payment reference number.
    My online balance at this point showed as zero and so I decided against setting up another DD for BT to attempt to take money as and when they pleased. Late March I received a phone call from BT telling me my DD wasn't set up and I had an outstanding balance of £57.75. I explained I'd had a zero balance but it would appear that my online balance was showing incorrectly. The person I spoke to said he could set up a new DD for this amount but as a one off it would come out on the 13th - something to do with making sure payment was made before the new bill came out and it taking X amount of time for a DD to set up. This would be a one off payment and after it had been made I'd be contacted to set up a new DD.
    On 20th April I received a call from UK based BT asking did I want to set up my new DD However to do this I would need to pay £120 over the phone. I asked why when I definitely had a zero balance, I'd received no bill and quite simply owed BT no money at that point. I was told there was a problem seeing all the data and somebody would call me back after the Easter weekend. Instead later that same day somebody else UK based phoned me asking me to set up my DD. I explained about the earlier phone call and she was confused as to why I'd been asked to pay anything as I clearly had a zero balance. I set up a new DD with her for £60 a month, payments to be made on 28th, starting 28th May. A few days after this my new bill arrived for £109.
    On 5th May my bank called me to say once again BT had attempted to take the DD early but this time they'd attempted to take £109. Once again I called BT and this time spoke to an Indian gentleman who advised me to cancel the DD with my bank while I was on the phone with him, he'd cancel it at that end and then he would set up a new one. He said letters of confirmation would be sent out to me.
    I sent an email to BT explaining all this and also saying I wasn't happy that they'd charged me £10 late payment charge on the new bill for unpaid DD. Had BT taken the payment when they should it wouldn't have been unpaid!! A gentleman phoned me back, assured me the £60 a month DD was set up for the 28th starting 28th May. He also emailed me confirmation of this.
    On 9th May I received an email saying I had a "supplementary bill" so looked at my online account to see my bill had gone up by about £5. My DD wasn't showing as set up on the online account but I decided to leave it a couple of days before contacting BT. Later that day though I received three letters. One saying my DD had been cancelled as discussed, and two others saying my DD had been set up to be paid 28th of every month starting 28th May for the amount £104!
    Before I had chance to call BT someone UK based called me to ask did I want to set up my DD as I had no payment plan set up. By this point I'd more than had enough and told her I had one email and two letters clearly saying my DD was set up and the only reason she'd be calling to ask me to do this would be if BT had cancelled the DD themselves. I refused to set up the DD yet again and she put me through to India based billing to discuss what was happening. I was told a DD wasn't set up on my account, that I couldn't set one up unless I paid my bill in full and that line restrictions are due to come into place on 29th May if the bill isn't paid in full.
    Today my BT online account shows no DD set up. However my bank shows the new DD is in fact active. I have no idea when BT will take money, or for how much. I don't know what to do, do I cancel the DD and just pay all future bills in full when they come in and in doing so be penalised by BT for not paying by DD? Or do I just leave it and hope they finally get it right? Bearing in mind I've had two letters saying they're going to take £104 and an email saying £60 I can't see that happening.
    It appears not one BT department speaks to the other, half the calls aren't logged and nobody at BT listens to the customer. I have spoken to Ofcom about this and they've advised me to give BT one more chance to sort this out and then go to the Ombudsman. I've just come across the forums and so am giving this a try to see if I can get any joy here.
    At some point during all this I spoke to somebody UK based who told me to send my bank charge letters to BT which I have done but as yet have heard nothing in return! I've lost track of how many people I've spoken to and am at my wits end with it all.
    Solved!
    Go to Solution.

    I'm even more concerned now after hearing back regarding my initial post. Apparently any cancellations or changes are showing as done by me using the self help platform on my BT account. This isn't the case. The actions carried out on certain dates listed on the email I received were all carried out by BT over the phone and not myself. I didn't even know it was possible to cancel a direct debit using the BT website. I thought it had to be cancelled at the bank and then a phone call to BT. I was logged onto my BT account while the phone calls were taking place but any action was carried out by BT and not myself. 
    BT are insisting I have no DD set up. Yet it clearly shows on my bank account that there is an active DD for BT. To confirm that, I've spoken to my bank today who have verified there is most definitely a DD set up to pay BT on the bank account. They've double checked the account number with me and it's definitely for my BT account. The bank are sending me a letter confirming it's an active DD for me to include all other details for the Ombudsman because I really feel this needs fetching to their attention. 
    To be fair to the person who has replied I have been told I can pay a small amount and set the DD up rather than pay in full or face restrictions. But despite BT's insistence that I have no DD set up my bank clearly states I have. I'm now going to have to cancel the DD that BT are sure isn't active and set it up again.
    Incidentally the monthly payments I'm to make are £45 - less than the £60 and a lot less than the £104 previously mentioned! So on one hand I will have a satisfactory conclusion but on the other I have to still cancel a "none existent" existing DD, set a new one up and am out of pocket on bank charges caused by BT trying to take payment on the wrong date. I then have to trust they'll not do the same thing again.......
    It's all like a stupid joke that's just not funny. 

  • Error while creating the master-detail forms

    on creation of a new master-detail form or on edit of a existing master-detail form, i get the following error -
    ******** START ERROR **********
    Thu, 15 Mar 2001 23:02:16 GMT
    ORA-06502: PL/SQL: numeric or value error
    ORA-06512: at "CC_INTRANET.WWV_BIND", line 56
    ORA-06512: at "CC_INTRANET.WWV_UI_LOVF", line 3123
    ORA-06512: at "CC_INTRANET.WWV_UIFORM_BUILD", line 2850
    ORA-06512: at "CC_INTRANET.WWV_UIFORM_BUILD", line 5567
    ORA-06512: at line 8
    DAD name: cc_intranet
    PROCEDURE : CC_INTRANET.wwv_uiform_build.show_header
    URL : http://webdb.us.colorcon.com:7777/pls/cc_intranet/CC_INTRANET.wwv_uiform_build.show_header?p_wizard_mode=MASTER&
    ********** END ERROR ********
    any ideas anyone ... ?
    thanx in advance ...
    null

    more information on above -
    i upgraded webdb 2.2 to portal 3.0.6 and the new master-detail form is been created in the upgraded site.
    pls reply on this.
    thanx a bunch
    null

  • Detail Sort Field in a Master Detail Report

    Hello,
    New Apex user here. I am working with version 4.0.2.00.07. I have created a Master Detail form, and everything is working perfectly. I have one additional requirement for which I can't seem to find a good method of implementation. The detail table contains a field which I need to use for sequencing the detail records in a specific order for a given master record (this field is not the primary key). Let's say the table field is called det_seq. My question is, what is the best way to have the next incremented number added to a new record when the user clicks the "Add Row" button in the detail region? So, for instance, if there are 5 existing detail records, I want the next record added with the "Add Row" button to default the number 6 into the det_seq field. Another desirable, but not absolutely necessary, feature would be to give the end user the ability to re-order the detail records, updating the det_seq field as they do so. Any guidance would be greatly appreciated.
    Thanks!
    Mike

    Hi Mike - welcome to ApEx!
    Could more than one user add detail rows to the same master row at one time? If so, incrementing det_seq on a click of the "Add Row" button could create duplicate det_seq values:
    User A clicks "Add Row" getting det_seq 1, and begins to enter data (doesn't yet save).
    User B clicks "Add Row" on the same master record, getting det_seq 1, and begins to enter data.
    User A saves, no problem.
    User B saves, another det_seq = 1 is saved (or an exception is thrown if you've declared det_seq to be unique within a master).
    If that could be an issue for you, one thing to consider is assigning the det_seq value from within a before-insert trigger so that:
    User A clicks "Add Row" (det_seq is null), and begins to enter data.
    User B clicks "Add Row" (det_seq is null), and begins to enter data.
    User A saves, the before-insert trigger fires assigning 1 to det_seq.
    User B saves, the before-insert trigger fires assigning 2 to det_seq.
    As far as actually getting the next value for det_seq within a given master, here's one way (assume that :MASTER_ID is an item on the master-detail form that is holding the primary key of the master table, and that your child table also has this as a foreign key back to the master table):
    SELECT NVL(MAX(det_seq), 0) + 1
      INTO l_next_det_seq
      FROM detail_table
    WHERE master_id = :MASTER_IDThe NVL takes care of the case where there are not yet any detail rows (meaning that MAX would return NULL).
    On the re-ordering feature - I can't give a lot of detail without trying it out for myself, but maybe something to look into:
    - Put a couple buttons/images/links at the end of each detail row indicating "move up"/"move down".
    - Create "move up"/"move down" page processes, and attach javascript to the buttons/images/links to fire them on a click.
    - The page processes would update the clicked row's det_seq by swapping values with the previous row's det_seq ("move up") or next row's det_seq ("move down"). The special cases of course are when the first det_seq is being moved up or the last det_seq is being moved down and they have to loop around - all of the rows det_seq's then have to swap. I'd love to see that when you've got it going!
    Hope this helps and I hope you enjoy working with ApEx,
    John
    If you find this information useful, please remember to mark the post "helpful" or "correct" so that others may benefit as well.

  • Master-details query to XML file?

    Hi:
    I'm new in XML and Oracle. I want to create XML file from two tables (master-details).
    I made a small serach and tried some examples:
    Say we have these tables:
    CREATE TABLE "TEST_XML"
    (     "ID" NUMBER,
         "NAME" VARCHAR2(15),
         "AMOUNT" NUMBER,
         CONSTRAINT "TEST_XML_PK" PRIMARY KEY ("ID") ENABLE
    CREATE TABLE "TEST_XML2"
    (     "ID2" NUMBER,
         "NAME2" VARCHAR2(20),
         "AMOUNT2" NUMBER
    ALTER TABLE "TEST_XML2" ADD CONSTRAINT "TEST_XML2_FK" FOREIGN KEY ("ID2")
         REFERENCES "TEST_XML" ("ID") ENABLE
    INSERT INTO TEST_XML VALUES (1,'A',50);
    INSERT INTO TEST_XML VALUES (2,'B',30);
    INSERT INTO TEST_XML VALUES (3,'C',70);
    INSERT INTO TEST_XML2 VALUES (1,'AA',10);
    INSERT INTO TEST_XML2 VALUES (1,'AB',20);
    INSERT INTO TEST_XML2 VALUES (1,'AC',20);
    INSERT INTO TEST_XML2 VALUES (2,'BA',10);
    INSERT INTO TEST_XML2 VALUES (2,'BB',20);
    INSERT INTO TEST_XML2 VALUES (3,'CA',20);
    INSERT INTO TEST_XML2 VALUES (3,'CB',40);
    INSERT INTO TEST_XML2 VALUES (3,'CC',10);
    I want a query to create XML file contains data from TEST_XML table and for each row the related data from TEST_XML2 table.
    I did some tries (working in iSQL*PLUS):
    SET SERVEROUTPUT ON
    DECLARE
    v_ctx DBMS_XMLGEN.ctxType;
    v_file Utl_File.File_Type;
    v_xml CLOB;
    v_more BOOLEAN := TRUE;
    BEGIN
    -- Create XML document from query.
    v_ctx := DBMS_XMLGEN.newContext('select id,name,amount,cursor (select id2,name2,amount2 from test_xml2 t2 where t2.id2=t1.id) val from test_xml t1');
    DBMS_XMLGEN.setMaxRows(v_ctx, 10);
    DBMS_XMLGEN.setRowsetTag(v_ctx, 'CLAIM');
    -- Output XML document to file.
    v_file := Utl_File.FOpen('TEST_DIR', 'test1.xml', 'w');
    WHILE v_more
    LOOP
    v_xml := DBMS_XMLGEN.GetXML(v_ctx,0);
    EXIT WHEN dbms_xmlgen.getNumRowsProcessed(v_ctx) =0;
    Utl_File.Put(v_file,v_xml);
    END LOOP;
    Utl_File.FClose(v_file);
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM,1,255));
    Utl_File.FClose(v_file);
    END;
    But hte output wasn't as I wanted:
    <CLAIM>
    <ROW>
    <ID>1</ID>
    <NAME>A</NAME>
    <AMOUNT>50</AMOUNT>
    <VAL>
    <VAL_ROW>
    <ID2>1</ID2>
    <NAME2>AA</NAME2>
    <AMOUNT2>10</AMOUNT2>
    </VAL_ROW>
    <VAL_ROW>
    <ID2>1</ID2>
    <NAME2>AB</NAME2>
    <AMOUNT2>20</AMOUNT2>
    </VAL_ROW>
    <VAL_ROW>
    <ID2>1</ID2>
    <NAME2>AC</NAME2>
    <AMOUNT2>20</AMOUNT2>
    </VAL_ROW>
    </VAL>
    </ROW>
    <ROW>
    <ID>3</ID>
    <NAME>C</NAME>
    <AMOUNT>70</AMOUNT>
    <VAL>
    <VAL_ROW>
    <ID2>3</ID2>
    <NAME2>CA</NAME2>
    <AMOUNT2>20</AMOUNT2>
    </VAL_ROW>
    <VAL_ROW>
    <ID2>3</ID2>
    <NAME2>CB</NAME2>
    <AMOUNT2>40</AMOUNT2>
    </VAL_ROW>
    <VAL_ROW>
    <ID2>3</ID2>
    <NAME2>CC</NAME2>
    <AMOUNT2>10</AMOUNT2>
    </VAL_ROW>
    </VAL>
    </ROW>
    <ROW>
    <ID>2</ID>
    <NAME>B</NAME>
    <AMOUNT>30</AMOUNT>
    <VAL>
    <VAL_ROW>
    <ID2>2</ID2>
    <NAME2>BA</NAME2>
    <AMOUNT2>10</AMOUNT2>
    </VAL_ROW>
    <VAL_ROW>
    <ID2>2</ID2>
    <NAME2>BB</NAME2>
    <AMOUNT2>20</AMOUNT2>
    </VAL_ROW>
    </VAL>
    </ROW>
    </CLAIM>
    Notice that for each details (from TEST_XML2) there is <VAL> tag which I don't need beside i want a query which is applicable on all environments.
    May anyone help me please......
    Regards,
    Saad

    The following looks like it produces your desired output. I used the WITH to simulate your two tables so I didn't have to CREATE them. This runs on 10.2.0.1. I'm not sure what bugs you are referring to as SQL/XML is stable in 10g that I have seen. I'm sure some bugs exist somewhere in it, just not with this usage. Just start with the SELECT statement to run on your system.
    WITH test_xml AS
    (SELECT 1 ID, 'A' name, 50 amount FROM DUAL UNION ALL
    SELECT 2, 'B', 30  FROM DUAL UNION ALL
    SELECT 3, 'C', 70  FROM DUAL),
    test_xml2 AS
    (SELECT 1 ID2, 'AA' name2, 10 amount2 FROM DUAL UNION ALL
    SELECT 1, 'AB', 20  FROM DUAL UNION ALL
    SELECT 1, 'AC', 20  FROM DUAL UNION ALL
    SELECT 2, 'BA', 10  FROM DUAL UNION ALL
    SELECT 2, 'BB', 20  FROM DUAL UNION ALL
    SELECT 2, 'BC', 20  FROM DUAL UNION ALL
    SELECT 3, 'CA', 20  FROM DUAL UNION ALL
    SELECT 3, 'CB', 40  FROM DUAL UNION ALL
    SELECT 3, 'CC', 10  FROM DUAL)
    SELECT XMLElement("CLAIM",
             XMLAgg(
               XMLElement("ROW",
                 XMLForest(id "ID",
                           name "NAME",
                           amount "AMOUNT"),
                 (SELECT XMLAgg(XMLElement("VAL_ROW",
                                 XMLForest(id2 "ID2",
                                           name2 "NAME2",
                                           amount2 "AMOUNT2")))
                          FROM test_xml2 t2
                         WHERE t2.id2=t1.id)
      FROM test_xml t1This solution works in any environment where you can issue a SQL statement from, be it SQL*Plus, PL/SQL, Java, etc.

  • Help needed in Master Detail Form - 2 level of details

    Hi,
    I have a form with 2 levels of Master Detail and a Find window
    The Datablocks are
    - Batch
    - Headers
    - Lines
    - Manual datablock for Find Wndow
    I have created relation between Bacthes and Headers with Batch Id
    I have created relation between Headers and Lines using HeaderId.
    The issue is that,
    If I search with '%' in Batch block, by default it will show results in 'Headers' and 'Lines' block.but if i navigate to the next record in batch block , only Headers block shows results but Lines block does not show result.
    If I search from Find window also, only Batch and Headers block shows results but Lines block will be empty.
    In the 'Batch' block if I search with specific data , the screen shows results in 'Headers' and 'Lines' block.
    Can you please help me solve it.
    I have written a PRE-QUERY on Batches block to set where clause from Find window.
    I have written a PRE-QUERY in Headers block to set where clause from Find window
    Thanks,
    Kamath.
    Thanks,
    Gowtam

    Hi,
    When you execute normal not by searching through ENTER_QUERY mode. Then data is coming in all blocks
    - Yes. Once I go to the Form if I search using '%' in batch block or search for a particlaur record i Batch block, the results shows up in Headers and Lines block.
    Ex: say there are 2 records in Batch block(A and B) and I search by %, by default i get 1 batth record (A) and corresponsding headers and lines
    now when i use down arrow key in the batch block, second record(B) will be showed in batch block. relevant Headers block records will be shown but Lines block does not get queried.
    Similarly if coem to the Form from search window then also, Batch and Header blcoks wil be shown but not Lines block
    PREQUERY at Batch Level_*
    V_WHERE := 'WHERE 1 = 1';
    IF :XXYH_ICAN_CALC_WB_FIND.PERIOD IS NOT NULL THEN
         V_WHERE :=      V_WHERE || ' AND PERIOD = '''||:XXYH_ICAN_CALC_WB_FIND.PERIOD||'''';
    END IF;               
    IF :XXYH_ICAN_CALC_WB_FIND.BATCH_ID IS NOT NULL THEN
         V_WHERE :=      V_WHERE || ' AND BATCH_ID = '''||:XXYH_ICAN_CALC_WB_FIND.BATCH_ID||'''';
    END IF;
    IF      V_WHERE IS NOT NULL THEN
         set_block_property('XXYH_ICAN_WB_BATCHES',DEFAULT_WHERE,V_WHERE );                          
    END IF;     
    PRE-QUERY at Header Level_
    IF :XXYH_ICAN_CALC_WB_FIND.BATCH_ID IS NOT NULL THEN
         V_WHERE :=      V_WHERE || ' AND BATCH_ID = '''||:XXYH_ICAN_CALC_WB_FIND.BATCH_ID||'''';
    END IF;
    IF      V_WHERE IS NOT NULL THEN
    set_block_property('XXYH_ICAN_WB_TRX_HEADERS',DEFAULT_WHERE,V_WHERE );
    END IF;     
    Thanks,
    kamath.

  • Post query trigger problem in master detail oracle forms

    Hello experts,
                        I am new in oracle forms n using Fission middleware 10g with oracle forms 11g at windows 7 platform.
    I have made a master detail form using a tab canvas.There is a database column STUDENTID and it is in my student tab with a TBL_STUDENTENTRY data block.Now I Have an another tab named previous_education with TBL_STUDENT_PREVIOU_EDU datablock here there is also a database column STUDENTID and corresponding field in my  previous_education TAB under TBL_STUDENT_PREVIOU_EDU  datablock.Now i want to add a display item to show  student name corresponding to STUDENTID.For this I have tried to make a select query in TBL_STUDENT_PREVIOU_EDU data block POPST_QUERY TRIGGER.
    begin
    select STUDENTNAME into :TBL_STUDENT_PREVIOU_EDU.STD_NM   from TBL_STUDENTENTRY where STUDENTID=:TBL_STUDENTENTRY.STUDENTID;
    end;
    But, This trigger is not fired at runtime,Please suggest me what is going wrong and give me the solution.
    Thank You
    AADITYA.

    http://www.club-oracle.com/forums/post_query-problem-in-oracle-forms-t9751/#post23794 ,  This is the link at where  I have tried to show my problem with the help of an image,Please get the link:
    thanx
    regards Aaditya.

Maybe you are looking for

  • Fields are missing in Purchasing View

    Dear Experts, We have developed Work flow to create material.The work flow cycle follows like this <b>User1-Basic Data1&2,User2-Sales Views,User 3-Purchasing View,User4-MRP Views and User5- Finance and Accounting Views...</b> For this we made an opti

  • Limited drop down list in selection criteria in Crystal Report

    I have designed a Crystal Report to produce Item Labels using Crystal Reports for SAP Business One. The design has a Dynamic parameter for the selection of Item Code, linked to the OITM table in the database The customer database has 5000+ items. Whe

  • Oracle Products needed to be installed

    Dear Sir, If I develop a softwae in Oracle 8i / D2K and need to implement that software in the client's place that has a Win NT Server 4.0 and several nodes (Windows 98) connected by LAN, what are the softwares that are required to be installed at th

  • Want ONE copy printed of an Excel sheet - printer wants to print 72 pages.

    I'm trying to print ONE copy of an Excel worksheet (HP 4500, all in one printer) I've tried numerous times and different ideas, but it STILL wants to print 72 copies (and I keep having to cancel printing, but can't get the problem solved.)

  • Can't see SMB (Windows PCs) on network after upgrading to 10.6

    Just upgraded our office to 10.6 from 10.5 last week and now we can't see the handful of Samba shares in the Network shares list. Tired a couple things I've seen around to try to resolve this like manually setting the workgoup name in the NetBOIS tab