I_PT_SAFTBillingOneTimeAddr

DDL: I_PT_SAFTBILLINGONETIMEADDR Type: view_entity COMPOSITE Package: GLO_FIN_IS_SAFT_PT

One Time Customer Addr for Billing Docs

I_PT_SAFTBillingOneTimeAddr is a Composite CDS View that provides data about "One Time Customer Addr for Billing Docs" in SAP S/4HANA. It reads from 4 data sources (I_SDDocumentCompletePartners, I_SDDocumentCompletePartners, I_BillingDocument, I_InvoiceList) and exposes 45 fields with key fields BillingDocument, FiscalYear, CompanyCode, PartnerFunction, AddressID. It has 1 association to related views. Part of development package GLO_FIN_IS_SAFT_PT.

Data Sources (4)

SourceAliasJoin Type
I_SDDocumentCompletePartners Cust inner
I_SDDocumentCompletePartners Cust inner
I_BillingDocument SDDoc from
I_InvoiceList SDDoc union

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_CustomerCompany _CustCompany Cust.Customer = _CustCompany.Customer and SDDoc.CompanyCode = _CustCompany.CompanyCode

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
AccessControl.personalData.blocking #BLOCKED_DATA_INCLUDED view
EndUserText.label One Time Customer Addr for Billing Docs view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view

Fields (45)

KeyFieldSource TableSource FieldDescription
KEY BillingDocument I_InvoiceList BillingDocument
KEY FiscalYear I_InvoiceList FiscalYear
KEY CompanyCode I_InvoiceList CompanyCode
KEY PartnerFunction
KEY AddressID I_SDDocumentCompletePartners AddressID
InvoiceDate I_InvoiceList BillingDocumentDate
Customer I_SDDocumentCompletePartners Customer
IsOneTimeAccount I_SDDocumentCompletePartners PartnerIsOneTimeAccount
ReconciliationAccount _CustCompany ReconciliationAccount
AddressNumber I_SDDocumentCompletePartners AddressID
AddressPersonID I_SDDocumentCompletePartners AddressPersonID
FullName
StreetName Address StreetName
StreetPrefixName Address StreetPrefixName1
AdditionalStreetPrefixName Address StreetPrefixName1
StreetSuffixName Address StreetSuffixName1
AdditionalStreetSuffixName Address StreetSuffixName2
HouseNumber Address HouseNumber
Region Address Region
PhoneNumber Phone PhoneAreaCodeSubscriberNumber
FaxNumber
EmailAddress email EmailAddress
InvoiceListasBillingDocument
KEY FiscalYear I_InvoiceList FiscalYear
KEY CompanyCode I_InvoiceList CompanyCode
KEY PartnerFunction
KEY AddressID I_SDDocumentCompletePartners AddressID
InvoiceDate I_InvoiceList InvoiceListBillingDate
Customer I_SDDocumentCompletePartners Customer
IsOneTimeAccount I_SDDocumentCompletePartners PartnerIsOneTimeAccount
ReconciliationAccount _CustCompany ReconciliationAccount
AddressNumber I_SDDocumentCompletePartners AddressID
AddressPersonID I_SDDocumentCompletePartners AddressPersonID
FullName
StreetName Address StreetName
StreetPrefixName Address StreetPrefixName1
AdditionalStreetPrefixName Address StreetPrefixName1
StreetSuffixName Address StreetSuffixName1
AdditionalStreetSuffixName Address StreetSuffixName2
HouseNumber Address HouseNumber
Region Address Region
PhoneNumber Phone PhoneAreaCodeSubscriberNumber
FaxNumber
EmailAddress email EmailAddress
WebsiteURL
@Consumption.dbHints: [ 'USE_HEX_PLAN' ]
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@AccessControl.personalData.blocking: #BLOCKED_DATA_INCLUDED
@EndUserText.label: 'One Time Customer Addr for Billing Docs'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
  serviceQuality: #D,
  sizeCategory: #XL,
  dataClass: #MIXED
}
define view entity I_PT_SAFTBillingOneTimeAddr
  as select from           I_BillingDocument            as SDDoc

    inner join             I_SDDocumentCompletePartners as Cust    on SDDoc.BillingDocument = Cust.SDDocument

    left outer to one join I_OneTimeCustomerTaxNumber   as Tax     on  Cust.SDDocument      = Tax.SDDocument
                                                                   and Cust.SDDocumentItem  = Tax.SDDocumentItem
                                                                   and Cust.PartnerFunction = Tax.PartnerFunction

    left outer to one join P_Address_2                  as Address on Address.AddressID = Cust.AddressID


    left outer to one join I_AddressEmailAddress_2      as email   on  email.AddressID                    = Cust.AddressID
                                                                   and email.EmailAddressIsCurrentDefault = 'X'
    left outer to one join I_AddressPhoneNumber_2       as Phone   on  Phone.AddressID                     = Cust.AddressID
                                                                   and Phone.PhNmbrIsCurrentOverallDefault = 'X'
    left outer to one join I_AddressFaxNumber_2         as Fax     on  Fax.AddressID                 = Cust.AddressID
                                                                   and Fax.FaxNumberIsCurrentDefault = 'X'

  association [0..1] to I_CustomerCompany as _CustCompany on  Cust.Customer     = _CustCompany.Customer
                                                          and SDDoc.CompanyCode = _CustCompany.CompanyCode //update 1905

