Oracle Analytics Cloud and Server

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

How can I generate new UPGRADEID's for certain objects in an RPD?

Received Response
53
Views
9
Comments
Jerry S.
Jerry S. Rank 4 - Community Specialist

We have a very old RPD, that has had a lot of developers adding, changing, deleting, etc.

I was trying to copy a portion of the RPD to a new RPD as the result of a request.

I can copy the information in the Physical layer without any problems, but when I try to copy the business layer, I get a very strange

error type situation that pops up. In the SQL, it shows a table that does not exist.

In the physical layer tbl_employee joins to tbl_calendar on a date field.

When I try to copy the business layer to the new RPD,a Metadata Script Execution Error comes up. Here is what it looks like:

DECLARE LOGICAL TABLE SOURCE "Human Resources"."Dim - Time"."tbl_employee" AS "tbl_employee"

                PROJECT (

                                 {"Human Resources"."Dim - Time"."cal_date"}  AS {"Data Warehouse"."Reference"."dbo"."tbl_calendar"."cal_date"} ,

                                 {"Human Resources"."Dim - Time"."Date Created"}  AS {"Data Warehouse"."HR"."dbo"."tbl_employee"."date_HR_rec_created"}  )

                FROM

                (

                                ( "Data Warehouse"."HR"."dbo"."tbl_employee"

                                                ( "Data Warehouse"."HR"."dbo"."tbl_employee",  "Data Warehouse"."Reference"."dbo"."tbl_calendar", "tbl_calendar_tbl_employee"

                                                   LEFT OUTER JOIN

                                                   MANY TO ONE)),

                                ( "Data Warehouse"."Reference"."dbo"."tbl_calendar"

                                                ( "Data Warehouse"."Reference"."dbo"."tbl_calendar",  "Data Warehouse"."HR"."dbo"."tbl_employee",  "tbl_calendar_tbl_employee"

                                                   RIGHT OUTER JOIN

                                                   ONE TO MANY))) CAN NOT COMBINE

"tbl_calendat_tbl_employee" does not exist. That is a concatenation of the names of the two tables that are being referenced.

There is an error message at the top of the screen that says [nQSError: 28006] Near Line 341, <"tbl_calendar_tbl_employee">: Not defined

I know that this has to do with the UPGRADEID's, but I am intentionally trying to generate different UPGRADEID's, and I was hoping

that by doing the copy into a new blank RPD, new UPGRADEID's would be generated.

Does anyone know how I can accomplish generating new UPGRADEID's? Is there a tool or utility that would do that?

Answers

  • rmoff
    rmoff Rank 6 - Analytics Lead

    *shudder*

    Why not just use the supported route through RPD merge in the Admin Tool?

    Hacking around with the RPD like this is only going to end in tears.

  • [Deleted User]
    [Deleted User] Rank 2 - Community Beginner

    Image result for step away from the computer

    Jokes aside. Stop what you're doing. You're not supposed to do things this way.

  • Jerry S.
    Jerry S. Rank 4 - Community Specialist

    In our RPD, we have one large physical data base, then many different business and presentation layers.

    This includes the HR data.

    It has been decided that the HR department should have their own RPD, and will maintain it accordingly.

    The HR information consists of over a hundred tables (many with complex joins and where clauses), as well as

    hundreds of fields with many specifications.

    Here is what I did:

    01. Copied the main RPD, to create an HR RPD.

    02. Removed everything that is not related to HR from the HR RPD.

    03. Removed everything related to HR from the main RPD.

    04. Physical database in the HR RPD was given a new name (Requirement).

    My plan was to give the new HR RPD to the HR department for them to maintain as needed.

    The HR RPD would be merged into the main RPD for Production.

    Unfortunately, even though the Physical data base name was changed, the merge still causes issues because it thinks that the physical databases are both the same data base.

    That's why I am trying to reset everything in the HR RPD so that it would be treated as a completely different RPD with different objects.

  • rmoff
    rmoff Rank 6 - Analytics Lead

    Hi Jerry,

    I'm a bit confused. In your first post you talk about copying objects between RPDs manually. Your last post though talks about doing a merge.

    Are you using the AdminTool to do the merge?

    Why do you need to change the physical database name in the HR RPD? Is the same physical database object used by the main RPD?

  • [Deleted User]
    [Deleted User] Rank 2 - Community Beginner

    +1 to Robin - I'm a bit confused but I'll go with what you wrote just now for a second:

    So basically if this is your real approach then you may want to adjust this a bit. Pruning the RPD and deleting stuff is obviously not working as you think it would so what you might do instead to get a "new" and "standalone" HR RPD is to create a blank RPD and use the "Import from RPD" functionality:

    pastedImage_0.png

    Still I have to say this won't necessarily be 100% the solution you are looking for since you say two rather contradicting things:

    1.) HR department should have their own RPD, and will maintain it accordingly

    2.) The HR RPD would be merged into the main RPD for Production

    If it's merged then it's not necessarily "their own RPD" as I fear you're seriously underestimating the impact of shared and reused objects like RPD/session variables, init blocks, security filters based on application roles and the likes.

    Which RPD will be leading for init blocks? Which one iwll be leading for variables? Which one for security? What happens if both contain and touch the same entity?

  • Jerry S.
    Jerry S. Rank 4 - Community Specialist

    When I try to use the "Import from Repository" option, I get the following error:

    [nQSSError: 12033] A client tried to connect to a server that is not of the right type.

    Any idea as to what that is about? The same Admin tool was used for both RPD's.

    The Admin tool is on a Windows server and the online RPD that I want to copy from is on a Linux server.

  • [Deleted User]
    [Deleted User] Rank 2 - Community Beginner

    But are both physical .RPD files? Both of the same version? Super strange

  • Jerry S.
    Jerry S. Rank 4 - Community Specialist

    Yes. The only difference is that one is offline and one is online.

    And they are on different servers.

  • [Deleted User]
    [Deleted User] Rank 2 - Community Beginner

    Ah. Import from RPD should only happen offline to offline