I_BUSINESSPARTNERCONTACT

CDS View

Business Partner Contact

I_BUSINESSPARTNERCONTACT is a CDS View in S/4HANA. Business Partner Contact. It contains 37 fields. 9 CDS views read from this table.

CDS Views using this table (9)

ViewTypeJoinVDMDescription
C_NL_SAFTBusinessPartner view left_outer CONSUMPTION SAF-T NL Business Partner
C_NO_SAFTGenLedgerCustContacts view from CONSUMPTION SAF-T Norway Customer Contacts
C_NO_SAFTGenLedgerSuplrCntcts view from CONSUMPTION SAF-T Norway Supplier Contacts
I_CustomerContact view from COMPOSITE CustomerContact
I_QuickCreateContactTP view from TRANSACTIONAL Quick create of contact person TP View
I_SrcgProjQtnPotntlSuplrCntct view_entity from COMPOSITE Potential Supplier Contact in SPQtn
I_Suppliercontact view from COMPOSITE SupplierContact
P_NL_SAFTBusinessPartnerCntct view inner COMPOSITE
P_SlsDocFlfmtSDDocContacts1 view inner CONSUMPTION

Fields (37)

KeyField CDS FieldsUsed in Views
KEY BusinessPartnerCompany BusinessPartner,BusinessPartnerCompany,BusinessPartnerForEdit 5
KEY BusinessPartnerPerson BusinessPartnerPerson,BusinessPartnerPersonForEdit,CustomerContact 7
KEY RelationshipNumber RelationshipNumber,RelationshipNumberForEdit 5
KEY ValidityEndDate ValidityEndDate 4
_BusinessPartnerCompany _BusinessPartnerCompany 4
_BusinessPartnerPerson _BusinessPartnerPerson 5
_CntctPersnDeptValueHelp _CntctPersnDeptValueHelp 2
_ContactPersonDepartment _ContactPersonDepartment 2
_ContactPersonFunction _ContactPersonFunction 2
_StandardAddress _StandardAddress 3
AddressID AddressID 3
AuthorizationGroup AuthorizationGroup 3
BusinessPartnerName BusinessPartnerName 2
ContactPersonDepartment ContactPersonDepartment 5
ContactPersonFunction ContactPersonFunction 4
EmailAddress EmailAddress 6
FaxCountry FaxCountry 2
FaxNumber FaxNumber 4
FaxNumberExtension FaxNumberExtension 2
FirstName FirstName 5
FormOfAddress FormOfAddress 3
InternationalFaxNumber InternationalFaxNumber 2
InternationalMobilePhoneNumber InternationalMobilePhoneNumber 2
InternationalPhoneNumber InternationalPhoneNumber 3
IsBusinessPurposeCompleted IsBusinessPurposeCompleted 2
IsDefaultAddress IsDefaultAddress 1
IsStandardRelationship IsStandardRelationship 2
LastName LastName 5
MobilePhoneCountry MobilePhoneCountry 2
MobilePhoneNumber MobilePhoneNumber 4
MobilePhoneNumberExtension MobilePhoneNumberExtension 2
PartnerUUID BusinessPartnerUUID,PartnerUUID 4
PersonUUID PersonUUID 5
PhoneNumber PhoneNumber 5
PhoneNumberCountry PhoneNumberCountry 3
PhoneNumberExtension PhoneNumberExtension 3
ValidityStartDate ValidityStartDate 2
@EndUserText.label: 'Business Partner Contact' //same as DDL description

@Analytics.dataCategory: #DIMENSION //or #CUBE or #FACT

@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.sqlViewName: 'I_BP_CONTACTS' //must start with "I"

@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.representativeKey:'RelationshipNumber'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.personalData.blocking: #REQUIRED
@Metadata.allowExtensions: true

