/* Cards: Billable Billing Orders (column), Billing Orders with Incomplete Meter Readings (column), Billing Orders Billed with Error (column) */
@EndUserText.label: 'Utilities Billing Order'
@VDM.viewType: #CONSUMPTION
@AbapCatalog.sqlViewName: 'CECBILLGORDER'
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE
@UI.chart: [ {
qualifier: 'openoverviews1_card02',
chartType: #COLUMN,
title: '{@i18n>@openoverviews1_card02_chtTtl}',
dimensions: [ 'CalendarMonth', 'CalendarYear' ] ,
dimensionAttributes:[ {dimension: 'CalendarMonth', role: #CATEGORY},
{dimension: 'CalendarYear', role: #CATEGORY} ],
measures: [ 'NrOfUtilitiesBillingOrders' ],
measureAttributes: [ {measure: 'NrOfUtilitiesBillingOrders', role: #AXIS_1, asDataPoint: true} ]
}, {
qualifier: 'openoverviews1_card05',
chartType: #COLUMN,
title: '{@i18n>@openoverviews1_card05_chtTtl}',
dimensions: [ 'CalendarMonth', 'CalendarYear' ] ,
dimensionAttributes:[ {dimension: 'CalendarMonth', role: #CATEGORY},
{dimension: 'CalendarYear', role: #CATEGORY} ],
measures: [ 'NrOfUtilitiesBillingOrders' ],
measureAttributes: [ {measure: 'NrOfUtilitiesBillingOrders', role: #AXIS_1, asDataPoint: true} ]
}, {
qualifier: 'openoverviews1_card03',
chartType: #COLUMN,
title: '{@i18n>@openoverviews1_card03_chtTtl}',
dimensions: [ 'CalendarMonth', 'CalendarYear' ] ,
dimensionAttributes:[ {dimension: 'CalendarMonth', role: #CATEGORY},
{dimension: 'CalendarYear', role: #CATEGORY} ],
measures: [ 'NrOfUtilitiesBillingOrders' ],
measureAttributes: [ {measure: 'NrOfUtilitiesBillingOrders', role: #AXIS_1, asDataPoint: true} ]
} ]
@UI.selectionVariant:[ {
qualifier: 'openoverviews1_card02',
filter: 'UtilsBillingOrderStatus = "2" and UtilsBillingOrderIndicator <> "X"'
}, {
qualifier: 'openoverviews1_card05',
filter: 'UtilsBillingOrderStatus = "1"'
}, {
qualifier: 'openoverviews1_card03',
filter: 'UtilsBillingOrderStatus = "2" and UtilsBillingOrderIndicator = "X"'
} ]
define view C_UtilsBillingOrder
as select from I_UtilsBillingOrder as UtilsBillingOrder
association [1..1] to I_CalendarDate as _CalendarDate on $projection.ScheduledUtilitiesBillingDate = _CalendarDate.CalendarDate
{
key UtilsBillingOrder.UtilitiesContract,
@ObjectModel.foreignKey.association:'_UtilitiesInstallation'
key UtilsBillingOrder.UtilitiesInstallation,
@Semantics.businessDate.at: true
key UtilsBillingOrder.ScheduledUtilitiesBillingDate,
@ObjectModel.foreignKey.association:'_UtilitiesBillingReason'
key UtilsBillingOrder.UtilitiesBillingReason,
@ObjectModel.foreignKey.association:'_UtilitiesPortion'
UtilsBillingOrder.UtilitiesPortion,
UtilsBillingOrder.ScheduledMeterReadingDate,
@ObjectModel.foreignKey.association: '_BusinessPartner'
UtilsBillingOrder.BusinessPartner,
@ObjectModel.foreignKey.association: '_ContrAcc'
UtilsBillingOrder.ContractAccount,
@ObjectModel.foreignKey.association: '_UtilsBillgBlockReason'
UtilsBillingOrder.UtilsBillgBlockReason,
@ObjectModel.foreignKey.association: '_UtilsBillgUnblockReason'
UtilsBillingOrder.UtilsBillgUnblockReason,
@ObjectModel.foreignKey.association:'_CompanyCode'
UtilsBillingOrder.CompanyCode,
@ObjectModel.foreignKey.association:'_Division'
UtilsBillingOrder.Division,
@ObjectModel.foreignKey.association:'_MeterReadingUnit'
UtilsBillingOrder.MeterReadingUnit,
@ObjectModel.foreignKey.association: '_UtilitiesRateCategory'
UtilsBillingOrder.UtilitiesRateCategory,
@ObjectModel.foreignKey.association: '_UtilsBillingClass'
UtilsBillingOrder.UtilitiesBillingClass,
@Consumption.filter.hidden: true
@Semantics.businessDate.to: true
UtilsBillingOrder.UtilsPortionScheduleRecordDate,
@ObjectModel.foreignKey.association: '_UtilsBillingOrderStatus'
UtilsBillingOrder.UtilsBillingOrderStatus,
@ObjectModel.foreignKey.association: '_UtilsBillingOrderIndicator'
UtilsBillingOrder.UtilsBillingOrderIndicator,
@ObjectModel.foreignKey.association: '_SuppressedUtilsBillgReason'
UtilsBillingOrder.SuppressedUtilsBillgReason,
UtilsBillingOrder.SuppressedUtilsSchedldBillgDte,
UtilsBillingOrder.SuppressedSchedldMtrRdngDte,
@ObjectModel.foreignKey.association: '_UtilsAccountDetnCode'
UtilsBillingOrder.UtilitiesAccountDetnCode,
@UI.textArrangement: #TEXT_ONLY
@ObjectModel.foreignKey.association: '_CalendarMonth'
@ObjectModel.text.element: [ 'CalendarMonthName' ]
cast(_CalendarDate.CalendarMonth as e_schdldmnth_vdm preserving type ) as CalendarMonth,
@UI.hidden: true
_CalendarDate._CalendarMonth._Text[1: Language = $session.system_language].CalendarMonthName,
@ObjectModel.foreignKey.association: '_CalendarYear'
cast(_CalendarDate.CalendarYear as e_schdldyr_vdm preserving type ) as CalendarYear,
@Consumption.hidden: true
UtilsBillingOrder.AuthorizationGroup,
@UI.dataPoint: [ { title: '{@i18n>@NR_BILLING_ORDERS}' } ]
@DefaultAggregation: #SUM
UtilsBillingOrder.NrOfUtilitiesBillingOrders,
/* Associations */
@Consumption.filter.hidden: true
UtilsBillingOrder._UtilitiesInstallation,
@Consumption.filter.hidden: true
UtilsBillingOrder._UtilitiesBillingReason,
@Consumption.filter.hidden: true
UtilsBillingOrder._UtilitiesPortion,
@Consumption.filter.hidden: true
UtilsBillingOrder._BusinessPartner,
@Consumption.filter.hidden: true
UtilsBillingOrder._ContrAcc,
@Consumption.filter.hidden: true
UtilsBillingOrder._UtilsBillgBlockReason,
@Consumption.filter.hidden: true
UtilsBillingOrder._UtilsBillgUnblockReason,
@Consumption.filter.hidden: true
UtilsBillingOrder._CompanyCode,
@Consumption.filter.hidden: true
UtilsBillingOrder._Division,
@Consumption.filter.hidden: true
UtilsBillingOrder._MeterReadingUnit,
@Consumption.filter.hidden: true
UtilsBillingOrder._UtilitiesRateCategory,
@Consumption.filter.hidden: true
UtilsBillingOrder._UtilsBillingClass,
@Consumption.filter.hidden: true
UtilsBillingOrder._UtilsBillingOrderStatus,
@Consumption.filter.hidden: true
UtilsBillingOrder._UtilsBillingOrderIndicator,
@Consumption.filter.hidden: true
UtilsBillingOrder._SuppressedUtilsBillgReason,
@Consumption.filter.hidden: true
UtilsBillingOrder._UtilsAccountDetnCode,
@Consumption.filter.hidden: true
_CalendarDate,
@Consumption.filter.hidden: true
_CalendarDate._CalendarMonth,
@Consumption.filter.hidden: true
_CalendarDate._CalendarYear
}
where
UtilsBillingOrder.UtilitiesContractIsActive = 'X'
and UtilsBillingOrder.UtilsInstTimeSliceIsValid = 'X'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CALENDARDATE",
"I_CALENDARMONTH",
"I_CALENDARMONTHTEXT",
"I_UTILSBILLINGORDER"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNER",
"I_CALENDARDATE",
"I_CALENDARMONTH",
"I_CALENDARYEAR",
"I_COMPANYCODE",
"I_CONTRACTACCOUNTHEADER",
"I_DIVISION",
"I_METERREADINGUNIT",
"I_UTILITIESBILLINGREASON",
"I_UTILITIESINSTALLATION",
"I_UTILITIESPORTION",
"I_UTILITIESRATECATEGORY",
"I_UTILSACCOUNTDETNCODE",
"I_UTILSBILLGBLOCKREASON",
"I_UTILSBILLGUNBLOCKREASON",
"I_UTILSBILLINGCLASS",
"I_UTILSBILLINGORDERINDICATOR",
"I_UTILSBILLINGORDERSTATUS"
],
"BASE":
[
"I_CALENDARDATE",
"I_UTILSBILLINGORDER"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/