
SELECT * FROM zsodetails into CORRESPONDING FIELDS OF TABLE ET_ENTITYSET UP TO 3 ROWS.
***The below method is for Filter conditions
CALL METHOD /IWBEP/CL_MGW_DATA_UTIL=>FILTERING
EXPORTING
IT_SELECT_OPTIONS = IT_FILTER_SELECT_OPTIONS
CHANGING
CT_DATA = ET_ENTITYSET.
*** The below method is for Skip and Top Functions
CALL METHOD /IWBEP/CL_MGW_DATA_UTIL=>PAGING
EXPORTING
IS_PAGING = IS_PAGING
CHANGING
CT_DATA = ET_ENTITYSET.
***The below method is for Ascending and Descending order
CALL METHOD /IWBEP/CL_MGW_DATA_UTIL=>orderby
EXPORTING
IT_ORDER = IT_ORDER
CHANGING
CT_DATA = ET_ENTITYSET.
***The below logic is for inline count
IF io_tech_request_context->has_inlinecount( ) = abap_true.
DESCRIBE TABLE et_entityset LINES es_response_context-inlinecount.
ELSE.
CLEAR es_response_context-inlinecount.
ENDIF.
DATA lo_message_container TYPE REF TO /iwbep/if_message_container.
lo_message_container = me->mo_context->get_message_container( ).
"only to display message text.
CALL METHOD lo_message_container->add_message_text_only
EXPORTING
iv_msg_type = 'S'
iv_msg_text = 'SUCCESS'
iv_add_to_response_header = abap_true.
"To display msg id in combination with message text.
lo_message_container = me->mo_context->get_message_container( ).
lo_message_container->add_message(
EXPORTING
iv_msg_type = 'S'
iv_msg_id = 'ZMSG1'
iv_msg_number = '1'
iv_msg_v1 = 'Success'
iv_is_leading_message = abap_true
iv_add_to_response_header = abap_true
).
"To display msg id in combination with message text by using add_message_from_bapi “
method SOHEADERSET_UPDATE_ENTITY.
DATA(lt_headers) = /iwbep/if_mgw_conv_srv_runtime~get_dp_facade( )->get_request_header( ).
DATA(lv_request_uri) = lt_headers[ name = '~request_uri' ]-value.
DATA(lv_context_path) = match( val = lv_request_uri regex = `/([^\/]+)\/?$` ).
DATA(lv_message_target) = lv_context_path && |/Field1|. "/MyEntity('Key')/Field1
DATA lt_msg_types TYPE TABLE OF char1.
io_data_provider->read_entry_data( IMPORTING es_data = ls_request_input_data ).
** Update fields of table Zsodetails
UPDATE zsodetails SET
time = ls_request_input_data-time
ernam = ls_request_input_data-ernam
name1 = ls_request_input_data-name1
WHERE Vbeln = lv_Vbeln.
IF sy-subrc = 0.
er_entity = ls_request_input_data. "Fill exporting parameter ER_ENTITY
* er_entity-show_warning = 'X'.
* er_entity-show_Info = 'X'.
er_entity-show_success = 'X'.
* er_entity-show_error = 'X'.
ENDIF.
*** determine which messages to show
IF er_entity-show_warning = abap_true.
APPEND /iwbep/if_message_container=>gcs_message_type-warning TO lt_msg_types.
ENDIF.
IF er_entity-show_info EQ abap_true.
APPEND /iwbep/if_message_container=>gcs_message_type-info TO lt_msg_types.
ENDIF.
IF er_entity-show_success EQ abap_true.
APPEND /iwbep/if_message_container=>gcs_message_type-success TO lt_msg_types.
ENDIF.
IF er_entity-show_error EQ abap_true.
APPEND /iwbep/if_message_container=>gcs_message_type-error TO lt_msg_types.
ENDIF.
DATA lt_return TYPE STANDARD TABLE OF bapiret2.
LOOP AT lt_msg_types ASSIGNING FIELD-SYMBOL(<fs_msg_type>).
" create bapi message
APPEND INITIAL LINE TO lt_return ASSIGNING FIELD-SYMBOL(<fs_return>).
MESSAGE ID '00' TYPE <fs_msg_type> NUMBER 001
INTO <fs_return>-message
* WITH |message { sy-tabix } type { <fs_msg_type> } value { er_entity-Vbeln }|.
WITH |Error { <fs_msg_type> } value { er_entity-Vbeln }|.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = sy-msgty
cl = sy-msgid
number = sy-msgno
par1 = sy-msgv1
IMPORTING
return = <fs_return>.
*--- only link Errors and Warning to the target field
<fs_return>-field=COND#(WHEN<fs_msg_type>=/iwbep/if_message_container=>gcs_message_type-warning THEN
lv_message_target
WHEN <fs_msg_type> = /iwbep/if_message_container=>gcs_message_type-error THEN
lv_message_target ELSE || ).
ENDLOOP.
LOOP AT lt_return ASSIGNING <fs_return>.
" add message from bapi structure
mo_context->get_message_container( )->add_message_from_bapi(
EXPORTING is_bapi_message = <fs_return>
iv_entity_type = iv_entity_set_name
it_key_tab = VALUE /iwbep/t_mgw_name_value_pair( ( name = 'Vbeln' value = er_entity-Vbeln ) )
iv_add_to_response_header = abap_true
iv_message_target = CONV string( <fs_return>-field ) ).
ENDLOOP.
MODIFY zsodetails FROM er_entity.
endmethod.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
19 | |
19 | |
11 | |
9 | |
7 | |
7 | |
5 | |
5 | |
5 | |
5 |