-useFilterFormList
(Merge only)
Identify to Merge the forms found by a data conversion filter
Syntax
-useFilterFormList
Description
Have Merge switch to using a set of forms as determined by a data filter.
Operation
This option is used only in concert with a -formList
option that is provided to the ConvertDatToXml
filter. The -formList
option identifies the name of a file to which all form names found in the data file are written. The ConvertDatToXml
filter does that collection of form names and writes them out to the identified file. Then, if Merge is given this -useFilterFormList
option it will discard any initial -form
specification it was given and instead use the list of forms that the ConvertDatToxml
filter found.
Example
Suppose an application produces a data stream that can contain data for each of three possible documents: PurchaseOrder, Invoice, and Statement. Those documents have independently maintained forms. The field nominated format data stream might have something like this in it:
^form PurchaseOrder ^field ... ... ^form Invoice ^field ... ...
Your run of Merge does not know ahead of time which of the three forms will be used. So you supply Merge with a -form
option that lists all the potentially encountered forms.
-form PurchaseOrder;Invoice;Statement
You specify to the filter that you want it to collect up a list of all the forms that the data file of the moment uses.
-filter "ConvertDatToXml -formList formsUsed.txt ...."
Having specified that, the ConvertDatToXml
filter would end up putting the text
PurchaseOrder;Invoice
into the file you nominated for that purpose, in our example formsUsed.txt
.
If you provide Merge with the command line option -useFilterFormList
, after the ConvertDatToXml
filter runs, it will discard the original -form
specification and instead use the form list that it finds in the file that was named by the -formList
option that was given to ConvertDatToXml
. In this example, it would end up with a form list of just PurchaseOrder;Invoice
. As per usual, those forms would be combined into a temporary single form which would be used in the merging of the xml data that resulted from the ConvertDatToXml
filter. Naturally, if our data stream had had ^form Statement
in it, then that form name would have been in the list of form names that was created. Only those form names that occurred in the data stream would end up in the created form list. The form name list has no duplicates and is in the order of their first occurrence in the data stream.
No Path Information
When ConvertDatToXml extracts the form names from its data file, it discards all the path information, leaving it with a 'naked' form name such as Invoice
. When that name is passed on to Merge it will look for that Invoice.xatw
file in the current directory. You will have to take the appropriate steps to ensure that the current directory is where the form design files can be found.