@AbapCatalog.sqlViewName: 'ICADCTP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Draft View for Dispute Cases'
@AccessControl.personalData.blocking: #REQUIRED
@VDM.viewType: #TRANSACTIONAL
@ObjectModel: {
draftEnabled: true,
writeDraftPersistence: 'CADISP_D',
transactionalProcessingEnabled: true,
compositionRoot: true,
createEnabled: true,
updateEnabled: true,
deleteEnabled: true,
semanticKey: 'CaseID',
modelCategory: #BUSINESS_OBJECT,
entityChangeStateId: 'CaseLastChangedOn',
alternativeKey: [{
id: 'CaseID',
element: ['CaseID'],
uniqueness: #UNIQUE
}],
usageType: {
sizeCategory: #L,
serviceQuality: #C,
dataClass: #TRANSACTIONAL
}
}
define view I_CADisputeCaseTP as select from I_CADisputeCase
association [0..*] to I_CADisputeCaseFllwUpPostingTP as _FollowPosting on $projection.CaseUUID = _FollowPosting.CaseUniqueID
association [0..*] to I_CADisputedPaymentTP as _Payment on $projection.CaseUUID = _Payment.CaseUniqueID
association [0..*] to I_CADisputedCreditTP as _Credit on $projection.CaseUUID = _Credit.CaseUniqueID
association [0..*] to I_CADisputedDocumentTP as _CADisputedDocument on $projection.CaseUUID = _CADisputedDocument.CaseUniqueID
// association [0..*] to I_CADisputedInvcgDocTP as _CADisputedInvcgDoc on $projection.CaseUUID = _CADisputedInvcgDoc.DisputeCaseUUID
// association [0..*] to I_CADisputedInvcgDocItemTP as _CADisputedInvcgDocItem on $projection.CaseUUID = _CADisputedInvcgDocItem.DisputeCaseUUID
// association [0..*] to I_CADisputedBllbleItmTP as _CADisputedBllbleItm on $projection.CaseUUID = _CADisputedBllbleItm.DisputeCaseUUID
association [1..1] to E_CADisputeCase as _Extension on $projection.CaseUUID = _Extension.CaseUUID
{
@ObjectModel.readOnly: true
key I_CADisputeCase.CaseUUID as CaseUUID,
@ObjectModel.readOnly: true
I_CADisputeCase.CaseID, // Display
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
// @ObjectModel.mandatory:true
I_CADisputeCase.BusinessPartner, // Display
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
I_CADisputeCase.CAContract,
@ObjectModel.readOnly:'EXTERNAL_CALCULATION'
I_CADisputeCase.ContractAccount, // Display
@ObjectModel.readOnly: true
I_CADisputeCase.CAApplicationArea,
@ObjectModel.readOnly: false
cast( CASubApplication as subap_kk ) as CASubApplication,
@ObjectModel.readOnly: false
@Semantics.amount.currencyCode: 'DisputeCaseCurrency'
@ObjectModel.mandatory: true
I_CADisputeCase.DisputedAmount, // Display
@ObjectModel.readOnly: false
@Semantics.amount.currencyCode: 'DisputeCaseCurrency'
I_CADisputeCase.TotalReceivablesAmount,
@ObjectModel.readOnly: false
@Semantics.amount.currencyCode: 'DisputeCaseCurrency'
I_CADisputeCase.DisputeCaseCorrectionAmount,
@ObjectModel.readOnly: true
@Semantics.amount.currencyCode: 'DisputeCaseCurrency'
I_CADisputeCase.DisputeCaseReversedAmount,
@ObjectModel.readOnly: false
@Semantics.amount.currencyCode: 'DisputeCaseCurrency'
I_CADisputeCase.CreditedAmount,
@ObjectModel.readOnly: true
@Semantics.amount.currencyCode: 'DisputeCaseCurrency'
I_CADisputeCase.WriteOffAmount,
@ObjectModel.readOnly: true
@Semantics.amount.currencyCode: 'DisputeCaseCurrency'
I_CADisputeCase.DisputeCaseReplacedAmount,
@ObjectModel.readOnly: true
I_CADisputeCase.PaidAmount,
@Semantics.amount.currencyCode: 'DisputeCaseCurrency'
@ObjectModel.readOnly: false
I_CADisputeCase.CARemainingDisputedAmount,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
@Semantics.currencyCode: true
@ObjectModel.mandatory: true
I_CADisputeCase.DisputeCaseCurrency,
@ObjectModel.readOnly: true
I_CADisputeCase.LogicalSystem,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
CADisputeType,
@ObjectModel.readOnly: true
I_CADisputeCase.CADisputeTypeText,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
I_CADisputeCase.CompanyCode,
@ObjectModel.readOnly: false
I_CADisputeCase.DisputeCaseCoordinator,
@ObjectModel.readOnly: true
CaseRootCauseDescription,
@ObjectModel.readOnly: false
I_CADisputeCase.DisputeCaseRootCause,
@ObjectModel.readOnly: false
MissingDocCaseRootCause,
@ObjectModel.readOnly: false
IncorrectDocCaseRootCause,
@ObjectModel.readOnly: false
I_CADisputeCase.CaseProcessingDeadlineDate,
@ObjectModel.readOnly: false
I_CADisputeCase.ContactPersonFullName,
@ObjectModel.readOnly: false
I_CADisputeCase.ContactPersonEmailAddress,
@ObjectModel.readOnly: false
I_CADisputeCase.ContactPersonPhoneNumber,
@ObjectModel.readOnly: false
I_CADisputeCase.ContactPersonFaxNumber,
@ObjectModel.readOnly: false
I_CADisputeCase.ContactPersonFaxCountry,
// @ObjectModel.readOnly: true
// I_CADisputeCase.DisputeCaseBPCorrespondenceKey,
// FIN_ORIGIN
@ObjectModel.readOnly: true
I_CADisputeCase.CaseType,
@ObjectModel.readOnly: false
I_CADisputeCase.CaseExternalReference,
@ObjectModel.readOnly: true
I_CADisputeCase.CaseCreatedBy,
@ObjectModel.readOnly: true
I_CADisputeCase.CaseCreationDate,
// cast( I_CADisputeCase.CaseCreatedOn as erdat) as CaseCreatedOn,
@ObjectModel.readOnly: true
I_CADisputeCase.CaseLastChangedBy,
@ObjectModel.readOnly: true
I_CADisputeCase.CaseLastChangedOn,
@ObjectModel.readOnly: true
I_CADisputeCase.CaseClosedBy,
@ObjectModel.readOnly: true
I_CADisputeCase.CaseClosedTime,
@ObjectModel.readOnly: false
I_CADisputeCase.CasePlannedCloseDate,
@ObjectModel.readOnly: false
I_CADisputeCase.CaseProcessor,
@ObjectModel.readOnly: false
I_CADisputeCase.CaseResponsible,
@ObjectModel.readOnly: false
I_CADisputeCase.CaseTitle,
@ObjectModel.readOnly: false
CACaseEscltnRsnForMissingDoc,
@ObjectModel.readOnly: false
CACaseEscltnRsnForIncorrectDoc,
@ObjectModel.readOnly: false
CaseEscalationReason,
@ObjectModel.readOnly: true
DsputCaseEscalationRsnName,
@ObjectModel.readOnly: false
I_CADisputeCase.CaseCategory,
@ObjectModel.readOnly: false
MissingDocCaseCategory,
@ObjectModel.readOnly: false
IncorrectDocCaseCategory,
@ObjectModel.readOnly: true
DisputeCaseCategoryName, // Display
@ObjectModel.readOnly: false
I_CADisputeCase.CasePriority,
@ObjectModel.readOnly: true
DisputeCasePriorityName, // Display
@ObjectModel.readOnly: true
I_CADisputeCase.CaseAuthorizationLevel,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
I_CADisputeCase.CaseStatus,
@ObjectModel.readOnly: false
MissingDocumentCaseStatus,
@ObjectModel.readOnly: false
IncorrectDocumentCaseStatus,
@ObjectModel.readOnly: true
CaseStatusName,
@ObjectModel.readOnly: true
I_CADisputeCase.CaseSystemStatus,
@ObjectModel.readOnly: true
I_CADisputeCase.CaseUserStatusName, // Display
@ObjectModel.readOnly: false
I_CADisputeCase.CaseReason,
@ObjectModel.readOnly: false
I_CADisputeCase.CaseReason as MissingDocCaseReason,
@ObjectModel.readOnly: false
I_CADisputeCase.CaseReason as IncorrectDocCaseReason,
@ObjectModel.readOnly: false
DisputeCaseInformationText,
@ObjectModel.readOnly: false
I_CADisputeCase.DisputeCaseTransactionDate,
@ObjectModel.readOnly: true
I_CADisputeCase.CADisputeCase,
@ObjectModel.readOnly: true
CaseReasonName,
// @ObjectModel.readOnly: true
// cast(I_CADisputeCase.CaseStatusName as scmgstat_descr_gfn) as CaseStatusName,
@ObjectModel.readOnly: true
I_CADisputeCase.BusinessPartnerFullName,
@ObjectModel.readOnly: true
I_CADisputeCase.ContractAccountName,
@ObjectModel.readOnly: true
I_CADisputeCase.CompanyCodeName,
@ObjectModel.readOnly: true
cast(concat_with_space( I_CADisputeCase.StreetName, I_CADisputeCase.HouseNumber, 1) as secdep_house_number_kk ) as AddressLine1,
@ObjectModel.readOnly: true
cast(concat_with_space( I_CADisputeCase.PostalCode, I_CADisputeCase.CityName, 1) as secdep_home_town_kk) as AddressLine2,
@ObjectModel.readOnly: true
I_CADisputeCase.CountryName as CountryName,
@ObjectModel.readOnly: true
UserDescription,
@ObjectModel.readOnly: true
I_CADisputeCase.CaseStatusProfile,
@ObjectModel.readOnly: true
CACaseConversionStatus,
@ObjectModel.readOnly: true
CaseIsDisplayOnly,
@ObjectModel.readOnly: true
CaseIsClosed,
@ObjectModel.readOnly: true
CADisputeCaseProcessingIsActv,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
cast('' as opbel_gfn_kk) as CADocumentNumber,
@ObjectModel.virtualElement: true
cast( 'X' as boole_d preserving type ) as CADisputeCaseCreateIsHidden,
@ObjectModel.virtualElement: true
cast( 'X' as boole_d preserving type ) as CADisputeCaseEditIsHidden,
@ObjectModel.virtualElement: true
cast( ' ' as boole_d preserving type ) as CADisputeCaseDisplayIsHidden,
'' as UserDefinedText,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_FollowPosting,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_Credit,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_CADisputedDocument,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_Payment,
// @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
// _CADisputedInvcgDoc,
// @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
// _CADisputedInvcgDocItem,
// @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
// _CADisputedBllbleItm,
_BusinessPartner,
_ContractAccount,
_CompCode,
_Reasons,
_StatProfile,
_Escalation,
_Priority,
_CaseTypes,
_CaseSystemStatus
}