P_CADOCUMENTLINEITEM_SPLIT
Line Item Split
P_CADOCUMENTLINEITEM_SPLIT is a CDS View in S/4HANA. Line Item Split. 1 CDS views read from this table.
CDS Views using this table (1)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| P_CADocumentLineItems | view_entity | from | COMPOSITE | Line Items |
@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'