on 2024 Oct 08 11:11 AM
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
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
}
Request clarification before answering.
I think sap is recommending the standard wda to consume the InA service.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
58 | |
10 | |
8 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.