P_SchedProdnAddlAttribBasic

DDL: P_SCHEDPRODNADDLATTRIBBASIC SQL: PSCHPDADDLATTR Type: view COMPOSITE

P_SchedProdnAddlAttribBasic is a Composite CDS View in SAP S/4HANA. It reads from 4 data sources (I_CapacityRequirementItemCap, I_CapacityRequirementItemCap, I_SchedProdnPlngDets, I_SchedProdnPlngDets) and exposes 19 fields with key fields SimulationSessionID, OrderID, CapacityRequirementItem, CapacityRqmtItemCapacity, OrderCategory.

Data Sources (4)

SourceAliasJoin Type
I_CapacityRequirementItemCap _CapRqmtItmCap from
I_CapacityRequirementItemCap _CapRqmtItmCap union_all
I_SchedProdnPlngDets _plngdets inner
I_SchedProdnPlngDets _plngdets inner

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PSCHPDADDLATTR view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.private true view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.serviceQuality #C view

Fields (19)

KeyFieldSource TableSource FieldDescription
KEY SimulationSessionID I_SchedProdnPlngDets SimulationSessionID
KEY OrderID
KEY CapacityRequirementItem I_CapacityRequirementItemCap CapacityRequirementItem
KEY CapacityRqmtItemCapacity I_CapacityRequirementItemCap CapacityRqmtItemCapacity
KEY OrderCategory
KEY CapacityRequirement
KEY Product
KEY Plant
OrderPlannedTotalQty
SimulationSessionID
KEY OrderID
KEY CapacityRequirementItem I_CapacityRequirementItemCap CapacityRequirementItem
KEY CapacityRqmtItemCapacity I_CapacityRequirementItemCap CapacityRqmtItemCapacity
KEY OrderCategory
KEY CapacityRequirement
KEY Product
KEY Plant
OrderPlannedTotalQty
BaseUnit
@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":""
}
}*/