Skip to content
NextLytics
Megamenü_2023_Über-uns

Shaping Business Intelligence

Whether clever add-on products for SAP BI, development of meaningful dashboards or implementation of AI-based applications - we shape the future of Business Intelligence together with you. 

Megamenü_2023_Über-uns_1

About us

As a partner with deep process know-how, knowledge of the latest SAP technologies as well as high social competence and many years of project experience, we shape the future of Business Intelligence in your company too.

Megamenü_2023_Methodik

Our Methodology

The mixture of classic waterfall model and agile methodology guarantees our projects a high level of efficiency and satisfaction on both sides. Learn more about our project approach.

Products
Megamenü_2023_NextTables

NextTables

Edit data in SAP BW out of the box: NextTables makes editing tables easier, faster and more intuitive, whether you use SAP BW on HANA, SAP S/4HANA or SAP BW 4/HANA.

Megamenü_2023_Connector

NextLytics Connectors

The increasing automation of processes requires the connectivity of IT systems. NextLytics Connectors allow you to connect your SAP ecosystem with various open-source technologies.

IT-Services
Megamenü_2023_Data-Science

Data Science & Engineering

Ready for the future? As a strong partner, we will support you in the design, implementation and optimization of your AI application.

Megamenü_2023_Planning

SAP Planning

We design new planning applications using SAP BPC Embedded, IP or SAC Planning which create added value for your company.

Megamenü_2023_Dashboarding

Business Intelligence

We help you with our expertise to create meaningful dashboards based on Tableau, Power BI, SAP Analytics Cloud or SAP Lumira. 

Megamenü_2023_Data-Warehouse-1

SAP Data Warehouse

Are you planning a migration to SAP HANA? We show you the challenges and which advantages a migration provides.

Business Analytics
Megamenü_2023_Procurement

Procurement Analytics

Transparent and valid figures are important, especially in companies with a decentralized structure. SAP Procurement Analytics allows you to evaluate SAP ERP data in SAP BI.

Megamenü_2023_Reporting

SAP HR Reporting & Analytics

With our standard model for reporting from SAP HCM with SAP BW, you accelerate business activities and make data from various systems available centrally and validly.

Megamenü_2023_Dataquality

Data Quality Management

In times of Big Data and IoT, maintaining high data quality is of the utmost importance. With our Data Quality Management (DQM) solution, you always keep the overview.

Career
Megamenü_2023_Karriere-2b

Working at NextLytics

If you would like to work with pleasure and don't want to miss out on your professional and personal development, we are the right choice for you!

Megamenü_2023_Karriere-1

Senior

Time for a change? Take your next professional step and work with us to shape innovation and growth in an exciting business environment!

Megamenü_2023_Karriere-5

Junior

Enough of grey theory - time to get to know the colourful reality! Start your working life with us and enjoy your work with interesting projects.

Megamenü_2023_Karriere-4-1

Students

You don't just want to study theory, but also want to experience it in practice? Check out theory and practice with us and experience where the differences are made.

Megamenü_2023_Karriere-3

Jobs

You can find all open vacancies here. Look around and submit your application - we look forward to it! If there is no matching position, please send us your unsolicited application.

Blog

Table Maintenance - Data Method Explained

◀ Back to Knowledge Base

Using the DATA method, you can customize the select statement to be executed for the given table type and table name. Thus, you can adjust the values shown to the user.

Our Table Maintenance BAdI blog series in overview

  1. Table Maintenance - How to Implement a BAdI (general overview)
  2. Table Maintenance BAdI - Meta Method Explained
  3. Table Maintenance BAdI - Data Method Explained
  4. Table Maintenance BAdI - Update Method Explained
  5. Table Maintenance BAdI - Error Handling Explained

Data shown your way

You can use this method to apply additional filter or check selected filters. You can also change field values read from database on the fly according to your business logic, before displaying them to the user. Furthermore, you could also implement your completely own read logic, skipping the standard read logic altogether.

The modification of the filter can be done in I_STEP 1 (before database access) using infos of parameter C_QUERY_POST-SELECT_OPTIONS. In order to implement your own read logic, set E_SKIP parameter to X in I_STEP 1 (before database access). In this case, no standard read logic is executed. Adjustment of field values before they are shown to the user can be done in I_STEP 2 (after database access), utilizing the values in table CO_TABLE. 

In both steps, you can pass messages using CT_MESSAGES table. You can find the explanation of I_STEPs below.

I_STEP explained

I_STEP overview data method

The BAdI is triggered, if values are requested from the database. In the I_STEP 1 you can change the selections before the actual READ access to the database is executed. Afterwards, the standard READ command is executed on the database level. You can skip this step by setting the parameter E_SKIP = ‘X’ in I_STEP 1. After the data is requested from the database, you can adjust certain field values or pass messages to the user.

Overview of all parameters

In the table below you can find an overview of all parameters and possible values.

Property

Type

Description

Possible Values

I_TECHNAME

CHAR 30

Technical name of the table (e.g. /BIC/AZOMACOST2)

 

I_TABNAME

CHAR 30

Table name (e.g. ZOMACOST)

 

I_TTYPE

CHAR 10

Table Type

DDIC    Table of Data Dictionary

DSO    DSO (Advanced or Classic)

