@EndUserText.label: 'Payment Lock Analysis'
@AccessControl.authorizationCheck: #CHECK
@Metadata.ignorePropagatedAnnotations: true
@OData.entitySet.name: 'C_CAPaymentLockAnalysis'
@ObjectModel: {
usageType.serviceQuality: #D,
usageType.sizeCategory: #XXL,
usageType.dataClass: #TRANSACTIONAL
}
@VDM.viewType: #CONSUMPTION
@VDM.usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE]
@Metadata.allowExtensions: true
define root view entity C_CAPaymentLockAnalysis
with parameters
@Consumption.valueHelpDefinition: [{entity: { name: 'I_CurrencyStdVH', element: 'Currency' }}]
@Consumption.defaultValue: 'EUR'
@EndUserText.label: 'Display 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
{
key CAFioriApplication,
key CABusinessLockSnapshotDateTime,
key CADocumentNumber,
key CARepetitionItemNumber,
key CABPItemNumber,
key CASubItemNumber,
/* Default Fields */
// Variant: Payable/Receivable
@EndUserText.label: 'Variant'
CADocumentBPItemPyblRblCode,
@EndUserText.label: 'Lock Reason'
@ObjectModel: { text.element: [ 'CABusinessLockReasonName' ]}
CABusinessLockReasonEnhanced,
@Semantics.text: true
_CABusinessLockReason._Text[1:Language = $session.system_language].CABusinessLockReasonName,
@EndUserText.label: 'Business Partner'
@ObjectModel: { text.element: [ 'BusinessPartnerFullName' ]}
@Semantics: { contact.type: #PERSON }
BusinessPartner,
@Semantics.text: true
BusinessPartnerFullName,
@EndUserText.label: 'Start Date'
CABusinessLockValidFromDate,
@EndUserText.label: 'Expiration Date'
CABusinessLockValidToDate,
@EndUserText.label: 'Created On'
CreationDate,
@EndUserText.label: 'Duration'
CABusinessLockDuration,
@EndUserText.label: 'Lock Object Category'
@ObjectModel: { text.element: [ 'CABusinessLockObjectLevelText' ]}
CABusinessLockObjectLevel,
@Semantics.text: true
CABusinessLockObjectLevelText,
CABusinessLockObjectCategory,
/* Dimensions */
@EndUserText.label: 'Number of Extensions'
CABusLockNumberOfExtensions,
// Start Date
@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 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 Quaters'
@ObjectModel.text.element: ['CABusLockValFrmDteYearQtrName']
CABusLockValidFromDateYearQtr,
@Semantics.text: true
concat(
concat(
right(CABusLockValidFromDateYearQtr,1),
'/'),
ltrim(CABusLockValidFromDateYear,'0')) as CABusLockValFrmDteYearQtrName,
@EndUserText.label: 'Start Date in Years'
CABusLockValidFromDateYear,
// Expiration Date
@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 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 Quaters'
@ObjectModel.text.element: ['CABusLockValToDteYearQtrName']
CABusLockValidToDateYearQtr,
@Semantics.text: true
concat(
concat(
right(CABusLockValidToDateYearQtr,1),
'/'),
ltrim(CABusLockValidToDateYear,'0')) as CABusLockValToDteYearQtrName,
@EndUserText.label: 'Expiration Date in Years'
CABusLockValidToDateYear,
// 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,
// Duration
CABusinessLockDurationInWeeks,
CABusinessLockDurationInMonths,
CABusinessLockDurationInQtrs,
CABusinessLockDurationInYears,
CAProviderContractAuthznGroup,
/* Measures */
@DefaultAggregation: #COUNT
@EndUserText.label: 'Number of Items'
cast(1 as abap.int4) as NumberOfCABusLockSnpshtBPItems,
@Semantics.amount.currencyCode: 'TransactionCurrency'
CAAmountInTransactionCurrency,
TransactionCurrency,
@DefaultAggregation: #SUM
@Semantics.amount.currencyCode: 'DisplayCurrency'
@ObjectModel:{text.element:['DisplayCurrency']}
@EndUserText.label: 'Amount'
AmountInDisplayCurrency,
DisplayCurrency,
/* Table Fields */
@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 At'
@EndUserText.quickInfo: ''
@Semantics.dateTime: true
_LastWorklistItem.CreationDateTime as CAWorklistItemCreationDateTime,
//Total Amounts
@Semantics.amount.currencyCode: 'DisplayCurrency'
@EndUserText.label: 'Credit Amount'
// @Aggregation.default: #MAX
BPCreditAmountInDC,
@Semantics.amount.currencyCode: 'DisplayCurrency'
@EndUserText.label: 'Debit Amount'
// @Aggregation.default: #MAX
BPDebitAmountInDC,
@Semantics.amount.currencyCode: 'DisplayCurrency'
@EndUserText.label: 'Current Balance'
// @Aggregation.default: #MAX
BPBalanceAmountInDC,
/* Additional Fields */
CAContract,
@ObjectModel: { text.element: [ 'CASubApplicationText' ]}
CASubApplication,
@Semantics.text: true
CASubApplicationText,
@ObjectModel: { text.element: [ 'ContractAccountName' ]}
ContractAccount,
@Semantics.text: true
ContractAccountName,
@EndUserText.label: 'Contract Account Category'
@ObjectModel: { text.element: [ 'ContractAccountCategoryName' ]}
ContractAccountCategory,
@Semantics.text: true
ContractAccountCategoryName,
@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,
@ObjectModel: { text.element: [ 'CABusinessProcessName' ]}
CABusinessProcess,
@Semantics.text: true
CABusinessProcessName,
/* Hidden Fields*/
CAApplicationArea,
CABusinessLockObject,
CAProviderContractItemNumber,
CAProviderContractItemUUID,
_BusinessPartner,
_CABusinessLockObjectLevel,
_CABusinessLockReason,
_ContractAccountCategory,
_CABusinessProcess,
_CAPartner,
_CASubApplication,
_CAMainTransaction,
_SubTransaction,
_CompCode
}
where
(
R_CADocBPItemBusLockSnapshotTP.CAFioriApplication = 'F6134'
// and I_CADocBPItemBusLockSnapshot.DisplayCurrency = 'EUR'
)