I_MaterialDocumentItem_2

DDL: I_MATERIALDOCUMENTITEM_2 Type: view COMPOSITE

Material Document Item

I_MaterialDocumentItem_2 is a Composite CDS View (Dimension) that provides data about "Material Document Item" in SAP S/4HANA. It reads from 1 data source (I_MaterialDocumentRecord) and exposes 123 fields with key fields MaterialDocumentYear, MaterialDocument, MaterialDocumentItem. It has 4 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_MaterialDocumentRecord I_MaterialDocumentRecord from

Associations (4)

CardinalityTargetAliasCondition
[1..1] I_MaterialDocumentYear _MaterialDocumentYear $projection.MaterialDocumentYear = _MaterialDocumentYear.MaterialDocumentYear
[1..1] I_MaterialDocumentHeader_2 _MaterialDocumentHeader $projection.MaterialDocumentYear = _MaterialDocumentHeader.MaterialDocumentYear and $projection.MaterialDocument = _MaterialDocumentHeader.MaterialDocument
[0..1] I_MaterialDocumentHeader_2 _ReversedMatDoc $projection.ReversedMaterialDocumentYear = _ReversedMatDoc.MaterialDocumentYear and $projection.ReversedMaterialDocument = _ReversedMatDoc.MaterialDocument
[0..1] I_MaterialDocumentItem_2 _ReversedMatDocItem $projection.ReversedMaterialDocumentYear = _ReversedMatDocItem.MaterialDocumentYear and $projection.ReversedMaterialDocument = _ReversedMatDocItem.MaterialDocument and $projection.ReversedMaterialDocumentItem = _ReversedMatDocItem.MaterialDocumentItem

Annotations (19)

NameValueLevelField
AbapCatalog.sqlViewName IMATDOCITEM2 view
AbapCatalog.preserveKey true view
AbapCatalog.compiler.compareFilter true view
EndUserText.label Material Document Item view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.representativeKey MaterialDocumentItem view
ObjectModel.modelingPattern #ANALYTICAL_DIMENSION view
Search.searchable true view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
Analytics.dataCategory #DIMENSION view
Analytics.internalName #LOCAL view
Metadata.ignorePropagatedAnnotations true view
Metadata.allowExtensions true view

Fields (123)

KeyFieldSource TableSource FieldDescription
KEY MaterialDocumentYear MaterialDocumentYear
KEY MaterialDocument MaterialDocument
KEY MaterialDocumentItem MaterialDocumentItem
Material Material
Plant Plant
StorageLocation StorageLocation
StorageType StorageType
StorageBin StorageBin
Batch Batch
ShelfLifeExpirationDate ShelfLifeExpirationDate
ManufactureDate ManufactureDate
Supplier Supplier
SalesOrder SalesOrder
SalesOrderItem SalesOrderItem
SalesOrderScheduleLine SalesOrderScheduleLine
WBSElementInternalID
Customer Customer
InventorySpecialStockType InventorySpecialStockType
InventoryStockType InventoryStockType
StockOwner StockOwner
GoodsMovementType GoodsMovementType
DebitCreditCode DebitCreditCode
InventoryUsabilityCode InventoryUsabilityCode
QuantityInBaseUnit QuantityInBaseUnit
MaterialBaseUnit MaterialBaseUnit
QuantityInEntryUnit QuantityInEntryUnit
EntryUnit EntryUnit
PostingDate PostingDate
DocumentDate DocumentDate
TotalGoodsMvtAmtInCCCrcy TotalGoodsMvtAmtInCCCrcy
CompanyCodeCurrency CompanyCodeCurrency
InventoryValuationType InventoryValuationType
ReservationIsFinallyIssued ReservationIsFinallyIssued
PurchaseOrder PurchaseOrder
PurchaseOrderItem PurchaseOrderItem
ProjectNetwork ProjectNetwork
OrderID OrderID
OrderItem OrderItem
MaintOrderRoutingNumber MaintOrderRoutingNumber
MaintOrderOperationCounter MaintOrderOperationCounter
Reservation Reservation
ReservationItem ReservationItem
DeliveryDocument DeliveryDocument
DeliveryDocumentItem DeliveryDocumentItem
ReversedMaterialDocumentYear ReversedMaterialDocumentYear
ReversedMaterialDocument ReversedMaterialDocument
ReversedMaterialDocumentItem ReversedMaterialDocumentItem
RvslOfGoodsReceiptIsAllowed RvslOfGoodsReceiptIsAllowed
GoodsRecipientName GoodsRecipientName
UnloadingPointName UnloadingPointName
CostCenter CostCenter
GLAccount GLAccount
ServicePerformer ServicePerformer
PersonWorkAgreement PersonWorkAgreement
AccountAssignmentCategory AccountAssignmentCategory
WorkItem WorkItem
ServicesRenderedDate ServicesRenderedDate
IssgOrRcvgMaterial IssgOrRcvgMaterial
IssuingOrReceivingPlant IssuingOrReceivingPlant
IssuingOrReceivingStorageLoc IssuingOrReceivingStorageLoc
IssgOrRcvgBatch IssgOrRcvgBatch
IssgOrRcvgSpclStockInd IssgOrRcvgSpclStockInd
CompanyCode CompanyCode
BusinessArea BusinessArea
ControllingArea ControllingArea
FiscalYearPeriod FiscalYearPeriod
FiscalYearVariant FiscalYearVariant
GoodsMovementRefDocType GoodsMovementRefDocType
IsCompletelyDelivered IsCompletelyDelivered
MaterialDocumentItemText MaterialDocumentItemText
IsAutomaticallyCreated IsAutomaticallyCreated
GoodsReceiptType GoodsReceiptType
ConsumptionPosting ConsumptionPosting
MultiAcctAssgmtOriglMatlDocItm MultiAcctAssgmtOriglMatlDocItm
MultipleAccountAssignmentCode MultipleAccountAssignmentCode
GoodsMovementIsCancelled GoodsMovementIsCancelled
IssuingOrReceivingStockType IssuingOrReceivingStockType
_MaterialDocumentYear _MaterialDocumentYear
_MaterialDocumentHeader _MaterialDocumentHeader
_Material _Material
_IssgOrRcvgMaterial _IssgOrRcvgMaterial
_Plant _Plant
_IssuingOrReceivingPlant _IssuingOrReceivingPlant
_StorageLocation _StorageLocation
_IssuingOrReceivingStorageLoc _IssuingOrReceivingStorageLoc
_Supplier _Supplier
_Customer _Customer
_SupplierCompanyByPlant _SupplierCompanyByPlant
_CustomerCompanyByPlant _CustomerCompanyByPlant
_BPStockOwner _BPStockOwner
_InventorySpecialStockType _InventorySpecialStockType
_IssgOrRcvgSpclStockInd _IssgOrRcvgSpclStockInd
_InventoryStockType _InventoryStockType
_InventoryValuationType _InventoryValuationType
_GoodsMovementType _GoodsMovementType
_DebitCreditCode _DebitCreditCode
_StockType _StockType
_StockType_2 _StockType_2
_MaterialBaseUnit _MaterialBaseUnit
_EntryUnit _EntryUnit
_GLAccount _GLAccount
_CostCenter _CostCenter
_BusinessPartner _BusinessPartner
_PersonWorkAgreement _PersonWorkAgreement
_AccountAssignmentCategory _AccountAssignmentCategory
_WorkItem _WorkItem
_CompanyCode _CompanyCode
_BusinessArea _BusinessArea
_ControllingArea _ControllingArea
_SalesOrder _SalesOrder
_SalesOrderItem _SalesOrderItem
_SalesOrderScheduleLine _SalesOrderScheduleLine
_WBSElement _WBSElement
_PurchaseOrder _PurchaseOrder
_PurchaseOrderItem _PurchaseOrderItem
_ProjectNetwork _ProjectNetwork
_LogisticsOrder _LogisticsOrder
_DeliveryDocument _DeliveryDocument
_DeliveryDocumentItem _DeliveryDocumentItem
_ReversedMatDoc _ReversedMatDoc
_ReversedMatDocItem _ReversedMatDocItem
_GoodsMvtTypeBySpclStkIndT _GoodsMvtTypeBySpclStkIndT
_Currency _Currency
@AbapCatalog: {
                sqlViewName: 'IMATDOCITEM2',
                preserveKey: true,
                compiler.compareFilter: true
              }
@EndUserText.label: 'Material Document Item'

@AccessControl: {
                   authorizationCheck: #CHECK,
                   personalData.blocking: #NOT_REQUIRED
                }
                
@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
                usageType: {
                             sizeCategory: #XXL,
                             serviceQuality: #C,
                             dataClass:#TRANSACTIONAL
                           },
                representativeKey: 'MaterialDocumentItem',
                semanticKey: ['MaterialDocumentYear', 'MaterialDocument', 'MaterialDocumentItem'],
                modelingPattern: #ANALYTICAL_DIMENSION,
                supportedCapabilities: [#ANALYTICAL_DIMENSION, #CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE]
} 

@Search.searchable: true

@VDM: {
        viewType: #COMPOSITE,
        lifecycle.contract.type: #PUBLIC_LOCAL_API
      }
      
@Analytics: {
               dataCategory: #DIMENSION,
               internalName:#LOCAL
             }
             
@Metadata: {
             ignorePropagatedAnnotations: true,
             allowExtensions: true
           }

-- This view is the successor view for the view I_MaterialDocumentItem
define view I_MaterialDocumentItem_2
  as select from I_MaterialDocumentRecord
  association [1..1] to I_MaterialDocumentYear   as _MaterialDocumentYear   on  $projection.MaterialDocumentYear         = _MaterialDocumentYear.MaterialDocumentYear
  association [1..1] to I_MaterialDocumentHeader_2 as _MaterialDocumentHeader on  $projection.MaterialDocumentYear         = _MaterialDocumentHeader.MaterialDocumentYear
                                                                            and $projection.MaterialDocument             = _MaterialDocumentHeader.MaterialDocument
  association [0..1] to I_MaterialDocumentHeader_2 as _ReversedMatDoc         on  $projection.ReversedMaterialDocumentYear = _ReversedMatDoc.MaterialDocumentYear
                                                                            and $projection.ReversedMaterialDocument     = _ReversedMatDoc.MaterialDocument
  association [0..1] to I_MaterialDocumentItem_2  as _ReversedMatDocItem     on  $projection.ReversedMaterialDocumentYear = _ReversedMatDocItem.MaterialDocumentYear
                                                                            and $projection.ReversedMaterialDocument     = _ReversedMatDocItem.MaterialDocument
                                                                            and $projection.ReversedMaterialDocumentItem = _ReversedMatDocItem.MaterialDocumentItem
{
      @ObjectModel.foreignKey.association: '_MaterialDocumentYear'
  key MaterialDocumentYear,
      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.9,
                    ranking: #HIGH
               }
      @ObjectModel.foreignKey.association: '_MaterialDocumentHeader'
  key MaterialDocument,
  key MaterialDocumentItem,

      @Search: {
                    defaultSearchElement: true,                    
                    fuzzinessThreshold: 0.7,
                    ranking: #HIGH
               }
      Material,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.9,
                    ranking: #HIGH
               }
      Plant,
      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.9,
                    ranking: #HIGH
               }
      StorageLocation,
      StorageType,
      StorageBin,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.8,
                    ranking: #MEDIUM
               }
      Batch,
      ShelfLifeExpirationDate,
      ManufactureDate,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.8,
                    ranking: #MEDIUM
               }
      Supplier,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.9,
                    ranking: #MEDIUM
               }
      SalesOrder,
      SalesOrderItem,
      SalesOrderScheduleLine,      

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.9,
                    ranking: #MEDIUM
               }

// casting of the WBSElementInternalID to a NSDM data element to get rid of the conversion exit behind the original data element MAT_PSPNR

