I_UtilsContrToBeBlldData

DDL: I_UTILSCONTRTOBEBLLDDATA SQL: IECONTRTBBILLEDD Type: view COMPOSITE

Utilities Contract to Be Billed Data

I_UtilsContrToBeBlldData is a Composite CDS View that provides data about "Utilities Contract to Be Billed Data" in SAP S/4HANA. It reads from 11 data sources and exposes 69 fields with key fields ScheduledUtilitiesBillingDate, UtilitiesPortion, ScheduledMeterReadingDate.

Data Sources (11)

SourceAliasJoin Type
I_MeterReadingUnit MeterReadingUnit inner
I_MtrRdngUnitScheduleRecord MtrRdngUnitScheduleRecord inner
I_MtrRdngUnitScheduleRecord MtrRdngUnitScheduleRecord inner
I_MtrRsnCorrespgToBillgRsn MtrRsnCorrespgToBillgRsn inner
I_MtrRsnCorrespgToBillgRsn MtrRsnCorrespgToBillgRsn inner
I_UtilitiesContract UtilitiesContract from
I_UtilitiesContract UtilitiesContract union_all
I_UtilitiesInstallationHist UtilitiesInstallationHist inner
I_UtilitiesInstallationHist UtilitiesInstallationHist inner
I_UtilitiesPortionScheduleRecd UtilitiesPortionScheduleRecd inner
I_UtilitiesPortionScheduleRecd UtilitiesPortionScheduleRecd inner

Annotations (8)

NameValueLevelField
EndUserText.label Utilities Contract to Be Billed Data view
VDM.viewType #COMPOSITE view
AbapCatalog.sqlViewName IECONTRTBBILLEDD view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (69)

