I_ReservationDocumentItem

DDL: I_RESERVATIONDOCUMENTITEM Type: view BASIC

Reservation Document Item

I_ReservationDocumentItem is a Basic CDS View (Dimension) that provides data about "Reservation Document Item" in SAP S/4HANA. It reads from 2 data sources (I_ReservationItem, I_ReservationDocumentHeader) and exposes 67 fields with key fields Reservation, ReservationItem, RecordType. It has 7 associations to related views.

Data Sources (2)

SourceAliasJoin Type
I_ReservationItem _ReservationItem from
I_ReservationDocumentHeader _rkpf inner

Associations (7)

CardinalityTargetAliasCondition
[1..1] I_ReservationDocumentHeader _ReservationDocumentHeader $projection.Reservation = _ReservationDocumentHeader.Reservation
[0..1] I_ReservationDocRecordType _ReservationDocRecordType $projection.RecordType = _ReservationDocRecordType.RecordType
[1..1] I_Product _Product $projection.Product = _Product.Product
[1..1] P_ProductPlantBasic _ProductPlant $projection.Product = _ProductPlant.Product and $projection.Plant = _ProductPlant.Plant
[0..1] I_BatchPlant _BatchPlant $projection.Product = _BatchPlant.Material and $projection.Plant = _BatchPlant.Plant and $projection.Batch = _BatchPlant.Batch --released PO I-views cannot be assiated because not yet marked as dimension --
[0..1] I_PurchaseOrderAPI01 _PurchaseOrder $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder --
[0..1] I_PurchaseOrderItemAPI01 _PurchaseOrderItem $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder -- and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName IRESVNDOCITM view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
EndUserText.label Reservation Document Item view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.representativeKey ReservationItem view
ObjectModel.modelingPattern #ANALYTICAL_DIMENSION view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.viewType #BASIC view
Analytics.dataCategory #DIMENSION view
Metadata.ignorePropagatedAnnotations true view
Metadata.allowExtensions true view

Fields (67)

KeyFieldSource TableSource FieldDescription
KEY Reservation I_ReservationItem Reservation
KEY ReservationItem I_ReservationItem ReservationItem
KEY RecordType I_ReservationItem RecordType
Plant Plant
StorageLocation StorageLocation
Product Material
Batch Batch
InventorySpecialStockType InventorySpecialStockType
SpecialStockIdfgWBSElement SpecialStockIdfgWBSElement
GoodsMovementType I_ReservationItem GoodsMovementType
RequirementType RequirementType
ReservationItemCreationCode ReservationItemCreationCode
MatlCompRequirementDate MatlCompRequirementDate
ManufacturingOrderOperation ManufacturingOrderOperation
GoodsMovementIsAllowed GoodsMovementIsAllowed
DebitCreditCode DebitCreditCode
BaseUnit BaseUnit
GLAccount GLAccount
ResvnAccountIsEnteredManually ResvnAccountIsEnteredManually
EntryUnit EntryUnit
QuantityIsFixed QuantityIsFixed
CompanyCodeCurrency CompanyCodeCurrency
IssuingOrReceivingPlant I_ReservationItem IssuingOrReceivingPlant
IssuingOrReceivingStorageLoc I_ReservationItem IssuingOrReceivingStorageLoc
PurchasingDocument PurchasingDocument
PurchasingDocumentItem PurchasingDocumentItem
ResvnItmRequiredQtyInBaseUnit ResvnItmRequiredQtyInBaseUnit
ConfdQtyForATPInBaseUoM ConfdQtyForATPInBaseUoM
ReservationItemIsFinallyIssued ReservationItemIsFinallyIssued
ReservationItmIsMarkedForDeltn ReservationItmIsMarkedForDeltn
ResvnItmRequiredQtyInEntryUnit ResvnItmRequiredQtyInEntryUnit
ResvnItmWithdrawnQtyInBaseUnit ResvnItmWithdrawnQtyInBaseUnit
ResvnItmWithdrawnAmtInCCCrcy ResvnItmWithdrawnAmtInCCCrcy
Supplier Supplier
MaterialGroup MaterialGroup
MaterialCompIsProcuredDirectly I_ReservationItem MaterialCompIsProcuredDirectly
GoodsRecipientName I_ReservationItem GoodsRecipientName
UnloadingPointName I_ReservationItem UnloadingPointName
ReservationItemText I_ReservationItem ReservationItemText
RecipientLocationCode I_ReservationItem RecipientLocationCode
ServiceObjectType I_ReservationItem ServiceObjectType
ServiceDocument I_ReservationItem ServiceDocument
ServiceDocumentItem I_ReservationItem ServiceDocumentItem
ResvnItmSrvcDocTypeAsAcctAsgt I_ReservationItem ResvnItmSrvcDocTypeAsAcctAsgt
ResvnItmSrvcDocAsAcctAsgt I_ReservationItem ResvnItmSrvcDocAsAcctAsgt
ResvnItmSrvcDocItmAsAcctAsgt I_ReservationItem ResvnItmSrvcDocItmAsAcctAsgt
_DebitCreditCode _DebitCreditCode
_Plant _Plant
_Product _Product
_IssuingOrReceivingPlant _IssuingOrReceivingPlant
_StorageLocation _StorageLocation
_IssuingOrReceivingStorageLoc _IssuingOrReceivingStorageLoc
_GoodsMovementType I_ReservationItem _GoodsMovementType
_Currency _Currency
_PurchasingDocument _PurchasingDocument
_PurchasingDocumentItem _PurchasingDocumentItem
_BaseUnit _BaseUnit
_EntryUnit _EntryUnit
_Supplier _Supplier
_InventorySpecialStockType _InventorySpecialStockType
_WBSElementBasicData I_ReservationItem _WBSElementBasicData
_Batch _Batch
_SupplierCompanyByPlant _SupplierCompanyByPlant
_ReservationDocumentHeader _ReservationDocumentHeader
_ReservationDocRecordType _ReservationDocRecordType
_RecipientLocationCode I_ReservationItem _RecipientLocationCode
_ServiceDocumentItem I_ReservationItem _ServiceDocumentItem
@AbapCatalog: {
                sqlViewName: 'IRESVNDOCITM',
                preserveKey: true,
                compiler.compareFilter: true
              }
