A_CADisputeCase_2

DDL: A_CADISPUTECASE_2 Type: view_entity CONSUMPTION Package: ODATA_API_FICA_DISPUTECASE_MNG

Dispute Case

A_CADisputeCase_2 is a Consumption CDS View that provides data about "Dispute Case" in SAP S/4HANA. It reads from 1 data source (R_CADisputeCaseTP) and exposes 72 fields with key field CaseUUID. It has 1 association to related views. It is exposed through 1 OData service (API_CADISPUTECASE_2). Part of development package ODATA_API_FICA_DISPUTECASE_MNG.

Data Sources (1)

SourceAliasJoin Type
R_CADisputeCaseTP R_CADisputeCaseTP projection

Associations (1)

CardinalityTargetAliasCondition
[1..1] A_BusinessPartner _BusinessPartner $projection.BusinessPartner = _BusinessPartner.BusinessPartner

Annotations (10)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
AccessControl.personalData.blocking #REQUIRED view
EndUserText.label Dispute Case view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
OData.entityType.name A_DisputeCase_2_Type view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
VDM.viewType #CONSUMPTION view

OData Services (1)

ServiceBindingVersionContractRelease
API_CADISPUTECASE_2

Fields (72)

KeyFieldSource TableSource FieldDescription
KEY CaseUUID CaseUUID
BusinessPartner BusinessPartner
BusinessPartnerFullName BusinessPartnerFullName
ContractAccount ContractAccount
ContractAccountName ContractAccountName
CAContract
CAApplicationArea CAApplicationArea
CASubApplication CASubApplication
DisputedAmount DisputedAmount
TotalReceivablesAmount TotalReceivablesAmount
DisputeCaseCorrectionAmount DisputeCaseCorrectionAmount
DisputeCaseReversedAmount DisputeCaseReversedAmount
CreditedAmount CreditedAmount
WriteOffAmount WriteOffAmount
DisputeCaseReplacedAmount DisputeCaseReplacedAmount
PaidAmount PaidAmount
CARemainingDisputedAmount CARemainingDisputedAmount
DisputeCaseCurrency DisputeCaseCurrency
LogicalSystem LogicalSystem
CADisputeType CADisputeType
CADisputeTypeText CADisputeTypeText
CompanyCode CompanyCode
CompanyCodeName CompanyCodeName
DisputeCaseCoordinator DisputeCaseCoordinator
DisputeCaseRootCause DisputeCaseRootCause
CaseRootCauseDescription CaseRootCauseDescription
CaseProcessingDeadlineDate CaseProcessingDeadlineDate
ContactPersonFullName ContactPersonFullName
ContactPersonEmailAddress ContactPersonEmailAddress
ContactPersonPhoneNumber ContactPersonPhoneNumber
ContactPersonFaxNumber ContactPersonFaxNumber
ContactPersonFaxCountry ContactPersonFaxCountry
DisputeCaseBPCorrespondenceKey DisputeCaseBPCorrespondenceKey
DisputeCaseInformationText DisputeCaseInformationText
DisputeCaseTransactionDate DisputeCaseTransactionDate
CADisputeCase CADisputeCase
CaseType CaseType
CaseID CaseID
CaseExternalReference CaseExternalReference
CaseCreatedBy CaseCreatedBy
CaseCreationDate CaseCreationDate
CaseLastChangedBy CaseLastChangedBy
CaseLastChangedOn CaseLastChangedOn
CaseStatusProfile CaseStatusProfile
CaseClosedBy CaseClosedBy
CaseClosedTime CaseClosedTime
CasePlannedCloseDate CasePlannedCloseDate
CaseProcessor CaseProcessor
CaseResponsible CaseResponsible
CaseTitle CaseTitle
CaseAuthorizationLevel CaseAuthorizationLevel
CaseStatus CaseStatus
CaseStatusName CaseStatusName
CaseSystemStatus CaseSystemStatus
CaseUserStatusName CaseUserStatusName
CasePriority CasePriority
DisputeCasePriorityName DisputeCasePriorityName
CaseCategory CaseCategory
DisputeCaseCategoryName DisputeCaseCategoryName
CaseReason CaseReason
CaseReasonName CaseReasonName
CaseEscalationReason CaseEscalationReason
DsputCaseEscalationRsnName DsputCaseEscalationRsnName
StreetName StreetName
HouseNumber HouseNumber
CountryName CountryName
PostalCode PostalCode
CityName CityName
CADisputeExternalCallerCode CADisputeExternalCallerCode
DisputeCaseOrigin DisputeCaseOrigin
CAAuthorizationGroup CAAuthorizationGroup
_BusinessPartner _BusinessPartner
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #REQUIRED
@EndUserText.label: 'Dispute Case'

@Metadata.ignorePropagatedAnnotations:true

