C_CADunningLockAnalysis

DDL: C_CADUNNINGLOCKANALYSIS Type: view_entity CONSUMPTION Package: ODATA_O2C_FICA_DUNNINGLOCK_ANA

Analyze Dunning Locks Version2

C_CADunningLockAnalysis is a Consumption CDS View that provides data about "Analyze Dunning Locks Version2" in SAP S/4HANA. It reads from 1 data source (R_CADocBPItemBusLockSnapshotTP) and exposes 6 fields. It has 1 association to related views. It is exposed through 1 OData service (UI_CADUNNINGLOCK_ANALYSIS). It is used in 1 Fiori application: Analyze Dunning Locks (Version 2). Part of development package ODATA_O2C_FICA_DUNNINGLOCK_ANA.

Data Sources (1)

SourceAliasJoin Type
R_CADocBPItemBusLockSnapshotTP R_CADocBPItemBusLockSnapshotTP from

Parameters (1)

NameTypeDefault
P_DisplayCurrency waers_kk

Associations (1)

CardinalityTargetAliasCondition
[1..1] I_CABusinessLockReasonEnhanced _CABusinessLockReason $projection.CABusinessLockReasonEnhanced = _CABusinessLockReason.CABusinessLockReasonEnhanced and $projection.CABusinessProcess = _CABusinessLockReason.CABusinessProcess

Annotations (10)

NameValueLevelField
EndUserText.label Analyze Dunning Locks Version2 view
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #REQUIRED view
Metadata.ignorePropagatedAnnotations true view
OData.entitySet.name C_CADunningLockAnalysis view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #CONSUMPTION view
Metadata.allowExtensions true view

OData Services (1)

ServiceBindingVersionContractRelease
UI_CADUNNINGLOCK_ANALYSIS UI_CADUNNINGLOCK_ANALYSIS V2 C1 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
F1655A Analyze Dunning Locks (Version 2) Transactional, Analytical An application to analyze dunning locks based on a snapshot of the locked open business partner items.

Analyze Dunning Locks (Version 2)

Business Role: Accounts Payable and Receivable Manager (FI-CA)

With the Analyze Dunning Locks app, you display existing dunning locks for receivables. Using the app, you can display the amounts related to the selected locks in different currencies.As data volume in Contract Accounting can be very high, to improve performance, a new version of the app evaluates a system snapshot of receivables instead of the current live data.

Fields (6)

KeyFieldSource TableSource FieldDescription
CalendarMonthShortName Number of Business Partner Items
ltrimCABusLockValidFromDateYear0
CalendarMonthShortName Expiration Date in Months
ltrimCABusLockValidToDateYear0
CalendarMonthShortName Created On in Months
ltrimLastChangeDateYear0
@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'