Block Until Done Tool
The Block Until Done tool stops datasets from moving downstream until the last record in the set has been processed by all previous tools. In addition, this tool ensures that only a single output stream receives the completed dataset. Subsequent streams are blocked until all the dataset records are pushed through the first stream.
You can use the tool in the following scenarios:
- When reading and writing to the same file, use the Block Until Done tool to ensure the entire file is read before being written to.
- When writing to an Excel file, you can use the tool to write only to one sheet at a time, preventing write errors.
Keep in mind that the Block Until Done tool can slow down execution because it requires a large amount of memory.
Configure the tool
You do not need to configure the Block Until Done tool. Place the tool at the workflow location where you want to sequence various sets of data. The workflow executes the datasets in the order defined by the Block Until Done tool's output anchors.
Troubleshoot data stream sequence
When two or more Block Until Done tools are on the canvas, Designer must evaluate which related data stream to run. Designer first determines the order in which each tool was added to the workflow using the tool's Tool ID. Designer then runs the data stream that contains the tool that was added first.
If data streams are not running in the expected order, check the tool ID of the tools upstream from the Block Until Done tools. To check tool ID:
- Select the tool.
- In the Configuration window, click the to access the Annotation tab.
- Use ID to see what number is assigned to the tool. This number indicates the order in which the tool was added to the workflow.
Separate stream example
An Input Data tool (ID 1) and a Text Input tool (ID 2) are placed on the canvas. Each input is connected to a Block Until Done tool. The data stream with the Input Data tool runs first, regardless of which Block Until Done tool it is connected to, because its ID indicates that it was placed first.
Shared tool example
An Input Data tool (ID 1) is connected to a Formula tool (ID 2) and a Filter tool (ID 3). Both the Formula and Filter tools are connected to Block Until Done tools. The Formula tool's ID is compared to the Filter tool's ID because they are the furthest upstream tools that are not shared by the Block Until Done tools. The data stream with the Formula tool runs first because its ID indicates that it was placed before the Filter tool.