@EndUserText.label: 'Reservation Document Item'
@AccessControl: {
                  authorizationCheck: #CHECK,
                  personalData.blocking: #BLOCKED_DATA_EXCLUDED
                }
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
                usageType: {
                             sizeCategory: #L,
                             serviceQuality: #B,
                             dataClass:#TRANSACTIONAL
                           },
                representativeKey: 'ReservationItem',
                semanticKey: ['Reservation', 'ReservationItem', 'RecordType'],
                modelingPattern: #ANALYTICAL_DIMENSION,
                supportedCapabilities: [#ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE]
}
@VDM: {
        lifecycle.contract.type: #PUBLIC_LOCAL_API, 
        viewType: #BASIC
      }
@Analytics.dataCategory: #DIMENSION
@Metadata: {
             ignorePropagatedAnnotations:true,
             allowExtensions: true
           }

define view I_ReservationDocumentItem 

as select from I_ReservationItem as _ReservationItem
inner join I_ReservationDocumentHeader as _rkpf on _ReservationItem.Reservation = _rkpf.Reservation

association [1..1] to I_ReservationDocumentHeader         as _ReservationDocumentHeader             on  $projection.Reservation = _ReservationDocumentHeader.Reservation
association [0..1] to I_ReservationDocRecordType          as _ReservationDocRecordType              on  $projection.RecordType  = _ReservationDocRecordType.RecordType
association [1..1] to I_Product                           as _Product                               on  $projection.Product     = _Product.Product
association [1..1] to P_ProductPlantBasic                 as _ProductPlant                          on  $projection.Product     = _ProductPlant.Product
                                                                                                   and  $projection.Plant       = _ProductPlant.Plant
association [0..1] to I_BatchPlant                        as _BatchPlant                           on   $projection.Product     = _BatchPlant.Material
                                                                                                   and  $projection.Plant       = _BatchPlant.Plant
                                                                                                   and  $projection.Batch       = _BatchPlant.Batch                                                                                                 
