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.


Standard 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. As a record name, enter a free-definable name. Usually, this is the name used in the external file.
  In the Record field, type a value.
7. Because in D365 FO the data is structured in records and fields, for each external document type, the data structure is translated in the same way. To do this, by default the table 'BisBuffertable' is used. The values are stored in a container field in this table. As a consequence, you can add or remove fields without coding to avoid deployment issues.
  In the Record table field, keep the default value 'BisBufferTable'.
8. Use the parent record to define a record structure with parent-child relations.
  In the Parent record field, enter or select a value.
9. By default, if you have a parent-child relation, the parent and child data is processed separately. You can process the parent and child data together.
  Select Yes in the Combine with parent record field.
10. This setting is only applicable to parent records.
- Inner join: To process the parent record, the child record must exist. Example: A sales order is only processed if it has a sales line. If no sales line exists, the sales order is not processed. If a sales line exists, both the sales order and the sales line are processed.
- Outer join: To process the parent record, it is not required that child a record exists. Example: A sales order with no sales lines is processed.
- Exists join: To process the parent record, a child record must exist. Example: If sales order has a sales line, only the sales order is processed. If the sales order does not have a sales line, the sales order is not processed.
- NoExistsJoin: Only parent records are processed that do no have child records. Example: A sales order is only processed if it does not have a sales line.
  In the Join mode field, select an option.
11. During an import or export you can have the need to update another table in D365 FO. Usually, this is an internal history table to trace what is imported or exported.
If you select Yes:
- The record is skipped by the query. And therefore, not exported to an external format.
- You can use the record in the message mapping.
- The record uses the validations as defined in D365 FO.
  Select Yes in the History field.
12. Sub-task: Set record details.
  12.1 In the Line details section, define the detailed settings for the record.
In a JSON file, sometimes the root object doesn't have or need a name. You can enable:
- Reading unnamed JSON root objects. So, on read, no name is expected for the root object of a JSON file.
- Writing unnamed JSON root objects. So, on write, no name is added to the root object of a JSON file.
  Select Yes in the Unnamed root name field.
  12.2 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.

  12.3 If the record name in your document differs from the JSON object name, define the JSON object name.
  In the External name field, type a value.
13. 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.

See also

Provide feedback