C_ChmlSuplrMatlSupplierContact is a Consumption CDS View that provides data about "Contact Data of Supplier" in SAP S/4HANA. It reads from 1 data source (I_BusinessPartner) and exposes 22 fields. It has 1 association to related views.
@EndUserText.label: 'Contact Data of Supplier'
@AbapCatalog:
{
sqlViewName: 'CCSMSUPLRCONTACT',
compiler.compareFilter: true,
preserveKey: true
}@AccessControl:
{
authorizationCheck: #CHECK,
// blocking of personal data required because of link to business partner / supplier
personalData.blocking: #REQUIRED
}@ClientHandling.algorithm: #SESSION_VARIABLE@Metadata: {
allowExtensions: true
}@VDM.viewType: #CONSUMPTION@ObjectModel:
{
usageType:
{
dataClass: #MIXED,
sizeCategory: #XL,
serviceQuality: #C
},
semanticKey: [ 'BusinessPartnerSupplier' ]
}
--Search
@Search.searchable : truedefineview C_ChmlSuplrMatlSupplierContact
--Select data from business partner
asselectfrom I_BusinessPartner as BusinessPartner
leftouter to one join I_BusinessPartnerSupplier as BusinessPartnerSupplier on BusinessPartner.BusinessPartner = BusinessPartnerSupplier.BusinessPartner
-- association to supplier needed for DCL
association [1..1] to I_Supplier as _Supplier on _Supplier.Supplier = $projection.BusinessPartnerSupplier
{
--Supplier/Business Partner ID
@ObjectModel.text.element: [ 'Supplier' ]@Semantics.contact.type: #ORGANIZATION//@UI.textArrangement: #TEXT_FIRSTkeycast(BusinessPartner.BusinessPartner as ehfnd_bupa_supplier preserving type ) as BusinessPartnerSupplier,
--Company Name and Supplier ID
// used via AS_CONTACT in contact popup
@Semantics.name.fullName: true
BusinessPartner.BusinessPartnerFullName as Supplier,
--Company Name
// used via AS_CONTACT in contact popup
// can not be used for searching because of calculation
@Semantics.name.fullName: true
BusinessPartner.BusinessPartnerFullName as BusinessPartnerCompany,
// part of BusinessPartnerFullName, only needed for searching
BusinessPartner.OrganizationBPName1,
// part of BusinessPartnerFullName, only needed for searching
BusinessPartner.OrganizationBPName2,
--Phone Number
// used via AS_CONTACT in contact popup
@Semantics.telephone.type: [ #WORK, #PREF ]
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation._CurrentDfltLandlinePhoneNmbr.PhoneAreaCodeSubscriberNumber as PhoneNumber,
--E-Mail adress
// used via AS_CONTACT in contact popup
@Semantics.eMail.type: [ #PREF, #WORK ]
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation._CurrentDfltEmailAddress.EmailAddress,
--Fax number
// used via AS_CONTACT in contact popup
@Semantics.telephone.type: [ #FAX ]
BusinessPartner._CurrentDefaultAddress._AddressDefaultRepresentation._CurrentDfltFaxNumber.FaxAreaCodeSubscriberNumber as FaxNumber,
--Address
@Semantics.address.street: true
BusinessPartner._CurrentDefaultAddress._StandardAddress.StreetName,
@Semantics.address.number: true
BusinessPartner._CurrentDefaultAddress._StandardAddress.HouseNumber,
@Semantics.address.zipCode: true
BusinessPartner._CurrentDefaultAddress._StandardAddress.PostalCode,
@Semantics.address.city: true
BusinessPartner._CurrentDefaultAddress._StandardAddress.CityName,
@Semantics.address.country: true
BusinessPartner._CurrentDefaultAddress._StandardAddress._Country._Text[1: Language = $session.system_language ].CountryName,
// Authorization data used for DCL
@UI.hidden: true@Consumption.hidden: true
BusinessPartner.DataControllerSet as DataControllerSet,
@UI.hidden: true@Consumption.hidden: true
BusinessPartner.DataController1 as DataController1,
@UI.hidden: true@Consumption.hidden: true
BusinessPartner.DataController2 as DataController2,
@UI.hidden: true@Consumption.hidden: true
BusinessPartner.DataController3 as DataController3,
@UI.hidden: true@Consumption.hidden: true
BusinessPartner.DataController4 as DataController4,
@UI.hidden: true@Consumption.hidden: true
BusinessPartner.DataController5 as DataController5,
@UI.hidden: true@Consumption.hidden: true
BusinessPartner.DataController6 as DataController6,
@UI.hidden: true@Consumption.hidden: true
BusinessPartner.DataController7 as DataController7,
@UI.hidden: true@Consumption.hidden: true
BusinessPartner.DataController8 as DataController8,
@UI.hidden: true@Consumption.hidden: true
BusinessPartner.DataController9 as DataController9,
@UI.hidden: true@Consumption.hidden: true
BusinessPartner.DataController10 as DataController10,
_Supplier
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRCURDEFAULTEMAILADDRESS",
"I_ADDRCURDEFAULTFAXNUMBER",
"I_ADDRCURDFLTLANDLINEPHONENMBR",
"I_ADDRESS",
"I_ADDRESS_2",
"I_BPCURRENTDEFAULTADDRESS",
"I_BUSINESSPARTNER",
"I_BUSINESSPARTNERSUPPLIER",
"I_COUNTRY",
"I_COUNTRYTEXT"
],
"ASSOCIATED":
[
"I_SUPPLIER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/