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.