Planning Applications Kit (SAP BW)

Aus MattWiki

Ab SAP BW 7.30 SP5 ist das Planning Applications Kit (PAK) verfügbar, welches die Ausführung von BW-IP-Standardfunktionen in SAP HANA ermöglicht.


Inbetriebnahme

  • Tabellensicht RSPLS_HDB_ACT (SM30) --> Eintrag "Tiefe HANA-Integration aktiv" (HANA_ACT) anlegen und Feld 'Funktion Aktiv' aktivieren
  • Tabellensicht RSPLS_HDB_ACT_IP (SM30) --> PAK für ausgewählte InfoProvider deaktivieren
  • Benutzerparameter RSPLS_HDB_SUPPORT --> HDB_ON / HDB_OFF (Vgl. Seite Benutzerparameter (SAP))

Verfügbarkeit prüfen

Mit folgendem ABAP-Report kann geprüft werden, ob ein eine SAP-HANA-optimierte Ausführung eines Szenarios prinzipiell möglich ist:

RSPLS_PLANNING_ON_HDB_ANALYSIS 

Alternativ kann man in der Methode CL_RSR_RRK0_PLAN->DISAGGREGATE mittels Debugger prüfen, ob die Verarbeitung in HANA oder ABAP statt findet.

Dazu einen Breakpoint auf die folgende IF-Abfrage setzen:

  IF ( l_result_type EQ cl_rspls_plan_buffer=>n_c_result_type-index ) OR
     ( l_result_type EQ cl_rspls_plan_buffer=>n_c_result_type-femsn ).

    p_r_trex->disaggregate_s( EXPORTING i_setxx_type     = l_setxx_type
                                        i_ts_axes        = l_ts_axes
                                        i_ts_snv         = i_ts_snv
                                        i_th_kids        = l_sx_req_kids-kids
                                        i_r_t_mesg       = i_r_t_mesg
                              CHANGING  c_t_inputxx      = c_t_inputxx
                                        c_t_todo_disaggr = l_t_todo_disaggr ).

    CLEAR: c_t_inputxx.

  ELSE.
*   disaggregation algorithm in ABAP
    disaggregate_a( EXPORTING i_t_todo_disaggr = l_t_todo_disaggr
                              i_ts_snv_exp     = e_ts_snv
                              i_ts_add         = l_ts_add
                              i_ts_axes        = l_ts_axes
                              i_sx_req_kids    = l_sx_req_kids
                              i_setxx_type     = l_setxx_type
                              i_t_where        = l_t_where
                              i_r_t_mesg       = i_r_t_mesg
                    IMPORTING e_r_t_inputxx    = e_r_t_inputxx
                    CHANGING  c_t_inputxx      = c_t_inputxx
                              c_th_dat_n       = l_th_dat_n
                              c_th_setxx       = <l_th_setxx_data> ).
  ENDIF.