(DV-2108) Table Definition

This is a collection of Table Variants, after you click on the 'Variants' button a screen for Table Variants selection is displayed.


Creation of Table Test Case


Table Test Case variant selection screen


Here you can create new or add existing Table Variants into a Table Test Case. All functions are accessible from the toolbar menu.

Create New Table Variant 

The screen for creating a new Table variant is displayed after clicking on the 'Create New Table Variant' button (Ctrl + F2).


Create a new Table Variant screen


In this screen you can specify the following variant detail:

  1. RFC Destination – RFC Destination of the system where the Database Table is to be read. When the RFC destination is specified, the F4 help display values from the specified RFC destination in the Table Name field.
  2. Variant Description – description of the new Table Variant.
  3. Table Name – the name of a tested table (supported table categories are transparent table, view, cluster table, and pooled table)
  4. Key Fields (Characteristics Fields) – selection of the table fields to be used as characteristics. These fields will be used as the Key fields in the comparison of table data.
    1. It is possible to specify characteristics selection as a pattern. The pattern is always expanded to several single selections upon save.
  5. Value Field (Key Figure Fields) – selection of table fields to be used as key figures. These fields will be used as the Data fields in comparison to table data. Only the number-like fields can be selected here. 
    1. Number-like fields are those with data type equal to:
      1. DEC
      2. CURR
      3. QUAN
      4. FTLP
      5. INT1
      6. INT2
      7. INT4
    2. It is possible to specify key figure field selection as a pattern. The pattern is always expanded to several single selections upon save. If the pattern is applied for both key and value fields selections all overlapping table fields are assigned to keys selection. 
  6. Select Number of Rows – is an option for the column 'ROWCOUNT' to be added into the output of Table.
  7. Set Filters (button) – used for defining the filter values to be used during DB table read.  See the Filtering section for more detailed information. Currently, there are 3 types of filters available: standard static selection range filter, dynamic filter, and WHERE condition. 

    The read from the DB table is done for all of the defined filters with the logical 'AND' operation applied between them.


    Edit filters screen
  8. After Image Variant – ID of the Table variant that is used for the after image creation. This allows you to compare the output of different Tables or Tables from different systems.
  9. Set Tags - Set tags to enable variant execution enhancements. See (DV-2108) Tags for more information about available tags. 
  10. Field Mapping ID - Set mapping to variant. Mapping renames columns and converts data elements of created images. To create new mapping fill the field with the mapping name and double click it. If mapping with such a name does not exist yet you will be navigated into the field mapping definition screen. See section (DV-2108) Field Mapping for more information on how to define the mapping. 


To save the Table variant click the 'Continue' (Enter) button, before saving various checks are done to ensure the correctness of the variant definition.
*Important Notes:

  • When no table fields are selected as keys and no table fields are selected as value fields then the ROWCOUNT field is automatically added as only output field of the table read.
  • In the current version, Validate can hold values with a maximum length of 74 characters. Values that are longer are truncated.


If a different after image variant is specified for the Table variant, some restrictions are then applied in terms of comparing results of the before/after image. The used Table variants must have the same number, type, and order of table fields selected as keys. When so, Validate can compare the before/after image. If some table fields that are selected as Value fields are missing in one of the variants in comparison to another variant, then these columns are not considered during the comparison.

Create new Storage Management Table Variant 

Storage Management Table variant is a special type of Table Variant. It enables compare of table data from various storage solutions through the Datavard Storage Management. The creation of table variant via SM works similarly to standard tables. 

Storage Management Table Variant screen

Table Name:  The name of the Storage Management table.  It supports data base schemes in the formats: '"scheme"."table_name"', '"table_name"', 'scheme.table_name' or 'table_name'.

The maximum allowed length for the table name, schema, or both is determined by specific storage type. The HANA and ORACLE storage type has a maximum table length of 255 characters. The rest of the supported storage types should have a maximum table name length of at least 30 characters.

In the Storage Management Table Variant screen, you can specify the same variant details as on the standard Table Variant screen, with the differences of:

  1. Storage ID: Currently it only supports external storages, for internal Storage IDs use the standard Create New Table Variant functionality without specifying the Storage ID. 
  2. Set Filters (button) – used for defining the filter values to be used during DB table read.  See the Filtering section for more detailed information. Currently, there are 3 types of filters available: standard static selection range filter, dynamic filter, and WHERE condition. The SM WHERE condition is restricted to only have one '*' wild character at the end of each pattern and the '+' wild character is not permitted in the patterns. 

Add Existing Table Variant 

The 'Add Existing Table Variant' button displays a list of all existing Table variants in a system and you can select one or more variants that are to be added to the current test case.

Add Table Variants of Run 

The 'Add Table Variants of Run' button displays a list of all existing Table runs in the system and you can select run that variants to be added into the current test case.

Copy Table Variants of Run 

The 'Copy Table Variants of Run' button displays a list of all existing Table runs in the system and you can select a run that the variants will be added into the current test case as copies.

Add Variants of Test Case 

The 'Add Variants of Test Case' button displays a list of all existing Table Test Case in the system and you can select a Test Case that the variants are to be added into the current test case.

Copy Variants of Test Case 

The 'Copy Variants of Test Case' button displays a list of all existing Table Test Case in the system and you can select Test Case that variants to be added into the current test case as copies.

Generate RFC Table Variants 

The screen for generation Table Variants is displayed after clicking on the 'Generate RFC Table Variants' button (CTRL+F5). 


Generate RFC Table Variants screen 


In this screen, you can define:

  1. Key Fields – selection of the table fields to be used as characteristics. These fields will be used as the key fields in the comparison of table data.
  2. Value Fields – selection of table fields to be used as key figures. These fields will be used as the Data fields in comparison to table data. Only the number-like fields can be selected here.
  3. Filter Fields – The selection of key fields on which you want to define the filters (from Validate version 1.4.2 navigational attributes are also supported).
  4. Set Filters (button) – for defining the filter values to be used during DB table read. A maximum of 100 distinct filtering fields can be used. It is possible to swap between the descriptions of table filtering fields and their data element by clicking on  'Display Description/Technical Name' button. Fields for filter values are returned based on selected key fields in 'Filter Fields' input field and Tables selection (including patterns).

  5. Description suffix – This is what will be added to the description of generated variants. Description of the variants is generated in the form 'Gen. Variant for $TABLE_NAME'. If the description suffix is a specified string, then '- $SUFFIX' is added to the description.
  6. Select Number of Rows – This is an option for the column 'ROWCOUNT' to be added to the output of the Table.
  7. Tables Selection – In this table, you can specify the pairs of tables for the Before and After Image together with their RFC Destinations. For each pair, a new Table Variant is generated that will contain all the settings specified in the header of the screen. It is possible to use patterns with an asterisk sign (*) in the table name and define more table variants at once.

It is possible to execute the generation of RFC Table variants in a background job. The Background job can be executed after you click on  'Generate Variants in Background' button.

When the variant generation is executed in the background, you can check the background job state through the SM37 transaction. It is important to note that you should not try to adjust/change the variants on the selection screen while the generating jobs are running. You can exit the selection screen but should not save the variants selection because variants that are generated in the background are automatically saved under the appropriate Test Case / Run. 

Edit Table Variant

To edit existing Table variants, you double-click on these in the table. Only Table Variant that is not already used in Test Run can be edited from the Test Case definition screen. If Table Variant is already used in one Test Run, it can be edited only in the 'Select Table Variants' step of Test Run execution. If Table Variant is already being used in more than one Test Run, its details can be only reviewed but not changed. 
When variant details are displayed you can check where this variant is used. By pressing the 'Where Used'  button table is displayed that contains all Test Plan/Test Case/Run ID information where this variant is used. 


Where Used List for Variant


By clicking on  'Copy Settings to After Image' button you can copy specified settings of this variant into its After image variant - if specified.

Mass Edit Variants

You can edit more Table variants at once. Mass edit is done by selecting the required variants in the list and clicking on 'Mass Edit Variants'  button, a Dialog for mass edit of variants is then displayed. 


Mass Edit Of Table Variants

