P_PL_SAFTBillingDocumentBasic

DDL: P_PL_SAFTBILLINGDOCUMENTBASIC SQL: PPLSAFTBILLDOCB Type: view COMPOSITE

P_PL_SAFTBillingDocumentBasic is a Composite CDS View in SAP S/4HANA. It reads from 2 data sources (I_BillingDocument, I_PL_SAFTBillingDocTypeMap) and exposes 6 fields with key field BillingDocument.

Data Sources (2)

SourceAliasJoin Type
I_BillingDocument a from
I_PL_SAFTBillingDocTypeMap BillingDocTypeMap inner

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PPLSAFTBILLDOCB view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
VDM.private true view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #P view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (6)

KeyFieldSource TableSource FieldDescription
KEY BillingDocument I_BillingDocument BillingDocument
BillingDocumentCategory I_BillingDocument BillingDocumentCategory
BillingDocumentType I_BillingDocument BillingDocumentType
BillingDocumentDate I_BillingDocument BillingDocumentDate
CancelledBillingDocument I_BillingDocument CancelledBillingDocument
SDDocumentCategory I_BillingDocument SDDocumentCategory
@AbapCatalog.sqlViewName: 'PPLSAFTBILLDOCB'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@VDM.private: true
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass:  #MIXED
@ObjectModel.usageType.serviceQuality: #P
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_PL_SAFTBillingDocumentBasic
  as select from I_BillingDocument          as a

    inner join   I_PL_SAFTBillingDocTypeMap as BillingDocTypeMap on  BillingDocTypeMap.BillingDocumentType       =  a.BillingDocumentType
                                                                 and BillingDocTypeMap.BillingSDDocumentCategory =  a.SDDocumentCategory
                                                                 and BillingDocTypeMap.StartDate                 <= a.BillingDocumentDate
                                                                 and BillingDocTypeMap.EndDate                   >= a.BillingDocumentDate

    left outer to one join I_BillingDocument as CancelledBillingDocument on CancelledBillingDocument.BillingDocument = a.CancelledBillingDocument
    
    left outer to one join I_PL_SAFTBillingDocTypeMap as  CancelBillingDocTypeMap on  CancelBillingDocTypeMap.BillingDocumentType       =  CancelledBillingDocument.BillingDocumentType
                                                                 and CancelBillingDocTypeMap.BillingSDDocumentCategory =  CancelledBillingDocument.SDDocumentCategory
                                                                 and CancelBillingDocTypeMap.StartDate                 <= CancelledBillingDocument.BillingDocumentDate
                                                                 and CancelBillingDocTypeMap.EndDate                   >= CancelledBillingDocument.BillingDocumentDate
{
  key a.BillingDocument,
      a.BillingDocumentCategory,
      a.BillingDocumentType,
      a.BillingDocumentDate,
      a.CancelledBillingDocument,
      a.SDDocumentCategory,

      case 
        when   (BillingDocTypeMap.PL_SAFTInvoiceType = 'VAT' and BillingDocTypeMap.TransactionGroup = '8') 
            or (a.CancelledBillingDocument is not initial and CancelBillingDocTypeMap.PL_SAFTInvoiceType = 'VAT' and CancelBillingDocTypeMap.TransactionGroup = '8')                   
          then 'ZAL'
        else 
          BillingDocTypeMap.PL_SAFTInvoiceType
      end                                             as PL_SAFTInvoiceType
}