MultiForwardingUDR

The MultiForwardingUDR is used by file based forwarding agents to dynamically define the output file names.

When a MultiForwardingUDR is used, the Filename Template (FNT) is replaced as Input Type. See for example Disk Forwarding Agent Configuration - Batch for how to define Input Type. See also the Filename Template Tab section in Workflow Template.

This functionality is the same for several batch-forwarding agents, such as FTP, HDFS, Archiving, and Amazon S3.

Usually, binary data is sent to the agent and an output file is specified in the Input Type field of the Filename Template tab of the agent. However, filename information can also be selected from a MultiForwardingUDR, which contains both data and name.

Select between:

  1. Bytearray - Sends binary data to the agent. An output file is created according to the configuration in the Filename Template tab.
  2. MultiForwardingUDR - If set, information in the Filename Template tab is ignored. Instead, data and information about file names are received from the MultiForwardingUDR.

A MultiForwardingUDR file name is created using the FNTUDR Functions. The data is set directly in a field called "content" in the UDR. See also the examples for the relevant agents, such as FTP Forwarding Agent MultiForwardingUDR Input.

Configuration of Agents

When an agent is set to use the MultiForwardingUDR input, it accepts input of the UDR type MultiForwardingUDR declared in the FNT folder. The declaration follows:

internal MultiForwardingUDR
{ // Entire file content 
 byte[] content; // Target filename and directory 
 FNTUDR fntSpecification; 
};

The content of the MultiForwardingUDR is stored at the path that you have set in the fntSpecification field. Use the APL functions fntAddString and fntAddDirDelimiter to set the value of this field. For further information about these functions, see FNTUDR Functions.

When the files are received they are written to temp files in the DR_TMP_DIR directory situated in the root output folder. The files are moved to their final destination when an end batch message is received. A runtime error occurs if any of the fields have a null value or if the path is invalid on the target file system.

A UDR of the type MultiForwardingUDR which has a target filename that is not identical to its precedent is saved in a new output file.

Note!

After a target filename that is not identical to its precedent is saved, you cannot use the first filename again. For example: Saving filename B after saving filename A prevents you from using A again. Instead, you should first save all the A filenames, then all the B filenames, and so forth.

Non-existing directories are created if the checkbox Create Non-Existing Directories is selected in the Filename Template tab. If it is empty, a runtime error occurs if there is an unknown directory in the FNTUDR of an incoming MultiForwardingUDR.

Bytearray input is ignored when MultiForwardingUDRs are the expected configuration options in the Filename Template