P_PurchaseOrderMassUpdate

DDL: P_PURCHASEORDERMASSUPDATE SQL: PPOMASSUPDATE Type: view CONSUMPTION

Mass Update of Purchase Orders

P_PurchaseOrderMassUpdate is a Consumption CDS View that provides data about "Mass Update of Purchase Orders" in SAP S/4HANA. It reads from 3 data sources (I_PurchaseOrderItem, C_Purchaseorderitemcount, I_PurchaseOrder) and exposes 233 fields with key field FormattedPurDoc. It has 1 association to related views.

Data Sources (3)

SourceAliasJoin Type
I_PurchaseOrderItem _Item union
C_Purchaseorderitemcount _POCount inner
I_PurchaseOrder I_PurchaseOrder from

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_PurchaseOrderScheduleLine _ScheduleLine _Item.PurchaseOrder = _ScheduleLine.PurchaseOrder and _Item.PurchaseOrderItem = _ScheduleLine.PurchaseOrderItem and _Item.ProductType = '2'

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName PPOMASSUPDATE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
EndUserText.label Mass Update of Purchase Orders 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
VDM.lifecycle.status #DEPRECATED view
Metadata.ignorePropagatedAnnotations true view

Fields (233)

KeyFieldSource TableSource FieldDescription
KEY FormattedPurDoc
FormattedPurchasingDocItem
PurchaseOrder I_PurchaseOrder PurchaseOrder
PurchaseOrderItem
ReleaseDateTime
InternalComment
MemoLine
DefectCodeText
ItemIsSelectedForProcessing
PurgDocMassUpdtIsSimulated
NumberOfPurchaseOrderItems C_Purchaseorderitemcount NumberOfPurchaseOrderItems
HierarchyNodeLevel
ParentNode
DrillDownState
NumberOfItems
Supplier Supplier
PurchasingOrganization I_PurchaseOrder PurchasingOrganization
PurchaseOrderType I_PurchaseOrder PurchaseOrderType
PurchaseOrderDate PurchaseOrderDate
PurchasingDocumentOrigin PurchasingDocumentOrigin
CompanyCode CompanyCode
Plant
Material
PaymentTerms PaymentTerms
PaymentTermsName
CashDiscount1Days CashDiscount1Days
CashDiscount2Days CashDiscount2Days
NetPaymentDays NetPaymentDays
CashDiscount1Percent CashDiscount1Percent
CashDiscount2Percent CashDiscount2Percent
PurchasingGroup I_PurchaseOrder PurchasingGroup
DocumentCurrency DocumentCurrency
SupplierRespSalesPersonName SupplierRespSalesPersonName
SupplierPhoneNumber SupplierPhoneNumber
SupplyingSupplier SupplyingSupplier
IncotermsClassification IncotermsClassification
IncotermsClassificationName
IncotermsTransferLocation IncotermsTransferLocation
InvoicingParty InvoicingParty
ExchangeRate
SupplierName _Supplier SupplierName
IncotermsVersion IncotermsVersion
PurchasingDocumentTypeName
PurchasingOrganizationName _PurchasingOrganization PurchasingOrganizationName
PurchasingGroupName _PurchasingGroup PurchasingGroupName
HeaderIncotermsLoc1
HeaderIncotermsLoc2
PurchasingDocumentDeletionCode PurchasingDocumentDeletionCode
ManufacturerMaterial
StorageLocation
MaterialGroup
PurchasingInfoRecord
SupplierMaterialNumber
OrderPriceUnitToOrderUnitNmrtr
OrdPriceUnitToOrderUnitDnmntr
OrderItemQtyToBaseQtyNmrtr
OrderItemQtyToBaseQtyDnmntr
NetPriceQuantity
NetAmount
TaxCode
PriceIsToBePrinted
OverdelivTolrtdLmtRatioInPct
UnlimitedOverdeliveryIsAllowed
UnderdelivTolrtdLmtRatioInPct
ValuationType
IsCompletelyDelivered
IsFinallyInvoiced
PurchaseOrderItemCategory
PurgDocItemCategoryName
AccountAssignmentCategory
MultipleAcctAssgmtDistribution
PartialInvoiceDistribution
GoodsReceiptIsExpected
GoodsReceiptIsNonValuated
InvoiceIsExpected
InvoiceIsGoodsReceiptBased
BaseUnit
EffectiveAmount
ItemNetWeight
ItemWeightUnit
TaxJurisdiction
InternationalArticleNumber
SupplierConfirmationControlKey
ProfitCenter
PricingDateControl
ItemVolume
ItemVolumeUnit
ItemIncotermsClassification
ItemIncotermsTransferLocation
SupplierSubrange
ServicePackage
EvaldRcptSettlmtIsAllowed
IsReturnsItem
EarmarkedFunds
EarmarkedFundsItem
IncotermsLocation1
IncotermsLocation2
ServicePerformer
ProductType
OrderPriceUnit
MaterialName
PurchaseOrderItemText
PlantName
CompanyCodeName _CompanyCode CompanyCodeName
TaxCalculationProcedure
IsBusinessPurposeCompleted _Supplier IsBusinessPurposeCompleted
PurchasingDocumentStatus
PurchasingDocumentStatusName
SemanticObject
PurchaseOrderQuantityUnit
StorageLocationName
MaterialGroupName
ProductTypeName
InvoicingPartyName _InvoicingParty SupplierName
PerformancePeriodStartDate
char25asFormattedPurDoc
FormattedPurchasingDocItem
PurchaseOrder PurchaseOrder
PurchaseOrderItem PurchaseOrderItem
ReleaseDateTime
InternalComment
MemoLine
DefectCodeText
ItemIsSelectedForProcessing
PurgDocMassUpdtIsSimulated
NumberOfPurchaseOrderItems
HierarchyNodeLevel
ParentNode PurchaseOrder
DrillDownState
NumberOfItems
Supplier _PurchaseOrder Supplier
PurchasingOrganization _PurchaseOrder PurchasingOrganization
PurchaseOrderType _PurchaseOrder PurchaseOrderType
PurchaseOrderDate _PurchaseOrder PurchaseOrderDate
PurchasingDocumentOrigin _PurchaseOrder PurchasingDocumentOrigin
CompanyCode _PurchaseOrder CompanyCode
Plant I_PurchaseOrderItem Plant
Material Material
PaymentTerms
PaymentTermsName
CashDiscount1Days
CashDiscount2Days
NetPaymentDays
CashDiscount1Percent
CashDiscount2Percent
PurchasingGroup _PurchaseOrder PurchasingGroup
DocumentCurrency I_PurchaseOrderItem DocumentCurrency
ValidityStartDate
ValidityEndDate
SupplierRespSalesPersonName
SupplierPhoneNumber
SupplyingSupplier
IncotermsClassification
IncotermsClassificationName
IncotermsTransferLocation
InvoicingParty
ExchangeRate
SupplierName
IncotermsVersion
PurchasingDocumentTypeName
PurchasingOrganizationName
PurchasingGroupName
HeaderIncotermsLoc1
HeaderIncotermsLoc2
PurchasingDocumentDeletionCode I_PurchaseOrderItem PurchasingDocumentDeletionCode
ManufacturerMaterial ManufacturerMaterial
StorageLocation StorageLocation
MaterialGroup MaterialGroup
PurchasingInfoRecord PurchasingInfoRecord
SupplierMaterialNumber SupplierMaterialNumber
OrderPriceUnitToOrderUnitNmrtr OrderPriceUnitToOrderUnitNmrtr
OrdPriceUnitToOrderUnitDnmntr OrdPriceUnitToOrderUnitDnmntr
OrderItemQtyToBaseQtyNmrtr OrderItemQtyToBaseQtyNmrtr
OrderItemQtyToBaseQtyDnmntr OrderItemQtyToBaseQtyDnmntr
NetPriceQuantity NetPriceQuantity
NetAmount NetAmount
TaxCode TaxCode
PriceIsToBePrinted PriceIsToBePrinted
OverdelivTolrtdLmtRatioInPct OverdelivTolrtdLmtRatioInPct
UnlimitedOverdeliveryIsAllowed UnlimitedOverdeliveryIsAllowed
UnderdelivTolrtdLmtRatioInPct UnderdelivTolrtdLmtRatioInPct
ValuationType ValuationType
IsCompletelyDelivered IsCompletelyDelivered
IsFinallyInvoiced IsFinallyInvoiced
PurchaseOrderItemCategory PurchaseOrderItemCategory
PurgDocItemCategoryName
AccountAssignmentCategory AccountAssignmentCategory
MultipleAcctAssgmtDistribution MultipleAcctAssgmtDistribution
PartialInvoiceDistribution PartialInvoiceDistribution
GoodsReceiptIsExpected GoodsReceiptIsExpected
GoodsReceiptIsNonValuated GoodsReceiptIsNonValuated
InvoiceIsExpected InvoiceIsExpected
InvoiceIsGoodsReceiptBased InvoiceIsGoodsReceiptBased
BaseUnit BaseUnit
EffectiveAmount EffectiveAmount
ItemNetWeight ItemNetWeight
ItemWeightUnit ItemWeightUnit
TaxJurisdiction TaxJurisdiction
InternationalArticleNumber InternationalArticleNumber
SupplierConfirmationControlKey SupplierConfirmationControlKey
ProfitCenter ProfitCenter
PricingDateControl PricingDateControl
ItemVolume ItemVolume
ItemVolumeUnit ItemVolumeUnit
ItemIncotermsClassification I_PurchaseOrderItem IncotermsClassification
ItemIncotermsTransferLocation I_PurchaseOrderItem IncotermsTransferLocation
SupplierSubrange I_PurchaseOrderItem SupplierSubrange
ServicePackage ServicePackage
EvaldRcptSettlmtIsAllowed EvaldRcptSettlmtIsAllowed
IsReturnsItem IsReturnsItem
EarmarkedFunds EarmarkedFunds
EarmarkedFundsItem EarmarkedFundsItem
IncotermsLocation1 I_PurchaseOrderItem IncotermsLocation1
IncotermsLocation2 I_PurchaseOrderItem IncotermsLocation2
ServicePerformer ServicePerformer
ProductType ProductType
OrderPriceUnit OrderPriceUnit
MaterialName
PurchaseOrderItemText PurchaseOrderItemText
PlantName _Plant PlantName
CompanyCodeName
TaxCalculationProcedure
IsBusinessPurposeCompleted
PurchasingDocumentStatus
PurchasingDocumentStatusName
SemanticObject
PurchaseOrderQuantityUnit
StorageLocationName _StorageLocation StorageLocationName
MaterialGroupName
ProductTypeName
InvoicingPartyName
PerformancePeriodStartDate _ScheduleLine PerformancePeriodStartDate
PerformancePeriodEndDate _ScheduleLine PerformancePeriodEndDate
@AbapCatalog.sqlViewName: 'PPOMASSUPDATE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@EndUserText.label: 'Mass Update of Purchase Orders'

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

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

@VDM.lifecycle.status: #DEPRECATED

@Metadata.ignorePropagatedAnnotations: true

define view P_PurchaseOrderMassUpdate 

  as select from I_PurchaseOrder

    inner join   C_Purchaseorderitemcount as _POCount on  _POCount.PurchaseOrder              = I_PurchaseOrder.PurchaseOrder
                                                      and _POCount.NumberOfPurchaseOrderItems > 0

{

  key cast(I_PurchaseOrder.PurchaseOrder as abap.char(25))                                                                                  as FormattedPurDoc,

      cast(I_PurchaseOrder.PurchaseOrder as abap.char(16))                                                                                  as FormattedPurchasingDocItem,

      I_PurchaseOrder.PurchaseOrder                                                                                                         as PurchaseOrder,

      cast('' as vdm_purchaseorderitem)                                                                                                     as PurchaseOrderItem,


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

      // Utility Fields - Would be used to send data from UI for Update call

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


      cast('00000000000000' as abap.char( 30 ))                                                                                             as ReleaseDateTime,
      @UI.hidden: true
      cast ('' as abap.char( 120 ))                                                                                                         as InternalComment,

      cast ('' as abap.sstring( 1332 ))                                                                                                     as MemoLine,

      cast ('' as abap.sstring( 1332 ))                                                                                                     as DefectCodeText,

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

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

      _POCount.NumberOfPurchaseOrderItems,


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

      // Hierarchy Fields - 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,

      @DefaultAggregation: #SUM
      cast(0 as abap.int4 )                                                                                                                 as NumberOfItems,


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

      // Filter Fields

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


      Supplier,

      I_PurchaseOrder.PurchasingOrganization,

      I_PurchaseOrder.PurchaseOrderType,

      PurchaseOrderDate,

      PurchasingDocumentOrigin,

      CompanyCode,

      cast ('' as ewerk)                                                                                                                    as Plant,

      cast ('' as matnr)                                                                                                                    as Material,


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

      // Header Fields

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


      PaymentTerms,

      _PaymentTerms._Text[1: Language = $session.system_language ].PaymentTermsName                                                         as PaymentTermsName,

      CashDiscount1Days,

      CashDiscount2Days,

      NetPaymentDays,

      CashDiscount1Percent,

      CashDiscount2Percent,

      I_PurchaseOrder.PurchasingGroup,

      DocumentCurrency,

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

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

      SupplierRespSalesPersonName,

      SupplierPhoneNumber,

      SupplyingSupplier,

      IncotermsClassification,

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

      IncotermsTransferLocation,

      InvoicingParty,

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

      _Supplier.SupplierName,

      IncotermsVersion,

      _PurchaseOrderType._Text[1: Language = $session.system_language ].PurchasingDocumentTypeName,

      _PurchasingOrganization.PurchasingOrganizationName,

      _PurchasingGroup.PurchasingGroupName,

      cast(IncotermsLocation1 as vdm_h_inco2_l )                                                                                            as HeaderIncotermsLoc1,

      cast(IncotermsLocation2 as vdm_h_inco3_l )                                                                                            as HeaderIncotermsLoc2,


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

      // Item Fields

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


      PurchasingDocumentDeletionCode,

      cast ('' as ematnr)                                                                                                                   as ManufacturerMaterial,

      cast ('' as vdm_storage_location)                                                                                                     as StorageLocation,

      cast ('' as matkl)                                                                                                                    as MaterialGroup,

      cast ('' as infnr)                                                                                                                    as PurchasingInfoRecord,

      cast ('' as idnlf)                                                                                                                    as SupplierMaterialNumber,

      cast ('0' as bpumz)                                                                                                                   as OrderPriceUnitToOrderUnitNmrtr,

      cast ('0' as bpumn)                                                                                                                   as OrdPriceUnitToOrderUnitDnmntr,

      cast ('0' as umbsz)                                                                                                                   as OrderItemQtyToBaseQtyNmrtr,

      cast ('0' as umbsn)                                                                                                                   as OrderItemQtyToBaseQtyDnmntr,

      cast ('0' as vdm_price_unit)                                                                                                          as NetPriceQuantity,

      cast ('0' as netwr)                                                                                                                   as NetAmount,

      cast ('' as mwskz)                                                                                                                    as TaxCode,

      cast ('' as prsdr)                                                                                                                    as PriceIsToBePrinted,

      cast ('0' as uebto)                                                                                                                   as OverdelivTolrtdLmtRatioInPct,

      cast ('' as uebtk)                                                                                                                    as UnlimitedOverdeliveryIsAllowed,

      cast ('0' as untto)                                                                                                                   as UnderdelivTolrtdLmtRatioInPct,

      cast ('' as bwtar_d)                                                                                                                  as ValuationType,

      cast ('' as elikz)                                                                                                                    as IsCompletelyDelivered,

      cast ('' as erekz)                                                                                                                    as IsFinallyInvoiced,

      cast ('' as pstyp)                                                                                                                    as PurchaseOrderItemCategory,

      cast('' as ptext_d)                                                                                                                   as PurgDocItemCategoryName,

      cast ('' as knttp)                                                                                                                    as AccountAssignmentCategory,

      cast ('' as vrtkz)                                                                                                                    as MultipleAcctAssgmtDistribution,

      cast ('' as twrkz)                                                                                                                    as PartialInvoiceDistribution,

      cast ('' as wepos)                                                                                                                    as GoodsReceiptIsExpected,

      cast ('' as weunb)                                                                                                                    as GoodsReceiptIsNonValuated,

      cast ('' as repos)                                                                                                                    as InvoiceIsExpected,

      cast ('' as webre)                                                                                                                    as InvoiceIsGoodsReceiptBased,

      cast ('' as lagme)                                                                                                                    as BaseUnit,

      cast ('0' as effwr)                                                                                                                   as EffectiveAmount,

      cast ('0' as ntgew)                                                                                                                   as ItemNetWeight,

      cast ('' as gewei)                                                                                                                    as ItemWeightUnit,

      cast ('' as txjcd)                                                                                                                    as TaxJurisdiction,

      cast ('' as ean11)                                                                                                                    as InternationalArticleNumber,

      cast ('' as bstae)                                                                                                                    as SupplierConfirmationControlKey,

      cast ('' as prctr)                                                                                                                    as ProfitCenter,

      cast ('' as meprf)                                                                                                                    as PricingDateControl,

      cast ('0' as volum)                                                                                                                   as ItemVolume,

      cast ('' as voleh)                                                                                                                    as ItemVolumeUnit,

      cast ('' as inco1)                                                                                                                    as ItemIncotermsClassification,

      cast ('' as inco2)                                                                                                                    as ItemIncotermsTransferLocation,

      cast ('' as ltsnr)                                                                                                                    as SupplierSubrange,

      cast ('' as packno)                                                                                                                   as ServicePackage,

      cast ('' as xersy)                                                                                                                    as EvaldRcptSettlmtIsAllowed,

      cast ('' as retpo)                                                                                                                    as IsReturnsItem,

      cast ('' as kblnr)                                                                                                                    as EarmarkedFunds,

      cast ('' as kblpos)                                                                                                                   as EarmarkedFundsItem,

      cast ('' as inco2_l)                                                                                                                  as IncotermsLocation1,

      cast ('' as inco3_l)                                                                                                                  as IncotermsLocation2,

      cast ('' as serviceperformer)                                                                                                         as ServicePerformer,

      cast ('' as producttype)                                                                                                              as ProductType,

      cast ('' as bprme)                                                                                                                    as OrderPriceUnit,

      cast ('' as maktx)                                                                                                                    as MaterialName,

      cast ('' as txz01)                                                                                                                    as PurchaseOrderItemText,

      cast ('' as werks_name)                                                                                                               as PlantName,

      _CompanyCode.CompanyCodeName,

      cast ('' as kalsm_d)                                                                                                                  as TaxCalculationProcedure,

      _Supplier.IsBusinessPurposeCompleted,

      cast ('' as abap.char( 2 ))                                                                                                           as PurchasingDocumentStatus,

      cast ('' as ddtext)                                                                                                                   as PurchasingDocumentStatusName,

      cast ('PurchaseOrder' as abap.char( 40 ))                                                                                             as SemanticObject,

      @Semantics.unitOfMeasure: true
      cast ('' as meins)                                                                                                                    as PurchaseOrderQuantityUnit,


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

      // Text Fields

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


      cast ('' as lgort_name)                                                                                                               as StorageLocationName,

      cast ('' as wgbez)                                                                                                                    as MaterialGroupName,

      cast ('' as product_type_description)                                                                                                 as ProductTypeName,

      _InvoicingParty.SupplierName                                                                                                          as InvoicingPartyName,
      cast('00000000' as performanceperiodstartdate)                                                                                        as PerformancePeriodStartDate,
      //cast ('00000000' as bedat preserving type)                                                         as PerformancePeriodStartDate,


      cast('00000000' as mmpur_servproc_period_end)                                                                                         as PerformancePeriodEndDate
    //  '0000000000000000'                                                                                                                    as ApplicationLog



}

