P_CADocumentLineItem_Split

DDL: P_CADOCUMENTLINEITEM_SPLIT Type: view_entity COMPOSITE Package: FKK_ID_PL_REP

Line Item Split

P_CADocumentLineItem_Split is a Composite CDS View that provides data about "Line Item Split" in SAP S/4HANA. It reads from 4 data sources (I_CADocumentBPItem, I_CADocumentBPItem, I_FiscalCalYearPeriodForCoCode, I_FiscalCalYearPeriodForCoCode) and exposes 50 fields with key fields CADocumentNumber, CARepetitionItemNumber, CABPItemNumber, CASubItemNumber, CARepetitionItemNumber. Part of development package FKK_ID_PL_REP.

Data Sources (4)

SourceAliasJoin Type
I_CADocumentBPItem DOC from
I_CADocumentBPItem DOC union
I_FiscalCalYearPeriodForCoCode PER inner
I_FiscalCalYearPeriodForCoCode PER inner

Parameters (1)

NameTypeDefault
P_KeyDate vdm_v_key_date

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Line Item Split view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #MIXED view
VDM.private true view
VDM.viewType #COMPOSITE view

Fields (50)

KeyFieldSource TableSource FieldDescription
KEY CADocumentNumber I_CADocumentBPItem CADocumentNumber
KEY CARepetitionItemNumber I_CADocumentBPItem CARepetitionItemNumber
KEY CABPItemNumber I_CADocumentBPItem CABPItemNumber
KEY CASubItemNumber I_CADocumentBPItem CASubItemNumber
BusinessPartner I_CADocumentBPItem BusinessPartner
ContractAccount I_CADocumentBPItem ContractAccount
CompanyCode I_CADocumentBPItem CompanyCode
CAAmountInLocalCurrency I_CADocumentBPItem CAAmountInLocalCurrency
CAAmountInTransactionCurrency I_CADocumentBPItem CAAmountInTransactionCurrency
TransactionCurrency I_CADocumentBPItem TransactionCurrency
CompanyCodeCurrency I_CADocumentBPItem CompanyCodeCurrency
CAReconciliationAccount I_CADocumentBPItem CAReconciliationAccount
CAPostingDate I_CADocumentBPItem CAPostingDate
CAClearingDate I_CADocumentBPItem CAClearingDate
CAReferenceDocument I_CADocumentBPItem CAReferenceDocument
DocumentDate I_CADocumentBPItem DocumentDate
CADocumentType I_CADocumentBPItem CADocumentType
CreatedByUser
CASubApplication I_CADocumentBPItem CASubApplication
CAContract I_CADocumentBPItem CAContract
CADocumentOriginCode I_CADocumentBPItem CADocumentOriginCode
BusinessArea I_CADocumentBPItem BusinessArea
Segment I_CADocumentBPItem Segment
_BusinessPartner I_CADocumentBPItem _BusinessPartner
_ContractAccountPartner I_CADocumentBPItem _ContractAccountPartner
KEY CARepetitionItemNumber I_CADocumentBPItem CARepetitionItemNumber
KEY CABPItemNumber I_CADocumentBPItem CABPItemNumber
KEY CASubItemNumber I_CADocumentBPItem CASubItemNumber
BusinessPartner I_CADocumentBPItem BusinessPartner
ContractAccount I_CADocumentBPItem ContractAccount
CompanyCode I_CADocumentBPItem CompanyCode
CAAmountInLocalCurrency
CAAmountInTransactionCurrency
TransactionCurrency I_CADocumentBPItem TransactionCurrency
CompanyCodeCurrency I_CADocumentBPItem CompanyCodeCurrency
CAReconciliationAccount I_CADocumentBPItem CAReconciliationAccount
CAPostingDate I_CADocumentBPItem CAClearingDate
CAClearingDate I_CADocumentBPItem CAClearingDate
CAReferenceDocument I_CADocumentBPItem CAReferenceDocument
DocumentDate I_CADocumentBPItem CAPostingDateOfClearingDoc
CADocumentType I_CADocumentBPItem CADocumentType
CreatedByUser
CASubApplication I_CADocumentBPItem CASubApplication
CAContract I_CADocumentBPItem CAContract
CADocumentOriginCode I_CADocumentBPItem CADocumentOriginCode
BusinessArea I_CADocumentBPItem BusinessArea
Segment I_CADocumentBPItem Segment
_BusinessPartner I_CADocumentBPItem _BusinessPartner
_ContractAccountPartner I_CADocumentBPItem _ContractAccountPartner
_CAProviderContract I_CADocumentBPItem _CAProviderContract
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Line Item Split'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
    serviceQuality: #X,
    sizeCategory: #S,
    dataClass: #MIXED
}
@VDM.private:true    
@VDM.viewType: #COMPOSITE
define view entity P_CADocumentLineItem_Split
with parameters           
    @Consumption.hidden: true
    @Environment.systemField: #SYSTEM_DATE
    P_KeyDate                 : vdm_v_key_date 
