C_CAPaymentLockAnalysis

DDL: C_CAPAYMENTLOCKANALYSIS Type: view_entity CONSUMPTION Package: ODATA_O2C_FICA_PAYMENTLOCK_ANA

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 2 associations 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). Part of development package ODATA_O2C_FICA_PAYMENTLOCK_ANA.

Data Sources (1)

SourceAliasJoin Type
R_CADocBPItemBusLockSnapshotTP R_CADocBPItemBusLockSnapshotTP from

Parameters (1)

NameTypeDefault
P_DisplayCurrency waers_kk

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_CABusinessLockReasonEnhanced _CABusinessLockReason $projection.CABusinessLockReasonEnhanced = _CABusinessLockReason.CABusinessLockReasonEnhanced and $projection.CABusinessProcess = _CABusinessLockReason.CABusinessProcess
[0..1] I_CAProviderContractHeader _CAProviderContract $projection.CASubApplication = 'P' and $projection.CAContract = _CAProviderContract.CAProviderContract

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
  association [0..1] to I_CAProviderContractHeader  as _CAProviderContract      on  $projection.CASubApplication = 'P'
                                                                                    and $projection.CAContract       = _CAProviderContract.CAProviderContract                                                                              
{


  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 */

      @ObjectModel.text.element: [ 'CAProviderContractName' ]
      CAContract,
      
      @Semantics.text: true
      cast(_CAProviderContract.CAProviderContractName as vtref_text_gfn_kk preserving type ) as CAProviderContractName,

      @ObjectModel: { text.element:  [ 'CASubApplicationText' ]}
      CASubApplication,

      @Semantics.text: true
      cast(CASubApplicationText as subap_text_gfn_kk preserving type ) as 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'

  )