Key in ODS objects

Hi,
Can someone refine the ODS key importance? When we need to use the "unique keys" and how this setting influences the key selection process when building an ODS?
Many thanks,
Xibi

Hi Xibi,
Simply speaking, the keys in the ODS define how a record will be unique. If you have more than one char as the key of the ODS, then each combination of the values of these keys will be unique in the ODS. There cannot be more than one record with the same key.
You can only define chars are keys of the ODS; there cannot be any Key Figures in the Key of the ODS.
Hope this helps...

Similar Messages

  • How many primary keys can w have in cube, ods objects?

    how many primary keys can w have in cube, ods objects?

    Hi Naresh,
    16 primary keys only possible(for cube: 16 dimensions, ODS - Keyfields)
    For ODS:
    -         You can create a maximum of 16 key fields (if you have more key fields, you can combine fields using a routine for a key field (concatenate).)
    -         You can create a maximum of 749 fields
    -         You can use 1962 bytes (minus 44 bytes for the change log)
    -         You cannot include key figures as key fields
    More info: [Creating ODS Objects|http://help.sap.com/saphelp_nw04/helpdata/EN/4a/e71f39488fee0ce10000000a114084/content.htm]
    Hope it Helps
    Srini
    [Dont forget to close the call by assigning poings.... - Food for Points: Make a Difference through Community Contribution!|https://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/007928c5-c4ef-2a10-d9a3-8109ae621a82]

  • Linking two ODS objects using a multiprovider

    Hello Gurus,
    I need to link two ODS objects and both are having 3 common characteristics and the relationship between the two objects are one to many.
    My questions would be....
    1)When the relationship is one to many can I set it up in the multiprovider to sum it up and show in the report?
    2)I have 5 other charaterstics that I need to report(Slice and dice) on, but these are not common ones to both ODS objects. Is it possible for the user to get the report based on these charaterstics also? Or do I need to make sure that these 5 also exist in both DOS objects?
    Thank you,
    DM

    Hi Sh,
    Thank you very much for your reply. But I have few concerns.
    1)One to many relationship will not have any effect on the data linking since the multiprovider clubs the key figures on common characteristics. I tried this on the system and it worked.
    2)The problem would be not having similar characteristics on both infoproviders. So if I want to report on the chars individually it will have a problem( Will come as non assigned values)
    But the documentation says the multiprovider supports Homogenous and Heterogeneous cases. Please refer the following link.
    http://help.sap.com/saphelp_nw04/helpdata/en/52/1ddc37a3f57a07e10000009b38f889/frameset.htm
    I am not sure what I can do now....whether to get all the characteristics in both infoproviders by enhancing the them. Or is there another way?
    And lastly the scenario I am looking at is billing and cost of goods. So I might find records in cost of goods which may not have corresponding records in billing.(There can be goods in stock which need to be billed)The problem would be the way multiprovider link records(union) so it will have all the records from both sides even if they do not correspond to each other.
    Let me know what you think.
    Cheers,
    DM

  • ABAP routine to join two ODS objects into one

    Hi there,
    i have two ODS objects related to each other. and i want to load them into another ODS object and join them so to say.
    as far as i got now, it seems that the only way to do this is an ABAP routine in the update rules. ca nanyone give me a hint on how to do this? no clue how ABAP works yet.
    i suppose there must be some template or something because i think others must have had the same issue before. anyone who already solved this?
    i'd appreciate your help,
    regards,
    stefan

    HI Stefan,
    First add VTS_KUN (customer code)
    VTS_BEDA (order date)
    in ODS2 VTSNWBP2 and don't map to any field intransfer rule.
    write this code in start routine of udpate rule between VTSNWBP2 and VTSNWBDN.
    PROGRAM UPDATE_ROUTINE.
    $$ begin of global - insert your declaration only below this line  -
    <u>TABLES: /BIC/AVTS_NWBE00.</u>
    DATA:   ...
    $$ end of global - insert your declaration only before this line   -
    The follow definition is new in the BW3.x
    TYPES:
      BEGIN OF DATA_PACKAGE_STRUCTURE.
         INCLUDE STRUCTURE <i>/BIC/CS8ZODS2</i>.
    TYPES:
         RECNO   LIKE sy-tabix,
      END OF DATA_PACKAGE_STRUCTURE.
    DATA:
      DATA_PACKAGE TYPE STANDARD TABLE OF DATA_PACKAGE_STRUCTURE
           WITH HEADER LINE
           WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 0.
    FORM startup
      TABLES   MONITOR STRUCTURE RSMONITOR "user defined monitoring
               MONITOR_RECNO STRUCTURE RSMONITORS " monitoring with record n
               DATA_PACKAGE STRUCTURE DATA_PACKAGE
      USING    RECORD_ALL LIKE SY-TABIX
               SOURCE_SYSTEM LIKE RSUPDSIMULH-LOGSYS
      CHANGING ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel update
    $$ begin of routine - insert your code only below this line        -
    fill the internal tables "MONITOR" and/or "MONITOR_RECNO",
    to make monitor entries
    <b>DATA:  S_DATA TYPE STANDARD TABLE OF DATA_PACKAGE_STRUCTURE
           WITH HEADER LINE
           WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 0.
    DATA:  ITEM_TABLE TYPE STANDARD TABLE OF /BIC/AVTS_NWBE00
           WITH HEADER LINE
           WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 0.
    *start of modification
    *Populating the order number data from ODS1 table
    SELECT * FROM  /BIC/AVTS_NWBE00 INTO TABLE ITEM_TABLE.
    SORT DATA_PACKAGE BY VTS_BES  ASCENDING.
    SORT <u><i>ITEM_TABLE</i></u> BY VTS_BES  ASCENDING.
    LOOP AT DATA_PACKAGE INTO S_DATA.
       LOOP AT ITEM_TABLE WHERE VTS_BES = S_DATA-VTS_BES.
         MOVE-CORRESPONDING item_table to s_data.
         APPEND S_DATA.
       ENDLOOP.
    ENDLOOP.
    DATA_PACKAGE[] = S_DATA[].</b>
    if abort is not equal zero, the update process will be canceled
      ABORT = 0.
    $$ end of routine - insert your code only before this line         -
    ENDFORM.
    *TABLES: /BIC/AVTS_NWBE00.--ODS1 table
    Lemme know this is working.
    Regards,
    San!
    Message was edited by: San!

  • ODS Object-Specific Properties BUG

    Hi Bhanu & Experts,
    I have a Variable on particular InfoObject. The RSD1 property is "Only Value in the Infoprovider".
    When i use the variable from Infocube it only show the values from the Infoprovider in the Variable screen.But when i use the same variable with an ODS it shows all the values in the variable sceen.
    I tried ODS Object-Specific Properties for my Infoobject in the ODS Maintenance it didn't work.
    Is there any specific setting to be made to the ODS?
    Any idea why the same infoobject show all the values from the master table even in the Query definition?
    Thank you
    Arun

    Hi Bhanu,
      Variable screen is really bugging me a lot.All the requirements i get is in and around this variable popup.
      Don't you think the following line in the SAP Note 626887 is wrong,
    The same applies to the settings to the ODS object ("Edit ODS object" under "Key fields" Context menu call for an InfoObject (right-click), ODS object-specific attributes").
      Why does it tell only "Key Field" if it is whey do you need this setting for the "Data Fields"
    Thank you
    Arun

  • How two join two ODS objects in an Infoset

    I have an infoset that is created on two ODS object, one ODS is a business content that contains more than 30 fields and 2 Key Fields, the second one that i created contains the 2 key fields plus one additional field which was initially missing in the original ODS. Then i created a Infoset with these two ODS, now the problem is i do not know how to link these two info objects and where to specify the join condition. i right clicked and selected left join, inner join etc. whatever i did and when i try to activate the infoset i keep getting this error "Not all objects are linked with ON conditions". How can i get rid of this please help
    Thanks
    Akila.R

    u will need to set the join between the key fields..
    place mouse on the key field in one ODS..hold mouse button and drag..and then drop cursor..on same key field in the 2nd ODS..u will see a line joining the key fields b/w the 2 ODS's..
    do same for other key fields too..
    the connected lines are the join condition..
    now activate..should work..
    cheers,
    Vishvesh

  • RSRV error - ODS objects !

    Hello All,
    I'm executing the RSRV test --> Foreign Key Relationship of Reporting-Relevant ODS Object and SID Table Characteristics
    and I get the error -
    SID values missing for 2 specifications of characteristic 0CALDAY
    As i understand some values of 0CALDAY are present in the ODS, but have no corresponding SID's in the SID table.
    How is this possible? That there are entries in the ODS but no corresponding SID's in SID table of 0calday.
    Please advise !
    Thanks in advance.

    Hi Abhijit,
    One case can be that 'Activate even if no master data exists' option is selected and you have not selected the option for 'SID's generation upon activation'. This makes the ODS not suitable for reporting. Hope this helps.
    -Raj

  • How to bring a custom data element into another ods object

    I have an ods object which has a custom data element called customer purchase order number. I have another ods object which needs that custom data element. Both these ods objects are part of a multiprovider. How do I make the customer purchase order number available in the 2nd ods object? We are in SAP BW 3.5
    Thanks
    Ram

    Hi Ramgopal,
    as suggested by experts, create or use the custom infoobject.
    go to change mode of ODS (2nd ODS) add custom infoobject into data or key fields (similar to 1st ODS), then update rules od 2nd ODS will be deactivated. go to change mode of update rules and map with the infoobjects which feeds dat to custom infoobject (similar to 1st ODS)
    if routine is used to populate data copy and paste same routine and check routine and activate.
    Hope this helps.
    Regards,
    Daya Sagar

  • Time Charastrices for ODS objects

    Hello ALL
    When v are modelling ods object,I want to add <b>0calmonth</b> time charastrices to this ods.
    But Iam confused where to add this either to Key fields or Data fields
    Pl help me out
    Iam updating data from ODS to Cube.
    Regards
    BAlaji

    Hi,
    In the update rule of 0calmonth, generally we use automatic time conversion or routine to find the month from the date object which represents the record created date. So you can take it  either in data fields or in key fields.
    But if ocalmonth is being filled from the field which represents the Modification date of record ,it is better to include 0calmonth in data fields.
    With rgds,
    Anil Kumar Sharma .P
    Message was edited by: Anil Kumar Sharma

  • What is the ODS object settings?

    What is the ODS object settings?

    Use
    When creating and changing an ODS object, you can make the following settings:
    BEx Reporting
    With the BEx Reporting indicator, you determine whether the ODS object is immediately available for BEx queries. If the indicator is not set, no SIDs are generated for the new characteristics when the data in the ODS object is activated. This optimizes the performance of the activation process, but the ODS object is not available as an InfoProvider for queries. Turn the indicator off for all ODS objects that are only being used for further processing of data in other data targets or that are being used in InfoSets.
    ODS Object Type
    Select the ODS object type. You can choose between standard and transactional, whereby standard is pre-installed and transactional is only meant for special cases. You can switch the type as long as there is still no data in the ODS object.
    See also Transactional ODS Objects.
    Unique Data Records
    With the Unique Data Records indicator, you determine whether only unique data records are to be updated to the ODS object. This means that you cannot load a data record into the ODS object the key combination for which already exists in the system u2013 otherwise a termination occurs. Only use this setting when you are sure that only unique data records are to be loaded into the ODS object (for example, single documents). A typical application of this is in the loading of mass data. It improves the load performance.
    Note
    You can also deselect this indicator again (even if data has already been loaded into the ODS object). This can be necessary if you want to re-post deleted data records using a repair request (see: Tab Page: Updating). In this case, you need to deselect the Unique Data Records indicator before posting the repair request, following which you can then reset the Unique Data Records indicator once more. The regeneration of metadata of the Export DataSource, which takes place when the ODS object is reactivated, has no effect on the existing data mart delta method.
    Check Table for the InfoObject
    Here the name of the InfoObject is displayed for which the ODS object is also the check table, if necessary. You can specify this when creating an InfoObject. See also Tab Page: Master Data/Texts in the InfoObject maintenance.
    Automatically Setting Quality Status to OK
    With this indicator, you can determine that the system automatically sets the quality status to OK after loading data into the ODS object. You should turn on this function. You should only deselect this indicator if you want to check the data after it has been loaded.
    Automatically Activating the ODS Object Data
    With this indicator, you can establish that the data that has Quality Status OK be transferred from the activation queue into the active data table, and that the change log is updated. Activation is carried out by a new job that is started after loading into an ODS object is complete. If the activation process terminates, there can be no automatic update.
    Automatically Updating Data from the ODS Object
    With this indicator, you can establish that the ODS object data be automatically updated. Once it has been activated, the data is updated in the data targets. An init. update is carried out automatically with the first update. If the activation process terminates, there can be no automatic update. The update is carried out by a new job that is started once activation is complete.
    Note
    Only activate automatic activation and updating if you can ensure that these processes do not overlap.
    If you use process chains to guarantee serial processing of the process, these settings are not supported for the object (with the exception of setting the quality status). Then you have to include the automatic processes as process types in the process chain.
    Also refer to the example for Including ODS Objects in Process Chains.

  • Update data targets from ODS object automatically

    Hello experts,
    I have an ods (that has two delta loading every night) with the setting: "Update data targets from ODS object automatically". This ODS is source of only one other ODS.
    But we have a chain when there are the seguent steps: delta 1 --> ODS1,
    delta 2 --> ODS1; Activate ODS1; delta --> ODS2; Activate ODS2.
    The setting "Update data targets...automatically" could create some problems?
    I think this because it is happened that in delta loading of ODS2, some records have only the key filled, and all the data fields blank; then, if I make a full repair of these records, all data are correctly filled.
    Could be this the cause?
    Help me..it is urgent..
    Thanks,
    Vito

    Hi Vito,
    To have better control of processes when ods gets data from multiple sources and supply it forward to ODS and cube ...we generally deactivate the flag "update data automatically".
    And Process chains looks like ..
    From source 1,2,3 update data into ODS 1.
    Activate Data ODS1
    Initiate delta from ODS1 to ODS2.
    Activate data ODS2.
    We did face some problem of blank records with only key filled and later deactivated the checbox "Update data into data targets automatically" and it resovled lots of issues.
    Hope that helps.
    Regards
    Mr Kapadia
    Assigning points is the way to say thanks in SDN.

  • Differences between an InfoCube and ODS object

    Hello All,
    I am always hearing that an ODS overwrites data while a cube adds data loaded, and an ODS is a flat table etc.
    Does anyone have a comprehensive document/article on how they differ so that I can be weary when doing data loads etc and be in a better position to not make a mistake when deleting data out of the targets etc, especially since financial data is so sensitive.
    Thank you and kind regards,
    Keith Kibuuka

    Hi Keith,
    I found below data on another site..
    The most important difference between ODS and BW is the existence of key fields in the ODS. In the ODS you can have up to 16 info objects as key fields. Any other info objects will either be added or overwritten! So if you have flat files and want to be able to upload them multiple times you should not load them directly into the info cube, otherwise you need to delete the old request before uploading a new one. There is the disadvantage that if you delete rows in the flat file the rows are not deleted in the ODS.
    I also use ODS-Objects to upload control data for update or transfer routines. You can simply do a select on the ODS-Table /BIC/A<ODSName>00 to get the data.
    ODS is used as an intermediate storage area of operational data for the data ware house . ODS contains high granular data . ODS are based on flat tables , resulting in simple modeling of ODS .
    we can cleanse transform merge sort data to build staging tables that can later be used to populate INOFCUBE .
    Thanks
    An infocube is a multidimentionsl dat acontainer used as a basis for analysis and reporting processing. The infocube is a fact table and their associated dimension tables in a star schema. It looks like a fact table appears in the middle of the graphic, along with several surrounding dimension tables. The central fact is usually very large, measured in gigabytes. it is the table from which you retrieve the interesting data. the size of the dimension tables amounts to only 1 to 5 percent of hte size of the fact table. common dimensions are unit & time etc. There are different type of infocubes in BW, such as basic infocubes, remote infocubes etc.
    An ODS is a flat data container used for reporting and data cleansing/quality assurance purpose. They are not based on star schema and are used primaily for detail reporting rather than for dimensional analyais.
    An infocube has a fact table, which contains his facts (key figures) and a relation to dimension tables. This means that an infocube exists of more than one table. These tables all relate to each other. This is also called the star scheme, because the dimension tables all relate to the fact table, which is the central point. A dimension is for example the customer dimension, which contains all data that is important for the customer.
    An ODS is a flat structure. It is just one table that contains all data.
    Most of the time you use an ODS for line item data. Then you aggregate this data to an infocube.
    cheers,
    Vishvesh

  • Error while activating ODS Object

    Hi,
    I have loaded the data from R/3 to a ODS Object and the activation of ODS failed due to the following errors as shown below..
    -Value '20060 ' of characteristic 0CALQUARTER is     not  plausible
    -Error when assigning SID (details in long text)
    -Activation of data records from ODS object ZODS_02 terminated
    -Error getting SID for ODS object ZODS_02
    I could see that Calendar Quarter as 20060 in PSA. How should i get rid of this error. Any idea would be appreciated.
    Regards,
    Raj

    Raj,
       you are getting this calender qurter from SAP right... check in RSA3 fro the your Datasource. if you are getting same value like '20060'. you can do one thing... you can set 'No Update' in Transfer Rules. you can write a routine in Update Rules for populating the data for calender Week.
    you can call some standard function modules or you can write a small routine. If you want to write a routine check this thread...Re: Date to Quarter
    Possibilites:
    1. updtae rules
    2. if RSA3(PSA) shows the value of the Quarter as '20050', if it is custom extractor(Generic using FM) you can change this.
    3. If it is Standard Extractor or Generic Extractor (using either view/table or Infoset) you can enhance this. you can do the same thing in SAP Side.
    All the best.
    Regards,
    Nagesh Ganisetti.

  • How to create ods object with overwrite option

    Hi all,
    I have two ods objects for Billing and Delivery and one cube for Sales.
    Billing and Delivery ODS objects are based on item level data source while sales cube is based on Schedule line level data source.
    Now i want to create a new ODS object which will get the data from these there object and update the ods object.Basically i want all the sales order attributes and billing quantity and delivered quantity from the ODS objects.
    how to update the new ods object in overwrite mode ??/
    Regards,
    Viren.

    HI,
    yes OK but what i mean is that (you might have a perfect reason for this) normally it's nota good idea to have an info cube as a data source (for Performance, look-up reasons etc). If your goal is to load Billing/Delivery/Sales data into one ODS, then make sure that you model this correct.
    If you want to use the ODS'es as data sources I would recommend you to use and ODS as data source also for the Sales data.
    Kind regards
    /martin

  • Error while activating ODS Object (urgent)

    Hi Gurus,
    I am getting an error while activating ods object.
    Error/warning in dict. activator, detailed log  --> Detail.
    Row type /BIC/AGLCATODS00 is not active or does not exist.
    Table type /BIC/WAGLCATODS00 could not be activated.
    Table /BIC/AGLCATODS50 could not be activated.
    Table is not yet classified.
    Return code..............: 8.     
    DDIC Object TABL /BIC/AGLCATODS00 has not been activated.
    Error when activating ODS Object GLCATODS.
    If any one have come across this issue please help me out in resolving this issue.
    I will reward points.
    Urs,
    Raki.

    Hi venkat,
    There are only 3 info objects which  i have created it and activated, only those i am pulling in the new ods but its throwing the same error what ever i do changes.
    Is this issue is related to any authorization concerned?
    Urs,
    Raki.

Maybe you are looking for

  • Ordering moment integration with Active Directory or LDAP

    ServiceLink can only be used in the Authorization moment and Service Delivery moments. We have use cases where in the ordering moment we need to make web service calls to AD or query LDAP. We are currently looking at purchasing AJAX libraries or get

  • DMEE Badi error

    We are facing a problem , A DMEE badi is used to manuplate the output file generated by DMEE Tree , but when we run F110  & DMEE generates the file , thore manuplates values does not comes to the file.

  • Chart - Adjust X-axis label orientation

    I have Crystal Xi version 11.0.0.1282. The labels on my X-Axis are oriented 45 degrees diagonally. Can this be modified? Thanks, Art

  • Svrmgrl connect internal fails after changing oracle os user passwd on 8.06

    Hello, I've this problem. I've installed oracle rdbms 8.0.6 on HP-UX 10.20. I've choosen o.s. authentication system with password file. In the password file I set the password of the os user oracle which owns installation. In first time svrmgrl conne

  • How are applications handles when Lion installed?

    How are applications handled when Lion is installed? 1) Are the standard (i.e. App store, phone booth, iPhoto, iCal, etc) automatically reinstalled? 2) How is iTunes handled? iMovie? 3) How is Mail handled? Will it automatically reinstall my Contacts