@AbapCatalog.sqlViewName: 'IBPPOPOVER'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@EndUserText.label: 'Business Partner PopOver reuse component'
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations:true
define view I_BusinessPartnerPopOver
as select from I_BusinessPartner as BusinessPartner
association [0..1] to I_Supplier_to_BusinessPartner as _SupplLink on $projection.BusinessPartnerUUID = _SupplLink.BusinessPartnerUUID
association [0..1] to I_Customer_to_BusinessPartner as _CustLink on $projection.BusinessPartnerUUID = _CustLink.BusinessPartnerUUID
association [0..1] to C_BPGroupingTextVhTemp as _BusinessPartnerGroupingText on $projection.BusinessPartnerGrouping = _BusinessPartnerGroupingText.BusinessPartnerGrouping
and _BusinessPartnerGroupingText.Language = $session.system_language
/* association [0..1] to C_IndustryTextVHTemp as _IndustryText on $projection.Industry = _IndustryText.IndustrySector
and _IndustryText.Language = $session.system_language */
association [0..1] to I_CountryText as _CountryText on $projection.country = _CountryText.Country
and _CountryText.Language = $session.system_language
{
key BusinessPartner.BusinessPartner,
_CustLink.Customer,
_SupplLink.Supplier,
BusinessPartner.BusinessPartnerUUID,
BusinessPartner.BusinessPartnerCategory,
BusinessPartner.BusinessPartnerName,
BusinessPartner.BusinessPartnerFullName,
BusinessPartner.CreatedByUser,
BusinessPartner.CreationDate,
BusinessPartner.CreationTime,
BusinessPartner.FirstName,
BusinessPartner.LastName,
BusinessPartner.PersonFullName,
BusinessPartner.OrganizationBPName1,
BusinessPartner.OrganizationBPName2,
BusinessPartner.OrganizationBPName3,
BusinessPartner.OrganizationBPName4,
BusinessPartner.AuthorizationGroup,
BusinessPartner.IsBusinessPurposeCompleted,
BusinessPartner.NameCountry,
BusinessPartner.BusinessPartnerGrouping,
//Provided as a facet from but0is
//BusinessPartner.Industry,
case when BusinessPartner.IsNaturalPerson = 'X'
then cast ('Yes' as char3)
else cast('No' as char3)
end as IsNaturalPerson,
// BusinessPartner.IsNaturalPerson,
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.Country,
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.CityName as CityName,
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.PostalCode as PostalCode,
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.Region,
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.StreetName as StreetName,
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.HouseNumber as HouseNumber,
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation._CurrentDfltLandlinePhoneNmbr.PhoneAreaCodeSubscriberNumber as PhoneNumber,
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation._CurrentDfltLandlinePhoneNmbr.PhoneExtensionNumber as PhoneNumberExtension,
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation._CurrentDfltLandlinePhoneNmbr.InternationalPhoneNumber as InternationalPhoneNumber,
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation._CurrentDfltMobilePhoneNumber.InternationalPhoneNumber as InternationalMobilePhoneNumber,
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation._CurrentDfltFaxNumber.InternationalFaxNumber as InternationalFaxNumber,
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation._CurrentDfltEmailAddress.EmailAddress as EmailAddress,
BusinessPartner._CurrentDefaultAddress.BPAddressIsProtected,
// BusinessPartner._CurrentDefaultAddress._Address._Country._Text.CountryName,
//HasSupplier and HasCustomer flags are set when the BusinessPartner has supplier or customer roles respectively
case when _SupplLink.BusinessPartnerUUID=BusinessPartner.BusinessPartnerUUID
then cast ('X' as boole_d)
else cast(' ' as boole_d)
end as HasSupplierRole,
case when _CustLink.BusinessPartnerUUID=BusinessPartner.BusinessPartnerUUID
then cast ('X' as boole_d)
else cast(' ' as boole_d)
end as HasCustomerRole,
case
when BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.HouseNumber='' and BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.StreetName='' and BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.CityName='' and BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.PostalCode=''
then BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.HouseNumber
else
case when BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.HouseNumber='' and BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.StreetName=''
then concat_with_space(BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.PostalCode,BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.CityName,1)
else
concat_with_space(BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.HouseNumber, concat(BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.StreetName, concat_with_space(',',concat_with_space(BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.PostalCode, BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation.CityName,1),1)),1)
end
end as FormattedAddress,
//concat_with_space(_IndustryText.IndustryKeyDescription,concat('(',concat(Industry,')')),1) as IndustryName,
concat_with_space(_BusinessPartnerGroupingText.BusinessPartnerGroupingText,concat('(',concat(BusinessPartnerGrouping,')')),1) as BusinessPartnerGroupingText,
// concat(BusinessPartner._CurrentDefaultAddress._Address._Country._Text.CountryName,concat('(',concat(BusinessPartner._CurrentDefaultAddress._Address.Country,')'))) as CountryName,
// concat(_CountryText.CountryName,concat('(',concat(BusinessPartner._CurrentDefaultAddress._Address.Country,')'))) as CountryName,
// _CountryText.CountryName,
//added only for DCL check
@UI.hidden: true
@Consumption.filter.hidden: true
BusinessPartner.DataController1,
//added only for DCL check
@UI.hidden: true
@Consumption.filter.hidden: true
BusinessPartner.DataController2,
//added only for DCL check
@UI.hidden: true
@Consumption.filter.hidden: true
BusinessPartner.DataController3,
//added only for DCL check
@UI.hidden: true
@Consumption.filter.hidden: true
BusinessPartner.DataController4,
//added only for DCL check
@UI.hidden: true
@Consumption.filter.hidden: true
BusinessPartner.DataController5,
//added only for DCL check
@UI.hidden: true
@Consumption.filter.hidden: true
BusinessPartner.DataController6,
//added only for DCL check
@UI.hidden: true
@Consumption.filter.hidden: true
BusinessPartner.DataController7,
//added only for DCL check
@UI.hidden: true
@Consumption.filter.hidden: true
BusinessPartner.DataController8,
//added only for DCL check
@UI.hidden: true
@Consumption.filter.hidden: true
BusinessPartner.DataController9,
//added only for DCL check
@UI.hidden: true
@Consumption.filter.hidden: true
BusinessPartner.DataController10,
//added only for DCL check
@UI.hidden: true
@Consumption.filter.hidden: true
BusinessPartner.DataControllerSet,
_CustLink,
_SupplLink,
_BusinessPartnerGroupingText,
_CountryText
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"C_BPGROUPINGTEXTVHTEMP",
"I_ADDRCURDEFAULTEMAILADDRESS",
"I_ADDRCURDEFAULTFAXNUMBER",
"I_ADDRCURDFLTLANDLINEPHONENMBR",
"I_ADDRCURDFLTMOBILEPHONENUMBER",
"I_ADDRESS_2",
"I_BPCURRENTDEFAULTADDRESS",
"I_BUSINESSPARTNER",
"I_CUSTOMER_TO_BUSINESSPARTNER",
"I_SUPPLIER_TO_BUSINESSPARTNER"
],
"ASSOCIATED":
[
"C_BPGROUPINGTEXTVHTEMP",
"I_COUNTRYTEXT",
"I_CUSTOMER_TO_BUSINESSPARTNER",
"I_SUPPLIER_TO_BUSINESSPARTNER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/