@EndUserText: { label: 'Dispute Case' }
@ObjectModel: { representativeKey: 'DisputeCaseUUID',
semanticKey: [ 'CaseID' ],
usageType: { dataClass: #TRANSACTIONAL,
sizeCategory: #L,
serviceQuality: #X } }
@AccessControl: { authorizationCheck: #CHECK,
privilegedAssociations: [ '_ChangedByContactCard',
'_ClosedByContactCard',
'_CreatedByContactCard',
'_DisputeCaseCoordinatorCard',
'_ProcessorContactCard',
'_ResponsibleContactCard' ],
personalData: { blocking: #BLOCKED_DATA_EXCLUDED } }
@VDM: { viewType: #CONSUMPTION,
usage: { type: [ #TRANSACTIONAL_PROCESSING_SERVICE ] } }
@Metadata: { allowExtensions: true }
define root view entity C_DisputeCaseTP
provider contract transactional_query
as projection on R_DisputeCaseTP as DisputeCase
{
// VDM Fields
key DisputeCaseUUID,
@ObjectModel: { text: { element: [ 'DsputCaseCoordinatorFullName' ] } }
DisputeCaseCoordinator,
@ObjectModel: { text: { element: [ 'CaseRootCauseDescription' ] } }
DisputeCaseRootCause,
CaseProcessingDeadlineDate,
OriginalAmount,
DisputedAmount,
PaidAmount,
CreditedAmount,
WriteOffAmount,
ManuallyClearedAmount,
DisputeCaseCurrency,
CustomerDisputedAmount,
CustomerDisputedCurrency,
ContactPerson,
ContactPersonName,
ContactPersonEmailAddress,
ContactPersonPhoneNumber,
ContactPersonFaxNumber,
@ObjectModel: { text: { element: [ 'CountryName' ] } }
ContactPersonFaxCountry,
@ObjectModel: { text: { element: [ 'CustomerName' ] } }
Customer,
@ObjectModel: { text: { element: [ 'CompanyCodeName' ] } }
CompanyCode,
@ObjectModel: { text: { element: [ 'DisputeCaseExtApplName' ] } }
DisputeCaseExternalApplication,
@ObjectModel: { text: { element: [ 'CaseTypeName' ] } }
CaseType,
CaseID,
CaseExternalReference,
@ObjectModel: { text: { element: [ 'CreatedByUserName' ] } }
CaseCreatedBy,
CaseCreatedOn,
@ObjectModel: { text: { element: [ 'LastChangedByUserName' ] } }
CaseLastChangedBy,
CaseLastChangedOn,
@ObjectModel: { text: { element: [ 'DisputeCaseClosedByUserName' ] } }
CaseClosedBy,
CaseClosedTime,
CasePlannedCloseDate,
@ObjectModel: { text: { element: [ 'DisputeCaseProcessorFullName' ] } }
CaseProcessor,
@ObjectModel: { text: { element: [ 'DisputeCaseResponsibleFullName' ] } }
CaseResponsible,
CaseTitle,
@ObjectModel: { text: { element: [ 'DsputCaseEscalationRsnName' ] } }
CaseEscalationReason,
@ObjectModel: { text: { element: [ 'DisputeCaseCategoryName' ] } }
CaseCategory,
@ObjectModel: { text: { element: [ 'DisputeCasePriorityName' ] } }
CasePriority,
CaseAuthorizationLevel,
CaseStatusProfile,
@ObjectModel: { text: { element: [ 'CaseStatusName' ] } }
CaseStatus,
@ObjectModel: { text: { element: [ 'CaseSystemStatusName' ] } }
CaseSystemStatus,
@ObjectModel: { text: { element: [ 'CaseReasonName' ] } }
CaseReason,
_CaseTypes.CaseAttributeProfile as DisputeCaseAttributeProfile,
// Elements for Free Search
_Customer.OrganizationBPName1,
_Customer.OrganizationBPName2,
_DisputeCaseCoordinatorCard.FirstName as UICT_CoordinatorFirstName,
_DisputeCaseCoordinatorCard.LastName as UICT_CoordinatorLastName,
_ProcessorContactCard.FirstName as UICT_ProcessorFirstName,
_ProcessorContactCard.LastName as UICT_ProcessorLastName,
_ResponsibleContactCard.FirstName as UICT_ResponsibleFirstName,
_ResponsibleContactCard.LastName as UICT_ResponsibleLastName,
_CreatedByContactCard.FirstName as UICT_CreatedByFirstName,
_CreatedByContactCard.LastName as UICT_CreatedByLastName,
_ChangedByContactCard.FirstName as UICT_ChangedByFirstName,
_ChangedByContactCard.LastName as UICT_ChangedByLastName,
_ClosedByContactCard.FirstName as UICT_ClosedByFirstName,
_ClosedByContactCard.LastName as UICT_ClosedByLastName,
// Text Elements
@Semantics: { text: true }
_Country._Text.CountryName as CountryName : localized,
@Semantics: { text: true }
_RootCause._Text.CaseRootCauseDescription as CaseRootCauseDescription : localized,
@Semantics: { text: true }
_CoordinatorUser.PersonFullName as DsputCaseCoordinatorFullName,
@Semantics: { text: true }
_Customer.CustomerName as CustomerName,
@Semantics: { text: true }
_CompanyCode.CompanyCodeName as CompanyCodeName,
@Semantics: { text: true }
_DisputeCaseExternalAppl._Text.DisputeCaseExtApplName as DisputeCaseExtApplName : localized,
@Semantics: { text: true }
_CaseTypes._Text.CaseTypeName as CaseTypeName : localized,
@Semantics: { text: true }
_CreatedByContactCard.UserDescription as CreatedByUserName,
@Semantics: { text: true }
_ChangedByContactCard.UserDescription as LastChangedByUserName,
@Semantics: { text: true }
_ClosedByContactCard.UserDescription as DisputeCaseClosedByUserName,
@Semantics: { text: true }
_ProcessorUser.PersonFullName as DisputeCaseProcessorFullName,
@Semantics: { text: true }
_ResponsibleUser.PersonFullName as DisputeCaseResponsibleFullName,
@Semantics: { text: true }
_Escalation._Text.CaseEscalationReasonName as DsputCaseEscalationRsnName : localized,
@Semantics: { text: true }
_CaseCategory._Text.CaseCategoryName as DisputeCaseCategoryName : localized,
@Semantics: { text: true }
_Priority._Text.CasePriorityName as DisputeCasePriorityName : localized,
@Semantics: { text: true }
_Individual._Text.CaseStatusName as CaseStatusName : localized,
@Semantics: { text: true }
_CaseSystemStatus._Text.CaseSystemStatusName as CaseSystemStatusName : localized,
@Semantics: { text: true }
_Reasons._Text.CaseReasonName as CaseReasonName : localized,
_SitnInstceIndicator.SitnNumberOfInstances,
// Virtual Elements
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual ProcgDeadlineIsNotExceeded : boolean,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual PlannedCloseDateIsExceeded : boolean,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual PlannedCloseDateCriticality : char1,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual ProcessingDeadlineCriticality : char1,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual PlannedCloseDateIsNotExceeded : boolean,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual ProcessingDeadlineIsExceeded : boolean,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual NumberOfDaysUntilProcgDeadline : dispute_days_till_prc_deadl,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual NumberOfDaysSinceProcgDeadline : dispute_days_since_prc_deadl,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual NrOfDaysUntilPlannedClose : dispute_days_till_plnd_cls_dt,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual NrOfDaysSincePlannedClose : dispute_days_since_plnd_cls_dt,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual BusinessPartner : bu_partner,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual UICT_DisputedAmount : boolean,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual NoteTypeListText : text200,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_DISPUTE_VE' }
virtual UICT_CustomerDisputedAmount : boolean,
// Exposed Associations
_AuthLevel,
_CaseSystemStatus,
_CaseTypes,
_CaseCategory,
_ChangedByContactCard : redirected to C_RblsMgmtUserContactCard,
_ClosedByContactCard : redirected to C_RblsMgmtUserContactCard,
_CompanyCode,
_Country,
_CreatedByContactCard : redirected to C_RblsMgmtUserContactCard,
_Customer,
_DisputeCaseCoordinatorCard : redirected to C_RblsMgmtUserContactCard,
_DisputeCaseExternalAppl,
_Escalation,
_Individual,
_Priority,
_ProcessorContactCard : redirected to C_RblsMgmtUserContactCard,
_ResponsibleContactCard : redirected to C_RblsMgmtUserContactCard,
_Reasons,
_RootCause,
_StatProfile,
_CustomerQuickView : redirected to C_CollectionsCustomerQuickView,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_DisputeCaseProtocol : redirected to C_DisputeCaseProtocol,
_LinkedInvoice : redirected to C_DisputeCaseLinkedInvoice,
_CustomerContact,
// BO Composition
_DisputeCaseLinkedObjects : redirected to composition child C_DisputeCaseLinkedObjectTP
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSUSER",
"I_CASECATEGORY",
"I_CASECATEGORYTEXT",
"I_CASEESCALATIONREASON",
"I_CASEESCALATIONREASONTEXT",
"I_CASEINDIVIDUALSTATUS",
"I_CASEINDIVIDUALSTATUSTEXT",
"I_CASEPRIORITY",
"I_CASEPRIORITYTEXT",
"I_CASEREASONS",
"I_CASEREASONSTEXT",
"I_CASESYSTEMSTATUS",
"I_CASESYSTEMSTATUSTEXT",
"I_CASETYPES",
"I_CASETYPESTEXT",
"I_COMPANYCODE",
"I_COUNTRY",
"I_COUNTRYTEXT",
"I_CUSTOMER",
"I_DISPUTECASEEXTERNALAPPL",
"I_DISPUTECASEEXTERNALAPPLTEXT",
"I_ROOTCAUSE",
"I_ROOTCAUSETEXT",
"I_SITNINSTCEINDICATOR",
"R_DISPUTECASETP",
"R_RBLSMGMTUSERCONTACTCARD"
],
"ASSOCIATED":
[
"C_COLLECTIONSCUSTOMERQUICKVIEW",
"C_DISPUTECASELINKEDINVOICE",
"C_DISPUTECASELINKEDOBJECTTP",
"C_DISPUTECASEPROTOCOL",
"C_RBLSMGMTUSERCONTACTCARD",
"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_CUSTOMERCONTACT",
"I_DISPUTECASEEXTERNALAPPL",
"I_ROOTCAUSE",
"R_COLLECTIONSCUSTOMERQUICKVIEW",
"R_DISPUTECASELINKEDINVOICE",
"R_DISPUTECASELINKEDOBJECTTP",
"R_DISPUTECASEPROTOCOL",
"R_RBLSMGMTUSERCONTACTCARD"
],
"BASE":
[
"R_DISPUTECASETP"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/