Use a JSON document to exchange data with an application that uses data-object notation. 

With a document of type JSON, you can read data from or write data to a JSON file.


Application Consultant Application Consultant Start Start Set up document - JSON Set up document - JSON Use a JSON document to exchange data with an application that uses data-object notation. With a document of type JSON, you can read data from or write data to a JSON file.For more information  JSON, refer to Introducing JSON. 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 JSON 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 'JSON'. 8. Sub-task: Set properties. 9. Expand the Properties section. 10. In the Encoding field, enter or select '65001: Unicode (UTF-8)'. 11. In the Process type field, select an option. 12. Sub-task: Set custom handler. 13. Expand the Custom section. 14. For a JSON document, two standard handler classes are available: 'BisDocumentJson' and 'BisDocumentJSONv2'. These handler classes read data from or write data to JSON files. You can use a customized handler class. To do so, extend a standard handler class. You are advised to use the 'BisDocumentJSONv2' handler class. In the Handler field, enter or select the desired handler class. Note: Select the 'BisDocumentJSONV3' 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 15. Sub-task: Set read options. 16. Expand the Read section. 17. In the Read filename field, type a value. 18. Select Yes in the Read only once field. 19. 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'. 20. Sub-task: Set write options. 21. Expand the Write section. 22. 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. 23. 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. 24. 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. 25. In the Number sequence field, enter or select a value. 26. In the Write filename field, type a value. 27. Close the page. Initialize records  and fields? Initialize records  and fields? Initialize document records and fields Initialize document records and fields For documents of type XML or JSON, you can initialize the records based on an input file. To initialize records and fields for:An XML document, you can use an input file of type XML or XSD.A JSON document, use an input file of type JSON.On initializing records, also the fields that are defined in the input file, are initialized. If you initialize based on:An XML file, only the field names are known and added to the relevant document records.An XSD file, besides the field names, also the field properties can be defined and added to the relevant document records.A JSON file, only the field names are known and added to the relevant document records.When the initialization is finished, review and complete the properties of the initialized records and fields.Usually, during review, you do not add records or fields. However, you can remove the not needed record and fields. Procedure 1. Click Connectivity studio Integration Design. 2. Click the Documents tab. 3. In the list, find and select the desired document of type XML or JSON. 4. Click Edit. 5. In the Record section, click Initialize. 6. On the dialog, in the Connector field, enter or select the desired connector of type Azure file storage 7. Select the input file for the initialization. If the document type is: - XML, select a file of type XML or XSD. - JSON, select a file of type JSON. In the File name field, enter or select a value. Note: The default filter is defined by the Read filename field on the document header. 8. Click OK. 9. A dialog is shown with these options: - Yes: all existing records and fields in the document are deleted and new records and fields are added based on the selected XML or XSD file content. - No: New records and fields are added based on the selected XML or XSD file content. Existing records and fields are kept in the document. - Cancel: The initialization is stopped before adding records and fields to the document. Click Yes. Note: This dialog is only shown for XML documents. 10. Close the page. Add document records - JSON Add document records - JSON To each document, add the data records to be exchanged. For external file-based documents, set up the records in line with how the data is structured and named in the file.This topic explains how to add records to a JSON document.If records are already initialized for the document, you can review and complete the setup for these records. To do so, instead of adding a record, select the desired record. Procedure 1. Click Connectivity studio Integration Design. 2. Click the Documents tab. 3. In the list, find and select the desired JSON document. 4. Click Edit. 5. In the Record section, click Add line. 6. In the Record field, type a value. 7. In the Record table field, keep the default value 'BisBufferTable'. 8. In the Parent record field, enter or select a value. 9. Select Yes in the Combine with parent record field. 10. In the Join mode field, select an option. 11. Select Yes in the History field. 12. Sub-task: Set record details. 13. Select Yes in the Unnamed root name field. 14. Define the type of record. You can use these types: - Array: Use this if the record can represent more than one object and the maximum number of objects is unknown. So, you can have several objects in an array. - Object: Use this if the record represents one object. - Field array: Usually, you have an object or an array of objects. In some specific cases, you can use an array to represent a field that can have several different values. In the JSON type field, select an option. Note: Example, an address can have several address types. So, the same address is used to deliver and to invoice. In JSON you can use an AddressType array with several values. The array has the values Invoice and Delivery. In this case, use the JSON type Field array. 15. In the External name field, type a value. 16. Close the page. Notes Generic external document record details fields:External reference: You can indicate which field of the record contains the unique ID of the record in the external database. In this way, you link the external ID to the D365 FO record ID. Note: Usually, you only use this for an ODBC connection with CRM or if you use web services.Revision field: You can indicate which of the records fields contains the revision of the record in the external database. In this way, you find and link the latest revision to the record ID. Note: You can only use this field in combination with the External reference field. Manage document record setup - External documents

