FAQ on SAP HANA Fast Data Access (FDA)
What is fast data access and what does it do?
Fast data access (FDA) is a protocol which is accessible in the environments of SAP ABAP. It allows for the submission of open SQL SELECTs against SAP HANA, making the use of the data format of SAP ABAP. Here, the transfer of a SAP ABAP table to the database and back takes place. This method of approach does away with the requirement for field-wise copying and conversion of data.
What advantages does FDA have?
The main advantage of FDA is that eliminating conversion overhead can lead to lesser resource utilization and enhanced performance.
When has fast data access been available since?
FDA has been available from the start SAP ABAP kernel 7.42. When it comes to FOR ALL ENTRIES statements, FDA can be used with SAP ABAP kernel 7.43 and higher variations.
What are the indications that exist for problems pertaining to fast data access?
SQL: "HANA_Configuration_MiniChecks" (SAP Docs 1969700, 1999993) returns a prospectively critical issue (C = 'X') for one of the individual checks listed below:
Check ID | Details |
1181 | Avg. FDA write sessions (last day) |
What are the ways in which fast data access can be controlled?
A number of parameters are available for the configuration of fast data access, as listed below. It is important to know that any divergence from the default should only be applied in case of a specific problem scenario, for example based on the advice of SAP support or on the basis of the guidelines that are given in a SAP Doc.
Parameter | Level | Default | Unit | Details |
dbs/hdb/supports_fda_prot | ABAP | 1 | 0 | The activation or deactivation of FDA for open SQL SELECTs in SAP HANA environments:
Attention: It is important to Doc that this feature should be disabled only in exceptional cases om the basis of a SAP Doc or upon recommendation by SAP support. |
rsdb/fda_shm_seg_size | ABAP | 1048576 | byte | Memory for FDA data transfer (per work process) |
rsdb/prefer_join_with_fda | ABAP | 0 (< 7.45) |
| The Activation / deactivation of FDA for FOR ALL ENTRIES statements:
Available as of SAP ABAP kernel 7.43 Attention: You need to disable this feature only in exceptional cases based on a SAP Doc or based on advice by SAP support. |
rsdb/supports_fda_prot | ABAP | 1 |
| The Activation / deactivation of FDA for open SQL SELECTs:
Please be aware that this setting is completely disjunct from rsdb/prefer_join_with_fda above, so you can control FOR ALL ENTRIES and other open SQL SELECTs independently with both parameters. Attention: You need to disable this feature only in exceptional cases based on a SAP Doc or based on advice by SAP support. |
&prefer_join_with_fda <val>& | ABAP |
|
| Hint to control the utilization of FDA for a specific SQL statement |
indexserver.ini -> [session] -> abap_itab_parameter | HANA | on |
| The Activation / deactivation of FDA for FOR ALL ENTRIES statements on SAP HANA server side:
Attention: You need to disable this feature only in exceptional cases based on a SAP Doc or based on advice by SAP support. |
indexserver.ini -> [session] -> fda_enabled | HANA | on |
| The Activation / deactivation of FDA on SAP HANA server side:
Attention: You need to disable this feature only in exceptional cases based on a SAP Doc or based on advice by SAP support. |
What are the problems related to fast data access?
The following problems exist in the fast data access area:
Problem | Details |
Long runtime of FOR ALL ENTRIES queries based on FDA | If FOR ALL ENTRIES queries with the "t_00" alias like SELECT /* FDA WRITE */ DISTINCT ... FROM ... ? AS "t_00" ... SELECT DISTINCT ... FROM ... ? AS "t_00" ... run for an extended period of time and/or mini check 1181 ("Avg. FDA write sessions (last day)", SAP Doc 1999993) is reported as possibly critical and the optimizations that are referred to in item "High runtime when using fast data access" of SAP Doc 2000002 can be considered.
|
Wrong results on partitioned tables | A SAP HANA bug can lead to wrong results if FDA takes place on partitioned tables with SAP HANA Rev. 110 to 122.03. |
Indexserver crash | With SAP HANA Rev. <= 112.06 and 120 to 122.03 the indexserver can crash when it comes to an FDA query. |
How can I use fast data access to make a check for SQL statements?
The SQL statements that originate from FDA requests are tagged with a comment which is included in the SQL text and can be located in traces (e.g. ST05) or the SAP HANA SQL cache (e.g. transaction DBACOCKPIT or SAP HANA Studio):
Tag | Details |
/* FDA READ */ | Normal FDA SELECT operations |
/* FDA WRITE */ | SELECTs originating from FOR ALL ENTRIES inquiries (executed when rsdb/prefer_join_with_fda = 1 is configured), the internal ABAP table is sent over to SAP HANA to be processed. |
For example:
SELECT /* FDA READ */ * FROM "DD03K" WHERE "TABNAME" = ?
SELECT /* FDA WRITE */ DISTINCT "T100" . "ARBGB" , "T100" . "MSGNR" , "T100" . "SPRSL" , "T100" . "TEXT" FROM "T100" , ? AS "t_00" (C_0 NVARCHAR(3), C_1 NVARCHAR(20)) WHERE "T100" . "MSGNR" = "t_00" . "C_0" AND "T100" . "ARBGB" = "t_00" . "C_1" AND "T100" . "SPRSL" IN ( ? , ? , ? )
On the basis of these tags you can filter the executed FDA SQL statements for example using SQL:
"HANA_SQL_SQLCache" (SQL_PATTERN = '%/* FDA%') available via SAP Doc 1969700.