C_CADisputeCaseDraftTP

DDL: C_CADISPUTECASEDRAFTTP Type: view_entity CONSUMPTION Package: ODATA_O2C_FICA_DISPUTE_MANAGE

Dispute Case

C_CADisputeCaseDraftTP 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 100 fields with key field CaseUUID. It has 12 associations to related views. It is exposed through 1 OData service (UI_CADISPUTECASE). Part of development package ODATA_O2C_FICA_DISPUTE_MANAGE.

Data Sources (1)

SourceAliasJoin Type
R_CADisputeCaseTP R_CADisputeCaseTP projection

Associations (12)

CardinalityTargetAliasCondition
[0..*] C_CANotDisputedPayment _NotDisPayment $projection.ContractAccount = _NotDisPayment.ContractAccount and $projection.BusinessPartner = _NotDisPayment.BusinessPartner and $projection.CAContract = _NotDisPayment.CAContract and $projection.CaseUUID = _NotDisPayment.CaseUUID
[0..*] C_CANotDisputedCredit _NotDisCredit $projection.ContractAccount = _NotDisCredit.ContractAccount and $projection.BusinessPartner = _NotDisCredit.BusinessPartner and $projection.CAContract = _NotDisCredit.CAContract and $projection.CaseUUID = _NotDisCredit.CaseUUID
[0..*] C_CADisputeCaseChangeHist _ChangeHistory $projection.CaseUUID = _ChangeHistory.DisputeCaseUUID
[0..*] C_CANotDisputedCreditMemo _NotDisCreditMemo $projection.ContractAccount = _NotDisCreditMemo.ContractAccount and $projection.BusinessPartner = _NotDisCreditMemo.BusinessPartner and $projection.CAContract = _NotDisCreditMemo.CAContract and $projection.CaseUUID = _NotDisCreditMemo.CaseUUID and $projection.CompanyCode = _NotDisCreditMemo.CompanyCode
[0..*] C_CANotDisputedDocument _NotDisDocument $projection.ContractAccount = _NotDisDocument.ContractAccount and $projection.BusinessPartner = _NotDisDocument.BusinessPartner and $projection.CAContract = _NotDisDocument.CAContract and $projection.CompanyCode = _NotDisDocument.CompanyCode and $projection.CaseUUID = _NotDisDocument.CaseUUID
[0..1] C_CAInvcgUserContact _CreatedBy $projection.CaseCreatedBy = _CreatedBy.ContactCardID
[0..1] C_CAInvcgUserContact _Processor $projection.CaseProcessor = _Processor.ContactCardID
[0..1] C_CAInvcgUserContact _Responsible $projection.CaseResponsible = _Responsible.ContactCardID
[0..1] C_CAInvcgUserContact _Coordinator $projection.DisputeCaseCoordinator = _Coordinator.ContactCardID
[0..*] C_CANotDisputedInvcgDoc _NotDisInvcgDoc $projection.ContractAccount = _NotDisInvcgDoc.ContractAccount and $projection.BusinessPartner = _NotDisInvcgDoc.BusinessPartner and $projection.CAContract = _NotDisInvcgDoc.CAContract and $projection.CaseUUID = _NotDisInvcgDoc.CaseUUID and $projection.CompanyCode = _NotDisInvcgDoc.CompanyCode
[0..*] C_CANotDisputedBillableItem _NotDisBillableItem $projection.ContractAccount = _NotDisBillableItem.ContractAccount and $projection.BusinessPartner = _NotDisBillableItem.BusinessPartner and $projection.CAContract = _NotDisBillableItem.CAContract and $projection.CaseUUID = _NotDisBillableItem.CaseUUID and $projection.CompanyCode = _NotDisBillableItem.CompanyCode
[0..*] C_CANotDisputedInvcgDocItem _NotDisInvcgDocItem $projection.ContractAccount = _NotDisInvcgDocItem.ContractAccount and $projection.BusinessPartner = _NotDisInvcgDocItem.BusinessPartner and $projection.CAContract = _NotDisInvcgDocItem.CAContract and $projection.CaseUUID = _NotDisInvcgDocItem.CaseUUID and $projection.CompanyCode = _NotDisInvcgDocItem.CompanyCode

Annotations (8)

NameValueLevelField
EndUserText.label Dispute Case view
AccessControl.authorizationCheck #MANDATORY view
Metadata.allowExtensions true view
VDM.viewType #CONSUMPTION view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
Search.searchable true view
ObjectModel.usageType.dataClass #MIXED view

