P_BusinessPartnerTranspIATA

DDL: P_BUSINESSPARTNERTRANSPIATA Type: view_entity COMPOSITE

P_BusinessPartnerTranspIATA is a Composite CDS View in SAP S/4HANA. It reads from 5 data sources (I_BusinessPartnerTransp, I_BPTranspSalesRepresentative, I_BusinessPartner, I_BuPaIdentification, I_BuPaIdentification) and exposes 15 fields with key fields BusinessPartner, BPIdentificationType, BPIdentificationNumber, BPIdentificationType, BPIdentificationNumber.

Data Sources (5)

SourceAliasJoin Type
I_BusinessPartnerTransp _BusinessPartnerTransp inner
I_BPTranspSalesRepresentative BPTranspSalesRepresentative union
I_BusinessPartner BusinessPartner inner
I_BuPaIdentification Identification from
I_BuPaIdentification Identification inner

Annotations (4)

NameValueLevelField
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
Metadata.ignorePropagatedAnnotations true view
VDM.private true view
VDM.viewType #COMPOSITE view

Fields (15)

KeyFieldSource TableSource FieldDescription
KEY BusinessPartner I_BuPaIdentification BusinessPartner
KEY BPIdentificationType I_BuPaIdentification BPIdentificationType
KEY BPIdentificationNumber I_BuPaIdentification BPIdentificationNumber
ValidityStartDate I_BuPaIdentification ValidityStartDate
ValidityEndDate I_BuPaIdentification ValidityEndDate
Carrier
AuthorizationGroup AuthorizationGroup
BusinessPartner
KEY BPIdentificationType I_BuPaIdentification BPIdentificationType
KEY BPIdentificationNumber I_BuPaIdentification BPIdentificationNumber
ValidityStartDate I_BuPaIdentification ValidityStartDate
ValidityEndDate I_BuPaIdentification ValidityEndDate
Carrier I_BPTranspSalesRepresentative TranspSalesRepresentative
AuthorizationGroup I_BusinessPartner AuthorizationGroup
IsBusinessPurposeCompleted I_BusinessPartner IsBusinessPurposeCompleted
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@Metadata.ignorePropagatedAnnotations:true
@VDM.private: true
@VDM.viewType: #COMPOSITE

define view entity P_BusinessPartnerTranspIATA

  //Get all IATA codes of current carrier

  as select from I_BuPaIdentification as Identification
{
  key Identification.BusinessPartner,
  key Identification.BPIdentificationType,
  key Identification.BPIdentificationNumber,
      @Semantics.businessDate.from
      Identification.ValidityStartDate,
      @Semantics.businessDate.to
      Identification.ValidityEndDate,
      cast ('' as bu_partner)                           as Carrier,
      AuthorizationGroup,
      _BusinessPartner.IsBusinessPurposeCompleted
}
where
  Identification.BPIdentificationType = 'TM0001' //IATA



//Get IATA codes of higher level carrier in case of subsidiary or agent

union select from I_BPTranspSalesRepresentative as BPTranspSalesRepresentative
  inner join      I_BusinessPartnerTransp       as _BusinessPartnerTransp on BPTranspSalesRepresentative.BusinessPartner           = _BusinessPartnerTransp.BusinessPartner
  inner join      I_BuPaIdentification          as Identification         on BPTranspSalesRepresentative.TranspSalesRepresentative = Identification.BusinessPartner
  inner join      I_BusinessPartner             as BusinessPartner        on BPTranspSalesRepresentative.BusinessPartner           = BusinessPartner.BusinessPartner
{
  key BPTranspSalesRepresentative.BusinessPartner,
  key Identification.BPIdentificationType,
  key Identification.BPIdentificationNumber,
      //@Semantics.businessDate.from - Annotation is only needed in first branch of union

      Identification.ValidityStartDate,
      //@Semantics.businessDate.to

      Identification.ValidityEndDate,
      BPTranspSalesRepresentative.TranspSalesRepresentative         as Carrier,
      BusinessPartner.AuthorizationGroup,
      BusinessPartner.IsBusinessPurposeCompleted
}
where
  (
       _BusinessPartnerTransp.CarrierCategory = ''  //Subsidiary

    or _BusinessPartnerTransp.CarrierCategory = 'A' //Agent

  )
  and  Identification.BPIdentificationType    = 'TM0001' //IATA

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BPTRANSPSALESREPRESENTATIVE",
"I_BUPAIDENTIFICATION",
"I_BUSINESSPARTNER",
"I_BUSINESSPARTNERTRANSP"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/