{
  key SDDoc.BillingDocument                                                      as BillingDocument,
  key SDDoc.FiscalYear                                                           as FiscalYear,
  key SDDoc.CompanyCode                                                          as CompanyCode,
  key cast(Cust.PartnerFunction as parvw_unv )                                   as PartnerFunction,
  key Cust.AddressID,
      SDDoc.BillingDocumentDate                                                  as InvoiceDate,
      Cust.Customer                                                              as Customer,
      Cust.PartnerIsOneTimeAccount                                               as IsOneTimeAccount,

      cast(case
        when SDDoc.VATRegistration is initial or SDDoc.VATRegistration is null
          then Tax.TaxNumber1
          else substring(SDDoc.VATRegistration,3,18)
      end  as  stceg )                                                           as CustomerVATRegistration,

      _CustCompany.ReconciliationAccount                                         as ReconciliationAccount,

      Cust.AddressID                                                             as AddressNumber,
      
      Cust.AddressPersonID,
      concat_with_space(Address.OrganizationName1, Address.OrganizationName2, 1) as FullName,
      Address.StreetName                                                         as StreetName,
      Address.StreetPrefixName1                                                  as StreetPrefixName,
      Address.StreetPrefixName1                                                  as AdditionalStreetPrefixName,
      Address.StreetSuffixName1                                                  as StreetSuffixName,
      Address.StreetSuffixName2                                                  as AdditionalStreetSuffixName,
      Address.HouseNumber                                                        as HouseNumber,
      Address.Region                                                             as Region,

      //      Cust._DfltAddrRprstn,


      Phone.PhoneAreaCodeSubscriberNumber                                        as PhoneNumber,
      cast( Fax.InternationalFaxNumber as abap.char(31) )                        as FaxNumber,
      email.EmailAddress                                                         as EmailAddress,
      ' '                                                                        as WebsiteURL
      //      cast(lower(Cust._Address._DefaultURLAddress.SearchURLAddress) as ad_uri2)                         as WebsiteURL


}
where
  Cust.PartnerIsOneTimeAccount = 'X'

union select from        I_InvoiceList                as SDDoc

  inner join             I_SDDocumentCompletePartners as Cust    on SDDoc.InvoiceList = Cust.SDDocument


  left outer to one join I_OneTimeCustomerTaxNumber   as Tax     on  Cust.SDDocument      = Tax.SDDocument
                                                                 and Cust.SDDocumentItem  = Tax.SDDocumentItem
                                                                 and Cust.PartnerFunction = Tax.PartnerFunction

  left outer to one join P_Address_2                  as Address on Address.AddressID = Cust.AddressID


  left outer to one join I_AddressEmailAddress_2      as email   on  email.AddressID                    = Cust.AddressID
                                                                 and email.EmailAddressIsCurrentDefault = 'X'
  left outer to one join I_AddressPhoneNumber_2       as Phone   on  Phone.AddressID                     = Cust.AddressID
                                                                 and Phone.PhNmbrIsCurrentOverallDefault = 'X'
  left outer to one join I_AddressFaxNumber_2         as Fax     on  Fax.AddressID                 = Cust.AddressID
                                                                 and Fax.FaxNumberIsCurrentDefault = 'X'

association [0..1] to I_CustomerCompany as _CustCompany on  Cust.Customer     = _CustCompany.Customer
                                                        and SDDoc.CompanyCode = _CustCompany.CompanyCode //update 1905



{
  key SDDoc.InvoiceList                                                          as BillingDocument,
  key SDDoc.FiscalYear                                                           as FiscalYear,
  key SDDoc.CompanyCode                                                          as CompanyCode,
  key cast(Cust.PartnerFunction as parvw_unv )                                   as PartnerFunction,
  key Cust.AddressID,
      SDDoc.InvoiceListBillingDate                                               as InvoiceDate,  //VDM

      Cust.Customer                                                              as Customer,
      Cust.PartnerIsOneTimeAccount                                               as IsOneTimeAccount,

      cast(case
        when SDDoc.VATRegistration is initial or SDDoc.VATRegistration is null
          then Tax.TaxNumber1
          else substring(SDDoc.VATRegistration,3,18)
      end  as stceg )                                                            as CustomerVATRegistration,

      _CustCompany.ReconciliationAccount                                         as ReconciliationAccount,

      Cust.AddressID                                                             as AddressNumber,
      
      Cust.AddressPersonID,
      concat_with_space(Address.OrganizationName1, Address.OrganizationName2, 1) as FullName,
      Address.StreetName                                                         as StreetName,
      Address.StreetPrefixName1                                                  as StreetPrefixName,
      Address.StreetPrefixName1                                                  as AdditionalStreetPrefixName,
      Address.StreetSuffixName1                                                  as StreetSuffixName,
      Address.StreetSuffixName2                                                  as AdditionalStreetSuffixName,
      Address.HouseNumber                                                        as HouseNumber,
      Address.Region                                                             as Region,

      //      Cust._DfltAddrRprstn,


      Phone.PhoneAreaCodeSubscriberNumber                                        as PhoneNumber,
      cast( Fax.InternationalFaxNumber as abap.char(31) )                        as FaxNumber,
      email.EmailAddress                                                         as EmailAddress,
      ' '                                                                        as WebsiteURL
      //      cast(lower(Cust._Address._DefaultURLAddress.SearchURLAddress) as ad_uri2)                         as WebsiteURL


}
where
  Cust.PartnerIsOneTimeAccount = 'X'