P_InternalOrderGroupNode
P_InternalOrderGroupNode is a Composite CDS View 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.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_Setnode | I_Setnode | from |
| P_InternalOrderGroupLeaf | IOGLeaf | union_all |
Parameters (1)
| Name | Type | Default |
|---|---|---|
| P_InternalOrder | aufnr |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA