//@AbapCatalog.compiler.compareFilter: true
//@AbapCatalog.preserveKey: true
@AccessControl.personalData.blocking: #REQUIRED
@AccessControl.personalData.blockingIndicator: [ 'IsBusinessPurposeCompleted' ]
@AbapCatalog.viewEnhancementCategory: [#NONE]
//@AbapCatalog.sqlViewName : 'C360INTCONT'
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label : 'Customer 360 Internal Contact'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
serviceQuality: #X,
sizeCategory: #S,
dataClass: #MIXED
}
@VDM.viewType: #CONSUMPTION
define view entity C_Customer360InternalContact as
select from I_CustSalesPartnerFunc_2 as InternalContact
inner join C_PartnerFunctionUnconverted as _PartnerFunction on InternalContact.PartnerFunction = _PartnerFunction.PartnerFunction
and _PartnerFunction.SDDocumentPartnerType = 'PE'
association [1] to I_PersonWorkAgreement_1 as _WorkAgreement on $projection.Personnel = _WorkAgreement.PersonWorkAgreement
// association [1] to C_PartnerFunctionUnconverted as _PartnerFunction on $projection.PartnerFunction = _PartnerFunction.PartnerFunction
// association [1] to I_AddrCurDfltLandlinePhoneNmbr as _AddrCurDfltLandlinePhoneNmbr on $projection.AddressID = InternalContact.AddressID
// and InternalContact.AddressID != ''
//association [0..1] to I_AddrCurDfltMobilePhoneNumber as _AddrCurDfltMobilePhoneNumber on $projection.AddressID = InternalContact.AddressID
//association [0..1] to I_AddrCurDefaultEmailAddress as _AddrCurDefaultEmailAddress on $projection.AddressID = InternalContact.AddressID
// association [1] to I_PersonWorkplaceAddress as _PersonWorkplaceAddress on $projection.AddressID = InternalContact.AddressID
// and InternalContact.AddressID != ''
{
key InternalContact.Customer,
key InternalContact.PersonnelNumber as Personnel,
key _PartnerFunction.PartnerFunction,
case when _WorkAgreement.PersonFullName is initial
then cast ( _WorkAgreement._WorkforcePerson.LastName as ad_namtext )
else
_WorkAgreement.PersonFullName
end as BusinessPartnerFullName,
_WorkAgreement._WorkforcePerson._WorkplaceAddress.MblNormalizedPhoneNumber as InternationalMobilePhoneNumber,
_WorkAgreement._WorkforcePerson._WorkplaceAddress.NormalizedPhoneNumber as InternationalPhoneNumber,
_WorkAgreement._WorkforcePerson._WorkplaceAddress.DefaultEmailAddress as EmailAddress,
_PartnerFunction._Text[1:Language = $session.system_language ].PartnerFunctionName,
//DCL needs
InternalContact.SalesOrganization,
InternalContact.Division,
InternalContact.DistributionChannel,
InternalContact._CustomerSalesArea,
InternalContact._CustomerSalesArea._Customer.AuthorizationGroup
}
//where
//_PartnerFunction.SDDocumentPartnerType = 'PE'
//and
//InternalContact.Customer = 'TEST001'
/*+[internal] {
"BASEINFO":
{
"FROM ":
[
"C_PARTNERFUNCTIONUNCONVERTED",
"I_CUSTOMER",
"I_CUSTOMERSALESAREA",
"I_CUSTSALESPARTNERFUNC_2",
"I_PARTNERFUNCTIONTEXT",
"I_PERSONWORKAGREEMENT_1",
"I_WORKFORCEPERSON",
"I_WORKPLACEADDRESS"
],
"ASSOCIATED":
[
"I_CUSTOMERSALESAREA"
],
"BASE":
[
"I_CUSTSALESPARTNERFUNC_2"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Depth:
1
2
3
4
5
All
Reload
C_Customer360InternalContact view_entity