I_EXCISETAXMATLDOCITEM

CDS View

MatlDocItem for Industry Excise Tax

I_EXCISETAXMATLDOCITEM is a CDS View in S/4HANA. MatlDocItem for Industry Excise Tax. It contains 56 fields. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
A_ExciseTaxMatlDocItem view from COMPOSITE MatlDocItem for Industry Extensions

Fields (56)

KeyField CDS FieldsUsed in Views
KEY MaterialDocument MaterialDocument 1
KEY MaterialDocumentItem MaterialDocumentItem 1
KEY MaterialDocumentYear MaterialDocumentYear 1
Batch Batch 1
CompanyCode CompanyCode 1
CostCenter CostCenter 1
CreationDate CreationDate 1
CreationTime CreationTime 1
Customer Customer 1
CustomerAuthznGrp CustomerAuthznGrp 1
DebitCreditCode DebitCreditCode 1
DeliveryDocument DeliveryDocument 1
DeliveryDocumentItem DeliveryDocumentItem 1
DocumentDate DocumentDate 1
EntryUnit EntryUnit 1
GoodsMovementReasonCode GoodsMovementReasonCode 1
GoodsMovementRefDocType GoodsMovementRefDocType 1
GoodsMovementType GoodsMovementType 1
GoodsRecipientName GoodsRecipientName 1
IsAutomaticallyCreated IsAutomaticallyCreated 1
IsIssgOrRcvgStorLocAuthChkActv IsIssgOrRcvgStorLocAuthChkActv 1
IsReversalMovementType IsReversalMovementType 1
IssgOrRcvgBatch IssgOrRcvgBatch 1
IssgOrRcvgMaterial IssgOrRcvgMaterial 1
IsStorLocAuthznCheckActive IsStorLocAuthznCheckActive 1
IssuingOrReceivingPlant IssuingOrReceivingPlant 1
IssuingOrReceivingStorageLoc IssuingOrReceivingStorageLoc 1
Material Material 1
MaterialBaseUnit MaterialBaseUnit 1
OrderCategory OrderCategory 1
OrderID OrderID 1
OrderItem OrderItem 1
OrderType OrderType 1
OriginalMaterialDocumentItem OriginalMaterialDocumentItem 1
Plant Plant 1
PostingDate PostingDate 1
PurchaseOrder PurchaseOrder 1
PurchaseOrderCategory PurchaseOrderCategory 1
PurchaseOrderItem PurchaseOrderItem 1
PurchaseOrderItemCategory PurchaseOrderItemCategory 1
PurchaseOrderSubtype PurchaseOrderSubtype 1
PurchaseOrderType PurchaseOrderType 1
QuantityInBaseUnit QuantityInBaseUnit 1
QuantityInEntryUnit QuantityInEntryUnit 1
ReversedMaterialDocument ReversedMaterialDocument 1
ReversedMaterialDocumentItem ReversedMaterialDocumentItem 1
ReversedMaterialDocumentYear ReversedMaterialDocumentYear 1
SalesDocumentItemCategory SalesDocumentItemCategory 1
SalesOrder SalesOrder 1
SalesOrderItem SalesOrderItem 1
SalesOrderType SalesOrderType 1
StorageLocation StorageLocation 1
Supplier Supplier 1
SupplierAuthznGrp SupplierAuthznGrp 1
SupplyingPlant SupplyingPlant 1
SupplyingSupplier SupplyingSupplier 1
@AbapCatalog.sqlViewName: 'IET_MATLDOCITM'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@ObjectModel.supportedCapabilities:#TRANSACTIONAL_PROVIDER
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'MatlDocItem for Industry Excise Tax'

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
    usageType: {
        sizeCategory: #XXL,
        serviceQuality: #C,
        dataClass: #MIXED
    }
}

@VDM.viewType: #COMPOSITE
@Metadata.ignorePropagatedAnnotations: true
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')


define view I_ExciseTaxMatlDocItem
  as select from           I_MaterialDocumentRecord    as _MaterialDocumentItem
    left outer to one join I_PurchaseOrderItemAPI01    as _PurchaseOrderItem           on  _MaterialDocumentItem.PurchaseOrder     = _PurchaseOrderItem.PurchaseOrder
                                                                                       and _MaterialDocumentItem.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem
    left outer to one join I_PurchasingDocumentPartner as _PurgDocPartnerSupplSupplier on  _MaterialDocumentItem.PurchaseOrder          = _PurgDocPartnerSupplSupplier.PurchasingDocument
                                                                                       and _PurgDocPartnerSupplSupplier.PurchasingDocumentItem      = '00000'
                                                                                       and _PurgDocPartnerSupplSupplier.PartnerFunction = 'WL'

  association [1..1] to I_MaterialDocumentYear      as _MaterialDocumentYear        on  $projection.MaterialDocumentYear = _MaterialDocumentYear.MaterialDocumentYear
  association [1..1] to I_MaterialDocumentHeader    as _MaterialDocumentHeader      on  $projection.MaterialDocumentYear = _MaterialDocumentHeader.MaterialDocumentYear
                                                                                    and $projection.MaterialDocument     = _MaterialDocumentHeader.MaterialDocument
  //association [0..1] to I_SalesDocument              as _SalesOrder                  on  $projection.SalesOrder                       = _SalesOrder.SalesDocument

  //                                                                                   and ( _SalesOrder.SDDocumentCategory = 'C' or

  //                                                                                         _SalesOrder.SDDocumentCategory = 'H' )

  association [0..1] to I_SalesDocumentItem         as _SalesOrderItem              on  _MaterialDocumentItem.SalesOrder     = _SalesOrderItem.SalesDocument
                                                                                    and _MaterialDocumentItem.SalesOrderItem = _SalesOrderItem.SalesDocumentItem
                                                                                    and (
                                                                                       _SalesOrderItem.SDDocumentCategory    = 'C'
                                                                                       or _SalesOrderItem.SDDocumentCategory = 'H'
                                                                                       or _SalesOrderItem.SDDocumentCategory = ''
                                                                                     )
  association [0..1] to I_DeliveryDocumentItem      as _SalesOrderItemFromDelivItem on  $projection.DeliveryDocument                               = _SalesOrderItemFromDelivItem.DeliveryDocument
                                                                                    and $projection.DeliveryDocumentItem                           = _SalesOrderItemFromDelivItem.DeliveryDocumentItem
                                                                                    and (
                                                                                       _SalesOrderItemFromDelivItem.ReferenceSDDocumentCategory    = 'C'
                                                                                       or _SalesOrderItemFromDelivItem.ReferenceSDDocumentCategory = 'H'
                                                                                     )
  //association [0..1] to I_CustomerReturnItemEnhanced as _SOItemFromReturnDelivItem   on  $projection.DeliveryDocument                 = _SOItemFromReturnDelivItem.

  //                                                                                   and $projection.DeliveryDocumentItem             = _SOItemFromReturnDelivItem.CustomerReturnDeliveryItem

  //                                                                                   and ( _SOItemFromReturnDelivItem.ReferenceSDDocumentCategory = 'C' or

  //                                                                                         _SOItemFromReturnDelivItem.ReferenceSDDocumentCategory = 'H' )

  association [0..1] to I_SalesDocumentItemCategory as _SalesItemCategory           on  $projection.SalesDocumentItemCategory = _SalesItemCategory.SalesDocumentItemCategory
  association [0..1] to I_UnitOfMeasure             as _UnitOfMeasure               on  $projection.MaterialBaseUnit = _UnitOfMeasure.UnitOfMeasure
  association [0..1] to I_DeliveryDocumentItem      as _PurgOrderItemFromDelivItem  on  $projection.DeliveryDocument                            = _PurgOrderItemFromDelivItem.DeliveryDocument
                                                                                    and $projection.DeliveryDocumentItem                        = _PurgOrderItemFromDelivItem.DeliveryDocumentItem
                                                                                    and _PurgOrderItemFromDelivItem.ReferenceSDDocumentCategory = 'V'
  association [0..1] to I_ExsTxPurOrderHistory      as _MaterialDocumentItemPO      on  _MaterialDocumentItem.PurchaseOrder                   = _MaterialDocumentItemPO.PurchaseOrder
                                                                                    and _MaterialDocumentItem.PurchaseOrderItem               = _MaterialDocumentItemPO.PurchaseOrderItem
                                                                                    and _MaterialDocumentItemPO.PurchasingHistoryDocumentType = '6'
                                                                                    and (
                                                                                       (
                                                                                         _MaterialDocumentItem.DebitCreditCode                = 'S'
                                                                                         and _MaterialDocumentItem.IsReversalMovementType     = ''
                                                                                         and _MaterialDocumentItemPO.DebitCreditCode          = 'H'
                                                                                       )
                                                                                       or(
                                                                                         _MaterialDocumentItem.DebitCreditCode                = 'H'
                                                                                         and _MaterialDocumentItem.IsReversalMovementType     = 'X'
                                                                                         and _MaterialDocumentItemPO.DebitCreditCode          = 'H'
                                                                                       )
                                                                                     )
                                                                                    and (
                                                                                       (
                                                                                         _MaterialDocumentItemPO.DebitCreditCode              = 'H'
                                                                                         and _MaterialDocumentItemPO.IsReversalMovementType   = ''
                                                                                       )
                                                                                       or(
                                                                                         _MaterialDocumentItemPO.DebitCreditCode              = 'S'
                                                                                         and _MaterialDocumentItemPO.IsReversalMovementType   = 'X'
                                                                                       )
                                                                                     )
                                                                                    and _MaterialDocumentItem.PurchaseOrder                   is not null
                                                                                    and _MaterialDocumentItem.PurchaseOrder != ''
                                                                                    and (
                                                                                       _MaterialDocumentItemPO.StorageLocation != ''
                                                                                       and _MaterialDocumentItemPO.StorageLocation            is not null
                                                                                     )
                                                                                    and (
                                                                                       _MaterialDocumentItem.IsAutomaticallyCreated           is null
                                                                                       or _MaterialDocumentItem.IsAutomaticallyCreated        = ''
                                                                                     )
                                                                                    and (
                                                                                       _MaterialDocumentItem.DeliveryDocument                 is null
                                                                                       or _MaterialDocumentItem.DeliveryDocument              = ''
                                                                                       or(
                                                                                         _MaterialDocumentItem.DeliveryDocument               = _MaterialDocumentItemPO.DeliveryDocument
                                                                                         and _MaterialDocumentItem.DeliveryDocumentItem       = _MaterialDocumentItemPO.DeliveryDocumentItem
                                                                                       )
                                                                                       or(
                                                                                         _MaterialDocumentItem.DeliveryDocument != _MaterialDocumentItemPO.DeliveryDocument
                                                                                       )
                                                                                     )
  association [1..1] to I_SDDocumentProcessFlow     as _docflow                     on  _docflow.SubsequentDocument         = _MaterialDocumentItem.DeliveryDocument
                                                                                    and _docflow.SubsequentDocumentItem     = _MaterialDocumentItem.DeliveryDocumentItem
                                                                                    and _docflow.SubsequentDocumentCategory = 'J'
                                                                                    and _docflow.PrecedingDocumentCategory  = 'C'
{
      @ObjectModel.foreignKey.association: '_MaterialDocumentHeader'
  key _MaterialDocumentItem.MaterialDocument                                         as MaterialDocument,
      @ObjectModel.foreignKey.association: '_MaterialDocumentYear'
  key _MaterialDocumentItem.MaterialDocumentYear                                     as MaterialDocumentYear,
  key _MaterialDocumentItem.MaterialDocumentItem                                     as MaterialDocumentItem,

      /*goodsmovement document fields*/

      // organizational data

      _MaterialDocumentItem.CompanyCode                                              as CompanyCode,
      _MaterialDocumentItem.Plant                                                    as Plant,
      _MaterialDocumentItem.StorageLocation                                          as StorageLocation,
      _MaterialDocumentItem.CostCenter                                               as CostCenter,

      // dates

      @Semantics.businessDate.at: true
      _MaterialDocumentItem.PostingDate                                              as PostingDate,
      @Semantics.businessDate.at: true
      _MaterialDocumentItem.DocumentDate                                             as DocumentDate,
      // timestamp

      _MaterialDocumentItem.CreationDate                                             as CreationDate,
      _MaterialDocumentItem.CreationTime                                             as CreationTime,

      // material

      _MaterialDocumentItem.Material                                                 as Material,
      _MaterialDocumentItem.Batch                                                    as Batch,

      // units of measure

      @Semantics.quantity.unitOfMeasure: 'EntryUnit'
      _MaterialDocumentItem.QuantityInEntryUnit                                      as QuantityInEntryUnit,
      @Semantics.unitOfMeasure: true
      _MaterialDocumentItem.EntryUnit                                                as EntryUnit,
      @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
      _MaterialDocumentItem.QuantityInBaseUnit                                       as QuantityInBaseUnit,
      @ObjectModel.foreignKey.association: '_UnitOfMeasure'
      @Semantics.unitOfMeasure: true
      _MaterialDocumentItem.MaterialBaseUnit                                         as MaterialBaseUnit,

      // movement type

      _MaterialDocumentItem.GoodsMovementType                                        as GoodsMovementType,
      _MaterialDocumentItem._GoodsMovementType.IsReversalMovementType                as IsReversalMovementType,
      _MaterialDocumentItem.GoodsMovementRefDocType                                  as GoodsMovementRefDocType,
      _MaterialDocumentItem.DebitCreditCode                                          as DebitCreditCode,
      _MaterialDocumentItem.IsAutomaticallyCreated                                   as IsAutomaticallyCreated,
      _MaterialDocumentItem.GoodsMovementReasonCode                                  as GoodsMovementReasonCode,

      // partners (including master data)

      //  _MaterialDocumentItem.Supplier                                                 as Supplier,

      _PurgDocPartnerSupplSupplier.Supplier                                          as SupplyingSupplier,
      // Begin Change - fetching Supplying Supplier always in case its filled and only use Supplier as fall back if the former is missing

      case
      when _PurgDocPartnerSupplSupplier.Supplier is not null
      then
      _PurgDocPartnerSupplSupplier.Supplier
      else
        _MaterialDocumentItem.Supplier
      end                                                                            as Supplier,
      // End Change

      _MaterialDocumentItem.Customer                                                 as Customer,
      ltrim(_MaterialDocumentItem.GoodsRecipientName, '0')                           as GoodsRecipientName,

      // transfers

      case
      when  ( _MaterialDocumentItem._PurchaseOrderItem._PurchaseOrder.SupplyingPlant is not null and  _MaterialDocumentItem._PurchaseOrderItem._PurchaseOrder.SupplyingPlant != '' )
          and ( ( _MaterialDocumentItem.DebitCreditCode = 'S' and _MaterialDocumentItem.IsReversalMovementType = '' )  )
          and ( _MaterialDocumentItem.StorageLocation !=  '' and _MaterialDocumentItem.StorageLocation is not null )
          and ( _MaterialDocumentItem.IsAutomaticallyCreated is null or _MaterialDocumentItem.IsAutomaticallyCreated = '' )

          then _MaterialDocumentItemPO.Plant
       when ( _MaterialDocumentItem._PurchaseOrderItem._PurchaseOrder.SupplyingPlant is not null and  _MaterialDocumentItem._PurchaseOrderItem._PurchaseOrder.SupplyingPlant != '' )
          and (  (  _MaterialDocumentItem.DebitCreditCode = 'H' and  _MaterialDocumentItem.IsReversalMovementType = 'X' ) )
          and ( _MaterialDocumentItem.StorageLocation !=  '' and _MaterialDocumentItem.StorageLocation is not null )
         and ( _MaterialDocumentItem.IsAutomaticallyCreated is null or _MaterialDocumentItem.IsAutomaticallyCreated = '' )

          then  _MaterialDocumentItemPO.Plant

      when _MaterialDocumentItem.IssuingOrReceivingPlant      is null or _MaterialDocumentItem.IssuingOrReceivingPlant = ''
      then _PurchaseOrderItem.Plant
      else _MaterialDocumentItem.IssuingOrReceivingPlant
      end                                                                            as IssuingOrReceivingPlant,

      case
      when  ( _MaterialDocumentItem._PurchaseOrderItem._PurchaseOrder.SupplyingPlant is not null and  _MaterialDocumentItem._PurchaseOrderItem._PurchaseOrder.SupplyingPlant != '' )
              and ( ( _MaterialDocumentItem.DebitCreditCode = 'S' and _MaterialDocumentItem.IsReversalMovementType = '' )  )
              and ( _MaterialDocumentItem.StorageLocation !=  '' and _MaterialDocumentItem.StorageLocation is not null )
              and ( _MaterialDocumentItem.IsAutomaticallyCreated is null or _MaterialDocumentItem.IsAutomaticallyCreated = '' )
              then  _MaterialDocumentItemPO.StorageLocation
          when ( _MaterialDocumentItem._PurchaseOrderItem._PurchaseOrder.SupplyingPlant is not null and  _MaterialDocumentItem._PurchaseOrderItem._PurchaseOrder.SupplyingPlant != '' )
              and (  (  _MaterialDocumentItem.DebitCreditCode = 'H' and  _MaterialDocumentItem.IsReversalMovementType = 'X' ) )
              and ( _MaterialDocumentItem.StorageLocation !=  '' and _MaterialDocumentItem.StorageLocation is not null )
              and ( _MaterialDocumentItem.IsAutomaticallyCreated is null or _MaterialDocumentItem.IsAutomaticallyCreated = '' )
              then _MaterialDocumentItemPO.StorageLocation
          when _MaterialDocumentItem.IssuingOrReceivingStorageLoc is null or _MaterialDocumentItem.IssuingOrReceivingStorageLoc = ''
          then _PurchaseOrderItem.StorageLocation
          else _MaterialDocumentItem.IssuingOrReceivingStorageLoc
        end                                                                          as IssuingOrReceivingStorageLoc,
      _MaterialDocumentItem.IssgOrRcvgMaterial                                       as IssgOrRcvgMaterial,
      _MaterialDocumentItem.IssgOrRcvgBatch                                          as IssgOrRcvgBatch,
      _PurchaseOrderItem._PurchaseOrder.SupplyingPlant                               as SupplyingPlant,

      // reference documents

      _MaterialDocumentItem.OriginalMaterialDocumentItem                             as OriginalMaterialDocumentItem,
      _MaterialDocumentHeader.ReferenceDocument                                      as ReferenceDocument,

      // cancellation

      _MaterialDocumentItem.ReversedMaterialDocument                                 as ReversedMaterialDocument,
      _MaterialDocumentItem.ReversedMaterialDocumentItem                             as ReversedMaterialDocumentItem,
      _MaterialDocumentItem.ReversedMaterialDocumentYear                             as ReversedMaterialDocumentYear,

      /*references*/

      _MaterialDocumentItem.DeliveryDocument                                         as DeliveryDocument,
      _MaterialDocumentItem.DeliveryDocumentItem                                     as DeliveryDocumentItem,
      case when _MaterialDocumentItem.PurchaseOrder     is null or _MaterialDocumentItem.PurchaseOrder = ''
        then _PurgOrderItemFromDelivItem.ReferenceSDDocument
        else _MaterialDocumentItem.PurchaseOrder
      end                                                                            as PurchaseOrder,
      case when _MaterialDocumentItem.PurchaseOrderItem is null or _MaterialDocumentItem.PurchaseOrderItem = '' or _MaterialDocumentItem.PurchaseOrderItem = '00000'
        then cast(lpad(_PurgOrderItemFromDelivItem.ReferenceSDDocumentItem, 5, '0') as abap.numc(5))
        else _MaterialDocumentItem.PurchaseOrderItem
      end                                                                            as PurchaseOrderItem,

      case when  _MaterialDocumentItem.SalesOrder = _MaterialDocumentItem.DeliveryDocument
        then _docflow.PrecedingDocument
        when _MaterialDocumentItem.SalesOrder        is null or _MaterialDocumentItem.SalesOrder = ''
        then _SalesOrderItemFromDelivItem.ReferenceSDDocument
        else _MaterialDocumentItem.SalesOrder
      end                                                                            as SalesOrder,



      case when   _MaterialDocumentItem.SalesOrder = _MaterialDocumentItem.DeliveryDocument
           then _docflow.PrecedingDocumentItem
         when _MaterialDocumentItem.SalesOrderItem    is null or _MaterialDocumentItem.SalesOrderItem = '' or _MaterialDocumentItem.SalesOrderItem = '000000'
         then _SalesOrderItemFromDelivItem.ReferenceSDDocumentItem
        else  cast(_MaterialDocumentItem.SalesOrderItem as nsdm_sales_order_item preserving type)
      end                                                                            as SalesOrderItem,


      _MaterialDocumentItem.OrderID                                                  as OrderID,
      _MaterialDocumentItem.OrderItem                                                as OrderItem,
      _MaterialDocumentItem._MfgOrder.ManufacturingOrderCategory                     as OrderCategory,
      _MaterialDocumentItem._MfgOrder.ManufacturingOrderType                         as OrderType,

      /*related documents*/
      _PurchaseOrderItem._PurchaseOrder.PurchaseOrderType                            as PurchaseOrderType,
      _PurchaseOrderItem._PurchaseOrder.PurchaseOrderSubtype                         as PurchaseOrderSubtype,
      _PurchaseOrderItem.PurchaseOrderCategory                                       as PurchaseOrderCategory,
      _PurchaseOrderItem.PurchaseOrderItemCategory                                   as PurchaseOrderItemCategory,

      case when _MaterialDocumentItem.SalesOrder is null or _MaterialDocumentItem.SalesOrder = ''
        then cast(_SalesOrderItemFromDelivItem._ReferenceSDDocument.SalesDocumentType as abap.char(4))
        else cast(_MaterialDocumentItem._SalesOrder.SalesOrderType as abap.char(4))
      end                                                                            as SalesOrderType,
      @ObjectModel.foreignKey.association: '_SalesItemCategory'
      case when ( _MaterialDocumentItem.SalesOrderItem is null or _MaterialDocumentItem.SalesOrderItem = '' or _MaterialDocumentItem.SalesOrderItem = '000000' )
        then _SalesOrderItemFromDelivItem._ReferenceSalesDocumentItem.SalesDocumentItemCategory
      //        else case when ( _MaterialDocumentItem.SalesOrderItem is null or _MaterialDocumentItem.SalesOrderItem = '' or _MaterialDocumentItem.SalesOrderItem = '000000' ) and _SalesOrderItemFromDelivItem.ReferenceSDDocumentCategory = 'H'

      //          then _SOItemFromReturnDelivItem._ReferenceSalesDocumentItem.SalesDocumentItemCategory

          else _SalesOrderItem.SalesDocumentItemCategory
      //        end

      end                                                                            as SalesDocumentItemCategory,

      /*Authorizations*/
      _MaterialDocumentItem._Supplier.AuthorizationGroup                             as SupplierAuthznGrp,
      _MaterialDocumentItem._Customer.AuthorizationGroup                             as CustomerAuthznGrp,
      _MaterialDocumentItem._StorageLocation.IsStorLocAuthznCheckActive              as IsStorLocAuthznCheckActive,
      _MaterialDocumentItem._IssuingOrReceivingStorageLoc.IsStorLocAuthznCheckActive as IsIssgOrRcvgStorLocAuthChkActv,

      /*Associations*/
      _MaterialDocumentYear,
      _MaterialDocumentHeader,
      _SalesOrderItemFromDelivItem,
      //      _SOItemFromReturnDelivItem,

      _SalesItemCategory,
      _UnitOfMeasure,
      _PurgOrderItemFromDelivItem
}
where
  MaterialDocumentRecordType = 'MDOC'