
HANA Flowgraph in IDE
generated table properties
Launch Monitor in IDE
PROCEDURE "BIANALYST"."BIA_DEMO.HANA::BIA_PROC_BY_ABAP_PC" ( IN DEL_TAB nvarchar(1), IN SOURCE NVARCHAR (10) )
LANGUAGE SQLSCRIPT
SQL SECURITY DEFINER
DEFAULT SCHEMA "BIANALYST"
AS
BEGIN
-- Use such approach to call and do whatever you like in HANA
--This Procedure will be called by SAP-BW Process Chain ABAP Report
if DEL_TAB = 'X' THEN
if source = 'TRFN' then
--drop all data in TRFN table (HANA table) that will be uploaded by Process Chain in ABAP BW but HANA functionality:)
delete from BIANALYST.BIA_TRFN_DATA;
call "BIANALYST"."BIA_DEMO.HANA::BIA_LOAD_TRFN_DATA";
ELSEIF source = 'QUERY' then
ELSEIF source = 'ABAP' then
ELSEIF source = 'HANA' then
ELSEIF source = 'AMDP' then
ELSEIF source = 'INFOPROV' then
END IF ;
END IF;
END
CLASS zcl_bia_abap_call_hana DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
INTERFACES if_amdp_marker_hdb.
class-METHODS GET_BIA_HANA_DATA
importing value(IN_DEL) type rs_bool
value(IN_SOURCE) type CHAR10
exporting value(OUT_STR) type string.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_bia_abap_call_hana IMPLEMENTATION.
"ABAP Class using HANA mehtod to close the gap between ABAP world and HANA world
METHOD GET_BIA_HANA_DATA by database procedure
for hdb language sqlscript.
DECLARE LV_INFO NVARCHAR(100);
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
lt_error = SELECT ::SQL_ERROR_CODE as "SQL Fehler",
::SQL_ERROR_MESSAGE as "Info" FROM PUBLIC.DUMMY;
--In case of errors=> Send Info back to ABAP
select "Info" INTO OUT_STR from :lt_error ;
END;
--CAll the HANA Procedure / Flowgraphs or whatsoever to fullfill its HANA tasks 🙂
call "BIANALYST"."BIA_DEMO.HANA::BIA_PROC_BY_ABAP_PC"(:IN_DEL,:IN_SOURCE ) ;
ENDMETHOD.
ABAP CLASS
Class Method
Report manual start
*&---------------------------------------------------------------------*
*& Report YBIA_LOAD_HANA
*&---------------------------------------------------------------------*
*& BIANALYST GmbH & Co. KG / Joerg Boeke
*&
*&---------------------------------------------------------------------*
REPORT ybia_load_hana.
DATA:
lc_bia_load TYPE REF TO zcl_bia_abap_call_hana,
ls_hana_info TYPE string.
SELECTION-SCREEN BEGIN OF BLOCK bia WITH FRAME TITLE text1.
"Load data via HANA Procedure in DB instead App-Server
SELECTION-SCREEN COMMENT:
/20(75) t1 MODIF ID c01,
/20(75) t2 MODIF ID c02,
/20(75) t3 MODIF ID c03,
/20(75) t4 MODIF ID c04,
/20(75) t5 MODIF ID c05,
/20(75) t6 MODIF ID c06,
/20(75) t7 MODIF ID c07.
SELECTION-SCREEN SKIP.
PARAMETERS:
p_del TYPE rs_bool DEFAULT 'X', " delete HANA table content
p_sour TYPE char10. " Load specific source
SELECTION-SCREEN END OF BLOCK bia .
INITIALIZATION.
%_p_del_%_app_%-text = 'Delete HANA table content (X)'.
%_p_sour_%_app_%-text = 'Load defined Source'.
text1 = 'BIAnalyst HANA execution via ABAP'.
t1 = 'BIANALYST GmbH & CO. KG Selection:'.
t2 = '1. "TRFN" Load Transformation TCT data'.
t3 = '2. "QUERY" Load Transformation Query data'.
t4 = '3. "ABAP" Load Transformation ABAP data'.
t5 = '4. "HANA" Load Transformation HANA data'.
t6 = '5. "AMDP" Load Transformation AMDP data'.
t7 = '6. "INFOPROV" Load Transformation Meta data'.
******************************************************
**************Start Main Program**********************
******************************************************
START-OF-SELECTION.
CREATE OBJECT lc_bia_load .
"Step 1:
"Start HANA Workflow or Procedure or functionality
" and see if everything is fine or in case of errors follow step 2
CALL METHOD lc_bia_load->get_bia_hana_data
EXPORTING
in_del = p_del
in_source = p_sour
IMPORTING
out_str = ls_hana_info.
"Step 2:
" Evaluate the return Param and raise a return status Green or Red
IF strlen( ls_hana_info ) = 0.
"GREEN Returncode /Message
MESSAGE 'Alles OK' TYPE 'S' DISPLAY LIKE 'S'.
ELSE.
"RED Returncode /Message
"MESSAGE e000(sy-msgno).
MESSAGE ls_hana_info TYPE 'E' DISPLAY LIKE 'E'.
ENDIF.
HANA log messages will tunnel through BW
Message in Process Chain
Result in ECLIPSE
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
7 | |
7 | |
7 | |
4 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 |