Skip to main content

xSuite Interface Windows Prism 5.x – Online Help

General Properties

The following properties are valid for all index data readers.

The specific properties of the index data readers are described in the individual reader sections. There, the individual syntax of the ProcessReadIndex[].Field[].InputName property is also explained for each index data reader. Through this property, an index value is extracted from a file attachment.

A field catalog is assigned to a document only when the index data reader is executed. Initially, the default field catalog will be used to execute all index data readers in the order in which they are defined, and to transfer the read contents to the target fields. If no index data reader is defined or no reader is executed conditionally, the fields of the catalog will remain at the initial values. If an alternative field catalog is used based on the contents read, the default catalog will be discarded in its entirety, and the process described will be repeated for the new catalog.

Property

Description

ProcessReadIndex[].Type*

Type of index data reader (i.e., the data format to be read):

  • Csv: text file in CSV format

  • Custom: custom index data reader

  • EasySid: EASY standard import file

  • FileName: any file

  • InternalJson: internal document object in JSON format

  • Json: JSON file

  • Mail: email file (i.e., EML file or MSG file)

  • MsExcel: Microsoft Excel file

  • MsWord: Microsoft Word file

  • Pdf: PDF file

  • PeppolInvoice: PEPPOL XML file (i.e., invoice or credit note in "BIS Billing 3.0" format)

  • PeppolInvoice: PEPPOL XML file (i.e., invoice or credit note in "BIS Billing 1.0" format)

  • UblInvoice: UBL XML file in version 2.4 (invoice or credit note)

  • WebService: index file from "WebServiceIndexClient," "WebServiceInput," or "WebServiceOutputClient"

  • Xml: XML file

  • XRechnung: XRechnung XML file

  • XSuiteBus2: index file from xSuite Bus Prism 2.x

  • XSuiteEDnaInvoice: incoming invoice from xSuite eDNA

  • XtractDat: para.dat index file from an IRISXtract batch

  • Zugferd: ZUGFeRD PDF file or XML file in version 2.x

The index data reader FileName, unlike the other readers, does not interpret the data in terms of content; instead, it just extracts values from the input file path or input file name.

Some index data readers (e.g., WebService or the readers for the e-invoice formats) are specialized forms of the generic reader Json and Xml. Compared to the generic readers, these specialized readers facilitate the configuration, since in these cases the data structures are known.

ProcessReadIndex[].ConditionMacro

Field macro expression if the processing of an index data reader is to be executed only under certain conditions (optional)

The field macro expression must return a corresponding Boolean value. If the property value is missing, the condition will implicitly be considered satisfied.

ProcessReadIndex[].FileFilter(%)

Name filter for selecting the index file to be read from the document's file attachments

If the value is missing, a filter value matching the data format in question will be set by default (e.g., *.json for the JSON format).

Only the first file attachment found that matches the filter pattern is used to extract the index data. In the case of ambiguities, the file is determined based on known priorities. If, based on the input data, a file is explicitly known to be an index file or a primary file, it will be prioritized above a file that is a supplementary attachment to such a file.

If a file that is not of the correct type is transferred to an index data reader according to the filter, processing will usually result in an error. For the PEPPOL, XRechnung, and ZUGFeRD e-invoice formats, however, an explicit check for a valid format is performed in advance, in order to skip the problematic file and avoid a general processing error.

ProcessReadIndex[].ReadMultiValues

Boolean value determining whether multiple values will be copied to a single target field

Default value: false (only the first value will be adopted)

This property applies if multiple values are found for an input field definition in an index file, but the target field for it is a single field. This might be a header data field or an item data field if multiple values are found for a field within an item row. This property is supported by the following index data readers:

  • Custom

  • Csv

  • Json

  • Mail

  • Pdf

  • PeppolInvoice

  • PeppolPintInvoice

  • UblInvoice

  • Xml

  • XRechnung

  • Zugferd

Multiple values are transferred in the form of an array, dynamically depending on the number of values actually read. If multiple values are read, an array is transferred. If only one value is read, a single value is transferred. When processing the values, it may be necessary to differentiate between cases or convert them to a uniform format. A single value can be converted to an array using the !IsArray() check and then executing the ToArray() macro. Alternatively, an array can be converted to a single value separated by delimiters using the ToText() field macro function.

ProcessReadIndex[].Field[].Name*

ProcessReadIndex[].Field[].InputName

ProcessReadIndex[].Field[].InputFormat

Definition of the assignment of fields to be read into their target fields in the field catalog

Under .Name, specify the name of the target field analogous to the property of the same name in the field catalog. Under .InputName, specify the definition of the respective source field from the index data. Use the respective syntax for the data format. (For more information on the syntax, see the respective index data reader.)

If the name of the target field in the field catalog is identical to the name of the source field, you can omit the .InputName. In that case, the name of the target field will be used as the default value. Note, however, that the value can only be omitted if the data format does not require the .InputName to have any special syntax, (i.e., if it requires only a simple field name).

The meaning of an .InputFormat depends on the context. In principle, a typed value from the index data is copied unchanged as this type into the target field. If there is no direct equivalent, the value will be copied as an equivalent type. If the source type is a string, but the target type is not (property FieldCatalog[].Field[].InitType), an attempt will be made to parse the string based on the defined input format, and to convert it to the desired target type. This is necessary, for example, with the generic XML index data reader because no XML schemas are evaluated and thus all index data technically represent only text strings. With the specialized XRechnung XML reader, on the other hand, the concrete index fields and their data types are known and can thus be read in directly by type.

The syntax for the input format depends on the target data type. If no input format is defined, a generic parser will try to interpret the index value according to the data type.

Use the following syntax for the target data types:

  • Number: only specify the decimal separator:

    • . (period)

    • , (comma)

  • Date: specify a pattern of date format structure (e.g., yyyy-MM-dd for a date of the form 2021-12-31). The most common identifiers in such a pattern are:

    • yy or yyyy: two-digit or four-digit year number

    • M or MM: month from 1 to 12 or from 01 to 12

    • d or dd: day from 1 to 31 or from 01 to 31

    • M or MM: hour from 0 to 23 or from 00 to 23

    • m or MM: minute from 0 to 59 or from 00 to 59

    • m or MM: second from 0 to 59 or from 00 to 59

  • Bool: no explicit specification required. 0 and 1 as well as true and false are implicitly supported (case-insensitive).