@EndUserText.label: 'Analyze Dunning Locks Version2'
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #REQUIRED
@Metadata.ignorePropagatedAnnotations: true
@OData.entitySet.name: 'C_CADunningLockAnalysis'
@ObjectModel: {
usageType.serviceQuality: #D,
usageType.sizeCategory: #XXL,
usageType.dataClass: #MIXED
}
@VDM.viewType: #CONSUMPTION
@VDM.usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE]
@Metadata.allowExtensions: true
define root view entity C_CADunningLockAnalysis
with parameters
//@Consumption.valueHelpDefinition: [{entity: { name: 'I_CurrencyStdVH', element: 'P_DisplayCurrency'} }]
@EndUserText.label: 'Display Currency'
@Consumption.valueHelpDefinition: [{entity: { name: 'I_CurrencyStdVH', element: 'Currency' }}]
P_DisplayCurrency : waers_kk
as select from R_CADocBPItemBusLockSnapshotTP( P_DisplayCurrency:$parameters.P_DisplayCurrency)
association [1..1] to I_CABusinessLockReasonEnhanced as _CABusinessLockReason on $projection.CABusinessLockReasonEnhanced = _CABusinessLockReason.CABusinessLockReasonEnhanced
and $projection.CABusinessProcess = _CABusinessLockReason.CABusinessProcess
// association [0..1] to ZC_ContractPartnerContact as _BusinessPartnerContact on $projection.BusinessPartner = _BusinessPartnerContact.BusinessPartner
{
key CAFioriApplication,
key CABusinessLockSnapshotDateTime,
@Consumption.filter.hidden: true
@UI.hidden: true
key CADocumentNumber,
@UI.hidden: true
@Consumption.filter.hidden: true
key CARepetitionItemNumber,
@UI.hidden: true
@Consumption.filter.hidden: true
key CABPItemNumber,
@UI.hidden: true
@Consumption.filter.hidden: true
key CASubItemNumber,
@Aggregation.default: #SUM
@EndUserText.label: 'Number of Business Partner Items'
NumberOfCABusLockSnpshtBPItems,
@EndUserText.label: 'Lock Reason'
// @Search.defaultSearchElement: true
@ObjectModel: { text.element: [ 'CABusinessLockReasonName' ]}
CABusinessLockReasonEnhanced,
@Semantics.text: true
_CABusinessLockReason._Text[1:Language = $session.system_language].CABusinessLockReasonName,
@EndUserText.label: 'Business Partner'
@Semantics: { contact.type: #PERSON }
@ObjectModel: { text.element: [ 'BusinessPartnerFullName' ]}
@ObjectModel.foreignKey.association: '_BusinessPartner'
//@ObjectModel.foreignKey.association: '_BusinessPartnerContact'
BusinessPartner,
@Semantics.text: true
BusinessPartnerFullName,
@EndUserText.label: 'Created On'
@Semantics.systemDate.createdAt: true
CreationDate,
@EndUserText.label: 'Total Duration in Days'
CABusinessLockDuration,
@EndUserText.label: 'Expiration Date'
@Semantics.dateTime: false
CABusinessLockValidToDate,
@EndUserText.label: 'Start Date'
CABusinessLockValidFromDate,
CABusinessLockObjectCategory,
@ObjectModel: { text.element: [ 'CABusinessLockObjectLevelText' ]}
CABusinessLockObjectLevel,
@Semantics.text: true
CABusinessLockObjectLevelText,
CAApplicationArea,
CABusinessLockObject,
@ObjectModel: { text.element: [ 'CABusinessProcessName' ]}
CABusinessProcess,
@Semantics.text: true
CABusinessProcessName,
@ObjectModel: { text.element: [ 'ContractAccountName' ]}
@EndUserText.label: 'Contract Account'
ContractAccount,
@Semantics.text: true
@UI.hidden: true
ContractAccountName,
CAContract,
CAProviderContractItemNumber,
CAProviderContractItemUUID,
@ObjectModel: { text.element: [ 'CASubApplicationText' ]}
CASubApplication,
@Semantics.text: true
CASubApplicationText,
@EndUserText.label: 'Contract Account Category'
@ObjectModel: { text.element: [ 'ContractAccountCategoryName' ]}
ContractAccountCategory,
@Semantics.text: true
ContractAccountCategoryName,
@Semantics.text: true
CABusinessLockObjectCatName,
@EndUserText.label: 'Number of Extensions'
CABusLockNumberOfExtensions,
@ObjectModel: { text.element: [ 'CompanyCodeName' ]}
CompanyCode,
@Semantics.text: true
CompanyCodeName,
BusinessArea,
Segment,
Division,
@ObjectModel: { text.element: [ 'CAMainTransactionName' ]}
CAMainTransaction,
@Semantics.text: true
CAMainTransactionName,
@ObjectModel: { text.element: [ 'CASubTransactionName' ]}
CASubTransaction,
@Semantics.text: true
CASubTransactionName,
@Semantics.amount.currencyCode: 'TransactionCurrency'
CAAmountInTransactionCurrency,
TransactionCurrency,
DisplayCurrency,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
@ObjectModel:{text.element:['DisplayCurrency']}
@EndUserText.label: 'Amount'
AmountInDisplayCurrency,
// Start Date
@EndUserText.label: 'Start Date in Months'
@ObjectModel.text.element: ['CABusLockValFrmDteYearMnthName']
CABusLockValidFromDateYearMnth,
@Semantics.text: true
concat_with_space(
_ValidFromMonth._ShortText[1:Language = $session.system_language].CalendarMonthShortName,
ltrim(CABusLockValidFromDateYear,'0'),
1) as CABusLockValFrmDteYearMnthName,
@EndUserText.label: 'Start Date in Years'
CABusLockValidFromDateYear,
@EndUserText.label: 'Start Date in Weeks'
@ObjectModel.text.element: ['CABusLockValFrmDteYearWeekName']
CABusLockValidFromDateYearWeek,
@Semantics.text: true
concat(
concat(
right(CABusLockValidFromDateYearWeek,2),
'/'),
ltrim(CABusLockValidFromDateYear,'0')) as CABusLockValFrmDteYearWeekName,
@EndUserText.label: 'Start Date in Quaters'
@ObjectModel.text.element: ['CABusLockValFrmDteYearQtrName']
CABusLockValidFromDateYearQtr,
@Semantics.text: true
concat(
concat(
right(CABusLockValidFromDateYearQtr,1),
'/'),
ltrim(CABusLockValidFromDateYear,'0')) as CABusLockValFrmDteYearQtrName,
//Expiration Date
@EndUserText.label: 'Expiration Date in Months'
@ObjectModel.text.element: ['CABusLockValToDteYearMnthName']
CABusLockValidToDateYearMonth,
@Semantics.text: true
concat_with_space(
_ValidToMonth._ShortText[1:Language = $session.system_language].CalendarMonthShortName,
ltrim(CABusLockValidToDateYear,'0'),
1) as CABusLockValToDteYearMnthName,
@EndUserText.label: 'Expiration Date in Years'
CABusLockValidToDateYear,
@EndUserText.label: 'Expiration Date in Weeks'
@ObjectModel.text.element: ['CABusLockValToDteYearWeekName']
CABusLockValidToDateYearWeek,
@Semantics.text: true
concat(
concat(
right(CABusLockValidToDateYearWeek,2),
'/'),
ltrim(CABusLockValidToDateYear,'0')) as CABusLockValToDteYearWeekName,
@EndUserText.label: 'Expiration Date in Quaters'
@ObjectModel.text.element: ['CABusLockValToDteYearQtrName']
CABusLockValidToDateYearQtr,
@Semantics.text: true
concat(
concat(
right(CABusLockValidToDateYearQtr,1),
'/'),
ltrim(CABusLockValidToDateYear,'0')) as CABusLockValToDteYearQtrName,
//Created On
@EndUserText.label: 'Created On in Months'
@ObjectModel.text.element: ['LastChangeDateYearMonthName']
LastChangeDateYearMonth,
@Semantics.text: true
concat_with_space(
_LastChangeMonth._ShortText[1:Language = $session.system_language].CalendarMonthShortName,
ltrim(LastChangeDateYear,'0'),
1) as LastChangeDateYearMonthName,
@EndUserText.label: 'Created On in Years'
LastChangeDateYear,
@EndUserText.label: 'Created On in Weeks'
@ObjectModel.text.element: ['LastChangeDateYearWeekName']
LastChangeDateYearWeek,
@Semantics.text: true
concat(
concat(
right(LastChangeDateYearWeek,2),
'/'),
ltrim(LastChangeDateYear,'0')) as LastChangeDateYearWeekName,
@EndUserText.label: 'Created On in Quaters'
@ObjectModel.text.element: ['LastChangeDateYearQuarterName']
LastChangeDateYearQuarter,
@Semantics.text: true
concat(
concat(
right(LastChangeDateYearQuarter,1),
'/'),
ltrim(LastChangeDateYear,'0')) as LastChangeDateYearQuarterName,
@EndUserText.label: 'Duration in Weeks'
CABusinessLockDurationInWeeks,
CABusinessLockDurationInMonths,
CABusinessLockDurationInQtrs,
CABusinessLockDurationInYears,
CAProviderContractAuthznGroup,
//Total Amounts
@Semantics.amount.currencyCode: 'DisplayCurrency'
@EndUserText.label: 'Credit Amount'
BPCreditAmountInDC,
@Semantics.amount.currencyCode: 'DisplayCurrency'
@EndUserText.label: 'Debit Amount'
BPDebitAmountInDC,
@Semantics.amount.currencyCode: 'DisplayCurrency'
@EndUserText.label: 'Current Balance'
BPBalanceAmountInDC,
//Worklist Info
@EndUserText.label: 'Last Worklist Item Status'
@EndUserText.quickInfo: ''
@ObjectModel.text.element: ['CAClrfctnStatusName']
_LastWorklistItem.CAClrfctnStatus,
@Semantics.text: true
_LastWorklistItem._Status._Text[1:Language = $session.system_language].CAClrfctnStatusName,
@EndUserText.label: 'Last Worklist Item Created On'
@EndUserText.quickInfo: ''
@Semantics.dateTime: true
_LastWorklistItem.CreationDateTime as CAWorklistItemCreationDateTime,
//Associations
_BusinessPartner,
_CABusinessLockObjCategory,
_CABusinessLockReason,
_ContractAccountCategory,
_CABusinessProcess,
_CAPartner,
_CASubApplication,
_CAMainTransaction,
_SubTransaction,
_CompCode,
// _BusinessPartnerContact,
_LastWorklistItem._Status as _WorklistStatus,
_CABusinessLockObjectLevel
}
where
CAFioriApplication = 'F1655A'
and CADocumentBPItemPyblRblCode = 'R'