How to Display Time-Dependent Characteristic Data In Query

Hi Experts,
   I have encountered a problem. I want to use Time-Dependent Chart. And want to display different value according characteristc's valid from time. For Example,
The Characteristic 0COSTCENTER has the navigation attribute 0COMPANY, The data as:
0COSTCENTER   Valid from   Valid To       0COMPANY
BW2305              20070101   20070430     A
BW2305              20070501   99991231     B
I want  the report  can display as :
0COSTCENTER   Valid from   Valid To       0COMPANY  AMOUNT
BW2305              20070101   20070430     A                  1000
BW2305              20070501   99991231     B                  2000
But when I set the query's key date 20070420, the report display as:
0COSTCENTER   Valid from   Valid To       0COMPANY  AMOUNT
BW2305              20070101   20070430     A                  1000
BW2305              20070501   99991231     A                  2000
when I set the query's key date 20070520, the report display as:
0COSTCENTER   Valid from   Valid To       0COMPANY  AMOUNT
BW2305              20070101   20070430     B                 1000
BW2305              20070501   99991231     B                  2000
Can anybody tell me how I can get report expected.
Thanks in advance.
SF

Hi,
1) Add the characterstics 0COSTCENTER ,0DATETO,DATEFROM and  0COMPANY to the cube.
2) And also add these 4 IOs to the Communication structures which has update rules with the concern cube.
3) I hope , you already have  0COSTCENTER in the Commnication structure and mapping for that infoobject at both Update rules and Transfer rules.
4) Leave to the Blank(no mapping) mappings for the IOs 0DATETO,DATEFROM and  0COMPANY in the Transfer rules.But make 1:1 mapping in the Update rules for these 2 infoobjects.
5) Write the below code in the strt routine of the Update rules:
TYPES:  BEGIN OF type4.
      include structure like /BI0/QCOSTCENTER.
TYPES END OF type4.
DATA:
  ITAB4 TYPE STANDARD TABLE OF TYPE4
       WITH HEADER LINE
       WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 0.
SELECT * FROM /BI0/QCOSTCENTER INTO CORRESPONDING FIELDS
OF TABLE ITAB4
WHERE OBJVERS = 'A'.
loop at DATA_PACKAGE.
     READ TABLE ITAB4 WITH KEY COSTCENTER = DATA_PACKAGE-MATERIAL 
DATETO LE DATA_PACKAGE-PSTNG_DATE
DATEFROM GE DATA_PACKAGE-PSTNG_DATE.
              IF SY-SUBRC EQ 0.
                DATA_PACKAGE-DATETO = ITAB4-DATETO.
                DATA_PACKAGE-DATEFROM = ITAB4-DATEFROM.
                DATA_PACKAGE-COMP_CODE = ITAB4-COMP_CODE.
              ENDIF.
              Modify DATA_PACKAGE.
  endloop.
  ABORT = 0.
Here I assumed you have Posting date in the Communication structure and used to map to Fiscalperiod of the cube.
6) Do the Master data upload to Cost center and active the master data of it always before uploading the data to cube.
7) Do the uploading to cube from Sratch.
With rgds,
Anil Kumar Sharma .P
Message was edited by:
        Anil Kumar Sharma