define view I_BusinessPartnerContact //must start with "I_"; same as DDL source name in upper-camelcase notation

  as select from I_BPContact //P_BusinessPartnerContacts

  association [1..1] to I_BusinessPartner         as _BusinessPartnerCompany  on _BusinessPartnerCompany.BusinessPartner = $projection.BusinessPartnerCompany
  association [1..1] to I_BusinessPartner         as _BusinessPartnerPerson   on _BusinessPartnerPerson.BusinessPartner = $projection.BusinessPartnerPerson
  association [1..1] to I_ContactPersondepartment as _ContactPersonDepartment on _ContactPersonDepartment.ContactPersonDepartment = $projection.contactpersondepartment
  association [1..1] to I_ContactPersonFunction   as _ContactPersonFunction   on _ContactPersonFunction.ContactPersonFunction = $projection.contactpersonfunction
{
  key I_BPContact.RelationshipNumber,
      @ObjectModel.foreignKey.association: '_BusinessPartnerCompany'
  key I_BPContact.BusinessPartnerCompany,
      @ObjectModel.foreignKey.association: '_BusinessPartnerPerson'
  key I_BPContact.BusinessPartnerPerson,
  key I_BPContact.ValidityEndDate,
      I_BPContact.ValidityStartDate,
      I_BPContact.IsStandardRelationship,

      I_BPContact._BusinessPartnerPerson.FormOfAddress,
      I_BPContact._BusinessPartnerPerson.FirstName,
      I_BPContact._BusinessPartnerPerson.LastName,
      I_BPContact._BusinessPartnerPerson.BirthDate,      
      @VDM.lifecycle.status: 'DEPRECATED'
      @VDM.lifecycle.successor: 'BPContactPersonFunction'
      I_BPContact._ContactRelationship.ContactPersonFunction,
      I_BPContact._ContactRelationship.BPContactPersonFunction,
      I_BPContact._ContactRelationship.ContactPersonDepartment,
      I_BPContact._ContactRelationship.ContactPersonVIPType,
      I_BPContact._ContactRelationship.ContactPersonAuthorityType,
      I_BPContact._ContactRelationship.ContactPersonRemarkText,
      I_BPContact._ContactAddress.Floor,
      I_BPContact._ContactAddress.Building,
      I_BPContact._ContactAddress.RoomNumber,
      I_BPContact._ContactAddress.InternationalPhoneNumber,
      I_BPContact. _ContactAddress.PhoneNumberCountry,
      case
        when _BusinessPartnerCompany.BusinessPartnerCategory = '1'
          then I_BPContact._ContactRelationship.PhoneNumber
        when _BusinessPartnerCompany.BusinessPartnerCategory != '1' and I_BPContact._ContactAddress.PhoneNumber is not null
          then I_BPContact._ContactAddress.PhoneNumber
        when _BusinessPartnerCompany.BusinessPartnerCategory != '1' and I_BPContact._ContactAddress.PhoneNumber is null
          then I_BPContact._ContactRelationship.PhoneNumber
      end as PhoneNumber,
      I_BPContact._ContactRelationship.PhoneNumberExtension,
      I_BPContact._ContactAddress.InternationalMobilePhoneNumber,
      I_BPContact._ContactAddress.MobilePhoneCountry,
      I_BPContact._ContactAddress.MobilePhoneNumber,
      I_BPContact._ContactAddress.MobilePhoneNumberExtension,
      I_BPContact._ContactAddress.FaxCountry,
      I_BPContact._ContactAddress.InternationalFaxNumber,
      I_BPContact._ContactRelationship.FaxNumber,
      I_BPContact._ContactRelationship.FaxNumberExtension,
      I_BPContact._ContactRelationship.EmailAddress,
      I_BPContact._ContactAddress.AuthorizationGroup,
      I_BPContact._ContactAddress.IsBusinessPurposeCompleted,
      I_BPContact._ContactAddress.IsDefaultAddress,
      _BusinessPartnerPerson.BusinessPartnerName                  as             BusinessPartnerName,

      I_BPContact._BusinessPartnerCompany.BusinessPartnerUUID     as             PartnerUUID,
      I_BPContact._BusinessPartnerPerson.BusinessPartnerUUID      as             PersonUUID,
      _BusinessPartnerPerson._CurrentDefaultAddress.AddressID,       //required for _BusinessPartnerPerson._CurrentDefaultAddress._StandardAddress association


      /* Associations */
      _BusinessPartnerCompany,
      _BusinessPartnerPerson,
      _ContactPersonDepartment,
      _ContactPersonFunction,
      I_BPContact._ContactRelationship._CntctPersnFuncValueHelp,
      I_BPContact._ContactRelationship._ContactPersonFunctionText,
      I_BPContact._ContactRelationship._CntctPersnDeptValueHelp,
      I_BPContact._ContactRelationship._ContactPersonDepartmentText,
      _BusinessPartnerPerson._CurrentDefaultAddress._StandardAddress //This will have the current default address of contact person.

      //Consumer of the view should use this association to get the address fields


      /* Associations targets to be moved to I_* */
      //P_Businesspartnerpcontacts._Bpcontacts_Address,

      //P_Businesspartnerpcontacts._Bpcontacts_Data,

      //P_Businesspartnerpcontacts._Bpcontacts_Func_Dept

      //_TargetPublicBasicViewNameWithoutPrefix //expose the association for use by consumers


}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BPCONTACT",
"I_BPCONTACTTOADDRESS",
"I_BPCONTACTTOFUNCANDDEPT",
"I_BPCURRENTDEFAULTADDRESS",
"I_BUSINESSPARTNER"
],
"ASSOCIATED":
[
"I_ADDRESS",
"I_BUSINESSPARTNER",
"I_CONTACTPERSONDEPARTMENT",
"I_CONTACTPERSONDEPARTMENTT",
"I_CONTACTPERSONFUNCTION",
"I_CONTACTPERSONFUNCTIONT"
],
"BASE":
[
"I_BPCONTACTTOFUNCANDDEPT",
"I_BPCURRENTDEFAULTADDRESS"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/