@AbapCatalog: {
sqlViewName: 'CNTRCTACNTPRTN',
preserveKey: true,
compiler.compareFilter: true
}
@VDM.viewType: #CONSUMPTION
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
sizeCategory: #XL,
serviceQuality: #C
},
representativeKey: 'ContractAccount'
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #REQUIRED
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Contract Account Partner'
@Search.searchable: true
@UI.headerInfo: {
typeName: 'Contract Account',
typeNamePlural: 'Contract Accounts',
title: {
targetElement: 'ContractAccount'
}
}
define root view C_ContractAccountPartner
as select from I_ContractAccountPartner
association [0..1] to I_CAContractPartner as _ContractPartner on $projection.BusinessPartner = _ContractPartner.BusinessPartner
// association [0..1] to I_BusinessPartnerBank as _BusinessPartnerBankInc on $projection.BusinessPartner = _BusinessPartnerBankInc.BusinessPartner
// and $projection.CABankIDForIncomingPayments = _BusinessPartnerBankInc.BankIdentification
// association [0..1] to I_BusinessPartnerBank as _BusinessPartnerBankOut on $projection.BusinessPartner = _BusinessPartnerBankOut.BusinessPartner
// and $projection.CABankIDForOutgoingPayments = _BusinessPartnerBankOut.BankIdentification
association [0..1] to I_BPCurrentDefaultAddress as _BPCurrentDefaultAddress on $projection.BusinessPartner = _BPCurrentDefaultAddress.BusinessPartner
association [0..1] to I_ContractAccountHeader as _CAHeader on $projection.ContractAccount = _CAHeader.ContractAccount
association [0..1] to I_BusinessPartner as _BusinessPartner on $projection.BusinessPartner = _BusinessPartner.BusinessPartner
{
@Consumption: {
filter: { mandatory: false , multipleSelections: true },
semanticObject: 'ContractAccount'
}
@UI: {
lineItem: [{position: 10 }, {type: #FOR_INTENT_BASED_NAVIGATION, semanticObjectAction: 'manage'}],
selectionField: [{ position: 10 }]
}
@ObjectModel.text.element: ['ContractAccountName']
@Search : {defaultSearchElement: true, fuzzinessThreshold: 0.7, ranking: #HIGH}
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_ContractAccountPartnerStdVH',
element: 'ContractAccount' }
}]
@ObjectModel.foreignKey.association: '_ContrAcc'
@UI.textArrangement: #TEXT_FIRST
key ContractAccount,
@Consumption: {
filter: { mandatory: false , multipleSelections: true },
semanticObject: 'CAContractPartner',
valueHelpDefinition: [{ entity: { name: 'C_CAContractPartnerValueHelp', element: 'BusinessPartner'} }]
}
@UI: {
lineItem: [{position: 20 }],
selectionField: [{position: 20}]
}
@ObjectModel.text.element: ['BusinessPartnerFullName']
@Semantics: { contact.type: #PERSON }
@Search : {defaultSearchElement: true, fuzzinessThreshold: 0.7, ranking: #HIGH}
key BusinessPartner,
@Search : {defaultSearchElement: true, fuzzinessThreshold: 0.7, ranking: #HIGH}
@Consumption.filter.hidden: false
// @EndUserText.label: 'Contract Account Name'
ContractAccountName,
@Consumption.filter.hidden: true
@UI.hidden: true
_BusinessPartner.BusinessPartnerFullName,
@UI.lineItem: [{position: 30, label: 'Standard Company Code' }]
@Consumption.semanticObject: 'CompanyCode'
@Consumption.valueHelpDefinition: [{entity: { name: 'C_CACompanyCodeVH', element: 'CompanyCode'}}]
@ObjectModel: { text.element: [ 'CompanyCodeName' ] }
@UI.selectionField: [{position: 30}]
@UI.fieldGroup:{qualifier: 'Business Partner'}
@EndUserText.label: 'Standard Company Code'
CAStandardCompanyCode,
@ObjectModel.text.element: ['ContractAccountCategoryName']
@EndUserText.label: 'Contract Account Category'
@Search : {defaultSearchElement: true, fuzzinessThreshold: 0.7, ranking: #HIGH}
_CAHeader.ContractAccountCategory,
@UI.hidden: true
@Semantics.text
I_ContractAccountPartner._ContrAcc._Category._Text[1:Language = $session.system_language].ContractAccountCategoryName as ContractAccountCategoryName,
// _Text[1:Language = $session.system_language].ContractAccountCategoryName as ContractAccountCategoryName,
@Consumption.filter.hidden: false
@Consumption.filter.selectionType: #INTERVAL
CreationDate,
@Consumption.filter.hidden: false
CreatedByUser,
@Consumption.filter.hidden: true
LastChangedByUser,
@Consumption.filter.hidden: true
@Consumption.filter.selectionType: #INTERVAL
LastChangeDate,
@Consumption.filter.hidden: true
@EndUserText.label: 'Target Currency for Invoicing'
CATargetCurrencyForInvoicing,
@Consumption.filter.hidden: true
CABPReferenceNumber,
@Consumption.filter.hidden: true
CACompanyCodeGroup,
@UI.hidden
_CompCode.CompanyCodeName,
@Consumption: {
valueHelpDefinition: [{ entity: { name: 'C_CAContractPartnerValueHelp', element: 'BusinessPartner'} }]
}
@UI.fieldGroup:{qualifier: 'AccountAssignment', groupLabel: 'Additional', importance: #HIGH}
@EndUserText.label: 'Alternative Payer'
cast(CAAlternativePayer as abwre_gfn_kk preserving type ) as CAAlternativePayer,
@Consumption: {
valueHelpDefinition: [{ entity: { name: 'C_CAContractPartnerValueHelp', element: 'BusinessPartner'} }]
}
@UI.fieldGroup:{qualifier: 'AccountAssignment', groupLabel: 'Additional', importance: #HIGH}
@EndUserText.label: 'Alternative Payee'
cast(CAAlternativePayee as abwra_gfn_kk preserving type ) as CAAlternativePayee,
@Consumption: {
valueHelpDefinition: [{ entity: { name: 'C_CAContractPartnerValueHelp', element: 'BusinessPartner'} }]
}
@UI.fieldGroup:{qualifier: 'AccountAssignment', groupLabel: 'Additional', importance: #HIGH}
@EndUserText.label: 'Alternative Dunning Recipient'
CAAlternativeDunningRecipient,
@Consumption.filter.hidden: true
@EndUserText.label: 'Alternative Correspondence Recipient'
CAAlternativeCorrespncRcpnt,
// @Consumption.filter.hidden: true
// CABankIDForIncomingPayments,
//
// @Consumption.filter.hidden: true
// CABankIDForOutgoingPayments,
@Consumption.filter.hidden: true
@EndUserText.label: 'Incoming Payment Method'
CAPaymentMethodForIncgPayment,
@Consumption.filter.hidden: true
IsMarkedForDeletion,
@Consumption.filter.hidden: true
CAInterestCode,
@Consumption.filter.hidden: true
CADunningProcedure,
@Consumption.filter.hidden: true
CADunningNoticeGroup,
@Consumption.filter.hidden: true
CAToleranceGroup,
@Consumption.filter.hidden: true
TaxJurisdiction,
@Consumption.filter.hidden: true
@EndUserText.label: 'Correspondence Variant'
CACorrespondenceVariant,
@Consumption.filter.hidden: true
PartnerCompany,
@Consumption.filter.hidden: true
@EndUserText.label: 'Correspondence Dunning Procedure'
CACorrespondenceDunningProced,
@Consumption.filter.hidden: true
CAClearingCategory,
@Consumption.filter.hidden: true
CAClearingRestriction,
@Consumption.filter.hidden: true
BusinessPlace,
@Consumption.filter.hidden: true
@UI.hidden: true
CACollectionsClerk,
@Consumption.filter.hidden: true
CAInvcgCategory,
//Collections
@Consumption.filter.hidden: true
@EndUserText.label: 'Collections Master Data Group'
CACollectionsMasterDataGroup,
@Consumption.filter.hidden: true
@EndUserText.label: 'Collections Contact Person'
CACollectionsContactPerson,
@Consumption.filter.hidden: true
CAMasterAgreement,
@Consumption.filter.hidden: true
CAPartnerSettlementRule,
//Address
@UI: {
lineItem: [{ position: 40 }],
fieldGroup: [{ qualifier: 'Address', groupLabel: 'Address', position: 10 ,importance: #HIGH }]
}
@Consumption.filter.hidden: true
cast( concat_with_space(_BPCurrentDefaultAddress._AddressDefaultRepresentation.StreetName,
_BPCurrentDefaultAddress._AddressDefaultRepresentation.HouseNumber, 1) as adress_gfn_kk preserving type ) as AddressLine1,
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8 }
@UI.hidden: true
@Consumption.filter.hidden: true
_BPCurrentDefaultAddress._AddressDefaultRepresentation.StreetName,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.9 }
@UI.hidden: true
@Consumption.filter.hidden: true
_BPCurrentDefaultAddress._AddressDefaultRepresentation.HouseNumber,
@UI: {
lineItem: [{position: 50 }],
fieldGroup: [{qualifier: 'Address' }]
}
@Consumption: {
valueHelpDefinition: [{ entity: { name: 'C_CAContractPartnerValueHelp', element: 'PostalCode'} }]
}
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.9 }
@Consumption.filter.hidden: true
_BPCurrentDefaultAddress._AddressDefaultRepresentation.PostalCode,
@UI: {
lineItem: [{position: 60}],
fieldGroup:{qualifier: 'Address'}
}
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8 }
@Consumption.filter.hidden: true
_BPCurrentDefaultAddress._AddressDefaultRepresentation.CityName,
@UI: {
lineItem: [{position: 70 }],
fieldGroup: [{qualifier: 'Address' }]
}
@Consumption: {
valueHelpDefinition: [{ entity: { name: 'I_CountryVH', element: 'Country'} }]
}
@Search: { defaultSearchElement: true, fuzzinessThreshold: 0.8 }
@UI.textArrangement: #TEXT_ONLY
@EndUserText.label: 'Country / Region'
@ObjectModel: { text.element: ['CountryName']}
_BPCurrentDefaultAddress._AddressDefaultRepresentation.Country,
@UI.hidden: true
_BPCurrentDefaultAddress._AddressDefaultRepresentation._Country._Text[1: Language=$session.system_language].CountryName,
@Consumption.filter.hidden: true
@EndUserText.label: 'Account Used for Payment'
ContractAccountForPayment,
@Consumption.filter.hidden: true
CABusinessPartnerForPayment,
CAAuthorizationGroup,
@Consumption.filter.hidden: true
@UI.hidden: true
_BusinessPartner.IsBusinessPurposeCompleted,
// _BusinessPartnerBankInc.BankName as BankName,
// _BusinessPartnerBankInc.BankCountryKey as BankCountryKey,
// _BusinessPartnerBankInc.BankNumber as BankNumber,
// _BusinessPartnerBankInc.BankAccount as BankAccount,
// _BusinessPartnerBankInc.IBAN as IBAN,
//
// _BusinessPartnerBankOut.BankName as BankNameOut,
// _BusinessPartnerBankOut.BankCountryKey as BankCountryKeyOut,
// _BusinessPartnerBankOut.BankNumber as BankNumberOut,
// _BusinessPartnerBankOut.BankAccount as BankAccountOut,
// _BusinessPartnerBankOut.IBAN as IBANOut,
//associations
_ContractPartner,
_BPCurrentDefaultAddress,
_CAHeader,
@UI.hidden: true
_ContrAcc,
_BusinessPartner
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESS_2",
"I_BPCURRENTDEFAULTADDRESS",
"I_BUSINESSPARTNER",
"I_COMPANYCODE",
"I_CONTRACTACCOUNTCATEGORY",
"I_CONTRACTACCOUNTCATEGORYTEXT",
"I_CONTRACTACCOUNTHEADER",
"I_CONTRACTACCOUNTPARTNER",
"I_COUNTRY",
"I_COUNTRYTEXT"
],
"ASSOCIATED":
[
"I_BPCURRENTDEFAULTADDRESS",
"I_BUSINESSPARTNER",
"I_CACONTRACTPARTNER",
"I_CONTRACTACCOUNTHEADER"
],
"BASE":
[
"I_CONTRACTACCOUNTPARTNER"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/