Manage document record setup - External documents

You have several options to manage the document record setup for external file-based documents.

You can:
  • Change the sequence of the records.
  • View where a record is used.
  • Validate the record setup.

Select fields Select fields You can add a selection of table fields to a record. You can select fields from the D365 FO table that is defined in the Record table field.This is mainly applicable to internal documents. However, you can also use this to quickly set up fields for external file-based documents.When the field selection is added to the record, review and complete the properties of the added fields. Procedure 1. Click Connectivity studio Integration Design. 2. Click the Documents tab. 3. In the list, find and select the desired document. 4. Click Edit. 5. In the Records section, in the Record list, find and select the desired record. 6. Click Select fields. 7. Sub-task: Define filter. 8. In the Table name field, enter or select a value. 9. Select Yes in the Show system fields field. 10. Select No in the Show inherited fields field. 11. Usually, you add fields to an internal document record with the type as defined in the table setup. However, you can add all selected fields with the type set to String. Select Yes in the Create as string fields field. Note: This field is only available for internal documents. 12. Sub-task: Select fields. 13. Click Select the fields of a specific group to open the drop dialog. 14. In the Field group name field, enter or select a value. 15. Click OK. 16. Click Select all. 17. Click Deselect all fields. 18. Click Select mandatory. 19. Select the Selected check box for the desired fields. 20. Click OK. Copy fields Copy fields You can copy fields from a record of another document. You can use this, for example, to save setup time if you use a specific record in several documents.You can only copy fields:From a record with the Record table defined.To a record with no fields.As a result, the full field setup is copied from the selected record to the current record. Procedure 1. Click Connectivity studio Integration Design. 2. Click the Documents tab. 3. In the list, find and select the desired document. 4. Click Edit. 5. In the Record section, in the Record list, find and select the desired record. 6. Click Copy fields. 7. In the Record field, select the desired record from another document. Note: You can only select a record with the same Record table defined as the current record. 8. Click OK. 9. Close the page. Add document record field - JSON Add document record field - JSON To each document record, add the data fields which values must be exchanged. For external file-based documents, set up the fields in line with naming in the file.For JSON documents, fields are always of type string, to enable type conversions.This topic explains how to add record fields to a JSON document.If fields are already initialized for the document, selected for the record, or copied to the record, you can review and complete the setup for these fields. To do so, skip step 6. Procedure 1. Click Connectivity studio Integration Design. 2. Click the Documents tab. 3. In the list, find and select the desired JSON document. 4. Click Edit. 5. In the Records section, in the Record list, find and select the desired record. 6. On the Fields tab, click New. 7. As a field name, enter a free-definable name. Usually, this is the name used in the external file. In the Field name field, type a value. Note: The value of this field cannot have spaces. 8. As a record table, enter a free-definable name. Usually, this is the name used in the external file. The value, as entered in the Field name field, is the default value. You can change this value. In the Record table field field, type a value. Note: The value of this field cannot have spaces. 9. Select the Key field check box. 10. In the Mandatory field, select an option. 11. In the Length field, enter a number. 12. In the Field type field, select an option. 13. Select the Skip empty check box. 14. Select the Array check box. 15. Sub-task: Set external references for record. 16. In the Line details section, set the external references for the record. You can indicate which of the records fields contains the unique ID of the record in the external database. In this way, you link the external ID to the record ID. In the External reference field, enter or select a value. Note: Usually, you only use this for an ODBC connection with CRM or if you use web services. 17. You can indicate which of the records fields contains the revision of the record in the external database. In this way, you find and link the latest revision to the record ID. In the Revision field field, enter or select a value. Note: You can only use this field in combination with the External reference field. 18. Close the page. Manage document record field setup

Manage document record field setup - Internal documents

You have several options to manage the document record field setup for internal documents.
You can:

  • Change the sequence of the fields.
  • View where a field is used.
  • Clean up unused fields.
  • Create a related record.

Validate connectivity setup

Validate connectivity setup

If you open a form or save (changes to) the setup of a key element in Connectivity studio, the setup is validated automatically. If errors are found in the setup, an error icon   is shown. You can click the icon to show the related error messages.

You can also manually start an automated test to check for errors in the setup. As a result, the found errors are shown. Also, the error icons are shown where applicable.
When errors are found, you can try to fix these errors automatically.
You can check and auto-fix errors for these key elements in Connectivity studio:
 

Key element

Check

Projects

