P_PurchaseContractMassUpdate

DDL: P_PURCHASECONTRACTMASSUPDATE SQL: PCTRMASSCHANGE Type: view CONSUMPTION Package: ODATA_MM_PUR_CTRMASS_UPDATE

Mass Changes to Purchase Contracts

P_PurchaseContractMassUpdate is a Consumption CDS View that provides data about "Mass Changes to Purchase Contracts" in SAP S/4HANA. It reads from 4 data sources (I_PurchaseContract, I_PurchaseContract, I_PurchaseContractItem, I_PurchasingDocumentPartner) and exposes 247 fields with key field FormattedPurchaseContractItem. It has 3 associations to related views. Part of development package ODATA_MM_PUR_CTRMASS_UPDATE.

Data Sources (4)

SourceAliasJoin Type
I_PurchaseContract _Hdr inner
I_PurchaseContract _Header from
I_PurchaseContractItem _Item union_all
I_PurchasingDocumentPartner _Partner union

Associations (3)

CardinalityTargetAliasCondition
[1..1] C_PurContrMassUpdtValdtyStsVH _ContractStatusVH $projection.PurchaseContract = _ContractStatusVH.PurchaseContract
[1..1] P_ContractItemCount _CtrCount _CtrCount.PurchaseContract = $projection.PurchaseContract
[1..1] I_PurgDocumentItemCategory _ItemCategory _Item.PurchasingDocumentItemCategory = _ItemCategory.PurchasingDocumentItemCategory

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName PCTRMASSCHANGE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
EndUserText.label Mass Changes to Purchase Contracts view
VDM.private true view
VDM.viewType #CONSUMPTION view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
Metadata.ignorePropagatedAnnotations true view
VDM.lifecycle.status #DEPRECATED view

Fields (247)

