@AbapCatalog.sqlViewName: 'CCAINVOVW_DISP'
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE
//@ObjectModel.representativeKey: 'CAInvoicingDocument'
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Fakturierungsübersicht für Vertr.konten'
@Consumption.semanticObject: 'ContractAccount'
@ObjectModel.modelCategory: #BUSINESS_OBJECT
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@AccessControl.personalData.blocking: #REQUIRED
@Search.searchable: true
@UI.headerInfo: {
typeName: 'Fakturierungsübersicht für Vertragskonto',
typeNamePlural: 'Vertragskonten',
title: {
type: #STANDARD,
value: 'ContractAccount'
}
}
//@UI.selectionVariant: {
//qualifier: 'ContractAccount',
//text: 'Contract Account Selektion',
//filter: 'ContractAccount = "000002119075" '
//}
@UI.presentationVariant.sortOrder: { by: 'ContractAccount', direction: #DESC }
define view C_CAInvcgOvwDisp
as select from I_ContractAccountPartner as _ContractAccountPartner
// UI FACETS
association [0..*] to C_CAInvcgOvwInvcgDocHeader as _CAInvcgOvwInvcgDocHeader on $projection.ContractAccount = _CAInvcgOvwInvcgDocHeader.ContractAccount
and $projection.BusinessPartner = _CAInvcgOvwInvcgDocHeader.BusinessPartner
association [0..*] to C_CAInvcgOvwBillgDocHeader as _CAInvcgOvwBillgDocHeader on $projection.ContractAccount = _CAInvcgOvwBillgDocHeader.ContractAccount
and $projection.BusinessPartner = _CAInvcgOvwBillgDocHeader.BusinessPartner
association [0..*] to C_CAInvcgOvwBillgPln as _CAInvcgOvwBillgPln on $projection.ContractAccount = _CAInvcgOvwBillgPln.ContractAccount
and $projection.BusinessPartner = _CAInvcgOvwBillgPln.BusinessPartner
association [0..*] to C_CAInvcgOvwBillgReq as _CAInvcgOvwBillgReq on $projection.ContractAccount = _CAInvcgOvwBillgReq.ContractAccount
and $projection.BusinessPartner = _CAInvcgOvwBillgReq.BusinessPartner
association [0..*] to C_CAInvcgDocContractAccount as _CAInvcgDocContractAccount on $projection.ContractAccount = _CAInvcgDocContractAccount.ContractAccount
association [0..*] to C_CAInvcgClrfctnCase as _CAInvcgClrfctnCase on $projection.ContractAccount = _CAInvcgClrfctnCase.ContractAccount
association [0..*] to C_CAInvcgDocReversalRequest as _CAInvcgDocReversalRequest on $projection.ContractAccount = _CAInvcgDocReversalRequest.ContractAccount
and $projection.BusinessPartner = _CAInvcgDocReversalRequest.BusinessPartner
association [0..*] to C_CAInvcgRequest as _CAInvcgRequest on $projection.ContractAccount = _CAInvcgRequest.ContractAccount
and $projection.BusinessPartner = _CAInvcgRequest.BusinessPartner
association [0..*] to C_CABillgDocReversalRequest as _CABillgDocReversalRequest on $projection.ContractAccount = _CABillgDocReversalRequest.ContractAccount
and $projection.BusinessPartner = _CABillgDocReversalRequest.BusinessPartner
association [0..*] to C_CABllbleItmReversalRequest as _CABllbleItmReversalRequest on $projection.ContractAccount = _CABllbleItmReversalRequest.ContractAccount
and $projection.BusinessPartner = _CABllbleItmReversalRequest.BusinessPartner
association [0..*] to C_CAInvcgOvwPrvdrContr as _CAInvcgOvwPrvdrContr on $projection.ContractAccount = _CAInvcgOvwPrvdrContr.ContractAccount
and $projection.BusinessPartner = _CAInvcgOvwPrvdrContr.BusinessPartner
association [0..*] to C_CAInvcgChargeAndDiscount as _CAInvcgChargeAndDiscount on $projection.ContractAccount = _CAInvcgChargeAndDiscount.ContractAccount
and $projection.BusinessPartner = _CAInvcgChargeAndDiscount.BusinessPartner
{
@UI.facet: [
{ purpose: #HEADER, type: #FIELDGROUP_REFERENCE, id: 'Block1', targetQualifier: 'Block1' },
{ purpose: #HEADER, type: #FIELDGROUP_REFERENCE, id: 'Block2', targetQualifier: 'Block2' },
{ purpose: #HEADER, type: #FIELDGROUP_REFERENCE, id: 'Block3', targetQualifier: 'Block3' },
{ purpose: #HEADER, type: #FIELDGROUP_REFERENCE, id: 'Block4', targetQualifier: 'Block4' },
{ purpose: #FILTER, type: #FIELDGROUP_REFERENCE, id: 'FurtherFilter', targetQualifier: 'FurtherFilter', label: 'Weitere Einstellungen' }
]
//VKONT
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.9 }
@UI.selectionField: { position: 20 }
@UI.fieldGroup: [ { qualifier: 'Block2', position: 10} ]
@UI.lineItem: { position: 20, importance: #HIGH}
@Consumption: {
semanticObject: 'ContractAccount',
valueHelpDefinition: [{
entity: { name: 'C_ContractAccountValueHelp', element: 'ContractAccount' },
additionalBinding: [{ element: 'BusinessPartner', localElement: 'BusinessPartner', usage: #FILTER_AND_RESULT }]
}]
}
@ObjectModel: {
text.element: [ 'ContractAccountName' ]
}
key _ContractAccountPartner.ContractAccount,
//GPART
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.9 }
@UI.selectionField: { position: 10 }
@UI.fieldGroup: [ { qualifier: 'Block1', position: 10} ]
@UI.lineItem: { position: 10, importance: #HIGH}
@ObjectModel.text.element: 'BusinessPartnerFullName'
@Consumption.semanticObject: 'CAContractPartner'
@Consumption.valueHelpDefinition: [{ entity: { name: 'C_CAContractPartnerValueHelp', element: 'BusinessPartner' }}]
key _ContractAccountPartner.BusinessPartner,
//GPART
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
@UI.fieldGroup: { qualifier: 'FurtherFilter' }
_BusinessPartner.FirstName,
@Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
@UI.fieldGroup: { qualifier: 'FurtherFilter'}
_BusinessPartner.LastName,
@UI.hidden: true
_BusinessPartner.BusinessPartnerFullName,
@UI.fieldGroup: [ { qualifier: 'Block1', position: 30 }, { qualifier: 'FurtherFilter'} ]
cast( concat_with_space(_BusinessPartner._CurrentDefaultAddress._StandardAddress.StreetName,
_BusinessPartner._CurrentDefaultAddress._StandardAddress.HouseNumber, 1)
as adress_gfn_kk preserving type ) as StreetName,
@UI.fieldGroup: [ { qualifier: 'Block1', position: 40 }, { qualifier: 'FurtherFilter'} ]
cast( concat_with_space(_BusinessPartner._CurrentDefaultAddress._StandardAddress.PostalCode,
_BusinessPartner._CurrentDefaultAddress._StandardAddress.CityName, 1)
as city_gfn_kk preserving type ) as AddressCityName,
@UI.fieldGroup: [ { qualifier: 'Block1', position: 50}, { qualifier: 'FurtherFilter'} ]
cast( _BusinessPartner._CurrentDefaultAddress._StandardAddress._Country._Text[1: Language=$session.system_language].CountryName
as country_gfn_kk preserving type ) as Country,
//VKONT
@UI.fieldGroup: { qualifier: 'FurtherFilter'}
_ContrAcc.ContractAccountName,
//INV_CATEGORY
@UI.fieldGroup: [ { qualifier: 'Block3', position: 10 }, { qualifier: 'FurtherFilter'} ]
@ObjectModel.foreignKey.association: '_CAInvcgCategory'
@Consumption: { valueHelp: '_CAInvcgCategory' }
_ContractAccountPartner.CAInvcgCategory,
//INV_SCHEDULE
@UI.fieldGroup: [ { qualifier: 'Block3',position: 20 }, { qualifier: 'FurtherFilter'} ]
@ObjectModel.foreignKey.association: '_CAInvcgSchedule'
@Consumption: { valueHelp: '_CAInvcgSchedule' }
_ContractAccountPartner.CAInvcgSchedule,
////FICA_INV_REASON
// @UI.fieldGroup: [ { qualifier: 'Block3', position: 30 } ]
// _ContractAccountPartner.
//INV_CURR
@UI.fieldGroup: [ { qualifier: 'Block3', position: 40 }, { qualifier: 'FurtherFilter'} ]
@ObjectModel.foreignKey.association: '_CurrencyForInvoicing'
@Consumption: { valueHelp: '_CurrencyForInvoicing' }
_ContractAccountPartner.CATargetCurrencyForInvoicing,
//INV_FORM_DET_KEY
@UI.fieldGroup: [ { qualifier: 'Block3', position: 50 }, { qualifier: 'FurtherFilter'} ]
_ContractAccountPartner.CADetnCodeForAltvInvoiceForm,
//INV_CYCLE
@UI.fieldGroup: [ { qualifier: 'Block4', position: 10 }, { qualifier: 'FurtherFilter'} ]
@ObjectModel.foreignKey.association: '_CABillgCycle'
@Consumption: { valueHelp: '_CABillgCycle' }
_ContractAccountPartner.CABillgCycle,
//INV_CYCLE_DAY
@UI.fieldGroup: [ { qualifier: 'Block4', position: 20 }, { qualifier: 'FurtherFilter'} ]
_ContractAccountPartner.CALastDayOfBillingPeriod,
//INV_CYCLE_START
@UI.fieldGroup: [ { qualifier: 'Block4', position: 30 }, { qualifier: 'FurtherFilter'} ]
_ContractAccountPartner.CAStartDateForBillingPeriod,
//CreationDate
@UI.fieldGroup: [ { qualifier: 'FurtherFilter'} ]
@Consumption.filter.selectionType: #INTERVAL
_ContractAccountPartner.CreationDate,
// @UI.hidden
// concat_with_space('Contract Account ', _ContractAccountPartner.ContractAccount,1 ) as AcademicTitleName,
@UI.hidden
_ContractAccountPartner.CAAuthorizationGroup,
@UI.hidden
_ContractAccountPartner.CAStandardCompanyCode,
// Make association public
@Consumption.filter.hidden: true
_ContrAcc as _ContractAccountHeader,
@Consumption.filter.hidden: true
_BusinessPartner,
@Consumption.filter.hidden: true
_CAInvcgOvwInvcgDocHeader,
@Consumption.filter.hidden: true
_CAInvcgOvwBillgDocHeader,
@Consumption.filter.hidden: true
_CAInvcgOvwBillgPln,
@Consumption.filter.hidden: true
_CAInvcgOvwBillgReq,
@Consumption.filter.hidden: true
_CAInvcgDocContractAccount,
@Consumption.filter.hidden: true
_CAInvcgOvwPrvdrContr,
@Consumption.filter.hidden: true
_CAInvcgChargeAndDiscount,
@Consumption.filter.hidden: true
_CAInvcgClrfctnCase,
@Consumption.filter.hidden: true
_CAInvcgDocReversalRequest,
@Consumption.filter.hidden: true
_CABillgDocReversalRequest,
@Consumption.filter.hidden: true
_CABllbleItmReversalRequest,
@Consumption.filter.hidden: true
_InvcgCategory as _CAInvcgCategory,
@Consumption.filter.hidden: true
_InvcgSchedule as _CAInvcgSchedule,
@Consumption.filter.hidden: true
_BillgCycle as _CABillgCycle,
@Consumption.filter.hidden: true
_CurrencyForInvoicing,
@Consumption.filter.hidden: true
_ContrAcc,
@Consumption.filter.hidden: true
_CAInvcgRequest
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESS",
"I_BPCURRENTDEFAULTADDRESS",
"I_BUSINESSPARTNER",
"I_CONTRACTACCOUNTHEADER",
"I_CONTRACTACCOUNTPARTNER",
"I_COUNTRY",
"I_COUNTRYTEXT"
],
"ASSOCIATED":
[
"C_CABILLGDOCREVERSALREQUEST",
"C_CABLLBLEITMREVERSALREQUEST",
"C_CAINVCGCHARGEANDDISCOUNT",
"C_CAINVCGCLRFCTNCASE",
"C_CAINVCGDOCCONTRACTACCOUNT",
"C_CAINVCGDOCREVERSALREQUEST",
"C_CAINVCGOVWBILLGDOCHEADER",
"C_CAINVCGOVWBILLGPLN",
"C_CAINVCGOVWBILLGREQ",
"C_CAINVCGOVWINVCGDOCHEADER",
"C_CAINVCGOVWPRVDRCONTR",
"C_CAINVCGREQUEST",
"I_BUSINESSPARTNER",
"I_CABILLGCYCLE",
"I_CAINVCGCATEGORY",
"I_CAINVCGSCHEDULE",
"I_CONTRACTACCOUNTHEADER",
"I_CURRENCY"
],
"BASE":
[
"I_CONTRACTACCOUNTPARTNER"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/