Skip to main content
Processing Object

The Processing Object contains the current state of a Run and the current Record

Praise Magidi avatar
Written by Praise Magidi
Updated over 5 months ago

The Processing Object contains information about the current Run and Record State. This object can be accessed in Calculators ( input.), as Handlebars( {{}} ) or as a parameter replace ({@}).

This is located in the Detailed tab in the Step Debug.

The Run State Object consists of the following properties.

rowNumber:Integer: The current Row number,
recordNumber:Integer: The current Record number. A record is a Row that valid as in not a header, footer, skipped or error.
parameters:{}: The input parameters to the Flow,
parentParameters:{}: The input parameters of the Flow that called this Flow, if applicable,
record:{}: The current Record being processed,
originalRecord:{}: The Record before any mappers were applied, as interpreted by the Reader,
output:Dynamic: The output of a Writer Step,
result:Dynamic: The result of a Destination Step,
header:[]: An array of any Headers parsed,
footer:[]: An array of any Footers parsed,
stats:{
errors:Integer: The number of error Records to this point,
completed: The number of completed Records to this point,
skipped: The number of skipped Records to this point,
headers: The number of headers parsed to this point,
footers: The number of footers parsed to this point
},
totals:{}: The current running totals if an Accumulator Step was used,
runInfo:{
runDate:Date: Date:The date the run was created,
timeStamp:String: The ISO date string the Run was created,
day:String: The day the Run was created e.g. "15" for the 15th of the month,
dayOfWeek:String: The Day of the week the Run was created e.g. "Sunday",
hour:String: The hour the Run was created e.g. "20" for the 8 pm,
minute:String: The minute the Run was created e.g. "01" for the 1st minute,
second:String: The second the Run was created e.g. "01" for the 1st second,
month:String: The month the Run was created e.g. "12" for December,
year:String: The year the Run was created e.g. "2018",
shortYear:String: The short year the Run was created e.g. "18" for 2018,
runUID:String: A unique id that can be used for external services,
runId:String: The internal Run ID,
batchId:String: A batch id passed as parameter Batch ID,
flow:{
_id:String: The internal Flow identifier,
name:String: The system generated Flow Name,
title:String: The user assigned name of the Flow
},
source:{}: The source of the Run,
lastRun:Date: The date the Flow was last successfully Run,
lastRunFailed: The date the Flow last failed to Run,
org:{
_id:String: The internal Organization identifier,
name:String: The system generated Organization Name,
title:String: The user assigned name of the Organization
},
nextSequence:Integer: The next sequence of the Flow,
timeout:Integer: The timeout, in minutes, of the Flow,
},
processedFilePath:String: The path of the currently processed file, if a file was processed,
processedFileName:String: The filename (from the path) of the currently processed file, if a file was processed


These properties can be used in various Steps as part of the configuration. So for example, the Path of a destination may be {@processedFileName} or the filename could be created from a set of parameters e.g.

In a calculator, the entire object is passed as the parameter "input":

In a Field Mapper, use the parameters inline or as part of a handlebars template as per the example in the image below.

Did this answer your question?