Hierarchy (In the attributes of a characteristic)

Hi all,
   Plz tell me about the creation of hierarchies  using 3rd type as 'In the attributes of a characteristic'  . Is anybody having detailed example of such type of hierarchy ........
Plz let me know .
Thanks .....

Simple example.
Country has many states.
Every state has many districts.
Every district has many cities.
To maintain this hierarchy, you can create a hierarchy on city configuring district, state and country as text nodes.
Or in the master data of city, you can add district, state, and country as the attributes.
In the report, if you keep country, state, district and city in rows, it will be equivalent to having a hierarchy display.
Thanks,
Krishnan

Similar Messages

  • Changing the attributes of a characteristic

    Hi
    I need to change the name and length of a characteristic in DP that is used currently. How can do this change without losing the data or reinitializing the planning area?
    Thanks a lot.

    Hi Rico,
    In the company I'm working the Production Client is closed to any configuration so I need to change the characteristic in the Development Client and then transport the change to the Production Client. I want to be sure that this change it will not delete data.
    Thank you

  • View dimension hierarchy using the filter property of data form

    Hi,
    I created a data form where I want to show the dimension hierarchy. But when I am filtering the form using attribute dimension then the hierarchy is not being shown in the form.Is their any way so that I can use the filter property also and make the dimension hierarchy visible in the data form?
    Thanks.

    847833 wrote:
    Hi Endy,
    Thanks for your reply. I have used the "equal" function as to set that specific attribute as I am choosing the descendants function against the attribute dimension,it's showing error.Hi,
    What's the error ? You have to use a function, otherwise it will only display the member you picked.
    Actually in our dimension structure we have a 3 generation hierarchy and the attribute is only associated with the 3rd generation member. So we want to display the 3rd generation having the specific attribute "xx" wit the entire hierarchical structure in our data form.
    Can you please tell me if I have missed anything?
    Thanks.If you want to display the attribute value in the form, edit the form, go to the "Layout" tab, and click on your row. On the right side of the screen, you have a section called Display Properties. Check the box called Enable custom attributes, then check your attribute name. Save the form and you will have the attribute value displayed at the right of the member name.

  • Removing attributes of a characteristic in the Universe designer

    We are using a SAP delivered characteristic (e.g., 0CUSTOMER), it has a lot of attributes associated with it and when we use that characetistic in the Bex query (into the Free characteristics section). We built a universe on top of this Bex query and we could see all the attributes of that particular characteristic in the Designer as well. Is there any way to remove the ones which we are not using for BO reports.
    if it is not possible to remove those objects from the universe designer, will it impact the performance of the Webi reports (or any other BO reports)??

    Delete them from the universe - click on it, press the Delete key.
    You may be better off hiding them first though - right-click, choose Hide, just in case they are used and you aren't aware that they are.
    Regards,
    Mark

  • Hierarchy in BEx using a virtual characteristic

    Hello BW Experts,
    I encountered a problem with the display of a virtual characteristic in context with a hierarchy.
    The goal is to display a weighted rating (the virtual characteristic) for each hierarchy level individually.
    What I get:
    IAS Category Weighted Rating Ratio Weighted MV / MV
    Level 1 A 5
    AAA 2
    Level 2a A 5
    AAA 1
    Stock 1 A 5
    Stock 2 AAA 1
    Level 2b AAA 1
    Stock 3 AAA 1
    What I'd like to get:
    IAS Category Weighted Rating Ratio Weighted MV / MV
    Level 1 AA 3
    Level 2a A 2
    Stock 1 A 5
    Stock 2 AAA 1
    Level 2b AAA 1
    Stock 3 AAA 1
    Level 2 is the lowest level in the hierarchy and Level 1 a text node. The weighted rating is determined in a SAP Exit (include ZXRSRZZZ) in a mapping ODS whereas the ratio Weighted Market Value / Market Value (a virtual key figure) is the lookup key. The solution might be something like the declaration of the aggregation level for the virtual characteristic in the SAP Exit.
    Any suggestions would by highly appreciated.
    Thanks in advance.
    Cheers,
    Manuel

    Hello,
    why do you not using an Hierarchy with Characteristics and Attributes? This should be much easier.(use a balanced hierarchy)
    I do not believe, that you have a chance to do the rating for the levels with a virtual characteristic.
    Another possibility is to use an virtual InfoPovider with Services and do the data collection by your own.
    Kind reg.
    Michael

  • Stored Procedure- Multil level employee hierarchy in the same row

    I have an employee table where I have employee details  which includes the following properties:
    EmployeeID, EmployeeName, ManagerID, DesignationCode.
    ManagerID maps to EmployeeID in the Emp table. DesignationCode is to identify the employee designation.
    The topmost person of the organization could be identified by : whose DesignationCode is 'XX' and ManagerID=EmplyeeID.
    Here, 'XX' is fixed and will not change.
    Also, we know there could be a maximum of 10 level for each hierarchy.
    Example: Employee1 reports to Manager1 who reports to Manager2 who reports to Manager 3 ..... who reports to ManagerN.
    I need to pull a hierarchy in the below format:
    EmpName  MgrName0   MagrName1   MgrName2 ..........MgrName7  MgrName8 
    MgrName9
    SAMRAT                                                                      
                                XXX                XXX
    SUDHAKAR                                                                   
      XXX                 XXX                XXX
    SATESWAR                                                                   
                              XXX                XXX
    SRINI               XXX                  XXX                      
              XXX                 XXX                XXX
    IMPORTANT POINT: We need to identify the reporting hierarchy level for each employee's manager and then place the manager names accordingly based on the columns.
    Example:
    If an employee's manager has only 1 reporting manager(who is at top level), then he would be placed at the column "ManagerName8" and ManageName9 would be the topmost employee of the organization
    In short, we need to identify the reporting level at which the employees manager belongs and then start filling the columns values for that row ( employee details)
    I am stuck and unable to do the same. Please help.
    Thank you.

    Please post DDL, so that people do not have to guess what the keys, constraints, Declarative Referential Integrity, data types, etc. in your schema are. Learn how to follow ISO-11179 data element naming conventions and formatting rules. Temporal data should
    use ISO-8601 formats. Code should be in Standard SQL as much as possible and not local dialect. 
    This is minimal polite behavior on SQL forums. 
    >> I have an employee table where I have employee details <<
    An SQL programmer would have a Personnel table instead. What you have said is that you have only one employee! 
    >> which includes the following properties:
    emp_id, emp_name, manager_emp_id, designation_code.<<
    Why do you think that a manager is an attribute of an employee? This is absurd! They have a relationship; where is the table that models that relationship? It is missing from this non-normalized, improperly designed table. 
    There are many ways to represent a tree or hierarchy in SQL. YOU are trying to use an adjacency list model. This approach will wind up with really ugly code -- CTEs hiding recursive procedures, horrible cycle prevention code, etc.  
    Another way of representing trees is to show them as nested sets. 
    Since SQL is a set oriented language, this is a better model than the usual adjacency list approach you see in most text books. Let us define a simple OrgChart table like this.
    CREATE TABLE OrgChart 
    (emp_name CHAR(10) NOT NULL PRIMARY KEY, 
     lft INTEGER NOT NULL UNIQUE CHECK (lft > 0), 
     rgt INTEGER NOT NULL UNIQUE CHECK (rgt > 1),
      CONSTRAINT order_okay CHECK (lft < rgt));
    OrgChart 
    emp_name         lft rgt 
    ======================
    'Albert'      1   12 
    'Bert'        2    3 
    'Chuck'       4   11 
    'Donna'       5    6 
    'Eddie'       7    8 
    'Fred'        9   10 
    The (lft, rgt) pairs are like tags in a mark-up language, or parens in algebra, BEGIN-END blocks in Algol-family programming languages, etc. -- they bracket a sub-set.  This is a set-oriented approach to trees in a set-oriented language. 
    The organizational chart would look like this as a directed graph:
                Albert (1, 12)
        Bert (2, 3)    Chuck (4, 11)
                       /    |   \
                     /      |     \
                   /        |       \
                 /          |         \
            Donna (5, 6) Eddie (7, 8) Fred (9, 10)
    The adjacency list table is denormalized in several ways. We are modeling both the Personnel and the Organizational chart in one table. But for the sake of saving space, pretend that the names are job titles and that we have another table which describes the
    Personnel that hold those positions.
    Another problem with the adjacency list model is that the boss_emp_name and employee columns are the same kind of thing (i.e. identifiers of personnel), and therefore should be shown in only one column in a normalized table.  To prove that this is not
    normalized, assume that "Chuck" changes his name to "Charles"; you have to change his name in both columns and several places. The defining characteristic of a normalized table is that you have one fact, one place, one time.
    The final problem is that the adjacency list model does not model subordination. Authority flows downhill in a hierarchy, but If I fire Chuck, I disconnect all of his subordinates from Albert. There are situations (i.e. water pipes) where this is true, but
    that is not the expected situation in this case.
    To show a tree as nested sets, replace the nodes with ovals, and then nest subordinate ovals inside each other. The root will be the largest oval and will contain every other node.  The leaf nodes will be the innermost ovals with nothing else inside them
    and the nesting will show the hierarchical relationship. The (lft, rgt) columns (I cannot use the reserved words LEFT and RIGHT in SQL) are what show the nesting. This is like XML, HTML or parentheses. 
    At this point, the boss_emp_name column is both redundant and denormalized, so it can be dropped. Also, note that the tree structure can be kept in one table and all the information about a node can be put in a second table and they can be joined on employee
    number for queries.
    To convert the graph into a nested sets model think of a little worm crawling along the tree. The worm starts at the top, the root, makes a complete trip around the tree. When he comes to a node, he puts a number in the cell on the side that he is visiting
    and increments his counter.  Each node will get two numbers, one of the right side and one for the left. Computer Science majors will recognize this as a modified preorder tree traversal algorithm. Finally, drop the unneeded OrgChart.boss_emp_name column
    which used to represent the edges of a graph.
    This has some predictable results that we can use for building queries.  The root is always (left = 1, right = 2 * (SELECT COUNT(*) FROM TreeTable)); leaf nodes always have (left + 1 = right); subtrees are defined by the BETWEEN predicate; etc. Here are
    two common queries which can be used to build others:
    1. An employee and all their Supervisors, no matter how deep the tree.
     SELECT O2.*
       FROM OrgChart AS O1, OrgChart AS O2
      WHERE O1.lft BETWEEN O2.lft AND O2.rgt
        AND O1.emp_name = :in_emp_name;
    2. The employee and all their subordinates. There is a nice symmetry here.
     SELECT O1.*
       FROM OrgChart AS O1, OrgChart AS O2
      WHERE O1.lft BETWEEN O2.lft AND O2.rgt
        AND O2.emp_name = :in_emp_name;
    3. Add a GROUP BY and aggregate functions to these basic queries and you have hierarchical reports. For example, the total salaries which each employee controls:
     SELECT O2.emp_name, SUM(S1.salary_amt)
       FROM OrgChart AS O1, OrgChart AS O2,
            Salaries AS S1
      WHERE O1.lft BETWEEN O2.lft AND O2.rgt
        AND S1.emp_name = O2.emp_name 
       GROUP BY O2.emp_name;
    4. To find the level and the size of the subtree rooted at each emp_name, so you can print the tree as an indented listing. 
    SELECT O1.emp_name, 
       SUM(CASE WHEN O2.lft BETWEEN O1.lft AND O1.rgt 
       THEN O2.sale_amt ELSE 0.00 END) AS sale_amt_tot,
       SUM(CASE WHEN O2.lft BETWEEN O1.lft AND O1.rgt 
       THEN 1 ELSE 0 END) AS subtree_size,
       SUM(CASE WHEN O1.lft BETWEEN O2.lft AND O2.rgt
       THEN 1 ELSE 0 END) AS lvl
      FROM OrgChart AS O1, OrgChart AS O2
     GROUP BY O1.emp_name;
    5. The nested set model has an implied ordering of siblings which the adjacency list model does not. To insert a new node, G1, under part G.  We can insert one node at a time like this:
    BEGIN ATOMIC
    DECLARE rightmost_spread INTEGER;
    SET rightmost_spread 
        = (SELECT rgt 
             FROM Frammis 
            WHERE part = 'G');
    UPDATE Frammis
       SET lft = CASE WHEN lft > rightmost_spread
                      THEN lft + 2
                      ELSE lft END,
           rgt = CASE WHEN rgt >= rightmost_spread
                      THEN rgt + 2
                      ELSE rgt END
     WHERE rgt >= rightmost_spread;
     INSERT INTO Frammis (part, lft, rgt)
     VALUES ('G1', rightmost_spread, (rightmost_spread + 1));
     COMMIT WORK;
    END;
    The idea is to spread the (lft, rgt) numbers after the youngest child of the parent, G in this case, over by two to make room for the new addition, G1.  This procedure will add the new node to the rightmost child position, which helps to preserve the idea
    of an age order among the siblings.
    6. To convert a nested sets model into an adjacency list model:
    SELECT B.emp_name AS boss_emp_name, E.emp_name
      FROM OrgChart AS E
           LEFT OUTER JOIN
           OrgChart AS B
           ON B.lft
              = (SELECT MAX(lft)
                   FROM OrgChart AS S
                  WHERE E.lft > S.lft
                    AND E.lft < S.rgt);
    7. To find the immediate parent of a node: 
    SELECT MAX(P2.lft), MIN(P2.rgt)
      FROM Personnel AS P1, Personnel AS P2
     WHERE P1.lft BETWEEN P2.lft AND P2.rgt 
       AND P1.emp_name = @my_emp_name;
    I have a book on TREES & HIERARCHIES IN SQL which you can get at Amazon.com right now. It has a lot of other programming idioms for nested sets, like levels, structural comparisons, re-arrangement procedures, etc. 
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • Displaying the Attribute of a Char

    Hi All,
    I have to display a CHAR in the report. But that CHAR is an attribute of another CHAR. I am unable to display the attribute with out displaying the main CHAR means I have to display only the attribute and not the main CHAR i.e
    for ex: If I have to display the prod. hierarchy code which is an attribute of the CHAR Material, I have to display the Product Hierarchy with out displaying the Material.
    Any Ideas please???
    Best Regards,
    James.

    Hi All,
    I solved my problem with ur suggestions...
    Thanks a lot...
    Points Assigned...
    Best Regards,
    James.

  • How to put the product hierarchy in the bw?

    I want to have the product hierarchy in the reporting, in a way, that the users can open and shut the elements of the tree.
    So i added the foreign hierarchy criteria 0PRODH1, 2, 3 to the InfoObject 0MATERIAL.
    Then I used InfoSource 0MATERIAL_LPRH_HIER to put data in 0MATERIAL.
    In the result 0MATERIAL HAS the hierarchy, but without any materials added to the leafs.
    What did i do wrong?
    Tobias

    Hi ,
    Have a look on note: 407033
    It says 2 main points with regarding to your problem.
    1)  Material master records with shared master data in the sales area cannot be assigned to a product hierarchy in BW.
      This solution generates the thinnest possible hierarchy, but leads to some restrictions in the navigation options in the BW queries because you can no longer expand the hierarchy to the material numbers.
    2) The 0PROD_HIER attribute of 0-MATERIAL must be active as a navigation attribute in the cube.When you expand the hierarchies by product hierarchy in the query, you can display this hierarchy.
    With rgds,
    Anil Kuma Sharma .P
    Kindly assign points , if it really helps you.

  • Display a particular node of Hierarchy in the Report.

    Hi , all
    I have an urgent requirement that i have to  display only a particular node(5) of Hierarchy in the Bw Report , I have tried different options available in the Hierarchy tab (That is Expand to level 5 , Position of lower node - Above , Value of posted node - Hide ) . But stil it is displaying 5 and then 4 node , but i don't want that 4 node .
    Can anybody gine me some useful suggestion .
    Thanks in advance..

    Hi Akash,
    - To show only particular nodes of a hierarchy in the Excel sheet:
    Step 1: include the base characteristic
    Step 2: select the hierarchy (properties of the characteristic) - (display key only)
    Step 3: user restrict (from context menu of the characteristic) on the nodes that you want to display.
    Step 4: expand to level: 1 (properites of the characteristics)
    This should serve the purpose.  I know it is a little late, but it might be helpful in the future

  • Using Key figure attribute of a characteristic in a query

    Hi All,
    I have the following scenario. I have defined a key figure attribute for a characteristic Infoobject. I have included this characteristic infoobject in an Infocube. I now want to use the key figure attribute as a regular key figure when I create a report based on the Infocube. Is it possible and if so how is it possible?
    Thanks
    Sundar

    Hi Saundar,
       There's another way.Set the characteristic with key figure attributes as a data target under your info area. Create a MultiProvider and include your Cube and this characteristic. Here you can set the key figure as your MultiProvider key figure.
       Don't forget to take care of the identification of MultiProvider.
       Hope this helps.
    Regards,
    Aaron

  • Downloaded my hierarchy using the program z_sap_hierarchy_download

    hi
    I want download downloaded my hierarchy using the program z_sap_hierarchy_download but I have any problem when I using idoc method, I have this message:
    Node [00001350, 00001580]: Leaf 'E010000000' already exists as child of node 00001501
    Best regard
    Francoise

    hi
    The problem is that 2 id differents has the same description.
    my program is:
    begin
    SAP Consulting BW Tools:
    Download hierarchy into a flat file. The file has the correct format
    Text elements:
    P_DATES Include from/to dates
    P_DATETO Valid-to date
    P_FNAME File name
    P_HIENM Hierarchy name
    P_INTER Include from/to leaves
    P_IOBJNM InfoObject
    P_LANGU Language
    P_VERS Hierarchy version
    REPORT z_sap_hierarchy_download.
    TYPE-POOLS: rs, rsdm, rrh1.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS:
    p_iobjnm TYPE rsdiobjnm MEMORY ID rsc.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
    PARAMETERS:
    p_hienm TYPE rshiedir-hienm,
    p_vers TYPE rshiedir-version,
    p_dateto TYPE rshiedir-dateto,
    p_langu TYPE rshiedirt-langu.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME.
    PARAMETERS:
    p_fname LIKE rlgrap-filename,
    p_dates AS CHECKBOX DEFAULT 'X',
    p_inter AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK b3.
    File structure
    TYPES:
    No dates/intervals
    BEGIN OF y_s_hierfile_1,
    nodeid TYPE rshienodid,
    iobjnm TYPE rsiobjnm,
    nodename TYPE rsnodename,
    tlevel TYPE rstlevel,
    link TYPE rslink,
    parentid TYPE rsparent,
    childid TYPE rschild,
    nextid TYPE rsnext,
    langu TYPE langu,
    txtsh TYPE rstxtsh,
    txtmd TYPE rstxtmd,
    txtlg TYPE rstxtlg,
    END OF y_s_hierfile_1,
    y_t_hierfile_1 TYPE STANDARD TABLE OF y_s_hierfile_1,
    With dates
    BEGIN OF y_s_hierfile_2,
    nodeid TYPE rshienodid,
    iobjnm TYPE rsiobjnm,
    nodename TYPE rsnodename,
    tlevel TYPE rstlevel,
    link TYPE rslink,
    parentid TYPE rsparent,
    childid TYPE rschild,
    nextid TYPE rsnext,
    dateto TYPE rsdateto,
    datefrom TYPE rsdatefrom,
    langu TYPE langu,
    txtsh TYPE rstxtsh,
    txtmd TYPE rstxtmd,
    txtlg TYPE rstxtlg,
    END OF y_s_hierfile_2,
    y_t_hierfile_2 TYPE STANDARD TABLE OF y_s_hierfile_2,
    With intervals
    BEGIN OF y_s_hierfile_3,
    nodeid TYPE rshienodid,
    iobjnm TYPE rsiobjnm,
    nodename TYPE rsnodename,
    tlevel TYPE rstlevel,
    link TYPE rslink,
    parentid TYPE rsparent,
    childid TYPE rschild,
    nextid TYPE rsnext,
    leafto TYPE rsleafto,
    leaffrom TYPE rsleaffrom,
    langu TYPE langu,
    txtsh TYPE rstxtsh,
    txtmd TYPE rstxtmd,
    txtlg TYPE rstxtlg,
    END OF y_s_hierfile_3,
    y_t_hierfile_3 TYPE STANDARD TABLE OF y_s_hierfile_3,
    With dates/intervals
    BEGIN OF y_s_hierfile_4,
    nodeid TYPE rshienodid,
    iobjnm TYPE rsiobjnm,
    nodename TYPE rsnodename,
    tlevel TYPE rstlevel,
    link TYPE rslink,
    parentid TYPE rsparent,
    childid TYPE rschild,
    nextid TYPE rsnext,
    dateto TYPE rsdateto,
    datefrom TYPE rsdatefrom,
    leafto TYPE rsleafto,
    leaffrom TYPE rsleaffrom,
    langu TYPE langu,
    txtsh TYPE rstxtsh,
    txtmd TYPE rstxtmd,
    txtlg TYPE rstxtlg,END OF y_s_hierfile_4,
    y_t_hierfile_4 TYPE STANDARD TABLE OF y_s_hierfile_4.
    Hierarchy definition
    DATA:
    g_s_hiesel TYPE rsndi_s_hiesel,
    g_s_hiedir TYPE rsndi_s_hiedir,
    g_subrc TYPE sy-subrc,
    g_t_hiedirt TYPE TABLE OF rshiedirt,
    g_s_hierstruc TYPE rssh_s_htab,
    g_t_hierstruc TYPE TABLE OF rssh_s_htab,
    g_s_thiernode TYPE rsthiernode,
    g_t_thiernode TYPE TABLE OF rsthiernode WITH KEY langu hieid objvers
    nodename,
    g_s_hierintvl TYPE rssh_s_jtab,
    g_t_hierintvl TYPE TABLE OF rssh_s_jtab WITH KEY hieid objvers nodeid,
    g_s_message TYPE rsndi_s_message,
    g_t_message TYPE TABLE OF rsndi_s_message,
    g_s_chavlinfo TYPE rsdm_s_chavlinfo,
    g_t_chavlinfo TYPE rsdm_t_chavlinfo.
    File
    DATA:
    g_fname TYPE string,
    g_struct_s TYPE string,
    g_struct_t TYPE string,
    gr_s_file TYPE REF TO data,
    gr_t_file TYPE REF TO data.
    FIELD-SYMBOLS:
    <g_langu> TYPE ANY,
    <g_s_file> TYPE ANY,
    <g_t_file> TYPE STANDARD TABLE.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_iobjnm.
      CALL FUNCTION 'RSD_IOBJ_F4'
        EXPORTING
          i_show_cha    = rs_c_true
          i_objvers     = rs_c_objvers-active
          i_hietabfl    = rs_c_true
        CHANGING
          c_iobjnm      = p_iobjnm
        EXCEPTIONS
          illegal_input = 1.
      CHECK sy-subrc = 0.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_hienm.
      DATA:
      l_s_hiertxt TYPE rrh1_s_hiertxt,
      l_t_hiertxt TYPE rrh1_t_hiertxt.
      CALL FUNCTION 'RRH1_HIERARCHY_HELP_VALUES_GET'
        EXPORTING
          i_iobjnm          = p_iobjnm
          i_dateto          = p_dateto
          i_hienm           = p_hienm
          i_version         = p_vers
        IMPORTING
          e_t_hiertxt       = l_t_hiertxt
        EXCEPTIONS
          no_f4_available   = 1
          dialogue_canceled = 2
          OTHERS            = 3.
      CHECK sy-subrc = 0.
      READ TABLE l_t_hiertxt INTO l_s_hiertxt INDEX 1.
      CHECK NOT l_s_hiertxt IS INITIAL.
      p_hienm = l_s_hiertxt-hienm.
      DATA:
      l_s_dynpfields TYPE dynpread,
      l_t_dynpfields TYPE STANDARD TABLE OF dynpread.
      CLEAR: l_t_dynpfields, l_s_dynpfields.
      l_s_dynpfields-fieldname = 'P_VERS'.
      WRITE l_s_hiertxt-version TO l_s_dynpfields-fieldvalue.
      APPEND l_s_dynpfields TO l_t_dynpfields.
      l_s_dynpfields-fieldname = 'P_DATETO'.
      WRITE l_s_hiertxt-dateto TO l_s_dynpfields-fieldvalue.
      APPEND l_s_dynpfields TO l_t_dynpfields.
      CALL FUNCTION 'DYNP_VALUES_UPDATE'
        EXPORTING
          dyname     = sy-repid
          dynumb     = sy-dynnr
        TABLES
          dynpfields = l_t_dynpfields.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
      DATA:
      l_filename1 TYPE string,
      l_filename2 TYPE string,
      l_path TYPE string,
      l_fullpath TYPE string,
      l_action TYPE i.
      l_filename1 = p_fname.
      CALL METHOD cl_gui_frontend_services=>file_save_dialog
      EXPORTING
      window_title = 'Select Download File'
      default_extension = 'txt'
      default_file_name = l_filename1
      file_filter = 'All Files (.)|.|Text files (.txt)|.txt'
      CHANGING
      filename = l_filename2
      path = l_path
      fullpath = l_fullpath
      user_action = l_action
      EXCEPTIONS
      cntl_error = 1
      OTHERS = 2.                                               "#EC NOTEXT
      CHECK sy-subrc = 0.
      CALL METHOD cl_gui_cfw=>flush.
      IF l_action = 0.
        p_fname = l_fullpath.
      ENDIF.
    INITIALIZATION.
      GET PARAMETER ID 'RSC' FIELD p_iobjnm.
    START-OF-SELECTION.
    Check input
      CHECK NOT p_fname IS INITIAL.
      IF p_langu IS INITIAL.
        p_langu = sy-langu.
      ENDIF.
      IF p_dateto IS INITIAL.
        p_dateto = '99991231'.
      ENDIF.
    Read hierarchy
      CLEAR g_s_hiesel.
      g_s_hiesel-objvers = rs_c_objvers-active.
      g_s_hiesel-hienm = p_hienm.
      g_s_hiesel-version = p_vers.
      g_s_hiesel-iobjnm = p_iobjnm.
      g_s_hiesel-dateto = p_dateto.
      CALL FUNCTION 'RSNDI_SHIE_STRUCTURE_GET'
        EXPORTING
          i_s_hiesel        = g_s_hiesel
          i_no_nodenm_table = rs_c_true
        IMPORTING
          e_s_hiedir        = g_s_hiedir
          e_subrc           = g_subrc
        TABLES
          e_t_hiedirt       = g_t_hiedirt
          e_t_hierstruc     = g_t_hierstruc
          e_t_thiernode     = g_t_thiernode
          e_t_hierintvl     = g_t_hierintvl
          e_t_message       = g_t_message.
      IF g_subrc <> 0.
        READ TABLE g_t_message INTO g_s_message INDEX 1.
        IF sy-subrc = 0.
          MESSAGE ID g_s_message-msgid TYPE 'I' NUMBER g_s_message-msgno
          WITH g_s_message-msgv1 g_s_message-msgv2
          g_s_message-msgv3 g_s_message-msgv4.
        ELSE.
          MESSAGE ID 'RSBO' TYPE 'I' NUMBER 899
          WITH 'Hierarchy read error'.
        ENDIF.
        EXIT.
      ENDIF.
    Defined output structures
      IF p_dates IS INITIAL AND p_inter IS INITIAL.
        g_struct_s = 'Y_S_HIERFILE_1'.
        g_struct_t = 'Y_T_HIERFILE_1'.
      ELSEIF p_dates = 'X' AND p_inter IS INITIAL.
        g_struct_s = 'Y_S_HIERFILE_2'.
        g_struct_t = 'Y_T_HIERFILE_2'.
      ELSEIF p_dates IS INITIAL AND p_inter = 'X'.
        g_struct_s = 'Y_S_HIERFILE_3'.
        g_struct_t = 'Y_T_HIERFILE_3'.
      ELSE.
        g_struct_s = 'Y_S_HIERFILE_4'.
        g_struct_t = 'Y_T_HIERFILE_4'.
      ENDIF.
      CREATE DATA gr_s_file TYPE (g_struct_s).
      ASSIGN gr_s_file->* TO <g_s_file>.
      CREATE DATA gr_t_file TYPE (g_struct_t).
      ASSIGN gr_t_file->* TO <g_t_file>.
    Nodes
      REFRESH <g_t_file>.
      LOOP AT g_t_hierstruc INTO g_s_hierstruc.
        CLEAR <g_s_file>.
        MOVE-CORRESPONDING g_s_hierstruc TO <g_s_file>.
    Texts for nodes
        READ TABLE g_t_thiernode INTO g_s_thiernode WITH TABLE KEY
        langu = p_langu
        hieid = g_s_hierstruc-hieid
        objvers = rs_c_objvers-active
        nodename = g_s_hierstruc-nodename.
        IF sy-subrc = 0.
          MOVE-CORRESPONDING g_s_thiernode TO <g_s_file>.
        ELSE.
    Texts for characteristic values
          REFRESH g_t_chavlinfo.
          CLEAR g_s_chavlinfo.
          g_s_chavlinfo-c_chavl = g_s_hierstruc-nodename.
          APPEND g_s_chavlinfo TO g_t_chavlinfo.
          CALL FUNCTION 'RSD_CHAVL_READ_ALL'
            EXPORTING
              i_iobjnm                  = g_s_hierstruc-iobjnm
              i_langu                   = p_langu
              i_dateto                  = p_dateto
              i_check_value             = space
              i_sid_in                  = space
              i_hieid                   = g_s_hiedir-hieid
              i_objvers                 = g_s_hiedir-objvers
            CHANGING
              c_t_chavlinfo             = g_t_chavlinfo
            EXCEPTIONS
              info_object_not_found     = 1
              routines_generation_error = 2
              check_table_not_existing  = 3
              text_table_not_existing   = 4
              OTHERS                    = 5.
          IF sy-subrc = 0.
            READ TABLE g_t_chavlinfo INTO g_s_chavlinfo INDEX 1.
            IF sy-subrc = 0.
              MOVE-CORRESPONDING g_s_chavlinfo-e_chatexts TO <g_s_file>.
              ASSIGN COMPONENT 'LANGU' OF STRUCTURE <g_s_file> TO <g_langu>.
              IF sy-subrc = 0.
                <g_langu> = p_langu.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
    Intervals
        IF g_s_hierstruc-intervl = 'X' AND p_inter = 'X'.
          READ TABLE g_t_hierintvl INTO g_s_hierintvl WITH TABLE KEY
          hieid = g_s_hierstruc-hieid
          objvers = rs_c_objvers-active
          nodeid = g_s_hierstruc-nodeid.
          IF sy-subrc = 0.
            MOVE-CORRESPONDING g_s_hierintvl TO <g_s_file>.
          ENDIF.
        ENDIF.
        APPEND <g_s_file> TO <g_t_file>.
      ENDLOOP.
    Download output table
      g_fname = p_fname.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                = g_fname
          write_field_separator   = space
        TABLES
          data_tab                = <g_t_file>
        EXCEPTIONS
          file_write_error        = 1
          no_batch                = 2
          gui_refuse_filetransfer = 3
          invalid_type            = 4
          no_authority            = 5
          unknown_error           = 6
          header_not_allowed      = 7
          separator_not_allowed   = 8
          filesize_not_allowed    = 9
          header_too_long         = 10
          dp_error_create         = 11
          dp_error_send           = 12
          dp_error_write          = 13
          unknown_dp_error        = 14
          access_denied           = 15
          dp_out_of_memory        = 16
          disk_full               = 17
          dp_timeout              = 18
          file_not_found          = 19
          dataprovider_exception  = 20
          control_flush_error     = 21
          OTHERS                  = 22.
      IF sy-subrc = 0.
        MESSAGE ID 'RSBO' TYPE 'I' NUMBER 899
        WITH 'Hierarchy download successful!'.
      ELSE.
        MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    end

  • FOX: Read Attribute of time characteristic

    Hey Gurus,
    within my current planning application I maintained an Attribute for 0FISCPER3. Now I want to do some calculations where it is necessary to read this attribute but with standard function ATRV it is not possible.
    The execution of the Planningsequence always fails. In ST22 Methode IF_RSMD_RS_ACCESS~GET_ATTRIBUTES is called (* This method is not supported for these info objects).
    Does anyone know if it is not possible to read attributes of standard time characteristics ? If it's not I think the best alternative is to create a function module that reads my attribute.
    Cheers,
    Moritz

    Hi Moritz,
    can you please post your fox coding for this one? If it is a attribute of a characteristic you have to include the corresponding characteristic of the attribute (the attribute is mentioned as xxx within the coding):
    local_variable = artv(xxx, 0fiscper3).
    Did you try this?
    Brgds,
    Marcel

  • Hierarchy in the query

    Hi,
    When I check the query, there is an error message.
    Node 0HIER_NODE isnot in the hierarchy for the infoobject 0account.
    No changes were done in the hierarchy. But, I reactivated the hierarchy. Still, the issue exists.
    What could be the reason?
    Thanks.

    Could happen when you have hard coded some nodes of hierarchy which no longer exist. Try following
    Remove the characteristic completely from the query and try adding it back in. Activate the hierarchy an see what happens.
    Adding right variables would be another thing I would check for.
    Edited by: Abhijit N on Apr 13, 2011 11:08 PM

  • How to delete an Hierarchy in the Infoobject

    Hi Guys,
    i made an Hierarchy manually in the Infoobject "X" for example,
    when i made the hierarchy with the values that i needed, the system create another node to the values not selected in my Hierarchy, in the query i selected the Infoobject X with the hierarchy that i made, the problem is when i want to navigate and click the Infoobject to drilldown, appears like Option the Hierarchy that i made and the NODE of the values out of my hierarchy, here the client doesnt want to see that NODE when he is navigating, just the hierarchy that i made because  it´s confused for the client,
    i want to delete this Node, but doesnt appear in the infoobject, its like something internal of the infoobject that it create
    how can i delete it or do something that hide it when is navigating in the report??

    Hi Jorge,
    one option is avaialable in BW Administrator workbench, (RSA1).
    select your hierarchy from infoobjects or directly from RSA1 Screen, by clicking on Hierarchy button,
    in hierachy screen, if in display mode, chnage to Change mode and click on hierarchy Attributes button and and enable check box 'Suppress "unassigned node'. this is stop displaying Not assigned values in report.
    hope this helps
    Regards,
    Daya Sagar

  • Attribute sort of characteristic

    Is it possible to create a sort, or custom sort, of a characteristic's attributes within Analysis? We are seeing that the sequence between BEx and Analysis characteristics is very different. We have a requirement that these be the same for a few reports.
    Can characteristic sorting be forced from BEx into Analysis? Note: in BW we are getting the correct sequencing/sorting of attributes.

    I think the description is clear; but I don't think this is possible with Analysis Office
    If you want this functionality, I recommend turning the attribute characteristic into a navigation one on the backend of BW - of course this would require some BW development

Maybe you are looking for