Recognize an OCI stage in DS_JOBOBJECTS

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
Umbix62
Participant
Posts: 79
Joined: Mon Jan 16, 2006 2:47 pm

Recognize an OCI stage in DS_JOBOBJECTS

Post by Umbix62 »

How can I recognize an OCI stage in the DS_JOBOBJECTS table (or other one) of DataStage Repository?

Can I know the columns name and type used in referenced stages from the previous query?

Thank you in advance

Umberto
kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

All records in DS_JOBOBJECTS are controller or identified by the field OLETYPE. This field really identifies the Windows program which deals with that plugin. You do not really care about how it is implemented normally all you want to do is report on it. The Oracle plugins almost all have OCI in the name. I could look them up if you want. The NAME field in DS_JOBOBJECTS is either the link name or the stage name in most cases. To get the job name you need to join JOBOBJECTS.OBJIDNO = DS_JOBS.JOBNO. There is lots of SQL posted to show how to get some of these fields.
Mamu Kim
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Most of the columns in the Repository tables are (deliberately) un-named. This allows the vendor to maintain the mystique and to make hacking the repository more difficult. It is also the case that many of the repository tables contain more than one record type (and therefore record format), which makes a mockery of formal SQL nomenclature - but is perfectly acceptable in a non-first-normal-form database such as the DataStage Engine.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Umbix62
Participant
Posts: 79
Joined: Mon Jan 16, 2006 2:47 pm

Post by Umbix62 »

kduke wrote:All records in DS_JOBOBJECTS are controller or identified by the field OLETYPE. This field really identifies the Windows program which deals with that plugin. You do not really care about how it is implemented normally all you want to do is report on it. The Oracle plugins almost all have OCI in the name. I could look them up if you want. The NAME field in DS_JOBOBJECTS is either the link name or the stage name in most cases. To get the job name you need to join JOBOBJECTS.OBJIDNO = DS_JOBS.JOBNO. There is lots of SQL posted to show how to get some of these fields.
Thank you for the answer. Another question. Once it recognize the rows related to an OCI stage in the DS_JOBOBJECTS, can I extract the informations about the layer of tha table referenced by the stage? For example.

Using the designer I create a Job Server reading from an Oracle Table and writing data into a delimited file. The Oracle Table has only two columns. Column "A", varchar(255) not null, and column "B", decimal(10,2) not null. How can I referenced the information about columns of Oracle Table reading the DataStage Repository (in my example extracting information about columns "A" and "B"?

Thank you in advance

Umberto
kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

Post your OLETYPE for the link in question then we will see if we can extract the column names. You need to specify the exact columns you want. Most plugins use a Custom stage and the table name is buried in a property field. There is a property name field and an associated property value field. If I remember correctly the property name is TABLE. These are multivalued fields. There are many property names and values in one record. Once the dictionary fields are created then you can report on them.

Column names and types are also multivalued.
Mamu Kim
kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

You can extract this information in a DS job and create your own metadata tables. The latest EtlStats has several jobs which do this now. The dictionary items are also included. One of the jobs pulls the table names from custom links. It also pulls the property for truncate so I could create a report of all jobs which truncate or clear the table. We do not want to back these tables up any more so we put them in a separate schema.
Mamu Kim
Post Reply