I_SFIDocInfoRecdObjLink
Shop Floor Item Document Info Record Object Link
I_SFIDocInfoRecdObjLink is a Composite CDS View that provides data about "Shop Floor Item Document Info Record Object Link" in SAP S/4HANA. It reads from 2 data sources (P_MfgOrderDocInfoRecdObjLink, I_ShopFloorItem) and exposes 46 fields with key fields LinkedSAPObjectKey, DocumentType, DocumentInfoRecord, DocumentPart, DocumentVersion. It has 8 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| P_MfgOrderDocInfoRecdObjLink | doc | from |
| I_ShopFloorItem | sfi | inner |
Associations (8)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_MfgOrderItem | _MfgOrderItem | $projection.ManufacturingOrder = _MfgOrderItem.ManufacturingOrder and $projection.ManufacturingOrderItem = _MfgOrderItem.ManufacturingOrderItem |
| [1..1] | I_ShopFloorItem | _ShopFloorItem | $projection.ShopFloorItem = _ShopFloorItem.ShopFloorItem |
| [0..1] | I_OpActyNtwkInstance | _OpActyNtwkInstance | $projection.OpActyNtwkInstance = _OpActyNtwkInstance.OpActyNtwkInstance |
| [0..1] | I_OperationActivityInstance | _OperationActivityInstance | $projection.OpActyNtwkInstance = _OperationActivityInstance.OpActyNtwkInstance and $projection.OpActyNtwkElement = _OperationActivityInstance.OpActyNtwkElement |
| [1..1] | I_MfgOrderSequence | _MfgOrderSequence | $projection.ManufacturingOrder = _MfgOrderSequence.ManufacturingOrder and $projection.ManufacturingOrderSequence = _MfgOrderSequence.ManufacturingOrderSequence |
| [1..1] | I_MfgOrderOperationBySemanKey | _MfgOrderOperation | $projection.ManufacturingOrder = _MfgOrderOperation.ManufacturingOrder and $projection.ManufacturingOrderSequence = _MfgOrderOperation.ManufacturingOrderSequence and $projection.ManufacturingOrderOperation = _MfgOrderOperation.ManufacturingOrderOperation |
| [1..1] | I_OANSegmentType | _OANSegmentType | $projection.OpActyNtwkSegmentType = _OANSegmentType.OpActyNtwkSegmentType |
| [0..1] | I_ChangeMaster | _ChangeNumber | $projection.ChangeNumber = _ChangeNumber.ChangeNumber |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IPPSFIDOCOBJL | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.representativeKey | LinkedSAPObjectKey | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| VDM.viewType | #COMPOSITE | view | |
| EndUserText.label | Shop Floor Item Document Info Record Object Link | view |
Fields (46)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | LinkedSAPObjectKey | P_MfgOrderDocInfoRecdObjLink | LinkedSAPObjectKey | |
| KEY | DocumentType | P_MfgOrderDocInfoRecdObjLink | DocumentType | |
| KEY | DocumentInfoRecord | P_MfgOrderDocInfoRecdObjLink | DocumentInfoRecord | |
| KEY | DocumentPart | |||
| KEY | DocumentVersion | |||
| CreationDateTime | ||||
| CreatedByUser | ||||
| ChangedDateTime | ||||
| ChangedBy | ||||
| InternalDocumentStatus | P_MfgOrderDocInfoRecdObjLink | InternalDocumentStatus | ||
| ChangeNumber | P_MfgOrderDocInfoRecdObjLink | ChangeNumber | ||
| AuthorizationGroup | P_MfgOrderDocInfoRecdObjLink | AuthorizationGroup | ||
| ResponsiblePersonName | ||||
| DocInfoRecdLinkStatus | P_MfgOrderDocInfoRecdObjLink | DocInfoRecdLinkStatus | ||
| DocInfoRecdObjectLinkStatus | P_MfgOrderDocInfoRecdObjLink | DocInfoRecdObjectLinkStatus | ||
| ObjectTypeDatabaseTable | P_MfgOrderDocInfoRecdObjLink | ObjectTypeDatabaseTable | ||
| DocLinkDirectionIsActive | P_MfgOrderDocInfoRecdObjLink | DocLinkDirectionIsActive | ||
| IsDefaultDocument | P_MfgOrderDocInfoRecdObjLink | IsDefaultDocument | ||
| DocInfoRecdIsMarkedForDeletion | P_MfgOrderDocInfoRecdObjLink | DocInfoRecdIsMarkedForDeletion | ||
| ManufacturingOrder | ||||
| ManufacturingOrderItem | ||||
| ShopFloorItem | I_ShopFloorItem | ShopFloorItem | ||
| ManufacturingOrderSequence | ||||
| ManufacturingOrderOperation | ||||
| OpActyNtwkInstance | OA | OpActyNtwkInstance | ||
| OpActyNtwkElement | OA | OpActyNtwkElement | ||
| OpActyNtwkSegmentType | oan | OpActyNtwkSegmentType | ||
| ManufacturingOrderCategory | P_MfgOrderDocInfoRecdObjLink | ManufacturingOrderCategory | ||
| ManufacturingOrderType | P_MfgOrderDocInfoRecdObjLink | ManufacturingOrderType | ||
| _CreatedUser | P_MfgOrderDocInfoRecdObjLink | _CreatedUser | ||
| _ChangedUser | P_MfgOrderDocInfoRecdObjLink | _ChangedUser | ||
| _DocumentNumber | P_MfgOrderDocInfoRecdObjLink | _DocumentNumber | ||
| _DocumentType | P_MfgOrderDocInfoRecdObjLink | _DocumentType | ||
| _DocumentVersion | P_MfgOrderDocInfoRecdObjLink | _DocumentVersion | ||
| _DocumentPart | P_MfgOrderDocInfoRecdObjLink | _DocumentPart | ||
| _ChangeNumber | _ChangeNumber | |||
| _MfgOrder | P_MfgOrderDocInfoRecdObjLink | _MfgOrder | ||
| _MfgOrderItem | _MfgOrderItem | |||
| _ShopFloorItem | _ShopFloorItem | |||
| _OpActyNtwkInstance | _OpActyNtwkInstance | |||
| _OperationActivityInstance | _OperationActivityInstance | |||
| _OANSegmentType | _OANSegmentType | |||
| _MfgOrderSequence | _MfgOrderSequence | |||
| _MfgOrderOperation | _MfgOrderOperation | |||
| _MfgOrderCategory | P_MfgOrderDocInfoRecdObjLink | _MfgOrderCategory | ||
| _MfgOrderType | P_MfgOrderDocInfoRecdObjLink | _MfgOrderType |
@AbapCatalog.sqlViewName: 'IPPSFIDOCOBJL'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations:true
@ObjectModel.representativeKey:'LinkedSAPObjectKey'
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #L, dataClass: #MIXED}
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Shop Floor Item Document Info Record Object Link'
define view I_SFIDocInfoRecdObjLink
as select from P_MfgOrderDocInfoRecdObjLink as doc
inner join I_ShopFloorItem as sfi on sfi.ManufacturingOrder = doc.ManufacturingOrder
and sfi.ManufacturingOrderItem = doc.ManufacturingOrderItem
and sfi.SerialNumber = doc.SerialNumber
left outer to one join I_OpActyNtwkInstance as oan on oan.ManufacturingOrder = doc.ManufacturingOrder
and oan.OrderOperationInternalID = doc.OrderOperationInternalID
and oan.OpActyNtwkSegmentType = doc.OpActyNtwkSegmentType
left outer to one join I_OpActyNtwkElement as oan_elmnt on oan_elmnt.OperationActivityNetwork = oan.OperationActivityNetwork
and oan_elmnt.OpActyNtwkVersionCounter = oan.OpActyNtwkVersionCounter
and oan_elmnt.OpActyNtwkElementExternalID = doc.OpActyNtwkElementExternalID
left outer to one join I_OperationActivityInstance as OA on OA.OpActyNtwkInstance = oan.OpActyNtwkInstance
and OA.OpActyNtwkElement = oan_elmnt.OpActyNtwkElement
association [0..1] to I_MfgOrderItem as _MfgOrderItem on $projection.ManufacturingOrder = _MfgOrderItem.ManufacturingOrder
and $projection.ManufacturingOrderItem = _MfgOrderItem.ManufacturingOrderItem
association [1..1] to I_ShopFloorItem as _ShopFloorItem on $projection.ShopFloorItem = _ShopFloorItem.ShopFloorItem
association [0..1] to I_OpActyNtwkInstance as _OpActyNtwkInstance on $projection.OpActyNtwkInstance = _OpActyNtwkInstance.OpActyNtwkInstance
association [0..1] to I_OperationActivityInstance as _OperationActivityInstance on $projection.OpActyNtwkInstance = _OperationActivityInstance.OpActyNtwkInstance
and $projection.OpActyNtwkElement = _OperationActivityInstance.OpActyNtwkElement
association [1..1] to I_MfgOrderSequence as _MfgOrderSequence on $projection.ManufacturingOrder = _MfgOrderSequence.ManufacturingOrder
and $projection.ManufacturingOrderSequence = _MfgOrderSequence.ManufacturingOrderSequence
association [1..1] to I_MfgOrderOperationBySemanKey as _MfgOrderOperation on $projection.ManufacturingOrder = _MfgOrderOperation.ManufacturingOrder
and $projection.ManufacturingOrderSequence = _MfgOrderOperation.ManufacturingOrderSequence
and $projection.ManufacturingOrderOperation = _MfgOrderOperation.ManufacturingOrderOperation
association [1..1] to I_OANSegmentType as _OANSegmentType on $projection.OpActyNtwkSegmentType = _OANSegmentType.OpActyNtwkSegmentType
association [0..1] to I_ChangeMaster as _ChangeNumber on $projection.ChangeNumber = _ChangeNumber.ChangeNumber
{
key doc.LinkedSAPObjectKey,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_DocInfoRecdDocTypeStdVH', element: 'DocumentInfoRecordDocType' } } ]
@ObjectModel.foreignKey.association: '_DocumentType'
key doc.DocumentType,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_DocInfoRecdDocNmbrStdVH', element: 'DocumentInfoRecordDocNumber' } } ]
@ObjectModel.foreignKey.association: '_DocumentNumber'
key doc.DocumentInfoRecord,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_DocInfoRecdDocPrtStdVH', element: 'DocumentInfoRecordDocPart' } } ]
@ObjectModel.foreignKey.association: '_DocumentPart'
key cast(doc.DocumentPart as pph_doktl preserving type) as DocumentPart,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_DocInfoRecdDocVersStdVH', element: 'DocumentInfoRecordDocVersion' } } ]
@ObjectModel.foreignKey.association: '_DocumentVersion'
key cast(doc.DocumentVersion as pph_dokvr preserving type) as DocumentVersion,
// Administrative Data
@Semantics.systemDateTime.createdAt: true
cast(doc.CreationDateTime as hp_created_at preserving type) as CreationDateTime,
@Semantics.user.createdBy: true
cast(doc.CreatedByUser as ernam preserving type) as CreatedByUser,
@Semantics.systemDateTime.lastChangedAt: true
cast(doc.ChangedDateTime as hp_changed_at preserving type) as ChangedDateTime,
@Semantics.user.lastChangedBy: true
cast(doc.LastChangedByUser as aenam preserving type) as ChangedBy,
// Document Data
doc.InternalDocumentStatus,
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_ChangeMasterStdVH', element: 'ChangeNumber' } } ]
@ObjectModel.foreignKey.association: '_ChangeNumber'
doc.ChangeNumber,
doc.AuthorizationGroup,
@Semantics.user.responsible: true
cast(doc.ResponsiblePersonName as pph_dwnam preserving type) as ResponsiblePersonName,
// Miscellaneous Data
doc.DocInfoRecdLinkStatus,
doc.DocInfoRecdObjectLinkStatus,
doc.ObjectTypeDatabaseTable,
@Semantics.booleanIndicator
doc.DocLinkDirectionIsActive,
doc.IsDefaultDocument,
doc.DocInfoRecdIsMarkedForDeletion,
// Mfg Order Data
@Consumption.valueHelpDefinition: [ { entity: { name: 'I_MfgOrderStdVH', element: 'ManufacturingOrder' } } ]
@ObjectModel.foreignKey.association: '_MfgOrder'
cast(doc.ManufacturingOrder as co_aufnr preserving type) as ManufacturingOrder,
@ObjectModel.foreignKey.association: '_MfgOrderItem'
cast(doc.ManufacturingOrderItem as pph_itemc preserving type) as ManufacturingOrderItem,
@ObjectModel.foreignKey.association: '_ShopFloorItem'
sfi.ShopFloorItem,
@ObjectModel.foreignKey.association: '_MfgOrderSequence'
cast(doc.ManufacturingOrderSequence as plnfolge preserving type) as ManufacturingOrderSequence,
@ObjectModel.foreignKey.association: '_MfgOrderOperation'
cast(doc.ManufacturingOrderOperation as vornr_auf preserving type) as ManufacturingOrderOperation,
@ObjectModel.foreignKey.association: '_OpActyNtwkInstance'
OA.OpActyNtwkInstance,
@ObjectModel.foreignKey.association: '_OperationActivityInstance'
OA.OpActyNtwkElement,
@ObjectModel.foreignKey.association: '_OANSegmentType'
oan.OpActyNtwkSegmentType,
@ObjectModel.foreignKey.association: '_MfgOrderCategory'
doc.ManufacturingOrderCategory,
@ObjectModel.foreignKey.association: '_MfgOrderType'
doc.ManufacturingOrderType,
// Associations
doc._CreatedUser,
doc._ChangedUser,
doc._DocumentNumber,
doc._DocumentType,
doc._DocumentVersion,
doc._DocumentPart,
_ChangeNumber,
doc._MfgOrder,
_MfgOrderItem,
_ShopFloorItem,
_OpActyNtwkInstance,
_OperationActivityInstance,
_OANSegmentType,
_MfgOrderSequence,
_MfgOrderOperation,
doc._MfgOrderCategory,
doc._MfgOrderType
}
where
doc.MfgOrderLinkedObjType = 'S'; // doc links on SFI level only
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_OPACTYNTWKELEMENT",
"I_OPACTYNTWKINSTANCE",
"I_OPERATIONACTIVITYINSTANCE",
"I_SHOPFLOORITEM",
"P_MFGORDERDOCINFORECDOBJLINK"
],
"ASSOCIATED":
[
"I_CHANGEMASTER",
"I_DOCUMENTINFORECORDDOCNUMBER",
"I_DOCUMENTINFORECORDDOCPRT",
"I_DOCUMENTINFORECORDDOCTYPE",
"I_DOCUMENTINFORECORDDOCVERSION",
"I_MANUFACTURINGORDER",
"I_MFGORDERCATEGORY",
"I_MFGORDERITEM",
"I_MFGORDEROPERATIONBYSEMANKEY",
"I_MFGORDERSEQUENCE",
"I_MFGORDERTYPE",
"I_OANSEGMENTTYPE",
"I_OPACTYNTWKINSTANCE",
"I_OPERATIONACTIVITYINSTANCE",
"I_SHOPFLOORITEM",
"I_USER"
],
"BASE":
[
"P_MFGORDERDOCINFORECDOBJLINK"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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