C_CAPaymentLockAnalysis

DDL: C_CAPAYMENTLOCKANALYSIS Type: view_entity CONSUMPTION

Payment Lock Analysis

C_CAPaymentLockAnalysis is a Consumption CDS View that provides data about "Payment Lock Analysis" 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_CAPAYMENTLOCK_ANALYSIS). It is used in 1 Fiori application: Analyze Payment Locks (Version 2).

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 (9)

NameValueLevelField
EndUserText.label Payment Lock Analysis view
AccessControl.authorizationCheck #CHECK view
Metadata.ignorePropagatedAnnotations true view
OData.entitySet.name C_CAPaymentLockAnalysis view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #CONSUMPTION view
Metadata.allowExtensions true view

OData Services (1)

ServiceBindingVersionContractRelease
UI_CAPAYMENTLOCK_ANALYSIS UI_CAPAYMENTLOCK_ANALYSIS V2 C1 NOT_RELEASED

Fiori Apps (1)

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

Analyze Payment Locks (Version 2)

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

With the Analyze Payment Locks app, you display existing payment locks for receivables and payables. 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 and payables instead of the current live data.

Fields (6)

KeyFieldSource TableSource FieldDescription
CalendarMonthShortName Start Date in Months
ltrimCABusLockValidFromDateYear0
CalendarMonthShortName Expiration Date in Months
ltrimCABusLockValidToDateYear0
CalendarMonthShortName Expiration Date in Years
ltrimLastChangeDateYear0
@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'

  )