KeyFieldSource TableSource FieldDescription
KEY FormattedPurchaseContractItem
PurchaseContract I_PurchaseContract PurchaseContract
PurchaseContractItem
NumberOfContractItems _CtrCount NumberOfContractItems
HierarchyNodeLevel
ParentNode
DrillDownState
Supplier I_PurchaseContract Supplier
PurchasingOrganization I_PurchaseContract PurchasingOrganization
PurchasingGroup I_PurchaseContract PurchasingGroup
PurchaseContractType I_PurchaseContract PurchaseContractType
CompanyCode I_PurchaseContract CompanyCode
IncotermsClassification I_PurchaseContract IncotermsClassification
CreationDateendasCreationDate
PurchaseContractValidityStatus _ContractStatusVH PurchaseContractValidityStatus
SupplierName
ReleaseCode I_PurchaseContract ReleaseCode
PaymentTerms I_PurchaseContract PaymentTerms
DocumentCurrency I_PurchaseContract DocumentCurrency
ExchangeRate
ExchangeRateIsFixed I_PurchaseContract ExchangeRateIsFixed
CorrespncExternalReference I_PurchaseContract CorrespncExternalReference
SupplierRespSalesPersonName I_PurchaseContract SupplierRespSalesPersonName
SupplierPhoneNumber I_PurchaseContract SupplierPhoneNumber
PurchaseContractTargetAmount I_PurchaseContract PurchaseContractTargetAmount
CorrespncInternalReference I_PurchaseContract CorrespncInternalReference
PurchasingDocumentName I_PurchaseContract PurchasingDocumentName
IncotermsVersion I_PurchaseContract IncotermsVersion
IncotermsLocation1 I_PurchaseContract IncotermsLocation1
IncotermsLocation2 I_PurchaseContract IncotermsLocation2
IncotermsClassificationName
PurchasingContractDeletionCode I_PurchaseContract PurchasingDocumentDeletionCode
PurchaseContractItemText
Material
Plant
StorageLocation
RequirementTracking
MaterialGroup
SupplierMaterialNumber
TargetQuantity
OrderQuantityUnit
OrderPriceUnit
TaxCode
StockType
IsInfoRecordUpdated
PriceIsToBePrinted
PurgDocEstimatedPrice
NoDaysReminder1
NoDaysReminder2
NoDaysReminder3
OverdelivTolrtdLmtRatioInPct
UnlimitedOverdeliveryIsAllowed
UnderdelivTolrtdLmtRatioInPct
PurchasingDocumentItemCategory
PurgDocExternalItemCategory
AccountAssignmentCategory
MultipleAcctAssgmtDistribution
InvoiceIsExpected
InvoiceIsGoodsReceiptBased
IsOrderAcknRqd
PurgDocOrderAcknNumber
ShippingInstruction
PurgDocReleaseOrderQuantity
ManualDeliveryAddressID
SupplierConfirmationControlKey
VolumeUnit
ReferenceDeliveryAddressID
MaterialType
ServicePerformer
ProductType
MaterialName
TaxCalculationProcedure
DefaultPartner
EmploymentInternalID
PartnerCounter
PartnerFunction
SupplierContact
ReferenceSupplier
SupplierSubrange
IsStrategicPartner
char16asFormattedPurchaseContractItem
PurchaseContract I_PurchaseContractItem PurchaseContract
PurchaseContractItem PurchaseContractItem
NumberOfContractItems
HierarchyNodeLevel
ParentNode I_PurchaseContractItem PurchaseContract
DrillDownState
Supplier
PurchasingOrganization PurchasingOrganization
PurchasingGroup
PurchaseContractType
CompanyCode _PurchaseContract CompanyCode
IncotermsClassification
CreationDate
PurchaseContractValidityStatus
SupplierName
ReleaseCode
ApprovalStatus
PaymentTerms
DocumentCurrency I_PurchaseContractItem DocumentCurrency
ExchangeRate
ExchangeRateIsFixed
ValidityStartDate
ValidityEndDate
CorrespncExternalReference
SupplierRespSalesPersonName
SupplierPhoneNumber
PurchaseContractTargetAmount
CorrespncInternalReference
PurchasingDocumentName
IncotermsVersion
IncotermsLocation1
IncotermsLocation2
IncotermsClassificationName
PurchasingContractDeletionCode PurchasingContractDeletionCode
PurchaseContractItemText PurchaseContractItemText
Material Material
Plant Plant
StorageLocation StorageLocation
RequirementTracking RequirementTracking
MaterialGroup MaterialGroup
SupplierMaterialNumber SupplierMaterialNumber
TargetQuantity TargetQuantity
OrderQuantityUnit OrderQuantityUnit
OrderPriceUnit OrderPriceUnit
TaxCode TaxCode
StockType StockType
IsInfoRecordUpdated IsInfoRecordUpdated
PriceIsToBePrinted PriceIsToBePrinted
PurgDocEstimatedPrice PurgDocEstimatedPrice
NoDaysReminder1 NoDaysReminder1
NoDaysReminder2 NoDaysReminder2
NoDaysReminder3 NoDaysReminder3
OverdelivTolrtdLmtRatioInPct OverdelivTolrtdLmtRatioInPct
UnlimitedOverdeliveryIsAllowed UnlimitedOverdeliveryIsAllowed
UnderdelivTolrtdLmtRatioInPct UnderdelivTolrtdLmtRatioInPct
PurchasingDocumentItemCategory PurchasingDocumentItemCategory
PurgDocExternalItemCategory
AccountAssignmentCategory AccountAssignmentCategory
MultipleAcctAssgmtDistribution MultipleAcctAssgmtDistribution
InvoiceIsExpected InvoiceIsExpected
InvoiceIsGoodsReceiptBased InvoiceIsGoodsReceiptBased
IsOrderAcknRqd IsOrderAcknRqd
PurgDocOrderAcknNumber PurgDocOrderAcknNumber
ShippingInstruction ShippingInstruction
PurgDocReleaseOrderQuantity PurgDocReleaseOrderQuantity
ManualDeliveryAddressID ManualDeliveryAddressID
SupplierConfirmationControlKey SupplierConfirmationControlKey
VolumeUnit VolumeUnit
ReferenceDeliveryAddressID ReferenceDeliveryAddressID
MaterialType MaterialType
ServicePerformer ServicePerformer
ProductType ProductType
MaterialName
TaxCalculationProcedure
DefaultPartner
EmploymentInternalID
PartnerCounter
PartnerFunction
SupplierContact
ReferenceSupplier
SupplierSubrange
IsStrategicPartner
char16asFormattedPurchaseContractItem
PurchaseContract I_PurchasingDocumentPartner PurchasingDocument
PurchaseContractItem
NumberOfContractItems
HierarchyNodeLevel
ParentNode I_PurchasingDocumentPartner PurchasingDocument
DrillDownState
Supplier
PurchasingOrganization I_PurchasingDocumentPartner PurchasingOrganization
PurchasingGroup
PurchaseContractType PurchasingDocumentType
CompanyCode _PurchasingDocument CompanyCode
IncotermsClassification
CreationDate
PurchaseContractValidityStatus
SupplierName
ReleaseCode
ApprovalStatus
PaymentTerms
DocumentCurrency
ExchangeRate
ExchangeRateIsFixed
ValidityStartDate
ValidityEndDate
CorrespncExternalReference
SupplierRespSalesPersonName
SupplierPhoneNumber
PurchaseContractTargetAmount
CorrespncInternalReference
PurchasingDocumentName
IncotermsVersion
IncotermsLocation1
IncotermsLocation2
IncotermsClassificationName
PurchasingContractDeletionCode
PurchaseContractItemText
Material
Plant
StorageLocation
RequirementTracking
MaterialGroup
SupplierMaterialNumber
TargetQuantity
OrderQuantityUnit
OrderPriceUnit
TaxCode
StockType
IsInfoRecordUpdated
PriceIsToBePrinted
PurgDocEstimatedPrice
NoDaysReminder1
NoDaysReminder2
NoDaysReminder3
OverdelivTolrtdLmtRatioInPct
UnlimitedOverdeliveryIsAllowed
UnderdelivTolrtdLmtRatioInPct
PurchasingDocumentItemCategory
PurgDocExternalItemCategory
AccountAssignmentCategory
MultipleAcctAssgmtDistribution
InvoiceIsExpected
InvoiceIsGoodsReceiptBased
IsOrderAcknRqd
PurgDocOrderAcknNumber
ShippingInstruction
PurgDocReleaseOrderQuantity
ManualDeliveryAddressID
SupplierConfirmationControlKey
VolumeUnit
ReferenceDeliveryAddressID
MaterialType
ServicePerformer
ProductType
MaterialName
TaxCalculationProcedure
DefaultPartner DefaultPartner
EmploymentInternalID EmploymentInternalID
PartnerCounter PartnerCounter
PartnerFunction PartnerFunction
SupplierContact SupplierContact
ReferenceSupplier I_PurchasingDocumentPartner Supplier
SupplierSubrange SupplierSubrange
IsStrategicPartner
PreferredSupplierName
@AbapCatalog.sqlViewName: 'PCTRMASSCHANGE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@EndUserText.label: 'Mass Changes to Purchase Contracts'