KeyFieldSource TableSource FieldDescription
UtilitiesContract I_UtilitiesContract UtilitiesContract
ScheduledUtilitiesBillingDate I_UtilitiesPortionScheduleRecd ScheduledUtilitiesBillingDate
UtilitiesPortion I_UtilitiesPortionScheduleRecd UtilitiesPortion
ScheduledMeterReadingDate I_MtrRdngUnitScheduleRecord ScheduledMeterReadingDate
UtilitiesBillingReason I_UtilitiesPortionScheduleRecd UtilitiesBillingReason
CompanyCode I_UtilitiesContract CompanyCode
Division I_UtilitiesContract UtilitiesDivision
UtilitiesInstallation I_UtilitiesContract UtilitiesInstallation
ContractAccount I_UtilitiesContract ContractAccount
UtilsBillgBlockReason I_UtilitiesContract UtilsBillgBlockReason
UtilsBillgUnblockReason I_UtilitiesContract UtilsBillgUnblockReason
MeterReadingUnit I_UtilitiesInstallationHist MeterReadingUnit
UtilitiesRateCategory I_UtilitiesInstallationHist UtilitiesRateCategory
UtilitiesBillingClass I_UtilitiesInstallationHist UtilitiesBillingClass
MeterReadingReason I_MtrRsnCorrespgToBillgRsn MeterReadingReason
UtilitiesMoveInDate I_UtilitiesContract UtilitiesMoveInDate
UtilitiesMoveOutDate I_UtilitiesContract UtilitiesMoveOutDate
UtilsContrJointInvcType I_UtilitiesContract UtilsContrJointInvcType
UtilitiesAccountDetnCode I_UtilitiesContract UtilitiesAccountDetnCode
UtilsPortionScheduleRecordDate I_UtilitiesPortionScheduleRecd UtilsPortionScheduleRecordDate
SchedldUtilsInvcgPrintoutDate I_UtilitiesPortionScheduleRecd SchedldUtilsInvcgPrintoutDate
AuthorizationGroup I_UtilitiesContract AuthorizationGroup
_UtilitiesPortion I_UtilitiesPortionScheduleRecd _UtilitiesPortion
_UtilitiesBillingReason I_UtilitiesPortionScheduleRecd _UtilitiesBillingReason
_CompanyCode I_UtilitiesContract _CompanyCode
_Division I_UtilitiesContract _Division
_UtilitiesInstallation I_UtilitiesContract _UtilitiesInstallation
_UtilsBillgBlockReason I_UtilitiesContract _UtilsBillgBlockReason
_UtilsBillgUnblockReason I_UtilitiesContract _UtilsBillgUnblockReason
_MeterReadingUnit I_UtilitiesInstallationHist _MeterReadingUnit
_UtilitiesRateCategory I_UtilitiesInstallationHist _UtilitiesRateCategory
_UtilsBillingClass I_UtilitiesInstallationHist _UtilsBillingClass
_MeterReadingReason I_MtrRsnCorrespgToBillgRsn _MeterReadingReason
_InvcUtilsContractsJointly I_UtilitiesContract _InvcUtilsContractsJointly
UtilitiesContract
KEY ScheduledUtilitiesBillingDate I_UtilitiesPortionScheduleRecd ScheduledUtilitiesBillingDate
KEY UtilitiesPortion I_UtilitiesPortionScheduleRecd UtilitiesPortion
KEY ScheduledMeterReadingDate I_MtrRdngUnitScheduleRecord ScheduledMeterReadingDate
UtilitiesBillingReason I_UtilitiesPortionScheduleRecd UtilitiesBillingReason
CompanyCode I_UtilitiesContract CompanyCode
Division I_UtilitiesContract UtilitiesDivision
UtilitiesInstallation I_UtilitiesContract UtilitiesInstallation
ContractAccount I_UtilitiesContract ContractAccount
UtilsBillgBlockReason I_UtilitiesContract UtilsBillgBlockReason
UtilsBillgUnblockReason I_UtilitiesContract UtilsBillgUnblockReason
MeterReadingUnit I_UtilitiesInstallationHist MeterReadingUnit
UtilitiesRateCategory I_UtilitiesInstallationHist UtilitiesRateCategory
UtilitiesBillingClass I_UtilitiesInstallationHist UtilitiesBillingClass
MeterReadingReason I_MtrRsnCorrespgToBillgRsn MeterReadingReason
UtilitiesMoveInDate I_UtilitiesContract UtilitiesMoveInDate
UtilitiesMoveOutDate I_UtilitiesContract UtilitiesMoveOutDate
UtilsContrJointInvcType I_UtilitiesContract UtilsContrJointInvcType
UtilitiesAccountDetnCode I_UtilitiesContract UtilitiesAccountDetnCode
UtilsPortionScheduleRecordDate I_UtilitiesPortionScheduleRecd UtilsPortionScheduleRecordDate
SchedldUtilsInvcgPrintoutDate I_UtilitiesPortionScheduleRecd SchedldUtilsInvcgPrintoutDate
AuthorizationGroup I_UtilitiesContract AuthorizationGroup
_UtilitiesPortion I_UtilitiesPortionScheduleRecd _UtilitiesPortion
_UtilitiesBillingReason I_UtilitiesPortionScheduleRecd _UtilitiesBillingReason
_CompanyCode I_UtilitiesContract _CompanyCode
_Division I_UtilitiesContract _Division
_UtilitiesInstallation I_UtilitiesContract _UtilitiesInstallation
_UtilsBillgBlockReason I_UtilitiesContract _UtilsBillgBlockReason
_UtilsBillgUnblockReason I_UtilitiesContract _UtilsBillgUnblockReason
_MeterReadingUnit I_UtilitiesInstallationHist _MeterReadingUnit
_UtilitiesRateCategory I_UtilitiesInstallationHist _UtilitiesRateCategory
_UtilsBillingClass I_UtilitiesInstallationHist _UtilsBillingClass
_MeterReadingReason I_MtrRsnCorrespgToBillgRsn _MeterReadingReason
_InvcUtilsContractsJointly I_UtilitiesContract _InvcUtilsContractsJointly
_UtilsAccountDetnCode I_UtilitiesContract _UtilsAccountDetnCode
@EndUserText.label: 'Utilities Contract to Be Billed Data'
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'IECONTRTBBILLEDD'
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE
define view I_UtilsContrToBeBlldData
  /* For contracts with alternative portion */
  as select from I_UtilitiesContract            as UtilitiesContract
    inner join   I_UtilitiesPortionScheduleRecd as UtilitiesPortionScheduleRecd on UtilitiesPortionScheduleRecd.UtilitiesPortion = UtilitiesContract.AlternativeUtilitiesPortion
    inner join   I_UtilitiesInstallationHist    as UtilitiesInstallationHist    on UtilitiesInstallationHist.UtilitiesInstallation = UtilitiesContract.UtilitiesInstallation
    inner join   I_MtrRsnCorrespgToBillgRsn     as MtrRsnCorrespgToBillgRsn     on MtrRsnCorrespgToBillgRsn.UtilitiesBillingReason = UtilitiesPortionScheduleRecd.UtilitiesBillingReason
    inner join   I_MtrRdngUnitScheduleRecord    as MtrRdngUnitScheduleRecord    on  MtrRdngUnitScheduleRecord.MeterReadingUnit              = UtilitiesInstallationHist.MeterReadingUnit
                                                                                and MtrRdngUnitScheduleRecord.MeterReadingReason            = MtrRsnCorrespgToBillgRsn.MeterReadingReason
                                                                                and MtrRdngUnitScheduleRecord.MtrRdngUnitScheduleRecordDate = UtilitiesPortionScheduleRecd.UtilsPortionScheduleRecordDate
{
  UtilitiesContract.UtilitiesContract,

  @Consumption.filter.mandatory: true
  @Semantics.businessDate.at: true
  UtilitiesPortionScheduleRecd.ScheduledUtilitiesBillingDate,

  @Consumption.filter.mandatory: true
  @ObjectModel.foreignKey.association: '_UtilitiesPortion'
  UtilitiesPortionScheduleRecd.UtilitiesPortion,

  @Semantics.businessDate.at: true
  MtrRdngUnitScheduleRecord.ScheduledMeterReadingDate,

  @ObjectModel.foreignKey.association: '_UtilitiesBillingReason'
  UtilitiesPortionScheduleRecd.UtilitiesBillingReason,

  @ObjectModel.foreignKey.association: '_CompanyCode'
  UtilitiesContract.CompanyCode,

  @ObjectModel.foreignKey.association: '_Division'
  UtilitiesContract.UtilitiesDivision as Division,

  @ObjectModel.foreignKey.association: '_UtilitiesInstallation'
  UtilitiesContract.UtilitiesInstallation,

  UtilitiesContract.ContractAccount,

  @ObjectModel.foreignKey.association: '_UtilsBillgBlockReason'
  UtilitiesContract.UtilsBillgBlockReason,

  @ObjectModel.foreignKey.association: '_UtilsBillgUnblockReason'
  UtilitiesContract.UtilsBillgUnblockReason,

  @ObjectModel.foreignKey.association: '_MeterReadingUnit'
  UtilitiesInstallationHist.MeterReadingUnit,

  @ObjectModel.foreignKey.association: '_UtilitiesRateCategory'
  UtilitiesInstallationHist.UtilitiesRateCategory,

  @ObjectModel.foreignKey.association: '_UtilsBillingClass'
  UtilitiesInstallationHist.UtilitiesBillingClass,

  @ObjectModel.foreignKey.association: '_MeterReadingReason'
  MtrRsnCorrespgToBillgRsn.MeterReadingReason,

  @Semantics.businessDate.at: true
  UtilitiesContract.UtilitiesMoveInDate,

  @Semantics.businessDate.at: true
  UtilitiesContract.UtilitiesMoveOutDate,

  @ObjectModel.foreignKey.association: '_InvcUtilsContractsJointly'
  UtilitiesContract.UtilsContrJointInvcType,

  @ObjectModel.foreignKey.association: '_UtilsAccountDetnCode'
  UtilitiesContract.UtilitiesAccountDetnCode,

  @Semantics.businessDate.to: true
  UtilitiesPortionScheduleRecd.UtilsPortionScheduleRecordDate,

  @Semantics.businessDate.at: true
  UtilitiesPortionScheduleRecd.SchedldUtilsInvcgPrintoutDate,

  case
    when (UtilitiesPortionScheduleRecd.ScheduledUtilitiesBillingDate >= UtilitiesContract.UtilitiesMoveInDate
     and  UtilitiesPortionScheduleRecd.ScheduledUtilitiesBillingDate <= UtilitiesContract.UtilitiesMoveOutDate)
        then 'X'
  end                                 as UtilitiesContractIsActive,

  case
    when (UtilitiesPortionScheduleRecd.ScheduledUtilitiesBillingDate >= UtilitiesInstallationHist.UtilsInstHistValidityStartDate
     and  UtilitiesPortionScheduleRecd.ScheduledUtilitiesBillingDate <= UtilitiesInstallationHist.UtilsInstHistValidityEndDate)
        then 'X'
  end                                 as UtilsInstTimeSliceIsValid,

  UtilitiesContract.AuthorizationGroup,

  /* Associations */
  UtilitiesPortionScheduleRecd._UtilitiesPortion,
  UtilitiesPortionScheduleRecd._UtilitiesBillingReason,
  UtilitiesContract._CompanyCode,
  UtilitiesContract._Division,
  UtilitiesContract._UtilitiesInstallation,
  UtilitiesContract._UtilsBillgBlockReason,
  UtilitiesContract._UtilsBillgUnblockReason,
  UtilitiesInstallationHist._MeterReadingUnit,
  UtilitiesInstallationHist._UtilitiesRateCategory,
  UtilitiesInstallationHist._UtilsBillingClass,
  MtrRsnCorrespgToBillgRsn._MeterReadingReason,
  UtilitiesContract._InvcUtilsContractsJointly,
  UtilitiesContract._UtilsAccountDetnCode

}

