> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Business Association Settings

> This article explains how premium formulas are used on form and workflow pages, covering the four functions INSERT, UPDATE, UPSERT, and DELETE, and the concept of a target form. It also answers common questions about the execution order when business association rules are mixed with integration & automation, the execution order of multiple business association rules, and data volume limits.

Premium formulas are mainly used to maintain data relationships between two forms. They are currently used mostly on form and workflow pages. They control how data is added to, deleted from, or updated in another form when the current form is submitted.

The following four premium formulas are available:

| **Function name**               | **Description**                                                        |
| ------------------------------- | ---------------------------------------------------------------------- |
| [**INSERT**](/yida/form/yhdw79) | Inserts data from the current form into the target form.               |
| [**UPDATE**](/yida/form/svrgxm) | Updates records in the target form that meet the specified conditions. |
| [**UPSERT**](/yida/form/al3gkc) | Inserts or updates data in the target form.                            |
| [**DELETE**](/yida/form/fqtnhh) | Deletes data from the target form.                                     |

**Target form**: The form into which data is inserted, updated, or deleted when the current form submits or deletes data.

## FAQ

<AccordionGroup>
  <Accordion id="q1" title="Q: How is the execution ordered when business association rules and integration & automation are mixed?">
    **Business association rules and integration & automation currently run on independent execution logic. Each follows its own execution order, which cannot be controlled.**

    When the two are mixed, the same target form may be scheduled by two different task systems that cannot run in the expected order. This can lead to unexpected results, especially in complex scenarios such as inventory management, where records are both added and subtracted.

    We recommend using YiDA integration & automation for cross-business data synchronization.
  </Accordion>

  <Accordion id="q2" title="Q: How is the execution ordered when an integration & automation node contains multiple business association rules?">
    Multiple business association rules are supported. However, due to product limitations, **the execution order between rules cannot be selected.**

    To control the execution order, use the Insert, Update, and Delete **data nodes** in integration & automation instead. These nodes support ordered orchestration, and you can view their execution records in the **Run logs**.

    For detailed configuration, refer to the screenshots below.

    Common questions about business association rules
  </Accordion>

  <Accordion id="q3" title="Q: What are the data volume limits for business association rule formulas?">
    The current usage limits for YiDA business rule functions are as follows:

    | Core function               | Description                                                            | Usage limit                                                                                                                                                                                                                                                                                                                                |
    | --------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | [INSERT](/yida/form/yhdw79) | Inserts data from the current form into the target form.               | 1. When a bulk import triggers a business association rule to insert data into a main target form, there is no record limit for fields (we recommend importing no more than 1,000 records at a time, as larger imports run more slowly). Bulk imports are limited to a file size of 20 MB.<br />2. Subform inserts into a main form.<br /> |
    | [UPDATE](/yida/form/svrgxm) | Updates records in the target form that meet the specified conditions. | 1. When the target is a main form field, a maximum of 100 records can be updated per operation. Exceeding this limit causes an error and the submission fails.<br />2. When the target is subform data.<br />                                                                                                                              |
    | [UPSERT](/yida/form/al3gkc) | Inserts or updates data in the target form.                            | 1. When the target is main form data, a maximum of 100 records can be updated per operation. Exceeding this limit causes an error and the submission fails.<br />2. When the target is subform data.<br />                                                                                                                                 |
    | [DELETE](/yida/form/fqtnhh) | Deletes data from the target form.                                     | 1. When the target is main form data, a maximum of 100 records can be deleted per operation.<br />2. When the target is subform data.<br />                                                                                                                                                                                                |

    FAQ
  </Accordion>

  <Accordion id="q4" title="Q: How do I update a subform from another subform?">
    Use case: Synchronize subform data between two main forms.

    Function example:

    Main condition:

    **EQ(Target form.Main form field, Current form.Main form field)** — Locates the specific record in the target form whose subform data needs to be updated.

    Sub-condition: **EQ(Target form.Subform.Subform field, Current form.Subform.Subform field)** — Locates the specific subform record within the target form that needs to be updated.

    [Common scenarios for business association rules](/yida/form/umnp11)
  </Accordion>
</AccordionGroup>