@VDM.private: true
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #TRANSACTIONAL

@Metadata.ignorePropagatedAnnotations: true

@VDM.lifecycle.status:#DEPRECATED

define view P_PurchaseContractMassUpdate

  as select from I_PurchaseContract as _Header

  association [1..1] to C_PurContrMassUpdtValdtyStsVH as _ContractStatusVH on $projection.PurchaseContract = _ContractStatusVH.PurchaseContract

  association [1..1] to P_ContractItemCount           as _CtrCount         on _CtrCount.PurchaseContract = $projection.PurchaseContract

{

  key cast (_Header.PurchaseContract as abap.char( 16 ))                                                 as FormattedPurchaseContractItem,

      _Header.PurchaseContract,

      cast ('' as vdm_purchasecontractitem)                                                              as PurchaseContractItem,

      _CtrCount.NumberOfContractItems,

      //---------------------------------------------------------------------------------------------

      // Hierarchy Fileds - Would be used for creating PO and Item tree on the UI

      //---------------------------------------------------------------------------------------------


      cast ( '0' as abap.char(1))                                                                        as HierarchyNodeLevel,

      cast ( ' ' as abap.char(16))                                                                       as ParentNode,

      cast ('expanded' as abap.char(8))                                                                  as DrillDownState,

      //---------------------------------------------------------------------------------------------

      // Filter Fields

      //---------------------------------------------------------------------------------------------


      _Header.Supplier,

      _Header.PurchasingOrganization,

      _Header.PurchasingGroup,

      _Header.PurchaseContractType,

      _Header.CompanyCode,

      _Header.IncotermsClassification,

      case _Header.CreationDate
      when (' ') then '00000000'
      else _Header.CreationDate
      end                                                                                                as CreationDate,

      _ContractStatusVH.PurchaseContractValidityStatus,

      //_ContractStatusVH.PurContrValidityStatusName,


      _Header._Supplier.SupplierName,

      _Header.ReleaseCode,

      cast ( case
         when ReleaseCode = 'B'
           then '01'
         when ReleaseCode = 'R'
           then '02'
         else '  '
      end as approvalstatus_ll )                                                                         as ApprovalStatus,

      //-----------------------------------------------------------------------------------------

      // Updatable Header Fields

      //-----------------------------------------------------------------------------------------


      _Header.PaymentTerms,

      @Semantics.currencyCode:true
      _Header.DocumentCurrency,

      cast(_Header.ExchangeRate as abap.quan( 9, 5 )  )                                                  as ExchangeRate,

      _Header.ExchangeRateIsFixed,


      case ValidityStartDate
      when (' ') then '00000000'
      else ValidityStartDate
      end                                                                                                as ValidityStartDate,

      case ValidityEndDate
      when (' ') then '00000000'
      else ValidityEndDate
      end                                                                                                as ValidityEndDate,


      // IHREZ - Your Reference

      _Header.CorrespncExternalReference,

      _Header.SupplierRespSalesPersonName,

      _Header.SupplierPhoneNumber,

      _Header.PurchaseContractTargetAmount,

      _Header.CorrespncInternalReference,

      _Header.PurchasingDocumentName,

      _Header.IncotermsVersion,

      _Header.IncotermsLocation1,


      _Header.IncotermsLocation2,

      _IncotermsClassification._Text[1: Language = $session.system_language].IncotermsClassificationName as IncotermsClassificationName,

      //-------------------------------------------------------------------------------------------

      //Item Fields

      //-------------------------------------------------------------------------------------------


      _Header.PurchasingDocumentDeletionCode                                                             as PurchasingContractDeletionCode,

      cast ('' as txz01)                                                                                 as PurchaseContractItemText,

      cast ('_' as matnr)                                                                                as Material,

      cast ('_' as ewerk)                                                                                as Plant,

      cast ('' as vdm_storage_location)                                                                  as StorageLocation,

      cast ('' as bednr)                                                                                 as RequirementTracking,

      cast ('_' as matkl)                                                                                as MaterialGroup,

      cast ('' as idnlf)                                                                                 as SupplierMaterialNumber,

      cast ('0' as ktmng)                                                                                as TargetQuantity,

      cast ('' as bstme)                                                                                 as OrderQuantityUnit,

      @Semantics.currencyCode:true
      cast ('' as bprme)                                                                                 as OrderPriceUnit,

      cast ('' as mwskz)                                                                                 as TaxCode,

      cast ('' as insmk)                                                                                 as StockType,

      cast ('' as spinf)                                                                                 as IsInfoRecordUpdated,

      cast ('' as prsdr)                                                                                 as PriceIsToBePrinted,

      cast ('' as schpr)                                                                                 as PurgDocEstimatedPrice,

      cast ('0' as mahn1)                                                                                as NoDaysReminder1,

      cast ('0' as mahn2)                                                                                as NoDaysReminder2,

      cast ('0' as mahn3)                                                                                as NoDaysReminder3,

      cast ('0' as uebto)                                                                                as OverdelivTolrtdLmtRatioInPct,

      cast ('' as uebtk)                                                                                 as UnlimitedOverdeliveryIsAllowed,

      cast ('0' as untto)                                                                                as UnderdelivTolrtdLmtRatioInPct,

      cast ('_' as pstyp)                                                                                as PurchasingDocumentItemCategory,

      cast ('_' as pstyp)                                                                                as PurgDocExternalItemCategory,

      cast ('_' as knttp)                                                                                as AccountAssignmentCategory,

      cast ('' as vrtkz)                                                                                 as MultipleAcctAssgmtDistribution,

      cast ('' as repos)                                                                                 as InvoiceIsExpected,

      cast ('' as webre)                                                                                 as InvoiceIsGoodsReceiptBased,

      cast ('' as kzabs)                                                                                 as IsOrderAcknRqd,

      cast ('' as labnr)                                                                                 as PurgDocOrderAcknNumber,

      cast ('' as evers)                                                                                 as ShippingInstruction,

      cast ('0' as noram)                                                                                as PurgDocReleaseOrderQuantity,

      cast ('' as adrnr_mm)                                                                              as ManualDeliveryAddressID,

      cast ('' as bstae)                                                                                 as SupplierConfirmationControlKey,

      cast ('' as voleh)                                                                                 as VolumeUnit,

      cast ('' as adrn2)                                                                                 as ReferenceDeliveryAddressID,

      cast ('' as mtart)                                                                                 as MaterialType,

      cast ('' as serviceperformer)                                                                      as ServicePerformer,

      cast ('' as producttype)                                                                           as ProductType,

      cast ('' as maktx)                                                                                 as MaterialName,

      cast ('' as kalsm_d)                                                                               as TaxCalculationProcedure,

      //--------------------------------------------------------------------------------------

      //Updatable Partner Fields

      //--------------------------------------------------------------------------------------


      cast ('' as defpa)                                                                                 as DefaultPartner,

      cast ('00000000' as pernr_d)                                                                       as EmploymentInternalID, //Personnel Number


      cast('' as parza)                                                                                  as PartnerCounter,

      cast('_' as parvw)                                                                                 as PartnerFunction,

      cast ('0000000000' as parnr)                                                                       as SupplierContact, //Number of Contact Person


      cast ('_' as lifn2)                                                                                as ReferenceSupplier,

      cast ('_' as ltsnr)                                                                                as SupplierSubrange,

      cast(' ' as boolean)                                                                               as IsStrategicPartner,

      cast('' as suppliername)                                                                           as PreferredSupplierName
}

