C_RAContrManualSpreadingTP

DDL: C_RACONTRMANUALSPREADINGTP Type: view_entity CONSUMPTION

Revenue Accounting Contract Entity

C_RAContrManualSpreadingTP is a Consumption CDS View that provides data about "Revenue Accounting Contract Entity" in SAP S/4HANA. It reads from 2 data sources (I_RevenueAccountingContract, P_RAContrWithTimeBasedPOB) and exposes 42 fields with key field RevenueAccountingContract. It has 5 associations to related views. It is exposed through 1 OData service (UI_MANUALSPREADING).

Data Sources (2)

SourceAliasJoin Type
I_RevenueAccountingContract Contract from
P_RAContrWithTimeBasedPOB ContractWithTimeBasedPob inner

Associations (5)

CardinalityTargetAliasCondition
[0..*] I_RAContractStatusText _RAContractStatusText $projection.RevnAcctgContractStatus = _RAContractStatusText.RevnAcctgContractStatus
[0..*] I_AccountingPrincipleText _AccountingPrincipleText $projection.AccountingPrinciple = _AccountingPrincipleText.AccountingPrinciple
[0..1] I_UserContactCard _CreatedByUserContactCard $projection.RevnAcctgContractCreatedByUser = _CreatedByUserContactCard.ContactCardID
[0..1] I_UserContactCard _LastChangedByContactCard $projection.RAContractLastChangedByUsr = _LastChangedByContactCard.ContactCardID
[0..*] C_RAPerfOblgnManualSpreadingTP _PerformanceObligation

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label Revenue Accounting Contract Entity view
Search.searchable true view
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view
Metadata.allowExtensions true view

OData Services (1)

ServiceBindingVersionContractRelease
UI_MANUALSPREADING UI_MANUALSPREADING V4 C1 NOT_RELEASED

Fields (42)

KeyFieldSource TableSource FieldDescription
KEY RevenueAccountingContract I_RevenueAccountingContract RevenueAccountingContract
CompanyCode I_RevenueAccountingContract CompanyCode
CompanyCodeName
AccountingPrinciple I_RevenueAccountingContract AccountingPrinciple
AccountingPrincipleName
BusinessPartner I_RevenueAccountingContract BusinessPartner
BusinessPartnerName
Customer I_RevenueAccountingContract Customer
CustomerName
TotContractualPrcInSlsDocCrcy I_RevenueAccountingContract TotContractualPrcInSlsDocCrcy
AllocEffctAmountInSalesDocCrcy I_RevenueAccountingContract AllocEffctAmountInSalesDocCrcy
RAContractHasAllocationEffect I_RevenueAccountingContract RAContractHasAllocationEffect
SalesDocumentCurrency I_RevenueAccountingContract SalesDocumentCurrency
RevnAcctgContractStatus I_RevenueAccountingContract RevnAcctgContractStatus
RevnAcctgContractStatusName
RAContractIsCreatedByContrMgr I_RevenueAccountingContract RAContractIsCreatedByContrMgr
RAContractLastSavedDateTime I_RevenueAccountingContract RAContractLastSavedDateTime
RevnAcctgContractCreationDate I_RevenueAccountingContract RevnAcctgContractCreationDate
RevnAcctgContractCreatedByUser I_RevenueAccountingContract RevnAcctgContractCreatedByUser
RAContractLastChangedByUsr I_RevenueAccountingContract RAContractLastChangedByUsr
CreatedByUserDescription
LastChangedByUserDescription
RAContractLastChangeDate I_RevenueAccountingContract RAContractLastChangeDate
IsBusinessPurposeCompleted I_RevenueAccountingContract IsBusinessPurposeCompleted
RAContrHasMnlPrcAllocConflict I_RevenueAccountingContract RAContrHasMnlPrcAllocConflict
RAAttributeHasConflict
RevnAcctgSalesOrganization I_RevenueAccountingContract RevnAcctgSalesOrganization
SalesOrganizationName
PerfOblgnHasSprdgConflict
RAContractIsSoftDeleted I_RevenueAccountingContract RAContractIsSoftDeleted
RAContractIsUniversal I_RevenueAccountingContract RAContractIsUniversal
RAContractHasAssetsImpairment I_RevenueAccountingContract RAContractHasAssetsImpairment
_PerformanceObligation _PerformanceObligation
_RAContractStatusText _RAContractStatusText
_AccountingPrincipleText _AccountingPrincipleText
_CreatedByUserContactCard _CreatedByUserContactCard
_LastChangedByContactCard _LastChangedByContactCard
_Customer I_RevenueAccountingContract _Customer
_SalesOrganization I_RevenueAccountingContract _SalesOrganization
_AccountingPrinciple I_RevenueAccountingContract _AccountingPrinciple
_CompanyCode I_RevenueAccountingContract _CompanyCode
_BusinessPartner I_RevenueAccountingContract _BusinessPartner
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Revenue Accounting Contract Entity'

