I_BillOfOperationsOperation
Bill of Operations Operation
I_BillOfOperationsOperation is a Basic CDS View (Dimension) that provides data about "Bill of Operations Operation" in SAP S/4HANA. It reads from 1 data source (plas) and exposes 15 fields with key fields BillOfOperationsType, BillOfOperationsGroup, BillOfOperationsVariant, BillOfOperationsSequence, BOOOperationInternalID. It has 10 associations to related views. Part of development package VDM_PP_MD_RTG.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| plas | plas | inner |
Associations (10)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_BillOfOperationsType | _BillOfOperationsType | $projection.BillOfOperationsType = _BillOfOperationsType.BillOfOperationsType |
| [1..1] | I_BillOfOperationsGroup | _BillOfOperationsGroup | $projection.BillOfOperationsType = _BillOfOperationsGroup.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperationsGroup.BillOfOperationsGroup -- to root |
| [1..1] | I_BillOfOperations | _BillOfOperations | $projection.BillOfOperationsType = _BillOfOperations.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperations.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BillOfOperations.BillOfOperationsVariant -- to parent |
| [1..1] | I_BillOfOperationsSequence | _BillOfOperationsSequence | $projection.BillOfOperationsType = _BillOfOperationsSequence.BillOfOperationsType and $projection.BillOfOperationsGroup = _BillOfOperationsSequence.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BillOfOperationsSequence.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BillOfOperationsSequence.BillOfOperationsSequence -- to child |
| [1..*] | I_BOOOperationChangeState | _BOOOperationChangeState | $projection.BillOfOperationsType = _BOOOperationChangeState.BillOfOperationsType and $projection.BillOfOperationsGroup = _BOOOperationChangeState.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BOOOperationChangeState.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BOOOperationChangeState.BillOfOperationsSequence and $projection.BOOOperationInternalID = _BOOOperationChangeState.BOOOperationInternalID |
| [0..*] | I_BOOOpBOMItemChangeState | _BOOOpBOMItemChangeState | $projection.BillOfOperationsType = _BOOOpBOMItemChangeState.BillOfOperationsType and $projection.BillOfOperationsGroup = _BOOOpBOMItemChangeState.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BOOOpBOMItemChangeState.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BOOOpBOMItemChangeState.BillOfOperationsSequence and $projection.BOOOperationInternalID = _BOOOpBOMItemChangeState.BOOOperationInternalID |
| [0..*] | I_BOOOpMaterialPRTChangeState | _BOOOpMaterialPRTChangeState | $projection.BillOfOperationsType = _BOOOpMaterialPRTChangeState.BillOfOperationsType and $projection.BillOfOperationsGroup = _BOOOpMaterialPRTChangeState.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BOOOpMaterialPRTChangeState.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BOOOpMaterialPRTChangeState.BillOfOperationsSequence and $projection.BOOOperationInternalID = _BOOOpMaterialPRTChangeState.BOOOperationInternalID |
| [0..*] | I_BOOOpEquipmentPRTChangeState | _BOOOpEquipmentPRTChangeState | $projection.BillOfOperationsType = _BOOOpEquipmentPRTChangeState.BillOfOperationsType and $projection.BillOfOperationsGroup = _BOOOpEquipmentPRTChangeState.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BOOOpEquipmentPRTChangeState.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BOOOpEquipmentPRTChangeState.BillOfOperationsSequence and $projection.BOOOperationInternalID = _BOOOpEquipmentPRTChangeState.BOOOperationInternalID |
| [0..*] | I_BOOOpMiscPRTChangeState | _BOOOpMiscPRTChangeState | $projection.BillOfOperationsType = _BOOOpMiscPRTChangeState.BillOfOperationsType and $projection.BillOfOperationsGroup = _BOOOpMiscPRTChangeState.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BOOOpMiscPRTChangeState.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BOOOpMiscPRTChangeState.BillOfOperationsSequence and $projection.BOOOperationInternalID = _BOOOpMiscPRTChangeState.BOOOperationInternalID |
| [0..*] | I_BOOOpDocumentPRTChangeState | _BOOOpDocumentPRTChangeState | $projection.BillOfOperationsType = _BOOOpDocumentPRTChangeState.BillOfOperationsType and $projection.BillOfOperationsGroup = _BOOOpDocumentPRTChangeState.BillOfOperationsGroup and $projection.BillOfOperationsVariant = _BOOOpDocumentPRTChangeState.BillOfOperationsVariant and $projection.BillOfOperationsSequence = _BOOOpDocumentPRTChangeState.BillOfOperationsSequence and $projection.BOOOperationInternalID = _BOOOpDocumentPRTChangeState.BOOOperationInternalID |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| VDM.viewType | #BASIC | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| ObjectModel.representativeKey | BOOOperationInternalID | view | |
| EndUserText.label | Bill of Operations Operation | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| Metadata.allowExtensions | true | view |
Fields (15)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | BillOfOperationsType | plas | plnty | |
| KEY | BillOfOperationsGroup | plas | plnnr | |
| KEY | BillOfOperationsVariant | plas | plnal | |
| KEY | BillOfOperationsSequence | plas | plnfl | |
| KEY | BOOOperationInternalID | plas | plnkn | |
| _BillOfOperationsType | _BillOfOperationsType | |||
| _BillOfOperationsGroup | _BillOfOperationsGroup | |||
| _BillOfOperations | _BillOfOperations | |||
| _BillOfOperationsSequence | _BillOfOperationsSequence | |||
| _BOOOperationChangeState | _BOOOperationChangeState | |||
| _BOOOpBOMItemChangeState | _BOOOpBOMItemChangeState | |||
| _BOOOpMaterialPRTChangeState | _BOOOpMaterialPRTChangeState | |||
| _BOOOpEquipmentPRTChangeState | _BOOOpEquipmentPRTChangeState | |||
| _BOOOpMiscPRTChangeState | _BOOOpMiscPRTChangeState | |||
| _BOOOpDocumentPRTChangeState | _BOOOpDocumentPRTChangeState |
//@AbapCatalog.sqlViewName: 'IPPBOOOPERATION'
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #BASIC
@Analytics.dataCategory: #DIMENSION
//@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.representativeKey: 'BOOOperationInternalID'
//@AbapCatalog.compiler.compareFilter: true
@EndUserText.label: 'Bill of Operations Operation'
@ObjectModel.usageType: { serviceQuality: #B, sizeCategory: #L, dataClass: #MASTER }
@Metadata.allowExtensions:true
//@AbapCatalog.preserveKey:true
/*+[hideWarning] { "IDS" : [ "KEY_CHECK" ] }*/
//define view I_BillOfOperationsOperation
define view entity I_BillOfOperationsOperation
as select distinct from I_BillOfOperationsOpBasic as plpo
inner join plas on plas.plnty = plpo.BillOfOperationsType
and plas.plnnr = plpo.BillOfOperationsGroup
and plas.plnkn = plpo.BOOOperationInternalID
and plas.datuv <= plpo.ValidityEndDate
and plas.valid_to >= plpo.ValidityStartDate
association [1..1] to I_BillOfOperationsType as _BillOfOperationsType on $projection.BillOfOperationsType = _BillOfOperationsType.BillOfOperationsType
association [1..1] to I_BillOfOperationsGroup as _BillOfOperationsGroup on $projection.BillOfOperationsType = _BillOfOperationsGroup.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BillOfOperationsGroup.BillOfOperationsGroup
-- to root
association [1..1] to I_BillOfOperations as _BillOfOperations on $projection.BillOfOperationsType = _BillOfOperations.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BillOfOperations.BillOfOperationsGroup
and $projection.BillOfOperationsVariant = _BillOfOperations.BillOfOperationsVariant
-- to parent
association [1..1] to I_BillOfOperationsSequence as _BillOfOperationsSequence on $projection.BillOfOperationsType = _BillOfOperationsSequence.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BillOfOperationsSequence.BillOfOperationsGroup
and $projection.BillOfOperationsVariant = _BillOfOperationsSequence.BillOfOperationsVariant
and $projection.BillOfOperationsSequence = _BillOfOperationsSequence.BillOfOperationsSequence
-- to child
association [1..*] to I_BOOOperationChangeState as _BOOOperationChangeState on $projection.BillOfOperationsType = _BOOOperationChangeState.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BOOOperationChangeState.BillOfOperationsGroup
and $projection.BillOfOperationsVariant = _BOOOperationChangeState.BillOfOperationsVariant
and $projection.BillOfOperationsSequence = _BOOOperationChangeState.BillOfOperationsSequence
and $projection.BOOOperationInternalID = _BOOOperationChangeState.BOOOperationInternalID
association [0..*] to I_BOOOpBOMItemChangeState as _BOOOpBOMItemChangeState on $projection.BillOfOperationsType = _BOOOpBOMItemChangeState.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BOOOpBOMItemChangeState.BillOfOperationsGroup
and $projection.BillOfOperationsVariant = _BOOOpBOMItemChangeState.BillOfOperationsVariant
and $projection.BillOfOperationsSequence = _BOOOpBOMItemChangeState.BillOfOperationsSequence
and $projection.BOOOperationInternalID = _BOOOpBOMItemChangeState.BOOOperationInternalID
association [0..*] to I_BOOOpMaterialPRTChangeState as _BOOOpMaterialPRTChangeState on $projection.BillOfOperationsType = _BOOOpMaterialPRTChangeState.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BOOOpMaterialPRTChangeState.BillOfOperationsGroup
and $projection.BillOfOperationsVariant = _BOOOpMaterialPRTChangeState.BillOfOperationsVariant
and $projection.BillOfOperationsSequence = _BOOOpMaterialPRTChangeState.BillOfOperationsSequence
and $projection.BOOOperationInternalID = _BOOOpMaterialPRTChangeState.BOOOperationInternalID
association [0..*] to I_BOOOpEquipmentPRTChangeState as _BOOOpEquipmentPRTChangeState on $projection.BillOfOperationsType = _BOOOpEquipmentPRTChangeState.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BOOOpEquipmentPRTChangeState.BillOfOperationsGroup
and $projection.BillOfOperationsVariant = _BOOOpEquipmentPRTChangeState.BillOfOperationsVariant
and $projection.BillOfOperationsSequence = _BOOOpEquipmentPRTChangeState.BillOfOperationsSequence
and $projection.BOOOperationInternalID = _BOOOpEquipmentPRTChangeState.BOOOperationInternalID
association [0..*] to I_BOOOpMiscPRTChangeState as _BOOOpMiscPRTChangeState on $projection.BillOfOperationsType = _BOOOpMiscPRTChangeState.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BOOOpMiscPRTChangeState.BillOfOperationsGroup
and $projection.BillOfOperationsVariant = _BOOOpMiscPRTChangeState.BillOfOperationsVariant
and $projection.BillOfOperationsSequence = _BOOOpMiscPRTChangeState.BillOfOperationsSequence
and $projection.BOOOperationInternalID = _BOOOpMiscPRTChangeState.BOOOperationInternalID
association [0..*] to I_BOOOpDocumentPRTChangeState as _BOOOpDocumentPRTChangeState on $projection.BillOfOperationsType = _BOOOpDocumentPRTChangeState.BillOfOperationsType
and $projection.BillOfOperationsGroup = _BOOOpDocumentPRTChangeState.BillOfOperationsGroup
and $projection.BillOfOperationsVariant = _BOOOpDocumentPRTChangeState.BillOfOperationsVariant
and $projection.BillOfOperationsSequence = _BOOOpDocumentPRTChangeState.BillOfOperationsSequence
and $projection.BOOOperationInternalID = _BOOOpDocumentPRTChangeState.BOOOperationInternalID
{
@ObjectModel.foreignKey.association: '_BillOfOperationsType'
key plas.plnty as BillOfOperationsType,
@ObjectModel.foreignKey.association: '_BillOfOperationsGroup'
key plas.plnnr as BillOfOperationsGroup,
@ObjectModel.foreignKey.association: '_BillOfOperations'
key plas.plnal as BillOfOperationsVariant,
@ObjectModel.foreignKey.association: '_BillOfOperationsSequence'
key plas.plnfl as BillOfOperationsSequence,
key plas.plnkn as BOOOperationInternalID,
_BillOfOperationsType,
_BillOfOperationsGroup,
// !! DO NOT USE @ObjectModel.association.type: [ #TO_COMPOSITION_ROOT ]
_BillOfOperations,
// !! DO NOT USE @ObjectModel.association.type: [ #TO_COMPOSITION_PARENT ]
_BillOfOperationsSequence,
// !! DO NOT USE @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_BOOOperationChangeState,
// !! DO NOT USE @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_BOOOpBOMItemChangeState,
// !! DO NOT USE @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_BOOOpMaterialPRTChangeState,
// !! DO NOT USE @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_BOOOpEquipmentPRTChangeState,
// !! DO NOT USE @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_BOOOpMiscPRTChangeState,
// !! DO NOT USE @ObjectModel.association.type: [ #TO_COMPOSITION_CHILD ]
_BOOOpDocumentPRTChangeState
}
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