URL parameters for NextTables in SAP BW
The full URL reference: display types with and without the menu, the filter syntax with all twelve operators, add-form defaults, and the browser-language parameter.
📝 Availability: NextTables for SAP BW, Professional and Enterprise editions.
You will learn
Every way the NextTables URL can be modified: opening a table full screen without the menu, presetting global filters, calling the add form directly with default values, and letting the browser decide the language. This is what makes NextTables embeddable, because an embedded table has to arrive already filtered and without navigation the surrounding application did not ask for.
This article is for whoever builds the link, whether that is in a dashboard, a report or a workflow.
Prerequisites
- A configured table with a menu entry. Table and column configuration in NextTables for SAP BW.
- The technical field names of the fields you want to filter on. The URL always uses technical names, never labels.
Display types: full screen and no menu
A menu entry is configured in the wizard as a table view or an import view. Either can be opened without the surrounding menu, which is what you want when NextTables is embedded in another application.
https://{yourdomain}/#/{table_display_type}/{table}/{table_type}/
| Display type | Result |
|---|---|
tables | The standard view: table and side menu. |
table | The table without the menu. The user cannot navigate to a different table. |
imports | Only the upload dialog, with the side menu. The underlying table is not shown. |
import | Only the upload dialog, without the side menu. No navigation at all. |
The singular forms are the embedded ones. That is the whole distinction, and it is easy to miss when reading a URL quickly.
Filters in the URL
Adding filters to the URL opens a table with global filters already set, so a user arriving from a dashboard does not have to rebuild the selection they just made there.
https://{yourdomain}/#/{table_display_type}/{table}/{table_type}/{template_id?}?filter={expression};{expression};...
Rules
- Several filters can be added to one URL, separated by semicolons.
- The field name is always the technical name.
- If the URL also names a template, the filters are added on top of it and are not overwritten.
- If the template carries a variable for the same field as a URL filter, the variable is overwritten.
- Every filter, from the template or the URL, appears in the global filter and the user can change it. A URL filter restricts the starting view; it does not lock it.
- Spaces may be written literally. The browser converts them to
%20.
⚠️ A URL filter is not a security boundary. The user can widen it in the global filter. To restrict what a user may see, use analysis authorizations, or switch the global filter off and restrict the selection in the Data method as the table alias article shows.
Filter expressions
| Expression | Operators |
|---|---|
{fieldName} {operator} '{value}' | eq, ne, gt, lt, cp, np |
{fieldName} {operator} ('{value1},{value2}') | bt, nb |
{fieldName} {operator} | null, notnull |
{fieldName} {operator} ('{value1}','{value2}') | in, nin |
Operators
| Operator | Meaning |
|---|---|
eq | Equal |
ne | Not equal |
gt | Greater than |
lt | Lower than |
cp | Contains pattern |
np | Does not contain pattern |
bt | Between |
nb | Not between |
in | Equal, several values |
nin | Not equal, several values |
null | Is null |
notnull | Is not null |
Examples
Two values for one field:
https://{yourdomain}/#/tables/MY_ADSO/DSO/?filter=CALYEAR eq '2020';CALYEAR eq '2021'
Two different fields:
https://{yourdomain}/#/tables/MY_ADSO/DSO/?filter=CALYEAR eq '2020';/BIC/PROD_ID eq '9001'
A range:
https://{yourdomain}/#/tables/MY_ADSO/DSO/?filter=CALMONTH2 bt ('4','9')
Not null, on top of a template:
https://{yourdomain}/#/tables/MY_ADSO/DSO/MYTEMPLATE001/?filter=/BIC/ACT_FLAG notnull
Several values at once:
https://{yourdomain}/#/tables/MY_ADSO/DSO/MYTEMPLATE001/?filter=CALYEAR in '2018,2019'
Calling the add form directly
The add form behaves like the new-entry popup, without showing the table. It has the same two display types as the table and import views:
| Display type | Result |
|---|---|
adds | The form with the side menu. |
add | The form without the menu. No navigation to another table or form. |
https://{yourdomain}/#/{form_display_type}/{table}/{table_type}/{template_id?}?default={technical_field_name} eq {value};...
- The parameter is
?default=, not?filter=. - The add form supports the
eqoperator only. - Fields are separated by semicolons, and the field name is the technical name.
- Fields and InfoObjects can appear in the same URL.
A field:
https://{yourdomain}/#/add/MY_ADSO/DSO/?default=USER eq 'JOHNDOE01'
An InfoObject:
https://{yourdomain}/#/add/MY_ADSO/DSO/?default=/BIC/COUNTRY eq 'GERMANY'
⚠️ Default scenarios and BAdIs always win over the URL. If a field has a default scenario configured, for example filling USER from SY-UNAME, that value replaces whatever the URL supplied. The same applies to a value derived in the Update BAdI. Passing a default in the URL for a field that is also derived elsewhere will not do what the link author expects.
Building an entry form to call this way is covered in How to enter data through a standalone Add form in SAP BW.
Letting the browser choose the language
By default NextTables uses the language in the URL, /de/ or /en/. For a link that has to work for readers in both languages, add:
https://{yourdomain}/#/add/MY_ADSO/DSO/?useBrowserLang=true
Browsers set to German get German. Every other browser language gets English for that session.
Troubleshooting / FAQs
1. My filter is ignored.
Check the field name. The URL takes technical names, so an ADSO field is usually /BIC/... rather than the label shown in the grid.
2. The menu is still visible.
You used the plural display type. tables, imports and adds keep the menu; table, import and add drop it.
3. My template's variable was replaced.
Expected. A URL filter on the same field overwrites a template variable, while filters on other fields are added on top. Filter on a different field, or drop the URL filter.
4. The default value I passed to the add form is not there.
Either the operator is not eq, which is the only one the form supports, or a default scenario or Update BAdI fills that field and overwrites the URL value.
5. Users widen the filter I set in the link.
URL filters are a starting point, not a restriction. Every filter shows up in the global filter and can be changed. Use analysis authorizations to restrict what a user may see.
6. Can I use this to embed a table in a dashboard?
Yes, that is what the singular display types are for. How to embed a NextTables table in SAC or Tableau works through it.