Log and Ignore Row Error

From Starfish ETL
Revision as of 17:59, 7 December 2020 by Jkuehlthau (talk | contribs) (Jkuehlthau moved page Logging Row Error to Log and Ignore Row Error)
Jump to navigation Jump to search

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.