cancel
Showing results for 
Search instead for 
Did you mean: 

Fiori Analytical List Page use InA service on-premise?

patrick_weber11
Participant
0 Kudos
262

Hi all,

I'm pretty new to analytical apps. I now need to build an app, which aggregates FI journal data based on countries. There should be a drilldown to all journal entries of a given country.

To achieve this in 2024, my plan was to first build 
1. a CDS view entity with this annotation: @analytics.dataCategory: #CUBE
2. a projection view as transient view with provider contract analytical_query
3. create a service definition
4. create service binding as InA- UI
5. use Fiori Floorplan Analytical ListPage to consume the service

The last one is where I'm struggling with. In VSCode, app generator only provides oData V2 and V4 services but not my newly created InA service. What I'm curious about is that there is no "publish" button at service binding. Also I'm not able to find or activate the service in /IWFND/MAINT_SERVICE

patrick_weber11_0-1728380886443.png

We're running on S/4 HANA 2023 FP1 on-premise. What's the proper way to publish and use an InA Service? How to consume them in Fiori?

This is the CDS Cube

@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Trade Credit Insurance Details'
@Metadata.ignorePropagatedAnnotations: true
@Analytics.dataCategory: #CUBE

define view entity zi_fi_trade_credit_insr_cube
  as select from I_JournalEntryItem
  //composition of target_data_source_name as _association_name
{
  key SourceLedger,
  key CompanyCode,
  key FiscalYear,
  key AccountingDocument,
  key LedgerGLLineItem,
  key Ledger,
  key _Customer.Country,
      Customer,
      PostingDate,
      DocumentDate,
      ClearingDate,

      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      AmountInCompanyCodeCurrency,

      CompanyCodeCurrency,

      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      AmountInBalanceTransacCrcy,

      TransactionCurrency,

      dats_days_between(DocumentDate, $session.system_date) as DueDate,


      _Customer



      //  _association_name // Make association public
}
where
  FinancialAccountType = 'D' // customers only

This is the transient view/projection view

@AbapCatalog.viewEnhancementCategory: [ #NONE ]

@AccessControl.authorizationCheck: #NOT_ALLOWED

@EndUserText.label: 'Trade Credit Insurance'

@Metadata.ignorePropagatedAnnotations: true

@ObjectModel.usageType: { serviceQuality: #X, sizeCategory: #S, dataClass: #MIXED }
define transient view entity zc_fi_trade_credit_insurance
  provider contract analytical_query
  as projection on zi_fi_trade_credit_insr_cube

{
  SourceLedger,
  CompanyCode,
  FiscalYear,
  AccountingDocument,
  LedgerGLLineItem,
  Ledger,
  Country,

  Customer,
  PostingDate,
  DocumentDate,
  ClearingDate,

  @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
  AmountInCompanyCodeCurrency,

  CompanyCodeCurrency,

  @Semantics.amount.currencyCode: 'TransactionCurrency'
  AmountInBalanceTransacCrcy,

  TransactionCurrency,
  DueDate,

  /* Associations */
  _Customer
}

 

View Entire Topic
junwu
Active Contributor
0 Kudos

I think sap is recommending the standard wda to consume the InA service.

S0025160864
Explorer
0 Kudos
what is standard WDA