@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #S
@VDM.private: true
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck:#NOT_REQUIRED
@AbapCatalog.sqlViewName : 'PSOFISSUESU022'
define view P_SalesOrderInSupplyMfgIssue2
as select from I_ManufacturingOrder --released version of I_MfgOrder
{
key ManufacturingOrder,
ManufacturingOrderCategory,
SalesOrder,
SalesOrderItem,
//All dates needed above for 1. DueDateCalculation and 2.Checking that PO is still open
MfgOrderActualReleaseDate,
MfgOrderActualStartDate,
MfgOrderActualEndDate,
MfgOrderScheduledReleaseDate,
MfgOrderScheduledStartDate,
MfgOrderScheduledEndDate,
MfgOrderItemActualDeliveryDate,
MfgOrderActualCompletionDate, -- when populated: OrderIsTechnicallyCompleted, OrderIsClosed
IsMarkedForDeletion, -- when set: OrderIsDeleted, OrderIsMarkedForDeletion
IsCompletelyDelivered, -- when set: OrderIsDelivered
MfgOrderConfirmedEndDate, -- when populated: OrderIsConfirmed
-------------------------
--Calculate Overdue Flags
-------------------------
// ReleaseDate Overdue ? ("Overdue" means: there is no Actual<Date>, despite Scheduled<Date> is overdue (in past) )
case when MfgOrderActualReleaseDate = '00000000' and MfgOrderScheduledReleaseDate < $session.system_date
then 'X'
else ' '
end as MfgOrderReleasedDateOverdue,
// StartDate Overdue ?
case when MfgOrderActualStartDate = '00000000' and MfgOrderScheduledStartDate < $session.system_date
then 'X'
else ' '
end as MfgOrderStartDateOverdue,
// EndDate Overdue ? (treat ActualEndDate and ActualDeliveryDate together)
case when IsCompletelyDelivered = ' ' and MfgOrderScheduledEndDate <= $session.system_date
then 'X'
else ' '
end as MfgOrderEndDateOverdue
}
-----Old version OP2020, CE2011 has new version
//with parameters
// P_ReferenceDate : sydate
//as select from I_MfgOrder
//
//{
// key ManufacturingOrder,
//
// ManufacturingOrderCategory,
// SalesOrder,
// SalesOrderItem,
//
// MfgOrderActualReleaseDate,
// MfgOrderActualStartDate,
// MfgOrderActualEndDate,
// MfgOrderScheduledReleaseDate,
// MfgOrderScheduledStartDate,
// MfgOrderScheduledEndDate,
//
// MfgOrderItemActualDeliveryDate, --AT19.06.2019: needed in upper model for necessary condition of issue
//
//// )
// case when MfgOrderActualReleaseDate = '00000000' and MfgOrderScheduledReleaseDate < $session.system_date --AT19.06.2019 only when really overdue (changed from <= to <)
// then 'X'
// else ' '
// end as MfgOrderReleasedDateOverdue,
//
//// )
// case when MfgOrderActualStartDate = '00000000' and MfgOrderScheduledStartDate < $session.system_date --AT19.06.2019 only when really overdue (changed from <= to <)
// then 'X'
// else ' '
// end as MfgOrderStartDateOverdue,
//
//// )
// -- AT26.8. also consider ltrmi (MfgOrderItemActualDeliveryDate) together with gltri (MfgOrderActualEndDate)
// case when MfgOrderActualEndDate = '00000000' and MfgOrderItemActualDeliveryDate = '00000000' and MfgOrderScheduledEndDate <= $session.system_date
// then 'X'
// else ' '
// end as MfgOrderEndDateOverdue
//
// }
//
/*+[internal] {
"BASEINFO":
{
"FROM ":
[
"I_MANUFACTURINGORDER"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Depth:
1
2
3
4
5
All
Reload
P_SalesOrderInSupplyMfgIssue2 view