ORACLE comments as help text available (long reply)

In a message dated 98-12-05 09:37:54 EST, you write:

Column comments as help text inside BO:
Updating the definitions once the universe has been created. Options are cut and paste from the oracle table into the objects, create a
script
(possibly based on a trigger) to update the repository. Note1 : Using the table browser to bring new tables into the universe
does
not read the strategy file, therefore, the associated Oracle comments
will
not be brought into the universe.

Thanks for your detailled information. Since we have created our universes already, I probably have to populate the
BO repository table(s) with the comment information of the ORACLE
database
with a script.I was looking through the BO repository tables but couldn’t find the table
where the comment/description would be stored. Do you know which table(s) are applicable?Another question: how do you bring in new tables in a universe if you don’t
use the table browser (“note1”)?

Best regards,

Andrea Halbherr

Andrea:

You can insert help text from Oracle columns after the universe is created, but it is not supported. It requires direct manipulation of the BusObj repository tables.

The location of the help text is a bit complicated. There are several places where object information is stored. There is a table called UNV_OBJECT that contains the “header” information for an object. It has the following columns:

OBJECT_ID
UNIVERSE_ID
CLASS_ID
OBJ_NAME
OBJ_HIDDEN
OBJ_POSITION

Only the “singular” information columns are stored here. The actual object data is stored in a table called UNV_OBJECT_DATA. In contains columns:

OBJECT_ID
UNIVERSE_ID
OBJ_DATATYPE
OBJ_SLICE
OBJ_DATAVALUE

The object_id and universe_id are used to join back to the table I have already mentioned. The OBJ_DATATYPE contains one of four possible values: S, W, F, and H. Each data type marks a different type of object data, where S = SQL code (object definition), W = where code (condition objects), F = formatting information (if you have used the predefined formatting capabilities of the Designer application) and H = Help text.

The column called OBJ_DATAVALUE contains the actual SQL or condition or help text.

The column called OBJ_SLICE is used to provide unlimited length to the SQL code. In other words, if you have a simple object definition called TABLE.COLUMN then you will only have one “slice” of SQL code. If, however, you have a fairly complicated object definition that requires 500 characters to implement, you will have 3 “slices” of data. Slice values for each object start with 1 and increment by 1. Since the precision of this column (in my repository) is 6, you can have up to 999,999 slices of help text. I would not suggest you go this far…

So, to insert help text into the repository tables directly, you are going to have to write a script that reviews the oracle column help tables, finds a link based on column name to object name (from UNV_OBJECT), and from there is smart enough to break up the oracle help (which can be several thousand characters long) into 240 character pieces, inserting each piece into the OBJ_DATAVALUE column, setting the various ID values and incrementing the slice value as required.

It’s not a trivial task! :slight_smile:

I do, however, have a script based on Oracle SQL that I would be happy to provide as a starting point. Standard disclaimer applies… it may or may not work for you, and I can’t be responsible, blah blah blah, but I will be more than happy to send it to you if you would like it as a starting point.

Regards,
Dave Rathbun
Integra Solutions
www.islink.com


Listserv Archives (BOB member since 2002-06-25)