Code template for if_rap_query_provider

🔢 Implemented in S/4 HANA ON PREMISE 2023 – SP02

A simple template for an if_rap_query_provider implementation that returns one static demo record.

Implementation

CLASS ZCL_XXX_POSPREV_QUERY DEFINITION

PUBLIC

FINAL

CREATE PUBLIC.

  

PUBLIC SECTION.

INTERFACES if_rap_query_provider.

ENDCLASS.

  
  

CLASS ZCL_XXX_POSPREV_QUERY IMPLEMENTATION.

  

METHOD if_rap_query_provider~select.

  

DATA lt_result TYPE STANDARD TABLE OF zr_fi_xxx_posprev.

DATA ls_result LIKE LINE OF lt_result.

  

" Only execute if data is requested

IF io_request->is_data_requested( ).

  

" --- Set static dummy data ---

CLEAR ls_result.

ls_result-runuuid = '0000000000000001'.

ls_result-posprevuuid = cl_system_uuid=>create_uuid_x16_static( ).

ls_result-companycode = '1000'.

ls_result-fiscalyear = '2026'.

ls_result-documentdate = sy-datum.

ls_result-postingdate = sy-datum.

ls_result-period = '06'.

ls_result-currency = 'EUR'.

ls_result-ledger = '0L'.

  

APPEND ls_result TO lt_result.

  

" --- Return result to the framework ---

io_response->set_data( lt_result ).

  

IF io_request->is_total_numb_of_rec_requested( ).

io_response->set_total_number_of_records(

iv_total_number_of_records = lines( lt_result )

).

ENDIF.

  

ENDIF.

  

ENDMETHOD.

  

ENDCLASS.

  

Corresponding CDS Custom Entity

Defines the structure consumed by the query provider.

@EndUserText.label: '##GENERATED ZFI_XXX_POSPREV'

@ObjectModel.query.implementedBy: 'ABAP:ZCL_XXX_POSPREV_QUERY'

define custom entity ZR_FI_XXX_POSPREV

{

  

key RunUUID : sysuuid_x16;

key PosPrevUUID : sysuuid_x16;

  

CompanyCode : bukrs;

FiscalYear : fis_gjahr_no_conv;

DocumentDate : bldat;

PostingDate : budat;

Period : fins_fiscalperiod;

Currency : fis_hwaer;

Ledger : fins_ledger;

  

_PostingPreviewItems : composition [0..*] of ZR_FI_XXX_POSPREVITM;

  

}

Leave a Reply

Your email address will not be published. Required fields are marked *