I_SAFTBillingOneTimeCustomer

DDL: I_SAFTBILLINGONETIMECUSTOMER SQL: ISAFTOTBILCUST Type: view COMPOSITE

SAF-T Billing OneTimeCustomers

I_SAFTBillingOneTimeCustomer is a Composite CDS View that provides data about "SAF-T Billing OneTimeCustomers" in SAP S/4HANA. It reads from 6 data sources and exposes 45 fields with key fields BillingDocument, FiscalYear, CompanyCode, PartnerFunction, FiscalYear. It has 1 association to related views.

Data Sources (6)

SourceAliasJoin Type
I_SDDocumentCompletePartners Cust inner
I_SDDocumentCompletePartners Cust inner
I_BillingDocument SDDoc from
I_InvoiceList SDDoc union
I_OneTimeCustomerTaxNumber Tax left_outer
I_OneTimeCustomerTaxNumber Tax left_outer

Associations (1)

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

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName ISAFTOTBILCUST view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.personalData.blocking #BLOCKED_DATA_INCLUDED view
EndUserText.label SAF-T Billing OneTimeCustomers view

Fields (45)

KeyFieldSource TableSource FieldDescription
KEY BillingDocument I_InvoiceList BillingDocument
KEY FiscalYear I_InvoiceList FiscalYear
KEY CompanyCode I_InvoiceList CompanyCode
KEY PartnerFunction I_SDDocumentCompletePartners PartnerFunction
InvoiceDate I_InvoiceList BillingDocumentDate
Customer I_SDDocumentCompletePartners Customer
IsOneTimeAccount I_SDDocumentCompletePartners PartnerIsOneTimeAccount
ReconciliationAccount _CustCompany ReconciliationAccount
AddressNumber I_SDDocumentCompletePartners AddressID
AddressID I_SDDocumentCompletePartners AddressID
FullName
StreetName
StreetPrefixName
AdditionalStreetPrefixName
StreetSuffixName
AdditionalStreetSuffixName
HouseNumber
Region
_Address I_SDDocumentCompletePartners _Address
PhoneNumber
FaxNumber
EmailAddress
InvoiceListasBillingDocument
KEY FiscalYear I_InvoiceList FiscalYear
KEY CompanyCode I_InvoiceList CompanyCode
KEY PartnerFunction I_SDDocumentCompletePartners PartnerFunction
InvoiceDate I_InvoiceList BillingDocumentDate
Customer I_SDDocumentCompletePartners Customer
IsOneTimeAccount I_SDDocumentCompletePartners PartnerIsOneTimeAccount
ReconciliationAccount _CustCompany ReconciliationAccount
AddressNumber I_SDDocumentCompletePartners AddressID
AddressID I_SDDocumentCompletePartners AddressID
FullName
StreetName
StreetPrefixName
AdditionalStreetPrefixName
StreetSuffixName
AdditionalStreetSuffixName
HouseNumber
Region
_Address I_SDDocumentCompletePartners _Address
PhoneNumber
FaxNumber
EmailAddress
WebsiteURL
@AbapCatalog.sqlViewName: 'ISAFTOTBILCUST'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.personalData.blocking: #BLOCKED_DATA_INCLUDED
@EndUserText.label: 'SAF-T Billing OneTimeCustomers'

define view I_SAFTBillingOneTimeCustomer
  as select from    I_BillingDocument            as SDDoc

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

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

  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 Cust.PartnerFunction,
      SDDoc.BillingDocumentDate                                                 as InvoiceDate,
      Cust.Customer                                                             as Customer,
      Cust.PartnerIsOneTimeAccount                                              as IsOneTimeAccount,

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

      _CustCompany.ReconciliationAccount                                        as ReconciliationAccount,

      Cust.AddressID                                                            as AddressNumber,
      Cust.AddressID,
      Cust._Address.FullName                                                    as FullName,
      Cust._Address.StreetName                                                  as StreetName,
      Cust._Address.StreetPrefixName                                            as StreetPrefixName,
      Cust._Address.AdditionalStreetPrefixName                                  as AdditionalStreetPrefixName,
      Cust._Address.StreetSuffixName                                            as StreetSuffixName,
      Cust._Address.AdditionalStreetSuffixName                                  as AdditionalStreetSuffixName,
      Cust._Address.HouseNumber                                                 as HouseNumber,
      Cust._Address.Region                                                      as Region,

      Cust._Address,
      

      Cust._Address._DefaultPhoneNumber.PhoneNumber                             as PhoneNumber,
      Cust._Address._DefaultFaxNumber.FaxNumber                                 as FaxNumber,
      Cust._Address._DefaultEmailAddress.EmailAddress                           as EmailAddress,
      cast(lower(Cust._Address._DefaultURLAddress.SearchURLAddress) as ad_uri2) as WebsiteURL

}
where
  PartnerIsOneTimeAccount = 'X'

union select from I_InvoiceList                as SDDoc

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

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

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 Cust.PartnerFunction,
      SDDoc.BillingDocumentDate                                                 as InvoiceDate,
      Cust.Customer                                                             as Customer,
      Cust.PartnerIsOneTimeAccount                                              as IsOneTimeAccount,

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

      _CustCompany.ReconciliationAccount                                        as ReconciliationAccount,

      Cust.AddressID                                                            as AddressNumber,
      Cust.AddressID,
      Cust._Address.FullName                                                    as FullName,
      Cust._Address.StreetName                                                  as StreetName,
      Cust._Address.StreetPrefixName                                            as StreetPrefixName,
      Cust._Address.AdditionalStreetPrefixName                                  as AdditionalStreetPrefixName,
      Cust._Address.StreetSuffixName                                            as StreetSuffixName,
      Cust._Address.AdditionalStreetSuffixName                                  as AdditionalStreetSuffixName,
      Cust._Address.HouseNumber                                                 as HouseNumber,
      Cust._Address.Region                                                      as Region,
      Cust._Address,
      Cust._Address._DefaultPhoneNumber.PhoneNumber                             as PhoneNumber,
      Cust._Address._DefaultFaxNumber.FaxNumber                                 as FaxNumber,
      Cust._Address._DefaultEmailAddress.EmailAddress                           as EmailAddress,
      cast(lower(Cust._Address._DefaultURLAddress.SearchURLAddress) as ad_uri2) as WebsiteURL

}
where
  PartnerIsOneTimeAccount = 'X'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ADDRESS",
"I_ADDRESSEMAILADDRESS",
"I_ADDRESSFAXNUMBER",
"I_ADDRESSHOMEPAGEURL",
"I_ADDRESSPHONENUMBER",
"I_BILLINGDOCUMENT",
"I_CUSTOMERCOMPANY",
"I_INVOICELIST",
"I_ONETIMECUSTOMERTAXNUMBER",
"I_SDDOCUMENTCOMPLETEPARTNERS"
],
"ASSOCIATED":
[
"I_ADDRESS",
"I_CUSTOMERCOMPANY"
],
"BASE":
[
"I_SDDOCUMENTCOMPLETEPARTNERS"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/