CUSTOM    Custom (can be used for Views, etc.)

IOBJ_ATT    InfoObject Attributes

IOBJ_TXT    InfoObject Texts

ALIASTABLE    Alias Table

I_TOP

INT4

Number of records to read

 

I_S_TABLE_INFO

Structure

Table Info

Please find detailed explanation here

I_T_FIELDS_INFO

Structure

Field Info

Please fined detailed explanation here

I_STEP

CHAR 1

Step for data read access

1    Before read access to database

2    After read access to database

E_SKIP

CHAR 1

Skip further processing

X Skip standard read logic in order to implement your own

CO_TABLE

Table

Contains in I_STEP 2 data read from the database

 

C_QUERY_POST

Structure

Contains parameters from global filters

Please refer to the table below

CT_MESSAGES

Structure

Contains messages

You can find detailed explanation in this article

C_TOTAL_ROWS

INT4

Value reflects total number of rows in database according to the selection. NextTables Version 10 and higher.

Please only change this parameter, if you are implementing a custom table (entity type = custom) or you have implemented your own read access in the data exit (with e_skip = X in i_step = 1). In most cases you do not need to change this value. 

 

The parameter C_QUERY_POST groups all global query settings that are relevant for the Data Method. This includes selected fields, sorting, global filters and select-options from the NextTables UI. The content of C_QUERY_POST can be evaluated and modified in the Data Exit I_STEP = 1 before it is processed.

Field name

Type

Kind

Description / Usage

SELECT

/NLY/TT_SELECT_FIELDS

Table type

List of fields that are requested from the main table.

SORT

/NLY/TT_SORT_FIELDS

Table type

Sort criteria for the result set (field and sort direction).

FILTER

/NLY/TT_FILTER_FIELDS

Table type

Obsolete. Historic additional filter conditions. Use SELECT_OPTIONS instead.

SELECT_OPTIONS

/NLY/TT_FIELD_SELECT_OPTIONS

Table type

Range-based filters per field (similar to ABAP SELECT-OPTIONS). see table below 

FIELDS_TEXT_DISPLAY

/NLY/TT_SELECT_FIELDS

Table type

Fields that are used for text / description display (e.g. for text joins).

PARENT_SELECT_OPTIONS

/NLY/TT_PARENT_SELECT_OPTIONS

Table type

Select-options propagated from a parent entity (master-detail context). see table below 

 

The field SELECT_OPTIONS in C_QUERY_POST is a table of type /NLY/TT_FIELD_SELECT_OPTIONS with line structure /NLY/TS_FIELD_SELECT_OPTIONS. It contains all global range-based filters in a form that is compatible with the classic ABAP SELECT-OPTIONS concept.

Read and modify C_QUERY_POST-SELECT_OPTIONS in I_STEP = 1 to inject additional filters or to tighten/relax existing conditions before the standard read logic is executed. 

Field name

Data element / Type

Description / Usage

FIELDNAME

FIELDNAME (CHAR30)

Technical field name to which the selection criterion belongs.

SIGN

CHAR1

Include/exclude indicator, e.g. I (include) or E (exclude).

OPTION

CHAR2

Selection option / operator, e.g. EQ, BT, GE, LE, etc.

LOW

CHAR255

Lower boundary or single value of the selection.

HIGH

CHAR255

Upper boundary for interval selections (OPTION = 'BT'), empty for single-value selections.

 

The field PARENT_SELECT_OPTIONS in C_QUERY_POST is a table of type /NLY/TT_PARENT_SELECT_OPTIONS with line structure /NLY/TS_PARENT_SELECT_OPTION. It contains select-options that are propagated from a parent (driving) entity to the current table, for example in master-detail scenarios.

Use PARENT_SELECT_OPTIONS when the table is read in a dependent context (e.g. detail table for a selected header). The mapping information can be used to translate parent filters to the child entity. 

Field name

Data element / Type

Description / Usage

LEVEL

INT8

Hierarchy level of the parent context (0 = direct parent, higher = nested).

MAPPINGS

/NLY/TT_MAPPING

Mapping table between parent fields and current entity fields.

TABNAME

/NLY/DE_TABNAME (CHAR30)

Name of the parent table / entity.

TTYPE

/NLY/DE_TTYPE (CHAR10)

Technical type / category of the parent entity.

 

Code Snippet

You can use the following code snippet as orientation while implementing your own logic.

IF I_STEP = 1.
*implement your logic before read access here
ELSEIF I_STEP = 2.
*implement your logic after read access here
ENDIF.
For example, you can use this method to disable planning after the planning round is over. In the example below, the planning round ends in November. Data processing will be skipped using the E_SKIP parameter and an error message will be shown to the user.
 IF i_step 1.
  IF sy-datum+4(2'11'.

   e_skip 'X'.
   ct_messages VALUE #BASE ct_messages
                         type /nly/cl_table_rest_v3=>co_msg_type_error
                          visu_type /nly/cl_table_rest_v3=>co_visu_type_toast
                          hdr 'Planning not allowed'
                          msg 'Planning round is over, no values will be displayed')
                        ).

 ENDIF.
   ENDIF.

Table Maintenance - Data Method Explained 2

 


Which License is needed for this feature Professional | Enterprise


Do you have a question regarding NextTables? Already a customer? Please click here for Support.