![](https://community.sap.com/html/assets/img_tile-default.png)
*&---------------------------------------------------------------------*
*& Report zstore_procedure
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zstore_procedure.
types: begin of out_var,
mandt type c length 3,
matnr type c length 40,
meins type c length 3,
ntgew type i,
end of out_var.
PARAMETERS: p_matnr TYPE mara-matnr.
*Define parameters using the created DPP interfaces ZIF_ZMARA1
DATA : lv_data TYPE zif_zproxy=>matnr,
lt_data TYPE STANDARD TABLE OF zif_zproxy=>out_var,
ls_data TYPE zif_zproxy=>out_var,
Lt_fcat TYPE slis_t_fieldcat_alv,
ls_fcat TYPE slis_fieldcat_alv.
*Set the value of procedure input parameters
lv_data = p_matnr.
*Call the created database procedure proxy
CALL DATABASE PROCEDURE zproxy
EXPORTING matnr = lv_data
IMPORTING out_var = lt_data.
PERFORM build_fieldcatalog.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = lt_fcat "PASS FIELD CATALOG TO ALV
TABLES
t_outtab = lt_data.
FORM build_fieldcatalog.
ls_fcat-col_pos = '1'.
ls_fcat-fieldname = 'MANDT' .
ls_fcat-tabname = 'LT_DATA' .
ls_fcat-seltext_m = 'MANDT' .
APPEND ls_fcat TO Lt_fcat .
CLEAR ls_fcat.
ls_fcat-col_pos = '2' .
ls_fcat-fieldname = 'MATNR' .
ls_fcat-tabname = 'LT_DATA' .
ls_fcat-seltext_m = 'MATNR' .
APPEND ls_fcat TO LT_FCAT.
CLEAR ls_fcat.
ls_fcat-col_pos = '3' .
ls_fcat-fieldname = 'meins' .
ls_fcat-tabname = 'LT_DATA' .
ls_fcat-seltext_m = 'meins' .
APPEND ls_fcat TO Lt_fcat .
CLEAR ls_fcat.
ls_fcat-col_pos = '4' .
ls_fcat-fieldname = 'ntgew' .
ls_fcat-tabname = 'LT_DATA' .
ls_fcat-seltext_m = 'ntgew' .
APPEND ls_fcat TO Lt_fcat .
CLEAR ls_fcat.
ENDFORM.
Calling HANA Procedure in AMDP
CLASS zcall_amdp DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
* Makes interface for Database Procedures
INTERFACES IF_AMDP_MARKER_HDB.
*Structure
TYPES:
BEGIN OF ty_DATA,
MANDT TYPE MANDT,
MATNR TYPE MATNR,
MEINS TYPE MEINS,
NTGEW TYPE NTGEW,
END OF ty_DATA.
* Table type
TYPES: Lt_DATA TYPE TABLE OF ty_DATA .
* Method Definition
CLASS-METHODS GET_DETAILS
IMPORTING
VALUE(LV_MATNR) TYPE MATNR
EXPORTING
VALUE(OUT_VAR) TYPE LT_DATA.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcall_amdp IMPLEMENTATION.
METHOD GET_DETAILS BY DATABASE PROCEDURE
FOR HDB
LANGUAGE SQLSCRIPT.
call "_SYS_BIC"."ZPRO_VIEW/ZSTORE" (:LV_MATNR,OUT_VAR );
ENDMETHOD.
ENDCLASS.
AMDP Report:
*&---------------------------------------------------------------------*
*& Report zcall_abap_report
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zcall_abap_report.
TYPES:
BEGIN OF ty_data,
mandt TYPE mandt,
matnr TYPE matnr,
meins TYPE meins,
ntgew TYPE ntgew,
END OF ty_data.
* Table type
DATA: lt_data TYPE TABLE OF ty_data.
PARAMETERS : p_matnr TYPE matnr DEFAULT '28'.
DATA : r_amdp TYPE REF TO zcall_amdp,
* out_var TYPE TABLE OF ty_data,
r_salv TYPE REF TO cl_salv_table.
CREATE OBJECT r_amdp.
r_amdp->get_details(
EXPORTING
lv_matnr = p_matnr
IMPORTING
out_var = lt_data
).
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = r_salv
CHANGING
t_table = lt_data.
CATCH cx_salv_msg .
ENDTRY.
r_salv->display( ).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
4 | |
3 | |
3 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |