Dynamically Changing Labels for Multi Row Block Buttons

Forms [32 Bit] Version 9.0.4.1.0 (Production)
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
On my local: Windows 7 OS
I am having a difficult time in doing the following in forms, and not sure if it can be done?
I have a multi row block,based on DB table, which displays filename and another column from the table.
It also has a push button on each row, which opens and displays the physical file from its source, when clicked. The filename thus can have 3 diff statuses depending on its sources and accordingly corresponding button should display appropriate label:
a) View Image (its is in content server and successfully imaged. In this case I display the file in the browser, from the content server, when the button is clicked)
b) View File (Display the file from file system)
c) View Error (Display imaging error message from the table, as file failed to make it to the imaging server)
I have this logic currently coded in the post query trigger, at the block level, and tried using set_item_property(button_id, label, <button_lable>), where I programmatically set the button lable, based on the file status (imaged, not imaged or has error) in that row. This wroks well, only if all the files in the multi row block have the same status. If each of them have diff statuses, then only last processed files's status gets reflected into the button label. For eg: The file in the first row of the block is imaged, and one in the second row has an imaging error. The button label for the first row should say 'View Image' and button for the second row should say 'View Error'. But now buttons for both the rows display 'View Error', as thats what got processed last!
I __can not use set_item_instance property for 'label'__ (which lets us dynamically change the label on the push buttons).
Is there any way to do this for ORacle forms? I am now playing with having 3 diff button items in that block, laying them on top of each other and showing only those that are appropriate and hiding the others... But I am not sure it is going to give me what I need? I think I am going to end up facing the same issues as in above case!!
Any expert advice is highly appreciated.
Thanks in advance for your time:
Libran_Girl
Edited by: libran on Aug 30, 2011 8:04 AM
Edited by: libran on Aug 30, 2011 8:05 AM

<p>I have just updated this existing PJC, that was originally constructed to handle Text Fields. You can, now, also handle buttons with it.
Set the Button's Implementation Class property to : oracle.forms.fd.MultiButton.
</p>
This is the code you have to put one triggers of your based block:
When-New-Record-Instance trigger: (based on the EMP table)
declare
     LN$Pos  pls_integer ;
     LN$Rec  pls_integer := Get_Block_Property('EMP', CURRENT_RECORD) ;
     LN$Max  pls_integer := Get_Block_Property('EMP', RECORDS_DISPLAYED) ;
     LC$C    Varchar2(15) ;
Begin     
     LN$Pos :=  LN$Rec - (trunc(LN$Rec/LN$Max) * LN$Max) ;
     If LN$Pos = 0 Then LN$Pos := LN$Max ; End if ;
     If LN$Pos > 0 Then
          Set_Custom_Property('EMP.BT', LN$Pos, 'SET_LOG', 'true' );
          -- Add the new item --
          Set_Custom_Property('EMP.BT', LN$Pos, 'SET_NEW_REC', to_char(LN$Rec) );
          -- Set some properties --
          Set_Custom_Property('EMP.BT', LN$Pos, 'SET_LABEL', to_char(LN$Rec) || ',' || :EMP.ENAME );
          If :EMP.JOB = 'MANAGER' Then
            Set_Custom_Property('EMP.BT', LN$Pos, 'SET_FONT', to_char(LN$Rec) || ',Arial,bold,14' );
            Set_Custom_Property('EMP.BT', LN$Pos, 'SET_FGCOLOR', to_char(LN$Rec) || ',0,0,255' );
          End if ;
          If :GLOBAL.I > 250 Then :GLOBAL.I := 5 ;
          Else  :GLOBAL.I := :GLOBAL.I + 5 ;
          End if ;     
          LC$C := To_Char(LN$Rec) || ','
               || To_Char(255) || ','
               || To_Char(255-:GLOBAL.I) || ','
               || To_Char(255-:GLOBAL.I) ;    
          Set_Custom_Property('EMP.BT', LN$Pos, 'SET_BGCOLOR', LC$C );
          Synchronize;
     End if ;
end;When-Create-Record trigger:
declare
     LN$N    pls_integer ;
     LN$Rec  pls_integer := :system.cursor_record ;
     LC$C    Varchar2(15) ;
Begin     
     if get_block_property('EMP',TOP_RECORD) > 1 Then
          LN$n := :system.cursor_record - get_block_property('EMP',TOP_RECORD) + 1 ;
     else
          LN$N := :system.cursor_record ;
     end if;
     If LN$N > 0 Then
          Set_Custom_Property('EMP.BT', LN$n, 'SET_LOG', 'true' );
          -- Add the new item --
          Set_Custom_Property('EMP.BT', LN$n, 'SET_NEW_REC', to_char(LN$Rec) );
     End if ;
