Flexible Editing of Records

Some features provide flexibility during adding or modifying a record.

  • Defining a relationship — The entire set of child records is not required to define a relationship between two records; only a related record can be specified. To save a record with the relationship, you need not specify the entire set of the record; specifying the relationship data is sufficient.
  • Specifying a reverse relationship — You can also specify and process a reverse relationship.
  • Adding or Modifying Records Incrementally — You can add and modify records incrementally. Incremental handling is controlled by the <Relationship incremental="true"> flag. By default, the flag is set to true. When the flag is set to true, only the record relationship is added to the given existing record. If the incremental flag is set to false, all the other relationships are deleted and the newly specified relationship is added.

    For example, let us say, A-Contains-B and the Incremental flag is set to true. If a request is sent as A-Contains-C, A will be related to B, C. If the Incremental flag is set to false, and the request is sent A-Contains-C, the relationship A-Contains-B is deleted and A will have a new relationship with C.

  • Deleting a Relationship Between Records — You can delete relationships between records by specifying the <Relationship delete="true"> flag.

    For example, let us say, A-Contains-B, C.

    • To delete a specific relationship with the record, send a request A-Contains-B. In the relationship element of this request, set the <Relationship delete="true">. Now "A" will be related to C. Relationship between A and B is deleted.
    • To delete all relationships with records for a given relationship, send a request to modify a record where <Relationship delete="true">, specify the relationship type, and do not specify any record details.
    • To delete relationships with records for all relationships, send a request to modify a record, specify <Relationship delete="true" incremental="false">, and specify (*) as relationship type. (*) indicates all relationships.