F4 help and Select option in CDS view
F4 Help implementation
- Using Association
- Using Basic and Consumption view
Code:
Basic view:
- @AbapCatalog.sqlViewName: 'ZSQL_SO_BASEV'
- @AbapCatalog.compiler.compareFilter: true
- @AbapCatalog.preserveKey: true
- @AccessControl.authorizationCheck: #CHECK
- @EndUserText.label: 'salesorder base view'
- @VDM.viewType: #BASIC
- define view zsalesorder_base_test
- with parameters
- targer_currecny : abap.cuky,
- exchange_data : abap.dats
- as select from vbak as SalesHeader
- left outer join vbap as SalesItem on SalesHeader.vbeln = SalesItem.vbeln
- //Association with std cds view(I_material) for F4 help
- association [1..*] to I_Material as _material on matnr = SalesItem.matnr
- {
- //Annotation for select option
- @Consumption.filter:{selectionType: #SINGLE, multipleSelections: true, mandatory: false}
- SalesItem.vbeln as SalesOrder,
- SalesItem.posnr as Item,
- SalesItem.erdat as OrderDate,
- SalesItem.matnr as Material,
- @DefaultAggregation: #SUM
- @Semantics.amount.currencyCode: 'Currency'
- SalesItem.netwr as ActualPrice,
- @Semantics.amount.currencyCode:true
- SalesItem.waerk as Currency,
- concat(cast(SalesItem.netwr as abap.char( 20 )), SalesItem.waerk) as PriceCurrency,
- currency_conversion( amount => ActualPrice,
- source_currency => Currency,
- target_currency => $parameters.target_currency,
- exchange_rate_date => $parameters.exchange_date,
- exchange_rate_type => 'M' ) as ConvertedCurrency
- //Exposing this cds view
- _material
- }
Consumption view:
- @AbapCatalog.sqlViewName: 'ZSQL_SO_CONSUMV'
- @AbapCatalog.compiler.compareFilter: true
- @AbapCatalog.preserveKey: true
- @AccessControl.authorizationCheck: #CHECK
- @EndUserText.label: 'Consum view_association_F4 help_rsrt annotation'
- @VDM.viewType: #CONSUMPTION
- define view zsalesorder_consum_test
- with parameters
- target_currecny : abap.cuky,
- exchange_date : abap.dats
- as select from zsalesorder_base_test (targer_currecny: $parameters.target_currecny, exchange_data: $parameters.exchange_date)
- {
- SalesOrder,
- Item,
- OrderDate,
- //Annotation for select option
- @Consumption.filter:{selectionType: #SINGLE, multipleSelections: true, mandatory: false}
- //Estbl FK rel with std cds view to achieve F4 help
- @ObjectModel.foreignKey.association: '_material'
- Material,
- ActualPrice,
- Currency,
- PriceCurrency,
- ConvertedCurrency,
- /* Associations */
- _material
- }
No comments:
Post a Comment