Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

SQL Script Calculation View: in CE_PROJECTION use locally declared variable as a filter

Hello,

I have the following code that is currently working:


BEGIN
DECLARE LV_TABLE NVARCHAR(4) := 'MAKT';
....
p_r1_rules = CE_PROJECTION (:t_rules,
["RULE_ID","TABLE_NAME","FIELD_TECH_NAME","MATERIAL_TYPE",
"RULE_SHORT_TEXT","RULE_LONG_TEXT","RULE_DIMENSION",
"FIELD_DESCRIPTION",
CE_CALC(' '':LV_TABLE'' ',NVARCHAR(4)) AS "ANALYSIS_TABLE"],
'"TABLE_NAME" = "ANALYSIS_TABLE" AND
  "FIELD_TECH_NAME" = ''MAKTG'' AND
  "RULE_SHORT_TEXT" = ''Mandatory''');


Is there a way to filter "TABLE_NAME" using LV_TABLE variable directly instead of having to create "ANALYSIS_TABLE" calculated column and filtering on it?

Something like:

'"TABLE_NAME" = LV_TABLE AND
  "FIELD_TECH_NAME" = ''MAKTG'' AND
  "RULE_SHORT_TEXT" = ''Mandatory'''


Thank you,
Victoria

Tags:
Former Member
replied

Hi Victoria,

you can define your filter like following:

' "TABLE_NAME" = '':LV_TABLE'' AND "FIELD_TECH_NAME" = "MAKTG" AND "RULE_SHORT_TEXT" = "Mandatory" '

This is ok as long as the content of LV_TABLE is not influenced by a user input; otherwise SQL Injections would be possible. Please check the note regarding this in the official documentation (http://help.sap.com/hana/SAP_HANA_SQL_Script_Reference_en.pdf, chapter 8.2.4).

Best Regards,

Florian

1 View this answer in context
Not what you were looking for? View more on this topic or Ask a question