P_DGR_BeginBookBal_ConvToBase

DDL: P_DGR_BEGINBOOKBAL_CONVTOBASE SQL: PDGRBBBCTOBABSE Type: view COMPOSITE

P_DGR_BeginBookBal_ConvToBase is a Composite CDS View in SAP S/4HANA. It reads from 4 data sources (I_ACMMaterialUnitCnvrsnFactor, I_UnitOfMeasure, I_UnitOfMeasure, P_DGR_BeginBookBal_TimeStamps) and exposes 15 fields.

Data Sources (4)

SourceAliasJoin Type
I_ACMMaterialUnitCnvrsnFactor ConvFactor left_outer
I_UnitOfMeasure ConvFactorT006 left_outer
I_UnitOfMeasure MatBaseT006 left_outer
P_DGR_BeginBookBal_TimeStamps P_DGR_BeginBookBal_TimeStamps from

Parameters (3)

NameTypeDefault
P_DisplayUnitOfMeasure cds_dgr_display_uom
P_DailyGrainReportType cds_dgr_report_type
P_DailyGrainReportDate cds_dgr_date

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName PDGRBBBCTOBABSE view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.type #INHERITED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #COMPOSITE view
VDM.private true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XXL view

Fields (15)

KeyFieldSource TableSource FieldDescription
CompanyCode BBB CompanyCode
Plant BBB Plant
PlantGroup BBB PlantGroup
Material BBB Material
PhysicalCommodity BBB PhysicalCommodity
StorageLocation BBB StorageLocation
BeginingBookBalanceQuantity BBB BeginingBookBalanceQuantity
BeginingBookBalanceUnit BBB BeginingBookBalanceUnit
BeginingBookBalanceDate BBB BeginingBookBalanceDate
EndOfDayBusinessEntityKey BBB EndOfDayBusinessEntityKey
EndOfDayTimestamp BBB EndOfDayTimestamp
PreviousEndOfDayTimestamp BBB PreviousEndOfDayTimestamp
BegingingBookBalancetTimestamp BBB BegingingBookBalancetTimestamp
BeginingBookBalanceBaseUnit BBB MaterialBaseUnit
MessageText MessageText
  @AbapCatalog.sqlViewName: 'PDGRBBBCTOBABSE'
@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter: true

@AccessControl.authorizationCheck: #NOT_REQUIRED

@ClientHandling.type: #INHERITED
@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM.viewType: #COMPOSITE
@VDM.private: true

@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #D -- View will be consumed for Analytical Reporting
@ObjectModel.usageType.sizeCategory: #XXL -- No. of Records > 100,000
define view P_DGR_BeginBookBal_ConvToBase
  with parameters
    P_DisplayUnitOfMeasure : cds_dgr_display_uom,
    P_DailyGrainReportType : cds_dgr_report_type,
    P_DailyGrainReportDate : cds_dgr_date
  as select from    P_DGR_BeginBookBal_TimeStamps
                 ( P_DisplayUnitOfMeasure : :P_DisplayUnitOfMeasure,
                       P_DailyGrainReportType: :P_DailyGrainReportType,
                       P_DailyGrainReportDate: :P_DailyGrainReportDate) as BBB
    left outer join I_ACMMaterialUnitCnvrsnFactor                       as ConvFactor on  ConvFactor.Material        = BBB.Material
                                                                                      and ConvFactor.AlternativeUnit = BBB.BeginingBookBalanceUnit
    left outer join I_UnitOfMeasure                                     as ConvFactorT006 on ConvFactorT006.UnitOfMeasure = BBB.BeginingBookBalanceUnit

    left outer join I_UnitOfMeasure                                     as MatBaseT006 on MatBaseT006.UnitOfMeasure = BBB.MaterialBaseUnit
{
  //BBB


  BBB.CompanyCode,
  BBB.Plant,
  BBB.PlantGroup,
  BBB.Material,
  BBB.PhysicalCommodity,
  BBB.StorageLocation,
  BBB.BeginingBookBalanceQuantity,
  BBB.BeginingBookBalanceUnit,
  BBB.BeginingBookBalanceDate,
  //  BBB.QuantityRepositoryUUID,

  //  BBB.QuantityRepositoryVersion,

  BBB.EndOfDayBusinessEntityKey,
  BBB.EndOfDayTimestamp,
  BBB.PreviousEndOfDayTimestamp,
  BBB.BegingingBookBalancetTimestamp,
  @Semantics.quantity.unitOfMeasure: 'BeginingBookBalanceBaseUnit'
  case
     when (ConvFactor.QuantityDenominator is not initial or ConvFactor.QuantityDenominator is not null) and
          (ConvFactor.QuantityNumerator is not initial or ConvFactor.QuantityNumerator is not null)
    then
  ((cast(BeginingBookBalanceQuantity as abap.fltp) * cast(ConvFactor.QuantityNumerator as abap.fltp)) / cast(ConvFactor.QuantityDenominator as abap.fltp))

     when (ConvFactorT006.SIUnitCnvrsnRateDenominator is not initial or ConvFactorT006.SIUnitCnvrsnRateDenominator is not null) and
          (ConvFactorT006.SIUnitCnvrsnRateNumerator is not initial or ConvFactorT006.SIUnitCnvrsnRateNumerator is not null) and
          (MatBaseT006.SIUnitCnvrsnRateDenominator is not initial or MatBaseT006.SIUnitCnvrsnRateDenominator is not null) and
          (MatBaseT006.SIUnitCnvrsnRateNumerator is not initial or MatBaseT006. SIUnitCnvrsnRateNumerator is not null)
    then
     ((cast(( ( cast( BeginingBookBalanceQuantity as abap.fltp )  * cast(ConvFactorT006.SIUnitCnvrsnRateNumerator as abap.fltp) ) / cast(ConvFactorT006.SIUnitCnvrsnRateDenominator as abap.fltp) ) as abap.fltp) * cast(MatBaseT006.SIUnitCnvrsnRateDenominator as abap.fltp)) / cast(MatBaseT006.SIUnitCnvrsnRateNumerator as abap.fltp))

    else  //if conversion factors are not found in material master then refer from CUNI

     unit_conversion( quantity => BeginingBookBalanceQuantity,
                      source_unit => BeginingBookBalanceUnit,
                      target_unit => MaterialBaseUnit,
                      error_handling => 'SET_TO_NULL' )
                   //   client => client )

  end as BeginingBookBalQtyInBaseUnit,
  @Semantics.unitOfMeasure: true
  BBB.MaterialBaseUnit                                                                                                                                      as    BeginingBookBalanceBaseUnit,
  MessageText
}