P_InternalOrderGroupNode

DDL: P_INTERNALORDERGROUPNODE Type: view COMPOSITE Package: ODATA_WHERE_USED_INTERNALORDER

WUIO Groups - Node

P_InternalOrderGroupNode is a Composite CDS View that provides data about "WUIO Groups - Node" in SAP S/4HANA. It reads from 2 data sources (I_Setnode, P_InternalOrderGroupLeaf) and exposes 24 fields with key fields SetClass, SetSubClass, SetID, SetLineNumber, SetSubClass. It has 2 associations to related views. Part of development package ODATA_WHERE_USED_INTERNALORDER.

Data Sources (2)

SourceAliasJoin Type
I_Setnode I_Setnode from
P_InternalOrderGroupLeaf IOGLeaf union_all

Parameters (1)

NameTypeDefault
P_InternalOrder aufnr

Associations (2)

CardinalityTargetAliasCondition
[0..*] P_InternalOrderGroupNode _parent $projection.ChildSetClass = _parent.SetClass and $projection.ChildSetSubClass = _parent.SetSubClass and $projection.ChildSetID = _parent.SetID
[0..*] P_InternalOrderGroupNode _Parent $projection.ChildSetClass = _Parent.SetClass and $projection.ChildSetSubClass = _Parent.SetSubClass and $projection.ChildSetID = _Parent.SetID

Annotations (6)

NameValueLevelField
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AbapCatalog.sqlViewName PWUIOGRPNODE view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.private true view
VDM.viewType #COMPOSITE view

Fields (24)

KeyFieldSource TableSource FieldDescription
KEY SetClass I_Setnode SetClass
KEY SetSubClass I_Setnode SetSubClass
KEY SetID I_Setnode SetID
KEY SetLineNumber I_Setnode SetLineNumber
ChildSetClass ChildSetClass
ChildSetSubClass ChildSetSubClass
ChildSetID ChildSetID
SetNodeIsLeaf SetNodeIsLeaf
SetRangeFromValue SetRangeFromValue
SetRangeToValue SetRangeToValue
_parent _parent
SetClass
KEY SetSubClass P_InternalOrderGroupLeaf SetSubClass
KEY SetID P_InternalOrderGroupLeaf SetID
KEY SetLineNumber P_InternalOrderGroupLeaf SetLineNumber
KEY LeafSetLineNumber P_InternalOrderGroupLeaf SetLineNumber
ChildSetClass P_InternalOrderGroupLeaf SetClass
ChildSetSubClass P_InternalOrderGroupLeaf SetSubClass
ChildSetID P_InternalOrderGroupLeaf SetID
SetNodeIsLeaf SetNodeIsLeaf
SetRangeFromValue SetRangeFromValue
SetRangeToValue SetRangeToValue
_Parent _Parent
_Set P_InternalOrderGroupLeaf _Set
@AbapCatalog: {
  compiler.compareFilter: true,
  preserveKey: true,
  sqlViewName: 'PWUIOGRPNODE'
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM: {
  private: true,
  viewType: #COMPOSITE
}
define view P_InternalOrderGroupNode
  with parameters
    P_InternalOrder : aufnr
  as select from I_Setnode
    left outer to one join P_InternalOrderGroupLeaf as IOGleaf
      on I_Setnode.ChildSetClass       = IOGleaf.SetClass
        and I_Setnode.ChildSetSubClass = IOGleaf.SetSubClass
        and I_Setnode.ChildSetID       = IOGleaf.SetID
        and IOGleaf.SetRangeFromValue <= :P_InternalOrder
        and IOGleaf.SetRangeToValue   >= :P_InternalOrder
    association [0..*] to P_InternalOrderGroupNode as _parent
      on $projection.ChildSetClass       = _parent.SetClass
        and $projection.ChildSetSubClass = _parent.SetSubClass
        and $projection.ChildSetID       = _parent.SetID
{
  //i_setnode

  key I_Setnode.SetClass,
  key I_Setnode.SetSubClass,
  key I_Setnode.SetID,
  key I_Setnode.SetLineNumber,
  key IOGleaf.SetLineNumber as leafsetlinenumber,
  
  ChildSetClass,
  ChildSetSubClass,
  ChildSetID,
  SetNodeIsLeaf,
  SetRangeFromValue,
  SetRangeToValue,

  /* associations */
  _parent,

  //i_setnode

  i_setnode._Set
}
where I_Setnode.SetClass = '0103'

// add leaves those stand as root themselves, therefore they are not a part of the setnode table

union all
  select from P_InternalOrderGroupLeaf as IOGLeaf
    left outer to one join I_Setnode
      on IOGLeaf.SetClass = I_Setnode.ChildSetClass
        and IOGLeaf.SetSubClass = I_Setnode.ChildSetSubClass
        and IOGLeaf.SetID = I_Setnode.ChildSetID
    association [0..*] to P_InternalOrderGroupNode as _Parent
      on $projection.ChildSetClass       = _Parent.SetClass
        and $projection.ChildSetSubClass = _Parent.SetSubClass
        and $projection.ChildSetID       = _Parent.SetID
{
  //I_Setnode

  key IOGLeaf.SetClass,
  key IOGLeaf.SetSubClass,
  key IOGLeaf.SetID,
  key IOGLeaf.SetLineNumber,
  key IOGLeaf.SetLineNumber as LeafSetLineNumber,
  
  IOGLeaf.SetClass as ChildSetClass,
  IOGLeaf.SetSubClass as ChildSetSubClass,
  IOGLeaf.SetID as ChildSetID,
  SetNodeIsLeaf,
  SetRangeFromValue,
  SetRangeToValue,

  /* Associations */
  _Parent,

  //I_Setnode

  IOGLeaf._Set
}
where I_Setnode.ChildSetClass is null
  and IOGLeaf.SetClass = '0103'
  and IOGLeaf.SetRangeFromValue <= :P_InternalOrder
  and IOGLeaf.SetRangeToValue   >= :P_InternalOrder