An open API service indexing awesome lists of open source software.

https://github.com/gregorwolf/fiorielementsdemo

Demonstrate SAP Smart Templates with NetWeaver ABAP 7.40
https://github.com/gregorwolf/fiorielementsdemo

abap fiori odata openui5 sapui5

Last synced: 3 months ago
JSON representation

Demonstrate SAP Smart Templates with NetWeaver ABAP 7.40

Awesome Lists containing this project

README

          

# Demo for SAP Fiori Elements
Demonstrate SAP Fiori Elements (formerly known as: Smart Templates) without annotaded CDS View based OData Service on NetWeaver ABAP 7.40.

To make this example work the SAP delivered standard OData Service /IWBEP/EPM_DEVELOPER_SCENARIO must be redefined as ZEPM_DEVELOPER_SCENARIO and the products_get_entity method must be implemented with the following code:

```
CLASS zcl_zepm_developer_sce_dpc_ext DEFINITION
PUBLIC
INHERITING FROM zcl_zepm_developer_sce_dpc
CREATE PUBLIC .

PUBLIC SECTION.
PROTECTED SECTION.

METHODS businesspartners_get_entity
REDEFINITION .
METHODS businesspartners_get_entityset
REDEFINITION .
METHODS products_get_entity
REDEFINITION .
PRIVATE SECTION.
ENDCLASS.

CLASS ZCL_ZEPM_DEVELOPER_SCE_DPC_EXT IMPLEMENTATION.

METHOD businesspartners_get_entity.
DATA bp_id TYPE bapi_epm_bp_id.
DATA headerdata TYPE bapi_epm_bp_header.
DATA contactdata TYPE STANDARD TABLE OF bapi_epm_bp_contact.
DATA return TYPE STANDARD TABLE OF bapiret2.

DATA(lt_keys) = io_tech_request_context->get_keys( ).
" BP_ID 0100000000
READ TABLE lt_keys ASSIGNING FIELD-SYMBOL() WITH KEY name = 'BP_ID'.
IF IS ASSIGNED.
bp_id = -value.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = bp_id
IMPORTING
output = bp_id.

CALL FUNCTION 'BAPI_EPM_BP_GET_DETAIL'
EXPORTING
bp_id = bp_id
IMPORTING
headerdata = headerdata
TABLES
contactdata = contactdata
return = return.
READ TABLE contactdata ASSIGNING FIELD-SYMBOL() INDEX 1.
IF IS ASSIGNED.
MOVE-CORRESPONDING TO er_entity.
ENDIF.
MOVE-CORRESPONDING headerdata TO er_entity.
er_entity-date_of_birth = sy-datum.

ENDIF.
ENDMETHOD.

METHOD businesspartners_get_entityset.

DATA bpheaderdata TYPE STANDARD TABLE OF bapi_epm_bp_header.
DATA bpcontactdata TYPE STANDARD TABLE OF bapi_epm_bp_contact.

CALL FUNCTION 'BAPI_EPM_BP_GET_LIST'
TABLES
bpheaderdata = bpheaderdata
bpcontactdata = bpcontactdata.

LOOP AT bpheaderdata ASSIGNING FIELD-SYMBOL().
APPEND INITIAL LINE TO et_entityset ASSIGNING FIELD-SYMBOL().
MOVE-CORRESPONDING TO .
-date_of_birth = sy-datum.
ENDLOOP.

ENDMETHOD.

METHOD products_get_entity.
DATA: lt_products TYPE sepm_gws_product_header_t,
lt_product_id_range TYPE sepm_gws_product_id_range_t.

READ TABLE it_key_tab ASSIGNING FIELD-SYMBOL() INDEX 1.
IF IS ASSIGNED.
APPEND INITIAL LINE TO lt_product_id_range
ASSIGNING FIELD-SYMBOL().

-option = 'EQ'.
-sign = 'I'.
-low = -value.

CALL FUNCTION 'SEPM_GWS_PRODUCTS_GET'
EXPORTING
iv_supply_picture = abap_true
it_product_id_range = lt_product_id_range
IMPORTING
et_product_list = lt_products.
READ TABLE lt_products ASSIGNING FIELD-SYMBOL() INDEX 1.
MOVE-CORRESPONDING TO er_entity.
ENDIF.
ENDMETHOD.

ENDCLASS.
```