Setting default member of attribute hierarchy in MDX script. Default member not taken into account while using user defined hierarchy

Hi all
I have a date dimension that (type time) with attributes
- [FiscalYear] (type years)
- [FiscalMonth] (type months)
- [FiscalWeek] (type weeks)
In addition to the attributes used in the natural hierarchy, I have an attribute [PerType] containing one member comming from the relational table 'WTD' which corresponds to 'Current Date'. All other members of this attribute hierarchy are calculated members (defined in the MDX script). Examples:
--Last year
CREATE MEMBER CURRENTCUBE.[Date].[PerType].[LY] AS NULL,
VISIBLE = 1;
SCOPE([Date].[PerType].[LY]);
SCOPE(DESCENDANTS([Date].[Fiscal].[All], [Date].[Fiscal].[Year], SELF_AND_AFTER));
THIS = ([Measures].CurrentMember, [Date].[PerType].[WTD], ParallelPeriod([Date].[Fiscal].[Year], 1));
END SCOPE;
END SCOPE;
--Month to date
CREATE MEMBER CURRENTCUBE.[Date].[PerType].[MTD] AS NULL,
VISIBLE = 1;
SCOPE([Date].[PerType].[MTD]);
SCOPE(DESCENDANTS([Date].[Fiscal].[All], [Date].[Fiscal].[Week], SELF_AND_AFTER));
THIS = Aggregate(CrossJoin({[Date].[PerType].[WTD]}, MTD([Date].[Fiscal].CurrentMember)));
END SCOPE;
END SCOPE;
--Year to date
CREATE MEMBER CURRENTCUBE.[Date].[PerType].[YTD] AS NULL,
VISIBLE = 1;
SCOPE([Date].[PerType].[YTD]);
SCOPE(DESCENDANTS([Date].[Fiscal].[All], [Date].[Fiscal].[Period], SELF_AND_AFTER));
THIS = Aggregate(CrossJoin({[Date].[PerType].[WTD]}, YTD([Date].[Fiscal].CurrentMember)));
END SCOPE;
END SCOPE;
The defalut member of FiscalWeek attribute hierarchy is set dynamically in the MDX script:
ALTER CUBE CURRENTCUBE UPDATE DIMENSION [Date].[FiscalWeek], DEFAULT_MEMBER =
Filter(
[Date].[FiscalWeek].Members,
[Date].[FiscalWeek].Properties( "FiscalWeekStartDate", TYPED) <= DateAdd("d", -2, CDate(CStr(Month(Now())) + "/" + CStr(Day(Now())) + "/" + CStr(Year(Now()))))
AND
[Date].[FiscalWeek].Properties( "FiscalWeekEndDate", TYPED) >= DateAdd("d", -2, CDate(CStr(Month(Now())) + "/" + CStr(Day(Now())) + "/" + CStr(Year(Now()))))
)(0).PrevMember;
If I run the following query:
with member
measures.x as [Date].[Fiscal].DefaultMember.Name
measures.y as [Date].[FiscalWeek].DefaultMember.Name
select
measures.x,
measures.y
} on axis(0)
from [GLWeekly]
it gives me back correctly the default member set over the MDX script.
I order the statements in the MDX Script so that the default period (week) is set at the beginning of the script (just after the calculate).
I do not understand why creating the following calculated member I am obliged to specify [Date].[Fiscal].CurrentMember in the tuple to have correct results:
MEMBER [Account].[CoA].[Standard Engagement Revenue (MTD)] AS ([Account].[CoA].[Standard Engagement Revenue], [Date].[PerType].[MTD], [Date].[Fiscal].CurrentMember)
I would expect that:
([Account].[CoA].[Standard Engagement Revenue], [Date].[PerType].[MTD])
is sufficient.
If the default week is specified in the slicer using a member of the natural hierachy (=> [Date].[Fiscal].x) it works.
Why can't SSAS use the default member if it is must defined in the MDX script?
Can someone explains me this. Thanks a lot in advance.

Hi Ina,
have you thought about adding a dynamic statement inside the MDX script? You could define the default member like this:
... DEFAULT_MEMBER = iif( Day( Now() ) = 3, <expression for previous month>, <expression for current month> );
This way you don't need to change it everytime by running a script.
By the way, what do you mean it doesn't update the default member? When you execute this MDX what does it says?
with member measures.x as [Dimension].[HierarchyName].DefaultMember.Name
select { measures.x } on 0 from Cubename
If this returns the correct name, then the problem is somewhere else. I believe it should return you the correct name. Look here, test this on Adventure Works, statement by statement and see what happens.
ALTER
CUBE [Adventure Works]
UPDATE
DIMENSION [Product].[Product Categories],
DEFAULT_MEMBER = [Product].[Product Categories].[Category].&[1]
with
member measures.x
as [Product].[Product Categories].DefaultMember.Name
select measures.x on 0
from [Adventure Works]
ALTER
CUBE [Adventure Works]
UPDATE
DIMENSION [Product].[Product Categories],
DEFAULT_MEMBER = [Product].[Product Categories].[All Products]
with
member measures.x
as [Product].[Product Categories].DefaultMember.Name
select measures.x on 0
from [Adventure Works]
I think you can see which members are default (on related hierarchies) using
MDX Studio. This should help you detect which attributes have not moved accordingly and hence cause problems in your report. The usual suspects are those attributes used in your last month reports. If that's too much for you, just copy paste the definition
of the measure x and use .CurrentMember instead .DefaultMember. And so for all related hierarchies of your dimension. You can run it as one query, just put enough measures (x1, x2, ...), one for each hierarchy, ok?
Here's a test for Day():
with
member measures.y
as
iif( Day(Now()) = 28, 'Yes', 'No' )
select
measures.y on 0
from [Adventure Works]
Today this returns Yes, tomorrow it will be No.
Ups, I just checked one more thing. When you run the script, it sets the default member only for that session. If you execute the first two of the four statements that I've sent you, it will set the default member on Bikes and show you that.
But, if you open another query windows and execute that select statement (only), you'll see All member instead. So, it has set it to Bikes only for the currect session. Consequence? You reports are not aware of it. So, better use dynamic statement in
your MDX script.
Regards,
Tomislav Piasevoli
Business Intelligence Specialist
www.softpro.hr

