Hi All,
Can you please check the possibilities on this requirements?
We have a requirement to provide Filters at Run time to the SAP BODS jobs. Here is the Scenario.
Source: SAP ECC Extractors
Target: File System
Load Option: Full Load with Dynamic filters.
Since the full load has millions of records, business wants to reduce the data based on the requirement by filtering data at tun time. For the same we need to provide Global Variables to the required fields to filter data during execution of job,
For Ex: If user want to filter based on Company Code and Fiscal Year, he/she will do at time as below
BUKRS = '001' / BUKRS = '001','004' (Multiple)
GJAHR = 2018 / GJAHR = 2018 - 2020 (Range) / GJAHR = 2017,2020
Since can't use pushdown_sql for the extractors, I have tried to implement below way but not able to pass GV values to where clause for all fields. Not sure what would be the issue.
Scenario #1: Single Value
Decode(GV_BUKRS IS NOT NULL, Extractor.BUKRS, 1) = Decode(GV_BUKRS IS NOT NULL, GV_BUKRS, 1)
If GV_BUKRS = ‘004’, Results would be: Extractor.BUKRS = GV_BUKRS / Extractor.BUKRS = ‘004’
If GV_BUKRS = ‘ ‘ Results would be as 1 = 1 which bring all values.
Scenario #2: Multipule Value
Decode(GV_BUKRS IS NOT NULL, Extractor.BUKRS, 1) IN (Decode(GV_BUKRS IS NOT NULL, GV_BUKRS, 1))
If GV_BUKRS IN (‘004,001’) Extractor.BUKRS IN (GV_BUKRS) / Extractor.BUKRS IN (‘004,001’)
If GV_BUKRS = ‘ ‘ Results would be as 1 = 1 which bring all values.
But, When I tried to implement same logic for GJAHR the entered values in the GV at run time is not reading into the where clause.
Is this correct approach where can be use the same for any of the fields/filters/scenarios? Or any one had this experience or do SAP have any best practices for these scenarios?
Thanks
Venky