[ABAP] OData: $top und $skip – Pagingfunktionen implementieren

* https://blogs.sap.com/2017/12/06/display-countfilterorderbyinlinecounttop-and-skip-operations-using-odata-services/
* für SAPUI5-Elemente muss zugehöriges EntitySet in der SEGW auf "Paginierbar" gestellt sein

METHOD xyz_get_entityset.

  ...

* $top und $skip auslesen
    DATA(lv_top) = io_tech_request_context->get_top( ).
    DATA(lv_skip) = io_tech_request_context->get_skip( ).
    DATA(lv_maxrows) = 0.

* lv_maxrows setzen
    IF lv_top > 0.
      lv_maxrows = lv_top + lv_skip.
    ENDIF.

* Daten holen
    SELECT * FROM abc INTO TABLE @et_entityset UP TO @lv_maxrows ROWS.

* überflüssige Daten löschen
    IF NOT lv_skip IS INITIAL.
      DELETE et_entityset TO lv_skip.
    ENDIF.

  ...

ENDMETHOD.