Similar Messages

  • How InfoSpoke reads time dependent master data ?

    Hello Experts !!
    How InfoSpoke reads the time dependent master data ?
    What key date it reffers to ?
    Can you please explain, I want to use this concept in writing master data lookup for time dependent attributes of 0MATERIAL.
    Thank a lot !

    You can either specify the time period in the filtering area of infospoke or you can implement a transformation BAdI -OPENHUB_TRANSFORM to manipulate the data whichever way that suites your requirement. All time dependent infobjects have datefrom and dateto fields which you can use to choose your data range accordingly.
    Hope this helped you.

  • Display Time-Dependent Characteristic in 2different date columns (HR-data)

    Hello.
    I want to create a specific Query on a Self-defined HR-HeadCount cube.  On this Cube I have Employee-number + characteristic values per month (e.g. PayScaleArea).  Month is my most granular level. 
    The Query I want is the following :
         04.2006     05.2006
    Employee/PayScaleArea
    20184     5B     6
    20230     3     4
    20295     6A     6B
    (5B, 6, ... are PayScaleArea's  e.g. 5B is Manager)
    I have already filtered on the Employees who got a promotion between 04.2006 and 05.2006 (=Month.Year).  And now I whish to see the PayScaleArea listed of these Employees under 2 column headers April+May . 
    If this was a keyfigure this would be standard but for a characteristic I can't get it to work.  I've already tried working with formulas (replacement path)
    The problem is that it always displays like this :
                  PayScaleArea
                      3     4    5B    6    6A    6B
    Employee
    20184     
    20230          
    20295     
    (which is realy bad)
    Or
    Employee/CalMonth/PayScaleArea
    20184     04.2006 5B     
    20184     05.2006 6
    20230     04.2006 3     
    20230     05.2006 4
    20295     04.2006 6A
    20295     05.2006 6B
    (this is correct, but not verry readable, having it in 2 columns makes it easier to compare who promoted to what)
    Note: I have PayScaleArea directly in the Cube and also as time-dependent attribute on Employee => the attribute has the problem that I can only report on one key-date per query (which is specified on the header of the query) so combining multiple queries in a workbook would also be a (less desired) workaround.
    Can you help me ?
    Kind Regards, Carl.

    Hello,
    I'm affraid you do not understand my question.  You mention here one of the two 'workable' solutions (the other one being 2queries on different tabs each for a different month and then combining the 2queries on a third tab)
    The report layout does not look good in this txt format so I will split it up using my original example:
    The Query I want has three columns  :
    1) Employee
    e.g. :
    20184
    20230
    20295
    2) The PayScaleArea's of Month -1 (e.g. : 04.2006)
    e.g. :
    5B
    6
    6A
    3) The PayScaleArea's of current Month (e.g. : 05.2006)
    e.g. :
    6
    4
    6B
    If PayScaleArea would be a keyfigure then I could just put Employee in my rows and month + PayScaleArea in the columns and it would work perfect... but it is a characteristic and therefore it does not show up next to the employee in this case.
    In a sense this is logically since BW does not know that there is only one characteristic value PayScaleArea per month and per employee.

  • How to create time dependant master data table in R/3?

    Hi gurus,
             I am new to BW.I try to execute the 'Time dependant Attribute' into BW.in my scenario my source system must give me the data like "salesrep ID,Manager ID,Date to,Date from,Sales region". I like to know how to define this master data in SAP R/3(Source system)?. Give me the steps to create master data table in R/3.
    Manager may change periodically.even i need to maintain all the changes in R/3.
    Thanks & Regards,
    Bharath

    built-in type method means.,
    there is no need to create data element and domain objects seperately for each and every field of the table which ever you are creating, system will implicitly fix the size based on the data type you selected....

  • How to display time took executed on a query.

    hi,
    i have a long running query, and don't have dba access.
    how to show the time it took from the query to display after executing a query?

    user1035690 wrote:
    great, how come the set timing off has no effect on my SQL developer?
    i can't set timing off (or on).
    thanks.Because SQLDeveloper is not SQLPLUS?
    That's like asking why does my motorbike have 2 wheels when my car has 4 ... they're different products :)

  • How to display time duration (NOT dates) with an input mask in a JTable?

    Background: I am trying to display in a JTable, in two columns, the start position and time duration of an audio clip.
    They are stored as type float internally eg. startPosition = 72.7 seconds.
    However I wish to display on screen in the table in HH:mm:ss:S format. eg. 00:01:12:7. The user can edit the cell and input values to update the internal member fields.
    Problem: I am finding it very difficult to implement this - what with the interactions of MaskFormatter, DefaultCellEditor etc.
    Also using SimpleDateFormat and DateFormatter does not work as they insist on displaying the day, month, year also in the table cell.
    Taking the Swing Tutorial TableFTFEditDemo example as a template,
    (http://java.sun.com/docs/books/tutorial/uiswing/components/example-1dot4/index.html#TableFTFEditDemo)
    does anyone know how to do this?
    I can post my (buggy) modifications to the example code - if it would help.
    Appreciate any help.
    thanks,
    Anil

    Here are my modifications to the TableFTFEditDemo example. If you run it, you get an exception
    like java.lang.NumberFormatException: For input string: "18:00:03.500"
    The two modified classes are taken from the Tutorial and are listed below:
    =================
    * IntegerEditor is a 1.4 class used by TableFTFEditDemo.java.
    import javax.swing.AbstractAction;
    import javax.swing.BorderFactory;
    import javax.swing.DefaultCellEditor;
    import javax.swing.JFormattedTextField;
    import javax.swing.JOptionPane;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.KeyStroke;
    import javax.swing.SwingUtilities;
    import java.awt.event.ActionEvent;
    import java.awt.event.KeyEvent;
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Toolkit;
    import java.text.DateFormat;
    import java.text.NumberFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import javax.swing.text.DateFormatter;
    import javax.swing.text.DefaultFormatterFactory;
    import javax.swing.text.MaskFormatter;
    import javax.swing.text.NumberFormatter;
    class TimeRenderer {
         float seconds;
         TimeRenderer(String str) {
              int hSec = Integer.parseInt(str.substring(0,2)) * 60 * 60;
              int mSec = Integer.parseInt(str.substring(2,4)) * 60;
              int sSec = Integer.parseInt(str.substring(4,6));
              float tSec = Integer.parseInt(str.substring(6,7))/10.0F;
              seconds = hSec + mSec + sSec + tSec;
    * Implements a cell editor that uses a formatted text field to edit Integer
    * values.
    public class IntegerEditor extends DefaultCellEditor {
         JFormattedTextField ftf;
         static Date zeroTime = new Date(0L);
         private boolean DEBUG = true;
         SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.S");
         MaskFormatter maskFo = new MaskFormatter("##:##:##.#");
         protected MaskFormatter createFormatter(String s) {
              MaskFormatter formatter = null;
              try {
                   formatter = new MaskFormatter(s);
              } catch (java.text.ParseException exc) {
                   System.err.println("formatter is bad: " + exc.getMessage());
                   System.exit(-1);
              return formatter;
         public IntegerEditor(int min, int max) throws ParseException {
              super(new JFormattedTextField(new MaskFormatter("##:##:##.#")));
              ftf = (JFormattedTextField) getComponent();
              // Set up the editor for the cells.
              ftf.setFormatterFactory(new DefaultFormatterFactory(new DateFormatter(sdf)));
              ftf.setFocusLostBehavior(JFormattedTextField.PERSIST);
              // React when the user presses Enter while the editor is
              // active. (Tab is handled as specified by
              // JFormattedTextField's focusLostBehavior property.)
              ftf.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "check");
              ftf.getActionMap().put("check", new AbstractAction() {
                   public void actionPerformed(ActionEvent e) {
                        if (!ftf.isEditValid()) { // The text is invalid.
                             ftf.setBorder(BorderFactory.createLineBorder(Color.RED));
                             ftf.setBackground(Color.PINK);
                             ftf.postActionEvent(); // inform the editor
                        } else
                             try { // The text is valid,
                                  ftf.commitEdit(); // so use it.
                                  ftf.postActionEvent(); // stop editing
                             } catch (java.text.ParseException exc) {
         // Override to invoke setValue on the formatted text field.
         public Component getTableCellEditorComponent(JTable table, Object value,
                   boolean isSelected, int row, int column) {
              JFormattedTextField ftf = (JFormattedTextField) super
                        .getTableCellEditorComponent(table, value, isSelected, row, column);
              System.out.println("value:" + value);
    //          long milliseconds =(long) (Float.parseFloat(value.toString()) * 1000);
              long milliseconds =(long) (((Float) value).floatValue() * 1000);
              Date dt = new Date(milliseconds);
              ftf.setValue(dt);
              return ftf;
         // Override to ensure that the value remains an Integer.
         public Object getCellEditorValue() {
              JFormattedTextField ftf = (JFormattedTextField) getComponent();
              Object o = ftf.getValue();
              try {               
                   Calendar cal = Calendar.getInstance();
                   cal.setTime((Date)o);
                   float seconds = cal.getTimeInMillis()/1000.0F;
                   return sdf.format(o);
                   //return new Float(seconds);
              } catch (Exception exc) {
                   System.err.println("getCellEditorValue: can't parse o: " + o);
                   exc.printStackTrace();
                   return null;
         // Override to check whether the edit is valid,
         // setting the value if it is and complaining if
         // it isn't. If it's OK for the editor to go
         // away, we need to invoke the superclass's version
         // of this method so that everything gets cleaned up.
         public boolean stopCellEditing() {
              JFormattedTextField ftf = (JFormattedTextField) getComponent();
              if (ftf.isEditValid()) {
                   try {
                        ftf.commitEdit();
                   } catch (java.text.ParseException exc) {
              } else { // text is invalid
                   ftf.setBorder(BorderFactory.createLineBorder(Color.RED));
                   ftf.setBackground(Color.PINK);
                   return false; // don't let the editor go away
              return super.stopCellEditing();
    //=====================================================
    * TableFTFEditDemo.java is a 1.4 application that requires one other file:
    *   IntegerEditor.java
    import javax.swing.JFrame;
    import javax.swing.JDialog;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.AbstractTableModel;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import java.text.ParseException;
    * This is exactly like TableDemo, except that it uses a
    * custom cell editor to validate integer input.
    public class TableFTFEditDemo extends JPanel {
        private boolean DEBUG = false;
        public TableFTFEditDemo() throws ParseException {
            super(new GridLayout(1,0));
            JTable table = new JTable(new MyTableModel());
            table.setPreferredScrollableViewportSize(new Dimension(500, 70));
            //Create the scroll pane and add the table to it.
            JScrollPane scrollPane = new JScrollPane(table);
            //Set up stricter input validation for the integer column.
         //   table.setDefaultEditor(Float.class,
           //                        new IntegerEditor(0, 100));
         //If we didn't want this editor to be used for other
         //Integer columns, we'd do this:
         table.getColumnModel().getColumn(3).setCellEditor(
              new IntegerEditor(0, 100));
            //Add the scroll pane to this panel.
            add(scrollPane);
        class MyTableModel extends AbstractTableModel {
            private String[] columnNames = {"First Name",
                                            "Last Name",
                                            "Sport",
                                            "# of Years",
                                            "Vegetarian"};
            private Object[][] data = {
                {"Mary", "Campione",
                 "Snowboarding", new Float(5.7), new Boolean(false)},
                {"Alison", "Huml",
                 "Rowing", new Float(3.5), new Boolean(true)},
                {"Kathy", "Walrath",
                 "Knitting", new Float(2.9), new Boolean(false)},
                {"Sharon", "Zakhour",
                 "Speed reading", new Float(20.8), new Boolean(true)},
                {"Philip", "Milne",
                 "Pool", new Float(10.5), new Boolean(false)}
            public int getColumnCount() {
                return columnNames.length;
            public int getRowCount() {
                return data.length;
            public String getColumnName(int col) {
                return columnNames[col];
            public Object getValueAt(int row, int col) {
                return data[row][col];
             * JTable uses this method to determine the default renderer/
             * editor for each cell.  If we didn't implement this method,
             * then the last column would contain text ("true"/"false"),
             * rather than a check box.
            public Class getColumnClass(int c) {
                 Object obj = getValueAt(0, c);
                 System.out.println("getColumnClass.obj:" + obj);
                return obj.getClass();
            public boolean isCellEditable(int row, int col) {
                //Note that the data/cell address is constant,
                //no matter where the cell appears onscreen.
                if (col < 2) {
                    return false;
                } else {
                    return true;
            public void setValueAt(Object value, int row, int col) {
                if (DEBUG) {
                    System.out.println("Setting value at " + row + "," + col
                                       + " to " + value
                                       + " (an instance of "
                                       + value.getClass() + ")");
                data[row][col] = value;
                fireTableCellUpdated(row, col);
                if (DEBUG) {
                    System.out.println("New value of data:");
                    printDebugData();
            private void printDebugData() {
                int numRows = getRowCount();
                int numCols = getColumnCount();
                for (int i=0; i < numRows; i++) {
                    System.out.print("    row " + i + ":");
                    for (int j=0; j < numCols; j++) {
                        System.out.print("  " + data[i][j]);
                    System.out.println();
                System.out.println("--------------------------");
         * Create the GUI and show it.  For thread safety,
         * this method should be invoked from the
         * event-dispatching thread.
         * @throws ParseException
        private static void createAndShowGUI() throws ParseException {
            //Make sure we have nice window decorations.
            JFrame.setDefaultLookAndFeelDecorated(true);
            //Create and set up the window.
            JFrame frame = new JFrame("TableFTFEditDemo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            //Create and set up the content pane.
            TableFTFEditDemo newContentPane = new TableFTFEditDemo();
            newContentPane.setOpaque(true); //content panes must be opaque
            frame.setContentPane(newContentPane);
            //Display the window.
            frame.pack();
            frame.setVisible(true);
        public static void main(String[] args) {
            //Schedule a job for the event-dispatching thread:
            //creating and showing this application's GUI.
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    try {
                             createAndShowGUI();
                        } catch (ParseException e) {
                             // TODO Auto-generated catch block
                             e.printStackTrace();
    }

  • Characteristic 0PROFIT_CTR: Time-dependent Master Data Table '/BI0/QPROFIT_

    Hello All,
    I want to release a infoObject 0PROFIT_CTR to Prod. But after releasing the TR it errors with the following messages:
    Characteristic 0PROFIT_CTR: Time-dependent Master Data Table '/BI0/QPROFIT_CTR' not buffered
    Characteristic 0PROFIT_CTR: Time-dependent Text Table '/BI0/TPROFIT_CTR' not buffered
    I went into these tables and also have set the buffering to ON and made them Fully buffered (Checked).
    But even then it gives me same error.
    Please help.
    Regards,
    KP

    Hi Harika,
    You are right, you will have to use SE14 in production system, just check that whether you have authorization to use it or not. If you don't have authorization then you can check with Basis team.
    You can execute SE14, then give table name and in the lower part of the screen Click on the option Save and adjust, and activate the table. Once this step is done you can re-import your request.
    Make sure that you do not delete data.
    Regards,
    Durgesh.

  • How to create a time dependent characteristic

    Hi,
    Can someone give me steps to create time dependent characteristic? there is a tab for attributes to make them time dependent.  I don't know whether we can make the characteristic as time dependent or only the attribute.
    Thanks,
    Sam

    What makes a IO a time dependent char?
    The attribute values of the IO change according to the time. meaning atleast one attribute value has to(supposed to) change during the course. So to make a IO time dependent, atleast one of ur attribute values should be time dependent.
    IO - change _ attributes - 4th column - time dependent - check that box. that would generate  - MasDataTab. timDep - SIDTab timeDepAttr(tables)
    simple saying in real time - cost center ABC's manager is XYZ from 06/19/2007 to 06/19/2008. So the manager (attribute of costcenter) has to be time dependent.
    Hope that makes it understandable. In essence the costcenter itself never changes but the attribute values do change.

  • Reporting on Time Dependent Master Date Info Provider

    Dear All.
    We have a info object Employee which is time dependent master data containing all the information with time dependency, when i create the query over this info object it give me the option to select the key date and it show the accurate information which is lying according to the key date.
    my requirement is to show all the records in the report which are there in master data but i am not able to show more then one record cause of the key date, can you please let me know how can i show all the records for any given employee id in the query.

    Hello Zeeshan,
    By standard if you create query directly on time dependent info object, it would display the active records as of the report execution (if no key date has been provided). In any case you can only see one record per the info object key, not the history.
    In order to fulfill this requirement, you may need to create infoset on this infoobject and select "date from" and "date to" as part of infoset fields.
    Then create bex query on the infoset and drag the "date from" and "date to" also into "rows" section of the query (apart from infoobject key, time dependent attributes). This will let you see the history of changes to time-dependent attributes of the infoobject.
    Cheers,
    Vasu

  • Time dependent characteristic

    Hi,
    In our query we have time dependent characteristic "Employee last name".
    Our user wants to generate query on the employee list who was changed their last names. Here different employees has been changed their last name in different times.
    Please specify in detail that how to define the query.
    Regards
    Sunil

    if its a one time query then open the master data view in se16 and download employee / from date / to date / last name
    download it to excel and analyze it.
    If this is not a one time query.. then you have to build a way to save this in a ODS and make a query  on it.
    its not possible to go across time in a regular report as the key date takes only 1 date at  a time.
    Award points if you find it useful.
    Thanks
    Sharan

  • Time-dependent master data in the cube and query

    Hello,
    I have a time-dep. masterdata infoobject with two time-dep attributes (one of them is KF). If i add this infoobject into the cube, what time period SID will be considered during the load? I assume it only matters during load, if i add the KF to the query it gets its value based on the SID in the cube.. right?
    Thanks,
    vamsi.

    If its Time Dependent Master Data object when you run your Master Data if that time any changes to the Master Data that value will be overwrite to the old value you will get the new value. When you run the Query execution the Infocube Master Data infoobject will having the SID that time it will to there it will be displayed at that moved what is the value you have in the Master Data table.
    This is what my experience.
    Thanks,
    Rajendra.A

  • Data not uploading in Time dependent Master data Infoobject

    Hello All,
    I have a master data infoobject for HR entity and have to load data from PSA to that info object.
    The HR entity infoobject already have sone data like below:
    HR Entity
    Version
    Date from
    Date To
    x
    A
    01.07.2013
    31.12.9999
    x
    A
    19.04.2013
    30.06.2013
    x
    A
    01.09.2012
    18.04.2013
    x
    A
    01.01.2012
    31.08.2012
    x
    A
    01.01.1000
    31.12.2011
    Now the data in PSA is as follows:
    HR Entity
    Start Date
    End Date
    X
    01.01.2012
    18.12.2013
    Once I loaded this data to the infoobject, i can not see this value which is the latest value of this HR entity.
    Can somebody please explain how the data gets loaded in the time dependent master data infoobject and why this entry is not getting loaded in the info object.
    Regards
    RK

    Hi,
    did you activate master data after your load?
    You can check also version 'M' records and see if your record is there.
    The load went green?
    The problem is, that your entry overlaps all exisitng time intervals, which can't be deleted or merged as there may be dependent transactional data. You have first to delete the transactional data for this entity.
    Then you can delete the time-dependent data and reoload it from your PSA.
    BW will build then correct time intervals.
    The easiest is to change the time interval in PSA, see example below:
    At the moment the time interval is not accepted. But you can add time intervalls before 31.12.2011 and after 01.07.2013, Then system will create remaiing time intervals, e.g. your new record is:
    HR Entity
    Start Date
    End Date
    X
    01.08.2013
    18.12.2013
    Result will be:
    HR Entity
    Version
    Date from
    Date To
    x
    A
    19.12.2013
    31.12.9999
    x
    A
    01.08.2013
    18.12.2013
    x
    A
    01.07.2013
    31.07.2013
    Regards, Jürgen

  • Modify code to pull the time dependent master data

    I fully under stand the suggestion below for the requirement to add the time dependent attribute comp code
    thanks fo rthe help but please tell me if there is a way i can modify the abap code and make the user enter the value for the date on which he want to pull th emaster data for company code or keydate to and from and pull the master data, so how will i proceede should i create the variable on 0doc_date and how to modify the code. please help . i have opened another question with same desc as above to assign points
    thanks
    soniya
    The literal within <..> is supposed to be replaced by the actual field name (as I didn't know the fields). In this case, I am changing your code for costcenter/company-code.
    data : wa like /bi0/qcostcenter.
    select single * from /bi0/qcostcenter into wa
    where costcenter = comm_structure-costcenter
    and objvers = 'A'
    and datefrom le comm_structure-<keydatefield>
    and dateto ge comm_structure-<keydatefield>.
    if sy-subrc = 0.
    result = wa-comp_code.
    endif.
    abort = 0.
    You can use this code for update rule of company_code. You have to replace '<keydatefield>' with a field name that contains the date on which the company is to be derived. If there is a date in your comm_structure (eg aedat) which you can use, you can specify that field in place of this literal (instead of comm_structure-<keydatefld> use comm_structure-aedat). If you have no such field, and you wish to use current date for getting the company code from time-dependent master data, you can use sy-datum (ie replace comm_strucutre-<keydatefld> with sy-datum).
    And it should work.
    The 'master data attribute' option is one of the options when you create update rule (one of the radio button options).

    That the code is doing anyway.
    If your txn data in the cube doesn't have a date, how does it know it is Feb data, or, it is March data?
    If it has a date or month field, you should modify and use this code to update the company based on that date instead of system date.
    Other than that minor variation, it is already doing what you look for.

  • Reporting Need on Time-Dependent Master Data

    Hi Gurus, I have asked this question earlier as well but I did not got satisfactory answer so I thought I should open another thread.
    I have this time-dependent Master data infoobject. I see that from the 2 extra fields are added DATETO and DATEFROM. I see in the transfer structure that theyare mapped to ENDDA and BEGDA from an R/3 table.
    At the reporting level, the InfoProvider doesn't show these 2 fields. I wanted to see how I can make them show up in the InfoProvider so that I can create report using them. Please help me out on this one. Please let me know if I need to clarify this more.
    Thnx.

    Hi Bigtoja,
        Immediately I can suggest 2 options ...
    1. Have these two fields as attributes of the info object ... this will make them appear on the info provider.
    2. Have an infoset built on it which will act as an info provider.
      Adn as far as your question goes ... What I am trying to figure out is ... does making an info object as an info provider exposes only the P table ... since P table will not have Date To and Date From? I will have to research as well ...
    Best regards,
    Kazmi

  • Time dependant master data

    Hello,
    We have Cost Center as a time-dependant master data attribute of 0Employee and a cube with the day and hours for employees such as below.
    Time Cube
    Employee#   Work Date          Hours
    1             1/5/2008   8
    1                 2/8/2008    8
    Master Data
    Employee#   Begin Date  End Date  Cost Center
    1                 1/5/2008     1/31/2008  1000
    1                 2/8/2008     12/31/9999 1200
    If we run a query based on the above with a "Key Date" of 2/15/2008 we'll get the below:
    Employee#    Work Date         Hours   Cost Center
    1                  1/5/2008   8         1200
    1                  2/8/2008   8         1200
    However what we're really looking for is a design so that when the query is run it will look at the Work Day and join with the master data for that date range and use the cost center for that day, such as below. Is this possible?
    Employee#     Work Date         Hours   Cost Center
    1                   1/5/2008   8           1000
    1                   2/8/2008   8           1200
    Thanks,
    Ron

    One way to do this dynamically with no restrictions is to use virtual characteristic.
    There is a BW Expert article on this: u201CVirtual Characteristics and Key Figures Make Queries More Dynamicu201D, here is the [link|http://www.bwexpertonline.com/archive/Volume_02_(2004)/Issue_02_(February)/V2I2A1.cfm?session=].
    You need a subscription to red this.
    Otherwise here are [links|https://forums.sdn.sap.com/click.jspa?searchID=12889439&messageID=5075982] from SDN.

Maybe you are looking for

  • Where can I find a download site for Mozilla Firefox 7.0 for mac?

    I will be working as a ChaCha guide soon, and the ChaCha required toolbar doesn't work with Firefox 8.0. Is there a website that offers 7.0 for mac?

  • Scroll bar is not working since last updates

    my scroll bar on laptop mouse pad no longer works in browser since last update. It works fine in all other programs.

  • How to convert a 16-bit image to 8-bit

    I am having difficulties in skeletonizing my image. Although I already threshold my image, it still cannot be skeletonized. When I create the image using IMAQ create, the image type must be set to 16-bit, otherwise it will create an error message. An

  • MP3 CDs from iTunes on stand-alone DVD players

    I was reading a couple of threads in this forum on that topic and here are my observations: Until now I have been burning MP3 CDs in iTunes only as a backup, not for actual listening. Recently we have purchased a rather cheap stand-alone Grundig DVD

  • How to upgrade xserve to lion

    I have an Xserve running Server 10.6.8 In line with company requirements, i have been tasked to upgrade this to Lion Server. I went into app store on the server and went to purchase the server but it told me that i needed to purchase the lion client