@ObjectModel: { usageType: { dataClass: #TRANSACTIONAL,
                             serviceQuality: #C,
                             sizeCategory: #L } }

@OData.entityType.name: 'A_DisputeCase_2_Type'

@VDM: { lifecycle.contract.type: #PUBLIC_REMOTE_API,
        usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE] ,
        viewType: #CONSUMPTION }


define root view entity A_CADisputeCase_2
  provider contract transactional_query
  as projection on R_CADisputeCaseTP as CADisputeCaseTP
  association [1..1] to A_BusinessPartner as _BusinessPartner on $projection.BusinessPartner = _BusinessPartner.BusinessPartner
{
  key CaseUUID,
      @ObjectModel.text.element: ['BusinessPartnerFullName']
      BusinessPartner,
      @Semantics.text: true
      BusinessPartnerFullName,
      @ObjectModel.text.element: ['ContractAccountName']
      ContractAccount,
      @Semantics.text: true
      ContractAccountName,
      cast ( CAContract as vtref_kk preserving type )  as CAContract,//Default Element of GFN 

      @ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgApplicationArea'
      CAApplicationArea,
      @ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgSubapplication'
      CASubApplication,
      @Semantics.amount.currencyCode: 'DisputeCaseCurrency'
      DisputedAmount,
      @Semantics.amount.currencyCode: 'DisputeCaseCurrency'
      TotalReceivablesAmount,
      @Semantics.amount.currencyCode: 'DisputeCaseCurrency'
      DisputeCaseCorrectionAmount,
      @Semantics.amount.currencyCode: 'DisputeCaseCurrency'
      DisputeCaseReversedAmount,
      @Semantics.amount.currencyCode: 'DisputeCaseCurrency'
      CreditedAmount,
      @Semantics.amount.currencyCode: 'DisputeCaseCurrency'
      WriteOffAmount,
      @Semantics.amount.currencyCode: 'DisputeCaseCurrency'
      DisputeCaseReplacedAmount,
      @Semantics.amount.currencyCode: 'DisputeCaseCurrency'
      PaidAmount,
      @Semantics.amount.currencyCode: 'DisputeCaseCurrency'
      CARemainingDisputedAmount,
      @ObjectModel.sapObjectNodeTypeReference: 'Currency'
      DisputeCaseCurrency,
      LogicalSystem,
      @ObjectModel: { sapObjectNodeTypeReference: 'ContrAcctgDisputeType',
                      text.element: ['CADisputeTypeText'] }
      CADisputeType,
      @Semantics.text: true
      CADisputeTypeText,
      @ObjectModel.text.element: ['CompanyCodeName']
      @ObjectModel.sapObjectNodeTypeReference: 'CompanyCode'
      CompanyCode,
      @Semantics.text: true
      CompanyCodeName,
      DisputeCaseCoordinator,
      @ObjectModel.text.element: ['CaseRootCauseDescription']
      DisputeCaseRootCause,
      @Semantics.text: true
      CaseRootCauseDescription,
      CaseProcessingDeadlineDate,
      ContactPersonFullName,
      ContactPersonEmailAddress,
      ContactPersonPhoneNumber,
      ContactPersonFaxNumber,
      ContactPersonFaxCountry,
      DisputeCaseBPCorrespondenceKey,
      DisputeCaseInformationText,
      DisputeCaseTransactionDate,
      CADisputeCase,
      CaseType,
      CaseID,
      CaseExternalReference,
      CaseCreatedBy,
      CaseCreationDate,
      CaseLastChangedBy,
      CaseLastChangedOn,
      CaseStatusProfile,
      CaseClosedBy,
      CaseClosedTime,
      CasePlannedCloseDate,
      CaseProcessor,
      CaseResponsible,
      CaseTitle,
      CaseAuthorizationLevel,
      @ObjectModel.text.element: ['CaseStatusName']
      CaseStatus,
      @Semantics.text: true
      CaseStatusName,
      @ObjectModel.text.element: ['CaseUserStatusName']
      CaseSystemStatus,
      @Semantics.text: true
      CaseUserStatusName,
      @ObjectModel.text.element: ['DisputeCasePriorityName']
      CasePriority,
      @Semantics.text: true
      DisputeCasePriorityName,
      @ObjectModel.text.element: ['DisputeCaseCategoryName']
      CaseCategory,
      @Semantics.text: true
      DisputeCaseCategoryName,
      @ObjectModel.text.element: ['CaseReasonName']
      CaseReason,
      @Semantics.text: true
      CaseReasonName,
      @ObjectModel.text.element: ['DsputCaseEscalationRsnName']
      CaseEscalationReason,
      @Semantics.text: true
      DsputCaseEscalationRsnName,
      StreetName,
      HouseNumber,
      CountryName,
      PostalCode,
      CityName,
      @ObjectModel.sapObjectNodeTypeReference: 'ContrAcctgDisputeExtCallerCode'
      CADisputeExternalCallerCode,
      DisputeCaseOrigin,
      CAAuthorizationGroup,
      _BusinessPartner,
      /* compositions */ 
      _CACaseObject : redirected to composition child A_CADisputeCaseObject_2
}