Log and Ignore Row Error: Difference between revisions

From Starfish ETL
Jump to navigation Jump to search
No edit summary
No edit summary
Line 13: Line 13:
}
}
</syntaxhighlight>
</syntaxhighlight>
The error for me was always happening on the first Stage.  I then have a second stage that updates the Origin with the foreign ID or the error, depending on if the first stage is successful or not.  I set my origin update stage to not update blank values so it will only set 1 field or the other because only one will have a value.

Revision as of 17:58, 7 December 2020

To log an error on a Row, we must ues the Starfish.ErrorMessage property. To continue running a job when a row errors, we need to set Starfish.SuppressError=true; in an "On Row Error" POST-PROCESS.

First, create an "On Row Error" POST-PROCESS. In my post process, I use a globally created C# variable so I can use the Error Message later in the job.

//"On Row Error" POST-PROCESS
void CSharpProcedure()
{
    sQuoteToNSError = Starfish.ErrorMessage;
    //Starfish.LogMessage(sQuoteToNSError);
    //There's also a boolean you can set called "SuppressError" which will swallow the error and allwo the process to continue
    //I could check the error message for something and then set that to true if I want to ignore it.
    Starfish.SuppressError=true;
}

The error for me was always happening on the first Stage. I then have a second stage that updates the Origin with the foreign ID or the error, depending on if the first stage is successful or not. I set my origin update stage to not update blank values so it will only set 1 field or the other because only one will have a value.