Isolate error logging down to a business rule.

Thomas_Bennett
New Contributor III

Hi All,

Ive got a problem with transformation/load cube workflow steps in our build, It has been in our applications for over six months (an older dev application has the same problem). This error doesn't seem to cause a problem in our data although may affect a dimension we put into our application for future use, I want to isolate it regardless.

 

The error is an "Object reference not set to an instance of an object error" and doesn't actually stop the workflow step from completing, making it difficult to track exactly what is going wrong. It also doesn't flag when compiling all business rules being only apparent whilst running the rule. This error occurs on all the load/retransform steps I have tested although that doesn't help much as a lot of our transformation rules overlap.

Id really like to know if there is a way of viewing which business rule is failing on running these processes but cannot fathom how, is there a way to do this? 

Thanks,

Tom

Thomas_Bennett_0-1684831917322.png

 

1 ACCEPTED SOLUTION

This is by far the error I hate the most. It tells you that you are trying to get something off of a null object. It could be a dictionary or could be a string (which you are now trying to get the length of). The only way to do that is to populate the rule with debug statements and figure out what is happening. Sometimes it is easy. You will see what is going on; it could be based on the code, like it said, trying to get a value from a dictionary if a key is not present. 

View solution in original post

4 REPLIES 4

OS_Pizza
Contributor III

@Thomas_Bennett  You might want to check if there is any Transformation event handler business rule. It is under Extensibility Rules group.

hiren
New Contributor III

You can look at the Stack Trace section of the Error Log Details which could point to specific function that is throwing the error.

Michel_Sabourin
Contributor II

When I have something like this where I can't tell where the rule is failing, I'll put error log messages at each step with something like "Now running xxx" so I can see how far it got before the message appeared. Or if it's a looping rule, I'll add a counter to it and pass that along as well as any pertinent dimension data.

This is by far the error I hate the most. It tells you that you are trying to get something off of a null object. It could be a dictionary or could be a string (which you are now trying to get the length of). The only way to do that is to populate the rule with debug statements and figure out what is happening. Sometimes it is easy. You will see what is going on; it could be based on the code, like it said, trying to get a value from a dictionary if a key is not present.