Usability requirements
Although files might appear to be uploaded successfully, the upload is only the first requirement. When a user opens a record, a required field might not be populated, producing an error message. Required fields, calculations, and rollups are all instances where usability might be an issue.
Required fields
Although Data Integrator requires properly spelled and case-sensitive Publish Names to upload data, there are other requirements. For new records, the Data Integrator Header File must contain any required fields. In addition, all fields that are listed in the header row of the Data Integrator file are case-sensitive and require proper spelling.
If required fields are not contained in the Header File, the record might be uploaded successfully. However, a user who signs in and opens the record sees an error message that a required field is missing. Then, the user must populate all required fields before any state transition action can be successfully triggered on the record. Also, if the data upload process transitions the record to a read-only state, the user can't transition the record to an editable state to enter values in the required fields.
You can prevent this scenario by including all required fields in the Header File for upload. You can open the Form Builder tool to identify which fields are required and add them to the Header File.
Calculations
You must trigger a custom workflow to run calculations that populate read-only formula fields. Do not populate read-only fields directly. Instead, trigger workflow logic to run the calculations after upload.
Rollups
You must trigger a custom workflow to roll up information across multiple business objects. Be sure to write a workflow that moves up all the way from the lowest child to the highest parent across all objects within a hierarchy.
Custom Workflows
Custom workflows define all upload logic against a record. Create them ad hoc and trigger them on upload. For example, a workflow can be triggered by a state transition action that leaves the null state, or by an asynchronous workflow on an Associate event.