cancel
Showing results for 
Search instead for 
Did you mean: 

Leveraging HANA for BPC classic

0 Kudos

I have a big customer using BPC10.1 (Classic) on HANA with BW 7.5, with many users doing planning.

Customer has asked me to investigate that how can they leverage HANA's power for their BADIs (mainly Custom Logic)?

I have come across OSS Note 1902743 (Write-back Optimisation for Planning and Consolidation 10 on HANA) which talks about planning table $BPC$P$* for writing data to the model (cube) and view $BPC$V$OLAP_* for reading data from the model(cube). This is achieved by entering Environment/Model level parameters in SPRO: 'ENABLE_HANA_MDX' = 'X' and 'ENABLE_NATIVE_HANA_MODEL' and set value to 'X'. One has to write AMDPs or SQL Script Procedures (called from Custom Logic BADIs) to read the data from the above mentioned view, perform calculations at HANA Database level and write the data into the above planning table. This way there is no data exchange between Application server layer and and HANA Database layer and also data is written directly to above mentioned planning table in HANA Database which is then synchronised with the cube/model by scheduling UJHANA_SYNC program at regular interval. During sync process, data will be moved from planning table to Cube/model (BW fact table) through BW write API.
However this OSS notes also states that this functionality cannot be used if (1) Write-back BAdI, (2) Work status BAdI, or (3) Validation BAdI are active in the system. Unfortunately, our BPC Classic system does use these BADIs. So my questions are: (1) Why is this limitation, and is there any way we can bypass this limitation without deactivation the above BADIs? For example can we rename the planning table to some other name (or create new planning table with completely different name) and tweak the synchronising program UJHANA_SYNC to sync newly/renamed planning table with the cube/model?
(2) What happens to authorisation checks and/or security etc because data is written directly in the planning table at the HANA database level? Is the security bypassed or is there a way to take care of authorisations/security without bringing data back to application server (CT_DATA table of the Custom Logic BADI)?
(3) If we use HANA only for calculation and do bring the data back to application server (i.e. BW server) (CT_DATA table of the Custom Logic BADI) and let the standard program do the writing (i.e. we are not using planning table), is the data writing process HANA Optimised and what kind of optimisation is this? Customer thinks that bringing data back to application server will offset the benefit of the HANA's calculation power.

Accepted Solutions (1)

Accepted Solutions (1)

former_member186338
Active Contributor
0 Kudos

Sorry, but if you write data to HANA directly then all security and work status mechanisms will not work!

Answers (4)

Answers (4)

0 Kudos

Okay, thank you Mr Vadim.

0 Kudos

Please let me rephrase my above query/ request. Is there some Abap code which can give me a list of dimension members of the model for which a user-id has Write access? Or alternatively, is there an ABAP code which can check against each line of CT_DATA if a particular user has Write acccess? The objective here is to replicate security check at HANA database layer so that I do not have to bring data back to Apllication server layer.

Thanks.

former_member186338
Active Contributor
0 Kudos

Try to debug writing data to bpc model - you will see security checks...

0 Kudos

Hello again Mr Vadim and others,

We have a bespoke mechanism for Work Staus check that I can replicate in SAP HANA. However I don’t know about security check! Can you please provide me with simple ABAP code to check security? I would want to replicate this in partly/fully in HANA and partly in ABAP (before I call my AMDP for calculation and write back) so I can use Planning Table based solution to optimise/speed-up Witeback process.

Thanks.

former_member186338
Active Contributor
0 Kudos

There is nothing simple with security checks... You have to analyze data access profiles etc...

former_member186338
Active Contributor
0 Kudos

You can read data using HANA and perform calculations using HANA. For write back it's better to use standard write back to ensure security and work status restrictions.

0 Kudos

Hello Mr Vadim, Thank you for your reply. Your suggested solution is appearing as counter productive. Data volume is too much to do the standard write-back via BADI's CT_DATA internal table. If I use HANA server (AMDP) for calculation, it is degrading the performance as the data is sent from Application server (Custom Logic BADI) to the HANA server for calculations, and then sent back from HANA server to Application server in the BADI's CT_DATA. I have noticed that overall performance involving calculation in Application server layer is faster then the calculation in the HANA server as it will avoid the data round-trip. Thanks and regards.