Skip to main content

Package Elements

The elements you can use depend on the type of SAP system connection:

  • RFC connection: Tables, Virtual Tables, Filters, Repositories, Real-Time Objects and Reports
  • OData connection: only Tables, Virtual Tables and Filters. Repositories, Real-Time Objects and Reports are not available.

Most sections of an element have the same actions:

ActionWhat it does
AddAdds a new entry to the section
Go to, OpenTakes you to the linked element in the Package
Gear iconOpens the configuration of the entry
BucketDeletes the entry or the link between the two elements

If a section has a dropdown list, you use it to choose the entry. You add an element itself with the corresponding button at the top. The rest of this page only describes what is specific to an element or section.


Tables​

Tables define which SAP tables are extracted. All tables you add here are later stored as result tables.

What you add depends on the connection of the Package:

  • RFC connection: search for the SAP table by name or enter it directly, for example T001.
  • OData connection: you add an entity set. An entity set is a data set offered by an OData service, and dab Nexus handles it like a table. Search for the service, expand it and select the entity set. You can also enter the full path. The path becomes the table name, for example /sap/opu/odata4/sap/cdi_cds/cdi_cds/sap/i_companycode/0001/MasterData.

Click an added table to enter an Alias (another name for the table) or to delete it from the Package with the Bucket.

Load Type​

The Load Type is only shown for OData entity sets that support delta tracking.

  • Full Load: extracts the complete data
  • Delta Load: extracts the complete data in the first run and only the changed records after that. See CDC with SAP OData.

Strategy​

The strategy controls the write behaviour in the destination. The Data Strategy of the Task can override it: Merge and Append only take effect if the Data Strategy also merges. With Keep Database - Overwrite, for example, a table with the strategy Merge is overwritten. You can find all combinations under Interaction between Data Strategy and Table Strategy.

  • Merge: extracted rows are merged with existing data and update it
  • Overwrite: deletes the table at the beginning of the Extraction
  • Append: appends the data to the existing data
  • Layout: creates only the table structure in the target and extracts no data

Table Fields​

Select the fields to extract. Primary Keys are always selected automatically and cannot be unselected.

  • Fieldlist: contains all fields of the selected table. Select or unselect a field to extract its data or not.
  • Sorting of Fields: lists all fields by Default (same sorting as in SAP), by Selection, by Name, by Description or by Field Length
  • Refresh: reloads the fieldlist
  • Toggle selection: selects or unselects all fields except the Primary Keys
  • Search: searches for specific fields

Table Filters and Repositories​

With an OData connection, only Filters are available, because there are no repositories.

Filters apply filters on table fields. Add an existing filter, choose it under Filter and use Field to select where it should apply. Go to filter opens the settings of the filter.

Dependency queries the table in dependency of repository values. Choose an existing repository under Repository. Use the gear icon to change the type of dependency or to activate Custom Mapping. dab Nexus links fields automatically if they have the same name in the repository and in the table (case-sensitive). If the names differ, link the fields yourself with Custom Mapping. See Repository Dependencies for the dependency types.

Deletion Dependency deletes rows of this table in the destination based on repository values. The table becomes the deletion target. A table can only have one deletion dependency. Choose an existing repository under Repository. Use the gear icon to map the repository fields to the primary key fields of the table. See Deletion Dependencies for the full explanation.

Target Repositories write table values into a repository. Use Add to add a target repository. Use the gear icon to adjust the mapping of the fields with Custom Mapping, as described under Dependency.


Virtual Tables​

Virtual tables are extracted like tables, but dab Nexus discards their data after the Extraction. They do not appear as result tables.

Use a virtual table if you are not interested in the data itself, but need certain values to filter other tables. A virtual table usually supplies these values to a repository, and target tables are then queried in dependency of them. This is useful for delta loads, for example: the virtual table determines which records have changed, and the target tables only extract those.

