Want to understand SID concept...

Hello experts,
why not using the value like e. g. customer number directly in the dimension table instead of a SID? So I also could save one table (SID table)  and with this on JOIN by linking directly to the master data tables (text, attributes, hierarchies) using customer no. as key.
Am I wrong? Is it only because of this INT4 thing with the SIDs whitch maybe results in better performance?
What I maybe understand is compounding, it seems to be hard to make here a connection to the right master data table. But if I wouldn't have this case, why else could be this SID useful?
Best regards,
Peter

Hello Siggi,
thank you for your answer and the linke you provided. I think star schema concept and using surrogate ID's for dimension tables is absolute clear for me and I see the advantage there.
How I said, faster DB access using INT4 values instead of characters is also a point I understand. On the other side SAP BW offers you to use a line item dimension which saves a join and result in a better performance.
But why not give the BW developers the chance to decide if you want use it? If your InfoObject is a numeric one, you are may be much faster, saving a join and having an even easier to handle value.
What I am interested in is, if SID technology is so deeply part of SAP BW, for example if you want to report on an DSO you also need SID's, what is the real advantage usind SID's every time for access of InfoCube or DSO data?
See, i read for example the following advantages of BW star schema on [this site|http://learnmysap.com/sap-bw/138-classic-and-sap-bw-star-schema-comparisons.html]:
-> Faster access to data than via long alpha-numeric keys. SAP BW use automatically generated INT4 keys for SID and Dimension ID
->  Can model in easy way: Historizing, multi-lingual, and shared dimensions. It is happen because of the excavation of master data from the dimension tables using the SID technique.
->  The query performance is improved here as aggregated key figures can be stored in their own fact tables.
OK, first point about INT4-keys we discussed.
I completly don't understand the second point and why therefore SID's are needed.
Third point depends on disadvantages of the classical star schema compared to bw aggregates, a point I understand
Often I read: The SID table provides the link between the master data and the dimension tables. (like here: /people/githen.ronney3/blog/2008/02/13/modeling-strategies)
But why shouldn't this be possible just with the key value?
Even SAP just describes his enhanced star schema without SID's, but technically SID's are used. Why not use it like SAP itself describes here:
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/4c/89dc37c7f2d67ae10000009b38f889/content.htm
regards,
Peter

Similar Messages

  • As a JSF Developer, I want to understand technically how the JSF View Components are rendered as html and how there events are binded to Server.I want to know each Java Class that is involved in flow.

    As a JSF Developer, I want to understand technically how the JSF View Components are rendered as html and how there events are binded to Server.I want to know how flows goes to the server and server understands the method which is to be called of managed bean. I know it is with annotation @ManagedBean and method name, but how Call is binded with annotation @ManagedBean.
    In short, i want to know the internal implementation of JSF Framework.

    As a JSF Developer, I want to understand technically how the JSF View Components are rendered as html and how there events are binded to Server.I want to know how flows goes to the server and server understands the method which is to be called of managed bean. I know it is with annotation @ManagedBean and method name, but how Call is binded with annotation @ManagedBean.
    In short, i want to know the internal implementation of JSF Framework.

  • EHP Upgrade - Trying to understand the concept

    Dear experts, this is an effort to understand the concept. I have been doing Basis work for the past 10 years approximately. All along, I have been doing the typical LCP and SP upgrades way back from legacy systems until now (ECC 5.0 / BW 3.5). We have recently upgraded our BW 3.5 to BI 7.01 and also created a dual stack (we never had Java stack before for BW). This is my situation. Below are my questions. Any guidance would be highly appreciated.
    1. Do we still have the SP Stack upgrades within Ehp 1? Or, has it been revamped completely and there is no more SP upgrades and we only need to do EhP upgrades? In this case, if I have to upgrade from Netweaver 7.01, is my only option upgrading to 7.02?
    2. Is there a place where I can start to catchup with the whole EhP concept? I would like to know the maintenance life cycle and the impact on our environment.
    3. Are there any specific upgrade guides that will guide me in transitioning from the typical SP upgrade methodology to EhP upgrade methodology. Also, I would like to know how did you transition (learning curve) from someone who had been with typical SP upgrade for a long time and how did you adopt yourself to the new path (like what guides did you use, what links did you follow, etc)
    NOTE: I have heard the EhP upgrades are similar to release upgrades and I have done handful of release upgrades.
    Thank you so much in advance.

    >1. Do we still have the SP Stack upgrades within Ehp 1? Or, has it been revamped completely and there is no more SP upgrades and we only need to do EhP upgrades? In this case, if I have to upgrade from Netweaver 7.01, is my only option upgrading to 7.02?
    Yes we do have both option available. Either we can go for SP upgrade or we can go with EHP upgrade.
    >2. Is there a place where I can start to catchup with the whole EhP concept? I would like to know the maintenance life cycle and the impact on our environment.
    Yes. http://Service.sap.com/erp-ehp is the place where you can get all the infromation and document.
    >3. Are there any specific upgrade guides that will guide me in transitioning from the typical SP upgrade methodology to EhP upgrade methodology. Also, I would like to know how did you transition (learning curve) from someone who had been with typical SP upgrade for a long time and how did you adopt yourself to the new path (like what guides did you use, what links did you follow, etc)
    Everything is available on Service marketplace.
    Regards,
    Subhash

  • I want to understand TJ command with array string

    In one of my pdf inside the stream i have this code:
    BT
    /F2 8.5 Tf
    1 0 0 -1 0 7.0295 Tm
    [IS, 12, B, 4, N: 978-1-449-32914-3] TJ
    0 -16.2 Td
    [[LS, 12, I]] TJ
    ET
    The Abobe text block display
    ISBN: 978-1-449-32914-3
    [LSI]
    I wanted to understand the significance of number inside [IS, 12, B, 4, N: 978-1-449-32914-3] , What does 12 and 4 stands for, where end result is ISBN: 978-1-449-32914-3

    This #pdfloc data is generated by RMSDK when user highlight (annotation) pdf and keep it in XML format in file system: E.g.
    <annotation y="-116" isvisible="False" x="-110" width="220" height="100">
            <dc:identifier>urn:uuid:DF061693-A668-49DF-A20B-DE243C463919</dc:identifier>
            <dc:date>2015-03-02T12:04:53Z</dc:date>
            <dc:creator>creator id</dc:creator>
            <dc:title>Page 4, 02-Mar-2015 5:34 pm</dc:title>
            <target>
                <fragment start="#pdfloc(7f54,3,37,0,0,0,0,1)" end="#pdfloc(7f54,3,37,3,1,0,1,1)">
                    <text>by Matt</text>
                </fragment>
            </target>
            <content>
                <dc:date>2015-03-02T12:04:53Z</dc:date>
                <text></text>
            </content>
    </annotation>

  • Unable to understand the concept of Primary Key in EJB

    hi,
    please help me in understanding the concept of Primary Key.
    For each and every entity bean represents a data base row. i think it is correct. if multiple users are accessing the same data base row, there will be different primary key for each and every client. is it correct or not. can we say this as "concurrency"?. if all the clients are manipulating the bean, who manages it either application server or data base server?. why does we must implement both hashCode() and equals() methods?. Provide me the links where i can find the answers.

    if multiple users are
    accessing the same data base row, there will be
    different primary key for each and every client.This is incorrect: the PrimaryKey is the unique identifier for each database row. It has nothing to do with users. In order for CMP to work, the container must be able to operate with a single row in the database and be able to distinquish between them.
    If your CMP->database table already has one column that's unique, then you declare that CMP field to be <primary-key-field>. If you have more than one column that makes a row unique, you must make your own primary key object. The way the container can tell the difference between these primary key objects is to compare them, therefore the hashCode and equals methods.
    Provide me the links where i can find the
    answers.This is all discusssed in the J2EE Tutorial.

  • Some thing taht I want to understand in Css in ADF in panelTabbed

    I want to make style to panel tabbed when I hove a tab
    so I wrote
    af|panelTabbed::tab-content:hover{
      background-image: url("../img/tab1.png");
      vertical-align:          middle;
      text-align: center;
      width: 170px;
    }But this didn't work
    but When I used
    af|panelTabbed::tab:hover af|panelTabbed::tab-content{
      background-image: url("../img/tab1.png");
      vertical-align:          middle;
      text-align: center;
      width: 170px;
    }This worked with no problem
    but I want to understand this
    This line
    af|panelTabbed::tab-content:hover
    makes sense
    but this line
    af|panelTabbed::tab:hover af|panelTabbed::tab-content
    dont't make sense
    I want to understand this to be able to make my custom skin
    and what is the meaning of writing
    af|panelTabbed::tab:hover af|panelTabbed::tab-content
    without comma ","between them
    what this means

    This thread is a duplicate of {thread:id=2175114}

  • How works lync when I made a video conferences with someone in my same building?I want to understand how lyncs works, when I made video conferences with someone in my same building, if my call go to to server and then go to the person I´m calling. Or if L

    I want to understand how lyncs works, when I made video conferences with someone in my same building, if my call go to to server and then go to the person I´m calling.
    Or if Lync realizes that we are in the same building so it never leaves, so it don’t generate traffic. My concern is the bandwidth consumption.
    Please a I need the information.
    thanks

    In addition, you can refer to the following link about the media connection in different scenarios:
    http://www.shudnow.net/2010/12/06/lync-server-2010-port-ranges-and-audiomedia-negotiation/
    Note: Microsoft is providing this information as a convenience to you. The sites are not controlled by Microsoft. Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. Please make
    sure that you completely understand the risk before retrieving any suggestions from the above link.
    Lisa Zheng
    TechNet Community Support

  • I want to understand how crypto works.

    Hi, I want to understand how crypto works and all. where i can start with. i really dont know anything about crypto. i need to understand how DC and keys and algorithims work together and how they work. pls suggest me where and with what i can start.

    Since you asked on the Java Cryptography forum, I would recommend beginning with this book:
    Beginning Cryptography with Java
    David Hook
    ISBN: 978-0-7645-9633-9
    http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764596330.html

  • Why the wait time!? Please? I want to understand.

    OK so why does it take so long to install apps on the iPhone and why so long to make a backup.
    Granted I have a ton of apps (like many i would imagine) But if they are mostly 1-3 MB and a few 10 MB why does it take soooooo long to install them?
    Secondly to do a back up of my iPhone it takes well over 2.5 hours for about a gig of apps. Syncing happens fast but backing up and installing are very painfully slow!
    I just want to understand why.
    I sync to a powerbook 17" 1.67Ghz with 2GB ram usuing iTunes 7.7.1 with a 1st gen iPhone running SW2.01

    If you are downloading apps on the iPhone it really depends if you are using 3G or Edge, or the WiFi network. It still going to take a bit of time because it downloads and unpackages the application right their. Lets say you downloaded 3 or 4 apps and added/changed a few contacts it's going to take longer. Otherwise we might need to wait for an update or sync every time you plug your iPhone in. You certainly have a good notebook, so it's definitely not your computer.

  • I want to understand Explain Plan

    Dear Gurus,
    I want learn/understand Explain Plan for query so as to tune the query.
    OR I want to tune query by understanding their plan but how it help to tune query.
    Could anybody give me link or material on above.
    Thanking in advance
    Sanjeev

    If you don't want to read the Oracle documentation, then this book is excellent: Troubleshooting Oracle Performance - Christian Antognini
    It does a great job of explaining execution plans.

  • I want to understand in which db I'm connected in bqy file

    I want to understand in which db I'm connected in bqy file, where I find the information,<BR> I'm not interesting the name of oce file, I want to know the name of the database,<BR> and if I use multiple connection, where this query is connected or this one<BR> <BR> thank you<BR> massimo

    Dear Barry,
    Maybe, I can explain you what I want:
    When I create 5 tabels on 2 pages, each tabel will have their own row numbers. When I'm working on page 2 and on row 40 for ex, it is very difficult to see which is row 40 of 1st tabel on page 1.
    When I put these 5 tabels in 1 big tabel, you won't have this problem, but than I can not name my tabels.
    So, I thought maybe I can link for ex, all row 40 in all 5 tabels

  • I want to understand The aironet Carrier Test

    Hi
    I want to understand how can i use the Carrier test result one the diagnodtic page of the aironet web interface for knowing which frequency is used or not
    thanks

    When doing the carrier busy test, it will show stars * in the different channels. These stars represent the traffic on that channel. The fewer stars on a channel the less traffic. http://www.cisco.com/warp/public/102/wlan/connectivity.html

  • OID Working Normally But I Want to Understand "oracle SID " Processes

    I'm runninng OID as part of an Identity Mangagement 10.1.4.0.1 installation on Linux. When I look at the processes that oracle is running I see many "oracle<SID>" processes.
    I'm looking for where I can read about the different types of processes that comprise OID on Unix/Linux. I'm particularly interested in knowing how "oracle<SID>" processes are created and destroyed -- is each process synonymous with an active connection to the directory?
    Thank you for pointing me to the docs on this or telling me what you believe these "oracle<SID>" processes represent.

    Those Oracle<sid> processes are database instance processes - OID is implemented in a database (where else?).
    They should be there for the life time of your server - they should not be killed, destroyed or whatever - they can be stopped by logging into your server - after setting the proper environment variables, execute:
    sqlplus / as sysdba
    shutdown
    exit
    The shutdown can take a while - it allows all active, current sessions to do their thing. Another option is shutdown immediate, which will kill active sessions, as soon as the running transaction finishes. Both options result in a clean shutdown, leaving the database in a consistent state.
    A real killer is shutdown abort - it will simply abort all transactions, but leaves the database in an inconsistent state. Oracle will recover automatically in most cases.
    More on http://tahiti.oracle.com, in the database section

  • Want to understand Exceptions

    some basic questions regarding exceptions handling:
    * I have some types of exceptions which are not code related but i want to handle them seperately. They include class instantion failure, could not get database connection etc. Their handling in all cases will be same (log it and send to Administrator). I was thinking about creating a seperate exception "InfrastructureFailureException" which will be thrown whenever such errors happens. But I am not sure this is a good idea. The reason is that in a logical-unit-of-work this type of exception can be thrown more than once. That means I have to use more than one try block. For example to get a Connection is a 2 step process:
    try {
    // get Connection Manager
    } catch (InfrastructureFailureException ife) {
    try {
    // get Connection from Connection Manager
    } catch (InfrastructureFailureException ife) {
    Is there any better approach?
    * i have defined a retrieve exception for each domain object, which is thrown by each retrieval operation. So I have a EmployeeNotFoundException which is thrown by getEmployeeById(int employeeId) DAO method. Similarly I have a DepartmenNotFoundException which is thrown by getDepartmentById(int deptId) DAO method.
    Now I am thinking the above exceptions can be grouped as they belong to retrieve. So create a RetrieveFailedException and use it as a parent of the above exceptions. Is it a good idea?
    I am also thinking about applying the same logic for INSERT and UPDATE (InsertFailedException and UpdateFailedException will be used as parents)
    * Suppose an exception is thrown. I am having problems deciding which method to let handle this exception in the call stack.
    Thanks

    >>
    However, for those who do develop applications,you
    will either use a library (in which case it willbe
    exceptionally relevant, pardon the pun). Or youwill
    develop your own exceptions. Often I develop one for large applications.
    Sometimes I develop one or two for a single layer.
    Never more.
    A library that does that is probably doing something
    wrong.
    An application that developes many is probably doing
    something wrong as well. In my experience, that
    happens because the developers are applying the
    standards of library developement to application
    developement.
    Libraries are developed to serve the needs of
    different users and with the intent that they will be
    definitely be used in ways that the library
    developers did not anticipate. Application are
    developed to meet very specific guidelines. The
    goals of both are different. Thus the goals and
    functionality of each are different.
    I agree. However, I make a distinction (see below) in types of exceptions. What the OP referred to are what I implement as 'unchecked' exceptions. These also seem to comport with your conception of an exception: that they
    are truly exceptional. Truly exceptional circumstances are generally not recoverable. The unchecked data access framework of Spring is an excellent example of this. As these resembled the OP's original needs, I pointed out that library. In an actual application, I would use the library, customizing these exceptions to my own needs, or simply catching them in a front controller to display an error message to the user.
    In either case, seeing
    how an established library was constructed should
    give you ideas on how your own exceptions might be
    classified. I doubt it. Unless you are a library developer.
    See above.
    Data access exceptions are data access
    exceptions. You may not need something asfull-blown
    as Spring's data access exceptions, butundoubtedly
    you will use at least a few.Yes - a few.
    That having been said, in real applications, the
    majority of important exceptions will be your
    checked, business/model exceptions. Concentrateyour
    efforts there. Worrying about whether I shoulduse
    java.io.IOException or
    com.foo.exception.NetworkException will distractyou
    from the exceptions you actually need to write.In real applications, at least the ones that I have
    worked on, exceptions are exactly that exceptions.
    They are not anticipated, they are not expected and
    d in normal operations they should never occur. They
    do not need to be classified because any such
    classification would suggest that they are
    correctable when in reality, because they are
    exceptions, they are not.
    The customer help desk doesn't care whether the
    database is down, or if there is a duplicate
    insertion error, nor that the type specifier
    definition is missing in a table. All of them means
    that the customer service person can not do their job
    and all mean that they have to call someone else who
    will have to fix it. And to the person that fixes it
    seperate exceptions will have gain no benifit if
    there are multiple exceptions or one.
    Exactly. This is why they are unchecked and intercepted only at a front controller level to display a generic error page to the user, and potentially issue a page for support or entry into a log file.
    Additionally application developers often,
    incorrectly, use exception hierarchies in such a way
    that it completely destroys the information needed to
    actually fix the problem in the first place, because
    they end up throwing away the original exception
    because they found a "better" one to return.However, I disagree with your notion of 'exceptional' exceptions. This is not in any way to say my way is 'correct', but rather to simply explain it.
    Any time I read a business requirement that has an abnormal path of exceution (balance below zero, user account not found, accessing the flux capacitor on an even-numbered day of the month, etc.), I create a checked, business exception for that use case. It has an English-readable name, and any business user would be able to understand what that exception is for.
    When developing the application, these exceptions ensure that all expected business exceptions are accounted for. It also reminds me of what abnormal paths of execution the business users have specified. Any business service should handle the possible business exceptions involved in a given call.
    The remainder of exceptions are 'exceptional' exceptions. These I leave as unchecked. Sometimes I use a library or framework ala Spring, especially for data access or XML parsing or other general failure possibilities. Other times, when none are available, I create my own. However, they are always unchecked.
    - Saish

  • Help understanding OO concepts.

    Hi all,
    I'm really struggling to get my head around OO programming. I am wanting to make a few simple programs to try and figure it out.
    If I am wanting to have 2 classes and a main method class, say player and team class. It is obvious that the team class will have attributes and methods, as will a player.
    Team:
    Name - simple string.
    Stadium - forget for now
    Capacity - an int
    Players - this is where my problem lies
    Coach - forget for now
    Manager - forget for now
    Player:
    Name - string
    age - int
    shooting - int
    tackiling - int
    passing - int
    Now I can create a new object in my main method that will create a Player object with the above attributes. I am stuck with how to get a player object to be 'part of' the team.
    I assume that I need to put the Player class into the Team constructor but am unsure how to do this. I treid looking up on the internet but am not sure what the process is called. If someone could either show me a good link on how to do something similar, or post up some sample code to demonstrate, or even better both, then I can read up on it and understand with an example.
    What I really want is for the players to be held in an array within the team class, but not sure how easy this is to do for a beginner.
    Thanks
    Andrew

    Hi thanks for the help. I think i will look into the
    set, although it does seem a bit confusing for a
    beginner. First though, regarding inheritance:
    If in the Player class that extends TeamMember, if I
    want to add extra attributes, how do I add these into
    the constructor?
    public class Player extends TeamMember
    int speed;
    int shooting;
    int tackling;
    int passing;
    public Player (String name, String position, int
    speed, int shooting, int tackling, int passing)
    this.speed = speed;
    this.shooting = shooting;
    this.tackling = tackling;
    this.passing = passing;
    Is this how I would do it? Unfortunately at the
    moment I do not have a comiler so cannot test - I am
    a little confused as to how the super word was used.
    Thanks
    Andrewis Player really a TeamMember? I mean, it is, clearly, but is this relationship correct? I'd say that Player is a role that TeamMembers can have. what if you have a Player/Manager for instance? good OO principle: favour composition over inheritance.
    using inheritance, Player would be a class, Manager would be a class, and then you'd need another class PlayerManager. not ideal. if members were composed of roles, you could simply give your Player/Manager both roles, and not need to worry about which class it extended. probably a tricky concept for you to grasp at the moment, granted, but something for you to investigate at your leisure :-)

Maybe you are looking for

  • Can't create MDFORM based on detail table with upload field

    Has anyone suceeded in creating a Master Detail Form based on a detail form which has an upload field (blob column)? I created a table (workingorders) and I want to attach documents to these orders so I created a table (attachments) which holds the a

  • Moving to Exchange Online from SBS 2003/Exchange 2003 using PST files instead of cut over migration?

    I have a friend who runs a small company with approximately 10 users.  They are currently using Small Business Server 2003 and are using Exchange 2003 to a limited degree.  They are using POP accounts with a hosting company for external email and are

  • SimpleDateFormat.toLocalizedPattern()

    Howdy Folks? I'm using the following: - SimpleDateFormat sdf1 = new SimpleDateFormat(); System.out.println( sdf1.toLocalizedPattern() ); SimpleDateFormat s1 = new SimpleDateFormat( sdf1.toLocalizedPattern(), Locale.getDefault() );The print out gives

  • Retrieve BPC data into BW 3.5 : any alternative to UD connect ?

    Hello, SAP BPC 7.0 (Microsoft SQL version not Netweaver) has been deployed a few month ago. Now the data from this tool will need to be brought into our BW 3.5 landscape for reporting, and it has been suggested by our developers that the interface is

  • Fill Internal Table for Table Header EQUI - Long Time

    Good morning, I have installed DMIS (2006_1_620) and DMIS_CNT (2006_1_620), both at the level of SP = 13. I am running the subactivity "Fill Internal Table for Table Header EQUI" and have 1 day + 10 hours and continue working. Also note that the tabl