where

      PurchasingDocumentDeletionCode       =  ''
  and(
    (
      Supplier                             =  ' '
    )
    or(
      _Supplier.IsBusinessPurposeCompleted <> 'X'
    )
  )


union select from I_PurchaseOrderItem   as _Item

//  left outer join C_PurchasingDocStatus as _PDStatus on  _PDStatus.PurchaseOrder     = _Item.PurchaseOrder

//                                                     and _PDStatus.PurchasingDocumentItem = _Item.PurchaseOrderItem



association [0..1] to I_PurchaseOrderScheduleLine as _ScheduleLine on  _Item.PurchaseOrder     = _ScheduleLine.PurchaseOrder
                                                                   and _Item.PurchaseOrderItem = _ScheduleLine.PurchaseOrderItem
                                                                   and _Item.ProductType       = '2'

{

  key cast(concat(concat(_Item.PurchaseOrder, '/'), _Item.PurchaseOrderItem) as abap.char(25))  as FormattedPurDoc,

      cast(concat(concat(_Item.PurchaseOrder, '/'), _Item.PurchaseOrderItem) as abap.char(16))  as FormattedPurchasingDocItem,

      PurchaseOrder,

      PurchaseOrderItem,

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

      // Utility Fields - Would be used to send data from UI for Update call

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


      cast('00000000000000' as abap.char( 30 ))                                                 as ReleaseDateTime,

      @UI.hidden: true
      cast ('' as abap.char( 120 ))                                                             as InternalComment,

      cast ('' as abap.sstring( 1332 ))                                                         as MemoLine,

      cast ('' as abap.sstring( 1332 ))                                                         as DefectCodeText,

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

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

      cast ('1' as mm_a_contractitems)                                                          as NumberOfPurchaseOrderItems,


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

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

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


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

      PurchaseOrder                                                                             as ParentNode,                                                                        

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

      @DefaultAggregation: #SUM
      cast( 1 as abap.int4 )                                                                    as NumberOfItems,

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

      // Filter Fields

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


      _PurchaseOrder.Supplier,
      // cast ('' as lifnr)                                                                       as Supplier,


      _PurchaseOrder.PurchasingOrganization,
      // cast ('' as ekorg)                                                                       as PurchasingOrganization,


      _PurchaseOrder.PurchaseOrderType,
      //cast ('' as bsart)                                                                       as PurchaseOrderType,


      _PurchaseOrder.PurchaseOrderDate,
      //cast ('00000000' as bedat)                                                               as PurchaseOrderDate,


      _PurchaseOrder.PurchasingDocumentOrigin,
      //cast ('' as estak)                                                                       as PurchasingDocumentOrigin,


      _PurchaseOrder.CompanyCode,
      //cast ('' as bukrs)                                                                       as CompanyCode,


      _Item.Plant,

      Material,


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

      // Header Fields

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


      cast ('' as dzterm)                                                                       as PaymentTerms,

      cast ('' as vtext)                                                                        as PaymentTermsName,

      cast ('0' as dzbdet)                                                                      as CashDiscount1Days,

      cast ('0' as dzbdet)                                                                      as CashDiscount2Days,

      cast ('0' as dzbdet)                                                                      as NetPaymentDays,

      cast ('0' as dzbd1p)                                                                      as CashDiscount1Percent,

      cast ('0' as dzbd1p)                                                                      as CashDiscount2Percent,

      _PurchaseOrder.PurchasingGroup,
      //cast ('' as ekgrp)                                                                       as PurchasingGroup,


      _Item.DocumentCurrency,

      cast ('00000000' as kdatb)                                                                as ValidityStartDate,

      cast ('00000000' as kdate)                                                                as ValidityEndDate,

      cast ('' as everk)                                                                        as SupplierRespSalesPersonName,

      cast ('' as telf0)                                                                        as SupplierPhoneNumber,

      cast ('' as llief)                                                                        as SupplyingSupplier,

      cast ('' as inco1)                                                                        as IncotermsClassification,

      cast ('' as bezei)                                                                        as IncotermsClassificationName,

      cast ('' as inco2)                                                                        as IncotermsTransferLocation,

      cast ('' as lifre)                                                                        as InvoicingParty,

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

      cast ('' as md_supplier_name)                                                             as SupplierName,

      cast (' ' as incov)                                                                       as IncotermsVersion,

      cast ('' as batxt )                                                                       as PurchasingDocumentTypeName,

      cast ('' as mm_a_purg_org_name)                                                           as PurchasingOrganizationName,

      cast ('' as mm_a_purg_grp_name)                                                           as PurchasingGroupName,

      cast ('' as vdm_h_inco2_l)                                                                as HeaderIncotermsLoc1,

      cast ('' as vdm_h_inco3_l)                                                                as HeaderIncotermsLoc2,


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

      // Item Fields

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


      _Item.PurchasingDocumentDeletionCode,

      ManufacturerMaterial,

      StorageLocation,

      MaterialGroup,

      PurchasingInfoRecord,

      SupplierMaterialNumber,

      OrderPriceUnitToOrderUnitNmrtr,

      OrdPriceUnitToOrderUnitDnmntr,

      OrderItemQtyToBaseQtyNmrtr,

      OrderItemQtyToBaseQtyDnmntr,

      NetPriceQuantity,

      NetAmount, //net order value in PO currency


      TaxCode,

      PriceIsToBePrinted,

      OverdelivTolrtdLmtRatioInPct,

      UnlimitedOverdeliveryIsAllowed,

      UnderdelivTolrtdLmtRatioInPct,

      ValuationType,

      IsCompletelyDelivered,

      IsFinallyInvoiced,

      PurchaseOrderItemCategory,

      _PurgDocumentItemCategory._Text[1:Language = $session.system_language].PurgDocItemCategoryName,

      AccountAssignmentCategory,

      MultipleAcctAssgmtDistribution,

      PartialInvoiceDistribution,

      GoodsReceiptIsExpected,

      GoodsReceiptIsNonValuated,

      InvoiceIsExpected,

      InvoiceIsGoodsReceiptBased,

      BaseUnit,

      EffectiveAmount,

      ItemNetWeight,

      ItemWeightUnit,

      TaxJurisdiction,

      InternationalArticleNumber,

      SupplierConfirmationControlKey,

      ProfitCenter,

      PricingDateControl,

      ItemVolume,

      ItemVolumeUnit,

      _Item.IncotermsClassification                                                             as ItemIncotermsClassification,

      _Item.IncotermsTransferLocation                                                           as ItemIncotermsTransferLocation,

      _Item.SupplierSubrange,

      ServicePackage,

      EvaldRcptSettlmtIsAllowed,

      IsReturnsItem,

      EarmarkedFunds,

      EarmarkedFundsItem,

      _Item.IncotermsLocation1,

      _Item.IncotermsLocation2,

      ServicePerformer,

      ProductType,

      OrderPriceUnit,

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

      PurchaseOrderItemText,

      _Plant.PlantName,

      _Item._CompanyCode.CompanyCodeName,

      _Plant._Address._Country.TaxCalculationProcedure                                          as TaxCalculationProcedure,

      cast ('' as cvp_xblck )                                                                   as IsBusinessPurposeCompleted,

//      _PDStatus.PurchasingDocumentStatus,

//

//      _PDStatus.PurchasingDocumentStatusName,

      
      cast ('' as abap.char( 2 ))                                                                                                           as PurchasingDocumentStatus,

      cast ('' as ddtext)                                                                                                                   as PurchasingDocumentStatusName,
      
      
      cast ('PurchaseOrderItem' as abap.char( 40 ))                                             as SemanticObject,

      @Semantics.unitOfMeasure: true
      cast ('' as meins)                                                                        as PurchaseOrderQuantityUnit,


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

      // Text Fields

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


      _StorageLocation.StorageLocationName,

      _MaterialGroup._Text[1: Language = $session.system_language].MaterialGroupName,

      _ProductType._Text[1: Language = $session.system_language].Name                           as ProductTypeName,

      cast ('' as md_supplier_name)                                                             as InvoicingPartyName,
      _ScheduleLine.PerformancePeriodStartDate                                                  as PerformancePeriodStartDate,
      // cast (_ScheduleLine.PerformancePeriodStartDate as bedat preserving type)                 as PerformancePeriodStartDate,

      _ScheduleLine.PerformancePeriodEndDate                                                    as PerformancePeriodEndDate

     // '0000000000000000'                                                                        as ApplicationLog

}

where
      _Item.PurchasingDocumentDeletionCode = ''
  and IsCompletelyDelivered                = ''