fData Data Group Types

[From 3.4.1]

The fData Data Group types let you include data in your DSD from another, separate DSD. This is useful for sets of data that occur frequently in all of you DSDs so that you can have a pre-set DSD that gathers that data and can be called into many other DSD.

For example, you may have a process for finding a client’s identity in several sources which you need to include in many DSDs in order to be able to gather data for the client across all data sources. Create a DSD that gathers the list of the client’s ids, then use an fData Data Group to gather the list into each DSD.


Optionally you can gather data from a DSD from a different fData server. When setting up an fData Data Group, first select the source; either local for your fData server, or any fData data source that you have set up. See fAdmin for details. Using remote fData sources requires access to other fData servers that are licensed for fRemote.

Including Data

There are two ways to include data from a target DSD:

  1. In one data group, reference the data in a specific data group in another DSD. A one-to-one connection between your DSDs data group and one in the target DSD.
  2. Include all data gathered by a target DSD and then reference any of its data groups in different data groups in your DSD. This requires a more detailed setup but is more efficient if you want to access more than one of the target DSDs data group, and also lets you use parent/child structures within the target DSD.

The DSDs that are available as targets depend on where they are located:

  • Only local DSDs that have a purpose of “DataGroup” are available
  • Only remote DSDs that have a purpose of “Remote” are available (subject to other security checks)

Single Data Group

To include a single data group from a target DSD, use the fData Data Group option.

Select the Source, DSD and Data Group you require. Only options that are permitted and relevant will be offered:

  • Only “data” data groups will be offered (i.e. internal data groups are excluded)
  • Only top level data groups are included (i.e. those with no parent)

When your DSD is executed the data in the target’s data group is copied directly into your DSD’s data group. Note that your data group need not have the same id as the target.

Full DSD

If you need to access the data from more than one data group in a target DSD, use the fData DSD type to get the target DSD’s data, and then a number of fData DSD-DG type to access the data groups available in the target DSD.

In the fData DSD data group, select the Source and DSD to gather data from the target DSD.

Add an fData DSD-DG data group for each data group you need in your DSD that uses data from the target DSD.

Select your fData DSD data group, and then select a target Data Group. Only appropriate and relevant data groups will be offered:

  • Only “data” data groups will be offered (i.e. internal data groups are excluded)
  • If your data group has no parent, only top level data groups are included (i.e. those with no parent)
  • If your data group has a parent, only those data groups in the target that are already referenced in your DSD in fData DSD-DG data groups

This last condition sounds more complicated that it really is. If you only need to use top level data groups from the target, just select the data groups you require. But if the target DSD has parent / child structures that you want to use in your DSD you must reflect that structure in your DSD by using the parent option.


When your DSD is executed the target DSD need to be executed as well and will probably require user entry values to be supplied. For example, you may need to supply a client id for the target to gather the client’s id in all sources.

When you set up an fData Data Group or fData DSD data group you will be shown a list of the user entries in the target DSD, highlighting those that are mandatory. This will also highlight those that are not satisfied by currently available placeholders in your DSD.

If any of the target DSD’s user entries are not currently provided for, add placeholders in your data group to supply the appropriate values.

When the target DSD is executed, its user entries will be supplied from your data group’s placeholders (including your DSD’s user entries and global placeholders).

Setup and Installation

Data gathering plugin: fDataPlugin.dll.

The fAdmin data gathering plugin definition has an id of fDataDSD, uses the fDataDSD class and the DataGroup, DSD and DSDDG  load methods.

There are three fAdmin data group types: fDataDataGroup, fDataDSD and fDataDSDDG. Each has an an internal type of “plugin” and has an editor with the same id as the type.

fData uses the fDataDataGroup, fDataDSD and fDataDSDDG controls in fDataPluginControls.dll

No configuration settings are required for these data group types, but to use remote target DSDs requires data sources on your server as well as settings on the target server. This is covered separately under fRemote.