33 Odata Curd
33 Odata Curd
public
inheriting from ZCL_ZNOV_ODATA_DPC
create public .
public section.
protected section.
methods ORDERITEMSSET_GET_ENTITYSET
redefinition .
methods PRODUCTSET_CREATE_ENTITY
redefinition .
methods PRODUCTSET_GET_ENTITY
redefinition .
methods PRODUCTSET_GET_ENTITYSET
redefinition .
methods PRODUCTSET_UPDATE_ENTITY
redefinition .
methods SALESORDERSET_GET_ENTITY
redefinition .
methods SALESORDERSET_GET_ENTITYSET
redefinition .
methods SUPPLIERSET_GET_ENTITY
redefinition .
methods SUPPLIERSET_GET_ENTITYSET
redefinition .
methods PRODUCTSET_DELETE_ENTITY
redefinition .
private section.
ENDCLASS.
*
<SIGNATURE>------------------------------------------------------------------------
---------------+
* | Instance Protected Method ZCL_ZNOV_ODATA_DPC_EXT->ORDERITEMSSET_GET_ENTITYSET
*
+----------------------------------------------------------------------------------
---------------+
* | [--->] IV_ENTITY_NAME TYPE STRING
* | [--->] IV_ENTITY_SET_NAME TYPE STRING
* | [--->] IV_SOURCE_NAME TYPE STRING
* | [--->] IT_FILTER_SELECT_OPTIONS TYPE /IWBEP/T_MGW_SELECT_OPTION
* | [--->] IS_PAGING TYPE /IWBEP/S_MGW_PAGING
* | [--->] IT_KEY_TAB TYPE /IWBEP/T_MGW_NAME_VALUE_PAIR
* | [--->] IT_NAVIGATION_PATH TYPE /IWBEP/T_MGW_NAVIGATION_PATH
* | [--->] IT_ORDER TYPE /IWBEP/T_MGW_SORTING_ORDER
* | [--->] IV_FILTER_STRING TYPE STRING
* | [--->] IV_SEARCH_STRING TYPE STRING
* | [--->] IO_TECH_REQUEST_CONTEXT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITYSET(optional)
* | [<---] ET_ENTITYSET TYPE
ZCL_ZNOV_ODATA_MPC=>TT_ORDERITEMS
* | [<---] ES_RESPONSE_CONTEXT TYPE
/IWBEP/IF_MGW_APPL_SRV_RUNTIME=>TY_S_MGW_RESPONSE_CONTEXT
* | [!CX!] /IWBEP/CX_MGW_BUSI_EXCEPTION
* | [!CX!] /IWBEP/CX_MGW_TECH_EXCEPTION
*
+----------------------------------------------------------------------------------
----</SIGNATURE>
METHOD orderitemsset_get_entityset.
lv_ord_id = ls_key-value.
ENDMETHOD.
*
<SIGNATURE>------------------------------------------------------------------------
---------------+
* | Instance Protected Method ZCL_ZNOV_ODATA_DPC_EXT->PRODUCTSET_CREATE_ENTITY
*
+----------------------------------------------------------------------------------
---------------+
* | [--->] IV_ENTITY_NAME TYPE STRING
* | [--->] IV_ENTITY_SET_NAME TYPE STRING
* | [--->] IV_SOURCE_NAME TYPE STRING
* | [--->] IT_KEY_TAB TYPE /IWBEP/T_MGW_NAME_VALUE_PAIR
* | [--->] IO_TECH_REQUEST_CONTEXT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITY_C(optional)
* | [--->] IT_NAVIGATION_PATH TYPE /IWBEP/T_MGW_NAVIGATION_PATH
* | [--->] IO_DATA_PROVIDER TYPE REF TO
/IWBEP/IF_MGW_ENTRY_PROVIDER(optional)
* | [<---] ER_ENTITY TYPE
ZCL_ZNOV_ODATA_MPC=>TS_PRODUCT
* | [!CX!] /IWBEP/CX_MGW_BUSI_EXCEPTION
* | [!CX!] /IWBEP/CX_MGW_TECH_EXCEPTION
*
+----------------------------------------------------------------------------------
----</SIGNATURE>
method PRODUCTSET_CREATE_ENTITY.
me->mo_context->get_message_container( )->add_messages_from_bapi(
EXPORTING
it_bapi_messages = lt_return
).
endmethod.
*
<SIGNATURE>------------------------------------------------------------------------
---------------+
* | Instance Protected Method ZCL_ZNOV_ODATA_DPC_EXT->PRODUCTSET_DELETE_ENTITY
*
+----------------------------------------------------------------------------------
---------------+
* | [--->] IV_ENTITY_NAME TYPE STRING
* | [--->] IV_ENTITY_SET_NAME TYPE STRING
* | [--->] IV_SOURCE_NAME TYPE STRING
* | [--->] IT_KEY_TAB TYPE /IWBEP/T_MGW_NAME_VALUE_PAIR
* | [--->] IO_TECH_REQUEST_CONTEXT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITY_D(optional)
* | [--->] IT_NAVIGATION_PATH TYPE /IWBEP/T_MGW_NAVIGATION_PATH
* | [!CX!] /IWBEP/CX_MGW_BUSI_EXCEPTION
* | [!CX!] /IWBEP/CX_MGW_TECH_EXCEPTION
*
+----------------------------------------------------------------------------------
----</SIGNATURE>
method PRODUCTSET_DELETE_ENTITY.
endmethod.
*
<SIGNATURE>------------------------------------------------------------------------
---------------+
* | Instance Protected Method ZCL_ZNOV_ODATA_DPC_EXT->PRODUCTSET_GET_ENTITY
*
+----------------------------------------------------------------------------------
---------------+
* | [--->] IV_ENTITY_NAME TYPE STRING
* | [--->] IV_ENTITY_SET_NAME TYPE STRING
* | [--->] IV_SOURCE_NAME TYPE STRING
* | [--->] IT_KEY_TAB TYPE /IWBEP/T_MGW_NAME_VALUE_PAIR
* | [--->] IO_REQUEST_OBJECT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITY(optional)
* | [--->] IO_TECH_REQUEST_CONTEXT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITY(optional)
* | [--->] IT_NAVIGATION_PATH TYPE /IWBEP/T_MGW_NAVIGATION_PATH
* | [<---] ER_ENTITY TYPE
ZCL_ZNOV_ODATA_MPC=>TS_PRODUCT
* | [<---] ES_RESPONSE_CONTEXT TYPE
/IWBEP/IF_MGW_APPL_SRV_RUNTIME=>TY_S_MGW_RESPONSE_ENTITY_CNTXT
* | [!CX!] /IWBEP/CX_MGW_BUSI_EXCEPTION
* | [!CX!] /IWBEP/CX_MGW_TECH_EXCEPTION
*
+----------------------------------------------------------------------------------
----</SIGNATURE>
method PRODUCTSET_GET_ENTITY.
"Step 2: Whatever value of the key was passed, receive it here in a structure
READ TABLE IT_KEY_TAB INTO data(ls_key) INDEX 1.
IF lv_prod_id is INITIAL.
ENDIF.
me->mo_context->get_message_container( )->add_messages_from_bapi(
EXPORTING
it_bapi_messages = lt_return " Return parameter
table
).
endmethod.
*
<SIGNATURE>------------------------------------------------------------------------
---------------+
* | Instance Protected Method ZCL_ZNOV_ODATA_DPC_EXT->PRODUCTSET_GET_ENTITYSET
*
+----------------------------------------------------------------------------------
---------------+
* | [--->] IV_ENTITY_NAME TYPE STRING
* | [--->] IV_ENTITY_SET_NAME TYPE STRING
* | [--->] IV_SOURCE_NAME TYPE STRING
* | [--->] IT_FILTER_SELECT_OPTIONS TYPE /IWBEP/T_MGW_SELECT_OPTION
* | [--->] IS_PAGING TYPE /IWBEP/S_MGW_PAGING
* | [--->] IT_KEY_TAB TYPE /IWBEP/T_MGW_NAME_VALUE_PAIR
* | [--->] IT_NAVIGATION_PATH TYPE /IWBEP/T_MGW_NAVIGATION_PATH
* | [--->] IT_ORDER TYPE /IWBEP/T_MGW_SORTING_ORDER
* | [--->] IV_FILTER_STRING TYPE STRING
* | [--->] IV_SEARCH_STRING TYPE STRING
* | [--->] IO_TECH_REQUEST_CONTEXT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITYSET(optional)
* | [<---] ET_ENTITYSET TYPE
ZCL_ZNOV_ODATA_MPC=>TT_PRODUCT
* | [<---] ES_RESPONSE_CONTEXT TYPE
/IWBEP/IF_MGW_APPL_SRV_RUNTIME=>TY_S_MGW_RESPONSE_CONTEXT
* | [!CX!] /IWBEP/CX_MGW_BUSI_EXCEPTION
* | [!CX!] /IWBEP/CX_MGW_TECH_EXCEPTION
*
+----------------------------------------------------------------------------------
----</SIGNATURE>
method PRODUCTSET_GET_ENTITYSET.
lv_top = IS_PAGING-top.
lv_skip = IS_PAGING-skip.
lv_total = lv_top + lv_skip.
ls_row-bapimaxrow = lv_total.
endmethod.
*
<SIGNATURE>------------------------------------------------------------------------
---------------+
* | Instance Protected Method ZCL_ZNOV_ODATA_DPC_EXT->PRODUCTSET_UPDATE_ENTITY
*
+----------------------------------------------------------------------------------
---------------+
* | [--->] IV_ENTITY_NAME TYPE STRING
* | [--->] IV_ENTITY_SET_NAME TYPE STRING
* | [--->] IV_SOURCE_NAME TYPE STRING
* | [--->] IT_KEY_TAB TYPE /IWBEP/T_MGW_NAME_VALUE_PAIR
* | [--->] IO_TECH_REQUEST_CONTEXT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITY_U(optional)
* | [--->] IT_NAVIGATION_PATH TYPE /IWBEP/T_MGW_NAVIGATION_PATH
* | [--->] IO_DATA_PROVIDER TYPE REF TO
/IWBEP/IF_MGW_ENTRY_PROVIDER(optional)
* | [<---] ER_ENTITY TYPE
ZCL_ZNOV_ODATA_MPC=>TS_PRODUCT
* | [!CX!] /IWBEP/CX_MGW_BUSI_EXCEPTION
* | [!CX!] /IWBEP/CX_MGW_TECH_EXCEPTION
*
+----------------------------------------------------------------------------------
----</SIGNATURE>
method PRODUCTSET_UPDATE_ENTITY.
io_data_provider->read_entry_data(
IMPORTING
es_data = ls_entity
).
endmethod.
*
<SIGNATURE>------------------------------------------------------------------------
---------------+
* | Instance Protected Method ZCL_ZNOV_ODATA_DPC_EXT->SALESORDERSET_GET_ENTITY
*
+----------------------------------------------------------------------------------
---------------+
* | [--->] IV_ENTITY_NAME TYPE STRING
* | [--->] IV_ENTITY_SET_NAME TYPE STRING
* | [--->] IV_SOURCE_NAME TYPE STRING
* | [--->] IT_KEY_TAB TYPE /IWBEP/T_MGW_NAME_VALUE_PAIR
* | [--->] IO_REQUEST_OBJECT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITY(optional)
* | [--->] IO_TECH_REQUEST_CONTEXT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITY(optional)
* | [--->] IT_NAVIGATION_PATH TYPE /IWBEP/T_MGW_NAVIGATION_PATH
* | [<---] ER_ENTITY TYPE
ZCL_ZNOV_ODATA_MPC=>TS_SALESORDER
* | [<---] ES_RESPONSE_CONTEXT TYPE
/IWBEP/IF_MGW_APPL_SRV_RUNTIME=>TY_S_MGW_RESPONSE_ENTITY_CNTXT
* | [!CX!] /IWBEP/CX_MGW_BUSI_EXCEPTION
* | [!CX!] /IWBEP/CX_MGW_TECH_EXCEPTION
*
+----------------------------------------------------------------------------------
----</SIGNATURE>
method SALESORDERSET_GET_ENTITY.
lv_ord_id = ls_key-value.
endmethod.
*
<SIGNATURE>------------------------------------------------------------------------
---------------+
* | Instance Protected Method ZCL_ZNOV_ODATA_DPC_EXT->SALESORDERSET_GET_ENTITYSET
*
+----------------------------------------------------------------------------------
---------------+
* | [--->] IV_ENTITY_NAME TYPE STRING
* | [--->] IV_ENTITY_SET_NAME TYPE STRING
* | [--->] IV_SOURCE_NAME TYPE STRING
* | [--->] IT_FILTER_SELECT_OPTIONS TYPE /IWBEP/T_MGW_SELECT_OPTION
* | [--->] IS_PAGING TYPE /IWBEP/S_MGW_PAGING
* | [--->] IT_KEY_TAB TYPE /IWBEP/T_MGW_NAME_VALUE_PAIR
* | [--->] IT_NAVIGATION_PATH TYPE /IWBEP/T_MGW_NAVIGATION_PATH
* | [--->] IT_ORDER TYPE /IWBEP/T_MGW_SORTING_ORDER
* | [--->] IV_FILTER_STRING TYPE STRING
* | [--->] IV_SEARCH_STRING TYPE STRING
* | [--->] IO_TECH_REQUEST_CONTEXT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITYSET(optional)
* | [<---] ET_ENTITYSET TYPE
ZCL_ZNOV_ODATA_MPC=>TT_SALESORDER
* | [<---] ES_RESPONSE_CONTEXT TYPE
/IWBEP/IF_MGW_APPL_SRV_RUNTIME=>TY_S_MGW_RESPONSE_CONTEXT
* | [!CX!] /IWBEP/CX_MGW_BUSI_EXCEPTION
* | [!CX!] /IWBEP/CX_MGW_TECH_EXCEPTION
*
+----------------------------------------------------------------------------------
----</SIGNATURE>
method SALESORDERSET_GET_ENTITYSET.
endmethod.
*
<SIGNATURE>------------------------------------------------------------------------
---------------+
* | Instance Protected Method ZCL_ZNOV_ODATA_DPC_EXT->SUPPLIERSET_GET_ENTITY
*
+----------------------------------------------------------------------------------
---------------+
* | [--->] IV_ENTITY_NAME TYPE STRING
* | [--->] IV_ENTITY_SET_NAME TYPE STRING
* | [--->] IV_SOURCE_NAME TYPE STRING
* | [--->] IT_KEY_TAB TYPE /IWBEP/T_MGW_NAME_VALUE_PAIR
* | [--->] IO_REQUEST_OBJECT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITY(optional)
* | [--->] IO_TECH_REQUEST_CONTEXT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITY(optional)
* | [--->] IT_NAVIGATION_PATH TYPE /IWBEP/T_MGW_NAVIGATION_PATH
* | [<---] ER_ENTITY TYPE
ZCL_ZNOV_ODATA_MPC=>TS_SUPPLIER
* | [<---] ES_RESPONSE_CONTEXT TYPE
/IWBEP/IF_MGW_APPL_SRV_RUNTIME=>TY_S_MGW_RESPONSE_ENTITY_CNTXT
* | [!CX!] /IWBEP/CX_MGW_BUSI_EXCEPTION
* | [!CX!] /IWBEP/CX_MGW_TECH_EXCEPTION
*
+----------------------------------------------------------------------------------
----</SIGNATURE>
METHOD supplierset_get_entity.
"Step 2: Whatever value of the key was passed, receive it here in a structure
READ TABLE it_key_tab INTO DATA(ls_key) WITH KEY name = 'BP_ID'.
IF sy-subrc = 0.
"Step 3: take key in a variable
lv_bp_id = ls_key-value.
ELSE.
READ TABLE it_key_tab INTO ls_key WITH KEY name = 'PRODUCT_ID'.
IF sy-subrc = 0.
lv_prod_id = ls_key-value.
lv_bp_id = ls_product-supplier_id.
ENDIF.
ENDIF.
IF lv_bp_id IS INITIAL.
ENDIF.
me->mo_context->get_message_container( )->add_messages_from_bapi(
EXPORTING
it_bapi_messages = lt_return " Return parameter
table
).
ENDMETHOD.
*
<SIGNATURE>------------------------------------------------------------------------
---------------+
* | Instance Protected Method ZCL_ZNOV_ODATA_DPC_EXT->SUPPLIERSET_GET_ENTITYSET
*
+----------------------------------------------------------------------------------
---------------+
* | [--->] IV_ENTITY_NAME TYPE STRING
* | [--->] IV_ENTITY_SET_NAME TYPE STRING
* | [--->] IV_SOURCE_NAME TYPE STRING
* | [--->] IT_FILTER_SELECT_OPTIONS TYPE /IWBEP/T_MGW_SELECT_OPTION
* | [--->] IS_PAGING TYPE /IWBEP/S_MGW_PAGING
* | [--->] IT_KEY_TAB TYPE /IWBEP/T_MGW_NAME_VALUE_PAIR
* | [--->] IT_NAVIGATION_PATH TYPE /IWBEP/T_MGW_NAVIGATION_PATH
* | [--->] IT_ORDER TYPE /IWBEP/T_MGW_SORTING_ORDER
* | [--->] IV_FILTER_STRING TYPE STRING
* | [--->] IV_SEARCH_STRING TYPE STRING
* | [--->] IO_TECH_REQUEST_CONTEXT TYPE REF TO
/IWBEP/IF_MGW_REQ_ENTITYSET(optional)
* | [<---] ET_ENTITYSET TYPE
ZCL_ZNOV_ODATA_MPC=>TT_SUPPLIER
* | [<---] ES_RESPONSE_CONTEXT TYPE
/IWBEP/IF_MGW_APPL_SRV_RUNTIME=>TY_S_MGW_RESPONSE_CONTEXT
* | [!CX!] /IWBEP/CX_MGW_BUSI_EXCEPTION
* | [!CX!] /IWBEP/CX_MGW_TECH_EXCEPTION
*
+----------------------------------------------------------------------------------
----</SIGNATURE>
method SUPPLIERSET_GET_ENTITYSET.
lv_top = IS_PAGING-top.
lv_skip = IS_PAGING-skip.
lv_total = lv_top + lv_skip.
ls_row-bapimaxrow = lv_total.