Add a virtual table the same way as a table. You can also assign an alias here. All sections are the same as for tables, only the Strategy section doesn't exist.


Filters​

Filters restrict the values of an extraction. You apply them to tables or virtual tables, and to reports and real-time objects through their relations.

You can freely choose the name of a filter.

Hint

If you use one of the following names for your filter, the type is automatically set to Lookup: Fiscal Year, Companycode, Company Code, Time Period

Filter Settings​

  • Required: values must be set for this filter when creating a Task
  • Offline: applies filtering on client side
  • Filter Scope Determination: the level at which you enter the values, see below
  • Data Type: data type of the filter value, either String, Date or Numeric
  • Filter Type:
    • Input: enter values during Task creation
    • Fixed Value: values are pre-set in the Package
    • Lookup: select values from SAP during Task creation
    • Fiscal Year: enter the fiscal year or set it according to the Task schedule

Filter Scope Determination​

The scope controls at which level you enter the filter values when you create a Task. It applies to the filter types Input, Lookup and Fiscal Year. Fixed Value filters already have their values, so the scope has no effect on them.

  • Per Task: one set of values for the whole Task. Use it if the values are the same for all SAP systems and for the Initial and Delta Variant.
  • Per SAP System: separate values for each SAP system of the Task. Use it if the values differ between the systems, for example company codes.
  • Per Variant: separate values for the Initial Variant and the Delta Variant. Use it if the first run and the following runs need different values, for example a long period for the initial load and a short one for the delta.
  • Automatic: dab Nexus chooses the level based on the filter type. Use it unless you need a specific level.

Automatic chooses these levels:

Filter TypeLevel
Input with data type DatePer Variant
Input with another data typePer Task
LookupPer SAP System
Fiscal YearPer Variant

Condition​

The condition controls which filter clause is generated.

ConditionDescriptionExample
EqualBoth values are equal100 = 100
Not EqualBoth values are not equal100 <> 99
GreaterOne value is greater than the other100 > 99
Greater EqualOne value is greater than or equal to the other100 >= 99/100
LessOne value is less (smaller) than the other99 < 100
Less EqualOne value is less than or equal to the other99/100 <= 100
LikeOne value contains parts of the other%est is contained in Test
Not LikeOne value doesn't contain parts of the other%ame is not contained in Test
BetweenA value in a certain range5 is between 3 and 7
InOne value exists in a series of other valuesDE exists in the series 'DE, EN, IT, FR'
Not InA value doesn't exist in a series of other valuesDE doesn't exist in the series 'EN, IT, FR'
EmptyA value (Character String) must be emptyValue = ''
Not EmptyA value (Character String) must be filledValue = 'Here is a text'

Filter Relations​

Relations define where the filter applies. In each section, you add an existing element and choose from two dropdown lists:

SectionApplies the filter toWhat you choose
Table RelationsTablesSelect table and Select field. You can only select fields that were selected in the field list of the table itself
Report RelationsReportsSelect report and Select parameter
Real-Time Objects RelationsReal-Time ObjectsSelect real-time object and Select field

Repositories​

Repositories store intermediate results and make them available for further processing between the elements of a package.

You can freely choose the name of a repository.

A repository connects elements in a fixed order. Source tables and real-time objects first write their values into the repository. Target tables are extracted after their source tables and are queried in dependency of these values. A repository is filled again in every run, so it only contains the values of the current run.

Best practice: use a repository if you need the values of a first extraction for the queries of the following tables. You can find a complete walkthrough under Examples.

Repository Overview​

Here you set what the repository consists of and where its values come from.

Fields are the fields the repository consists of. You can add one or more fields at a time.

Source Table lists the tables that supply values to the repository. Add a table and choose it under Select source table. The gear icon opens the mapping for the relation:

  • Custom Mapping: if active, you can manually select the link between the field of the source table and the field in the repository
  • Relation types (with Custom Mapping active):
    • Identity: inserts the field value of the table into the field of the repository
    • Substring: inserts a part of the field value of the table into the field of the repository
    • Concat: inserts multiple field values of the table into one field of the repository

