I_Batch
Batch information
I_Batch is a Composite CDS View (Dimension) that provides data about "Batch information" in SAP S/4HANA. It reads from 4 data sources (I_BatchConfiguration, I_BatchCrossPlant, I_BatchDistinct, P_BatchPlant) and exposes 77 fields with key fields Plant, Material, Batch, Material, Batch. It has 3 associations to related views. It is exposed through 1 OData service (UI_RFM_SLSORD_PRGS_MONITOR). It is used in 1 Fiori application: Monitor Sales Order Progress - Fashion.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| I_BatchConfiguration | I_BatchConfiguration | inner |
| I_BatchCrossPlant | I_BatchCrossPlant | inner |
| I_BatchDistinct | I_BatchDistinct | from |
| P_BatchPlant | P_BatchPlant | union_all |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_Product | _Product | $projection.Material = _Product.Product |
| [0..1] | I_ClfnObjectClassForKeyDate | _ClfnObjectClassForKeyDate | $projection.ClfnObjectInternalID = _ClfnObjectClassForKeyDate.ClfnObjectInternalID |
| [0..*] | I_ClfnObjectCharcValForKeyDate | _ClfnObjectCharcValForKeyDate | $projection.ClfnObjectInternalID = _ClfnObjectCharcValForKeyDate.ClfnObjectInternalID |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IBATCH | view | |
| AbapCatalog.preserveKey | true | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| EndUserText.label | Batch information | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.representativeKey | Batch | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Metadata.allowExtensions | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_RFM_SLSORD_PRGS_MONITOR | UI_RFM_SLSORD_PRGS_MONITOR | V2 | C1 | NOT_RELEASED |
Fiori Apps (1)
| App ID | App Name | Type | Description |
|---|---|---|---|
| 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, |
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.
Fields (77)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Plant | Plant | ||
| KEY | Material | Material | ||
| KEY | Batch | Batch | ||
| BatchIsMarkedForDeletion | BatchIsMarkedForDeletion | |||
| MatlBatchIsInRstrcdUseStock | MatlBatchIsInRstrcdUseStock | |||
| Supplier | Supplier | |||
| BatchBySupplier | BatchBySupplier | |||
| CountryOfOrigin | CountryOfOrigin | |||
| RegionOfOrigin | RegionOfOrigin | |||
| MatlBatchAvailabilityDate | MatlBatchAvailabilityDate | |||
| ShelfLifeExpirationDate | ShelfLifeExpirationDate | |||
| ManufactureDate | ManufactureDate | |||
| NextInspectionDate | NextInspectionDate | |||
| LastGoodsReceiptDate | LastGoodsReceiptDate | |||
| FreeDefinedDate1 | FreeDefinedDate1 | |||
| FreeDefinedDate2 | FreeDefinedDate2 | |||
| FreeDefinedDate3 | FreeDefinedDate3 | |||
| FreeDefinedDate4 | FreeDefinedDate4 | |||
| FreeDefinedDate5 | FreeDefinedDate5 | |||
| FreeDefinedDate6 | FreeDefinedDate6 | |||
| BatchCertificationDate | BatchCertificationDate | |||
| DefinitionOfBatchLevel | DefinitionOfBatchLevel | |||
| IsSubordinateBatch | ||||
| BatchIdentifyingPlant | Plant | |||
| CreationDateTime | CreationDateTime | |||
| LastChangeDateTime | LastChangeDateTime | |||
| ClfnObjectInternalID | ClfnObjectInternalID | |||
| BatchExtWhseMgmtInternalId | BatchExtWhseMgmtInternalId | |||
| StockSegment | StockSegment | |||
| ExportAndImportProductGroup | ExportAndImportProductGroup | |||
| InventoryValuationType | InventoryValuationType | |||
| _Plant | _Plant | |||
| _Material | _Material | |||
| _Supplier | _Supplier | |||
| _CountryOfOrigin | _CountryOfOrigin | |||
| _RegionOfOrigin | _RegionOfOrigin | |||
| _Product | _Product | |||
| _ClfnObjectClassForKeyDate | _ClfnObjectClassForKeyDate | |||
| Plant | ||||
| KEY | Material | P_BatchPlant | Material | |
| KEY | Batch | P_BatchPlant | Batch | |
| BatchIsMarkedForDeletion | I_BatchCrossPlant | BatchIsMarkedForDeletion | ||
| MatlBatchIsInRstrcdUseStock | I_BatchCrossPlant | MatlBatchIsInRstrcdUseStock | ||
| Supplier | I_BatchCrossPlant | Supplier | ||
| BatchBySupplier | I_BatchCrossPlant | BatchBySupplier | ||
| CountryOfOrigin | I_BatchCrossPlant | CountryOfOrigin | ||
| RegionOfOrigin | I_BatchCrossPlant | RegionOfOrigin | ||
| MatlBatchAvailabilityDate | I_BatchCrossPlant | MatlBatchAvailabilityDate | ||
| ShelfLifeExpirationDate | I_BatchCrossPlant | ShelfLifeExpirationDate | ||
| ManufactureDate | I_BatchCrossPlant | ManufactureDate | ||
| NextInspectionDate | I_BatchCrossPlant | NextInspectionDate | ||
| LastGoodsReceiptDate | I_BatchCrossPlant | LastGoodsReceiptDate | ||
| FreeDefinedDate1 | I_BatchCrossPlant | FreeDefinedDate1 | ||
| FreeDefinedDate2 | I_BatchCrossPlant | FreeDefinedDate2 | ||
| FreeDefinedDate3 | I_BatchCrossPlant | FreeDefinedDate3 | ||
| FreeDefinedDate4 | I_BatchCrossPlant | FreeDefinedDate4 | ||
| FreeDefinedDate5 | I_BatchCrossPlant | FreeDefinedDate5 | ||
| FreeDefinedDate6 | I_BatchCrossPlant | FreeDefinedDate6 | ||
| BatchCertificationDate | I_BatchCrossPlant | BatchCertificationDate | ||
| DefinitionOfBatchLevel | ||||
| IsSubordinateBatch | ||||
| BatchIdentifyingPlant | ||||
| CreationDateTime | I_BatchCrossPlant | CreationDateTime | ||
| LastChangeDateTime | I_BatchCrossPlant | LastChangeDateTime | ||
| ClfnObjectInternalID | I_BatchCrossPlant | ClfnObjectInternalID | ||
| BatchExtWhseMgmtInternalId | P_BatchPlant | BatchExtWhseMgmtInternalId | ||
| StockSegment | I_BatchCrossPlant | StockSegment | ||
| ExportAndImportProductGroup | I_BatchCrossPlant | ExportAndImportProductGroup | ||
| InventoryValuationType | P_BatchPlant | InventoryValuationType | ||
| _Plant | _Plant | |||
| _Material | P_BatchPlant | _Material | ||
| _Supplier | I_BatchCrossPlant | _Supplier | ||
| _CountryOfOrigin | I_BatchCrossPlant | _CountryOfOrigin | ||
| _RegionOfOrigin | I_BatchCrossPlant | _RegionOfOrigin | ||
| _Product | _Product | |||
| _ClfnObjectClassForKeyDate | _ClfnObjectClassForKeyDate | |||
| _ClfnObjectCharcValForKeyDate | _ClfnObjectCharcValForKeyDate |
@AbapCatalog.sqlViewName: 'IBATCH'
@AbapCatalog.preserveKey: true
@AbapCatalog.compiler.compareFilter: true
@EndUserText.label: 'Batch information'
@AccessControl.authorizationCheck: #CHECK
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass:#MASTER
@ObjectModel.representativeKey: 'Batch'
@ObjectModel.supportedCapabilities: [
#SQL_DATA_SOURCE,
#CDS_MODELING_DATA_SOURCE,
#CDS_MODELING_ASSOCIATION_TARGET,
#ANALYTICAL_DIMENSION
]
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@Analytics.dataCategory: #DIMENSION
@Metadata.allowExtensions:true
@Metadata.ignorePropagatedAnnotations:true
define view I_Batch as
select from I_BatchDistinct {
@ObjectModel.foreignKey.association: '_Plant'
key Plant,
@ObjectModel.foreignKey.association: '_Material'
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_MaterialStdVH',
element: 'Material' }
}]
key Material,
key Batch,
BatchIsMarkedForDeletion,
MatlBatchIsInRstrcdUseStock,
@ObjectModel.foreignKey.association: '_Supplier'
@Consumption.valueHelpDefinition: [
{ entity: { name: 'I_Supplier_VH',
element: 'Supplier' }
}]
Supplier,
BatchBySupplier,
@ObjectModel.foreignKey.association: '_CountryOfOrigin'
CountryOfOrigin,
@ObjectModel.foreignKey.association: '_RegionOfOrigin'
RegionOfOrigin,
MatlBatchAvailabilityDate,
ShelfLifeExpirationDate,
ManufactureDate,
NextInspectionDate,
LastGoodsReceiptDate,
FreeDefinedDate1,
FreeDefinedDate2,
FreeDefinedDate3,
FreeDefinedDate4,
FreeDefinedDate5,
FreeDefinedDate6,
BatchCertificationDate,
DefinitionOfBatchLevel,
cast(' ' as subordinate_batch preserving type ) as IsSubordinateBatch,
Plant as BatchIdentifyingPlant,
@Semantics.systemDateTime.createdAt: true
CreationDateTime,
@Semantics.systemDateTime.lastChangedAt: true
LastChangeDateTime,
ClfnObjectInternalID,
BatchExtWhseMgmtInternalId,
StockSegment,
ExportAndImportProductGroup,
InventoryValuationType,
_Plant,
_Material,
_Supplier,
_CountryOfOrigin,
_RegionOfOrigin,
_Product,
_ClfnObjectClassForKeyDate,
_ClfnObjectCharcValForKeyDate
}
union all
// Finally consider the case that a customer has cross-plant batches but uses the value help and searches by
// plant. In this case, both tables are filled but the main attributes are on I_BatchCrossPlant.
// This will lead to additional entries to the first read from I_BatchCrossPlant having the Plant as part of
// the key. It will not lead to additional entries if the batch is not cross-plant as I_BatchCrossPlant would
// be empty in that case and thus the result of the inner join.
select from P_BatchPlant
inner join I_BatchConfiguration on DefinitionOfBatchLevel <> '0'
inner join I_BatchCrossPlant on P_BatchPlant.Material = I_BatchCrossPlant.Material and
P_BatchPlant.Batch = I_BatchCrossPlant.Batch
association [1..1] to I_Product as _Product on $projection.Material = _Product.Product
association [0..1] to I_ClfnObjectClassForKeyDate as _ClfnObjectClassForKeyDate on $projection.ClfnObjectInternalID = _ClfnObjectClassForKeyDate.ClfnObjectInternalID
association [0..*] to I_ClfnObjectCharcValForKeyDate as _ClfnObjectCharcValForKeyDate on $projection.ClfnObjectInternalID = _ClfnObjectCharcValForKeyDate.ClfnObjectInternalID
{
@ObjectModel.foreignKey.association: '_Plant'
key P_BatchPlant.Plant,
@ObjectModel.foreignKey.association: '_Material'
key P_BatchPlant.Material,
key P_BatchPlant.Batch,
I_BatchCrossPlant.BatchIsMarkedForDeletion,
I_BatchCrossPlant.MatlBatchIsInRstrcdUseStock,
@ObjectModel.foreignKey.association: '_Supplier'
I_BatchCrossPlant.Supplier,
I_BatchCrossPlant.BatchBySupplier,
@ObjectModel.foreignKey.association: '_CountryOfOrigin'
I_BatchCrossPlant.CountryOfOrigin,
@ObjectModel.foreignKey.association: '_RegionOfOrigin'
I_BatchCrossPlant.RegionOfOrigin,
I_BatchCrossPlant.MatlBatchAvailabilityDate,
I_BatchCrossPlant.ShelfLifeExpirationDate,
I_BatchCrossPlant.ManufactureDate,
I_BatchCrossPlant.NextInspectionDate,
I_BatchCrossPlant.LastGoodsReceiptDate,
I_BatchCrossPlant.FreeDefinedDate1,
I_BatchCrossPlant.FreeDefinedDate2,
I_BatchCrossPlant.FreeDefinedDate3,
I_BatchCrossPlant.FreeDefinedDate4,
I_BatchCrossPlant.FreeDefinedDate5,
I_BatchCrossPlant.FreeDefinedDate6,
I_BatchCrossPlant.BatchCertificationDate,
cast('1' as kzdch) as DefinitionOfBatchLevel,
cast('X' as subordinate_batch preserving type ) as IsSubordinateBatch,
cast(' ' as werks_d preserving type) as BatchIdentifyingPlant,
@Semantics.systemDateTime.createdAt: true
I_BatchCrossPlant.CreationDateTime,
@Semantics.systemDateTime.lastChangedAt: true
I_BatchCrossPlant.LastChangeDateTime,
I_BatchCrossPlant.ClfnObjectInternalID,
P_BatchPlant.BatchExtWhseMgmtInternalId,
I_BatchCrossPlant.StockSegment,
I_BatchCrossPlant.ExportAndImportProductGroup,
P_BatchPlant.InventoryValuationType,
_Plant,
P_BatchPlant._Material,
I_BatchCrossPlant._Supplier,
I_BatchCrossPlant._CountryOfOrigin,
I_BatchCrossPlant._RegionOfOrigin,
_Product,
_ClfnObjectClassForKeyDate,
_ClfnObjectCharcValForKeyDate
}
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