@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: #CONSUMPTION
@AbapCatalog.sqlViewName: 'PSLSQTANPROCF10'
define view P_SlsQtanProcFlow10
as select from P_SlsQtanProcFlow0 as Level0
inner join I_SDDocumentProcessFlow as Level1
on Level0.SalesQuotation = Level1.PrecedingDocument
and (
Level1.SubsequentDocumentCategory = 'B' or --> Quotation
Level1.SubsequentDocumentCategory = 'C' or --> Order
Level1.SubsequentDocumentCategory = 'I' --> Order w/o charge
)
left outer to one join I_SalesDocumentBasic as SalesDocument
on Level1.SubsequentDocument = SalesDocument.SalesDocument
{
//Key
key Level1.SubsequentDocument as Level1Document,
key Level1.SubsequentDocumentItem as Level1DocumentItem,
key Level1.SubsequentDocumentCategory as Level1DocumentCategory,
//SalesQuotation
Level0.SalesQuotation,
Level0.SalesQuotationType,
Level0.SalesQuotationCategory,
//Organization
Level0.SalesOrganization,
Level0.DistributionChannel,
Level0.OrganizationDivision,
//Status
case when
( SalesDocument.OverallTotalDeliveryStatus = 'A' or
SalesDocument.OverallTotalDeliveryStatus = 'B' )
then
'X'
else
''
end as DeliveryDocumentIsRequired,
case when
( SalesDocument.OverallOrdReltdBillgStatus = 'A' or
SalesDocument.OverallOrdReltdBillgStatus = 'B' )
then
'X'
else
''
end as BillingDocumentIsRequired,
//Order relevant for Project e.g Professional Service
'' as SalesOrderIsProjectBased
}
where
// No support for Professional Service
( SalesDocument._SalesDocumentType.OrderTypeForBillingRequest = ' ' and
SalesDocument._SalesDocumentType.SalesDocumentProcessingType != 'P' )
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SALESDOCUMENTBASIC",
"I_SALESDOCUMENTTYPE",
"I_SDDOCUMENTPROCESSFLOW",
"P_SLSQTANPROCFLOW0"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/