P_SalesContractProcessFlow50

DDL: P_SALESCONTRACTPROCESSFLOW50 SQL: PSLSCONPROCFL50 Type: view COMPOSITE Package: ODATA_SD_CONTRACT

Contract process flow level 5-0

P_SalesContractProcessFlow50 is a Composite CDS View that provides data about "Contract process flow level 5-0" in SAP S/4HANA. It reads from 4 data sources (I_AccountingDocument, I_AccountingDocument, P_SalesContractProcessFlow10, P_SalesContractProcessFlow40) and exposes 41 fields with key fields SalesContract, PrecedingDocument, PrecedingDocumentItem, PrecedingDocumentCategory, SubsequentDocument. It has 2 associations to related views. Part of development package ODATA_SD_CONTRACT.

Data Sources (4)

SourceAliasJoin Type
I_AccountingDocument AccountingDocument inner
I_AccountingDocument AccountingDocument inner
P_SalesContractProcessFlow10 P_SalesContractProcessFlow10 union
P_SalesContractProcessFlow40 P_SalesContractProcessFlow40 from

Parameters (1)

NameTypeDefault
P_SalesContract vbeln_von

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_UnitOfMeasure _BaseUnit $projection.BaseUnit = _BaseUnit.UnitOfMeasure
[0..1] I_Currency _StatisticsCurrency $projection.StatisticsCurrency = _StatisticsCurrency.Currency

Annotations (11)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
VDM.private true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
AbapCatalog.sqlViewName PSLSCONPROCFL50 view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
EndUserText.label Contract process flow level 5-0 view

Fields (41)

