R_DisputeCaseDraftTP

DDL: R_DISPUTECASEDRAFTTP Type: view TRANSACTIONAL

Dispute Case with Draft

R_DisputeCaseDraftTP is a Transactional CDS View that provides data about "Dispute Case with Draft" in SAP S/4HANA. It reads from 1 data source (P_DisputeCaseDraft) and exposes 65 fields with key field DisputeCaseUUID. It has 6 associations to related views.

Data Sources (1)

SourceAliasJoin Type
P_DisputeCaseDraft P_DisputeCaseDraft from

Associations (6)

CardinalityTargetAliasCondition
[0..1] R_RblsMgmtUserContactCard _CreatedByContactCard $projection.CaseCreatedBy = _CreatedByContactCard.ContactCardID
[0..1] R_RblsMgmtUserContactCard _ChangedByContactCard $projection.CaseLastChangedBy = _ChangedByContactCard.ContactCardID
[0..1] R_RblsMgmtUserContactCard _ClosedByContactCard $projection.CaseClosedBy = _ClosedByContactCard.ContactCardID
[0..1] R_RblsMgmtUserContactCard _DisputeCaseCoordinatorCard $projection.DisputeCaseCoordinator = _DisputeCaseCoordinatorCard.ContactCardID
[0..1] R_RblsMgmtUserContactCard _ProcessorContactCard $projection.CaseProcessor = _ProcessorContactCard.ContactCardID
[0..1] R_RblsMgmtUserContactCard _ResponsibleContactCard $projection.CaseResponsible = _ResponsibleContactCard.ContactCardID

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName RDISPCASEDR view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Dispute Case with Draft view
ObjectModel.representativeKey DisputeCaseUUID view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #C view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view

Fields (65)

KeyFieldSource TableSource FieldDescription
KEY DisputeCaseUUID DisputeCaseUUID
DraftUUID DraftUUID
DisputeCaseCoordinator DisputeCaseCoordinator
DisputeCaseRootCause DisputeCaseRootCause
CaseProcessingDeadlineDate CaseProcessingDeadlineDate
OriginalAmount OriginalAmount
DisputedAmount DisputedAmount
PaidAmount PaidAmount
CreditedAmount CreditedAmount
WriteOffAmount WriteOffAmount
ManuallyClearedAmount ManuallyClearedAmount
DisputeCaseCurrency DisputeCaseCurrency
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
IsActiveEntity IsActiveEntity
HasActiveEntity HasActiveEntity
DraftCreationDateTime DraftCreationDateTime
DraftLastChangedDateTime DraftLastChangedDateTime
_AuthLevel _AuthLevel
_CaseSystemStatus _CaseSystemStatus
_CaseTypes _CaseTypes
_CaseCategory _CaseCategory
_ChangedByContactCard _ChangedByContactCard
_ClosedByContactCard _ClosedByContactCard
_CompanyCode _CompanyCode
_Country _Country
_CreatedByContactCard _CreatedByContactCard
_Customer _Customer
_DisputeCaseCoordinatorCard _DisputeCaseCoordinatorCard
_DisputeCaseExternalAppl _DisputeCaseExternalAppl
_Escalation _Escalation
_Individual _Individual
_Priority _Priority
_ProcessorContactCard _ProcessorContactCard
_Reasons _Reasons
_ResponsibleContactCard _ResponsibleContactCard
_RootCause _RootCause
_StatProfile _StatProfile
@AbapCatalog: { sqlViewName: 'RDISPCASEDR',
                preserveKey: true,
                compiler: { compareFilter: true } }