as 
select from I_CADocumentBPItem as DOC
inner join I_FiscalCalYearPeriodForCoCode as PER 
  on PER.CompanyCode = DOC.CompanyCode and PER.FiscalPeriodStartDate <= $parameters.P_KeyDate and PER.FiscalPeriodEndDate >= $parameters.P_KeyDate
{
    key DOC.CADocumentNumber,
    key DOC.CARepetitionItemNumber,
    key DOC.CABPItemNumber,
    key DOC.CASubItemNumber,
        DOC.BusinessPartner,
        DOC.ContractAccount,
        DOC.CompanyCode,
        @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
        DOC.CAAmountInLocalCurrency,
        @Semantics.amount.currencyCode: 'TransactionCurrency'
        DOC.CAAmountInTransactionCurrency,                
        DOC.TransactionCurrency,        
        DOC.CompanyCodeCurrency,
        DOC.CAReconciliationAccount,
        DOC.CAPostingDate,
        DOC.CAClearingDate,
        DOC.CAStatisticalItemCode,
        DOC.CAReferenceDocument,
        DOC.DocumentDate,
        DOC.CADocumentType,        
        @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
        ( case when DOC.CAAmountInLocalCurrency < 0
          then DOC.CAAmountInLocalCurrency else null end * -1 ) as Credit,
        @Semantics.amount.currencyCode: 'CompanyCodeCurrency'  
        case when DOC.CAAmountInLocalCurrency > 0
          then DOC.CAAmountInLocalCurrency else null end as Debit,
        @Semantics.amount.currencyCode: 'TransactionCurrency'
        ( case when DOC.CAAmountInTransactionCurrency < 0
          then DOC.CAAmountInTransactionCurrency else null end * -1 ) as CreditTr,
        @Semantics.amount.currencyCode: 'TransactionCurrency'  
        case when DOC.CAAmountInTransactionCurrency > 0
          then DOC.CAAmountInTransactionCurrency else null end as DebitTr,                 
        DOC._CADocument.CreatedByUser,
        DOC.CASubApplication,
        DOC.CAContract,
        DOC.CADocumentOriginCode,
        DOC.BusinessArea,
        DOC.Segment,        
        DOC._BusinessPartner,        
        DOC._ContractAccountPartner,
        DOC._CAProviderContract                       
}
where DOC.CAPostingDate <= PER.FiscalPeriodEndDate and DOC.CAStatisticalItemCode is initial
union
select from I_CADocumentBPItem as DOC
inner join I_FiscalCalYearPeriodForCoCode as PER 
  on PER.CompanyCode = DOC.CompanyCode and PER.FiscalPeriodStartDate <= $parameters.P_KeyDate and PER.FiscalPeriodEndDate >= $parameters.P_KeyDate
{
    key DOC.CAClearingDocumentNumber as CADocumentNumber,
    key DOC.CARepetitionItemNumber,
    key DOC.CABPItemNumber,
    key DOC.CASubItemNumber,
        DOC.BusinessPartner,
        DOC.ContractAccount,
        DOC.CompanyCode,        
        ( DOC.CAAmountInLocalCurrency * -1 ) as CAAmountInLocalCurrency,
        ( DOC.CAAmountInTransactionCurrency * -1 ) as CAAmountInTransactionCurrency,                
        DOC.TransactionCurrency,        
        DOC.CompanyCodeCurrency,
        DOC.CAReconciliationAccount,
        DOC.CAClearingDate as CAPostingDate,
        DOC.CAClearingDate,
        DOC.CAStatisticalItemCode,
        DOC.CAReferenceDocument,
        DOC.CAPostingDateOfClearingDoc as DocumentDate,
        DOC.CADocumentType,        
//        case when DOC.CAAmountInLocalCurrency > 0

//          then DOC.CAAmountInLocalCurrency else null end as Credit,

        case when DOC._CADocument.CAReversalDocumentNumber <> '' and DOC.CAAmountInLocalCurrency < 0 then DOC.CAAmountInLocalCurrency * -1   
             when DOC._CADocument.CAReversalDocumentNumber  = '' and DOC.CAAmountInLocalCurrency > 0 then DOC.CAAmountInLocalCurrency else null end as Credit,  
//        ( case when DOC.CAAmountInLocalCurrency < 0

//          then DOC.CAAmountInLocalCurrency else null end * -1 ) as Debit,

        case when DOC._CADocument.CAReversalDocumentNumber <> '' and DOC.CAAmountInLocalCurrency > 0 then DOC.CAAmountInLocalCurrency * -1   
             when DOC._CADocument.CAReversalDocumentNumber  = '' and DOC.CAAmountInLocalCurrency < 0 then DOC.CAAmountInLocalCurrency else null end as Debit, 
//        case when DOC.CAAmountInTransactionCurrency > 0

//          then DOC.CAAmountInTransactionCurrency else null end as CreditTr,

        case when DOC._CADocument.CAReversalDocumentNumber <> '' and DOC.CAAmountInTransactionCurrency < 0 then DOC.CAAmountInTransactionCurrency * -1   
             when DOC._CADocument.CAReversalDocumentNumber  = '' and DOC.CAAmountInTransactionCurrency > 0 then DOC.CAAmountInTransactionCurrency else null end as CreditTr,
//        ( case when DOC.CAAmountInTransactionCurrency < 0

//          then DOC.CAAmountInTransactionCurrency else null end * -1 ) as DebitTr,

        case when DOC._CADocument.CAReversalDocumentNumber <> '' and DOC.CAAmountInTransactionCurrency > 0 then DOC.CAAmountInTransactionCurrency * -1   
             when DOC._CADocument.CAReversalDocumentNumber  = '' and DOC.CAAmountInTransactionCurrency < 0 then DOC.CAAmountInTransactionCurrency else null end as DebitTr,         
        DOC._CADocument.CreatedByUser,
        DOC.CASubApplication,
        DOC.CAContract,
        DOC.CADocumentOriginCode,
        DOC.BusinessArea,
        DOC.Segment,        
        DOC._BusinessPartner,        
        DOC._ContractAccountPartner,
        DOC._CAProviderContract                       
}
where DOC.CAPostingDateOfClearingDoc <= PER.FiscalPeriodEndDate and DOC.CAStatisticalItemCode is initial and DOC.CAClearingStatus = '9'