--released PO I-views cannot be assiated because not yet marked as dimension
--association [0..1] to I_PurchaseOrderAPI01                as _PurchaseOrder                 on  $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder
--association [0..1] to I_PurchaseOrderItemAPI01            as _PurchaseOrderItem             on  $projection.PurchaseOrder     = _PurchaseOrderItem.PurchaseOrder
--                                                                                            and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem
{
  @ObjectModel.foreignKey.association: '_ReservationDocumentHeader'
  key  _ReservationItem.Reservation,
  key  _ReservationItem.ReservationItem,
  @ObjectModel.foreignKey.association: '_ReservationDocRecordType'
  key  _ReservationItem.RecordType,

    @ObjectModel.foreignKey.association: '_Plant'
    Plant,
    
    @ObjectModel.foreignKey.association: '_StorageLocation'
    StorageLocation,
    
    @ObjectModel.foreignKey.association: '_Product'
    Material as Product,

    @ObjectModel.foreignKey.association: null
    Batch,
    
    cast( case 
    //Split valuated but not batch managed 

    when  _ProductPlant.ValuationCategory <> '' and _ProductPlant.IsBatchManagementRequired = '' 
    then  Batch
    
    //Split valuated and batch managed 

    when _ProductPlant.ValuationCategory <> '' and _ProductPlant.IsBatchManagementRequired = 'X' 
    then _BatchPlant.InventoryValuationType
    
    else   ''
    end as bwtar_d preserving type ) as ValuationType,    
    
    @ObjectModel.foreignKey.association: '_InventorySpecialStockType'
    InventorySpecialStockType,
    
    SpecialStockIdfgWBSElement,
    
    @ObjectModel.foreignKey.association: '_GoodsMovementType'
    _ReservationItem.GoodsMovementType,

    RequirementType,
    
    ReservationItemCreationCode,
    
    MatlCompRequirementDate,
    
    ManufacturingOrderOperation,
    
    GoodsMovementIsAllowed,
    
    @ObjectModel.foreignKey.association: '_DebitCreditCode'
    DebitCreditCode,
    
    @Semantics.unitOfMeasure: true
    @ObjectModel.foreignKey.association: '_BaseUnit'
    BaseUnit,
    
    GLAccount,

    @Semantics.booleanIndicator: true
    ResvnAccountIsEnteredManually,
    
    @Semantics.unitOfMeasure: true
    @ObjectModel.foreignKey.association: '_EntryUnit'
    EntryUnit,
    
    QuantityIsFixed,
    
    @Semantics.currencyCode: true
    @ObjectModel.foreignKey.association: '_Currency'
    CompanyCodeCurrency,
    
    @ObjectModel.foreignKey.association: '_IssuingOrReceivingPlant'
    _ReservationItem.IssuingOrReceivingPlant,
    
    @ObjectModel.foreignKey.association: '_IssuingOrReceivingStorageLoc'
    _ReservationItem.IssuingOrReceivingStorageLoc,

   @ObjectModel.foreignKey.association: '_PurchasingDocument'
    PurchasingDocument,   
    
    @ObjectModel.foreignKey.association: '_PurchasingDocumentItem'
    PurchasingDocumentItem,
    
    @Semantics.quantity.unitOfMeasure: 'BaseUnit'
    ResvnItmRequiredQtyInBaseUnit,
    
    @Semantics.quantity.unitOfMeasure: 'BaseUnit'
    ConfdQtyForATPInBaseUoM,
    
    ReservationItemIsFinallyIssued,
    
    ReservationItmIsMarkedForDeltn,

    @Semantics.quantity.unitOfMeasure: 'EntryUnit'
    ResvnItmRequiredQtyInEntryUnit,

    @Semantics.quantity.unitOfMeasure: 'BaseUnit'
    ResvnItmWithdrawnQtyInBaseUnit,
    
    @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
    ResvnItmWithdrawnAmtInCCCrcy,
    
    @ObjectModel.foreignKey.association: '_Supplier'
    Supplier,
    
    MaterialGroup, 
    @Semantics.booleanIndicator: true
    _ReservationItem.MaterialCompIsProcuredDirectly,
    
    
    _ReservationItem.GoodsRecipientName,
    _ReservationItem.UnloadingPointName,
    _ReservationItem.ReservationItemText,
    @ObjectModel.foreignKey.association: '_RecipientLocationCode'    
    _ReservationItem.RecipientLocationCode,
    
    _ReservationItem.ServiceObjectType,
    _ReservationItem.ServiceDocument,
    _ReservationItem.ServiceDocumentItem,
    _ReservationItem.ResvnItmSrvcDocTypeAsAcctAsgt,
    _ReservationItem.ResvnItmSrvcDocAsAcctAsgt,
    _ReservationItem.ResvnItmSrvcDocItmAsAcctAsgt,   
    
    _DebitCreditCode,
    _Plant,
    _Product,
    _IssuingOrReceivingPlant,
    _StorageLocation,
    _IssuingOrReceivingStorageLoc,
    _ReservationItem._GoodsMovementType,
    _Currency,
    _PurchasingDocument,
    _PurchasingDocumentItem,
    _BaseUnit,
    _EntryUnit,
    _Supplier,
    _InventorySpecialStockType,
    _ReservationItem._WBSElementBasicData,
    _Batch,
    @Consumption.hidden: true
    _SupplierCompanyByPlant,
    
    @ObjectModel.association.type: [#TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT]
    _ReservationDocumentHeader,
    _ReservationDocRecordType,
    _ReservationItem._RecipientLocationCode,
    
    _ReservationItem._ServiceDocumentItem   
}

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_BATCHPLANT",
"I_RESERVATIONDOCUMENTHEADER",
"I_RESERVATIONITEM",
"P_PRODUCTPLANTBASIC"
],
"ASSOCIATED":
[
"I_BATCH",
"I_BATCHPLANT",
"I_CURRENCY",
"I_DEBITCREDITCODE",
"I_GOODSMOVEMENTTYPE",
"I_INVENTORYSPECIALSTOCKTYPE",
"I_PLANT",
"I_PRODUCT",
"I_PURCHASINGDOCUMENT",
"I_PURCHASINGDOCUMENTITEM",
"I_RECIPIENTLOCATIONCODE",
"I_RESERVATIONDOCRECORDTYPE",
"I_RESERVATIONDOCUMENTHEADER",
"I_SERVICEDOCUMENTITEM",
"I_STORAGELOCATION",
"I_SUPPLIER",
"I_SUPPLIERCOMPANYBYPLANT",
"I_UNITOFMEASURE",
"I_WBSELEMENTBASICDATA",
"P_PRODUCTPLANTBASIC"
],
"BASE":
[
"I_RESERVATIONITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/