Abandon Data Group Type

[From 3.4.1]

The Abandon data group type is used to stop execution of a DSD. For example, if a DSD is used to gather sensitive data about a client but that data is only available to specific users, the Abandon data group can be used to stop all execution (and therefore access to the client’s data) if the user is not authorised.

The Abandon data group can use either of two methods to decide whether to stop operation of the DSD:

  1. an fSeries function that returns “true” if the DSD execution is to be stopped
  2. a designated separate DSD that returns a “true” value in a specific data group field (Result, Abandon)

In either case you can specify which data groups’ execution is to be stopped, or that all others (on which this data group is not dependent) are to be stopped.

By Function

If you select the option to use a function, enter an fSeries function that returns “true” if the DSD execution is to be stopped. For example:

=COMPARE(=DGROWS(UserCheck),gt,0,1)

This checks if the number of rows in the UserCheck data group has at least one record and if so abandons the selected / all data groups.

By DSD

If you wish to use a DSD, select from the list of “Abandon” DSDs.

The DSDs in the list are those with a purpose of “Abandon”. You can include whatever is needed in an Abandon DSD but it must have a data group called “Result” with a field of “Abandon” that returns “true” to indicate that the appropriate data groups are to be stopped.

When you select a DSD the system will display a list of user entries that it requires, which must be covered by user entries or global placeholders in the calling DSD or placeholders in the Abandon data group

The advantage of this method is that you can have one or more standard methods of detecting data access rights and simply select the appropriate DSD from the list.

How It Works

The Abandon data group works by checking the test function or DSD and if “true” it changes the “if” parameter of all appropriate data groups to “false”, thereby cancelling all data gathering for the following data groups.

Use of the Abandon data group type is not recommended for child data groups. If an Abandon data group has a parent data group it will be tested for every record in the parent (and their parent, and so on). The first time “true” is returned all data groups that follow it in the order of data groups are stopped, but not the subsequent execution of the parents. This may cause some confusion.

Setup and Installation

Data gathering plugin: Adandon.dll.

The fAdmin data gathering plugin definition has an id of Abandon, uses the Abandon class and the Test load method.

The  fAdmin data group type has an id of Abandon and an internal type of “plugin”.

There is no fAdmin plugin settings configuration file for this data group type.

There are no fAdmin settings or sources for this data group type.

fData: Uses the Abandon control in fDataControls.dll.