Skip to Content

Schema Regeneration

Introduction

Schemas are generated in one of two ways. Depending on the specific connector being used, its schemas are either connector-generated or user-defined:

  • Connector-generated: Connector-generated schemas are either fixed in the connector or are generated directly from the endpoint.

  • User-defined: User-defined schemas are provided by the user, either by creating a custom schema, by uploading a file or URL, or by manually entering the schema.

This page provides information about regenerating schemas for both of these schema types.

Connector-generated Schemas

A connector-generated schema (in contrast to a user-defined schema) is either fixed in the connector, or the connector interacts with that endpoint based on user configuration using the metadata provided by the corresponding endpoint's API.

Once a connector-generated schema is configured, Cloud Studio stores the schemas within the project to facilitate faster loading during project design.

If there are external changes to a schema being generated from an endpoint, you must regenerate the schema within Cloud Studio to use those changes in the project. This may be necessary if, for example, you have added a custom field or if you have upgraded your instance to use a later API version.

Depending on the endpoint, there are two ways to regenerate schemas:

When a schema generated from an endpoint is refreshed, Cloud Studio uses the API provided by the endpoint to regenerate the schema for that activity.

When a schema that is fixed in a connector is refreshed, the current schema included with the connector is reloaded, effectively refreshing the schema.

Regenerating or refreshing a schema from an activity or transformation refreshes the schema in all locations where it is referenced. That is, if you have referenced multiple copies of the same activity in different places throughout the project, refreshing the schema in the activity configuration or advancing through the activity configuration steps in one place refreshes it for all. Similarly, if you refresh a schema in a transformation, this action refreshes it in the activity and in all places within the project where the same activity is referenced.

If a schema has changes in the endpoint's system but you have not yet regenerated the schema in either the activity or the transformation, the operation may or may not be successful. This depends on a variety of factors, such as the individual endpoint, the individual fields that are mapped in the transformation, and whether those fields have changed within the schema. For example, in a scenario where a required field in the original schema is later removed in the updated schema, errors from the endpoint system are likely to be reported at runtime. However, if a field has been removed but is optional in the mapping, errors may not be reported.

Activity Schema Regeneration

To regenerate a connector-generated schema from an activity configuration screen (except for schemas provided by Database, NetSuite, Salesforce, Salesforce Service Cloud, or ServiceMax activities), in the Data Schema step, click Refresh:

servicenow create step 2 data schema refresh

To regenerate a connector-generated schema from an activity configuration screen (including schemas provided by Database, NetSuite, Salesforce, Salesforce Service Cloud, and ServiceMax activities), open the activity configuration and advance through each activity configuration step. You must make at least one change (such as adding and removing a character from the end of the name of the activity) to the configuration to force a refresh of the schema on the Data Schema step:

database insert step 1 select table next

database insert step 2 data schema finished

Transformation Schema Regeneration

To regenerate a connector-generated schema from a transformation (except for schemas provided by Database, NetSuite, Salesforce, Salesforce Service Cloud, or ServiceMax activities), click the schema's gear icon gear to open a menu. From the menu, select Refresh Schema:

target schema actions menu refresh schema

User-defined Schemas

A user-defined schema (in contrast to a connector-generated schema) refers to an endpoint whose schemas are provided by the user, either by creating a custom schema, by uploading a file or URL, or by manually entering the schema.

Changes to user-defined schemas are propagated to all schema references automatically. On opening a schema that is referenced by multiple components, a dialog displays a list of any components that reference the schema and will be affected by any changes:

schema used by multiple components

If you do not want changes to be propagated across all locations where the schema is referenced, you must first edit the configuration of those components to remove or replace the schema reference.

Projects Prior to 10.33.2

User-defined schemas referenced by multiple transformations in projects created prior to Harmony version 10.33.2 are automatically renamed using this naming convention:

<Original Schema Name>_<Transformation Name>_<Source or Target>

The naming convention consists of these components:

  • Original Schema Name: The original name of the schema prior to 10.33.2.
  • Transformation Name: The name of the transformation in which the schema is referenced.
  • Source or Target: Whether the schema is used on the source or target side of the transformation.