Rejected bad file – Can be a life saver!! (Informatica)

July 2, 2013

Just curious to write on this, something not every one would be aware of. This can be really useful in finding the real BUG in you Informatica code. This one good thing in Informatica has a lot to say. Yes when you have a error thrown on running your Informatica session with a row returned to the Bad file, would wonder how can the bad file help or why do we need a bad file to just see a rejected row in it!!

With combination of the session log along with the Rejected bad file can be a a life saver for any Informatica developer. The Rejected bad file saves at the path $PMBadFileDir (by default a bad file directory in your Infa root folder).

So here for all those who are not aware, and for those who are aware but are missing some clarity on this. When we have an error where a data is rejected from being inserted to the target and gets loaded to the bad file, this is majorly due to some data type mismatch or some non NULL allowing target column being inserted with a NULL value and many more such data
issues. How to track what is what here??

That is where the bad file concept comes into the picture to help us out. We have two indicators in a bad file, the row indicator and the column indicator. Where the row indicator says about the whole row and the column says about each column value whether its a valid or an invalid data.

Tips: For a clear and easy reading of the bad file, Save it as a CSV file and open it.

Row Indicator:

The first column in the reject file is the Row Indicator , that determines whether the row was for insert, update, delete or reject. It is basically a flag that determines the Update Strategy for the data row. When the Commit Type of the session is configured as “User-defined” the row indicator indicates whether the transaction was rolled back due to a non- fatal error, or if the committed transaction was failed.


Column Indicatror:

Then is the column indicator, each one along with respective column in the bad file gives the column indicator. It says about the column data that was being inserted/updated to target and might have rejected. The column indicator has several meaning to its value as is shown below.



Hope this helps, keep sharing as knowledge acquired has its value when its shared 🙂


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: