@EndUserText: { label: 'Promise To Pay' }
@ObjectModel: { representativeKey: 'PromiseToPayUUID',
semanticKey: [ 'CaseID' ],
usageType: { dataClass: #TRANSACTIONAL,
sizeCategory: #L,
serviceQuality: #X } }
@AccessControl: { authorizationCheck: #CHECK,
privilegedAssociations: ['_CreatedByContactCard',
'_ChangedByContactCard',
'_ClosedByContactCard' ],
personalData: { blocking: #BLOCKED_DATA_EXCLUDED } }
@VDM: { viewType: #CONSUMPTION,
usage: { type: [ #TRANSACTIONAL_PROCESSING_SERVICE ] } }
@Metadata: { allowExtensions: true }
define root view entity C_CollsPromiseToPayTP
provider contract transactional_query
as projection on R_CollsPromiseToPayTP as PromiseToPay
{
// VDM Fields
key PromiseToPayUUID,
@ObjectModel: { text: { element: [ 'CompanyCodeName' ] } }
CompanyCode,
@ObjectModel: { text: { element: [ 'CustomerName' ] } }
Customer,
ObjectType,
LinkedInvoiceKey,
PromisedAmount,
PaidAmount,
@ObjectModel: { text: { element: [ 'CurrencyName' ] } }
Currency,
DueDate,
PromiseToPayDate,
LastPaymentDate,
@ObjectModel: { text: { element: [ 'PromiseToPayStatusName' ] } }
PromiseToPayStatus,
PromiseToPayLevel,
PromiseToPayGivenByPersonName,
ContactPersonEmailAddress,
ContactPersonPhoneNumber,
ContactPersonFaxNumber,
ContactPersonFaxCountry,
ContactPerson,
NumberOfInstallments,
PaidOnScheduleAmount,
PaidOffScheduleAmount,
NextInstallmentDueDate,
NextInstallmentAmount,
CaseID,
CaseExternalReference,
Prms2PToInvoiceGroupRefUUID,
@ObjectModel: { text: { element: [ 'CreatedByUserName' ] } }
CaseCreatedBy,
CaseCreatedOn,
@ObjectModel: { text: { element: [ 'LastChangedByUserName' ] } }
CaseLastChangedBy,
CaseLastChangedOn,
@ObjectModel: { text: { element: [ 'ClosedByUserFullName' ] } }
CaseClosedBy,
CaseClosedTime,
PromisedAmountForEdit,
IsCleared,
_CaseAttribute.CaseSystemStatus,
// Elements for Free Search
_Customer.OrganizationBPName1,
_Customer.OrganizationBPName2,
_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
_CompanyCode.CompanyCodeName as CompanyCodeName,
_Customer.CustomerName as CustomerName,
_CollsPromiseToPayStatus._Text.PromiseToPayStatusName as PromiseToPayStatusName : localized,
_Country._Text.CountryName as CountryName : localized,
_Currency._Text.CurrencyName as CurrencyName : localized,
_CreatedByContactCard.UserDescription as CreatedByUserName,
_ChangedByContactCard.UserDescription as LastChangedByUserName,
_ClosedByContactCard.UserDescription as ClosedByUserFullName,
// Virtual Elements
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_COLL_P2P_VE' }
virtual InstallmentPlanIsNotWorkable : boolean,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_COLL_P2P_VE' }
virtual BusinessPartner : bu_partner,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_COLL_P2P_VE' }
virtual PromiseToPayDateIsNotExceeded : boolean,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_COLL_P2P_VE' }
virtual PromiseToPayDateIsExceeded : boolean,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_COLL_P2P_VE' }
virtual PromiseToPayDateCriticality : char1,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_COLL_P2P_VE' }
virtual NrOfDaysSincePromisedToPay : coll_p2p_days_since_prom_for,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_COLL_P2P_VE' }
virtual NrOfDaysUntilPromisedToPay : coll_p2p_days_until_prom_for,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_COLL_P2P_VE' }
virtual UICT_LastPayment : boolean,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_COLL_P2P_VE' }
virtual AccountingDocument : farp_belnr_d,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_COLL_P2P_VE' }
virtual FiscalYear : fis_gjahr,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_COLL_P2P_VE' }
virtual AccountingDocumentItem : fis_buzei,
@ObjectModel: { virtualElementCalculatedBy: 'ABAP:CL_COLL_P2P_VE' }
virtual UICT_PromiseToPayLevel : boolean,
// Exposed Associations
_CaseAttribute,
_ChangedByContactCard : redirected to C_RblsMgmtUserContactCard,
_ClosedByContactCard : redirected to C_RblsMgmtUserContactCard,
_CollsPromiseToPayStatus,
_CompanyCode,
_Country,
_CreatedByContactCard : redirected to C_RblsMgmtUserContactCard,
_Customer,
_CustomerQuickView : redirected to C_CollectionsCustomerQuickView,
_CustomerContact,
// BO Composition
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollsPrms2PInstallmentStatus : redirected to C_CollsPrms2PInstallmentStatus,
_CollsPromiseToPayInstlmntTP : redirected to composition child C_CollsPromiseToPayInstlmntTP,
_CollsPromiseToPayInvoiceTP : redirected to composition child C_CollsPromiseToPayInvoiceTP,
@ObjectModel: { sort: { enabled: false },
filter: { enabled: false } }
_CollsPromiseToPayPayment : redirected to C_CollsPromiseToPayPayment
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CASEATTRIBUTE",
"I_COLLSPROMISETOPAYSTATUS",
"I_COLLSPROMISETOPAYSTATUSTEXT",
"I_COMPANYCODE",
"I_COUNTRY",
"I_COUNTRYTEXT",
"I_CURRENCY",
"I_CURRENCYTEXT",
"I_CUSTOMER",
"R_COLLSPROMISETOPAYTP",
"R_RBLSMGMTUSERCONTACTCARD"
],
"ASSOCIATED":
[
"C_COLLECTIONSCUSTOMERQUICKVIEW",
"C_COLLSPRMS2PINSTALLMENTSTATUS",
"C_COLLSPROMISETOPAYINSTLMNTTP",
"C_COLLSPROMISETOPAYINVOICETP",
"C_COLLSPROMISETOPAYPAYMENT",
"C_RBLSMGMTUSERCONTACTCARD",
"I_CASEATTRIBUTE",
"I_COLLSPRMS2PINSTALLMENTSTATUS",
"I_COLLSPROMISETOPAYPAYMENT",
"I_COLLSPROMISETOPAYSTATUS",
"I_COMPANYCODE",
"I_COUNTRY",
"I_CUSTOMER",
"I_CUSTOMERCONTACT",
"R_COLLECTIONSCUSTOMERQUICKVIEW",
"R_COLLSPROMISETOPAYINSTLMNTTP",
"R_COLLSPROMISETOPAYINVOICETP",
"R_RBLSMGMTUSERCONTACTCARD"
],
"BASE":
[
"R_COLLSPROMISETOPAYTP"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/