end;Post-Query trigger:
declare
     LN$Pos  pls_integer ;
     LN$Rec  pls_integer := Get_Block_Property('EMP', CURRENT_RECORD) ;
     LN$Max  pls_integer := Get_Block_Property('EMP', RECORDS_DISPLAYED) ;
     LC$C    Varchar2(15) ;
Begin     
     LN$Pos :=  LN$Rec - (trunc(LN$Rec/LN$Max) * LN$Max) ;
     If LN$Pos = 0 Then LN$Pos := LN$Max ; End if ;
     If LN$Pos > 0 Then
          Set_Custom_Property('EMP.BT', LN$Pos, 'SET_LOG', 'true' );
          -- Add the new item --
          Set_Custom_Property('EMP.BT', LN$Pos, 'SET_NEW_REC', to_char(LN$Rec) );
          -- Set some properties --
          Set_Custom_Property('EMP.BT', LN$Pos, 'SET_LABEL', to_char(LN$Rec) || ',' || :EMP.ENAME );
          If :EMP.JOB = 'MANAGER' Then
            Set_Custom_Property('EMP.BT', LN$Pos, 'SET_FONT', to_char(LN$Rec) || ',Arial,bold,14' );
            Set_Custom_Property('EMP.BT', LN$Pos, 'SET_FGCOLOR', to_char(LN$Rec) || ',0,0,255' );
          End if ;
          If :GLOBAL.I > 250 Then :GLOBAL.I := 5 ;
          Else  :GLOBAL.I := :GLOBAL.I + 5 ;
          End if ;     
          LC$C := To_Char(LN$Rec) || ','
               || To_Char(255) || ','
               || To_Char(255-:GLOBAL.I) || ','
               || To_Char(255-:GLOBAL.I) ;    
          Set_Custom_Property('EMP.BT', LN$Pos, 'SET_BGCOLOR', LC$C );
          Synchronize;
     End if ;
end;Don't forget to copy the multirecord.jar file in your /forms/java folder, then add it to the archive and archive_jini tags of your /forms/server/formsweb.cfg file.
Enjoy it,
Francois

