C_LCMContactsOrgValueHelp

DDL: C_LCMCONTACTSORGVALUEHELP SQL: CLCMCONTCTORGVH Type: view CONSUMPTION

Value Help for Contact Org. of BP

C_LCMContactsOrgValueHelp is a Consumption CDS View that provides data about "Value Help for Contact Org. of BP" in SAP S/4HANA. It reads from 1 data source (I_Customer) and exposes 34 fields with key fields Customer, CompanyCode. It has 3 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_Customer _Customer from

Associations (3)

CardinalityTargetAliasCondition
[0..*] I_BusinessPartnerCustCo _BusinessPartnerCustCo $projection.Customer = _BusinessPartnerCustCo.Customer
[0..*] I_CustomerCompany _CustomerCompany $projection.Customer = _CustomerCompany.Customer
[1..1] I_Customer_to_BusinessPartner _CustomerBusinessPartner $projection.Customer = _CustomerBusinessPartner.Customer

Annotations (16)

NameValueLevelField
AbapCatalog.sqlViewName CLCMCONTCTORGVH view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.preserveKey true view
VDM.viewType #CONSUMPTION view
Search.searchable true view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.representativeKey Customer view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.dataCategory #VALUE_HELP view
EndUserText.label Value Help for Contact Org. of BP view
Consumption.ranked true view

Fields (34)

KeyFieldSource TableSource FieldDescription
KEY Customer I_Customer Customer
KEY CompanyCode _CustomerCompany CompanyCode
BusinessPartner
BusinessPartnerName Business Partner Name
Country I_Customer Country
CityName I_Customer CityName
StreetName I_Customer StreetName
HouseNumber _StandardAddress HouseNumber
PostalCode I_Customer PostalCode
PhoneNumber
EmailAddresselseendasEmailAddress
LglCntntMCustomerFirstName
LglCntntMCustomerSecondName
LglCntntMCustomerOrgFirstName Name 1
LglCntntMCustomerOrgSecondName Name 2
LglCntntMCustomerGrpFirstName
LglCntntMCustomerGrpSecondName
_BusinessPartnerCustCo _BusinessPartnerCustCo
_CustomerCompany _CustomerCompany
_CustomerBusinessPartner _CustomerBusinessPartner
CustomerAccountGroup I_Customer CustomerAccountGroup
AuthorizationGroup I_Customer AuthorizationGroup
IsBusinessPurposeCompleted I_Customer IsBusinessPurposeCompleted
DataControllerSet I_Customer DataControllerSet
DataController1 I_Customer DataController1
DataController2 I_Customer DataController2
DataController3 I_Customer DataController3
DataController4 I_Customer DataController4
DataController5 I_Customer DataController5
DataController6 I_Customer DataController6
DataController7 I_Customer DataController7
DataController8 I_Customer DataController8
DataController9 I_Customer DataController9
DataController10 I_Customer DataController10
@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":""
}
}*/