A_DisputeCaseAsProcessor

DDL: A_DISPUTECASEASPROCESSOR Type: view_entity CONSUMPTION Package: ODATA_DISPUTE

Dispute Cases As Processor

A_DisputeCaseAsProcessor is a Consumption CDS View that provides data about "Dispute Cases As Processor" in SAP S/4HANA. It reads from 1 data source (R_DisputeCaseTP) and exposes 46 fields with key field DisputeCaseUUID. It is exposed through 1 OData service (API_DISPUTECASEASPROCESSOR). It is used in 1 Fiori application: Manage Dispute Cases (Version 2). Part of development package ODATA_DISPUTE.

Data Sources (1)

SourceAliasJoin Type
R_DisputeCaseTP R_DisputeCaseTP projection

Annotations (10)

NameValueLevelField
EndUserText.label Dispute Cases As Processor view
ObjectModel.representativeKey DisputeCaseUUID view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #A view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
VDM.viewType #CONSUMPTION view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
Metadata.ignorePropagatedAnnotations true view

OData Services (1)

ServiceBindingVersionContractRelease
API_DISPUTECASEASPROCESSOR API_DISPUTECASEASPROCESSOR V2 C2 NOT_RELEASED

Fiori Apps (1)

App IDApp NameTypeDescription
F0702A Manage Dispute Cases (Version 2) Transactional Use this app to analyze and further process existing dispute cases. This involves dispute cases that are related to open receivables for your customers.

Manage Dispute Cases (Version 2)

Business Role: Accounts Receivable Accountant

Use this app to analyze and further process existing dispute cases. This involves dispute cases that are related to open receivables for your customers.

Fields (46)

KeyFieldSource TableSource FieldDescription
KEY DisputeCaseUUID DisputeCaseUUID
DisputeCaseCoordinator DisputeCaseCoordinator
DisputeCaseRootCause DisputeCaseRootCause
CaseProcessingDeadlineDate CaseProcessingDeadlineDate
OriginalAmount OriginalAmount
DisputedAmount DisputedAmount
PaidAmount PaidAmount
CreditedAmount CreditedAmount
WriteOffAmount WriteOffAmount
ManuallyClearedAmount ManuallyClearedAmount
DisputeCaseCurrency DisputeCaseCurrency
CustomerDisputedAmount CustomerDisputedAmount
CustomerDisputedCurrency CustomerDisputedCurrency
ContactPerson ContactPerson
ContactPersonName ContactPersonName
ContactPersonEmailAddress ContactPersonEmailAddress
ContactPersonPhoneNumber ContactPersonPhoneNumber
ContactPersonFaxNumber ContactPersonFaxNumber
ContactPersonFaxCountry ContactPersonFaxCountry
Customer Customer
CompanyCode CompanyCode
DisputeCaseExternalApplication DisputeCaseExternalApplication
CaseType CaseType
CaseID CaseID
CaseExternalReference CaseExternalReference
CaseCreatedBy CaseCreatedBy
CaseCreatedOn CaseCreatedOn
CaseLastChangedBy CaseLastChangedBy
CaseLastChangedOn CaseLastChangedOn
CaseClosedBy CaseClosedBy
CaseClosedTime CaseClosedTime
CasePlannedCloseDate CasePlannedCloseDate
CaseProcessor CaseProcessor
CaseResponsible CaseResponsible
CaseTitle CaseTitle
CaseEscalationReason CaseEscalationReason
CaseCategory CaseCategory
CasePriority CasePriority
CaseAuthorizationLevel CaseAuthorizationLevel
CaseStatusProfile CaseStatusProfile
CaseStatus CaseStatus
CaseSystemStatus CaseSystemStatus
CaseReason CaseReason
DisputeCaseAttributeProfile _CaseTypes CaseAttributeProfile
virtualBusinessPartnerbu_partner
_Customer _Customer
@EndUserText: { label: 'Dispute Cases As Processor' }
@ObjectModel: { representativeKey: 'DisputeCaseUUID',
                semanticKey:       [ 'CaseID',
                                     'Customer',
                                     'CompanyCode' ],
                usageType:         { dataClass: #TRANSACTIONAL,
                                     sizeCategory: #L,
                                     serviceQuality: #A } }
@AccessControl: { authorizationCheck: #CHECK,
                  personalData: { blocking: #BLOCKED_DATA_EXCLUDED } }
@VDM: { viewType: #CONSUMPTION,
        lifecycle: { contract: { type: #PUBLIC_REMOTE_API } },
        usage:    { type: [ #TRANSACTIONAL_PROCESSING_SERVICE ] } }
@Metadata: { ignorePropagatedAnnotations: true }
@Consumption: { dbHints: [ 'USE_HEX_PLAN' ] }

define root view entity A_DisputeCaseAsProcessor
  provider contract transactional_query
  as projection on R_DisputeCaseTP as DisputeCase

  // VDM Associations

//  association to A_Customer as _Customer on $projection.Customer = _Customer.Customer


{

          // VDM Fields

  key     DisputeCaseUUID,
          DisputeCaseCoordinator,
          DisputeCaseRootCause,
          CaseProcessingDeadlineDate,

          @Semantics: { amount: { currencyCode: 'DisputeCaseCurrency' } }
          OriginalAmount,

          @Semantics: { amount: { currencyCode: 'DisputeCaseCurrency' } }
          DisputedAmount,

          @Semantics: { amount: { currencyCode: 'DisputeCaseCurrency' } }
          PaidAmount,

          @Semantics: { amount: { currencyCode: 'DisputeCaseCurrency' } }
          CreditedAmount,

          @Semantics: { amount: { currencyCode: 'DisputeCaseCurrency' } }
          WriteOffAmount,

          @Semantics: { amount: { currencyCode: 'DisputeCaseCurrency' } }
          ManuallyClearedAmount,

          @Semantics: { currencyCode: true }
          DisputeCaseCurrency,

          @Semantics: { amount: { currencyCode: 'CustomerDisputedCurrency' } }
          CustomerDisputedAmount,

          @Semantics: { currencyCode: true }
          CustomerDisputedCurrency,

          ContactPerson,
          ContactPersonName,
          ContactPersonEmailAddress,
          ContactPersonPhoneNumber,
          ContactPersonFaxNumber,
          ContactPersonFaxCountry,
          Customer,
          CompanyCode,
          DisputeCaseExternalApplication,
          CaseType,
          CaseID,
          CaseExternalReference,
          CaseCreatedBy,
          CaseCreatedOn,
          CaseLastChangedBy,
          CaseLastChangedOn,
          CaseClosedBy,
          CaseClosedTime,
          CasePlannedCloseDate,
          CaseProcessor,
          CaseResponsible,
          CaseTitle,
          CaseEscalationReason,
          CaseCategory,
          CasePriority,
          CaseAuthorizationLevel,
          CaseStatusProfile,
          CaseStatus,
          CaseSystemStatus,
          CaseReason,
          _CaseTypes.CaseAttributeProfile as DisputeCaseAttributeProfile,

          @ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
  virtual BusinessPartner : bu_partner,

          // VDM Associations

          @Consumption.hidden: true          
          _Customer


}

where
      CaseProcessor = $session.user
  and CaseSystemStatus != '003'
  and CaseSystemStatus != '007'
  and CaseSystemStatus != '008'
  and CaseSystemStatus != '009'
  and CaseSystemStatus != '013'