OWB 10.2 Design questions - OLAP objects - worth using? too buggy?

I am designing a 2 tiered data warehouse. I have a staging schema where numerous staging tables and key mapping tables are kept and a data warehouse schema where I have relationally implemented dimensions and cubes. I want the dw layer to be made up of conformed dimensions and facts as per Kimball.
For the DW layer, my plan was to create cubes and dimensions which would be implemented as ROLAP. I would then selectively create MOLAP cubes for subsets of the data warehouse.
My first question - does this much make sense or should I avoid the logical constructs of dimensions and cubes like the plague and simply build star schemas as Oracle tables directly?
Assuming I can use cubes and dimensions - how do I control the column names for the cube foreign keys? I have one cube with several date dimension foreign keys. Using the cube editor I get nonsensical names like time_dim_key, time_dim_key1, time_dim_key2. I want these to be creation_date_fk, expiration_date_fk, etc so that they are readable. I don't see any way with the cube editor to control this.
Also, please see my other posts about errors with the role concept on dimensions.
And lastly, have any of you had success in deploying a large scale DW with OWB using dimensions and cubes?

So far the verdict is TOO BUGGY. There is a documented bug in metalink:
DATA COLLECTED
===============
Deployment output
ATLAS_TIME_DIM
Create Error
ORA-06550: line 960, column 95:
PLS-00123: program too large (Diana nodes)
ISSUE CLARIFICATION
====================
Dimension deployment (with 5 or more roles) results in a PLS-00123 error.
ISSUE VERIFICATION
===================
Verified the issue by the deployment output which show the PLS-00123 error.
CAUSE DETERMINATION
====================
Defect in OWB 10g R2
CAUSE JUSTIFICATION
====================
Bug 5066108 (CWM2 CODE GEN USES A SINGLE ANONYMOUS PLSQL BLOCK)
POTENTIAL SOLUTION(S)
======================
Possible workarounds:
Reduce the number of roles associated with the dimension.
Use relational vs. multidimensional
POTENTIAL SOLUTION JUSTIFICATION(S)
====================================
Deployment is successful with fewer roles associated.
Looking at the recommended solutions it appears that I can:
1) limit the cube to very few dimensions making it useless for anything major
2) Use relational - My first interpretation of this was that I could generate the cube but use the "data objects only" deployment. No such luck. When the roles are added to the cube, the designer window locks up when the roles exceed 8 for the time dimension.
So, the "use relational" workaround seems to imply that cubes and dimensions should be avoided. Anyone have any contrary experiences?
Specifically has anyone done any of the following successfully with OWB 10.2:
1. Have you implemented a time dimension with more than 10 roles associated with it?
2. Have you implemented a cube (relationally or otherwise) with more than 5 roles of a single dimension against it?
3. Have you implemented a cube with more than 10 dimensions of any kind associated with it?

Similar Messages

  • Design question about when to use inner classes for models

    This is a general design question about when to use inner classes or separate classes when dealing with table models and such. Typically I'd want to have everything related to a table within one classes, but looking at some tutorials that teach how to add a button to a table I'm finding that you have to implement quite a sophisticated tablemodel which, if nothing else, is somewhat unweildy to put as an inner class.
    The tutorial I'm following in particular is this one:
    http://www.devx.com/getHelpOn/10MinuteSolution/20425
    I was just wondering if somebody can give me their personal opinion as to when they would place that abstracttablemodel into a separate class and when they would just have it as an inner class. I guess re-usability is one consideration, but just wanted to get some good design suggestions.

    It's funny that you mention that because I was comparing how the example I linked to above creates a usable button in the table and how you implemented it in another thread where you used a ButtonColumn object. I was trying to compare both implementations, but being a newbie at this, they seemed entirely different from each other. The way I understand it with the example above is that it creates a TableRenderer which should be able to render any component object, then it sets the defaultRenderer to the default and JButton.Class' renderer to that custom renderer. I don't totally understand your design in the thread
    http://forum.java.sun.com/thread.jspa?forumID=57&threadID=680674
    quite yet, but it's implemented in quite a bit different way. Like I was saying the buttonClass that you created seem to be creating an object of which function I don't quite see. It looks more like a method, but I'm still trying to see how you did it, since it obviously worked.
    Man adding a button to a table is much more difficult than I imagined.
    Message was edited by:
    deadseasquirrels

  • Design Question::Instantiating Object from Stored Procedure Output

    Hi All,
    I am confused with approaching this design issue. I called a Stored Procedure, and the output from the Stored Procedure is a REF CURSOR. The size of the REF CURSOR can be large.
    My Question is, is it a good idea to pass the values from the REF CURSOR to a class constructor, there by instantiating an object of that type. lets say
    //rset is of type ((OracleCallableStatement)callableStatement).getCursor(5);
    //rset is not ResultType
    while (rset.next()){
    new ClassXYZ(var1, var2, var3);
    /*var1, var2, var3 would be rset.getObject(1),rset.getObject(2),rset.getObject(3)
    Class XYZ does some business logic
    }Other things:
    1) Will the JVM hold up assuming good enough JVM mem size, while creating objects for the range 100 thousands?
    2) I do not know the cursor size. It can change randomly from business perspective. And, it would be in the range of 100 thousands
    I was thinking, If I can "police" the call to the Class XYZ in case of large data. May be I am totally off the best solution. Any light on the best way to approach will be great.
    Anyhow, this would be a standalone java application. Just in case if people are trying to suggest/recommend DAO etc.,
    Thank you,
    VJ

    You can use ConvertTo-Html:
    http://ss64.com/ps/convertto-html.html
    Here's an example:
    http://social.technet.microsoft.com/Forums/scriptcenter/en-US/5cb016d3-e2fb-43e7-9c01-10b6878056e4/formattable-lost-in-email
    Don't retire TechNet! -
    (Don't give up yet - 13,085+ strong and growing)

  • Method design question...and passing object as parameter to webserice

    I am new to webservice...one design question
    i am writing a webservice to check whether a user is valid user or not. The users are categorized as Member, Admin and Professional. For each user type I have to hit different data source to verify.
    I can get this user type as parameter. What is the best approach to define the method?
    Having one single method �isValidUser � and all the client web service can always call this method and provide user type or should I define method for each type like isValidMember, isValidAdmin ?
    One more thing...in future the requirement may change for professional to have more required field in that case the parameter need to have more attribute. But on client side not much change if I have a single isValidUser method...all they have to do is pass additional values
    isValidUser(String username, String usertype, String[] userAttributes){
    if usertype == member
    call member code
    else if usertype = professional
    call professional code
    else if usertype = admin
    call admin code
    else
    throw error
    or
    isValidMember(String username, String[] userAttributes){
    call member code
    One last question, can the parameter be passed as object in web service like USER object.

    First of all, here is my code
    CREATE OR REPLACE
    TYPE USERCONTEXT AS OBJECT
    user_login varchar2,
    user_id integer,
    CONSTRUCTOR FUNCTION USERCONTEXT (
    P_LOGIN IN INTEGER
    P_ID_ID IN INTEGER
    ) RETURN SELF AS RESULT
    Either your type wont be compiled or this is not the real code..

  • Design question: methods returning objects

    I have a general design question. When, in general (and why), should you have a method alter an object via it's methods but not return the object as opposed to doing the same operation in a method and then return it.
    Consider the two below methods which do basically the same thing. When is one desireable over the other, and why?
    Cheers--
    public void setMyIntField(SomeObject pObj){
    pObj.setSomeInt(5);
    public SomeObject setMyIntField(SomeObject pObj){
    pObj.setSomeInt(5);
    return pObj;
    }

    Let me give a better example:
    class FruitWorker{
      private void someMethod(){
        HashMap myCitrus = new HashMap();
        HashMap myTropicals = new Hashmap();
        // use my no return obj method
        addFruitProps1(myCitrus,
                       "tartnes",
                       new FruitProperty("very!" ));
        // use my return object method
        myTropicals =  addFruitProps2(myCitrus,
                                      "sweetness",
                                       new FruitProperty("little bit" ));
      }// end method
      private void addFruitProperties1(HashMap pFruitProps,
                                       String pProp
                                       FruitProperty pVal){
        pFruitProps.add( pProp,pVal);
      }// end method
      private HashMap addFruitProperties2(HashMap pFruitProps,
                                       String pProp
                                       FruitProperty pVal){
        pFruitProps.add( pProp,pVal);
        return pFruitProps;
      }// end method
    }// end class

  • OWB 9.0.4 and OLAP

    Hi,
    I have questions regarding the OWB 9.0.4 and his OLAP features. I tried to set up an Analytical Workspace
    and OLAP objects (dimensions and a cube) as it was written in the OWB904UsersGuide. Therefore I created
    an PL/SQL script with the OWB Export Wizard. The script created the OLAP objects but I also got some errors,
    that several Identifiers need to be declared. Well, I thought it worked fine, cause when I checked the OLAP
    directory node in the OEM, I found my cube and dimensions there. But when I tried to load the OLAP objects
    with the WB_OLAP_LOAD_DIMENSION and WB_OLAP_LOAD_CUBE transformations from OWB I got the error that my dimensions are invalid, even if the OEM shows them as valid.
    I read several articles in the OWB and the OLAP forum about this issue and I'm a bit confused now. Does the OWB now support OLAP at all, and when will the post 9.2.0.3 patch be released?
    Is there an other way to convert the relational OWB starschema into an OLAP schema and to load it with data?
    Can I use BI Beans on the relational starschema without an working OLAP schema?
    Thanks in advance,
    Dirk

    Which version of the database is being used? The AW work involves a patch that has not yet been released. The OLAP 9.2.0.3 patch is due to be released in July, the exact
    release date is unknown.
    OWB provides the bridge which will populate the metadata for a relational OLAP cube in the OLAP catalog. BI Beans can be used on this relational cube. The bridge also supports cloning of this relational cube in an OLAP analytic workspace, both the metadata for the AW and the data loading programs are generated from the bridge. The OWB 9.0.4.10 patch has a number of improvements and bug fixes that will help deploying to OLAP. The OLAP 9.2.0.3 patch is due to be released in July, the exact
    release date is unknown.
    The OLAP metadata for ROLAP cubes can either be created using OWB, or through OEM or manually. If by OLAP schema
    you mean an AW, then either use OWB to clone the ROLAP cube in an AW, or use the Analytic Workspace Manager
    (AWM) that will clone the ROLAP cube and provide some more options or manually code up the OLAP DML metadata etc. Manual coding of the AW is a specialized task that involves substantial knowledge of OLAP DML (the Express SPL language) to write both the data object definitions and performant data loader programs, also the enabling of the AW through SQL for BI Beans is a complex task. All of these manual tasks are provided by both the OWB OLAP bridge and the AWM.
    For BI Beans, the ROLAP metadata must be populated in the OLAP catalog, so can be achieved using OWB to deploy the
    relational star schema then the OWB OLAP bridge to populate only the ROLAP metadata. OWB does this using CWM1 apis. BI Beans can be used on top of the ROLAP cube.

  • Design question: Scheduling a Variable-timeslot Resource

    I originally posted this in general java programming, because this seemed like a more high-level design descussion. But now I see some class design questions. Please excuse me if this thread does not belong here (this is my first time using the forum, save answering a couple questions).
    Forum,
    I am having trouble determining a data structure and applicable algorithm (actually, even more general than the data structure -- the general design to use) for holding a modifiable (but more heavily read/queried than updated), variable-timeslot schedule for a given resource. Here's the situation:
    Let's, for explanation purposes, say we're scheduling a school. The school has many resources. A resource is anything that can be reserved for a given event: classroom, gym, basketball, teacher, janitor, etc.
    Ok, so maybe the school deal isn't the best example. Let's assume, for the sake of explanation, that classes can be any amount of time in length: 50 minutes, 127 minutes, 4 hours, 3 seconds, etc.
    Now, the school has a base operation schedule, e.g. they're open from 8am to 5pm MTWRF and 10am to 2pm on saturday and sunday. Events in the school can only occur during these times, obviously.
    Then, each resource has its own base operation schedule, e.g. the gym is open from noon to 5pm MTWRF and noon to 2pm on sat. and sun. The default base operation schedule for any resource is the school which "owns" the resource.
    But then there are exceptions to the base operation schedule. The school (and therefore all its resources) are closed on holidays. The gym is closed on the third friday of every month for maintenance, or something like that. There are also exceptions to the available schedule due to reservations. I've implemented reservations as exceptions with a different status code to simplify things a little bit: because the basic idea is that an exception is either an addition to or removal from the scheduleable times of that resource. Each exception (reservation, closed for maintenance, etc) can be an (effectively) unrestricted amount of time.
    Ok, enough set up. Somehow I need to be able to "flatten" all this information into a schedule that I can display to the user, query against, and update.
    The issue is complicated more by recurring events, but I think I have that handled already and can make a recurring event be transparent from the application point of view. I just need to figure out how to represent this.
    This is my current idea, and I don't like it at all:
    A TimeSlot object, holding a beginning date and ending date. A data structure that holds list of TimeSlot objects in order by date. I'd probably also hold an index of some sort that maps some constant span of time to a general area in the data structure where times around there can be found, so I avoid O(n) time searching for a given time to find whether or not it is open.
    I don't like this idea, because it requires me to call getBeginningDate() and getEndDate() for every single time slot I search.
    Anyone have any ideas?

    If I am correct, your requirement is to display a schedule, showing the occupancy of a resource (open/closed/used/free and other kind of information) on a time line.
    I do not say that your design is incorrect. What I state below is strictly my views and should be treated that way.
    I would not go by time-slot, instead, I would go by resource, for instance the gym, the class rooms (identified accordingly), the swimming pool etc. are all resources. Therefore (for the requirements you have specified), I would create a class, lets say "Resource" to represent all the resources. I would recommend two attributes at this stage ("name" & "identifier").
    The primary attribute of interest in this case would be a date (starting at 00:00hrs and ending at 24:00hrs.), a span of 24hrs broken to the smallest unit of a minute (seconds really are not very practical here).
    I would next encapsulate the availability factor, which represents the concept of availability in a class, for instance "AvailabilityStatus". The recommended attributes would be "date" and "status".
    You have mentioned different status, for instance, available, booked, closed, under-maintainance etc. Each of these is a category. Let us say, numbered from 0 to n (where n<128).
    The "date" attribute could be a java.util.Date object, representing a date. The "status", is byte array of 1440 elements (one element for each minute of the day). Each element of the byte array is populated by the number designation of the status (i.e, 0,1,2...n etc.), where the numbers represent the status of the minute.
    The "Resource" class would carry an attribute of "resourceStatus", an ordered vector of "ResourceStatus" objects.
    The object (all the objects) could be populated manually at any time, or the entire process could be automated (that is a separate area).
    The problem of representation is over. You could add any number of resources as well as any number of status categories.
    This is a simple solution, I do not address the issues of querying this information and rendering the actual schedule, which I believe is straight forward enough.
    It is recognized that there are scope for optimizations/design rationalization here, however, this is a simple and effective enough solution.
    regards
    [email protected]

  • Design question for database connection in multithreaded socket-server

    Dear community,
    I am programming a multithreaded socket server. The server creates a new thread for each connection.
    The threads and several objects witch are instanced by each thread have to access database-connectivity. Therefore I implemented factory class which administer database connection in a pool. At this point I have a design question.
    How should I access the connections from the threads? There are two options:
    a) Should I implement in my server class a new method like "getDatabaseConnection" which calls the factory class and returns a pooled connection to the database? In this case each object has to know the server-object and have to call this method in order to get a database connection. That could become very complex as I have to safe a instance of the server object in each object ...
    b) Should I develop a static method in my factory class so that each thread could get a database connection by calling the static method of the factory?
    Thank you very much for your answer!
    Kind regards,
    Dak
    Message was edited by:
    dakger

    So your suggestion is to use a static method from a
    central class. But those static-methods are not realy
    object oriented, are they?There's only one static method, and that's getInstance
    If I use singleton pattern, I only create one
    instance of the database pooling class in order to
    cionfigure it (driver, access data to database and so
    on). The threads use than a static method of this
    class to get database connection?They use a static method to get the pool instance, getConnection is not static.
    Kaj

  • J2EE Design Question -- Am I On The Right Track?

    There are multiple tables in my database. Each table has a primary key, and the table that relates to other tables has foreign keys. I have to match the primary key and foreign key to go from one table to another. The specifics are spelled out below:
    The first table has login, pwd, and a primary key as fields, the second table contains completely different fields plus a primary key and foreign keys. The fields in the third table are different from those in the first and second tables plus its primary key. Queries to the third table can be made only if the user login and pwd are found in the first table, and through the second table's relation to the first table and the third table�s relation to the second table.
    The fields of all those tables may be accessed concurrently, but the fields are read-only (for the time being).
    I have a servlet to handle browser interactions. And I have a session bean to handle the workflow and business logic. However, I am confused with the choices between VO and entity beans.
    I first thought that I should use value objects to represent the data fields of the specific rows I looked for in those tables. Here is what I read about Value Object:
    "If a business object merely represents a structure to hold data fields, and the only behavior it provides are get and set method for the fields, then it would be wasteful of system resources to implement it as an enterprise bean. To avoid expensive remote methods calls (system resources and network bandwidth) to get the value of entity object fields, a value object is used to represent the details of the entity object. Only one remote call is required to retrieve the value object and then a client�s request to query the state of the object can then be met via local get methods on this details object."
    On my second thought, I think I should use entity beans to represent the specific rows I am looking for in those tables because I must use primary key and foreign key relations to go from one table to another.
    I do not use DAO because I am using CMP. The first call is within the session bean. It is a remote call to look for a specific row in the first table in my database. Subsequently, the mapping of the row in the first table to the second table, and the mapping of the row in the second table to the third table are all invoked on the �local" interfaces of those entity beans.
    client(browser)-->front controller(servlet)-->session facade(session ejb)-->entity ejb-->entity ejb -- > entity ejb
    Please advise if this is the right design. Am I on the right track? Is there improvement to be made?

    I might not explain my question well in my previous post -- there is no business logic involved in what I am doing to go from the first entity bean to the second entity bean and to go from the second entity bean to the third entity bean.
    Based on the login information, I have to go through those entity beans to find the very specific row in the third table in order to get the data field I need. That is to say, only thing involved is searching for rows.
    In my view, session bean -- > 1st entity bean -- > 2nd entity bean -- > 3rd entity bean
    1. session bean -- > 1st entity bean: remote call and returns the key to the 1st entity bean for locating the 2nd entity bean
    2. 1st entity bean -- > 2nd entity bean: local call and returns the key to the 2nd entity bean for locating the 3rd entity bean
    3. 2nd entity bean -- > 3rd entity bean: local call and then returns the value of the specific field to the session bean
    The alternative approach is:
    session bean
    |
    + + +
    1st entity bean 2nd entity bean 3rd entity bean
    1. session bean -- > 1st entity bean: remote call and returns the key to the session bean for locating the 2nd entity bean
    2. session bean -- > 2nd entity bean: remote call
    and returns the key to the session bean for locating the 3rd entity bean
    3. session bean -- > 3rd entity bean: remote call and the session bean can get the value of the specific field from the 3rd entity bean
    I do not know which approach to go for. Please provide guidance. Thanks.

  • Design Question -- Am I On The Right Track

    There are multiple tables in my database. Each table has a primary key, and the table that relates to other tables has foreign keys. I have to match the primary key and foreign key to go from one table to another. The specifics are spelled out below:
    The first table has login, pwd, and a primary key as fields, the second table contains completely different fields plus a primary key and foreign keys. The fields in the third table are different from those in the first and second tables plus its primary key. Queries to the third table can be made only if the user login and pwd are found in the first table, and through the second table's relation to the first table and the third table�s relation to the second table.
    The fields of all those tables may be accessed concurrently, but the fields are read-only (for the time being).
    I have a servlet to handle browser interactions. And I have a session bean to handle the workflow and business logic. However, I am confused with the choices between VO and entity beans.
    I first thought that I should use value objects to represent the data fields of the specific rows I looked for in those tables. Here is what I read about Value Object:
    "If a business object merely represents a structure to hold data fields, and the only behavior it provides are get and set method for the fields, then it would be wasteful of system resources to implement it as an enterprise bean. To avoid expensive remote methods calls (system resources and network bandwidth) to get the value of entity object fields, a value object is used to represent the details of the entity object. Only one remote call is required to retrieve the value object and then a client�s request to query the state of the object can then be met via local get methods on this details object."
    On my second thought, I think I should use entity beans to represent the specific rows I am looking for in those tables because I must use primary key and foreign key relations to go from one table to another.
    I do not use DAO because I am using CMP. The first call is within the session bean. It is a remote call to look for a specific row in the first table in my database. Subsequently, the mapping of the row in the first table to the second table, and the mapping of the row in the second table to the third table are all invoked on the �local" interfaces of those entity beans.
    client(browser)-->front controller(servlet)-->session facade(session ejb)-->entity ejb-->entity ejb -- > entity ejb
    Please advise if this is the right design. Am I on the right track? Is there improvement to be made?

    I might not explain my question well in my previous post -- there is no business logic involved in what I am doing to go from the first entity bean to the second entity bean and to go from the second entity bean to the third entity bean.
    Based on the login information, I have to go through those entity beans to find the very specific row in the third table in order to get the data field I need. That is to say, only thing involved is searching for rows.
    In my view, session bean -- > 1st entity bean -- > 2nd entity bean -- > 3rd entity bean
    1. session bean -- > 1st entity bean: remote call and returns the key to the 1st entity bean for locating the 2nd entity bean
    2. 1st entity bean -- > 2nd entity bean: local call and returns the key to the 2nd entity bean for locating the 3rd entity bean
    3. 2nd entity bean -- > 3rd entity bean: local call and then returns the value of the specific field to the session bean
    The alternative approach is:
    session bean
    |
    + + +
    1st entity bean 2nd entity bean 3rd entity bean
    1. session bean -- > 1st entity bean: remote call and returns the key to the session bean for locating the 2nd entity bean
    2. session bean -- > 2nd entity bean: remote call
    and returns the key to the session bean for locating the 3rd entity bean
    3. session bean -- > 3rd entity bean: remote call and the session bean can get the value of the specific field from the 3rd entity bean
    I do not know which approach to go for. Please provide guidance. Thanks.

  • Workflow design questions: FM vs WF to call FM

    Hereu2019s a couple of workflow design questions.
    1. We have Workitem 123 that allow user to navigate to a custom transaction TX1. User can make changes in TX1.  At save or at user command of TX1, the program will call a FM (FM1) to delete WI 123 and create a new WI to send to a different agent. 
    Since Workitem 123 is still open and lock, the FM1 cannot delete it immediately, it has to use a DO loop to check if the Workitem 123 is dequeued before performing the WI delete.
    Alternative: instead of calling the FM1, the program can raise an event which calls a new workflow, which has 1 step/task/new method which call the FM1.  Even with this alternative, the Workitem 123 can still be locked when the new workflowu2019s task/method calls the FM1.
    I do not like the alternative, which calls the same FM1 indirectly via a new workflow/step/task/method.
    2. When an application object changes, the user exit will call a FMx which is related to workflow.  The ABAP developer do not want to call the FMx directly, she wants to raise an event which call a workflow .. step .. task .. method .. FMx indirectly.  This way any commit that happens in the FMx will not affect the application objectu2019s COMMIT.
    My recommendation is to call the FMx using u2018in Update tasku2019 so that the FMx is only called after the COMMIT of the application object.
    Any recommendation?
    Amy

    Mike,
    Yes, in my first design, the TX can 1. raise a terminating event for the existing workitem/workflow and then 2. raise another event to call another workflow.   Both 1 and 2 will be in FM1. 
    Then the design question is: Should the FM1 be called from TX directly or should the TX raise an event to call a new workflow which has 1 step/task, which calls a method in the Business object, and the method calls the FM1?
    In my second design question, when an application object changes, the user exit will call a FMx which is related to workflow.  The ABAP developer do not want to call the FMx directly, she wants to raise an event which call a workflow, which has 1 step/task, which calls a method, which calls the FMx indirectly.  This way any commit that happens in the FMx will not affect the application objectu2019s COMMIT.
    My recommendation is either call the FMx using u2018in Update tasku2019 so that the FMx is only called after the COMMIT of the application object or raise an event to call a receiver FM (FMx).
    Thanks.
    Amy

  • How can I transfer the meta data to the Oracle OLAP Object?

    When I finished in building a simple DataWare house demo in the warehouse Builder, I got meta data. But it seems that those doesn't present in the "<Database>" - "OLAP" - "Dimension" where the Sample "SH" resides.I just want to export those metadata to the SQL script, but failing to import the script to the Database. How can I transfer my demo's meta data to the OLAP Object? It is the last step to finish the whole process and I can't solve the problem.
    I'll appreciate any one who can help me.

    Hello,
    To enter/move the metadata for dimensions and facts to the OLAP catalog, you need to perform the following actions:
    1) Create a business area in the OWB business tree holding the dimensions and facts you want in OLAP
    2) Perform a metadata export, using the bridge (not to file!)
    3) This will launch a wizard that will guide you through this process, follow the instructions carefully
    4) Upon completion you will see metadata added into the OLAP catalog
    We will be releasing a new version for this, which will be running on 9.2.0.2 database that allows you to use all the new 9i Release 2 OLAP features. This will create Analytic Workspaces from Warehouse Builder and should be released late this year (around end of November).
    Hope this helps,
    Jean-Pierre

  • SAP BW Universe OLAP @prompt LOV using object reference not working

    I have tried to follow Didier MAZOUÉ's "[OLAP universes best practices|https://boc.sdn.sap.com/node/20081]" document to create calculated measure in a OLAP universe built on top of a BW cube directly. The objective is to get the revenue figure from the same period of the previous year. I wanted to be able to have a LOV to specify a period when the object is used in a webi report.
    When I hard coded the LOV as a data set as displayed in the following example  (  {'[CD2007009]','[CD2007010]'}  ) The prompt worked as expected.
    (PARALLELPERIOD(.[LEVEL01],1,[0FISCPER].@Prompt('Period?',A,{'[CD2007009]','[CD2007010]'},mono,free)),[Measures].[0G_AERLOS])</EXPRESSION>
    When I build my expression using an object referece as ( 'TimeFiscal year period' ), I was given an error msg saying "invaid prompt definition". I verified my spellings and syntax and they were correct based on the examples provided by the best practice document.
    (PARALLELPERIOD(.[LEVEL01],1,[0FISCPER].@Prompt('Period?',A,'TimeFiscal year period',mono,free)),[Measures].[0G_AERLOS])</EXPRESSION>
    Is there anything obvious that I missed. Or there are some extra configuration I have to do on SAP BW or Universe side?

    Hi  Mr. MAZOUÉ,
    After a few days of struggling with this particular prompt issue, I finally figured out what was wrong with it. The object reference in the @prompt function is not able to process object references in a subclass correctly.
    For example:
    @Prompt('Period?','A','TimeFiscal year periodL01 Fiscal year period',mono,free)
    The 'Fiscal year period' is a subclass under the main class 'Time'. If you use this prompt function in a MDX expression, it parse correctly. But it generates a prompting failure when referencing the object with the embeded prompt function in a webi report.
    However, if I move the 'L01 Fiscal year  period' object underneath the 'Time' class and change the prompt as @Prompt('Period?','A','TimeL01 Fiscal year period',mono,free). I was able to get a list of values when I designed a webi report using the object.
    This seems to me is a limitation from the current OLAP Universe implementation.
    Looking forward to your feedbacks!
    thanks

  • Javabean Design Question

    I'm new to writing Javabeans but started writing an application to test (and improve!) my knowledge and I have a few questions...
    I have a query that returns data from multiple different tables (like 6-8). I'm trying to decide how to structure my beans. To make it easiest on my JSP code, I wrote a single bean that had fields and accessor methods for the returned columns. However, I'm concerned that my Javabean design inexperience is coming up here. I cdon't think I see much reusuablity in the bean I wrote. Then again, I'm not sure how much reusability any of these beans would have no matter how they're written. And I would think that, from a practical standpoint, many beans are probably written that have little or no reusability value. At the very least though, they're still hiding code/complexity from JSP developers who are more on the HTML side, no? My bigger concern though is my first question. Can anyone offer me some design advice here? It would be much appreciated.
    Also, in a related question, as a rule of thumb, should a Javabean correspond to a single database table? Or is that just a misguided assumption I have from reading an example in a textbook?

    I don't worry about reusability until I've used my stuff at least once. It's gotta be usable before it can be reusable. ;) You might find that some of these beans will carry over to other projects, with some modification. When you've reused them several times you might see a pattern that will allow you to use them in all those projects without changes. If you've done a good job eventually the changes should stabilize, and you'll have some reusable Beans.
    This is a difficult that happens because objects and relational databases are different. It's called the Object-Relational Impedence Mismatch.
    Some people say objects should drive your problem, and that relational databases are merely repositories. The other side says that relational theory is well proven and developed over the last twenty years, so the database should be the focus.
    As much as I like objects, I'd rather not throw away the performance benefits that databases can give me.
    If you've got a single query that brings back data from 6-8 tables and loads it into a single Bean, it suggests that you've got a nicely normalized database. Leave it that way. Check your Bean design again to satisfy yourself that a coherent Bean really does need to draw on 6-8 tables. If it hangs together, leave it.
    There's a lot of work out there on Data Access Objects and persistence layer design. I'd read those, too:
    http://www-106.ibm.com/developerworks/java/library/j-dao/#resources
    If you can, see Martin Fowler's "Patterns of Enterprise Application Architecture". He's got a whole chapter on persistence patterns.

  • BC4J + Struts: Design questions!

    OK, I'm wanting to use Struts with BC4J and have a design question for you BC4J users and gurus.
    Here's how I think things would work:
    1. User requests page
    2. Struts ActionServlet calls perform() on Struts ActionForm
    3. Struts ActionForm instantiates BC4J AppModule and calls business method
    4. BC4J AppModule instantiates necessary BC4J ViewObjects and performs business operations which return data
    5. Struts ActionForm receives value objects from BC4J AppModule
    6. Struts ActionForm populates Struts FormBean
    7. Struts ActionForm forwards to Struts JSP which displays Struts FormBean
    I prefixed the components with Struts/BC4J to keep things clear where things belong.
    Now, here are my questions:
    In step 3, what's the best method of doing this? Do I need to do JNDI lookups every time? What's the performance overhead of this? Anyone have any best-practice code that does this?
    Is this the accepted way of doing things? Is there a better way of designing this system?
    Thanks!

    In Step3 you should use the ApplicationModule pooling framework, especially if you are trying to work in stateful mode because the pooling automatically handle the AM activation/passivation.
    There are different way to go at it.
    If you are using the BC4J custom tag library and have an ApplicationModule tag in your jsp, the pooling is already initialize. By the time your action is trigger you just need to retrieve the am using the application id:
    in your jsp:
    <jbo:ApplicationModule id="myAM" ... />
    in your Action implementation:
    HttpContainer container = HttpContainer.getInstanceFromSession(request.getSession());
    SessionCookie cookie = container.getSessionCookie("myAM");
    ApplicationModule am = null;
    if (cookie != null)
    am cookie.useApplicationModule();
    This AM id can be passed as URL parameter...
    If you do have a JSP with an AM tag you need to create the pool with findSessionCookie call.
    For more info about AM pooling look at the end of this thread for Steve resources:
    http://forums.oracle.com/forums/message.jsp?id=912431&gid=513211
    This is what we are currently doing for to provide support for BC4J in Struts for our next release.
    Charles.

Maybe you are looking for

  • Connection Issues with BT infinity + HH3

    I have had BT infinity installed for a couple of months now and I have got some issues with the connection that I am getting. Now the Internet connection speed is not a issue getting about 35mb wired and 26mb over Wi-Fi and is pretty stable. But when

  • PSE 7 won't launch in Vista 64

    I recently got a new PC with Vista 64. I loaded my PSE 7 using the "Windows XP" mode and everything seemed to go well. The desktop icon looked different and the program would not launch. I got the "can't find the file" Looking at the program file, th

  • Zend AMF issue

    I've got an application that uses Zend Framework to make PHP calls to access a db.  Everything works fine on my development server.  After a few issues, I made the necessary changes to amf_config.ini for the production server.  I checked that the end

  • Computer won't sync ipod

    My computer won't sync my ipod! I restarted my computer a million times. Its not my USB cord because when i plug it, my ipod charges. My computer does nothing! What do i do? I'm soooo frustrated right now.

  • What is spin dump

    i have iMac desktop and i am having a problem with running yahoo. other web sights seem to be ok just loading slow or not the whole thing. I go under activity monitor-Network and it says com.apple.geod not responsive. com.apple.geod and Flash Player