Here you can define new values for the before and the after image:

  1. RFC Destination – RFC Destination of the system where the Database Table is to be read. When the RFC destination is specified, the F4 help display values from the specified RFC destination in the Table Name field.
  2. Field Mapping ID - Set mapping to variant. Mapping renames columns and converts data elements of created images. To create new mapping fill the field with the mapping name and double click it. If mapping with such a name does not exist yet you will be navigated into the field mapping definition screen. See section (DV-2108) Field Mapping for more information on how to define the mapping.
  3. Variant Description – description of the new Table Variant.
  4. Table Name – the name of a tested table (supported table categories are transparent table, view, cluster table, and pooled table)
  5. Key Fields (Characteristics Fields) – selection of the table fields to be used as characteristics. These fields will be used as the Key fields in the comparison of table data.
    1. It is possible to specify characteristics selection as a pattern. The pattern is always expanded to several single selections upon save.
  6. Value Field (Key Figure Fields) – selection of table fields to be used as key figures. These fields will be used as the Data fields in comparison to table data.
    1. It is possible to specify key figure field selection as a pattern. The pattern is always expanded to several single selections upon save. If the pattern is applied for both key and value fields selections all overlapping table fields are assigned to keys selection. 
  7. Select Number of Rows – is an option for the column 'ROWCOUNT' to be added into the output of Table.
  8. Static Filter – Set Filters button will display a new window in which you can define new static filter values to be used during the DB table read or exclude existing static filter values.



    To create a Static Filter click on the append row button. First, fill in the Field name (Technical Name must be used), then fill in Sign (I - include static filter or E - exclude static filter), Option (E.g. EQ - equals, BT - Between), LOW (specific value of specified Field Name), HIGH (specific value of specified Field Name).

    The read from the DB table is done for all of the defined filters with the logical 'AND' operation applied between them.

  9. Dynamic Filter - Set Filters button will display a new window in which you can define new dynamic filter values to be used or exclude existing static filter values. The Dynamic filter allows the runtime execution of a piece of ABAP code which returns a table of selection ranges, which then are applied as filtering values during the DB read. This is an advanced feature, it is expected that the user has at least basic knowledge of the ABAP syntax and coding. Each field of a table can have a maximum of one Dynamic filter (DF) defined in a Variant.



    To create a Dynamic Filter click on the append row button. First, fill in the Field name, then fill in the filter name. The ABAP code of a DF can be opened by double-clicking on the DF name. If the DF doesn't exist a pop-up will ask for confirmation to create the new DF. The DF naming is restricted to the X/Y/Z prefix for the DFs created by the customer. The Local option in the filter row defines that if a Variant is run on a remote system through RFC, the ABAP code should be executed locally on the main system or remotely on the target system. The EXCLUDE checkbox is for excluding specified DF from table variants (if found).
  10. Set Tags - Set tags to enable variant execution enhancements. See (DV-2108) Tags for more information about available tags. 

Changes to these values are done after clicking on the 'Continue' (Enter) button. By marking the checkboxes on the left side only the values, which you want to be changed will be replaced in selected variants. Only variants that are not yet used in test runs can be changed by mass edit. Before the change, mass edit checks if the variant is used as before or after image in any test run. If the variant is not editable, a warning message is displayed.

Messages after mass edit

Create After Images as copies

Select multiple variants and create after image variants for them. To access this functionality, choose selected variants in the context menu and then choose 'Create After Images as copies'. A dialog is then displayed where you can define the RFC destination that will be applied to all of the generated after image variants. All other settings are also copied from source variants.


Create After Image Variants as copies

Compare Settings

You can compare the chosen settings for variants and theirs defined after image variant (if there is one). Select the requested variants and then choosing the 'Compare Settings' option from the context menu.

Compare settings of before and after image variant


A dialog with possible settings is displayed to select what is to be compared between variants. After you confirm the selection check is done and the table with compare status messages is displayed.

Copy Settings

You can copy the settings of the variant to its defined after image variant. After the selection of variants is done you can choose 'Copy Settings' in the context menu. Dialog is then displayed where you can define which settings should be copied from the source variant to the after image variant (if there is any). 

Copy settings of the variant to its after image variant


After you confirm the selection, specified settings are copied and a message table is displayed with the information about updated variants.

Copy Variants

You can create copies of Table variants by selecting multiple variants in the selection table and then clicking on  'Copy Table Variants' toolbar button. For each selected variant a new variant is created with exactly the same settings as the source variant. If a copied source variant has a different after image variant specified, also a copy of that will be created. The copied after image variant is then assigned to the copied source variant as its after image variant. 


Copy Variants

Functionalities available from (DV-2108) Variant Editor:

Variant editor

 (DV-2108) Variant Editor provides a central location where you can manage all the backend testing variants.

Delete Table Variants

To delete the existing Table Variants, select the rows and click on the delete button in the ALV toolbar. 

Any Table Variants that are still in use in the Backend Testing will be locked; therefore it is necessary to delete the Table Variants from the given runs before they can be deleted from the Table Variant Editor.

Transport Table Variants

You can add Table Variants to the transport so these can be transferred to another system (with Validate installed). To specify the Table Variants you want to transport, select them from the list. There are options for filtering and sorting in the ALV table and this can be used to select specified Table Variants more easily. 


Selecting Table Variants to be transported


After selecting the desired Table Variants and clicking on the  'Transport Table Variants' button, a screen for choosing the transport request is displayed, once selected press Confirm. 
It is important to note that Table Variants only carry the information about Validate related items and not the Table structures. These Variants should only be imported to a system where Validate is installed and the same Database Tables with the same structure exist.

Cleanup Table Variants

You can delete all unused Table variants by clicking on  'Cleanup Table Variants' button. The First screen with preselection filters of variants is displayed and you can restrict which variants should be checked for deletion. After you confirm this screen, a check is done to find the unused variants. A variant is classed as unused if it is not assigned to any Test Case or Test Run. If a variant is used in another variant as an after image variant or the variant is used in any Test Case or Test Run it is evaluated as used and will not be presented for deletion. 


Table Variant Cleanup Preselection


All variants evaluated as not used are then displayed in the dialog window. When you confirm the selection in this window variants are deleted from the system.