Similar Messages

  • How to re-query changed record in multi-row block after update in a called form

    Hi,
    I have a form that I use to perform searches, which is a multi-record block.
    The user can navigate to a record, press a button on call another form which provides
    more detail, and allows update of the record.
    If the user changes it, and returns to the original search form, how can I re-query the
    changed record to update the fields on the search form.
    Is there a way other than to re-query the
    whole block - a built-in to just update on record if it's changed on the database.
    If not, can I use globals to pass back the data (since only a few fields are updatable),
    and change the record without effecting its forms status.
    Many thanks
    Bernie

    BD,
    I haven't managed to look at a solution yet, but the block is a large multi-row block,
    with an ORDER BY, and since it can return a large number of records, there is a short
    delay. I was hoping there was a way of just
    re-querying the one record, which was displayed
    in the second form for update.
    I'll give the query a go, or might try and pass back some globals with the update values.
    By the way, DML Return Value is an excellent feature, but only works against Oracle 8.
    It basiclly adds the RETURNING clause to any DML statement (see SQL manual), so that if
    a trigger changes/adds values you didn't provide, it will return them back to you
    so the values in your form are correct.
    I use a trigger on the DB to populate history fields (create/update,who/when) and
    the PK sequence. Using this feature, those values are returned to the block and displayed.
    Regards
    Bernie

  • Multi row block button

    Guys, was wondering if anyone could help me out. I have a multi record block which displays about 10 rows on the screen to user, I have also added a button to this multi record block so there is 10 buttons, each button beside the corresponding row. When I click the button it processes the data in the current row and gives out a result, however it doesnt seem to work like that. If I query back and have 10 records displayed on the screen and then click the 5th button down which should process the data for the 5th record down it actually processes the data for the first record where the cursor currently is after the first query. Is there anyway I can get the cursor to go down to the record which corresponds to the button pressed? IE if i manually click on a record and then any of the buttons it processes whatever record the cursor is on, but I want it to automatically go to the record corresponding to the button when the button is pressed?
    Thanks for any help I may receive.

    Do you have your button in the same block as the items? It sounds like the button might be in its own database block which is why the rows don't match up. If that is the case then either move the button into the same block as the items, then row 5 for the button is the same row for that record, or you could add logic to your WHEN-BUTTON-PRESSED trigger that would navigate to the block that the items are in and move to the same record, but that would be a little whacky.

  • Dynamic visual attributes/multi-row blocks

    We're using Headstart, Des2k V6.0.3.8. If you set preference CURREC = multi record block, you get the current record visual attribute (cg$current_record) attached to all displayed items in multi-row blocks. From the Headstart object library, these items also inherit a visual attribute of qms$item_font.
    At runtime, Headstart code is invoked from the block's post-query trigger - this code dynamically assigns a readonly visual attribute to all items that are insert only, or the qms$item_font va to items that are update only. (Incidentally, it seems a bit strange that no va is assigned to items that are neither insertable nor updateable).
    Assigning the va in this way seems to override the current record va for these items, which looks a little strange at runtime. I would prefer to see the current record va overriding the readonly/item_font va. In a future Headstart release, it would be nice if this functionality was configurable, but in the meantime can you suggest the easiest way of making this change to the Headstart code? I think it will be necessary to specifically set the va to stnd/readonly/current record in the when-new-record-instance trigger, & reset it on the post-record trigger. Once va's are being set dynamically, the current record attribute is pretty useless in multi-row blocks.
    Incidentally - we've also changed the behaviour of va's in query mode processing. We wanted the query mode va to override the current record va; qms$record.highlight_items wasn't setting the selected va unless items have a current record attribute of DEFAULT. We wanted query mode to look the same regardless how many rows are in the block; it also looked a little odd in a multi-row block with overflow items, where the overflow items were being highlighted but the rest of the block wasn't. It would be nice if this was also a configurable option.

    Cheryl,
    Good point! It does look a bit odd. I'll take this into consideration for HSD6i.
    To customize your app, try the following.
    Copy qms$event_data_block from qmsevh50.pll to your application library.
    Copy procedure set_nav_items_exg_record from the qms$record package in qmslib50.pll to your application library -AND GIVE IT A NEW NAME- like set_nav_items_custom.
    Change your copy of qms$event_data_block to call this new procedure in the post-query event.
    Modify set_nav_items_custom as follows.
    ============================================
    procedure set_nav_items_custom
    ( p_block in varchar2
    , p_recno in number default current_record
    is
    l_rg_id recordgroup;
    l_rgc1_id groupcolumn;
    l_rgc2_id groupcolumn;
    rg_rows number;
    l_item_flag varchar2(1);
    l_item_name varchar2(100);
    l_first_io_item varchar2(100);
    begin
    qms$block.init_block_rg
    ( p_block,false,l_rg_id,l_rgc1_id,
    l_rgc2_id, rg_rows);
    if id_null(l_rg_id)
    then
    -- no insert-only or update only items
    -- in block
    return;
    end if;
    for j in 1..rg_rows loop
    l_item_name := get_group_char_cell
    (l_rgc1_id, j );
    l_item_flag := get_group_char_cell
    (l_rgc2_id, j );
    if l_item_flag = 'I'
    then
    if l_first_io_item is null
    then
    l_first_io_item := l_item_name;
    end if;
    -- Item is insert-only, update not
    -- allowed
    -- Change background color to
    -- read-only.
    set_item_instance_property
    ( l_item_name,p_recno,navigable
    , property_false);
    /* customization */
    if get_item_property(l_item_name
    , current_record_attribute) is null
    or p_recno <> :system.cursor_record
    then
    /* end customization */
    set_item_instance_property
    (l_item_name,p_recno
    ,visual_attribute
    ,qms$user_prefs.get_va_readonly_item);
    /* customization */
    end if;
    /* end customization */
    else
    -- Item is update-only, insert not
    -- allowed */
    set_item_instance_property
    (l_item_name,p_recno
    ,navigable,property_true);
    /* customization */
    if get_item_property(l_item_name
    ,current_record_attribute) is null
    or p_recno <> :system.cursor_record
    then
    /* end customization */
    set_item_instance_property
    (l_item_name,p_recno
    ,visual_attribute
    ,qms$config.get_stnd_font);
    /* customization */
    end if;
    /* end customization */
    end if;
    end loop;
    -- 18-1-1999: If block only contains no
    -- updatebale items, there are navigable
    -- items left.
    -- If this is the case make first
    -- insert-only item navigable again.
    if get_block_property(p_block,enterable) =
    'FALSE'
    then
    if l_first_io_item is not null
    then
    set_item_instance_property
    (l_first_io_item,p_recno
    ,navigable,property_true);
    end if;
    end if;
    exception
    when form_trigger_failure then raise;
    when others then
    qms$errors.unhandled_exception
    ('qms$block.set_mav_items_custom');
    end set_nav_items_custom;
    ============================================
    Next, as you suggested, add WHEN-NEW-RECORD-INSTANCE and POST-RECORD triggers to handle movement from one record to the next.
    WHEN-NEW-RECORD-INSTANCE
    ============================================
    procedure set_nav_items_wnri
    ( p_block in varchar2
    , p_recno in number default current_record
    is
    l_rg_id recordgroup;
    l_rgc1_id groupcolumn;
    l_rgc2_id groupcolumn;
    rg_rows number;
    l_item_flag varchar2(1);
    l_item_name varchar2(100);
    begin
    qms$block.init_block_rg
    ( p_block,false,l_rg_id,l_rgc1_id,
    l_rgc2_id, rg_rows);
    if id_null(l_rg_id)
    then
    -- no insert-only or update only items
    -- in block
    return;
    end if;
    for j in 1..rg_rows loop
    l_item_name := get_group_char_cell
    (l_rgc1_id, j );
    l_item_flag := get_group_char_cell
    (l_rgc2_id, j );
    if l_item_flag = 'I'
    then
    -- Item is insert-only, update not
    -- allowed
    -- Change background color to
    -- read-only.
    if get_item_property(l_item_name
    , current_record_attribute) is null
    or p_recno <> :system.cursor_record
    then
    set_item_instance_property
    (l_item_name,p_recno
    ,visual_attribute
    ,qms$user_prefs.get_va_readonly_item);
    else
    set_item_instance_property
    (l_item_name,p_recn o
    ,visual_attribute
    ,get_item_property(l_item_name
    , current_record_attribute));
    end if;
    else
    -- Item is update-only, insert not
    -- allowed */
    if get_item_property(l_item_name
    ,current_record_attribute) is null
    or p_recno <> :system.cursor_record
    then
    set_item_instance_property
    (l_item_name,p_recno
    ,visual_attribute
    ,qms$config.get_stnd_font);
    else
    set_item_instance_property
    (l_item_name,p_recno
    ,visual_attribute
    ,get_item_property(l_item_name
    , current_record_attribute));
    end if;
    end if;
    end loop;
    exception
    when form_trigger_failure then raise;
    when others then
    qms$errors.unhandled_exception
    ('qms$block.set_mav_items_wnri');
    end set_nav_items_wnri;
    ============================================
    For the POST-RECORD trigger, you will have to modify your object library since this trigger is not included by default. Add the trigger to the object library CGSO$BLOCK_MR.
    Then add the POST-RECORD event to your copy of qms$event_data_block.
    Finally, add a procedure for the POST-RECORD trigger.
    ============================================
    procedure set_nav_items_pr
    (p_block in varchar2
    ,p_recno in number default current_record
    is
    l_rg_id recordgroup;
    l_rgc1_id groupcolumn;
    l_rgc2_id groupcolumn;
    rg_rows number;
    l_item_flag varchar2(1);
    l_item_name varchar2(100);
    l_first_io_item varchar2(100);
    begin
    qms$block.init_block_rg
    ( p_block,false,l_rg_id,l_rgc1_id,
    l_rgc2_id, rg_rows);
    if id_null(l_rg_id)
    then
    -- no insert-only or update only items
    -- in block
    return;
    end if;
    for j in 1..rg_rows loop
    l_item_name := get_group_char_cell
    (l_rgc1_id, j );
    l_item_flag := get_group_char_cell
    (l_rgc2_id, j );
    if l_item_flag = 'I'
    then
    -- Item is insert-only, update not
    -- allowed
    -- Change background color to
    -- read-only.
    if l_item_flag = 'I'
    then
    -- Item is insert-only, update not
    -- allowed
    -- Change background color to
    -- read-only.
    set_item_instance_property
    (l_item_name,p_recno
    ,visual_attribute
    ,qms$user_prefs.get_va_readonly_item);
    else
    -- Item is update-only, insert not
    -- allowed
    set_item_instance_property
    (l_item_name,p_recno
    ,visual_attribute
    ,qms$config.get_stnd_font);
    end if;
    end loop;
    exception
    when form_trigger_failure then raise;
    when others then
    qms$errors.unhandled_exception
    ('qms$block.set_mav_items_pr');
    end set_nav_items_pr;
    ============================================
    Regards,
    Lauri

  • Multi row block record_group or cursor?

    I've done a lot of research on the Forms OTN forum and can't find a solution to this problem. I'll continue to research until an answer is posted to this thread. I've used the forms forums and Metalink for years and they've been a great help.
    My problem -
    I have a multi-row block built off a view. Each row has a check box. The canvas also has a button. When the button is pressed, each record checked will be processed. The problem is, I need to sort the data selected (checked) before it's processed. To complicate matters, the sort criteria is not in the view. My plan was to build a cursor off the block, but I'm having problems populating due to the multi-row aspect.. I also tried building a record_group but again ran into complications with it being multi-row. I'm not sure which method to use since I haven't found a clear-cut solution.
    btw - using 10gR2.
    TIA,
    abc

    AB, you're sure not very clear on this.
    Aweiden has the correct suggestion: Create a PL/SQL table in the form, rather than a record group.
    Here are the steps I would follow:
    1. User queries and displays the data, and then checks some checkboxes. Do not use a when-checkbox-changed trigger, since they can check, then un-check boxes.
    2. When user presses the process button, loop through the block as Aweiden has done above. However, I would call a procedure from within the loop to look up the values from the Mel_Item table. Store the values returned from the procedure within your pl/sql table, adding one row to the table for each row in your block that was checked.
    As a side note, how difficult is it to join the Mel_Item table with your view when you query the block? You could store those sort values from Mel_Item along with the data from the view.
    3. Once you are done processing the data block loop, sort the pl/sql table. (Maybe I can find the code lying around here somewhere, but a table sort like that can be coded in maybe 20 lines).
    I am not sure, but are you saying above ("...insert each row into another table (other information is different so its not duplicate rows entirely)...") that you are inserting the data from the user-checked rows into a database table? That is certainly easier to do than writing your own sort, I guess.
    4. After the pl/sql table is sorted, loop through it one more time, processing the data in the required sequence.
    Actually, pl/sql table processing is quite fast. You don't really need to sort the rows. All you need do is to step through the table checking for the first row to process (by finding the lowest value of the sort items). Process that row's data, then remove (delete) it from the table, then repeat the process until you have processed and removed every row from the array. I believe I would use this method rather than trying to sort the pl/sql table, OR inserting into a database table.
    Edited by: Steve Cosner on Oct 23, 2008 10:39 PM

  • How can I handle data in a multi row block?

    Hi all,
    I have a form which contain a multi row block.
    I put data in that block. Suppose that in the second column of
    that block data no changes.I want to fill only the first cell of
    the column and all the cells below first cell ( header) inherits
    that value.
    Example :
    Block1
    ITEM1 ITEM2
    rec1 1 1999
    rec2 2
    rec3 3
    When I insert in the table rec2 I want :
    INSERT INTO(col1,col2) VALUES)(2,1999)!!!.
    Best Regards !
    null

    vali (guest) wrote:
    : Hi all,
    : I have a form which contain a multi row block.
    : I put data in that block. Suppose that in the second column of
    : that block data no changes.I want to fill only the first cell
    of
    : the column and all the cells below first cell ( header)
    inherits
    : that value.
    : Example :
    : Block1
    : ITEM1 ITEM2
    : rec1 1 1999
    : rec2 2
    : rec3 3
    : When I insert in the table rec2 I want :
    : INSERT INTO(col1,col2) VALUES)(2,1999)!!!.
    : Best Regards !
    Mr. Vali,
    I suppose you want to enter ITEM2 value only in first record and
    duplicate that value in subsequent records automatically. There
    are couple of methods to accomplish this and the following is one
    of them:
    Add this code in WHEN-NEW-RECORD-INSTANCE trigger for block1.
    IF :SYSTEM.RECORD_STATUS ='NEW' AND :SYSTEM.CURSOR_RECORD > 1
    THEN
    IF :ITEM2 IS NULL THEN
    GO_ITEM('ITEM2');
    DUPLICATE_ITEM;
    GO_ITEM('ITEM1');
    END IF;
    END IF;
    good luck
    null

  • Overflow-field in multi-rows block

    Hi!
    How can i realize overflow-field in multi-rows block.
    I place overflow fields in the footer area of block
    and get value use ${uix.current['Description']} - but no have results.
    Use javascript to set value of overflow-field?
    thanks

    Andreas,
    I was most intrigued by your offered solution, so I created a test case. Unfortunately, this solution gives inconsistent results. Here was my test case:
    1. Table: Planets
    Columns: 3 (PL_ID, Name, Description
    2. Added nine entries for all 8 planets and one record for Pluto (sorry, grew up with this being classified as a planet! :) )
    3. Created very basic form to display all 3 columns in Tabular (Multi-Record) format and displayed 5 rows.
    4. Created button in a Control Block to display Cursor_Record, Trigger_Record and Top_Record
    - Set Mouse & Keyboard navigate to NO
    Ran Form and navigated to each row and clicked on button. The following was my results:
    >
    Row 1: Cursor Rec: 1, Trig Rec: 1, Top Rec: 1
    Row 2: Cursor Rec: 2, Trig Rec: 2, Top Rec: 1
    Row 3: Cursor Rec: 3, Trig Rec: 3, Top Rec: 1
    Row 4: Cursor Rec: 4, Trig Rec: 4, Top Rec: 1
    Row 5: Cursor Rec: 5, Trig Rec: 5, Top Rec: 1
    Row 6: Cursor Rec: 6, Trig Rec: 6, Top Rec: 2
    Row 7: Cursor Rec: 7, Trig Rec: 7, Top Rec: 3
    Row 8: Cursor Rec: 8, Trig Rec: 8, Top Rec: 4
    Row 9: Cursor Rec: 9, Trig Rec: 9, Top Rec: 5
    Row 10: Cursor Rec: 10, Trig Rec: 10, Top Rec: 6 - New Record - NULL values
    - Navigated back to Row 6: Cursor Rec: 6, Trig Rec: 6, Top Rec: 5 (however - visually in the screen Row 6 was the 2nd row of the 5 rows displayed.
    - Navigated back to Row 3: Cursor Rec: 3, Trig Rec: 3, Top Rec: 3 (however - visually in the screen Row 3 was the 1st row of the 5 rows displayed.
    >
    Based on these results, the option to use the GET_BLOCK_PROPERT('BLOCK_NAME',TOP_RECORD) won't work either. :-( Unforntunately, displaying the MCHAR field in a static location or using Java (though hardest) are still the best solutions.
    Craig...

  • How to calculate total in multi-row block

    How can I calculate and display the total amount in a multi-row
    block that records are not yet save into database?
    null

    Kanekan (guest) wrote:
    : How can I calculate and display the total amount in a multi-
    row
    : block that records are not yet save into database?
    Hi,
    I worked with similar type of requirement. If you are
    working with Forms5.0 there is a new property of formula/summary
    in property palette of text item. In the same block or in
    control block create non database item( It's non base table item
    in forms4.5). In it's property palette give the data type as
    number and set the source item name and set summary property.(
    opetions are max,min,sum etc available). This value will change
    when you navigate from the source item( I mean after validation).
    I think this is informative.
    Nag
    null

  • HOW TO MAKE CHECK BOXES EXCLUSIVE IN MULTI ROW BLOCK

    Hi,
    I have a multi row block with one item as check box.It is
    required that at a time only one record can be marked as
    selected through this item. If user marks a record as selected
    the previous selected record should be marked as deselected.
    How i can make these check boxes mutually exclusive ?
    can anybody help me?
    Thanks in Adv
    Sharath.
    null

    SHARATH (guest) wrote:
    : Hi,
    : I have a multi row block with one item as check box.It is
    : required that at a time only one record can be marked as
    : selected through this item. If user marks a record as selected
    : the previous selected record should be marked as deselected.
    : How i can make these check boxes mutually exclusive ?
    : can anybody help me?
    : Thanks in Adv
    : Sharath.
    Hi
    The check box can not be mutually exclusive.
    This is a basic functionality.
    You convert this item type into radio button.
    It will satisfy your requirements.
    Jeya Raman R
    null

  • Microsoft optical mice and wheel scrolling in multi-row block

    Hi.
    One part of our form is a multi-row block. It has a scroll bar and upto this point you can scroll using the wheel when your mouse is on the scroll bar or if the pointer is anywhere within the multi-row block, you can use the wheel to scroll. This works for logitech ball and optical mice, ibm ball mice and even microsoft ball mice. All of them have the wheel. We do find a problem with microsoft optical mice whether its the explorer or optical brand. The wheel mouse works when the pointer is on the scroll bar but it does not scroll if the pointer is within the multi-row block. I have spoken with Oracle and of course they say its microsofts problem. Has anyone come across this? I have contacted microsoft but no word as yet.
    Thank you,
    Jayme

    Forms has no support for the Wheel Scrolling action - if it works at all it's because the Mouse driver is clever enough to work out when it is on a ScrollBar and send the relevant Windows Events. You may find it also works in Multi-line text items.

  • Multi-row block with many image-java-beans

    Hi, I want to create a multi-row block based on a table, e.g. emp with 5 records.
    Then I want to add 5 java-bean images in the same block. Now I want to read from the db-table emp the blob-column with the image of the corresponding empno. Is this possible? How can I do this? Can someone give me a sample for this?
    Thanx Bea

    Hi John, by running the scipts this message occurs:
    [sql] Executing file: C:\Programme\Oracle\JDev11g\samples\Infrastructure\DBSchema\Scripts\DataScripts\DISCOUNTS_BASE.sql
    [sql] Executing file: C:\Programme\Oracle\JDev11g\samples\Infrastructure\DBSchema\Scripts\DataScripts\MEMBERSHIPS_BASE.sql
    [sql] Executing file: C:\Programme\Oracle\JDev11g\samples\Infrastructure\DBSchema\Scripts\DataScripts\SHIPPING_OPTIONS_BASE.sql
    [sql] Failed to execute: INSERT INTO SHIPPING_OPTIONS_BASE VALUES (1, 'US', '3.15', '11.98', '27.50', 'Y', '0', SYSDATE, '0', SYSDATE, 0)
    BUILD FAILED
    C:\Programme\Oracle\JDev11g\samples\Infrastructure\Ant\build.xml:16: The following error occurred while executing this line:
    C:\Programme\Oracle\JDev11g\samples\Infrastructure\DBSchema\build.xml:146: java.sql.SQLException: ORA-01722: invalid number
    What shall I do?
    Bea

  • Multi-row blocks overlap on same canvas

    Hi,
    I have a problem designing a Form. We use Designer 6i and we generate with the Headstart 6.5 (first version) scripts.
    I want to make a master-detail form and both of those blocks have to be on 1 tabpage. Both blocks also are multi-row block. Every time i generate it the two blocks overlap eachother in the canvas. I tried it with item groups for both blocks. I used the X and Y position in the properties of the block (module components) but they keep on overlapsing (Because it looks like both blocks start from the same starting point, so that makes them overlap). Is this a know bug or did anyone ever had the same problem?
    Oh yeah, and on both blocks i did put the preference set from Headstart (QMS65_MULTI_RECORD_BLOCK).
    Please help.
    Kind regards,
    Dave

    Hi,
    Set the "placement property" of the master block component to "new tab canvas page" and the detail component to "Same tab canvas page". You can set the size of the first master block for example: X = 102 and Y = 61
    You dont need to set the size of the detail block.
    Hope this helps you,
    CB

  • Can't Change Labels for Properties

    I Can't Change Labels for predefine Properties
    or Custom Properties.
    I had done it with this:
    http://help.sap.com/saphelp_erp2004/helpdata/en/65/6fc63ed4027f6be10000000a114084/frameset.htm
    I just followed what the help said.
    but i can't see any change for my label of Properties.
    I had done it as follow steps.Please help me to
    Check if i miss some steps!
    1,I creat .properties files
      mylabels.properties
       in this properties file  i creat a key
           modified=date
      mylabels_zh_CN.properties
        in this properties file  i creat a key
           modified=u66F4u65B0u65E5u671F
    2,I made a jar file use the two .properties files
      named mybunding.jar
    3,I copy this jar file to
    .../j2ee/cluster/server<n>/apps/sap.com/irj/servlet_jsp/irj/root/web-inf/portal/portalapps/com.sap.km.common.resourcebundle/lib
    4, Create a new metadata extension under Content Management -> Global Services -> Property Metadata -> Metadata Extensions.
      named it  my_metadatae_extension
       set  Bundle File=com.sap.km.common.resourcebundle.mybunding.mylabels
    5,restart the servlet engine,
    6 in the key for label of the properties
        i set modified the key i creat in step 1.
    when i display the properties it still didn,t display
    my created lable.
    How should i do? any step i miss? or any better solution
    for the lable?
    Please help me ,
    BestRegards
    Han

    Hi Han,
    here my corrections:
    1.
    I would use the filename "mylabels_cn.properties" and not "mylabels_zh_CN.properties"
    2.&3.
    This is the SP2 way for using the bundle files for properties. For NetWeaver you need to create a new PAR-file with the bundle file including the labels and translations as described <a href="http://help.sap.com/saphelp_nw04/helpdata/en/65/6fc63ed4027f6be10000000a114084/frameset.htm">here</a>.
    It's very easy if you use the example PAR file provided by SAP in SAP Note 817876, as mentioned in the referenced link (Prerequisites section).
    Read carefully the process in the link and try again. If you still experience problems, come back with the new detailed description.
    Hope this helps,
    Robert

  • Custom Popup on a Tabular Form for Multi Row Operation

    I am trying to implement a custom popup on a tabular form that I can pass a value typed in to a text item like “Name” to the popup so it can filter a list of names on what was already typed in.
    Once a selection is made I need to have the selected name passed back to the text item.
    This is easily done when not using a Tabular Form. Any ideas would be great?

    Can someone please help me with this?
    I've read the Thread:
    "Custom Popup on a Tabular Form for Multi Row Operation",
    and have tried following the instructions provided by Willi Firulais.
    I've also tried to integrate the instructions provided by RWeide in response within the same Thread.
    I cannot get the passBack function to Pass the value to the Calling Page.
    (I've tried to organize the pertinent information as it pertains to my application,
    and have included it here below:)
    A. Calling Page (Page# 141)
    1. HTML Header: (Page# 141)
    <script> function callMyPopup(item) { var url;
    url = 'f?p=&APP_ID.:143:&APP_SESSION.::::P143_ITEM:'+ item;
    w = open(url,"winLov","Scrollbars=1,resizable=1,width=800,height=600");
    if (w.opener == null) w.opener = self; w.focus(); }
    </script>
    2. Region Definition: (Orders) - SQL Query (Updateable Report)
    a. Query:
    select
    'f01_'||to_char(rownum ,'FM0999') ITEM,
    "ID",
    "ID" ID_DISPLAY,
    "ID_PROJECT",
    "ID_SUPPLIER",
    "DESCRIPTION",
    "JOB_NO",
    "QUANTITY",
    "UNIT_PRICE",
    "EXTENDED_PRICE",
    "MANUFACTURER",
    "SUPPLIER",
    "PART_NO",
    "GROUP_LIST",
    "BILLED_PRICE",
    "DATE_NEEDED",
    "DATE_DELIVERED",
    "SUPPLIER_TYPE",
    rownum
    from "#OWNER#"."OAX_MAT_ORDER_ITEMS07"
    where job_no = :P141_JOB_NO
    3. Report Attributes: (ITEM) - URL
    javascript:callMyPopup('#ITEM#');
    B. PopUp Page (Page# 143)
    1. HTML Header: (Page# 143)
    <script language="JavaScript"> function passBack(passItem1, passVal1)
    { opener.document.forms["wwv_flow"].SUPPLIER[&P143_ITEM.].value = passVal1;
    close(); }
    </script>
    2. ITEMS:
    P143_ITEM
    3. Region Definition: (Suppliers) - SQL Query(Structured Query)
    OAX_SUPPLIERS.ID
    OAX_SUPPLIERS.NAME
    4. Report Attributes: (NAME) - URL
    javascript:passBack('&P143_ITEM.','#NAME#');
    Thank you in advance for you help!

  • ID 5.5 Interact. PDF, cannot remove white background for Multi-States and buttons.

    Hi
    I am working on an Interactive PDF Portfolio document. The problem I have is with Multi-State object feature with several buttons going to states that need to be exported as a SWF and imported back into InDesign 5.5. See, the background of my entire doc. is GREY, but when I import the SWF (as directed in Lynda.com videos correctly) and export the entire doc as Interactive PDF and view it in Adobe Acrobat Pro (version 10.1.1) is when all the trouble starts.
    When I try to get rid of the WHITE background around the Multi-State objects and the buttons for them (using Select Object Tool and then control+click on it to change the Properties to Transparent Background Appearance) it does not change, even when I go forward and backward to the page.
    Does the option of removing white background and making it transparent work only for Animation, but not Multi-State feature with buttons?
    Can anyone suggest any other tecnique to create a nice slide show that works in Interactive PDF in ID CS5.5? Please..
    Sincerely,
    in need of help,
    Eve

    I have 8 Multi-State objects in one stack on the left and the 8 buttons for each state in the stack on the right. The background of my document is dark grey. There is space inbetween Multi-State objects and the buttons that show the grey background. But after exporting as SWF the Multi-States together with the buttons and placing the SWF back in the PDF file, the space inbetween Multi-States and buttons that is supposed to show the grey background appears white. The problem is that I cannot even change this white background to transparent in Acrobat Pro, as well. I used to do that to animations and it worked, but not in this case.

Maybe you are looking for

  • My sales order is having two schedule lines

    Hi sap gurus, my sales order quantity is 36 pcs. the same sales order has two schedule lines in that the material availability date is 05/02/2010 for quantity 22 and for second is 15/02/2010 quantity is for remaining 14 quantities. so here delivery c

  • Android Adobe reader don't open pdf Hyperlink

    Hi all, i'm trying to develop an android application, and i would like to know why the adobe reader don't recognize the hyperlink in a pdf file... I would like to know if my settings are wrong or the adobe reader application does not support that fea

  • HT204394 Copy text to Keynote support please

    Why can't I copy text from any doc into my Keynote presentation? Do I have to retype all the text again? Thanks

  • Apple Mail displaying no pictures

    I sent out an email promo using MadMimi and a handful of pictures. It was fine during the editing process, but when I opened the email I'd sent to myself there were no pictures...only a small question mark in the center of the image border along with

  • Problem with executeQuery()

    Hello all, I've the following code in my JSP. I use Apache Tomcat 6.0 along with MySQL. Problem is i'm unable to execute the following query. The page goes to a wait that is the apache takes almost 99% of the CPU time and there by continues with disp