Use a Text document to read data from or write data to a file with field and line separators. For example, a CSV file.


Standard procedure

1. Click Connectivity studio Integration Design.
2. Click the Documents tab.
3. Click New.
4. Define a meaningful name for the document.
Example: If the document is used for a sales integration, you can use names like 'Sales - Order' or 'Sales - Invoice'.
  In the Document field, type a value.
 

Note: Best practice: In the document name, do not use the:
- Application: Use the Application field to define the applicable application.
- Document type: Use the Document type field to define the applicable document type.

5. In the Project field, enter or select a value.
6. Define the applicable application for the document. For a Text document, for example, select a 'Windows folder' or 'Files' application.
  In the Application field, enter or select a value.
 

Note: You can only select an application that is defined for the applicable project. You can define project applications on the Projects page.

7. In the Document types field, select 'Text'.
8. Sub-task: Set properties.
  8.1 Expand the Properties section.
  8.2 Define the file encoding to be used when reading or writing the related text files.
The default file encoding is Unicode (UTF-8).
  In the Encoding field, enter or select a value.
  8.3 By default, if the encoding is 'Unicode (UTF-8)', on write, the encoding type is written to the file header.
Select Yes to not write the encoding type to the file header.
  Select Yes in the Without BOM field.
  8.4 You can process an external document in these ways:
- Direct: You can use this to import or export (big sets of) simple data. For simple data, the document lines only have a root record. When a message is run, the data is directly mapped. More technically: it only loads the data in the memory of the record table (usually the BisBufferTable). As a result, the import or export of data is faster.
- Query: You can use this to import or export complex data. For complex data, the document lines have several records and parent-child relations. When a message is run, the records are stored in the record table (usually the BisBufferTable) before the data is mapped. When the message run is finished, the records are deleted from the record table.
  In the Process type field, select an option.
  8.5 It can be, that you receive text files with varying encoding. You can receive these files, based on one document. To do so, use dynamic encoding. As a consequence, on read, the defined file encoding is not used. The used encoding is searched for in the text file and the applicable encoding is used to read the text file.
  Select Yes in the Use dynamic encoding field.
9. Sub-task: Set custom handler.
  9.1 Expand the Custom section.
  9.2 For a Text document, the standard handler class is 'BisDocumentText'. This handler class reads data from or writes data to text files.
You can use a customized handler class. To do so, extend a standard handler class.
  In the Handler field, enter or select a value.
 

Note: Select the 'BisDocumentTextV3' handler, if you, on a message, use the XML document in combination with a connector of one of these types:
- Web service
- Blob storage
- Upload and download
- SharePoint

10. Sub-task: Set read options.
  10.1 Define the filename settings based on which files are searched for when importing data from files.
  Expand the Read section.
  10.2 Define the filename filter to define which files must be imported for the document.
You can use these variables:
- %1: filters files based on the current active company ID.
- %2: filters file based on the file extension. The applicable file extension is defined by the current document type. In this case, it is 'TXT'.
You can also use other common search symbols.
Example: %1*.%2. As a result, files are only imported if the name starts with the current company ID and has the extension 'TXT'.
  In the Read filename field, type a value.
  10.3 You can block files with the same filename from being imported several times.
Each processed file is stored in the file history. If Read only once is Yes, on import, the filenames are compared with the file history. If a file is found that is processed earlier, it is not processed but moved to the Error folder.
  Select Yes in the Read only once field.
  10.4 On running an applicable message, you can have a dialog shown with the data to be imported. You can review the data before it is actually imported. This can, for example, be useful when importing work breakdown structures, because you cannot easily undo the import.
The dialog is only shown if you manually run the message. So, the dialog is not shown if you run the message in batch.
  Select Yes in the Validate input field.
 

Note: If you use input validation, make sure the Process type is set to 'Query'.

11. Sub-task: Set write options.
  11.1 Define the filename settings based on which filenames are created when exporting data to files.
  Expand the Write section.
  11.2 Using a variable, you can add the value of two table fields to the filename. If you want to do so, define the applicable table.
On write, this document is the target document. However, the file name is defined based on the root record values of the source document. So, make sure you select a table and table fields from the root record of the applicable source document.
  In the Table name field, enter or select a value.
 

Note: You cannot use the table name itself as variable in the filename.

  11.3 Define the first table field which value you want to add to the file name. The related variable is '%5'.
  In the First field field, enter or select a value.
 

Note: You can only select a field from the defined table.

  11.4 Define the second table field which value you want to add to the file name. The related variable is '%6'.
  In the Second field field, enter or select a value.
 

Note: You can only select a field from the defined table.

  11.5 To make the filename unique, you can add a unique number to the filename, provided by a number sequence. The related variable is '%4'.
  In the Number sequence field, enter or select a value.
  11.6 Define the filename for the files that are created based on the document.
You can use fixed values and variables. The available variables are:
- %1: The name of the current document.
- %2: The current date.
- %3: The current time.
- %4: The unique number as provided by the defined number sequence.
- %5: The value of the defined First field
- %6: The value of the defined Second field
- %7: The ID of the current company.
- %8: The ID of the current user.
- %9: The file extension as defined by the applicable document type. In this case, it is 'txt'.
- %10: The UTC internet date/time (RFC3339 with underscores). Example: 2021-01-05T14_38_51Z
  In the Write filename field, type a value.
  11.7 If you use a fixed file name, on write, the file can already exist. Indicate the required action:
- Write: The full content of the text file is replaced by the new exported data.
- Append: The new exported data is added below the last line in the existing text file.
  In the Open mode field, select an option.
12. Sub-task: Set record layout options.
  12.1 Expand the Record layout section.
  12.2 You can have a header line in the text file with the document record field names, separated by the field separator. The field values start at the second line.
  Select Yes in the Use header field.
  12.3 You can have the document record name, as identification of the record, added as first value to each record line.
  Select Yes in the Record identification field.
  12.4 By default, the first value of the record in the file identifies the record. However, sometimes another value identifies the record.
If you use record identification, you can define which record value in the file contains the record identification.
For example, if the third value of the record in the file identifies the record, enter '3'.
  In the Record identify number field, enter a number.
 

Note: Only enter a value if another than the first record value in the file identifies the record.

  12.5 Define the wrapper that is put around field values. The default field wrapper is ".
Note: The field wrapper is not applied automatically to all record fields of the document. For each field, indicate whether the wrapper is applied or not.
  In the Field wrapper field, type a value.
  12.6 Define the separator to indicate the end of one record and the beginning of the next record. You can use any character to separate records. The most common record separators are new line (\n), return (\r), and space (\s) or a combination. The default record separator is \r\n.
  In the Record separator field, type a value.
 

Note: Do not use the same separator for records and fields.

  12.7 Define the delimiter to separate the field values of a record. You can use any character to separate the field values. The most common delimiters are the comma, tab (\t), and colon. Also, the vertical bar (or pipe) and space (\s) are sometimes used. The default field separator is a colon.
  In the Field separator field, type a value.
 

Note: Do not use the same separator for records and fields.

  12.8 On import, you can split large text files with a lot of records. To do so, define, the number of root records based on which the file is split.
When the message is run, the original file is put in the Split folder instead of the Working folder, as defined on the applicable connector. The original file is split in smaller files based on the split quantity. The smaller split files are put in the Working folder. The message processes the split files in parallel from the working folder.
  In the Split quantity field, enter a number.
 

Note: Only use the split functionality for simple (one record level) data. It is not suitable for data with multiple levels (header and line records).

13. Close the page.
Related to Notes

Set up Text document

 

See also

Provide feedback