Similar Messages

  • Corruption of User privileges on folder hierarchy (not taken into account ANYMORE)

    Hello.
    We use Portal 3.0.6.3.3 (still EA release) on NT with Oracle 8iR2.
    We have set a Content Area and a very classical folder hierarchy to be managed by a single user (called administrator having all privileges on all folders) and other users having just the "Manage Items" and "View Content" for all folders, starting with the root folder.
    It has worked perfectly for a while but after further work on privileges that, unfortunately, we cannot trace back, we have our folders not taking into account the privileges set (under the Access Tab) anymore.
    Actually all users have now all privileges on the whole folder hierarchy. It means, an "Edit Folder" not only provides the "Add Item" link option but also all other options (Folder Properties, etc) are available.
    We have checked again and again the privileges on the CA, root folder, folders etc, tried and removed and re-created the users or new users etc without success.
    We imagine some privilege management-related table of the Content Area/Folder are "corrupted".
    How could we return to a normal situation? On which tables of Portal schema should we investigate and try to find out what is going on?
    Thanks for any help.
    null

    ... still me.
    OK, forget my question. It appears that some "generic" group priviliges (AUTHENTICATED_USERS) had been changed by mistake thus overriding any other settings of the users and groups we were contemplating. So everything is under control now...
    Thanks for having read anyway ;-)

  • HIerarchy Variable in Selection Screen not taken into account.

    Hi,
    Our users choose a cost center hierarchy in the selection screen and run the report. As we have suppressed Unassigned Nodes, they do not appear. However when users then deactivate the hierarchy, unassigned nodes are shown. Their argument is that the unassigned nodes should still not be displayed because a hierarchy was entered on the selection screen. Is there a way of stopping this?
    Thanks

    Hi Shawn,
    I think I get what you did in your query, though it took me some time...
    Did you select the cost center in your query and set the display hierarchy using settings, hierarchy tab, select hierarchy, hierarchy variable (or something like that)? That would explain why the query isn't filtered on that hierarchy, only the display of cost elements is affected. You should also have the same hierarchy variable in your filter settings in the query designer. That way, the user filters on a hierarchy and the unassigned nodes will never be in the result.
    Hope it helps, tell me if I got it wrong,
    Kind regards,
    Alex

  • Default download directory not taken into account

    I've set Firefox to "Save files to <directory>" instead of "Always ask", but it still keeps asking, cause after I turn browser off, value of this setting is not stored.

    Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance).
    *Do NOT click the Reset button on the Safe Mode start window.
    *https://support.mozilla.org/kb/Safe+Mode
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
    If you do not keep changes after a restart or otherwise have problems with preferences, see:
    *http://kb.mozillazine.org/Preferences_not_saved

  • Help....I am trying to set up iClould on my pc....the set up was complete....when I try to sign in to set up it says the Apple ID is valid but is not an iCloud account.  Please help me and tell me what I am doing wrong.

    Help....I am trying to set up iClould on my pc....the set up was complete....when I try to sign in to set up it says the Apple ID is valid but is not an iCloud account.  Please help me and tell me what I am doing wrong. Thx

    Hi DesCoop,
    You must initiallly activate iCloud from an IOS device or a Mac. You cannot inititally activated from a PC.
    Sorry.
    GB

  • HS.EXP does not take into account the Value member and the source

    Hello,
    The formula is put in the "Entity Curr Adjs" part of the Sub Calculate.
    The expression is the following and apply for one entity (Holding method) I filtered previously and the ICP Entity has proportionnal method with 50% rate:
    HS.Exp "A#5420.I#[ICP None].C1#REC.C2#[None].C3#[None].C4#Recla_IAS_Aut_RetS_5=
    A#5340.V#[Contribution].E#Logista_E_TBCO.I#UTE_O.C1#CLO.C2#TotC2.C3#TotC3.C4#TotC4"
    The data I would like to retrieve is the one in Contribution Value as I put on the source part of the expression.
    And yet, the data I get is the one of the Entity Currency and Proportion Value, which is different because the ICP has proportionnal method (50%) and the Contribution value is the result of Proportion - Elimination values.
    To sum up: I obtain a data of 50 instead of 25.
    I checked that the data I see in my form corresponds to the source parameters but it seems that it does not take into account the Value parameter.
    Could it be that it is not possible to use a Contribution Value source for an Entity Currency Adjs destination?
    Thanks in advance.
    Regards,
    Julien

    Hi,
    I see another problem in what you're trying to do. First, let me state what you're trying to establish: you are trying to get a value from one entity (say A) to another entity (say B), be it at [Proportion], [Elimination], [Contribution], ...
    My question is: how can you know that during the consolidation process, by the time your code runs on B, A has already been processed and [Proportion], [Elimination] are not empty (or contain values from a previous consolidation run)?
    The answer is "You don't". Theoretically, you have no control as per the order in which entities are calculated/consolidated during the process. Even more complex is the thing that if you have a multi-core machine, more than one entities may run in parallel, but still you cannot force A to run before B. I have done some tests and I've seen that in a one processor setting the order that entities enter in the process of consolidation matches the order you have placed them in the consolidation tree in metadata. Still this thing is not documented as far as I know and therefore you cannot rely on this.
    Finally, I have also seen that in a simple case (B pulls from A), if you run consolidation twice, then you definitely get correct values. By the time you make a change in A, you have to run consolidation twice again to make sure that you get the correct data. I believe that you see that what I'm describing is good for experimenting but not for releasing to a client.
    I tend to think of such a design, as a practice to avoid.
    --Kostas                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Component attributes changed programmatically but aren't taken into account

    Hello everyone,
    I tried to change a JLabel's and JTextField's attributes, all this inside a JButton's ActionListener, but the changes don't seem to be takin into account. I did a debug and they are correctly set, but the changes don't show up on the GUI. Here's what I did :
       editButton = new JButton(EDIT_BUTTON_TEXT);
       editButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {
             final int profilenameIndex = ProfileFields.PROFILE_NAME.ordinal();
             labelArray[profilenameIndex].setForeground(Color.LIGHT_GRAY);
             textFieldArray[profilenameIndex].setEnabled(false);
             textFieldArray[profilenameIndex].setBackground(Color.LIGHT_GRAY);
    labelArray[profilenameIndex] and textFieldArray[profilenameIndex] do reference the correct objects, I checked that.
    Any ideas anyone?
    Thank you,
    Gabriel

    works OK for me.
    check you do not have duplicate declarations i.e. the components showing on
    the screen possibly are not the ones being referenced by the actionListener

  • I am running Logic Pro 9.1.7, and I use a Roland RD700GX keyboard to input midi data into Logic.  How do I set up Logic to record the Roland's own internal Grand Piano sounds into Logic, while retaining the ability to make midi edits? By Eggie

    I am running Logic Pro 9.1.7 on a mid-2011 Intel iMac running OS10.7.4. I use a Roland RD700GX as my midi input keyboard.  How can I set up Logic to record The RD700GX's own internal Grand Piano sounds, while retaining the ability to take advantage of Logic 9's midi editing capabilities. I am a relative newcomer to Logic, and I haven't been able to find an answer in The Logic 9 User Manual. A step by step procedure would be much appreciated. Thank you.
    Eggie0379

    Create a new External Midi Track, set the MIDI port to the one being connected to teh RD700. Now,create a new Software Instrument track. Select the external instrument plug-in. Set the MIDI destination and the audio input inside the Plug-in. Now, you can record the MIDI notes and hear the sound of the RD700. Once you've editied, you can bounce the track.
    Best,
    DaCaptain

  • User defined function to set a default value of a column

    Hi All
    Can we use user defined function to set a default value of a column ??
    for example:
    create or replace  function test1  return number is
    begin
    return 10;
    end;
    create table testt
    (id  as test1,
      name varchar2(20));
    error:
    ORA-02000: missing ( keywordThanks
    Ashwani

    174313 wrote:
    MichaelS for showing example to use function in table ddl , otherwise i was thinking we cannot use function in table ddl as per error I received.That was an example of a virtual column.
    ORA-04044: procedure, function, package, or type is not allowed hereUsing PL/SQL code like that raises 2 basic problems. If that PL/SQL code for the calculating the column default breaks, what happens to the SQL insert statements against that table. These will need to fail as the table definition depends on the PL/SQL code. This is problematic as this dependency simply increases the complexity of the SQL object.
    The 2nd issue is performance. PL/SQL code needs to be executed by the PL/SQL engine. This means a context switch from the SQL engine to the PL/SQL engine in order to determine the default value for that column. Context switching is a performance overhead.
    So even if it was possible to use a PL/SQL function as parameter for the SQL default clause, I would not be that keen to use it.

  • User defined attributes - usages

    Hi,
    I would like to hear how other OA developers have used user defined attributes for an item, if they have used it. I would appreciate if you could share that information.
    As for me, I used it for items (messagetextinput, choice etc) in my custom search region to assign attribute names to these items to know what the values given by the user should be associated with and searched for. I had to create a custom search region since query region from oaf didn't allow to associate more than on VO to it.
    I just want to see what other purposes others have used the user defined attributes to get a better understanding of it.
    Thank you,
    Arun

    Hello Antilles.
    The user defined attributes that you refer to it´s used to specify additional attributes.
    You can find more useful information about this topic in this link: http://download.oracle.com/docs/cd/E14373_01/appdev.32/e11838/nav.htm
    Regards Pedro

  • 11.1.3 - Reporting - User Defined Member Lists

    I exported a report from our production environment which is version 9.3.1 and imported into our development environment which is version 11.1.3 via Workspace and the user defined member list was not imported. Is there a way to have them included when reports are exported or do they have to recreated after they are imported?
    Edited by: DPA1101 on Apr 8, 2010 11:55 AM

    I'm running 11.1.1.3 and just ran into some problems with user-defined lists and found out that, for reports using Essbase as the source, the lists are stored as txt files in the database directory. So exporting the reports will never include the lists. You would need to copy the files from one server to the other. There are at least 3 files. Two of them are like indexes. The third contains XML with the actual list.
    We're just starting to play with user lists so I haven't figured out if the naming convention I'm seeing is consistent everywhere. In my case, I have a file named ADMDir.txt. This has a single entry that points to another file. That file contains the list names and references to the files that contains the list (in xml).
    I hope this helps.
    Jerry

  • My daughter set up a passcode so her brother could not get into her ipod. now she has forgot the passcode. How do we get into her ipod

    My daughter set a passcode on her home screen so her brother could not get into it. Now she has forgot the passcode. How do we get it unlocked

    Locked Out, Forgot Lock or Restrictions Passcode, or Need to Restore Your Device: Several Alternative Solutions
    A
    1. iOS- Forgotten passcode or device disabled after entering wrong passcode
    2. iPhone, iPad, iPod touch: Wrong passcode results in red disabled screen
    3. Restoring iPod touch after forgotten passcode
    4. What to Do If You've Forgotten Your iPhone's Passcode
    5. iOS- Understanding passcodes
    6. iTunes 10 for Mac- Update and restore software on iPod, iPhone, or iPad
    7. iOS - Unable to update or restore
    Forgotten Restrictions Passcode Help
                iPad,iPod,iPod Touch Recovery Mode
    You will need to restore your device as New to remove a Restrictions passcode. Go through the normal process to restore your device, but when you see the options to restore as New or from a backup, be sure to choose New.
    You can restore from a backup if you have one from BEFORE you set the restrictions passcode.
    Also, see iTunes- Restoring iOS software.

  • Approach to customize workflow - setting default values of attributes

    Hello Friends,
    I have a requirement to customize the standard workflow - PO Requisition Approval & PO Create Documents. I want to change the default value of certain attributes in both the workflow.
    Generally workflows are customized through process customization (create a new process by copying the main process (which gets called) and customize it under the same 'Item type' ) but if we just need to change the default value of attributes , do we create a new 'Item type' and set the attribute values or any other approach? If we make the change in the seeded workflow , whichever OU use that workflow will see the changes in functionality.
    The requirement is very common and even Oracle has mentioned that buisness should set these attributes to suit their business needs.One such attribute is 'Is Automatic Creation Allowed' (Should PO be created from iProc requisition without user intervention)
    What is the recommended/best way forward.
    Please suggest , thanks !!
    Regards,
    Amit

    You can simply update the wf_item_attributes table.
    Set text_default to Y WHERE name = 'CONT_WF_FOR_AC_REL_GEN'           
    Hope this helps
    Sandeep Gandhi
    Independent Techno-functional Consultant

  • Help to set value of an attribute based on value selected in another field

    Hi all,
    I want to set the value of an attribute STRUCT.ITM_TYPE to a default value whenever i select one of the value from dropdown list in LC_STATUS.
    I tried to add an event in the get_p method of the lc_status but there i cant able to access the context of the ITM_TYPE as the fields are in different views.
    Please Help,
    Rewards will be awarded.
    Naveenn

    Hi Vineet,
    Thanks for the suggestion.
    Please chech my code and suggest me for any corrections.
    In the Get_P_LCSTATUS method of Context Node BTADMINH in View1.
    METHOD GET_P_LCSTATUS.
      CASE iv_property.
        WHEN if_bsp_wd_model_setter_getter=>fp_fieldtype.
          rv_value = cl_bsp_dlc_view_descriptor=>field_type_picklist.
        WHEN if_bsp_wd_model_setter_getter=>fp_server_event.
          rv_value = 'ACT_STATUS_SELECTED'.
      ENDCASE.
    ENDMETHOD.
    In event handler method in Context Node BTADMINI in View2
    method EH_ONACT_STATUS_SELECTED.
    * Added by wizard: Handler for event 'ACT_STATUS_SELECTED'
    data: lr_ent1 type ref to cl_crm_bol_entity,
             lr_ent2 type ref to cl_crm_bol_entity.
    lr_ent1 = me->typed_context->BTADMINH->collection_wrapper->get_current( ).
    check lr_ent1 is bound.
    * To Get Value of First Attribute
    lv_attr1 = lr_ent1->get_property_as_string( 'LC_STATUS' ).
    * To Set Value of 2nd Input Field now based upon this value
    lr_ent2 = me->typed_context->BTADMINI->collection_wrapper->get_current( ).
    *lr_ent2->lock( ).
    lr_ent2->set_property_as_string( iv_attr_name = 'ITM.TYPE'  iv_value = 'RREQ' ).
    endif.
    endmethod.
    but during syntax check its showing error messge as BTADMINH is unknown.
    2) How and where to bind the context node in custom controller.
    Please help.

  • Default value for attribute "COUNTRY" in BP_HEAD_SEARCH/MainSearch

    Hi Gurus,
    Requirement is to set default value for attribute "COUNTRY" in BP_HEAD_SEARCH/MainSearch when user clicks on Corporate Account.
    Below is code that i have written in DO_PREPARE_OUTPUT.
    Code is working fine and in the debug also i can see the value of COUNTRY is set to DE, but it is not showing on the screen for first time but when i load component second time(Refresh the screen), it shows me value.
    Any help would be appreciated. If somebody has otheralternative kindly share.
      CALL METHOD super->do_prepare_output( iv_first_time = iv_first_time ).
    Calling Super Method
    CALL METHOD super->do_prepare_output
       EXPORTING
         iv_first_time = abap_true.
    Data Declatation
      DATA :lr_col            TYPE REF TO if_bol_bo_col,
            lr_current        TYPE REF TO if_bol_bo_property_access,
            lr_param          TYPE REF TO if_bol_bo_property_access,
            lr_qs             TYPE REF TO cl_crm_bol_dquery_service,
            lv_attr_name      TYPE name_komp,
            lv_sign           TYPE bapisign,
            lv_option         TYPE bapioption,
            w_country_exist   TYPE c,
            w_param           TYPE string,
            w_value           TYPE string,
            w_flag            TYPE c.
    Getting SEARCH Context Node
      lr_qs ?= me->typed_context->search->collection_wrapper->get_current( ).
    Get Selection Parameters
      lr_col ?= lr_qs->get_selection_params( ).
    Start from first parmaters
      lr_current = lr_col->get_first( ).
    Clearing Variables
      CLEAR : w_country_exist, w_flag, w_param, w_value.
    Loop till we have selection paramters
      WHILE lr_current IS BOUND.         " While loop 1
    checking attribute name is COUNTRY then setting some variable
        w_param = lr_current->get_property_as_string( 'ATTR_NAME' ).
        CASE w_param.
          WHEN 'COUNTRY'.
    If country is filled then setting variable
            w_value = lr_current->get_property_as_string( 'LOW' ).
            IF w_value IS NOT INITIAL.
              w_country_exist = abap_true.
            ENDIF.
    When we got COUNTRY attribute then setting flag
            w_flag = abap_true.
        ENDCASE.
    Calling next parameter
        lr_current = lr_col->get_next( ).
      ENDWHILE.                          " While loop 1
    In below block we are checking is COUNTRY attribute is blank and
    we have found COUNTRY attribute in current selection paramters
      IF lr_qs IS BOUND.                 " SEACRCH CONTEXT BOUND
    If vairable is blank means DE or any other value is not filled in COUNTRY Attribute
        IF w_country_exist IS INITIAL.   " w_contry_exist
    We have to add selection attribute if we come accross COUNTRY attribute during our search
          IF w_flag EQ abap_true.        " w_flag
    Adding COUNTRY attribute with default value 'DE'
            lr_qs->add_selection_param( EXPORTING iv_attr_name = 'COUNTRY'
                                                  iv_sign      = 'I'
                                                  iv_option    = 'EQ'
                                                  iv_low       = 'DE' ).
          ENDIF.                         " w_flag
        ENDIF.                           " w_contry_exist
      ENDIF.                             " SEACRCH CONTEXT BOUND
    In below block we will remove COUNTRY attribute when it has blank value
      IF lr_qs IS BOUND AND w_country_exist IS INITIAL.
        lr_current = lr_col->get_first( ).
        WHILE lr_current IS BOUND.
          w_param = lr_current->get_property_as_string( 'ATTR_NAME' ).
          CASE w_param.
            WHEN 'COUNTRY'.
              w_value = lr_current->get_property_as_string( 'LOW' ).
              IF w_value IS INITIAL.
                lr_col->remove( iv_bo = lr_current ).
              ENDIF.
          ENDCASE.
          lr_current = lr_col->get_next( ).
        ENDWHILE.
      ENDIF.
    Edited by: Harsharandeep Singh on Apr 28, 2011 3:44 PM

    Hi,
    Try it like this:
      DATA:
        lr_bo        TYPE REF TO if_bol_bo_property_access ,
        lv_attr_name TYPE name_komp.
      FIELD-SYMBOLS:
        <ls_param>   TYPE crms_thtmlb_search_criterion.
      READ TABLE parameters
           ASSIGNING <ls_param>
           WITH KEY field = 'COUNTRY'.
      IF ( sy-subrc = 0 ).
        <ls_param>-value1 = ip_pfct.
      ENDIF.
      CHECK ( me->parameter_collection IS NOT INITIAL ).
      lr_bo = me->parameter_collection->get_first( ).
      WHILE lr_bo IS BOUND.
        CALL METHOD lr_bo->get_property_as_value
          EXPORTING
            iv_attr_name = 'ATTR_NAME'
          IMPORTING
            ev_result    = lv_attr_name.
        IF lv_attr_name EQ 'COUNTRY' .
          CALL METHOD lr_bo->set_property
            EXPORTING
              iv_attr_name = 'LOW'
              iv_value     = 'DE'.
          EXIT.
        ELSE.
          lr_bo = me->parameter_collection->get_next( ) .
        ENDIF.
      ENDWHILE .
    Kind regards,
    Micha

Maybe you are looking for