Saturday, October 16, 2021

Data Source Join Types(Link type) in D365 F&O

Form data source link type is a property of the form data source. We can add more than one table as a data source to the form. Those data sources should have the table level relation, So, then the developer does not need to work on the coding part to find the related records.


Passive Join Type

Passive form data source link type won't update the child data source automatically. For example, if we select the parent table order then order details child data source won't update. If we need to update the child data source we need to call the child data source to execute the query method by the program (code).


Active Join Type

Active link type updates the child data sources without any delay when you select the parent table record. When you deal with more records it will affect application performance.


Delay Join Type

Delay form data source link type is also same as active method the different is delay method won't update immediately when you select the parent record. It will update the child data source when you select the parent table, Ax uses a pause statement before update the child data source. 


Inner join Type

Inner join form data source link type displays the rows that match with parent table and child table. 


Outer join Type

Outer join form data source link type will return all parent records and matched child records. It will return all rows in the parent table. 


Exists Join Type

Exist join form data source link type return matched rows of the parent table. It behaves like an inner join but the difference is once the parent row is matched with child records then stops the process and updates in the grid, Ax won't consider how many records are in the child table for the parent row.


Not Exists Join Type

Not exist join form data source link type is a totally opposite method to exist join. It will return the not-matched parent records with child records.





Inshort:

None: There is no link between the data sources.

Delayed: The linked data source is not queried until it's needed. This can improve form performance by reducing initial load times.

Passive: A relation exists between the data sources, but changes in one do not affect the other.

InnerJoin: Only records that have corresponding records in the joined data source are displayed.

OuterJoin: All records from both data sources are displayed, even if there's no corresponding record in the joined data source.

ExistJoin: Only records from the primary data source for which there are corresponding records in the joined data source are shown.

NotExistJoin: Only records from the primary data source for which there are no corresponding records in the joined data source are shown.

Active: Filters records in a form data source to only show those relevant to the current active record in another linked data source.