union all

/* For all contracts without alternative portion */
select from  I_UtilitiesContract            as UtilitiesContract
  inner join I_UtilitiesInstallationHist    as UtilitiesInstallationHist    on UtilitiesInstallationHist.UtilitiesInstallation = UtilitiesContract.UtilitiesInstallation
  inner join I_MeterReadingUnit             as MeterReadingUnit             on MeterReadingUnit.MeterReadingUnit = UtilitiesInstallationHist.MeterReadingUnit
  inner join I_UtilitiesPortionScheduleRecd as UtilitiesPortionScheduleRecd on UtilitiesPortionScheduleRecd.UtilitiesPortion = MeterReadingUnit.UtilitiesPortion
  inner join I_MtrRsnCorrespgToBillgRsn     as MtrRsnCorrespgToBillgRsn     on MtrRsnCorrespgToBillgRsn.UtilitiesBillingReason = UtilitiesPortionScheduleRecd.UtilitiesBillingReason
  inner join I_MtrRdngUnitScheduleRecord    as MtrRdngUnitScheduleRecord    on  MtrRdngUnitScheduleRecord.MeterReadingUnit              = UtilitiesInstallationHist.MeterReadingUnit
                                                                            and MtrRdngUnitScheduleRecord.MeterReadingReason            = MtrRsnCorrespgToBillgRsn.MeterReadingReason
                                                                            and MtrRdngUnitScheduleRecord.MtrRdngUnitScheduleRecordDate = UtilitiesPortionScheduleRecd.UtilsPortionScheduleRecordDate
{
  key UtilitiesContract.UtilitiesContract,

      @Consumption.filter.mandatory: true
      @Semantics.businessDate.at: true
  key UtilitiesPortionScheduleRecd.ScheduledUtilitiesBillingDate,

      @Consumption.filter.mandatory: true
      @ObjectModel.foreignKey.association: '_UtilitiesPortion'
  key UtilitiesPortionScheduleRecd.UtilitiesPortion,

      @Semantics.businessDate.at: true
  key MtrRdngUnitScheduleRecord.ScheduledMeterReadingDate,

      @ObjectModel.foreignKey.association: '_UtilitiesBillingReason'
      UtilitiesPortionScheduleRecd.UtilitiesBillingReason,

      @ObjectModel.foreignKey.association: '_CompanyCode'
      UtilitiesContract.CompanyCode,

      @ObjectModel.foreignKey.association: '_Division'
      UtilitiesContract.UtilitiesDivision as Division,

      @ObjectModel.foreignKey.association: '_UtilitiesInstallation'
      UtilitiesContract.UtilitiesInstallation,

      UtilitiesContract.ContractAccount,

      @ObjectModel.foreignKey.association: '_UtilsBillgBlockReason'
      UtilitiesContract.UtilsBillgBlockReason,

      @ObjectModel.foreignKey.association: '_UtilsBillgUnblockReason'
      UtilitiesContract.UtilsBillgUnblockReason,

      @ObjectModel.foreignKey.association: '_MeterReadingUnit'
      UtilitiesInstallationHist.MeterReadingUnit,

      @ObjectModel.foreignKey.association: '_UtilitiesRateCategory'
      UtilitiesInstallationHist.UtilitiesRateCategory,

      @ObjectModel.foreignKey.association: '_UtilsBillingClass'
      UtilitiesInstallationHist.UtilitiesBillingClass,

      @ObjectModel.foreignKey.association: '_MeterReadingReason'
      MtrRsnCorrespgToBillgRsn.MeterReadingReason,

      @Semantics.businessDate.at: true
      UtilitiesContract.UtilitiesMoveInDate,

      @Semantics.businessDate.at: true
      UtilitiesContract.UtilitiesMoveOutDate,

      @ObjectModel.foreignKey.association: '_InvcUtilsContractsJointly'
      UtilitiesContract.UtilsContrJointInvcType,

      @ObjectModel.foreignKey.association: '_UtilsAccountDetnCode'
      UtilitiesContract.UtilitiesAccountDetnCode,

      @Semantics.businessDate.to: true
      UtilitiesPortionScheduleRecd.UtilsPortionScheduleRecordDate,

      @Semantics.businessDate.at: true
      UtilitiesPortionScheduleRecd.SchedldUtilsInvcgPrintoutDate,

      case
        when (UtilitiesPortionScheduleRecd.ScheduledUtilitiesBillingDate >= UtilitiesContract.UtilitiesMoveInDate
         and  UtilitiesPortionScheduleRecd.ScheduledUtilitiesBillingDate <= UtilitiesContract.UtilitiesMoveOutDate)
            then 'X'
      end                                 as UtilitiesContractIsActive,

      case
        when (UtilitiesInstallationHist.UtilsInstHistValidityStartDate <= MtrRdngUnitScheduleRecord.ScheduledMeterReadingDate
         and  UtilitiesInstallationHist.UtilsInstHistValidityEndDate   >= MtrRdngUnitScheduleRecord.ScheduledMeterReadingDate)
            then 'X'
      end                                 as UtilsInstTimeSliceIsValid,

      UtilitiesContract.AuthorizationGroup,

      /* Associations */
      UtilitiesPortionScheduleRecd._UtilitiesPortion,
      UtilitiesPortionScheduleRecd._UtilitiesBillingReason,
      UtilitiesContract._CompanyCode,
      UtilitiesContract._Division,
      UtilitiesContract._UtilitiesInstallation,
      UtilitiesContract._UtilsBillgBlockReason,
      UtilitiesContract._UtilsBillgUnblockReason,
      UtilitiesInstallationHist._MeterReadingUnit,
      UtilitiesInstallationHist._UtilitiesRateCategory,
      UtilitiesInstallationHist._UtilsBillingClass,
      MtrRsnCorrespgToBillgRsn._MeterReadingReason,
      UtilitiesContract._InvcUtilsContractsJointly,
      UtilitiesContract._UtilsAccountDetnCode

}
where
  UtilitiesContract.AlternativeUtilitiesPortion = ' '
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_METERREADINGUNIT",
"I_MTRRDNGUNITSCHEDULERECORD",
"I_MTRRSNCORRESPGTOBILLGRSN",
"I_UTILITIESCONTRACT",
"I_UTILITIESINSTALLATIONHIST",
"I_UTILITIESPORTIONSCHEDULERECD"
],
"ASSOCIATED":
[
"I_COMPANYCODE",
"I_DIVISION",
"I_INVCUTILSCONTRACTSJOINTLY",
"I_METERREADINGREASON",
"I_METERREADINGUNIT",
"I_UTILITIESBILLINGREASON",
"I_UTILITIESINSTALLATION",
"I_UTILITIESPORTION",
"I_UTILITIESRATECATEGORY",
"I_UTILSACCOUNTDETNCODE",
"I_UTILSBILLGBLOCKREASON",
"I_UTILSBILLGUNBLOCKREASON",
"I_UTILSBILLINGCLASS"
],
"BASE":
[
"I_MTRRSNCORRESPGTOBILLGRSN",
"I_UTILITIESCONTRACT",
"I_UTILITIESINSTALLATIONHIST",
"I_UTILITIESPORTIONSCHEDULERECD"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/