OData Services (1)

ServiceBindingVersionContractRelease
UI_CADISPUTECASE UI_CADISPUTECASE V2 C1 NOT_RELEASED

Fields (100)

KeyFieldSource TableSource FieldDescription
KEY CaseUUID CaseUUID
BusinessPartner BusinessPartner
BusinessPartnerFullName BusinessPartnerFullName
ContractAccount ContractAccount
ContractAccountName ContractAccountName
CAContract
CAProviderContractName
CASubApplication CASubApplication
CASubApplicationText
DisputedAmount DisputedAmount
TotalReceivablesAmount TotalReceivablesAmount
DisputeCaseCorrectionAmount DisputeCaseCorrectionAmount
DisputeCaseReversedAmount DisputeCaseReversedAmount
CreditedAmount CreditedAmount
WriteOffAmount WriteOffAmount
DisputeCaseReplacedAmount DisputeCaseReplacedAmount
CARemainingDisputedAmount CARemainingDisputedAmount
DisputeCaseCurrency DisputeCaseCurrency
CADisputeType CADisputeType
CADisputeTypeText CADisputeTypeText
CompanyCode CompanyCode
CompanyCodeName
DisputeCaseCoordinator DisputeCaseCoordinator
DsputCaseCoordinatorFullName
DisputeCaseRootCause
CaseRootCauseDescription
CaseProcessingDeadlineDate CaseProcessingDeadlineDate
ContactPersonFullName ContactPersonFullName
ContactPersonEmailAddress ContactPersonEmailAddress
ContactPersonPhoneNumber ContactPersonPhoneNumber
ContactPersonFaxNumber ContactPersonFaxNumber
ContactPersonFaxCountry ContactPersonFaxCountry
FaxCountryName
DisputeCaseInformationText DisputeCaseInformationText
DisputeCaseTransactionDate DisputeCaseTransactionDate
CADisputeCase CADisputeCase
CaseType CaseType
CaseID CaseID
CaseExternalReference CaseExternalReference
CaseCreatedBy CaseCreatedBy
CaseCreatedByUserName
CaseCreationDate CaseCreationDate
CaseLastChangedBy CaseLastChangedBy
CaseLastChangedByUserName
CaseLastChangedOn CaseLastChangedOn
CaseStatusProfile CaseStatusProfile
CaseClosedBy CaseClosedBy
CaseClosedByUserName
CaseClosedTime CaseClosedTime
CasePlannedCloseDate CasePlannedCloseDate
CaseProcessor CaseProcessor
CaseProcessorName
CaseResponsible CaseResponsible
CaseResponsibleName _CaseResponsible UserDescription
CaseTitle CaseTitle
CaseStatus CaseStatus
CaseStatusName CaseStatusName
CaseSystemStatus CaseSystemStatus
CaseUserStatusName CaseUserStatusName
CasePriority CasePriority
DisputeCasePriorityName DisputeCasePriorityName
CaseCategory CaseCategory
DisputeCaseCategoryName
CaseReason CaseReason
CaseReasonName CaseReasonName
CaseEscalationReason CaseEscalationReason
DsputCaseEscalationRsnName DsputCaseEscalationRsnName
CountryName CountryName
CADocumentNumber CADocumentNumber
TemporaryDisputeCaseUUID TemporaryDisputeCaseUUID
AddressLine1 AddressLine1
AddressLine2 AddressLine2
CaseIsDisplayOnly CaseIsDisplayOnly
UserDefinedText UserDefinedText
CACaseConversionStatus CACaseConversionStatus
CaseAttributeProfile CaseAttributeProfile
CADisputeCaseOrigin CADisputeCaseOrigin Source Component
CADisputeCaseOriginText CADisputeCaseOriginText
CAAuthorizationGroup CAAuthorizationGroup
virtualIsCloudSystemis_cloud_system
virtualIsDraftEntityabap_boolean
virtualCADocumentopbel_gfn_kk
virtualCAInvoicingDocumentinvdocno_kk
_NotDisPayment _NotDisPayment
_NotDisCredit _NotDisCredit
_ChangeHistory _ChangeHistory
_NotDisCreditMemo _NotDisCreditMemo
_NotDisDocument _NotDisDocument
_CreatedBy _CreatedBy
_Coordinator _Coordinator
_Responsible _Responsible
_Processor _Processor
_NotDisInvcgDoc _NotDisInvcgDoc
_NotDisInvcgDocItem _NotDisInvcgDocItem
_NotDisBillableItem _NotDisBillableItem
_BusinessPartner _BusinessPartner
_ContractAccount _ContractAccount
_ProviderContract _ProviderContract
_CASubApplicationText _CASubApplicationText
_ContactPersonFaxCountryText _ContactPersonFaxCountryText
@EndUserText.label: 'Dispute Case'
@AccessControl.authorizationCheck: #MANDATORY
@Metadata.allowExtensions: true
@VDM.viewType: #CONSUMPTION
@VDM.usage.type:[ #TRANSACTIONAL_PROCESSING_SERVICE ]
@AccessControl.privilegedAssociations: [ '_CreatedBy', '_Processor', '_Coordinator', '_Responsible', '_ChangeHistory' ]
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@Search.searchable: true
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.semanticKey: ['CaseID']
define root view entity C_CADisputeCaseDraftTP provider contract transactional_query as projection on R_CADisputeCaseTP as _CADisputeCaseTP 
 association [0..*] to C_CANotDisputedPayment as _NotDisPayment on             
   $projection.ContractAccount = _NotDisPayment.ContractAccount                
   and $projection.BusinessPartner = _NotDisPayment.BusinessPartner            
   and $projection.CAContract = _NotDisPayment.CAContract
   and $projection.CaseUUID = _NotDisPayment.CaseUUID                      
 association [0..*] to C_CANotDisputedCredit as _NotDisCredit on               
   $projection.ContractAccount = _NotDisCredit.ContractAccount                 
   and $projection.BusinessPartner = _NotDisCredit.BusinessPartner             
   and $projection.CAContract = _NotDisCredit.CAContract
   and $projection.CaseUUID = _NotDisCredit.CaseUUID                     
 association [0..*] to C_CADisputeCaseChangeHist as _ChangeHistory on          
   $projection.CaseUUID = _ChangeHistory.DisputeCaseUUID                       
 association [0..*] to C_CANotDisputedCreditMemo as _NotDisCreditMemo on       
   $projection.ContractAccount = _NotDisCreditMemo.ContractAccount             
   and $projection.BusinessPartner = _NotDisCreditMemo.BusinessPartner         
   and $projection.CAContract = _NotDisCreditMemo.CAContract                   
   and $projection.CaseUUID = _NotDisCreditMemo.CaseUUID                       
   and $projection.CompanyCode = _NotDisCreditMemo.CompanyCode                 
 association [0..*] to C_CANotDisputedDocument as _NotDisDocument on           
   $projection.ContractAccount = _NotDisDocument.ContractAccount               
   and $projection.BusinessPartner = _NotDisDocument.BusinessPartner           
   and $projection.CAContract = _NotDisDocument.CAContract                                          
   and $projection.CompanyCode = _NotDisDocument.CompanyCode
   and $projection.CaseUUID = _NotDisDocument.CaseUUID  
 association [0..1] to C_CAInvcgUserContact as _CreatedBy on 
   $projection.CaseCreatedBy = _CreatedBy.ContactCardID  
 association [0..1] to C_CAInvcgUserContact as _Processor on 
   $projection.CaseProcessor = _Processor.ContactCardID
 association [0..1] to C_CAInvcgUserContact as _Responsible on 
   $projection.CaseResponsible = _Responsible.ContactCardID
 association [0..1] to C_CAInvcgUserContact as _Coordinator on 
   $projection.DisputeCaseCoordinator = _Coordinator.ContactCardID
  association [0..*] to C_CANotDisputedInvcgDoc as _NotDisInvcgDoc on
    $projection.ContractAccount = _NotDisInvcgDoc.ContractAccount
    and $projection.BusinessPartner = _NotDisInvcgDoc.BusinessPartner
    and $projection.CAContract = _NotDisInvcgDoc.CAContract
    and $projection.CaseUUID = _NotDisInvcgDoc.CaseUUID
    and $projection.CompanyCode = _NotDisInvcgDoc.CompanyCode
  association [0..*] to C_CANotDisputedBillableItem as _NotDisBillableItem on
    $projection.ContractAccount = _NotDisBillableItem.ContractAccount
    and $projection.BusinessPartner = _NotDisBillableItem.BusinessPartner
    and $projection.CAContract = _NotDisBillableItem.CAContract
    and $projection.CaseUUID = _NotDisBillableItem.CaseUUID  
    and $projection.CompanyCode = _NotDisBillableItem.CompanyCode
  association [0..*] to C_CANotDisputedInvcgDocItem as _NotDisInvcgDocItem on
    $projection.ContractAccount = _NotDisInvcgDocItem.ContractAccount
    and $projection.BusinessPartner = _NotDisInvcgDocItem.BusinessPartner
    and $projection.CAContract = _NotDisInvcgDocItem.CAContract
    and $projection.CaseUUID = _NotDisInvcgDocItem.CaseUUID  
    and $projection.CompanyCode = _NotDisInvcgDocItem.CompanyCode            
{
  key CaseUUID,
      @ObjectModel.text.element: ['BusinessPartnerFullName']  
      BusinessPartner,
      @Semantics.text: true
      BusinessPartnerFullName,
      @ObjectModel.text.element: ['ContractAccountName']
      ContractAccount,
      @Semantics.text: true
      ContractAccountName,
      @ObjectModel.text.element: ['CAProviderContractName']
      cast ( CAContract as vtref_kk preserving type )  as CAContract,
      @Semantics.text: true
      cast ( _ProviderContract.CAProviderContractName as vtbez_vt_gfn_kk preserving type ) as CAProviderContractName,
      @ObjectModel.text.element: ['CASubApplicationText']
      CASubApplication,
      @Semantics.text: true
      _CASubApplicationText[1:Language = $session.system_language].CASubApplicationText,
      @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, 
      DisputeCaseCurrency,
//      LogicalSystem,

      @ObjectModel.text.element: ['CADisputeTypeText']
      CADisputeType,
      @Semantics.text: true
      CADisputeTypeText,
      @ObjectModel.text.element: ['CompanyCodeName'] 
      CompanyCode,
      @Semantics.text: true
      cast( CompanyCodeName as bukrs_text_gfn_kk preserving type ) as CompanyCodeName,
      @ObjectModel.text.element: ['DsputCaseCoordinatorFullName']
      DisputeCaseCoordinator,
      @Semantics.text: true
      cast( _DisputeCaseCoordinator.UserDescription as case_coordinator_text_gfn_kk preserving type ) as DsputCaseCoordinatorFullName, 
      @ObjectModel.text.element: ['CaseRootCauseDescription'] 
      cast( DisputeCaseRootCause as udm_root_ccode_gfn_kk preserving type ) as DisputeCaseRootCause,
      @Semantics.text: true
      cast( CaseRootCauseDescription as udm_root_ccode_txt_gfn_kk preserving type ) as CaseRootCauseDescription,      
      CaseProcessingDeadlineDate, 
      @Semantics: {
             text: true,
             name.fullName: true
             }
      ContactPersonFullName,
      ContactPersonEmailAddress,
      ContactPersonPhoneNumber,
      ContactPersonFaxNumber,
      @ObjectModel.text.element: ['FaxCountryName']
      ContactPersonFaxCountry, 
      @Semantics.text: true
      _ContactPersonFaxCountryText[1:Language = $session.system_language].CountryName as FaxCountryName,
//      DisputeCaseBPCorrespondenceKey,

      DisputeCaseInformationText,
      DisputeCaseTransactionDate,
      CADisputeCase,
      CaseType,
      CaseID,
      CaseExternalReference,
      @ObjectModel.text.element: ['CaseCreatedByUserName']
      CaseCreatedBy,
      @Semantics.text: true 
      cast( _CaseCreatedBy.UserDescription as case_created_by_text_gfn_kk preserving type ) as CaseCreatedByUserName,
      CaseCreationDate,
      @ObjectModel.text.element: ['CaseLastChangedByUserName']
      CaseLastChangedBy,
      @Semantics.text: true
      cast( _CaseLastChangedBy.UserDescription as case_last_chg_by_text_gfn_kk preserving type ) as CaseLastChangedByUserName,
      CaseLastChangedOn,
      CaseStatusProfile,
      @ObjectModel.text.element: ['CaseClosedByUserName']
      CaseClosedBy,
      @Semantics.text: true
      cast( _CaseClosedBy.UserDescription as case_closed_by_text_gfn_kk preserving type ) as CaseClosedByUserName,
      CaseClosedTime,
      CasePlannedCloseDate,
      @ObjectModel.text.element: ['CaseProcessorName']
      CaseProcessor,
      @Semantics.text: true
      cast( _CaseProcessor.UserDescription as case_processor_text_gfn_kk preserving type )  as CaseProcessorName,
      @ObjectModel.text.element: ['CaseResponsibleName']
      CaseResponsible,
      @Semantics.text: true
      _CaseResponsible.UserDescription as CaseResponsibleName,
      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
      cast( DisputeCaseCategoryName as scmg_category_desc_gfn_kk preserving type ) as DisputeCaseCategoryName,  
      @ObjectModel.text.element: ['CaseReasonName']
      CaseReason,
      @Semantics.text: true
      CaseReasonName,     
      @ObjectModel.text.element: ['DsputCaseEscalationRsnName']
      CaseEscalationReason,
      @Semantics.text: true
      DsputCaseEscalationRsnName,
//      StreetName,

//      HouseNumber,  

      CountryName,
//      PostalCode, 

//      CityName,

//      CADisputeExternalCallerCode,

//      DisputeCaseOrigin,

      CADocumentNumber,
      TemporaryDisputeCaseUUID,    
      AddressLine1,
      AddressLine2,
      CaseIsDisplayOnly,
      UserDefinedText,
      CACaseConversionStatus,
      CaseAttributeProfile,
      @EndUserText.label: 'Source Component'
      CADisputeCaseOrigin,
      @Semantics.text:true     
      CADisputeCaseOriginText,
      CAAuthorizationGroup,
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_FKK_CADISPUTECASE_EXIT'
      virtual DisputeIsBasedOnOpenAmount : xdamnt_open, 
      @ObjectModel.virtualElement: true
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_FKK_CADISPUTECASE_EXIT'
      virtual IsCloudSystem : is_cloud_system,       
      @ObjectModel.virtualElement: true   
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_FKK_CADISPUTECASE_EXIT'      
      virtual IsDraftEntity : abap_boolean,
      @ObjectModel.virtualElement: true   
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_FKK_CADISPUTECASE_EXIT'      
      virtual CADisputeCaseProcessingIsActv : abap_boolean, 
      @ObjectModel.virtualElement: true   
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_FKK_CADISPUTECASE_EXIT'       
      virtual CADisputeCaseDisplayIsHidden : abap_boolean,
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_FKK_CADISPUTECASE_EXIT'
      @ObjectModel.filter.transformedBy: 'ABAP:CL_FKK_CADSPUTCASE_CADOC_VH'
      //@Consumption.valueHelp: '_DisputedDocument'

      virtual CADocument : opbel_gfn_kk,
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_FKK_CADISPUTECASE_EXIT'
      @ObjectModel.filter.transformedBy: 'ABAP:CL_FKK_CADSPUTCASE_CADOC_VH'
      //@Consumption.valueHelp: '_DisputedInvoicing'

      virtual CAInvoicingDocument : invdocno_kk,
     @ObjectModel.filter.enabled: false 
     _NotDisPayment,                    
     @ObjectModel.filter.enabled: false 
     _NotDisCredit,                     
     @ObjectModel.filter.enabled: false 
     _ChangeHistory,                    
     @ObjectModel.filter.enabled: false 
     _NotDisCreditMemo,                 
     @ObjectModel.filter.enabled: false 
     _NotDisDocument,
     @ObjectModel.filter.enabled: false
     _CreatedBy,
     @ObjectModel.filter.enabled: false
     _Coordinator,
     @ObjectModel.filter.enabled: false                        
     _Responsible,                          
     @ObjectModel.filter.enabled: false
     _Processor,
     @ObjectModel.filter.enabled: false
     _NotDisInvcgDoc,
     @ObjectModel.filter.enabled: false
     _NotDisInvcgDocItem,
     @ObjectModel.filter.enabled: false
     _NotDisBillableItem,
     @ObjectModel.filter.enabled: false
     _BusinessPartner,
     @ObjectModel.filter.enabled: false
     _ContractAccount,
     @ObjectModel.filter.enabled: false
     _ProviderContract,
     @ObjectModel.filter.enabled: false
     _CASubApplicationText,
     @ObjectModel.filter.enabled: false
     _ContactPersonFaxCountryText,
      _DisputedDocument : redirected to composition child C_CADisputedDocumentDraftTP,
      _DisputedPayment : redirected to composition child C_CADisputedPaymentDraftTP,
      _DisputedFollowUp : redirected to composition child C_CADisputeCaseFllwUpDocDrftTP,
      _DisputeCredit : redirected to composition child  C_CADisputedCreditDraftTP,
      _DisputedInvoicing : redirected to composition child  C_CADisputedInvcgDocDraftTP,
      _DisputedInvoicingItem : redirected to composition child  C_CADisputedInvcgDocItemDrftTP,
      _DisputedBit : redirected to composition child  C_CADisputedBllbleItmDraftTP
}