Wednesday, June 15, 2022

5.F4 help and Select option in CDS view.

F4 help and Select option in CDS view 

F4 Help implementation

  1. Using Association
  2. Using Basic and Consumption view
Code:
Basic view:
  1. @AbapCatalog.sqlViewName: 'ZSQL_SO_BASEV'
  2. @AbapCatalog.compiler.compareFilter: true
  3. @AbapCatalog.preserveKey: true
  4. @AccessControl.authorizationCheck: #CHECK
  5. @EndUserText.label: 'salesorder base view'
  6. @VDM.viewType: #BASIC
  7. define view zsalesorder_base_test
  8.   with parameters
  9.     targer_currecny : abap.cuky,
  10.     exchange_data   : abap.dats
  11.   as select from    vbak as SalesHeader
  12.     left outer join vbap as SalesItem on SalesHeader.vbeln = SalesItem.vbeln
  13.   //Association with std cds view(I_material) for F4 help
  14.   association [1..*] to I_Material as _material on matnr = SalesItem.matnr
  15. {
  16.   //Annotation for select option
  17.   @Consumption.filter:{selectionType: #SINGLE, multipleSelections: true, mandatory: false}
  18.   SalesItem.vbeln                 as SalesOrder,
  19.   SalesItem.posnr                 as Item,
  20.   SalesItem.erdat                 as OrderDate,
  21.   SalesItem.matnr                 as Material,
  22.   @DefaultAggregation: #SUM
  23.   @Semantics.amount.currencyCode: 'Currency'
  24.   SalesItem.netwr                 as ActualPrice,
  25.   @Semantics.amount.currencyCode:true
  26.   SalesItem.waerk                 as Currency,
  27.   concat(cast(SalesItem.netwr as abap.char( 20 )), SalesItem.waerk) as PriceCurrency,
  28.   currency_conversion( amount => ActualPrice,
  29.                      source_currency => Currency,
  30.                      target_currency => $parameters.target_currency,
  31.                      exchange_rate_date => $parameters.exchange_date,
  32.                      exchange_rate_type => 'M' ) as ConvertedCurrency
  33.   //Exposing this cds view
  34.   _material
  35. }
Consumption view:

  1. @AbapCatalog.sqlViewName: 'ZSQL_SO_CONSUMV'
  2. @AbapCatalog.compiler.compareFilter: true
  3. @AbapCatalog.preserveKey: true
  4. @AccessControl.authorizationCheck: #CHECK
  5. @EndUserText.label: 'Consum view_association_F4 help_rsrt annotation'
  6. @VDM.viewType: #CONSUMPTION
  7. define view zsalesorder_consum_test
  8.   with parameters
  9.     target_currecny : abap.cuky,
  10.     exchange_date   : abap.dats
  11.   as select from zsalesorder_base_test (targer_currecny: $parameters.target_currecnyexchange_data: $parameters.exchange_date)
  12. {
  13.   SalesOrder,
  14.   Item,
  15.   OrderDate,
  16.   //Annotation for select option
  17.   @Consumption.filter:{selectionType: #SINGLE, multipleSelections: true, mandatory: false}
  18.   //Estbl FK rel with std cds view to achieve F4 help
  19.   @ObjectModel.foreignKey.association: '_material'
  20.   Material,
  21.   ActualPrice,
  22.   Currency,
  23.   PriceCurrency,
  24.   ConvertedCurrency,
  25.   /* Associations */
  26.   _material
  27. }

No comments:

Post a Comment

5.F4 help and Select option in CDS view.

F4 help and Select option in CDS view  F4 Help implementation Using Association Using Basic and Consumption view Code: Basic view: @AbapCata...