I've a script component which accepts records from SQL Azure database table. The script then invokes a web service, which returns the number of failed and success records.
For all the records, I would like to add the Status field which has either "success" or "fail" and this gets output from script component.
I then log those output into a text file.
Problem:
I'm not been able to add status for each input records since the web service call only happens on post execute.
I tried this but still doesn't work:
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
listOfData.Add(new ClockData
{
TimeClockID=Row.TimeClockID,
PersonID=Row.EmployeeCode,
LocationCode=Row.ClockInServiceContextID,
ClockInDateTime=Row.ClockInDateTime,
ClockOutDateTime=Row.ClockOutDateTime
});
}
public override void CreateNewOutputRows()
{
MessageBox.Show("Test CreateNewOutputRows");
MessageBox.Show(listOfData.Count.ToString());
foreach (var item in listOfData)
{
Output0Buffer.AddRow();
Output0Buffer.EmployeeCode = item.PersonID;
MessageBox.Show(item.PersonID);
}
}
Best Answer
Everything in a Transformation is done within Input0_ProcessInputRow The solution would essentially be
You may be able to perform the output steps in PostExecute, CreateNewOutputRows is not run in Transformation, only in Destination scripts.