@AbapCatalog.sqlViewName : 'CLCMCONTCTORGVH'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.preserveKey:true
@VDM.viewType: #CONSUMPTION
@Search.searchable: true
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel: { semanticKey: [ 'Customer', 'CompanyCode' ],
representativeKey: 'Customer',
usageType.serviceQuality: #C,
usageType.sizeCategory: #XL,
usageType.dataClass: #MASTER,
dataCategory: #VALUE_HELP }
@EndUserText.label : 'Value Help for Contact Org. of BP'
@Consumption.ranked: true
define view C_LCMContactsOrgValueHelp
as select from I_Customer as _Customer
left outer to one join I_Address_2 as _StandardAddress on _StandardAddress.AddressID = _Customer.AddressID
and _StandardAddress.AddressRepresentationCode is initial
// left outer to one join I_Address as _StandardAddress on _Customer.AddressID = _StandardAddress.AddressID
left outer to one join I_AddressWorkplaceDetails as _BusinessAddress on _BusinessAddress.AddressID = _StandardAddress.AddressID
and _BusinessAddress.AddressRepresentationCode = ' '
and _BusinessAddress.PersonAddressObjectType = 'P'
left outer to one join I_AddressEmailAddress as _DefaultEmailAddress on _DefaultEmailAddress.AddressID = _Customer.AddressID
and _DefaultEmailAddress.Person = ' '
and _DefaultEmailAddress.IsDefaultEmailAddress = 'X'
left outer to one join I_AddressEmailAddress as _DefaultEmailAddr on _DefaultEmailAddr.AddressID = _Customer.AddressID
and _DefaultEmailAddr.Person = _BusinessAddress.AddressPersonID
and _DefaultEmailAddr.IsDefaultEmailAddress = 'X'
// left outer to one join I_Customer_to_BusinessPartner as _CustomerBP on _Customer.Customer = _CustomerBP.Customer
// left outer to one join I_BusinessPartnerAddress as _BusPartAddress on _Customer.BusinessPartner = _BusPartAddress.BusinessPartner //_CustomerBP._BusinessPartner.BusinessPartner
//
// inner join I_Businesspartneraddressusage on I_Businesspartneraddressusage.BusinessPartner = _BusPartAddress.BusinessPartner
// and I_Businesspartneraddressusage.AddressNumber = _BusPartAddress.AddressNumber
//
// and I_Businesspartneraddressusage.AddressUsage = 'XXDEFAULT'
// and I_Businesspartneraddressusage.ValidityStartDate <= tstmp_current_utctimestamp()
//
// and I_Businesspartneraddressusage.ValidityEndDate >= tstmp_current_utctimestamp()
association [0..*] to I_BusinessPartnerCustCo as _BusinessPartnerCustCo on $projection.Customer = _BusinessPartnerCustCo.Customer
association [0..*] to I_CustomerCompany as _CustomerCompany on $projection.Customer = _CustomerCompany.Customer
association [1..1] to I_Customer_to_BusinessPartner as _CustomerBusinessPartner on $projection.Customer = _CustomerBusinessPartner.Customer
// association [1..1] to I_BusinessPartnerAddress as _BusPartAddress on $projection.BusinessPartner = _BusPartAddress.BusinessPartner
{
@ObjectModel.text.element: ['BusinessPartnerName']
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold : 0.7
@Search.ranking: #HIGH
@UI.selectionField: [{ position: 10 }]
@UI.lineItem: [{ position: 10 }]
@ObjectModel.sort.enabled: true
key _Customer.Customer,
@Search: { defaultSearchElement: true , ranking: #HIGH, fuzzinessThreshold: 0.7 }
@UI.selectionField: [{ position: 50 }]
@UI.lineItem: [{ position: 50 }]
key _CustomerCompany.CompanyCode as CompanyCode,
@UI.selectionField: [{ position: 30 }]
@UI.lineItem: [{ position: 30 }]
_CustomerBusinessPartner._BusinessPartner.BusinessPartner as BusinessPartner,
@Semantics.text: true
@UI.selectionField: [{ position: 40 }]
@UI.lineItem: [{ position: 40 }]
@EndUserText.label : 'Business Partner Name'
_CustomerBusinessPartner._BusinessPartner.BusinessPartnerName as BusinessPartnerName,
@UI.selectionField: [{ position: 60 }]
@UI.lineItem: [{ position: 60 }]
_Customer.Country as Country,
@UI.selectionField: [{ position: 70 }]
@UI.lineItem: [{ position: 70 }]
_Customer.CityName as CityName,
@UI.selectionField: [{ position: 80 }]
@UI.lineItem: [{ position: 80 }]
_Customer.StreetName as StreetName,
@UI.selectionField: [{ position: 90 }]
@UI.lineItem: [{ position: 90 }]
_StandardAddress.HouseNumber as HouseNumber,
@UI.selectionField: [{ position: 100 }]
@UI.lineItem: [{ position: 100 }]
_Customer.PostalCode as PostalCode,
@UI.selectionField: [{ position: 110 }]
@UI.lineItem: [{ position: 110 }]
_StandardAddress._CurrentDfltLandlinePhoneNmbr.PhoneAreaCodeSubscriberNumber as PhoneNumber,
@UI.selectionField: [{ position: 120 }]
@UI.lineItem: [{ position: 120 }]
case
when _DefaultEmailAddress.EmailAddress is not initial
then _DefaultEmailAddress.EmailAddress
when _DefaultEmailAddr.EmailAddress is not initial
then _DefaultEmailAddr.EmailAddress
else '' end as EmailAddress,
// Added for Fuzzy Search Capabilities
// In the I_BusinessPartner CDS View , BusinessPartnerName is calcuated using CASE and CONCAT
// Hence, Fuzzy Search can't be enabled for BusinessPartnerName field.
// As an altreanative, enabling the fuzzy search on following fields.
// BEGIN OF FUZZY SEARCH RELATED FIELDS
// For Customer Name
@UI.hidden: true
@Search: { defaultSearchElement: true , ranking: #LOW, fuzzinessThreshold: 0.7 }
_CustomerBusinessPartner._BusinessPartner.FirstName as LglCntntMCustomerFirstName,
@UI.hidden: true
@Search: { defaultSearchElement: true , ranking: #LOW, fuzzinessThreshold: 0.7 }
_CustomerBusinessPartner._BusinessPartner.LastName as LglCntntMCustomerSecondName,
@UI.hidden: true
// @UI.selectionField: [{ position: 130 }]
// @UI.lineItem: [{ position: 130 }]
@Search: { defaultSearchElement: true , ranking: #LOW, fuzzinessThreshold: 0.7 }
@EndUserText.label : 'Name 1'
_CustomerBusinessPartner._BusinessPartner.OrganizationBPName1 as LglCntntMCustomerOrgFirstName,
@UI.hidden: true
// @UI.selectionField: [{ position: 140 }]
// @UI.lineItem: [{ position: 140 }]
@Search: { defaultSearchElement: true , ranking: #LOW, fuzzinessThreshold: 0.7 }
@EndUserText.label : 'Name 2'
_CustomerBusinessPartner._BusinessPartner.OrganizationBPName2 as LglCntntMCustomerOrgSecondName,
@UI.hidden: true
@Search: { defaultSearchElement: true , ranking: #LOW, fuzzinessThreshold: 0.7 }
_CustomerBusinessPartner._BusinessPartner.GroupBusinessPartnerName1 as LglCntntMCustomerGrpFirstName,
@UI.hidden: true
@Search: { defaultSearchElement: true , ranking: #LOW, fuzzinessThreshold: 0.7 }
_CustomerBusinessPartner._BusinessPartner.GroupBusinessPartnerName2 as LglCntntMCustomerGrpSecondName,
// END OF FUZZY SEARCH RELATED FIELDS
//
// @UI.selectionField: [{ position: 150 }]
// @UI.lineItem: [{ position: 150 }]
// @EndUserText.label : 'Valid From '
// tstmp_to_dats(_BusPartAddress.ValidityStartDate,'UTC', $session.client, 'NULL ') as AddressValidityStartDate,
// // _BusPartAddress.ValidityStartDate as AddressValidityStartDate,
//
// @UI.selectionField: [{ position: 160 }]
// @UI.lineItem: [{ position: 160 }]
// @EndUserText.label : 'Valid To'
// tstmp_to_dats(_BusPartAddress.ValidityEndDate,'UTC', $session.client, 'NULL ') as AddressValidityEndDate,
@UI.hidden: true
@Consumption.filter .hidden: true
_BusinessPartnerCustCo,
@UI.hidden: true
@Consumption.filter .hidden: true
_CustomerCompany,
@UI.hidden: true
@Consumption.filter .hidden: true
_CustomerBusinessPartner,
// @UI.hidden: true
// @Consumption.filter .hidden: true
// _BusPartAddress,
//Added below fields for DCL checks
@UI.hidden: true
@Consumption.filter .hidden: true
_Customer.CustomerAccountGroup as CustomerAccountGroup,
@UI.hidden: true
_Customer.AuthorizationGroup as AuthorizationGroup,
@UI.hidden: true
@Semantics.booleanIndicator :true
_Customer.IsBusinessPurposeCompleted as IsBusinessPurposeCompleted,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
_Customer.DataControllerSet,
@Consumption.hidden:true
@UI.hidden:true
_Customer.DataController1,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
_Customer.DataController2,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
_Customer.DataController3,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
_Customer.DataController4,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
_Customer.DataController5,
@Consumption.hidden:true
@UI.hidden:true
_Customer.DataController6,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
_Customer.DataController7,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
_Customer.DataController8,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
_Customer.DataController9,
//added only for DCL check
@Consumption.hidden:true
@UI.hidden:true
_Customer.DataController10
}
/*+[internal] {
"BASEINFO":
{
"FROM ":
[
"I_ADDRCURDFLTLANDLINEPHONENMBR",
"I_ADDRESSEMAILADDRESS",
"I_ADDRESSWORKPLACEDETAILS",
"I_ADDRESS_2",
"I_BUSINESSPARTNER",
"I_CUSTOMER",
"I_CUSTOMERCOMPANY",
"I_CUSTOMER_TO_BUSINESSPARTNER"
],
"ASSOCIATED":
[
"I_BUSINESSPARTNERCUSTCO",
"I_CUSTOMERCOMPANY",
"I_CUSTOMER_TO_BUSINESSPARTNER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Depth:
1
2
3
4
5
All
Reload
C_LCMContactsOrgValueHelp view