@ClientHandling: { algorithm: #SESSION_VARIABLE }
@EndUserText: { label: 'Dispute Case with Draft' }
@ObjectModel: { semanticKey:       [ 'DisputeCaseUUID', 'CaseID' ],
                representativeKey: 'DisputeCaseUUID',
                usageType:         { dataClass:      #TRANSACTIONAL,
                                     sizeCategory:   #L,
                                     serviceQuality: #C } }
@AccessControl: { authorizationCheck: #CHECK,
                  privilegedAssociations: ['_DisputeCaseCoordinatorCard',
                                           '_CreatedByContactCard',
                                           '_ChangedByContactCard',
                                           '_ClosedByContactCard',
                                           '_ProcessorContactCard',
                                           '_ResponsibleContactCard' ],
                  personalData: { blocking: #BLOCKED_DATA_EXCLUDED } }
@VDM: { viewType:  #TRANSACTIONAL,
        lifecycle: { contract: { type: #SAP_INTERNAL_API } } }

define root view R_DisputeCaseDraftTP
  as select from P_DisputeCaseDraft

  // VDM Associations

  // Created By Contact Card

  association [0..1] to R_RblsMgmtUserContactCard as _CreatedByContactCard       on $projection.CaseCreatedBy = _CreatedByContactCard.ContactCardID

  // Changed By Contact Card

  association [0..1] to R_RblsMgmtUserContactCard as _ChangedByContactCard       on $projection.CaseLastChangedBy = _ChangedByContactCard.ContactCardID

  // Closed By Contact Card

  association [0..1] to R_RblsMgmtUserContactCard as _ClosedByContactCard        on $projection.CaseClosedBy = _ClosedByContactCard.ContactCardID

  // Coordinator Contact Card

  association [0..1] to R_RblsMgmtUserContactCard as _DisputeCaseCoordinatorCard on $projection.DisputeCaseCoordinator = _DisputeCaseCoordinatorCard.ContactCardID

  // Processor Contact Card

  association [0..1] to R_RblsMgmtUserContactCard as _ProcessorContactCard       on $projection.CaseProcessor = _ProcessorContactCard.ContactCardID

  // Person Responsible Contact Card

  association [0..1] to R_RblsMgmtUserContactCard as _ResponsibleContactCard     on $projection.CaseResponsible = _ResponsibleContactCard.ContactCardID
  // Extension Include View

  //  association [1]    to E_DisputeCaseDraft        as _Extension                  on $projection.DisputeCaseUUID = _Extension.DisputeCaseUUID

 
{

      // VDM Fields

  key DisputeCaseUUID,
      DraftUUID,
/*      @ObjectModel: { foreignKey: { association: '_Customer' } }
      _Customer.AuthorizationGroup as AuthorizationGroup,
      @ObjectModel: { foreignKey: { association: '_Customer' } }
      _Customer.CustomerAccountGroup as CustomerAccountGroup, 
      @ObjectModel: { foreignKey: { association: '_DisputeCaseCoordinatorCard' } } */
      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: { name: { fullName: true } }
      ContactPersonName,

      @Semantics: { eMail: { address: true } }
      ContactPersonEmailAddress,

      @Semantics: { telephone: { type: [ #WORK ] } }
      ContactPersonPhoneNumber,

      @Semantics: { telephone: { type: [ #FAX ] } }
      ContactPersonFaxNumber,

      ContactPersonFaxCountry,
      Customer,
      CompanyCode,
      DisputeCaseExternalApplication,
      CaseType,
      CaseID,
      CaseExternalReference,

      @ObjectModel: { foreignKey: { association: '_CreatedByContactCard' } }
      CaseCreatedBy,

      CaseCreatedOn,

      @ObjectModel: { foreignKey: { association: '_ChangedByContactCard' } }
      CaseLastChangedBy,

      CaseLastChangedOn,

      @ObjectModel: { foreignKey: { association: '_ClosedByContactCard' } }
      CaseClosedBy,

      CaseClosedTime,
      CasePlannedCloseDate,

      @ObjectModel: { foreignKey: { association: '_ProcessorContactCard' } }
      CaseProcessor,

      @ObjectModel: { foreignKey: { association: '_ResponsibleContactCard' } }
      CaseResponsible,

      CaseTitle,
      CaseEscalationReason,
      CaseCategory,
      CasePriority,
      CaseAuthorizationLevel,
      CaseStatusProfile,
      CaseStatus,
      CaseSystemStatus,
      CaseReason,
      IsActiveEntity,
      HasActiveEntity,
      DraftCreationDateTime,
      DraftLastChangedDateTime,

      // Exposed Associations

      _AuthLevel,
      _CaseSystemStatus,
      _CaseTypes,
      _CaseCategory,
      _ChangedByContactCard,
      _ClosedByContactCard,
      _CompanyCode,
      _Country,
      _CreatedByContactCard,
      _Customer,
      _DisputeCaseCoordinatorCard,
      _DisputeCaseExternalAppl,
      _Escalation,
      _Individual,
      _Priority,
      _ProcessorContactCard,
      _Reasons,
      _ResponsibleContactCard,
      _RootCause,
      _StatProfile

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"P_DISPUTECASEDRAFT"
],
"ASSOCIATED":
[
"I_CASEAUTHORIZATIONLEVEL",
"I_CASECATEGORY",
"I_CASEESCALATIONREASON",
"I_CASEINDIVIDUALSTATUS",
"I_CASEPRIORITY",
"I_CASEREASONS",
"I_CASESTATUSPROFILE",
"I_CASESYSTEMSTATUS",
"I_CASETYPES",
"I_COMPANYCODE",
"I_COUNTRY",
"I_CUSTOMER",
"I_DISPUTECASEEXTERNALAPPL",
"I_ROOTCAUSE",
"R_RBLSMGMTUSERCONTACTCARD"
],
"BASE":
[
"P_DISPUTECASEDRAFT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/