@ClientHandling.algorithm: #SESSION_VARIABLE //Inserted by VDM CDS Suite Plugin
@AbapCatalog.sqlViewName: 'PMMPOSCHELINE'
//Commented by VDM CDS Suite Plugin:@ClientDependent: true
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType : #CONSUMPTION
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.private : true
@AccessControl.personalData.blocking: #NOT_REQUIRED
//@EndUserText.label: 'Purchase Order Schedule Line Details'
define view P_PurchaseOrderScheduleLine
with parameters
P_StartDate : bedat,
P_EndDate : bedat
as select from I_PurchaseOrderScheduleLine as ScheduleLine
association[1..1] to I_PurchaseOrder as _PurOrd on $projection.PurchaseOrder = _PurOrd.PurchaseOrder
association [1..1] to I_PurchaseOrderItem as _PurOrdItem on $projection.PurchaseOrder = _PurOrdItem.PurchaseOrder
and $projection.PurchaseOrderItem = _PurOrdItem.PurchaseOrderItem
{
key PurchaseOrder,
key PurchaseOrderItem,
key ScheduleLine,
// case when ScheduleLine.SchedLineStscDeliveryDate is null or ScheduleLine.SchedLineStscDeliveryDate = '00000000'
// then ScheduleLine.ScheduleLineDeliveryDate
// else ScheduleLine.SchedLineStscDeliveryDate
// end as SchedLineStscDeliveryDate,
ScheduleLine.ScheduleLineOrderQuantity,
ScheduleLine.PurchaseOrderQuantityUnit,
_PurOrd.PurchaseOrderDate,
_PurOrdItem.NetAmount,
_PurOrdItem.DocumentCurrency,
ScheduleLineDeliveryDate,
SchedLineStscDeliveryDate,
_PurOrd.PurchasingOrganization,
_PurOrd.PurchasingGroup,
_PurOrd.Supplier,
_PurOrd.CompanyCode,
_PurOrdItem.Material,
_PurOrdItem.MaterialGroup,
_PurOrdItem.Plant ,
_PurOrdItem.OrderQuantity
}
where _PurOrd.PurchasingCompletenessStatus = ''
and _PurOrdItem.PurchasingDocumentDeletionCode = ''
and _PurOrd.Supplier <> ''
and _PurOrd.PurchaseOrderDate >= $parameters.P_StartDate
and _PurOrd.PurchaseOrderDate <= $parameters.P_EndDate
and ( _PurOrdItem.IsStatisticalItem = '' or _PurOrdItem.Material <> '')
and not (
_PurOrdItem.ProductType = '2'
or(
_PurOrdItem.PurchaseOrderItemCategory = '9'
or _PurOrdItem.PurchaseOrderItemCategory = '1'
or _PurOrdItem.PurchaseOrderItemCategory = 'A'
)
)
//association[1..1] to I_PurchaseOrder as _PurOrd on $projection.PurchaseOrder = _PurOrd.PurchaseOrder and _PurOrd.PurchasingCompletenessStatus = '' and _PurOrd.Supplier <> ''
// and _PurOrd.PurchaseOrderDate >= $parameters.P_StartDate and _PurOrd.PurchaseOrderDate <= $parameters.P_EndDate
//association [1..1] to I_PurchaseOrderItem as _PurOrdItem on $projection.PurchaseOrder = _PurOrdItem.PurchaseOrder
// and $projection.PurchaseOrderItem = _PurOrdItem.PurchaseOrderItem
// and _PurOrdItem.PurchasingDocumentDeletionCode = ''
//inner join I_PurchaseOrder as _PurOrd on ScheduleLine.PurchaseOrder = _PurOrd.PurchaseOrder and _PurOrd.PurchasingCompletenessStatus = '' and _PurOrd.Supplier <> ''
// and _PurOrd.PurchaseOrderDate >= $parameters.P_StartDate and _PurOrd.PurchaseOrderDate <= $parameters.P_EndDate
//inner join I_PurchaseOrderItem as _PurOrdItem on ScheduleLine.PurchaseOrder = _PurOrdItem.PurchaseOrder
// and ScheduleLine.PurchaseOrderItem = _PurOrdItem.PurchaseOrderItem
// and _PurOrdItem.PurchasingDocumentDeletionCode = ''
//
//{
// key ScheduleLine.PurchaseOrder,
// key ScheduleLine.PurchaseOrderItem,
// key ScheduleLine,
//
//// case when ScheduleLine.SchedLineStscDeliveryDate is null or ScheduleLine.SchedLineStscDeliveryDate = '00000000'
//// then ScheduleLine.ScheduleLineDeliveryDate
//// else ScheduleLine.SchedLineStscDeliveryDate
//// end as SchedLineStscDeliveryDate,
//
// ScheduleLine.ScheduleLineOrderQuantity,
// ScheduleLine.PurchaseOrderQuantityUnit,
// _PurOrd.PurchaseOrderDate,
// ScheduleLineDeliveryDate,
// SchedLineStscDeliveryDate,
//
// _PurOrd.PurchasingOrganization,
// _PurOrd.PurchasingGroup,
// _PurOrd.Supplier,
// _PurOrd.CompanyCode,
//
// _PurOrdItem.Material,
// _PurOrdItem.MaterialGroup,
// _PurOrdItem.Plant ,
// _PurOrdItem.OrderQuantity
//}
////where _PurOrd.PurchasingCompletenessStatus = ''
//// and _PurOrdItem.PurchasingDocumentDeletionCode = ''
//// and _PurOrd.Supplier <> ''
//// and _PurOrd.PurchaseOrderDate >= $parameters.P_StartDate
//// and _PurOrd.PurchaseOrderDate <= $parameters.P_EndDate
//
//union select from I_PurchaseOrderScheduleLine as ScheduleLine
//inner join I_Schedgagrmthdr as _SchHdr on ScheduleLine.PurchaseOrder = _SchHdr.SchedulingAgreement and _SchHdr.PurchasingCompletenessStatus = '' and _SchHdr.Supplier <> ''
// and _SchHdr.PurchasingDocumentOrderDate >= $parameters.P_StartDate and _SchHdr.PurchasingDocumentOrderDate <= $parameters.P_EndDate
// and _SchHdr.PurchasingDocumentDeletionCode = ''
//inner join I_SchedgAgrmtItm as _SchItem on ScheduleLine.PurchaseOrder = _SchItem.SchedulingAgreement
// and ScheduleLine.PurchaseOrderItem = _SchItem.SchedulingAgreementItem
// and _SchItem.PurchasingDocumentDeletionCode = ''
//
//{
// key ScheduleLine.PurchaseOrder,
// key ScheduleLine.PurchaseOrderItem,
// key ScheduleLine,
//
//// case when ScheduleLine.SchedLineStscDeliveryDate is null or ScheduleLine.SchedLineStscDeliveryDate = '00000000'
//// then ScheduleLine.ScheduleLineDeliveryDate
//// else ScheduleLine.SchedLineStscDeliveryDate
//// end as SchedLineStscDeliveryDate,
//
// ScheduleLine.ScheduleLineOrderQuantity,
// ScheduleLine.PurchaseOrderQuantityUnit,
// _SchHdr.PurchasingDocumentOrderDate as PurchaseOrderDate,
// ScheduleLineDeliveryDate,
// SchedLineStscDeliveryDate,
//
// _SchHdr.PurchasingOrganization,
// _SchHdr.PurchasingGroup,
// _SchHdr.Supplier,
// _SchHdr.CompanyCode,
//
// _SchHdr._SchedgAgrmtItm.Material,
// _SchHdr._SchedgAgrmtItm.MaterialGroup,
// _SchHdr._SchedgAgrmtItm.Plant ,
// _SchHdr._SchedgAgrmtItm.TargetQuantity as OrderQuantity
//}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASEORDER",
"I_PURCHASEORDERITEM",
"I_PURCHASEORDERSCHEDULELINE"
],
"ASSOCIATED":
[
"I_PURCHASEORDER",
"I_PURCHASEORDERITEM"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/