When automatically checked, only the project setup is checked, and not the related setup like messages and connectors. When started manually, the full project setup is checked.

Documents

The document setup is checked, including the document records setup.

Document records

Only the document records setup is checked.

Messages

The message setup is checked, including the data synchronization setup and message mapping.

Message - Data synchronization setup

Only the data synchronization setup is checked.

Message mapping

Only the message mapping is checked.

Message business events

A check is done if a business event is created for the message business event. Also, a check is done if the target fields and source fields match with the related document setup.

Connectors

Only the connector setup is checked.

Web services

The web service setup is checked, including the data synchronization setup.

Web service - Data synchronization setup

Only the data synchronization setup is checked.

 
In this flow, in the activity steps, as an example, the validation is done for documents.

End End Yes No

Activities

Name Responsible Description

Set up document - JSON

Application Consultant

Use a JSON document to exchange data with an application that uses data-object notation. 
With a document of type JSON, you can read data from or write data to a JSON file.
For more information  JSON, refer to Introducing JSON.

Initialize document records and fields

Application Consultant

For documents of type XML or JSON, you can initialize the records based on an input file. 
To initialize records and fields for:
  • An XML document, you can use an input file of type XML or XSD.
  • A JSON document, use an input file of type JSON.
On initializing records, also the fields that are defined in the input file, are initialized. If you initialize based on:
  • An XML file, only the field names are known and added to the relevant document records.
  • An XSD file, besides the field names, also the field properties can be defined and added to the relevant document records.
  • A JSON file, only the field names are known and added to the relevant document records.
When the initialization is finished, review and complete the properties of the initialized records and fields.
Usually, during review, you do not add records or fields. However, you can remove the not needed record and fields.

Add document records - JSON

Application Consultant

To each document, add the data records to be exchanged. For external file-based documents, set up the records in line with how the data is structured and named in the file.

This topic explains how to add records to a JSON document.

If records are already initialized for the document, you can review and complete the setup for these records. To do so, instead of adding a record, select the desired record.

Manage document record setup - External documents

Application Consultant

You have several options to manage the document record setup for external file-based documents.
You can:
  • Change the sequence of the records.
  • View where a record is used.
  • Validate the record setup.

Select fields

Application Consultant

You can add a selection of table fields to a record. You can select fields from the D365 FO table that is defined in the Record table field.

This is mainly applicable to internal documents. However, you can also use this to quickly set up fields for external file-based documents.

When the field selection is added to the record, review and complete the properties of the added fields.

Copy fields

Application Consultant

You can copy fields from a record of another document. You can use this, for example, to save setup time if you use a specific record in several documents.
You can only copy fields:
  • From a record with the Record table defined.
  • To a record with no fields.
As a result, the full field setup is copied from the selected record to the current record.

Add document record field - JSON

Application Consultant

To each document record, add the data fields which values must be exchanged. For external file-based documents, set up the fields in line with naming in the file.

For JSON documents, fields are always of type string, to enable type conversions.

This topic explains how to add record fields to a JSON document.

If fields are already initialized for the document, selected for the record, or copied to the record, you can review and complete the setup for these fields. To do so, skip step 6.

Manage document record field setup

Application Consultant

You have several options to manage the document record field setup for internal documents.
You can:
  • Change the sequence of the fields.
  • View where a field is used.
  • Clean up unused fields.
  • Create a related record.

Validate connectivity setup

Application Consultant

If you open a form or save (changes to) the setup of a key element in Connectivity studio, the setup is validated automatically. If errors are found in the setup, an error icon   is shown. You can click the icon to show the related error messages.

You can also manually start an automated test to check for errors in the setup. As a result, the found errors are shown. Also, the error icons are shown where applicable.
When errors are found, you can try to fix these errors automatically.
You can check and auto-fix errors for these key elements in Connectivity studio:
 

Key element

Check

Projects

When automatically checked, only the project setup is checked, and not the related setup like messages and connectors. When started manually, the full project setup is checked.

Documents

The document setup is checked, including the document records setup.

Document records

Only the document records setup is checked.

Messages

The message setup is checked, including the data synchronization setup and message mapping.

Message - Data synchronization setup

Only the data synchronization setup is checked.

Message mapping

Only the message mapping is checked.

Message business events

A check is done if a business event is created for the message business event. Also, a check is done if the target fields and source fields match with the related document setup.

Connectors

Only the connector setup is checked.

Web services

The web service setup is checked, including the data synchronization setup.

Web service - Data synchronization setup

Only the data synchronization setup is checked.

 
In this flow, in the activity steps, as an example, the validation is done for documents.

Provide feedback