@Search.searchable: true

@AccessControl.privilegedAssociations: ['_CreatedByUserContactCard', '_LastChangedByContactCard']

@VDM.viewType: #CONSUMPTION
@VDM.usage.type:[#TRANSACTIONAL_PROCESSING_SERVICE]
@ObjectModel.usageType: {sizeCategory: #XXL, serviceQuality: #C, dataClass: #MIXED}
@ObjectModel.semanticKey: ['RevenueAccountingContract']
@ObjectModel.text.control: #('ASSOCIATED_TEXT_UI_HIDDEN')
@Metadata.allowExtensions: true

define root view entity C_RAContrManualSpreadingTP
  as select from           I_RevenueAccountingContract    as Contract

    inner join             P_RAContrWithTimeBasedPOB      as ContractWithTimeBasedPob      on Contract.RevenueAccountingContract = ContractWithTimeBasedPob.RevenueAccountingContract
    left outer to one join P_RAContractWithAttribConflict as ContractWithAttribConflict    on Contract.RevenueAccountingContract = ContractWithAttribConflict.RevenueAccountingContract
    left outer to one join P_RAContrWithSpreadingConflict as ContractWithSpreadingConflict on Contract.RevenueAccountingContract = ContractWithSpreadingConflict.RevenueAccountingContract
  composition [0..*] of C_RAPerfOblgnManualSpreadingTP as _PerformanceObligation

  association [0..*] to I_RAContractStatusText         as _RAContractStatusText     on $projection.RevnAcctgContractStatus = _RAContractStatusText.RevnAcctgContractStatus
  association [0..*] to I_AccountingPrincipleText      as _AccountingPrincipleText  on $projection.AccountingPrinciple = _AccountingPrincipleText.AccountingPrinciple
  association [0..1] to I_UserContactCard              as _CreatedByUserContactCard on $projection.RevnAcctgContractCreatedByUser = _CreatedByUserContactCard.ContactCardID
  association [0..1] to I_UserContactCard              as _LastChangedByContactCard on $projection.RAContractLastChangedByUsr = _LastChangedByContactCard.ContactCardID
{
      @Consumption.semanticObject: 'RevenueAccountingContract'
  key Contract.RevenueAccountingContract,
      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_CompanyCodeStdVH',
                     element: 'CompanyCode' }
        }]
      @ObjectModel.text.element: ['CompanyCodeName']
      Contract.CompanyCode,
      Contract._CompanyCode.CompanyCodeName,

      @Search: {
       defaultSearchElement: true,
       fuzzinessThreshold: 0.7
      }
      @Consumption.valueHelpDefinition: [
       { entity:  { name:    'I_AccountingPrinciple',
                    element: 'AccountingPrinciple' }
       }]
      @ObjectModel.text.element: ['AccountingPrincipleName']
      Contract.AccountingPrinciple,
      Contract._AccountingPrinciple._Text[1:Language=$session.system_language].AccountingPrincipleName,

      @Search: {
         defaultSearchElement: true,
         fuzzinessThreshold: 0.7
       }
      @Consumption.semanticObject: 'BusinessPartner'
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'I_BusinessPartnerVH',
                   element: 'BusinessPartner' }
      }]
      @ObjectModel.text.element: ['BusinessPartnerName']
      Contract.BusinessPartner,
      Contract._BusinessPartner.BusinessPartnerName,

      @Search: {
         defaultSearchElement: true,
         fuzzinessThreshold: 0.7
       }
      @Consumption.semanticObject: 'Customer'
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'D_CustomerCVH',
          element: 'Customer' }
      }]
      @ObjectModel.text.element: ['CustomerName']
      Contract.Customer,
      Contract._Customer.CustomerName,

      @Semantics.amount.currencyCode: 'SalesDocumentCurrency'
      Contract.TotContractualPrcInSlsDocCrcy,

      @Semantics.amount.currencyCode: 'SalesDocumentCurrency'
      @Consumption.filter.hidden: true
      Contract.AllocEffctAmountInSalesDocCrcy,

      Contract.RAContractHasAllocationEffect,

      @Search: {
      defaultSearchElement: true,
      fuzzinessThreshold: 0.7
      }
      Contract.SalesDocumentCurrency,

      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'I_RAContractStatusVH',
                 element: 'RevnAcctgContractStatus' }
      }]
      @ObjectModel.text.element: ['RevnAcctgContractStatusName']
      Contract.RevnAcctgContractStatus,

      @Semantics.text: true
      @Consumption.filter.hidden: true
      Contract._RAContractStatus._Text[1:Language=$session.system_language].RevnAcctgContractStatusName,

      @Consumption.filter.hidden: true
      case
           when Contract.RevnAcctgContractStatus = 'C'   then 3    -- 'Completed'    | 3: green colour
           when Contract.RevnAcctgContractStatus = 'R'   then 2    -- 'Pending'      | 2: yellow colour
           else   0                                                -- 'In Process'   | 0: neutral colour
                                                                   -- Not used here  | 0: unknown
        end                                                                                                                  as RAContractStatusCriticality,

      Contract.RAContractIsCreatedByContrMgr,

      Contract.RAContractLastSavedDateTime,

      @Consumption.filter.selectionType: #INTERVAL
      Contract.RevnAcctgContractCreationDate,

      @ObjectModel.text.element: ['CreatedByUserDescription']
      @Consumption.valueHelpDefinition: [
       { entity:  { name:    'I_RAContractCreatedByUserVH',
                    element: 'RevnAcctgContractCreatedByUser' }
      }]
      @Search: {
        defaultSearchElement: true,
        fuzzinessThreshold: 0.7
      }
      @Semantics.user.createdBy: true
      Contract.RevnAcctgContractCreatedByUser,


      @ObjectModel.text.element: ['LastChangedByUserDescription']
      @Consumption.valueHelpDefinition: [
       { entity:  { name:    'I_RAContractChangedByUserVH',
                    element: 'RAContractLastChangedByUsr' }
      }]
      @Search: {
        defaultSearchElement: true,
        fuzzinessThreshold: 0.7
      }
      @Semantics.user.lastChangedBy: true
      Contract.RAContractLastChangedByUsr,

      @Semantics.text: true
      @Search: {
        defaultSearchElement: true,
        fuzzinessThreshold: 0.7
      }
      Contract._CreatedByUser.UserDescription                                                                                as CreatedByUserDescription,

      @Semantics.text: true
      Contract._ChangedByUser.UserDescription                                                                                as LastChangedByUserDescription,

      @Semantics.systemDate.lastChangedAt: true
      @Consumption.filter.selectionType: #INTERVAL
      Contract.RAContractLastChangeDate,

      Contract.IsBusinessPurposeCompleted,

      Contract.RAContrHasMnlPrcAllocConflict,

      cast (coalesce(ContractWithAttribConflict.RAAttributeHasConflict, '')  as farr_attr_conflict preserving type )         as RAAttributeHasConflict,

      @Search: {
      defaultSearchElement: true,
      fuzzinessThreshold: 0.7
      }
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'C_SalesOrganizationVH',
          element: 'SalesOrganization' }
      }]
      @ObjectModel.text.element: ['SalesOrganizationName']
      Contract.RevnAcctgSalesOrganization,

      @Semantics.text: true
      Contract._SalesOrganization._Text[1:Language=$session.system_language].SalesOrganizationName,

      cast (coalesce(ContractWithSpreadingConflict.PerfOblgnHasSprdgConflict, '')  as farr_spread_conflict preserving type ) as PerfOblgnHasSprdgConflict,

      Contract.RAContractIsSoftDeleted,

      //      @EndUserText.label: 'Universal Revenue Contract'

      @Consumption.filter.hidden: true
      Contract.RAContractIsUniversal,

      Contract.RAContractHasAssetsImpairment,

      /* Association */
      @ObjectModel.filter.enabled: false
      @Consumption.filter.hidden: true
      _PerformanceObligation,

      _RAContractStatusText,

      _AccountingPrincipleText,

      _CreatedByUserContactCard,
      _LastChangedByContactCard,

      Contract._Customer,

      Contract._SalesOrganization,

      @Consumption.filter.hidden: true
      Contract._AccountingPrinciple,

      Contract._CompanyCode,

      Contract._BusinessPartner

}
where
      Contract.RAContractIsSoftDeleted       =  ''
  and Contract.RAContractIsCreatedByContrMgr =  'X'
  and Contract.RAContractHasAssetsImpairment <> 'X'