where

  _Header.PurchasingDocumentDeletionCode = ' '


union all select from I_PurchaseContractItem as _Item

association [1..1] to I_PurgDocumentItemCategory as _ItemCategory on _Item.PurchasingDocumentItemCategory = _ItemCategory.PurchasingDocumentItemCategory

{

  key cast(concat(concat(_Item.PurchaseContract, '/'), PurchaseContractItem) as abap.char( 16 ) ) as FormattedPurchaseContractItem,

      _Item.PurchaseContract,

      PurchaseContractItem,

      cast ('1' as mm_a_contractitems)                                                            as NumberOfContractItems,

      //----------------------------------------------------------------------------------------------------------

      // Hierarchy Fileds - Would be used for creating PO and Item tree on the UI

      //----------------------------------------------------------------------------------------------------------


      cast  ( '1' as abap.char(1))                                                                as HierarchyNodeLevel,

      _Item.PurchaseContract                                                                      as ParentNode,

      cast ('leaf' as abap.char(8))                                                               as DrillDownState,


      //----------------------------------------------------------------------------------------------------------

      // Filter Fields

      //----------------------------------------------------------------------------------------------------------


      cast ('_' as md_supplier)                                                                   as Supplier,

      PurchasingOrganization,

      cast ('_' as bkgrp)                                                                         as PurchasingGroup,

      cast ('_' as bsart)                                                                         as PurchaseContractType,

      _PurchaseContract.CompanyCode,

      cast ('_' as inco1)                                                                         as IncotermsClassification,

      cast ('00000000' as paedt)                                                                  as CreationDate,

      cast('_' as mm_contract_status_id)                                                          as PurchaseContractValidityStatus,

      //cast('_' as mm_contract_status)                                                             as PurContrValidityStatusName,


      cast ('' as md_supplier_name)                                                               as SupplierName,

      cast('' as frgke )                                                                          as ReleaseCode, //Approval Status relevant field


      cast ('_' as approvalstatus_ll)                                                             as ApprovalStatus,

      //---------------------------------------------------------------------------------------------------------

      // Header Fields

      //---------------------------------------------------------------------------------------------------------


      cast ('' as dzterm)                                                                         as PaymentTerms,

      @Semantics.currencyCode:true
      _Item.DocumentCurrency,

      cast ('0' as abap.quan( 9, 5 ))                                                             as ExchangeRate,

      cast('' as kufix)                                                                           as ExchangeRateIsFixed,

      cast ('00000000' as kdatb)                                                                  as ValidityStartDate,

      cast ('00000000' as kdate)                                                                  as ValidityEndDate,

      // IHREZ - Your Reference

      cast(' ' as ihrez)                                                                          as CorrespncExternalReference,

      cast ('' as everk)                                                                          as SupplierRespSalesPersonName,

      cast ('' as telf0)                                                                          as SupplierPhoneNumber,

      @Semantics.amount.currencyCode: 'DocumentCurrency'
      cast ('0' as ktwrt)                                                                         as PurchaseContractTargetAmount,

      cast (' ' as unsez)                                                                         as CorrespncInternalReference,

      cast ('' as vdm_purgdoc_name)                                                               as PurchasingDocumentName,

      cast (' ' as incov)                                                                         as IncotermsVersion,

      cast ('' as inco2_l)                                                                        as IncotermsLocation1,

      cast ('' as inco3_l)                                                                        as IncotermsLocation2,

      cast ('' as bezei)                                                                          as IncotermsClassificationName,

      //--------------------------------------------------------------------------------------------------

      // Updatable Item Fields

      //--------------------------------------------------------------------------------------------------


      PurchasingContractDeletionCode,

      PurchaseContractItemText,

      Material,

      Plant,

      StorageLocation,

      RequirementTracking,

      MaterialGroup,

      SupplierMaterialNumber,

      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      TargetQuantity,

      @Semantics.unitOfMeasure: true
      OrderQuantityUnit,
      @Semantics.currencyCode:true
      OrderPriceUnit,

      TaxCode,

      StockType,

      IsInfoRecordUpdated,

      PriceIsToBePrinted,

      @Semantics.amount.currencyCode: 'DocumentCurrency'
      PurgDocEstimatedPrice,

      NoDaysReminder1,

      NoDaysReminder2,

      NoDaysReminder3,

      OverdelivTolrtdLmtRatioInPct,

      UnlimitedOverdeliveryIsAllowed,

      UnderdelivTolrtdLmtRatioInPct,

      PurchasingDocumentItemCategory,

      _ItemCategory._Text[1: Language = $session.system_language ].PurgDocExternalItemCategory,

      AccountAssignmentCategory,

      MultipleAcctAssgmtDistribution,

      InvoiceIsExpected,

      InvoiceIsGoodsReceiptBased,

      IsOrderAcknRqd,

      PurgDocOrderAcknNumber,

      ShippingInstruction,

      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      PurgDocReleaseOrderQuantity,

      ManualDeliveryAddressID,

      SupplierConfirmationControlKey,

      VolumeUnit,

      ReferenceDeliveryAddressID,

      MaterialType,

      ServicePerformer,

      ProductType,

      _Material._Text[1: Language = $session.system_language].MaterialName,

      _Plant._Address._Country.TaxCalculationProcedure,

      //--------------------------------------------------------------------------------------------------------

      // Updatable Partner Fields

      //--------------------------------------------------------------------------------------------------------


      cast ('' as defpa)                                                                          as DefaultPartner,

      cast ('00000000' as pernr_d)                                                                as EmploymentInternalID, //Personnel Number


      cast('' as parza)                                                                           as PartnerCounter,

      cast('_' as parvw)                                                                          as PartnerFunction,

      cast ('0000000000' as parnr)                                                                as SupplierContact, //Number of Contact Person


      cast ('_' as lifn2)                                                                         as ReferenceSupplier,

      cast ('_' as ltsnr)                                                                         as SupplierSubrange,

      cast(' ' as boolean)                                                                        as IsStrategicPartner,

      cast('' as suppliername)                                                                    as PreferredSupplierName
}

where
      _PurchaseContract.PurchasingDocumentDeletionCode = ' '
  and _Item.PurchasingContractDeletionCode             = ' '


union select from I_PurchasingDocumentPartner as _Partner

  inner join      I_PurchaseContract          as _Hdr on  _Hdr.PurchaseContract               = _Partner.PurchasingDocument
                                                      and _Hdr.PurchasingDocumentDeletionCode = ' '

{

  key cast(concat(concat(concat(
    _Partner.PurchasingDocument, '/'),
    _Partner.PartnerFunction),
    _Partner.PartnerCounter) as abap.char( 16 )) as FormattedPurchaseContractItem,

      _Partner.PurchasingDocument                as PurchaseContract,

      cast ('00000' as vdm_purchasecontractitem) as PurchaseContractItem,

      cast ('1' as mm_a_contractitems)           as NumberOfContractItems,

      //------------------------------------------------------------------------------

      // Hierarchy Fileds - Would be used for creating PO and Item tree on the UI

      //------------------------------------------------------------------------------


      cast  ( '1' as abap.char(1))               as HierarchyNodeLevel,

      _Partner.PurchasingDocument                as ParentNode,

      cast ('leaf' as abap.char(8))              as DrillDownState,


      //------------------------------------------------------------------------------

      //Filter Fields

      //------------------------------------------------------------------------------


      cast ('_' as md_supplier)                  as Supplier,

      _Partner.PurchasingOrganization            as PurchasingOrganization,

      cast ('_' as bkgrp)                        as PurchasingGroup,

      PurchasingDocumentType                     as PurchaseContractType,

      _PurchasingDocument.CompanyCode            as CompanyCode,

      cast ('_' as inco1)                        as IncotermsClassification,

      cast ('00000000' as paedt)                 as CreationDate,

      cast('_' as mm_contract_status_id)         as PurchaseContractValidityStatus,

      //cast('_' as mm_contract_status)            as PurContrValidityStatusName,


      cast ('' as md_supplier_name)              as SupplierName,

      cast('' as frgke )                         as ReleaseCode, //Approval Status relevant field


      cast ('_' as approvalstatus_ll)            as ApprovalStatus,

      //--------------------------------------------------------------------------------------

      //Header Fields

      //--------------------------------------------------------------------------------------


      cast ('' as dzterm)                        as PaymentTerms,

      @Semantics.currencyCode:true
      cast('' as waers)                          as DocumentCurrency,

      cast ('0' as abap.quan( 9, 5 ))            as ExchangeRate,

      cast('' as kufix)                          as ExchangeRateIsFixed,

      cast ('00000000' as kdatb)                 as ValidityStartDate,

      cast ('00000000' as kdate)                 as ValidityEndDate,

      // IHREZ - Your Reference

      cast(' ' as ihrez)                         as CorrespncExternalReference,

      cast ('' as everk)                         as SupplierRespSalesPersonName,

      cast ('' as telf0)                         as SupplierPhoneNumber,

      @Semantics.amount.currencyCode: 'DocumentCurrency'
      cast ('0' as ktwrt)                        as PurchaseContractTargetAmount,

      cast(' ' as unsez)                         as CorrespncInternalReference,

      cast ('' as vdm_purgdoc_name)              as PurchasingDocumentName,

      cast (' ' as incov)                        as IncotermsVersion,

      cast ('' as inco2_l)                       as IncotermsLocation1,

      cast ('' as inco3_l)                       as IncotermsLocation2,

      cast ('' as bezei)                         as IncotermsClassificationName,

      //---------------------------------------------------------------------------------------------------------------

      // Updatable Item Fields

      //---------------------------------------------------------------------------------------------------------------


      cast ('' as eloek)                         as PurchasingContractDeletionCode,

      cast ('' as txz01)                         as PurchaseContractItemText,

      cast ('_' as matnr)                        as Material,

      cast ('_' as ewerk)                        as Plant,

      cast ('' as vdm_storage_location)          as StorageLocation,

      cast ('' as bednr)                         as RequirementTracking,

      cast ('_' as matkl)                        as MaterialGroup,

      cast ('' as idnlf)                         as SupplierMaterialNumber,

      cast ('0' as ktmng)                        as TargetQuantity,

      cast ('' as bstme)                         as OrderQuantityUnit,

      @Semantics.currencyCode:true
      cast ('' as bprme)                         as OrderPriceUnit,

      cast ('' as mwskz)                         as TaxCode,

      cast ('' as insmk)                         as StockType,

      cast ('' as spinf)                         as IsInfoRecordUpdated,

      cast ('' as prsdr)                         as PriceIsToBePrinted,

      cast ('' as schpr)                         as PurgDocEstimatedPrice,

      cast ('0' as mahn1)                        as NoDaysReminder1,

      cast ('0' as mahn2)                        as NoDaysReminder2,

      cast ('0' as mahn3)                        as NoDaysReminder3,

      cast ('0' as uebto)                        as OverdelivTolrtdLmtRatioInPct,

      cast ('' as uebtk)                         as UnlimitedOverdeliveryIsAllowed,

      cast ('0' as untto)                        as UnderdelivTolrtdLmtRatioInPct,

      cast ('_' as pstyp)                        as PurchasingDocumentItemCategory,

      cast ('_' as pstyp)                        as PurgDocExternalItemCategory,

      cast ('_' as knttp)                        as AccountAssignmentCategory,

      cast ('' as vrtkz)                         as MultipleAcctAssgmtDistribution,

      cast ('' as repos)                         as InvoiceIsExpected,

      cast ('' as webre)                         as InvoiceIsGoodsReceiptBased,

      cast ('' as kzabs)                         as IsOrderAcknRqd,

      cast ('' as labnr)                         as PurgDocOrderAcknNumber,

      cast ('' as evers)                         as ShippingInstruction,

      cast ('0' as noram)                        as PurgDocReleaseOrderQuantity,

      cast ('' as adrnr_mm)                      as ManualDeliveryAddressID,

      cast ('' as bstae)                         as SupplierConfirmationControlKey,

      cast ('' as voleh)                         as VolumeUnit,

      cast ('' as adrn2)                         as ReferenceDeliveryAddressID,

      cast ('' as mtart)                         as MaterialType,

      cast ('' as serviceperformer)              as ServicePerformer,

      cast ('' as producttype)                   as ProductType,

      cast ('' as maktx)                         as MaterialName,

      cast ('' as kalsm_d)                       as TaxCalculationProcedure,

      DefaultPartner,

      EmploymentInternalID,

      PartnerCounter,

      PartnerFunction,

      SupplierContact,

      _Partner.Supplier                          as ReferenceSupplier,

      SupplierSubrange,

      cast('X' as boolean)                       as IsStrategicPartner,

      _Partner._Supplier.SupplierName            as PreferredSupplierName
}