P_SftyInstrnTextBlockFactory
P_SftyInstrnTextBlockFactory is a Consumption CDS View in SAP S/4HANA. It reads from 7 data sources and exposes 31 fields with key fields EHSLocationUUID, SafetyInstructionType, SafetyInstructionSubType, SafetyInstructionType, SafetyInstructionSubType.
Data Sources (7)
| Source | Alias | Join Type |
|---|---|---|
| I_EHSLocation | I_EHSLocation | from |
| I_EHSLocationHierarchyNode | I_EHSLocationHierarchyNode | inner |
| I_EHSLocationHierarchyNode | I_EHSLocationHierarchyNode | inner |
| I_EHSLocationHierarchyRevision | I_EHSLocationHierarchyRevision | inner |
| I_EHSLocationHierarchyRevision | I_EHSLocationHierarchyRevision | inner |
| I_SafetyInstructionDefinition | I_SafetyInstructionDefinition | inner |
| I_SafetyInstructionDefinition | I_SafetyInstructionDefinition | inner |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PFSITBFCTR | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| VDM.viewType | #CONSUMPTION | view | |
| VDM.private | true | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (31)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | EHSLocationUUID | I_EHSLocation | EHSLocationUUID | |
| KEY | SafetyInstructionType | I_SafetyInstructionDefinition | SafetyInstructionType | |
| KEY | SafetyInstructionSubType | I_SafetyInstructionDefinition | SafetyInstructionSubType | |
| EHSLocationType | ||||
| Plant | I_EHSLocation | Plant | ||
| EHSLocationStatus | I_EHSLocation | EHSLocationStatus | ||
| EHSLocationAuthorizationGroup | ||||
| CostCenter | I_EHSLocation | CostCenter | ||
| Country | I_EHSLocation | Country | ||
| CompanyCode | I_EHSLocation | CompanyCode | ||
| BusinessArea | I_EHSLocation | BusinessArea | ||
| _Plant | I_EHSLocation | _Plant | ||
| _EHSLocationStatus | I_EHSLocation | _EHSLocationStatus | ||
| _BusinessArea | I_EHSLocation | _BusinessArea | ||
| _CompanyCode | I_EHSLocation | _CompanyCode | ||
| EHSLocationUUID | ||||
| KEY | SafetyInstructionType | |||
| KEY | SafetyInstructionSubType | |||
| EHSLocationType | ||||
| Plant | I_EHSLocation | Plant | ||
| EHSLocationStatus | I_EHSLocation | EHSLocationStatus | ||
| EHSLocationAuthorizationGroup | ||||
| CostCenter | I_EHSLocation | CostCenter | ||
| Country | I_EHSLocation | Country | ||
| CompanyCode | I_EHSLocation | CompanyCode | ||
| BusinessArea | I_EHSLocation | BusinessArea | ||
| _Plant | I_EHSLocation | _Plant | ||
| _EHSLocationStatus | I_EHSLocation | _EHSLocationStatus | ||
| _BusinessArea | I_EHSLocation | _BusinessArea | ||
| _CompanyCode | I_EHSLocation | _CompanyCode | ||
| _Country | I_EHSLocation | _Country |
@AbapCatalog: {
sqlViewName: 'PFSITBFCTR',
compiler.compareFilter: true,
preserveKey: true
}
@VDM: {
viewType: #CONSUMPTION,
private: true
}
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ClientHandling.algorithm: #SESSION_VARIABLE
define view P_SftyInstrnTextBlockFactory
as select from I_EHSLocation
inner join I_SafetyInstructionDefinition on I_EHSLocation.Plant = I_SafetyInstructionDefinition.Plant
and I_EHSLocation.EHSLocationType = I_SafetyInstructionDefinition.SafetyInstructionLocType
inner join I_EHSLocationHierarchyRevision on I_EHSLocationHierarchyRevision.RevisionStartDate <= $session.system_date
and I_EHSLocationHierarchyRevision.RevisionEndDate >= $session.system_date
inner join I_EHSLocationHierarchyNode on I_EHSLocationHierarchyNode.EHSLocationUUID = I_EHSLocation.EHSLocationUUID
and I_EHSLocationHierarchyNode.EHSLocHierarchyRevisionUUID = I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID
{
key I_EHSLocation.EHSLocationUUID,
key I_SafetyInstructionDefinition.SafetyInstructionType,
key I_SafetyInstructionDefinition.SafetyInstructionSubType,
cast ( I_EHSLocation.EHSLocationType as ehfnd_loc_type_code_nc preserving type ) as EHSLocationType,
I_EHSLocation.Plant,
I_EHSLocation.EHSLocationStatus,
cast( I_EHSLocation.EHSLocationAuthorizationGroup as ehfnd_loc_auth_group_nc preserving type ) as EHSLocationAuthorizationGroup,
I_EHSLocation.CostCenter,
I_EHSLocation.Country,
I_EHSLocation.CompanyCode,
I_EHSLocation.BusinessArea,
I_EHSLocation._Plant,
I_EHSLocation._EHSLocationStatus,
I_EHSLocation._BusinessArea,
I_EHSLocation._CompanyCode,
I_EHSLocation._Country
}
where
I_EHSLocation.RevisionStartDate <= $session.system_date
and I_EHSLocation.RevisionEndDate >= $session.system_date
union all
select distinct from I_EHSLocation
inner join I_SafetyInstructionDefinition on I_EHSLocation.Plant = I_SafetyInstructionDefinition.Plant
and I_EHSLocation.EHSLocationType = I_SafetyInstructionDefinition.SafetyInstructionLocType
inner join I_EHSLocationHierarchyRevision on I_EHSLocationHierarchyRevision.RevisionStartDate <= $session.system_date
and I_EHSLocationHierarchyRevision.RevisionEndDate >= $session.system_date
inner join I_EHSLocationHierarchyNode on I_EHSLocationHierarchyNode.EHSLocationUUID = I_EHSLocation.EHSLocationUUID
and I_EHSLocationHierarchyNode.EHSLocHierarchyRevisionUUID = I_EHSLocationHierarchyRevision.EHSLocHierarchyRevisionUUID
{
key I_EHSLocation.EHSLocationUUID,
key '' as SafetyInstructionType,
key '' as SafetyInstructionSubType,
cast ( I_EHSLocation.EHSLocationType as ehfnd_loc_type_code_nc preserving type ) as EHSLocationType,
I_EHSLocation.Plant,
I_EHSLocation.EHSLocationStatus,
cast( I_EHSLocation.EHSLocationAuthorizationGroup as ehfnd_loc_auth_group_nc preserving type ) as EHSLocationAuthorizationGroup,
I_EHSLocation.CostCenter,
I_EHSLocation.Country,
I_EHSLocation.CompanyCode,
I_EHSLocation.BusinessArea,
I_EHSLocation._Plant,
I_EHSLocation._EHSLocationStatus,
I_EHSLocation._BusinessArea,
I_EHSLocation._CompanyCode,
I_EHSLocation._Country
}
where
I_EHSLocation.RevisionStartDate <= $session.system_date
and I_EHSLocation.RevisionEndDate >= $session.system_date
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