// required for the Reservation RAP object which does associate this view

      cast(WBSElementInternalID as nsdm_wbselement_internal_id preserving type) as WBSElementInternalID,
      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.8,
                    ranking: #MEDIUM
               }
      Customer,
      InventorySpecialStockType,
      InventoryStockType,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.8,
                    ranking: #MEDIUM
               }
      StockOwner,

      GoodsMovementType,
      DebitCreditCode,
      InventoryUsabilityCode,
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      @DefaultAggregation: #SUM
      QuantityInBaseUnit,
      @Semantics.unitOfMeasure: true
      MaterialBaseUnit,
      @Semantics.quantity.unitOfMeasure: 'EntryUnit'
      @DefaultAggregation: #SUM
      QuantityInEntryUnit,
      @Semantics.unitOfMeasure: true
      EntryUnit,

      @Semantics.businessDate.at: true
      PostingDate,
      @Semantics.businessDate.at: true
      DocumentDate,
      
      @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
      @DefaultAggregation: #SUM
      TotalGoodsMvtAmtInCCCrcy,
      @Semantics.currencyCode: true
      CompanyCodeCurrency,

      InventoryValuationType,
      ReservationIsFinallyIssued,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.9,
                    ranking: #MEDIUM
                }
      PurchaseOrder,
      PurchaseOrderItem,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.9,
                    ranking: #MEDIUM
               }
      ProjectNetwork,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.9,
                    ranking: #MEDIUM
               }
      OrderID,
      OrderItem,
      
      MaintOrderRoutingNumber,
      MaintOrderOperationCounter,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.9,
                    ranking: #MEDIUM
               }
      Reservation,
      ReservationItem,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.9,
                    ranking: #MEDIUM
               }
      DeliveryDocument,
      DeliveryDocumentItem,

      ReversedMaterialDocumentYear,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.9,
                    ranking: #MEDIUM
               }
      ReversedMaterialDocument,
      ReversedMaterialDocumentItem,

      RvslOfGoodsReceiptIsAllowed,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.7,
                    ranking: #MEDIUM
               }
      GoodsRecipientName,

      @Search: {
                    defaultSearchElement: true,
                    fuzzinessThreshold: 0.7,
                    ranking: #MEDIUM
               }
      UnloadingPointName,
      CostCenter,
      GLAccount,

      ServicePerformer,
      PersonWorkAgreement,
      AccountAssignmentCategory,
      WorkItem,
      ServicesRenderedDate,

      IssgOrRcvgMaterial,
      IssuingOrReceivingPlant,
      IssuingOrReceivingStorageLoc,
      IssgOrRcvgBatch,
      IssgOrRcvgSpclStockInd,

      CompanyCode,
      BusinessArea,
      ControllingArea,
      @Semantics.fiscal.yearPeriod: true
      FiscalYearPeriod,
      @Semantics.fiscal.yearVariant: true
      FiscalYearVariant,

      GoodsMovementRefDocType,
      IsCompletelyDelivered,
      MaterialDocumentItemText,
      @Semantics.booleanIndicator 
      IsAutomaticallyCreated,
      
      @Consumption.hidden: true
      GoodsReceiptType,
      @Consumption.hidden: true
      ConsumptionPosting,
      
      @Consumption.hidden: true
      MultiAcctAssgmtOriglMatlDocItm,
      @Consumption.hidden: true
      MultipleAccountAssignmentCode,
      GoodsMovementIsCancelled,
      IssuingOrReceivingStockType,

      _MaterialDocumentYear,
      @ObjectModel.association.type:[#TO_COMPOSITION_ROOT, #TO_COMPOSITION_PARENT]
      _MaterialDocumentHeader,

      _Material,
      _IssgOrRcvgMaterial,
      
      //search model

      _Plant,
      _IssuingOrReceivingPlant,
      _StorageLocation,
      _IssuingOrReceivingStorageLoc,

      _Supplier,
      _Customer,
      
      @Consumption.hidden: true
      _SupplierCompanyByPlant,
      @Consumption.hidden: true
      _CustomerCompanyByPlant,      
      
      _BPStockOwner,

      _InventorySpecialStockType,
      _IssgOrRcvgSpclStockInd,
      _InventoryStockType,
      _InventoryValuationType,

      _GoodsMovementType,
      _DebitCreditCode,
       @API.element.releaseState: #DEPRECATED
       @API.element.successor: '_StockType_2'
       @VDM.lifecycle.status: #DEPRECATED
       @VDM.lifecycle.successor: '_StockType_2'
      _StockType,
      _StockType_2,

      _MaterialBaseUnit,
      _EntryUnit,

      _GLAccount,
      _CostCenter,

      _BusinessPartner,
      _PersonWorkAgreement,
      _AccountAssignmentCategory,
      _WorkItem,

      _CompanyCode,
      _BusinessArea,
      _ControllingArea,

      _SalesOrder,
      _SalesOrderItem,
      _SalesOrderScheduleLine,
      _WBSElement,

      _PurchaseOrder,
      _PurchaseOrderItem,
      _ProjectNetwork,
      _LogisticsOrder,
      _DeliveryDocument,
      _DeliveryDocumentItem,

      _ReversedMatDoc,
      _ReversedMatDocItem,
      _GoodsMvtTypeBySpclStkIndT,
      _Currency

}
where
  MaterialDocumentRecordType = 'MDOC'                                                                                                                                                                        

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MATERIALDOCUMENTRECORD"
],
"ASSOCIATED":
[
"I_ACCOUNTASSIGNMENTCATEGORY",
"I_BUSINESSAREA",
"I_BUSINESSPARTNER",
"I_COMPANYCODE",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_CURRENCY",
"I_CUSTOMER",
"I_CUSTOMERCOMPANYBYPLANT",
"I_DEBITCREDITCODE",
"I_DELIVERYDOCUMENT",
"I_DELIVERYDOCUMENTITEM",
"I_GLACCOUNT",
"I_GOODSMOVEMENTTYPE",
"I_GOODSMVTTYPEBYSPCLSTKINDT",
"I_INVENTORYSPECIALSTOCKTYPE",
"I_INVENTORYSTOCKTYPE",
"I_INVENTORYVALUATIONTYPE",
"I_LOGISTICSORDER",
"I_MATERIAL",
"I_MATERIALDOCUMENTHEADER_2",
"I_MATERIALDOCUMENTYEAR",
"I_PERSONWORKAGREEMENT_1",
"I_PLANT",
"I_PROJECTNETWORK",
"I_PURCHASEORDER",
"I_PURCHASEORDERITEM",
"I_SALESORDER",
"I_SALESORDERITEM",
"I_SALESORDERSCHEDULELINE",
"I_STOCKTYPE",
"I_STOCKTYPE_2",
"I_STORAGELOCATION",
"I_SUPPLIER",
"I_SUPPLIERCOMPANYBYPLANT",
"I_UNITOFMEASURE",
"I_WBSELEMENTBYINTERNALKEY",
"I_WORKITEM"
],
"BASE":
[
"I_MATERIALDOCUMENTRECORD"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/