I_Plant
Plant
I_Plant is a Basic CDS View (Dimension) that provides data about "Plant" in SAP S/4HANA. It reads from 1 data source (t001w) and exposes 22 fields with key field Plant. It has 8 associations to related views. It is exposed through 15 OData services (UI_HCMAPPROVETIMESHEET, UI_HCMCOMPLIANCE, UI_HCMCOMPLIANCE_EMP, ...). It is used in 7 Fiori applications: Approve Timesheets (S/4HANA / Version 4), My Timesheet (S/4HANA / Version 4), Manage Purchase Orders - Fashion, ....
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| t001w | t001w | from |
Associations (8)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_Address | _Address | $projection.AddressID = _Address.AddressID |
| [0..*] | I_OrganizationAddress | _OrganizationAddress | $projection.AddressID = _OrganizationAddress.AddressID and _OrganizationAddress.AddressPersonID = '' |
| [0..1] | I_Customer | _Customer | $projection.PlantCustomer = _Customer.Customer |
| [0..1] | I_Supplier | _Supplier | $projection.PlantSupplier = _Supplier.Supplier |
| [0..*] | I_PlantPurchasingOrganization | _ResponsiblePurchaseOrg | $projection.Plant = _ResponsiblePurchaseOrg.Plant |
| [0..*] | I_PlantCategoryT | _PlantCategoryText | $projection.PlantCategory = _PlantCategoryText.PlantCategory |
| [0..1] | I_ValuationArea | _ValuationArea | $projection.ValuationArea = _ValuationArea.ValuationArea |
| [0..*] | I_MRPArea | _MRPArea | $projection.Plant = _MRPArea.MRPAreaPlant |
Annotations (23)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IPLANT | view | |
| AbapCatalog.preserveKey | true | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.buffering.status | #ACTIVE | view | |
| AbapCatalog.buffering.type | #GENERIC | view | |
| AbapCatalog.buffering.numberOfKeyFields | 1 | view | |
| EndUserText.label | Plant | view | |
| ObjectModel.usageType.sizeCategory | #S | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.dataClass | #CUSTOMIZING | view | |
| ObjectModel.representativeKey | Plant | view | |
| ObjectModel.sapObjectNodeType.name | Plant | view | |
| ObjectModel.modelingPattern | #ANALYTICAL_DIMENSION | view | |
| AccessControl.authorizationCheck | #NOT_REQUIRED | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| VDM.viewType | #BASIC | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Analytics.dataExtraction.enabled | true | view | |
| Search.searchable | true | view | |
| Metadata.allowExtensions | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
OData Services (15)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_HCMAPPROVETIMESHEET | UI_HCMAPPROVETIMESHEET | V2 | C1 | NOT_RELEASED |
| UI_HCMCOMPLIANCE | UI_HCMCOMPLIANCE_V2 | V2 | C1 | NOT_RELEASED |
| UI_HCMCOMPLIANCE_EMP | UI_HCMCOMPLIANCE_EMP_V2 | V2 | C1 | NOT_RELEASED |
| UI_HCMMYTIMESHEET | API_HCMMYTIMESHEET | V2 | C2 | NOT_RELEASED |
| UI_HCMMYTIMESHEET | UI_HCMMYTIMESHEET | V2 | C1 | NOT_RELEASED |
| UI_KANBANCONTAINER_MONITOR | UI_KANBANCONTAINER_MONITOR | V4 | C1 | NOT_RELEASED |
| UI_OPACTYSFIGROUP_EXECUTE | UI_OPACTYSFIGROUP_EXECUTE | V2 | C1 | NOT_RELEASED |
| UI_OPACTYSFIGROUP_MANAGE | UI_OPACTYSFIGROUP_MANAGE | V2 | C1 | NOT_RELEASED |
| UI_PEGGINGASSIGNMENTWITHCOST | UI_PGGNGASSIGNMENTWITHCOST | V2 | C1 | NOT_RELEASED |
| UI_PRODUCTLIST | UI_PRODUCTLIST | V2 | C1 | NOT_RELEASED |
| UI_PURCHASEORDERACCRS_DISPLAY | UI_PURCHASEORDERACCRS_DSP | V2 | C1 | NOT_RELEASED |
| UI_RFM_PO_MNG | UI_RFM_PO_MNG | V2 | C1 | NOT_RELEASED |
| UI_RFM_PRVSNLSLSCONTR | UI_RFM_PRVSNLSLSCONTR | V2 | C1 | NOT_RELEASED |
| UI_RFM_SLSORD_PRGS_MONITOR | UI_RFM_SLSORD_PRGS_MONITOR | V2 | C1 | NOT_RELEASED |
| UI_TRDGCONTR_MANAGEV4 | UI_TRDGCONTR_MANAGEV4 | V4 | C1 | NOT_RELEASED |
Fiori Apps (7)
| App ID | App Name | Type | Description |
|---|---|---|---|
| F2585A | Approve Timesheets (S/4HANA / Version 4) | Analytical | With this app, you as a manager can quickly view all pending approvals of your direct reports and approve timesheets using desktop or mobile devices. |
| F3074A | My Timesheet (S/4HANA / Version 4) | Transactional | You, as an employee, can use this app to manage your time entries quickly and efficiently using a desktop or a mobile device. |
| F5391 | Manage Purchase Orders - Fashion | Transactional | |
| F5392 | Monitor Sales Order Progress - Fashion | Transactional | Monitor Sales Order Progress - Fashion : This app is used to track and further monitor for the different status of the Sales Orders and thereby further actions can be taken accordingly by the business, |
| F5398 | Manage Provisional Sales Contracts - Fashion | Transactional | Manage Provisional Sales Contracts - Fashion. This is used to create the special types of contracts and the call off |
| F6518 | Product List | Analytical | The app displays and performs the analysis for different attributes of products that are part of various master data tables on one screen. |
| F6773 | Process Serial Number Groups | Transactional | S/4HANA Manufacturing Production Engineering and Operations (PEO) 2022 FPS0 release offers a new functionality to collectively process any number of serial numbers as a group at an operation activity. The Process Serial Number Groups app allows production operators to create an maintain a group of serial numbers to be processed at an operation activity, execute SAS and some of the non-SAS actions (i.e. Start, Labor On, Complete, Pause, etc.) once for the complete group, view non-traceable components, PRTs and documents assigned to an operation activity as well as keep the activity log recorded for each serial number individually. |
Approve Timesheets (S/4HANA / Version 4)
Business Role: Manager - HR Info
With this app, you as a manager can quickly view all pending approvals of your direct reports and approve timesheets using desktop, tablet or mobile devices. This app provides the following key features: Review timesheets for all your employees and view time entry compliance at a glance. View all time entries pending approval or that have already been approved. Filter time entries based on a date range, on specific attributes, or per employee. View designation and contact information of each employee. Approve or reject records by week.
My Timesheet (S/4HANA / Version 4)
Business Role: Employee - HR Info
You, as an employee, can use this app to manage your time entries quickly and efficiently using a desktop or a mobile device. You can use this app to do the following: enter time records for the chosen personnel assignment using form entry or assignments. create or import assignments and manage them. create and manage assignment groups. use horizontal or grid view for time entries. view the calendar for a chosen month on a desktop device, and for a given week on a mobile device. copy and paste time records. access the to-do list. switch between the allowed data entry profiles for a given time entry.
Manage Purchase Orders - Fashion
Business Role: Purchaser (Retail)
With this app, you can now consolidate purchase order items into an existing purchase order based on the settings in the rule maintained using the Configure Purchase Order Consolidation Rule app.
Monitor Sales Order Progress - Fashion
Business Role: Order Fulfillment Specialist (Retail)
With this app, you can monitor the status, that is, the overall progress of account assigned sales orders. This application allows you to identify the conditions based on quantity and status. It checks for exceptions and helps you take informed decisions and necessary actions.
Manage Provisional Sales Contracts - Fashion
Business Role: Order Fulfillment Specialist (Retail)
With this app, you can display the provisional sales contract details at header and generic product levels, so you can get a complete view of different items in these contracts. You can also use this app to create provisional sales contracts as well as create subsequent orders (call-offs) for these contracts.
Fields (22)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Plant | werks | ||
| PlantName | ||||
| ValuationArea | bwkey | |||
| PlantCustomer | kunnr | |||
| PlantSupplier | lifnr | |||
| FactoryCalendar | fabkl | |||
| DefaultPurchasingOrganization | ekorg | |||
| SalesOrganization | vkorg | |||
| AddressID | adrnr | |||
| PlantCategory | vlfkz | |||
| DistributionChannel | vtweg | |||
| Division | spart | |||
| Language | spras | |||
| IsMarkedForArchiving | achvm | |||
| _Address | _Address | |||
| _OrganizationAddress | _OrganizationAddress | |||
| _Customer | _Customer | |||
| _Supplier | _Supplier | |||
| _ResponsiblePurchaseOrg | _ResponsiblePurchaseOrg | |||
| _PlantCategoryText | _PlantCategoryText | |||
| _ValuationArea | _ValuationArea | |||
| _MRPArea | _MRPArea |
@AbapCatalog:{
sqlViewName: 'IPLANT',
preserveKey: true,
compiler.compareFilter: true,
buffering : { status : #ACTIVE, type: #GENERIC, numberOfKeyFields: 1 }
}
@EndUserText.label: 'Plant'
@ObjectModel:{
usageType:{
sizeCategory: #S,
serviceQuality: #A,
dataClass:#CUSTOMIZING
},
representativeKey: 'Plant',
sapObjectNodeType: {
name: 'Plant'
},
modelingPattern: #ANALYTICAL_DIMENSION,
supportedCapabilities: [#ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #EXTRACTION_DATA_SOURCE]
}
@AccessControl:{
authorizationCheck: #NOT_REQUIRED,
personalData.blocking: #NOT_REQUIRED,
privilegedAssociations: ['_Address', '_OrganizationAddress']
}
@VDM:{
viewType: #BASIC,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@Analytics:{
dataCategory: #DIMENSION,
dataExtraction.enabled: true
}
@Search.searchable: true
@Metadata:{
allowExtensions: true,
ignorePropagatedAnnotations: true
}
define view I_Plant
as select from t001w
association [0..1] to I_Address as _Address on $projection.AddressID = _Address.AddressID
association [0..*] to I_OrganizationAddress as _OrganizationAddress on $projection.AddressID = _OrganizationAddress.AddressID
and _OrganizationAddress.AddressPersonID = ''
association [0..1] to I_Customer as _Customer on $projection.PlantCustomer = _Customer.Customer
association [0..1] to I_Supplier as _Supplier on $projection.PlantSupplier = _Supplier.Supplier
association [0..*] to I_PlantPurchasingOrganization as _ResponsiblePurchaseOrg on $projection.Plant = _ResponsiblePurchaseOrg.Plant
association [0..*] to I_PlantCategoryT as _PlantCategoryText on $projection.PlantCategory = _PlantCategoryText.PlantCategory
association [0..1] to I_ValuationArea as _ValuationArea on $projection.ValuationArea = _ValuationArea.ValuationArea
association [0..*] to I_MRPArea as _MRPArea on $projection.Plant = _MRPArea.MRPAreaPlant
{
@ObjectModel.text.element: ['PlantName']
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #HIGH
key werks as Plant,
@Semantics.text: true
@Search.defaultSearchElement: true
@Search.fuzzinessThreshold: 0.8
@Search.ranking: #HIGH
cast(name1 as werks_name preserving type ) as PlantName,
bwkey as ValuationArea,
@ObjectModel.foreignKey.association: '_Customer'
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_Customer_VH',
element: 'Customer' }
}]
kunnr as PlantCustomer,
@ObjectModel.foreignKey.association: '_Supplier'
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_Supplier_VH',
element: 'Supplier' }
}]
lifnr as PlantSupplier,
fabkl as FactoryCalendar,
ekorg as DefaultPurchasingOrganization,
vkorg as SalesOrganization,
@ObjectModel.foreignKey.association: '_Address'
adrnr as AddressID,
@ObjectModel.sapObjectNodeTypeReference: 'PlantCategory'
vlfkz as PlantCategory,
vtweg as DistributionChannel,
spart as Division,
spras as Language,
achvm as IsMarkedForArchiving, //2949107
@API: {
element: {
releaseState: #DEPRECATED,
successor: '_OrganizationAddress'
}
}
@VDM: {
lifecycle: {
status: #DEPRECATED,
successor: '_OrganizationAddress'
}
}
_Address,
_OrganizationAddress,
_Customer,
_Supplier,
_ResponsiblePurchaseOrg,
_PlantCategoryText,
_ValuationArea,
_MRPArea
}
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