How to refresh lov displayed value

Hi,
I have a POPUP LOV (which displays a numeric id and description) and it has cascading parent LOV. When I change the value in the parent LOV the child LOV is populated with new values and that is OK. But, I also want to automatically select some value from that LOV according to some rule. How can I do this? I tried with dinamic actions "set value" but only the session value of the item changes and the popup stays the same (no value selected).
Thanks

I wonder if more people agree with your statement that this would be the natural thing to do.
Everybody knows Excel, and wants Excel behaviour. This behaviour is just like Excel. You search for 2251343000 in a formatted column, not 2,251,343,000. It's way easier to type 2251343000 on the numeric keyboard.
(Just tried if you can filter on a unformatted hidden column somehow, but that doesn't seem to work. Sorry, no solution from me then.)
Edited by: InoL on Apr 15, 2013 5:06 PM

Similar Messages

  • How to get lov display value dynamically for an item according to date pick

    Hi friends,
    I have a date picker item called on_date, and also one lov item course_name
    If i select one date from the date picker item means, automatically the course name corresponding to the date has to populate in the course_name item lov.
    suppose if i select the date (21-06-2011) from the date picker item means and if there are two courses available for the date in the table
    that is *) APEX *)OAF means, then the course_name item lov should show APEX and OAF in the select list.
    How to acheive it.
    I tried it in the way by creating a dynamic action for the date item
    True Action: set value
    Sql Expression:
    select course_name from xx_trg_course_detail where :P2_ON_DATE between effective_start_date and effective_end_datepage item to submit: P2_ON_DATE
    Affected element: P2_COURSE_NAME
    it is working if i kept the course_name item as a text field instead of LOV item.
    But i need to show the corresponding courses in the lov for the course_name item soon after selecting the particular date from the date picker.
    This is the LOV definition that i gave for the course_name item
    select course_name r, course_name d from xx_trg_course_detail where :P2_ON_DATE between effective_start_date and effective_end_datewhat is the problem over here.
    Thanks
    Regards,
    Mini
    Edited by: Mini on Jun 22, 2011 2:45 AM

    Hi friends,
    One of my batch mate corrected this problem, by setting
    cascading LOV parent item: P2_ON_DATE
    page items to submit       : P2_ON_DATE
    By specifying the date picker item name in the above fields for the item COURSE_NAME.
    Now if i select the date from the picker means, the lov item course_name is getting changed as it is showing only the courses of the respective dates.
    Thanks
    Regards,
    Mini

  • HOW TO have LOV display values from a table not contained in parsing schema

    I am using DAD to log in and have been able to get around the problems associated with the login schema being different than the parsing schema. However, I want to have a list of values to be shown to the user based on a table in the DAD schema that they log into rather than the parsing schema.
    Anyone know how this might be done?

    GOT IT:
    RETURN 'select xxxxxxx' does it

  • How to refresh table display using slis and 'reuse_alv_grid_display method.

    hello,
    how to refresh table display using slis and 'reuse_alv_grid_display method'.
    when i'm refreshing table display it performs once again reuse_alv_grid_display.and when i back the previous value appear.how to solve it?
    neon

    are you chaning any value in the gird if so use this..
    Pass the user_command form name to the Import parameter
    I_CALL_BACK_USERCOMMAND .
    and have the Dynamic form implementation..
    FORM user_command USING ucomm TYPE sy-ucomm
                selfield TYPE slis_selfield.
    "The below is important for Editable Grid.
      DATA: gd_repid LIKE sy-repid, "Exists
      ref_grid TYPE REF TO cl_gui_alv_grid.
      IF ref_grid IS INITIAL.
        CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
          IMPORTING
            e_grid = ref_grid.
      ENDIF.
      IF NOT ref_grid IS INITIAL.
        CALL METHOD ref_grid->check_changed_data .
      ENDIF.
      CASE ucomm.
        WHEN 'REFRSH'.
      ENDCASE.
           selfield-refresh = 'X'.
    ENDFORM.                    "user_command

  • How to get the display value of selected item in list box?

    I have a page with an HtmlSelectOneListbox that is filled with an ArrayList of SelectItem objects.
    The SelectItem objects contain a Key and Value. The Value is displayed in the ListBox.
    The value parameter of the listbox is bound to a bean property which is called selectedListItem.
    The bean property selectedListItem contains the Key of the SelectItem that is selected.
    How do I obtain the Value of the selectedListItem?
    I need to be able to get the Value field that is displayed, not just the Key to the item that is displayed.
    Edited by: burferd on Nov 3, 2007 10:03 PM

    How are you filling in the value of the menu? Obtain it back by the same way. Or pass it along the key in a object.
    This article may give useful insights: http://balusc.blogspot.com/2007/09/objects-in-hselectonemenu.html

  • How to Refresh "Internal table values" in User EXIT.

    Dear All,
    My requirement is to place some checks in exit ZXQQMU20 in different tabs from the TCODE IW21 . IW22 etc.
    Now after placeing the checks towards the different tabs while doing "NOCO" from IW21 the conditions are fullfilled but
    when i go ahead to modify the created  "NOCO " from the TCODE IW22 by deleting the created values and saving in IW22 , the conditions written in the exit are still satisfied eventhough i have deleted the values in IW22.
    The reason for this is that the tables which are there in the exit ZXQQMU20 T_VIQMFE , T_VIQMUR , T_VIQMMA
    still contains the old values which were there at the time of creation of "NOCO"  in IW21 .
    How to refresh my " internal tables values" used in such that even at the time of modification of the NOCO through IW22 my table values should pick the current screen values and not the values which were there at the time of creation.
    Please help.
    The code i have written in the exit is as below:-
    ********************* Changed vide ******START
    *****IW21  IW22 also added in filter criteria of notification *************
    ******The purpose of this modification is that in the execution of IW21 or IW22 or IW24 or IW25 we have to give a check that if the
    ******notification type is M2 than inside the Transaction screen , if the Breakdown duration comes less than 15 min than there are
    ******no issues but if the breakdown duration is more than 15 min than the mandatory fields needs to be entered in the analysis tab.
    **    The user has to fill up either following mandatory fields in Analysis Data tab.
    **    A. Object Parts & Damages sub tab
    **    Code Group - Object Parts (OTGRP, VIQMFE)
    **                          AND
    **    Code Group - Problem / Damage (FEGRP, VIQMFE)
    **    Or
    **    Notification Item Short Text (FETXT, VIQMFE)
    **   B. Cause sub tab
    **    Code Group # Causes (URGRP, VIQMUR)
    **    Or
    **    Cause Text (URTXT, VIQMUR)
    **   C. Action Taken sub tab
    **    Code Group # Activities (MNGRP, VIQMMA)
    **    Or
    **    Activity Text (MATXT, VIQMMA)
    **            Then, allow user to complete notification (NOCO).
    CLEAR : L_VAR , L_COMP_TIME.
    IF ( SY-TCODE EQ 'IW21' OR SY-TCODE EQ 'IW22' OR SY-TCODE EQ 'IW24' OR
          SY-TCODE EQ 'IW25' ).
       IF ( E_VIQMEL-IWERK = '061' ) OR ( E_VIQMEL-IWERK = '062' ).
         IF E_VIQMEL-QMART = 'M2'.
           L_VAR = E_VIQMEL-AUSZT.
           L_COMP_TIME = L_VAR / 60.
           IF L_COMP_TIME < 15.
             EXIT.
           ELSEIF L_COMP_TIME > 15..
    *         IF ( T_VIQMFE-OTGRP IS INITIAL AND T_VIQMFE-FEGRP IS INITIAL )  OR  ( T_VIQMFE-FETXT IS INITIAL ) .
    *           MESSAGE 'Please fill the mandatory analysis data in Object Parts' TYPE 'E'.
    *         ENDIF.
             IF T_VIQMFE-OTGRP EQ '' OR T_VIQMFE-FEGRP EQ ''.
               IF T_VIQMFE-FETXT EQ ''.
                 MESSAGE 'Please fill the mandatory analysis data in Object Parts' TYPE 'E'.
               ENDIF.
             ENDIF.
             CLEAR L_TAG.
             IF T_VIQMUR[] IS INITIAL.
               MESSAGE 'Please fill the mandatory analysis data in Cause tab' TYPE 'E'.
             ELSE.
               LOOP AT T_VIQMUR.
                 IF  T_VIQMUR-URGRP IS INITIAL .
                   IF T_VIQMUR-URTXT IS INITIAL.
                     L_TAG = 'X'.
                   ENDIF.
                 ENDIF.
               ENDLOOP.
               IF L_TAG = 'X'.
                 MESSAGE 'Please fill the mandatory analysis data in Cause tab' TYPE 'E'.
               ENDIF.
             ENDIF.
             CLEAR L_TAG.
             IF T_VIQMMA[] IS INITIAL.
               MESSAGE 'Please fill the mandatory analysis data in Action' TYPE 'E'.
             ELSE.
               LOOP AT T_VIQMMA.
                 IF  T_VIQMMA-MNGRP IS INITIAL .
                   IF T_VIQMMA-MATXT IS INITIAL.
                     L_TAG = 'X'.
                   ENDIF.
                 ENDIF.
               ENDLOOP.
               IF L_TAG = 'X'.
                 MESSAGE 'Please fill the mandatory analysis data in Action' TYPE 'E'.
               ENDIF.
             ENDIF.
           ENDIF.
         ENDIF.
       ENDIF.
    ENDIF.
    <Added code tags>
    Thank you so much in advance..
    -Sudhish
    Please use the code tags when you're posting any code snippet
    Edited by: Suhas Saha on Jul 13, 2011 12:39 PM

    Hi, I was thinking just like XVBAP and YVBAP values in the USEREXIT_SAVE_DOCUMENT.
    Plz check u have x /y versions or tables like _old/ _new suffixes and then move the value accordingly.
    otherwise there may be inconsistency.
    Edited by: Prasenjit S. Bist on Jul 13, 2011 3:03 PM

  • How to create a display value and a return value for an item

    Hi! I have an item on a form. I want the default value for my item to be :":APP_USER", but the return value, to be the id of my user. I tried to create a PL/SQL Expression for the default item, but it doesn't work. What do I miss?
    It should be something like this, but it's not.
    begin
    select first_name || ',' ||last_name as "Employee",
    id_employee -- display value,return value
    from employees
    where id_employee = :APP_USER;
    end;
    Does anyone know?
    Thanks!
    Vitaly

    Hi VItaly,
    Display value and return value concept applies very well in case of a Combo box if i am correct, I don't know what type of item is your's.
    But any way, you can have a workaround like,
    Create a hidden item such that it's default value should be ID of the user which can be get from db by using :APP_USER.
    Use the this item for your references.
    I think this will meet your requirement.
    Thanks
    Kumaraswamy.

  • How to refresh list item values before report is run?

    We have two SELECT LIST items (drop boxes) on our report. One SELECT LIST has values of "World Region" (e.g. NORTH AMERICA, SOUTH AMERICA, EUROPE, ASIA)
    the other SELECT LIST has values of "Subregion" (e.g. NORTHERN EUROPE, SOUTHERN EUROPE, SOUTHEAST ASIA etc...)
    The values in the Subregion list are dependent on the value that is chosen from the "World Region" List. Can someone tell up how to update the values in the Subregion list BEFORE we submit the page? We can get these values to update (via sql query) when the page is submitted but that is only happening after the report gets run- which is not what we want. We want the user to select a Region from one SELECT LIST and then see all the qualifying Subregions for that Region in the Subregion SELECT LIST. Only after both Region and Subregion have been selected do we want to run the report. Thank for any help on this.

    hey john--
    john) things like Scott's reference to "The name of the LOV Item". What does this really mean?
    raj) in htmldb there's a concept of items at the page and at the app level. page level items have ui component associated with them. in scott's explanation above, he's talking about using a page-level item with a "Display as" type of "select list w/submit" for your first select list. in that case, he's suggesting you have one select list item drive the values of another. when the self-submitting select list submits the page, it sets an htmldb built-in variable called :REQUEST to the name of the self-submitting select list item. in your follow-up post's example, that'd be "REGION_LIST". scott was explaining how you could control the functionality on your page by adding conditions to things like...
    :REQUEST = 'REGION_LIST'
    ...or using declarative Condition options like "Request = Expression 1" and then putting the string "REGION_LIST" in that Expression1 field. so in your case, you have a report region that you don't want displayed until the user's done selecting from your Subregion list. an easy way to handle that would be to add a hidden item (where "Display as" is set to "Hidden") to your page, for example :P1_LAST_REQUEST, to store the last value of :REQUEST. put a Computation on your page that populates :P1_LAST_REQUEST with :REQUEST each time the page is submitted. then put a Condition on your report region that makes it only render when :P1_LAST_REQUEST != 'REGION_LIST'. so this way your users can select a Region and have the page submit itself. the page will then redraw with the values of subregion list correctly populated (you'd presumably use :REGION_LIST in your subregion LOV query to achieve the filtered values) w/o your report region displayed. the user would then select a correct subregion and click some sort of "run my report" button. this time when the page redraws, :P1_LAST_REQUEST would be set so something other than "REGION_LIST" (it'd be set to whatever you named your "run my report button") and so your report region would display as desired.
    hope this helps,
    raj

  • How to refresh LOV

    I have an application that uses dynamic taskflows.
    In one task flow, taskflowA, an enduser can create new roles for users.
    In another task flow, taskflowB, the enduser can assign roles to users.
    The roles that can be assigned to users are provided using a LOV so the rolename shows rather than just the roleId.
    How can I get the LOV used in taskflowB to show the latest changes to the roles table that was made in taskflowA.
    I dropped the Execute operation of the data collection (VO) that is used to create the LOV. The default activity of the taskflow now starts with a method call (Execute) before displaying the view Activity.
    Unfortuately, that did work, no new roles show up in the LOV.
    Any suggestions?
    (I'm assuming that when the taskflow switches in the dynamic region, the taskflow is re-executing so the method-call activity will be called. Is that correct?)

    Cvele/Frank,
    Thanks for your responses.
    In the meantime, I created my own implementation of a ViewRowImpl and added the following methods listed below, which seem to work to refresh the lists.
    Cvele, Is there some advantage/benefit to working through the ListBinding RowSet Iterator rather than access the rowset directly? (Your code shows "getListBindingRSI((ListBindingDef)obj).getRowSet().executeQuery();").
    Frank, the taskflows do not share the same DataControl or transaction, so I'm making sure the user commits the changes in the first taskflow.
    How exactly do I refresh the taskflow -- using a RegionController?
    public class AdminUserRoleVORowImpl extends CsaViewRowImpl implements AdminUserRoleVORow {
    public void refreshAdminUserList(){
    System.out.println("executing refresh of AdminUserList");
    this.getAdminUserVoRo1().executeQuery();
    public void refreshRoleList(){
    System.out.println("executing refresh of RoleList");
    this.getRoleVoRo1().executeQuery();
    }{code}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Printing Multiselect LOV display values instead of code

    I have a report with a multiselect LOV (shows text, returns code), so users can choose one or more things based on the description but when they "print" (using the navigation bar print option to open a printer friendly page), the multiselect field on this new page has the codes, not the text. How can I make the text show up here too? (Apex 3.0)

    Oh - I see what I was saying wrong - it's a summary report that is having the problem - I am not returning the details, only a series of counts of various data (there are about 20 columns). Each column is a count of people, broken down by age group and gender. So the :P89_ENVIRONMENT value shows up with its text value when only one is selected from the multiselect, but when more than one is chosen, the text is replaced by the list of values separated by colons.
    I.E. (with one environment selected)
    Environment, Total, Females 10-20, Males 10-20, Females 20-30, Males 20-30 [...]
    Woods             2               1                    0                       0                       1   
    I.E. (with 4 environments selected)
    Environment, Total, Females 10-20, Males 10-20, Females 20-30, Males 20-30 [...]
    11:13:44:67        2            1                0                  0                   1
    The report query looks like this:
    SELECT :P89_ENVIRONMENT, count(gender) Total , (select count(gender) from client where gender_type = F and age > 20 and age <30), (select count(gender) from client where gender_type = M and age > 20 and age <30), (select count(gender) from client where gender_type gender_type = F and age > 30 and age <40) [...]
    Any suggestions on how I can keep a text value in the Environment column regardless of how many are selected?

  • How to set the display value of subtotal

    Hi,
    I'd like to ask a problem,
    I'm using BIEE11.1.1.6, I created a table in BIP layout,there are 3 column,
    YEAR-------COMPANY----------SALES
    2009--------A----------------------100
    2009--------B----------------------100
    2010--------A----------------------100
    2010--------B----------------------100
    2010--------C----------------------100
    I want to add a subtotal row,like
    YEAR-------COMPANY----------SALES
    2009--------A----------------------100
    2009--------B----------------------100
    2009 total------------------------200
    2010--------A----------------------100
    2010--------B----------------------100
    2010--------C----------------------100
    2010 total------------------------300
    by default, it is
    YEAR-------COMPANY----------SALES
    2009--------A----------------------100
    2009--------B----------------------100
    ---------------------------------------200
    2010--------A----------------------100
    2010--------B----------------------100
    2010--------C----------------------100
    ---------------------------------------300
    how can it show the YEAR value||' total' ? like showing '2009 total'?
    thank you!

    Hi Christian,
    Have a look at this thread Re: Default the Date Picker to Today
    It covers this issue in detail.
    Regards
    Paul

  • How to Search by *Displayed* Value

    When a format mask is applied to numeric field in an Innteractive Report, e.g. 999G999G999G999G999G990, search operations from the Search Bar do not match any entries if the mask characters are included. For example, the data value from the database is: 2251343000. When the above, example format mask is applied, this is displayed as 2,251,343,000. However, if the user enters 2,251,343,000 in the search bar (which would be the natural thing to do), nothing matches. On the other hand, if the user enters 2251343000, a match is found.
    This seems like counter intuitive behavior to me since the whole point of the tool bar is to allow "self-service" for the user. Training them to remove commas, dollars signs or whatever is not very popular.
    Has anyone else found a work around for this? (APEX Guys, if you're reading this, please consider a fix).
    Thanks,
    -Joe

    I wonder if more people agree with your statement that this would be the natural thing to do.
    Everybody knows Excel, and wants Excel behaviour. This behaviour is just like Excel. You search for 2251343000 in a formatted column, not 2,251,343,000. It's way easier to type 2251343000 on the numeric keyboard.
    (Just tried if you can filter on a unformatted hidden column somehow, but that doesn't seem to work. Sorry, no solution from me then.)
    Edited by: InoL on Apr 15, 2013 5:06 PM

  • How to refresh/apply column value default setting on current files or folders

    Hi All
    I have set-up default column data per folder in my library (via
    Library Settings > Column default settings) and it works great for new documents or folders that are added to the library.
    But what do I do if I have an existing Library with folders and files and need to apply default column data to each? Is there a way of "refreshing" the default columns so that the data is populated through a specific folder and/or its sub-folders?
    (I really hope this is an easy fix or just a setting that I over-looked somewhere!)
    Thank you!

    I had to do this as well recently, and remembered your post.
    Here is the function I wrote , this worked for text, choice, and metadata columns
    It is pretty slow and could be optimized and broken up into more functions, but I had to do several things:
    1. I mass-updated the content types in a library
    2. On Library settings : set default values and also different defaults per folder
    3. For each file I then needed to:
    3.a. either copy the value from a column in the old content type to the new, or
    3.b. set the column to the default
    so this function does step 3, like I said it works for certain types of columns and can be sped up (I used it to update 700 files in a couple minutes), and it makes some assumptions about the environment but this at least is a starting point.
    As Alex said you may want to change SystemUpdate($true) to just Update(), depending on your requirements.
    <#
    .SYNOPSIS
    Resets columns in a document library to defaults for blank columns. Use this
    after changing the content types or adding columns to a doc lib with existing files
    .DESCRIPTION
    Resets columns in a doc lib to their defaults. Will only set them if the columns are blank (unless overridden)
    Will also copy some values from one column to another while you are there.
    Can restrict the update to a subset of columns, or have it look for all columns with defaults.
    Will use the list defaults as well as folder defaults.
    All names of columns passed in should use InternalName.
    This has ONLY been tested on Text, Choice, Metadata, and mult-Choice and Mult-Metadata columns
    Pass in a list and it will recursively travel down the list to update all items with the defaults for the items in that folder.
    If you call it on a folder, it will travel up the tree of folders to find the proper defaults
    Author:
    Chris Buchholz
    [email protected]
    @plutosdad
    .PARAMETER list
    The document library to update. Using this parameter it will update all files in the doc lib
    .PARAMETER folder
    The folder containing files to update. Function will update all files in this folder and subfolders.
    .PARAMETER ParentFolderDefaults
    Hashtable of internal field names as KEY, and value VALUE, summing up all the parent folders or list defaults.
    If not supplied, then the function will travel up the tree of folders to the parent doclib to determine
    the correct defaults to apply.
    If the field is managed metadata, then the value is a string
    Currently only tested for string and metadata values, not lookup or date
    .PARAMETER termstore
    The termstore to use if you are going to update managed metadata columns, this assumes we are only using the one termstore for all columns to update
    If you are using the site collection specific termstore for some columns you want to update, and
    the central termstore for others, then you should call this method twice, once with each termstore,
    and specify the respective columns in fieldsToUpdate
    .PARAMETER fieldsToCopy
    Hashtable of internal field names, where KEY is the "to" field, and VALUE is the "from" field
    Use this to copy values from one field to another for the item.
    These override the defaults, and also cause the "from" (Value) fields to NOT be overwritten with defaults even if
    they are in the fieldsToUpdate array.
    Example: @{"MyNewColumn" = "My_x0020_Old_x0020_Column"}
    .PARAMETER fieldsToUpdate
    If supplied then the method will update only the fields in this array to their default values, if null then it will update
    all fields that have defaults.
    If you pass in an empty array, then this method will only copy fields in the fieldtocopy and not
    apply any defaults
    Example: @() - to only copy and not set any fields to default
    Example2: @('UpdateField1','UpdateField2') will
    .EXAMPLE
    Set-SPListItemValuesToDefaults -list $list -fieldsToCopy @{"MyNewColumn" = "My_x0020_Old_x0020_Column"} -fieldsToUpdate @() -overwrite -termStore $termStore
    This will not set any defaults, but instead only set MyNewColumn to non null values of My_x0020_Old_x0020_Column
    It will overwrite any values of MyNewColumn
    .EXAMPLE
    Set-SPListItemValuesToDefaults -list $list -overwrite
    This will set all columns to their default values even if they are filled in already
    .EXAMPLE
    Set-SPListItemValuesToDefaults -folder $list.RootFolder.SubFolder[3].SubFolder[5]
    This will set all columns to their defaults in the given subfolder of a library
    .EXAMPLE
    Set-SPListItemValuesToDefaults -list $list -fieldsToUpdate @('ColumnOneInternalName','ColumnTwoInternalName')
    This will set columns ColumnOneInternalName and ColumnTwoInternalName to their defaults for all items where they are currently null
    .EXAMPLE
    Set-SPListItemValuesToDefaults -list $list -fieldsToCopy @{"MyNewColumn" = "My_x0020_Old_x0020_Column"} -fieldsToUpdate @("MyNewColumn") -termStore $termStore
    This will set all MyNewColumn values to their default, and then also copy the values of My_x0020_Old_x0020_Column to MyNewColumn where the old column is not null,
    but both of these will only happen for items where MyNewColumn is null
    .EXAMPLE
    Set-SPListItemValuesToDefaults -list $list -fieldsToCopy @{"MyNewColumn" = "My_x0020_Old_x0020_Column"} -termStore $termStore
    This will set ALL columns with defaults to the default value (if the item's value is null),
    except for My_x0020_Old_x0020_Column which will not be modified even if it has a default value, and will also set MyNewColumn to the
    value of My_x0020_Old_x0020_Column if the old value is not null
    #>
    function Set-SPListItemValuesToDefaults {
    [CmdletBinding(SupportsShouldProcess=$true)]
    param(
    [Parameter(Mandatory=$true,ValueFromPipeline=$true,ParameterSetName="List")][Microsoft.SharePoint.SPList]$list,
    [Parameter(Mandatory=$true,ValueFromPipeline=$true,ParameterSetName="Folder")][Microsoft.SharePoint.SPFolder]$folder,
    [Parameter(Mandatory=$false,ParameterSetName="Folder")][HashTable]$ParentFolderDefaults,
    [Parameter(Mandatory=$false)][HashTable]$fieldsToCopy,
    [Parameter(Mandatory=$false)][Array]$fieldsToUpdate,
    [Parameter(Mandatory=$false)][Microsoft.SharePoint.Taxonomy.TermStore]$termStore,
    [Switch]$overwrite,
    [Switch]$overwriteFromFields
    begin {
    #one or both can be null, but if both empty, then nothing to do
    if ($null -ne $fieldsToUpdate -and $fieldsToUpdate.Count -eq 0 -and
    ( $null -eq $fieldsToCopy -or $fieldsToCopy.Count -eq 0)) {
    Write-Warning "No fields to update OR copy"
    return
    if ($PSCmdlet.ParameterSetName -eq "Folder") {
    $list = $folder.DocumentLibrary
    if ($null -eq $termStore ) {
    $taxonomySession = Get-SPTaxonomySession -site $list.ParentWeb.Site
    $termStores = $taxonomySession.TermStores
    $termStore = $termStores[0]
    #if we did not pass in the parent folder defaults then we must go backward up tree
    if ($PSCmdlet.ParameterSetName -eq "Folder" -and $null -eq $ParentFolderDefaults ) {
    $ParentFolderDefaults = @{}
    if ($null -eq $fieldsToUpdate -or $fieldsToUpdate.Count -gt 0) {
    write-Debug "ParentFolderDefaults is null"
    $tempfolder=$folder.ParentFolder
    while ($tempfolder.ParentListId -ne [Guid]::Empty) {
    Write-Debug "at folder $($tempfolder.Url)"
    $pairs = $columnDefaults.GetDefaultMetadata($tempfolder)
    foreach ($pair in $pairs) {
    if (!$ParentFolderDefaults.ContainsKey($pair.First)) {
    Write-Debug "Folder $($tempfolder.Name) default: $($pair.First) = $($pair.Second)"
    $ParentFolderDefaults.Add($pair.First,$pair.Second)
    $tempfolder = $tempfolder.ParentFolder
    #listdefaults
    Write-Debug "at list"
    foreach ($field in $folder.DocumentLibrary.Fields) {
    if ($field.InternalName -eq "_ModerationStatus") { continue }
    #$field = $list.Fields[$name]
    if (![String]::IsNullOrEmpty($field.DefaultValue)) {
    #Write-Verbose "List default found key $($field.InternalName)"
    if (!$ParentFolderDefaults.ContainsKey($field.InternalName)) {
    Write-Debug "List Default $($field.InternalName) = $($field.DefaultValue)"
    $ParentFolderDefaults.Add($field.InternalName,$field.DefaultValue)
    process {
    Write-Debug "Calling with $($PSCmdlet.ParameterSetName)"
    Write-Debug "Parent folder hash has $($ParentFolderDefaults.Count) items"
    if ($PSCmdlet.ParameterSetName -eq "List" ) {
    $folder = $list.RootFolder
    $ParentFolderDefaults=@{}
    if ($null -eq $fieldsToUpdate -or $fieldsToUpdate.Count -gt 0) {
    foreach ($field in $list.Fields) {
    if ($field.InternalName -eq "_ModerationStatus") { continue }
    if (![String]::IsNullOrEmpty($field.DefaultValue)) {
    Write-Debug "List Default $($field.InternalName) = $($field.DefaultValue)"
    $ParentFolderDefaults.Add($field.InternalName,$field.DefaultValue)
    Write-Verbose "At folder $($folder.Url)"
    $FolderDefaults=@{}
    $FolderDefaults += $ParentFolderDefaults
    if ($null -eq $fieldsToUpdate -or $fieldsToUpdate.Count -gt 0) {
    $pairs = $columnDefaults.GetDefaultMetadata($folder)
    foreach ($pair in $pairs) {
    if ($FolderDefaults.ContainsKey($pair.First)) {
    $FolderDefaults.Remove($pair.First)
    Write-Debug "Folder $($folder.Name) default: $($pair.First) = $($pair.Second)"
    $FolderDefaults.Add($pair.First,$pair.Second)
    #set values
    foreach ($file in $folder.Files) {
    if ($file.CheckOutType -ne [Microsoft.SharePoint.SPFile+SPCheckOutType]::None) {
    Write-Warning "File $($file.Url).CheckOutType = $($file.CheckOutType)) ... skipping"
    continue
    $item = $file.Item
    $ItemDefaults=@{}
    $ItemDefaults+= $FolderDefaults
    #if we only want certain fields then remove the others
    #Move this to every time we add values to the defaults
    if ($null -ne $fieldsToUpdate ) {
    $ItemDefaults2=@{}
    foreach ($fieldInternalName in $fieldsToUpdate) {
    try {
    $ItemDefaults2.Add($fieldInternalName,$ItemDefaults[$fieldInternalName])
    } catch { } #who cares if not in list
    $ItemDefaults = $ItemDefaults2
    #do not overwrite already filled in values unless specified
    if (!$overwrite) {
    $keys = $itemDefaults.Keys
    for ($i=$keys.Count - 1; $i -ge 0; $i-- ) {
    $key=$keys[$i]
    try {
    $val =$item[$item.Fields.GetFieldByInternalName($key)]
    if ($val -ne $null) {
    $ItemDefaults.Remove($key)
    } catch {} #if fieldname does not exist then ignore, we should check for this earlier
    #do not overwrite FROM fields in copy list unless specified
    if (!$overwriteFromFields) {
    if ($null -ne $fieldToCopy -and $fieldsToCopy.Count -gt 0) {
    foreach ($value in $fieldsToCopy.Values) {
    try {
    $ItemDefaults.Remove($value)
    } catch {} #who cares if not in list
    #do not overwrite TO fields in copy list if we're going to copy instead
    if (!$overwriteFromFields) {
    if ($null -ne $fieldToCopy -and $fieldsToCopy.Count -gt 0) {
    foreach ($key in $fieldsToCopy.Keys) {
    $fromfield = $item.Fields.GetFieldByInternalName($fieldsToCopy[$key])
    try {
    if ($null -ne $item[$fromfield]) {
    $ItemDefaults.Remove($key)
    } catch {} #who cares if not in list
    Write-Verbose $item.Url
    $namestr = [String]::Empty
    if ($ItemDefaults.Count -eq 0) {
    write-Verbose "No defaults, copy only"
    } else {
    $str = $ItemDefaults | Out-String
    $namestr += $str
    Write-Verbose $str
    if ($null -ne $fieldsToCopy -and $fieldsToCopy.Count -gt 0) {
    $str = $fieldsToCopy | Out-String
    $namestr +=$str
    if ($PSCmdlet.ShouldProcess($item.Url,"Set Values: $namestr"))
    #defaults
    if ($null -ne $ItemDefaults -and $ItemDefaults.Count -gt 0) {
    foreach ($key in $ItemDefaults.Keys) {
    $tofield = $item.Fields.GetFieldByInternalName($key)
    if ($tofield.TypeAsString -like "TaxonomyFieldType*") {
    $taxfield =[Microsoft.SharePoint.Taxonomy.TaxonomyField]$tofield
    $taxfieldValue = New-Object Microsoft.SharePoint.Taxonomy.TaxonomyFieldValue($tofield)
    $lookupval=$ItemDefaults[$key]
    $termval=$lookupval.Substring( $lookupval.IndexOf('#')+1)
    $taxfieldValue.PopulateFromLabelGuidPair($termval)
    if ($tofield.TypeAsString -eq "TaxonomyFieldType") {
    $taxfield.SetFieldValue($item,$taxfieldValue)
    } else {
    #multi
    $taxfieldValues = New-Object Microsoft.SharePoint.Taxonomy.TaxonomyFieldValueCollection $tofield
    $taxfieldValues.Add($taxfieldValue)
    $taxfield.SetFieldValue($item,$taxfieldValues)
    } else {
    $item[$field]=$ItemDefaults[$key]
    #copyfields
    if ($null -ne $fieldsToCopy -and $fieldsToCopy.Count -gt 0) {
    #$fieldsToCopy | Out-String | Write-Verbose
    foreach ($key in $fieldsToCopy.Keys) {
    $tofield = $item.Fields.GetFieldByInternalName($key)
    $fromfield = $item.Fields.GetFieldByInternalName($fieldsToCopy[$key])
    if ($null -eq $item[$fromfield] -or ( !$overwrite -and $null -ne $item[$tofield] )) {
    continue
    if ($tofield.TypeAsString -eq "TaxonomyFieldType" -and
    $fromfield.TypeAsString -notlike "TaxonomyFieldType*" ) {
    #non taxonomy to taxonomy
    $taxfield =[Microsoft.SharePoint.Taxonomy.TaxonomyField]$tofield
    $termSet = $termStore.GetTermSet($taxfield.TermSetId)
    [String]$fromval = $item[$fromfield]
    $vals = $fromval -split ';#' | where {![String]::IsNullOrEmpty($_)}
    if ($null -ne $vals -and $vals.Count -ge 0 ) {
    $val = $vals[0]
    if ($vals.Count -gt 1) {
    write-Warning "$($item.Url) Found more than one value in $($fromfield.InternalName)"
    continue
    $terms =$termSet.GetTerms($val,$true)
    if ($null -ne $terms -and $terms.Count -gt 0) {
    $term = $terms[0]
    $taxfield.SetFieldValue($item,$term)
    Write-Verbose "$($tofield.InternalName) = $($term.Name)"
    } else {
    Write-Warning "Could not determine term for $($fromfield.InternalName) for $($item.Url)"
    continue
    } elseif ($tofield.TypeAsString -eq "TaxonomyFieldTypeMulti" -and
    $fromfield.TypeAsString -notlike "TaxonomyFieldType*" ) {
    Write-Debug "we are here: $($item.Name): $($fromfield.TypeAsString) to $($tofield.TypeAsString )"
    #non taxonomy to taxonomy
    $taxfield =[Microsoft.SharePoint.Taxonomy.TaxonomyField]$tofield
    $termSet = $termStore.GetTermSet($taxfield.TermSetId)
    $taxfieldValues = New-Object Microsoft.SharePoint.Taxonomy.TaxonomyFieldValueCollection $tofield
    [String]$fromval = $item[$fromfield]
    $vals = $fromval -split ';#' | where {![String]::IsNullOrEmpty($_)}
    foreach ($val in $vals){
    $terms =$termSet.GetTerms($val,$true)
    if ($null -ne $terms -and $terms.Count -gt 0) {
    $term=$terms[0]
    $taxfieldValue = New-Object Microsoft.SharePoint.Taxonomy.TaxonomyFieldValue($tofield)
    $taxfieldValue.TermGuid = $term.Id.ToString()
    $taxfieldValue.Label = $term.Name
    $taxfieldValues.Add($taxfieldValue)
    } else {
    Write-Warning "Could not determine term for $($fromfield.InternalName) for $($item.Url)"
    continue
    #,[Microsoft.SharePoint.Taxonomy.StringMatchOption]::ExactMatch,
    $taxfield.SetFieldValue($item,$taxfieldValues)
    $valsAsString = $taxfieldValues | Out-String
    Write-Debug "$($tofield.InternalName) = $valsAsString"
    } elseif ($tofield.TypeAsString -eq "TaxonomyFieldTypeMulti" -and
    $fromfield.TypeAsString -eq "TaxonomyFieldType" ) {
    #single taxonomy to multi
    $taxfieldValues = New-Object Microsoft.SharePoint.Taxonomy.TaxonomyFieldValueCollection $tofield
    $taxfield =[Microsoft.SharePoint.Taxonomy.TaxonomyField]$tofield
    $taxfieldValues.Add($item[$fromfield])
    $taxfield.SetFieldValue($item,$taxFieldValues)
    Write-Verbose "$($tofield.InternalName) = $valsAsString"
    } elseif ($tofield.TypeAsString -eq "TaxonomyFieldType" -and
    $fromfield.TypeAsString -eq "TaxonomyFieldTypeMulti" ) {
    #multi taxonomy to single taxonomy
    Write-Warning "multi to non multi - what to do here"
    continue
    } elseif ($tofield.TypeAsString -eq "Lookup" -and
    $fromfield.TypeAsString -ne "Lookup" ) {
    #non lookup to lookup
    Write-Warning "non lookup to lookup - still todo"
    continue
    } else {
    #straight copy
    $item[$tofield] = $item[$fromfield]
    $item.SystemUpdate($false)
    $folders = $folder.SubFolders | where name -ne "Forms"
    $folders | Set-SPListItemValuesToDefaults -ParentFolderDefaults $FolderDefaults -fieldsToCopy $fieldsToCopy -fieldsToUpdate $fieldsToUpdate -overwrite:$overwrite -overwriteFromFields:$overwriteFromFields -termStore $termStore

  • How to display the "display values" in READ Only mode for a SHUTTLE

    Hi,
    I have a form item of type *'Shuttle'* and using the following LOV.
       select DEPTNAME d, DEPTNO r
        from  DEPTIn normal mode..it displays the department name and internally store the Deptno..
    Now I converted this item to Read Only mode using Read Only Condition Type
    the problem is as soon as it becomes read only...it displays the deptno....not the department name
                Department-   10:20:30How can I display the "display values" i.e the actual department name in read only mode..
                Department-   Department1:Department2:Department3Thanks,
    Deepak

    Hi,
    It seems feature. Shuttle is span tag when it is read only.
    Work around could be that
    you compute display as text item with LOV display value according shuttle session state and show shuttle and this item conditionally depend case
    Br, JAri

  • Failing to refresh LOV fields added in the query panel with table

    Hi.. Iam using Jdev 11.1.1.2.0
    I have a scenario like ..i need to add 2 cascaded lovs in search panel and clicking on search button, the result should be displayed in table form.
    For example..
    I have cascaded LOV fields departmentId and Firstname ,
    first name dropdown values depends on the selection of value in DepartmentIddropdown. I need to add only these 2 fields in search panel and clciking on search buton , the result should be displayed in emp table.
    I have achieved the same creating View criteria with 2 fields and dragging and dropping that as query panel with table. But my problem is First name lov is not populating based on department id. It is showing static dropdown list.
    Please help me how to achieve this ? thanks in advance.
    Regards
    Alekhya.

    Thanks for the reply.. actually if iam using those cascaded lovs in a form then we can set properties as u mentioned to refresh and display values correctly in the dropdown.
    My scenario is like i need to use those fields in query panel header
    code snippet
    <af:panelHeader text="Employees" id="ph1">
    <af:query id="qryId1" headerText="Search" disclosed="true"
    value="#{bindings.EmployeesViewCriteria1Query1.queryDescriptor}"
    model="#{bindings.EmployeesViewCriteria1Query1.queryModel}"
    queryListener="#{bindings.EmployeesViewCriteria1Query1.processQuery}"
    queryOperationListener="#{bindings.EmployeesViewCriteria1Query1.processQueryOperation}"
    resultComponentId="::resId1"/>
    </af:panelHeader>
    Iam not having any field names to add properties.
    Regards
    Alekhya

Maybe you are looking for