@Metadata: { allowExtensions: true }
@VDM: { usage: { type: [ #TRANSACTIONAL_PROCESSING_SERVICE ] },
viewType: #CONSUMPTION }
@AccessControl: { personalData: { blocking: #BLOCKED_DATA_EXCLUDED },
authorizationCheck: #CHECK,
privilegedAssociations: [ '_CollectionsContactForCreate' ] }
@ObjectModel: { usageType: { serviceQuality: #X,
sizeCategory: #L,
dataClass: #TRANSACTIONAL },
representativeKey: 'Customer',
semanticKey: [ 'Customer',
'CollectionSegment',
'CompanyCode',
'BusinessPartner' ],
query: { implementedBy: 'ABAP:CL_COLL_PR_VE' } }
@EndUserText: { label: 'Collections Management Account' }
define root view entity C_CollectionsAccountTP
provider contract transactional_query
as projection on R_CollectionsAccountTP as CollectionsAccount
// VDM Associations
association [0..1] to C_CollsContactPersonForCrteTP as _CollectionsContactForCreate on $projection.BusinessPartner = _CollectionsContactForCreate.BusinessPartnerCompany
{
// VDM Fields
@ObjectModel: { text: { element: [ 'CustomerName' ] } }
key Customer,
@ObjectModel: { text: { element: [ 'CollectionSegmentName' ] } }
key CollectionSegment,
@ObjectModel: { text: { element: [ 'CompanyCodeName' ] } }
key CompanyCode,
@ObjectModel: { text: { element: [ 'BusinessPartnerName' ] } }
BusinessPartner,
// Text Elements
_Customer.CustomerName as CustomerName,
_CompanyCode.CompanyCodeName as CompanyCodeName,
_CollectionSegment._Text.CollectionSegmentName as CollectionSegmentName : localized,
_BusinessPartner.BusinessPartnerName as BusinessPartnerName,
// Virtual Elements
virtual CompanyCodeIsWorkable : boolean,
virtual CollectionSegmentIsWorkable : boolean,
virtual DueDateGridIsWorkable : boolean,
virtual PaymentTrendIsWorkable : boolean,
virtual LastCustomerContactDate : coll_cct_last_contact_time,
virtual UICT_LastCustomerContactDate : boolean,
virtual UICT_CreditAccount : boolean,
virtual UICT_DisputeCase : boolean,
virtual UICT_DisputeCaseCollsSegment : boolean,
virtual UICT_PromiseToPay : boolean,
virtual UICT_SegmentAuthorization : boolean,
virtual UICT_ContactPerson : boolean,
virtual UICT_HeadOfficeReceivables : boolean,
virtual CustomerHeadOffice : kunnr,
virtual UICT_BusinessPartnerType : boolean,
virtual UICT_CollectableAmount : boolean,
// Exposed Associations
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_BusinessPartner,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollectionSegment,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CompanyCode,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_Customer,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollectionsMainContact : redirected to C_CollectionsMainContact,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_AddressBP : redirected to C_CollectionsBPQuickView,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollectionsResubmission : redirected to C_CollsResubmissionDraft,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollectionsHeadOfficeBranch : redirected to C_CollectionsHeadOfficeBranch,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollectionsContactDraft : redirected to C_CollectionsContactDraft,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollectionsAccountNote : redirected to C_CollectionsAccountNote,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_DisputeCaseDraftCollsSegment : redirected to C_DisputeCaseDraftCollsSegment,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_PromiseToPayDraftCollsSegment : redirected to C_CollsPrmsToPayCollsSegment,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollectionsPaymentTrend : redirected to C_CollectionsPaymentTrend,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollectionsDueDateGrid : redirected to C_CollectionsDueDateGrid,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollsAccountStickyNote : redirected to C_CollsAccountStickyNote,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollectionsInvoice : redirected to C_CollectionsInvoiceTP,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollectionsInvoiceCompanyCode : redirected to C_CollectionsInvoiceTP,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollsAcctCreditMgmtSummary : redirected to C_CollsAcctCreditMgmtSummary,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollectionsAccountKeyFigure : redirected to C_CollectionsAccountKeyFigure,
// Dummy View for Popup - Create Contact Person
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollectionsContactForCreate
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BUSINESSPARTNER",
"I_COLLECTIONSEGMENT",
"I_COLLECTIONSEGMENTTEXT",
"I_COMPANYCODE",
"I_CUSTOMER",
"R_COLLECTIONSACCOUNTTP"
],
"ASSOCIATED":
[
"C_COLLECTIONSACCOUNTKEYFIGURE",
"C_COLLECTIONSACCOUNTNOTE",
"C_COLLECTIONSBPQUICKVIEW",
"C_COLLECTIONSCONTACTDRAFT",
"C_COLLECTIONSDUEDATEGRID",
"C_COLLECTIONSHEADOFFICEBRANCH",
"C_COLLECTIONSINVOICETP",
"C_COLLECTIONSMAINCONTACT",
"C_COLLECTIONSPAYMENTTREND",
"C_COLLSACCOUNTSTICKYNOTE",
"C_COLLSACCTCREDITMGMTSUMMARY",
"C_COLLSCONTACTPERSONFORCRTETP",
"C_COLLSPRMSTOPAYCOLLSSEGMENT",
"C_COLLSRESUBMISSIONDRAFT",
"C_DISPUTECASEDRAFTCOLLSSEGMENT",
"I_BUSINESSPARTNER",
"I_COLLECTIONSACCOUNTNOTE",
"I_COLLECTIONSDUEDATEGRID",
"I_COLLECTIONSEGMENT",
"I_COLLECTIONSHEADOFFICEBRANCH",
"I_COLLECTIONSMAINCONTACT",
"I_COLLECTIONSPAYMENTTREND",
"I_COLLSACCOUNTSTICKYNOTE",
"I_COMPANYCODE",
"I_CUSTOMER",
"R_COLLECTIONSACCOUNTKEYFIGURE",
"R_COLLECTIONSBPQUICKVIEW",
"R_COLLECTIONSCONTACTDRAFTTP",
"R_COLLECTIONSINVOICETP",
"R_COLLSACCTCREDITMGMTSUMMARY",
"R_COLLSPRMSTOPAYCOLLSSEGMENTTP",
"R_COLLSRESUBMISSIONDRAFTTP",
"R_DISPUTECASEDRAFTCOLLSSGMTTP"
],
"BASE":
[
"R_COLLECTIONSACCOUNTTP"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/