KeyFieldSource TableSource FieldDescription
KEY SalesContract Level40 SalesContract
KEY PrecedingDocument Level40 SubsequentDocument
KEY PrecedingDocumentItem Level40 SubsequentDocumentItem
KEY PrecedingDocumentCategory Level40 SubsequentDocumentCategory
KEY SubsequentDocument I_AccountingDocument AccountingDocument
KEY SubsequentDocumentItem Level40 SubsequentDocumentItem
KEY SubsequentDocumentCategory
QuantityInBaseUnit
BaseUnit
NetAmount
StatisticsCurrency I_AccountingDocument Currency
SDProcessStatusDesc
FiscalYear I_AccountingDocument FiscalYear
CompanyCode I_AccountingDocument CompanyCode
MaterialDocumentYear
SemanticObject
SDDocumentCategoryName
CreationDate I_AccountingDocument AccountingDocumentCreationDate
CreationTime I_AccountingDocument CreationTime
_BaseUnit _BaseUnit
SalesContract
KEY PrecedingDocument Level10 SubsequentDocument
KEY PrecedingDocumentItem Level10 SubsequentDocumentItem
KEY PrecedingDocumentCategory Level10 SubsequentDocumentCategory
KEY SubsequentDocument I_AccountingDocument AccountingDocument
KEY SubsequentDocumentItem Level10 SubsequentDocumentItem
KEY SubsequentDocumentCategory
QuantityInBaseUnit
BaseUnit
NetAmount
StatisticsCurrency I_AccountingDocument Currency
SDProcessStatusDesc
FiscalYear I_AccountingDocument FiscalYear
CompanyCode I_AccountingDocument CompanyCode
MaterialDocumentYear
SemanticObject
SDDocumentCategoryName
CreationDate I_AccountingDocument AccountingDocumentCreationDate
CreationTime I_AccountingDocument CreationTime
_BaseUnit _BaseUnit
_StatisticsCurrency _StatisticsCurrency
@ClientHandling.algorithm: #SESSION_VARIABLE 
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@VDM.private: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'PSLSCONPROCFL50'
@AbapCatalog.preserveKey:true 
@AbapCatalog.compiler.compareFilter:true
@EndUserText.label: 'Contract process flow level 5-0'
define view P_SalesContractProcessFlow50
  with parameters P_SalesContract: vbeln_von
  as select from P_SalesContractProcessFlow40(P_SalesContract: $parameters.P_SalesContract) as Level40
    inner join I_AccountingDocument as AccountingDocument
    on Level40.SubsequentDocument = AccountingDocument.OriginalReferenceDocument
    and AccountingDocument.ReferenceDocumentType = 'VBRK'    
    and LedgerGroup = ''
    left outer to one join I_SDDocumentCategory  as _SDDocumentCategory on _SDDocumentCategory.SDDocumentCategory = '+'
    association [0..1] to I_UnitOfMeasure as _BaseUnit           on $projection.BaseUnit = _BaseUnit.UnitOfMeasure
    association [0..1] to I_Currency      as _StatisticsCurrency on $projection.StatisticsCurrency = _StatisticsCurrency.Currency
{ 
  key  Level40.SalesContract,
  key  Level40.SubsequentDocument                             as PrecedingDocument,
  key  Level40.SubsequentDocumentItem                         as PrecedingDocumentItem,
  key  Level40.SubsequentDocumentCategory                     as PrecedingDocumentCategory,
  key  AccountingDocument.AccountingDocument                  as SubsequentDocument,
  key  Level40.SubsequentDocumentItem                         as SubsequentDocumentItem,
  key  cast( '+'  as vbtypl_v )                               as SubsequentDocumentCategory,
       @Semantics.quantity.unitOfMeasure: 'BaseUnit'
       cast( 0 as rfmng )                                     as QuantityInBaseUnit,
       cast( '' as meins )                                    as BaseUnit,
       @Semantics.amount.currencyCode: 'StatisticsCurrency'
       cast( 0 as rfwrt )                                     as NetAmount,
       @Semantics.currencyCode: true
       AccountingDocument.Currency                            as StatisticsCurrency,
       cast( '' as status_bez )                               as SDProcessStatusDesc,
       AccountingDocument.FiscalYear                          as FiscalYear,
       AccountingDocument.CompanyCode                         as CompanyCode,
       cast( '0000' as mjahr )                                as MaterialDocumentYear,
       cast( 'AccountingDocument' as bpf_sem_obj )            as SemanticObject,
       _SDDocumentCategory._Text[1:Language=$session.system_language].SDDocumentCategoryName  as SDDocumentCategoryName,
       AccountingDocument.AccountingDocumentCreationDate      as CreationDate,
       AccountingDocument.CreationTime,
       _BaseUnit, 
       _StatisticsCurrency
}
where Level40.SubsequentDocumentCategory = 'M'  --> Invoice      
or    Level40.SubsequentDocumentCategory = 'O'  --> Credit Memo
or    Level40.SubsequentDocumentCategory = 'P'  --> Debit Memo
or    Level40.SubsequentDocumentCategory = '5'  --> Intercompany Invoice
or    Level40.SubsequentDocumentCategory = '6'  --> Intercompany Credit Memo
union select from P_SalesContractProcessFlow10(P_SalesContract: $parameters.P_SalesContract) as Level10
    inner join I_AccountingDocument as AccountingDocument
    on Level10.SubsequentDocument = AccountingDocument.OriginalReferenceDocument
    and AccountingDocument.ReferenceDocumentType = 'VBRK'    
    and LedgerGroup = ''
    left outer to one join I_SDDocumentCategory  as _SDDocumentCategory on _SDDocumentCategory.SDDocumentCategory = '+'
    association [0..1] to I_UnitOfMeasure as _BaseUnit           on $projection.BaseUnit = _BaseUnit.UnitOfMeasure
    association [0..1] to I_Currency      as _StatisticsCurrency on $projection.StatisticsCurrency = _StatisticsCurrency.Currency
{ 
  key  Level10.SalesContract,
  key  Level10.SubsequentDocument                             as PrecedingDocument,
  key  Level10.SubsequentDocumentItem                         as PrecedingDocumentItem,
  key  Level10.SubsequentDocumentCategory                     as PrecedingDocumentCategory,
  key  AccountingDocument.AccountingDocument                  as SubsequentDocument,
  key  Level10.SubsequentDocumentItem                         as SubsequentDocumentItem,
  key  cast( '+'  as vbtypl_v )                               as SubsequentDocumentCategory,
       @Semantics.quantity.unitOfMeasure: 'BaseUnit'
       cast( 0 as rfmng )                                     as QuantityInBaseUnit,
       cast( '' as meins )                                    as BaseUnit,
       @Semantics.amount.currencyCode: 'StatisticsCurrency'
       cast( 0 as rfwrt )                                     as NetAmount,
       @Semantics.currencyCode: true
       AccountingDocument.Currency                            as StatisticsCurrency,
       cast( '' as status_bez )                               as SDProcessStatusDesc,
       AccountingDocument.FiscalYear                          as FiscalYear,
       AccountingDocument.CompanyCode                         as CompanyCode,
       cast( '0000' as mjahr )                                as MaterialDocumentYear,
       cast( 'AccountingDocument' as bpf_sem_obj )            as SemanticObject,
       _SDDocumentCategory._Text[1:Language=$session.system_language].SDDocumentCategoryName  as SDDocumentCategoryName,
       AccountingDocument.AccountingDocumentCreationDate      as CreationDate,
       AccountingDocument.CreationTime,
       _BaseUnit, 
       _StatisticsCurrency
}
where Level10.SubsequentDocumentCategory = 'M'  --> Invoice      
or    Level10.SubsequentDocumentCategory = 'O'  --> Credit Memo
or    Level10.SubsequentDocumentCategory = 'P'  --> Debit Memo
or    Level10.SubsequentDocumentCategory = '5'  --> Intercompany Invoice
or    Level10.SubsequentDocumentCategory = '6'  --> Intercompany Credit Memo