Real-Time Objects lists the real-time objects that supply values to the repository. Add a real-time object and choose it under Select real-time object. The gear icon opens the settings of the dependency:

  • Numbers: number in the Number Range
  • Subobject: subcategory (often the Company Code, optional depending on Number Range)
  • Fiscal Year: fiscal year (optional, depending on Number Range)

For example, EINKBELEG can only be Numbers, while RF_BELEG can be Numbers, Subobject or Fiscal Year.

Repository Dependencies​

Use a repository as the data source for target tables. They are queried in dependency of the repository values.

Add a target table and choose it under Select target table. Use the gear icon to set the dependency type and Custom Mapping. Custom Mapping links the repository fields to the fields of the target table (see Table Filters and Repositories).

The dependency type defines how the query is built:

Dependency TypeDescriptionExample
InQuery with IN-statementBELNR IN (1,2,3,4,...)
BetweenQuery with Between-statementBELNR Between 1 and 10
OptimizedCombination of IN- and Between-statementsBELNR between 1 and 5 AND BELNR NOT IN (1,2,3,5)

Deletion Dependencies​

Use a deletion dependency to remove rows from the destination, for example records that have been deleted in SAP and would otherwise stay in your SAP delta data. It only deletes rows in the destination, never in SAP.

The deletion target is the table that has the deletion dependency. dab Nexus deletes rows of this table in the destination. The repository provides the key values of the rows to delete.

A deletion target is not the same as a target table. A target table uses the repository values to restrict its query in SAP. A deletion target uses them to delete rows in the destination.

A run works like this:

  1. A source table writes the key values of the records to delete into the repository. For example, it reads change documents such as CDPOS, filtered to deleted records.
  2. dab Nexus extracts the deletion target after its source tables.
  3. dab Nexus then deletes every row of the deletion target in the destination whose mapped primary key fields match a row in the repository. If the repository is empty, nothing is deleted.

Note: every matching row is deleted, so the repository must only contain records that should really be removed.

You can manage deletion dependencies here or in the table (see Table Filters and Repositories). Here, add a deletion target and choose it under Select Table.

Use the gear icon to map the repository fields to the primary key fields of the deletion target. These rules apply:

  • You must map every repository field.
  • Only primary key fields of the deletion target are available.
  • You can use each primary key field only once.

Deletion dependencies are supported for SQL Server, Snowflake and Microsoft Fabric (Lakehouse and Mirror) as destinations.


Real-Time Objects​

Real-time objects get numerous Number Range Objects from SAP and can write their values into a repository.

You can freely choose the name of a real-time object.

Number Range Object and Values​

Choose a Number Range Object from the dropdown list.

In SAP, number ranges define unique sequences of numbers assigned to objects or documents (e.g. invoices, orders, etc.). They keep the numbers consistent and avoid duplicates. Under Values you can use:

  • Add new Number Range: select one or more available number ranges from SAP. They depend on the Number Range Object you've chosen.
    • Available: lists all available Number Ranges in the SAP system
    • Selected: lists all Number Ranges you've already selected. You can also delete the selection.
  • Add values: adds new values manually
  • Bucket: deletes a value from the list

Real-Time Object Filters and Target Repositories​

Filters apply filters on real-time object values. They work the same as filters on a table.

Target Repositories write real-time object values into a repository. Use Add to add a target repository. Use the gear icon to set the dependency with Numbers, Subobject and Fiscal Year (see Repository Overview).


Reports​

Reports extract the output of an SAP report (SAP Transaction). Only reports that have a tabular output can be used.

Important

Reports are not available in the Managed App for technical reasons.

When you add a report, enter the name of the Report (SAP Transaction) in the popup and continue. dab Nexus loads the available parameters, if any exist.

Filters apply filters to the report. They work the same as filters on a table.