Error Processing

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
pradkumar
Charter Member
Charter Member
Posts: 393
Joined: Wed Oct 18, 2006 1:09 pm

Error Processing

Post by pradkumar »

Hi

What is an Error Processing table and Audit table.
Plz let me know the concept behind these tables.
How these tables could be built?
Pradeep Kumar
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Something a site chooses to implement.

Nothing to do with DataStage, though that may be the tool used to populate these tables.

My guesses would be as follows.
  • Error processing table records any errors generated within ETL processing.

    Audit table is used to store row count reconciliations.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

Hi pradkumar,
You can let us know, what is this regards to.
It can be either the either the normal naming conventions used in your site or project for the details given by Ray or it can be referred to the database internal tables.
Impossible doesn't mean 'it is not possible' actually means... 'NOBODY HAS DONE IT SO FAR'
pradkumar
Charter Member
Charter Member
Posts: 393
Joined: Wed Oct 18, 2006 1:09 pm

Post by pradkumar »

This is for keeping track of errors. This is a good practice for reconciliation and also to know what errors are present and how to reprocess them.
I did not build one until one.
I need to get more clear picture of how to build it and populate it
Pradeep Kumar
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

As mentioned earlier, its one of the process you like to follow in you development. Error processing tables will mostly be the one which collect all the rejects with the error code. There are several approaches, based on you methodology. Its more flexible if you stored procedure.
Audit table will be the one, which will have the total row count, start time, end time of all the tables while data population (Including Error processing Tables).
Impossible doesn't mean 'it is not possible' actually means... 'NOBODY HAS DONE IT SO FAR'
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

You build these tables according to the specifications of your customer. What information do they want recorded? Once you have those answers, you can figure out how to capture these from DataStage and elsewhere, and create tasks for recording them into the tables.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
pradkumar
Charter Member
Charter Member
Posts: 393
Joined: Wed Oct 18, 2006 1:09 pm

Post by pradkumar »

Right now I am trying to build an audit table which consists of the following information:

1) Batch number of the daily run
2) Extraction start time
3) Extraction end time
4) Time elapsed

SO where to insert this link in the job and how to populate these columns. This table will be an ouput link from Transformer (I guess)
Pradeep Kumar
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

Not necessarily, it can be even on Before/After SQLs. In the before SQLs of the input stage, you can insert the record with the start time as SYSDATE and current batch id as Jobparameter which is passed from JobSequence or the Main job control. And in the After job control populate you can populate the SYSDATE for End time and StartDate - EndDate as ElaspsedTime.
Impossible doesn't mean 'it is not possible' actually means... 'NOBODY HAS DONE IT SO FAR'
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

You never want to do it IN the job.

Do it afterwards, so that you don't slow the job itself.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
pradkumar
Charter Member
Charter Member
Posts: 393
Joined: Wed Oct 18, 2006 1:09 pm

Post by pradkumar »

Ray,

In ur reply "Do it afterwards, so that you don't slow the job itself. "

Afterwards means in the target stage I should start populating my audit table. Or is something else you were mentioning about
Pradeep Kumar
Pavan_Yelugula
Premium Member
Premium Member
Posts: 133
Joined: Tue Nov 23, 2004 11:24 pm
Location: India

Post by Pavan_Yelugula »

Hi
Ray is just suggesting you to capture the audit information outside the actual Job(Main Logic whatever you are doing) coz if you include the audit capturing code in the actual job it will slow your actual job :idea: . hope you got it...

Thanks
Pavan
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

I'd always advocate a separate job. Of course, you may need to detect and trap error information in the job itself, for such is the nature of these things, but simply redirect the error information into a file. The row counts and started/stopped times can be obtained subsequently. Use the times from active stages rather than from jobs (or both) if you're interested in discounting startup and shutdown overheads.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply