@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: 'PSLSORDPROCF0'
@AbapCatalog.preserveKey:true
define view P_SlsOrdProcFlow0
as select distinct from
I_SalesDocument as SalesDocument
left outer to one join P_IntercompanySalesOrder as IntercompanySalesOrder
on SalesDocument.SalesDocument = IntercompanySalesOrder.SalesDocument
{
//Key
key cast( ' ' as vbeln_von) as Level1Document,
key cast( ' ' as posnr_von) as Level1DocumentItem,
//SalesOrder
key cast(SalesDocument.SalesDocument as vdm_sales_order) as SalesOrder,
SalesDocument.SalesDocumentType as SalesOrderType,
//Category
case when IntercompanySalesOrder.SalesDocument <>''
then
'ICSO'
else
SalesDocument.SDDocumentCategory
end as SalesOrderCategory,
//Order relevant for Project e.g Professional Service
case when
(
SalesDocument._SalesDocumentType.OrderTypeForBillingRequest != ' ' or
SalesDocument._SalesDocumentType.SalesDocumentProcessingType = 'P' --> Professional Service
)
then
'X'
else
''
end as SalesOrderIsProjectBased,
//Organization
SalesDocument.SalesOrganization,
SalesDocument.DistributionChannel,
SalesDocument.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,
// Purchase Order by Customer
SalesDocument.PurchaseOrderByCustomer
}
where SalesDocument.SDDocumentCategory = 'C' --> Order
or SalesDocument.SDDocumentCategory = 'I' --> Order w/o charge
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SALESDOCUMENT",
"I_SALESDOCUMENTTYPE",
"P_INTERCOMPANYSALESORDER"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/