@AbapCatalog.sqlViewName: 'PSCHPDADDLATTR'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.private: true
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.dataClass:#TRANSACTIONAL
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.serviceQuality: #C
define view P_SchedProdnAddlAttribBasic
// as select from I_CapacityRequirement as _CapacityRequirement
// inner join I_CapacityRequirementItemCap as _CapRqmtItmCap on _CapacityRequirement.CapacityRequirement = _CapRqmtItmCap.CapacityRequirement
as select from I_CapacityRequirementItemCap as _CapRqmtItmCap
inner join I_SchedProdnPlngDets as _plngdets on _plngdets.UserName = $session.user
and _plngdets.SchedProdnAppName = 'SCH_PROD'
{
key _plngdets.SimulationSessionID,
key cast( _CapRqmtItmCap._Order.OrderID as pph_cfs_ordernumber ) as OrderID,
key _CapRqmtItmCap.CapacityRequirementItem as CapacityRequirementItem,
key _CapRqmtItmCap.CapacityRqmtItemCapacity,
key cast(_CapRqmtItmCap._Order.OrderCategory as pph_cfs_sch_ordercategory) as OrderCategory,
// key _CapacityRequirement.CapacityRequirement as CapacityRequirement,
key _CapRqmtItmCap._CapacityRequirement.CapacityRequirement as CapacityRequirement,
key cast( _CapRqmtItmCap._Order.Material as matnr) as Product,
key _CapRqmtItmCap._Order.Plant,
case
when _CapRqmtItmCap._Order.PlannedEndTime >= '240000'
then cast(cast(concat(dats_add_days(_CapRqmtItmCap._Order.PlannedEndDate,1,'NULL'),'000000')as abap.numc(15)) as timestamp)
when _CapRqmtItmCap._Order.ScheduledBasicEndTime <= '240000'
then cast(cast(concat(_CapRqmtItmCap._Order.PlannedEndDate,_CapRqmtItmCap._Order.PlannedEndTime)as abap.numc(15)) as timestamp)
end as ScheduledOrderReceiptDateTime,
cast ( ( _CapRqmtItmCap._Order.OrderPlannedTotalQty - _CapRqmtItmCap._Order.OrderConfirmedYieldQty ) as mgvrg ) as OrderPlannedTotalQty,
cast(_CapRqmtItmCap._Order.BaseUnit as meins preserving type) as BaseUnit
}
where
_CapRqmtItmCap._CapacityRequirement.CapacityRequirementOrigin = '1'
// _CapacityRequirement.CapacityRequirementOrigin = '1'
and(
_CapRqmtItmCap._Order.OrderCategory = '10'
or _CapRqmtItmCap._Order.OrderCategory = '40'
or _CapRqmtItmCap._Order.OrderCategory = '30'
)
and(
_CapRqmtItmCap.OperationIsPhase <> '2'
)
union all select from I_CapacityRequirementItemCap as _CapRqmtItmCap
//select from I_CapacityRequirement as _CapacityRequirement
// inner join I_CapacityRequirementItemCap as _CapRqmtItmCap on _CapacityRequirement.CapacityRequirement = _CapRqmtItmCap.CapacityRequirement
inner join I_SchedProdnPlngDets as _plngdets on _plngdets.UserName = $session.user
and _plngdets.SchedProdnAppName = 'SCH_PROD'
{
key _plngdets.SimulationSessionID,
// key cast ( _CapacityRequirement._PlannedOrder.PlannedOrder as pph_cfs_ordernumber) as OrderID,
key cast ( _CapRqmtItmCap._CapacityRequirement._PlannedOrder.PlannedOrder as pph_cfs_ordernumber) as OrderID,
key _CapRqmtItmCap.CapacityRequirementItem as CapacityRequirementItem,
key _CapRqmtItmCap.CapacityRqmtItemCapacity,
// key cast(_CapacityRequirement._PlannedOrder.PlannedOrderCategory as pph_cfs_sch_ordercategory) as OrderCategory,
key cast(_CapRqmtItmCap._CapacityRequirement._PlannedOrder.PlannedOrderCategory as pph_cfs_sch_ordercategory) as OrderCategory,
// key _CapacityRequirement.CapacityRequirement as CapacityRequirement,
key _CapRqmtItmCap._CapacityRequirement.CapacityRequirement as CapacityRequirement,
// key cast ( _CapacityRequirement._PlannedOrder.Product as matnr ) as Product,
key cast ( _CapRqmtItmCap._CapacityRequirement._PlannedOrder.Product as matnr ) as Product,
// key _CapacityRequirement._PlannedOrder.MRPPlant as Plant,
key _CapRqmtItmCap._CapacityRequirement._PlannedOrder.MRPPlant as Plant,
// case
// when _CapacityRequirement._PlannedOrder.PlndOrderPlannedEndTime >= '240000'
// then cast(cast(concat(dats_add_days(_CapacityRequirement._PlannedOrder.PlndOrderPlannedEndDate,1,'NULL'),'000000')as abap.numc(15)) as timestamp)
// when _CapacityRequirement._PlannedOrder.PlndOrderPlannedEndTime <= '240000'
// then cast(cast(concat(_CapacityRequirement._PlannedOrder.PlndOrderPlannedEndDate,_CapacityRequirement._PlannedOrder.PlndOrderPlannedEndTime)as abap.numc(15)) as timestamp)
// end as ScheduledOrderReceiptDateTime,
case
when _CapRqmtItmCap._CapacityRequirement._PlannedOrder.PlndOrderPlannedEndTime >= '240000'
then cast(cast(concat(dats_add_days(_CapRqmtItmCap._CapacityRequirement._PlannedOrder.PlndOrderPlannedEndDate,1,'NULL'),'000000')as abap.numc(15)) as timestamp)
when _CapRqmtItmCap._CapacityRequirement._PlannedOrder.PlndOrderPlannedEndTime <= '240000'
then cast(cast(concat(_CapRqmtItmCap._CapacityRequirement._PlannedOrder.PlndOrderPlannedEndDate,_CapRqmtItmCap._CapacityRequirement._PlannedOrder.PlndOrderPlannedEndTime)as abap.numc(15)) as timestamp)
end as ScheduledOrderReceiptDateTime,
// cast ( _CapacityRequirement._PlannedOrder.PlannedTotalQtyInBaseUnit as mgvrg ) as OrderPlannedTotalQty,
cast ( _CapRqmtItmCap._CapacityRequirement._PlannedOrder.PlannedTotalQtyInBaseUnit as mgvrg ) as OrderPlannedTotalQty,
// cast(_CapacityRequirement._PlannedOrder.BaseUnit as meins preserving type) as BaseUnit
cast(_CapRqmtItmCap._CapacityRequirement._PlannedOrder.BaseUnit as meins preserving type) as BaseUnit
}
where
// _CapacityRequirement.CapacityRequirementOrigin = '2'
// and _CapacityRequirement._PlannedOrder.PlannedOrderCategory = '1'
_CapRqmtItmCap._CapacityRequirement.CapacityRequirementOrigin = '2'
and _CapRqmtItmCap._CapacityRequirement._PlannedOrder.PlannedOrderCategory = '1'
and(
_CapRqmtItmCap.OperationIsPhase <> '2'
)
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CAPACITYREQUIREMENT",
"I_CAPACITYREQUIREMENTITEMCAP",
"I_LOGISTICSORDER",
"I_PLANNEDORDER",
"I_SCHEDPRODNPLNGDETS"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/