@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
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ACCOUNTINGDOCUMENT",
"I_SDDOCUMENTCATEGORY",
"I_SDDOCUMENTCATEGORYTEXT",
"P_SALESCONTRACTPROCESSFLOW10",
"P_SALESCONTRACTPROCESSFLOW40"
],
"ASSOCIATED":
[
"I_CURRENCY",
"I_UNITOFMEASURE"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/