C_PurOrdRefDocPO

DDL: C_PURORDREFDOCPO SQL: CPURORDREFDOCPO Type: view CONSUMPTION Package: ODATA_MM_PUR_PO_MAINTAIN_V2

Reference Documents for PO Creation - Purchase Order Items

C_PurOrdRefDocPO is a Consumption CDS View that provides data about "Reference Documents for PO Creation - Purchase Order Items" in SAP S/4HANA. It reads from 3 data sources (I_PurOrdAcctAssignmentTP, I_PurchaseOrder, I_PurchaseOrderItem) and exposes 70 fields with key fields PurchaseOrder, PurchaseOrderItem, AccountAssignmentNumber. It has 21 associations to related views. Part of development package ODATA_MM_PUR_PO_MAINTAIN_V2.

Data Sources (3)

SourceAliasJoin Type
I_PurOrdAcctAssignmentTP AccAssLine left_outer
I_PurchaseOrder po_header left_outer
I_PurchaseOrderItem po_item from

Associations (21)

CardinalityTargetAliasCondition
[0..1] P_Purordmaintaincustproj _Project $projection.WBSElementInternalID = _Project.WBSElementInternalID
[0..1] I_Supplier _Supplier $projection.Supplier = _Supplier.Supplier
[0..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[0..1] I_PurchasingGroup _PurgGrp $projection.PurchasingGroup = _PurgGrp.PurchasingGroup
[0..1] I_CostCenterText _CostCenterText $projection.ControllingArea = _CostCenterText.ControllingArea and $projection.CostCenter = _CostCenterText.CostCenter and $projection.ValidityEndDate = _CostCenterText.ValidityEndDate and _CostCenterText.Language = $session.system_language
[0..1] I_MaterialText _MaterialText $projection.ManufacturerMaterial = _MaterialText.Material and _MaterialText.Language = $session.system_language
[0..1] I_MaterialGroupText _MaterialGroupText $projection.MaterialGroup = _MaterialGroupText.MaterialGroup and _MaterialGroupText.Language = $session.system_language
[0..1] I_UnitOfMeasureText _UnitOfMeasureText $projection.PurchaseOrderPriceUnit = _UnitOfMeasureText.UnitOfMeasure and _UnitOfMeasureText.Language = $session.system_language
[0..1] I_BusinessPartner _BusinessPartner $projection.ServicePerformer = _BusinessPartner.BusinessPartner
[0..1] I_GlAccountTextInCompanycode _GlAccountTextInCompanycode $projection.GLAccount = _GlAccountTextInCompanycode.GLAccount and $projection.CompanyCode = _GlAccountTextInCompanycode.CompanyCode and _GlAccountTextInCompanycode.Language = $session.system_language ------------------------------------------------------------------------------------------- -- Value-Help Associations -- -------------------------------------------------------------------------------------------
[0..1] C_PurchasingGroupValueHelp _PurchasingGroupVH _PurchasingGroupVH.PurchasingGroup = $projection.PurchasingGroup
[0..1] C_MM_SupplierValueHelp _SupplierValueHelp _SupplierValueHelp.Supplier = $projection.Supplier and _SupplierValueHelp.CompanyCode = $projection.CompanyCode
[0..*] C_MM_MaterialValueHelp _MaterialValueHelp _MaterialValueHelp.Material = $projection.ManufacturerMaterial
[0..*] C_MM_ServicePerformerValueHelp _ServicePerformerValueHelp _ServicePerformerValueHelp.ServicePerformer = $projection.ServicePerformer
[0..1] C_MM_MaterialGroupValueHelp _MaterialGroupVH _MaterialGroupVH.MaterialGroup = $projection.MaterialGroup
[0..*] C_MM_PlantValueHelp _PlantValueHelp _PlantValueHelp.Plant = $projection.Plant
[0..1] I_MM_SalesOrderValueHelp _SalesOrder _SalesOrder.SalesOrder = $projection.SalesOrder
[0..1] I_MM_CostCenterValueHelp _CostCenter _CostCenter.CostCenter = $projection.CostCenter and _CostCenter.ControllingArea = $projection.ControllingArea and _CostCenter.ValidityEndDate = $projection.ValidityEndDate
[0..1] I_MM_WBSElementValueHelp _WBSElementVH _WBSElementVH.WBSElementInternalID = $projection.WBSElementInternalID and _WBSElementVH.WBSElementExternalID = $projection.WBSElement
[0..1] I_MM_ControllingAreaVH _ControllingAreaValueHelp $projection.ControllingArea = _ControllingAreaValueHelp.ControllingArea
[0..1] R_PurchaseReqnItem _PurchaseReqnItem _PurchaseReqnItem.PurchaseRequisition = $projection.PurchaseRequisition and _PurchaseReqnItem.PurchaseRequisitionItem = $projection.PurchaseRequisitionItem

Annotations (11)

NameValueLevelField
VDM.viewType #CONSUMPTION view
AbapCatalog.sqlViewName CPURORDREFDOCPO view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Reference Documents for PO Creation - Purchase Order Items view
Search.searchable true view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.dataClass #MIXED view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view

Fields (70)

KeyFieldSource TableSource FieldDescription
KEY PurchaseOrder I_PurchaseOrderItem PurchaseOrder
KEY PurchaseOrderItem I_PurchaseOrderItem PurchaseOrderItem
KEY AccountAssignmentNumber I_PurOrdAcctAssignmentTP AccountAssignmentNumber Account Assgmt. No.
PurchasingInfoRecord
PurchaseRequisition Purchase Requisition
PurchaseRequisitionItemText Purchase Requisition Item Text
PurchaseRequisitionItem
PurchasingOrganization I_PurchaseOrder PurchasingOrganization
PurchasingInfoRecordCategory Purchasing Info Record Category
Plant I_PurchaseOrderItem Plant
PlantName _Plant PlantName
PurchasingDocument I_PurchaseOrderItem PurchaseOrder
PurchasingDocumentCategory
IsAdvancedPurchaseOrder
PurchasingDocumentDeletionCode I_PurchaseOrderItem PurchasingDocumentDeletionCode
FixedSupplier Fixed Supplier
FixedSupplierName I_PurchaseOrder Supplier Desired Supplier
ManufacturerMaterial I_PurchaseOrderItem ManufacturerMaterial
Material I_PurchaseOrderItem Material
MaterialName _MaterialText MaterialName
MaterialType I_PurchaseOrderItem MaterialType
MaterialGroup I_PurchaseOrderItem MaterialGroup
MaterialGroupName _MaterialGroupText MaterialGroupName
Supplier I_PurchaseOrder Supplier
SupplierName _Supplier SupplierName
PurchasingDocumentType I_PurchaseOrder PurchaseOrderType
PurchasingDocumentSubtype I_PurchaseOrder PurchaseOrderSubtype
PurchasingDocumentItemText I_PurchaseOrderItem PurchaseOrderItemText
PurchaseOrderQty I_PurchaseOrderItem OrderQuantity
PurchaseOrderQuantityUnit I_PurchaseOrderItem PurchaseOrderQuantityUnit
PurchaseOrderNetPriceAmount I_PurchaseOrderItem NetPriceAmount
Currency I_PurchaseOrder DocumentCurrency
PurchaseOrderNetPriceQuantity I_PurchaseOrderItem NetPriceQuantity
PurchaseOrderPriceUnit I_PurchaseOrderItem OrderPriceUnit
PurchaseOrderPriceUnitName _UnitOfMeasureText UnitOfMeasureLongName
PurchasingGroup I_PurchaseOrder PurchasingGroup
PurchasingGroupName _PurgGrp PurchasingGroupName
CompanyCode I_PurchaseOrder CompanyCode
CompanyCodeName
PurchasingDocumentCondition I_PurchaseOrder PurchasingDocumentCondition
ServicePerformer I_PurchaseOrderItem ServicePerformer
ServicePerformerName _BusinessPartner BusinessPartnerName
CustomerProjectName _Project CustomerProjectName Project Name
WBSElementInternalID I_PurOrdAcctAssignmentTP WBSElementInternalID
WBSElement _Project WBSElement WBS Element
FunctionalArea I_PurOrdAcctAssignmentTP FunctionalArea
GLAccount I_PurOrdAcctAssignmentTP GLAccount
GLAccountName _GlAccountTextInCompanycode GLAccountName
CostCenter I_PurOrdAcctAssignmentTP CostCenter
CostCenterName _CostCenterText CostCenterName
ValidityStartDate I_PurchaseOrder ValidityStartDate
ValidityEndDate I_PurchaseOrder ValidityEndDate
ContractConsumptionInPct 0
ControllingArea I_PurOrdAcctAssignmentTP ControllingArea
SalesOrder I_PurOrdAcctAssignmentTP SalesOrder
SalesOrderItem I_PurOrdAcctAssignmentTP SalesOrderItem
PurReqnDescription Purchase Requisition Description
_BusinessPartner _BusinessPartner
_PurchasingGroupVH _PurchasingGroupVH
_SupplierValueHelp _SupplierValueHelp
_MaterialValueHelp _MaterialValueHelp
_ServicePerformerValueHelp _ServicePerformerValueHelp
_MaterialGroupVH _MaterialGroupVH
_PlantValueHelp _PlantValueHelp
_WBSElementVH _WBSElementVH
_CostCenter _CostCenter
_SalesOrder _SalesOrder
_ControllingAreaValueHelp _ControllingAreaValueHelp
_GlAccountTextInCompanycode _GlAccountTextInCompanycode
_PurchaseReqnItem _PurchaseReqnItem
@VDM.viewType: #CONSUMPTION
@AbapCatalog.sqlViewName: 'CPURORDREFDOCPO'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Reference Documents for PO Creation - Purchase Order Items'
@Search.searchable: true
@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel.usageType.serviceQuality: #X
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.dataClass: #MIXED
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED

define view C_PurOrdRefDocPO
  as select from    I_PurchaseOrderItem      as po_item
    left outer join I_PurchaseOrder          as po_header  on po_item.PurchaseOrder = po_header.PurchaseOrder
    left outer join I_PurOrdAcctAssignmentTP as AccAssLine on  po_item.PurchaseOrder     = AccAssLine.PurchaseOrder
                                                           and po_item.PurchaseOrderItem = AccAssLine.PurchaseOrderItem

  association [0..1] to P_Purordmaintaincustproj       as _Project                    on  $projection.WBSElementInternalID = _Project.WBSElementInternalID
  association [0..1] to I_Supplier                     as _Supplier                   on  $projection.Supplier = _Supplier.Supplier
  association [0..1] to I_Plant                        as _Plant                      on  $projection.Plant = _Plant.Plant
  association [0..1] to I_PurchasingGroup              as _PurgGrp                    on  $projection.PurchasingGroup = _PurgGrp.PurchasingGroup
  association [0..1] to I_CostCenterText               as _CostCenterText             on  $projection.ControllingArea = _CostCenterText.ControllingArea
                                                                                      and $projection.CostCenter      = _CostCenterText.CostCenter
                                                                                      and $projection.ValidityEndDate = _CostCenterText.ValidityEndDate
                                                                                      and _CostCenterText.Language    = $session.system_language
  association [0..1] to I_MaterialText                 as _MaterialText               on  $projection.ManufacturerMaterial = _MaterialText.Material
                                                                                      and _MaterialText.Language           = $session.system_language
  association [0..1] to I_MaterialGroupText            as _MaterialGroupText          on  $projection.MaterialGroup   = _MaterialGroupText.MaterialGroup
                                                                                      and _MaterialGroupText.Language = $session.system_language
  association [0..1] to I_UnitOfMeasureText            as _UnitOfMeasureText          on  $projection.PurchaseOrderPriceUnit = _UnitOfMeasureText.UnitOfMeasure
                                                                                      and _UnitOfMeasureText.Language        = $session.system_language
  association [0..1] to I_BusinessPartner              as _BusinessPartner            on  $projection.ServicePerformer = _BusinessPartner.BusinessPartner
  association [0..1] to I_GlAccountTextInCompanycode   as _GlAccountTextInCompanycode on  $projection.GLAccount                = _GlAccountTextInCompanycode.GLAccount
                                                                                      and $projection.CompanyCode              = _GlAccountTextInCompanycode.CompanyCode
                                                                                      and _GlAccountTextInCompanycode.Language = $session.system_language

  -------------------------------------------------------------------------------------------
  -- Value-Help Associations                                                               --
  -------------------------------------------------------------------------------------------

  association [0..1] to C_PurchasingGroupValueHelp     as _PurchasingGroupVH          on  _PurchasingGroupVH.PurchasingGroup = $projection.PurchasingGroup

  association [0..1] to C_MM_SupplierValueHelp         as _SupplierValueHelp          on  _SupplierValueHelp.Supplier    = $projection.Supplier
                                                                                      and _SupplierValueHelp.CompanyCode = $projection.CompanyCode

  association [0..*] to C_MM_MaterialValueHelp         as _MaterialValueHelp          on  _MaterialValueHelp.Material = $projection.ManufacturerMaterial

  association [0..*] to C_MM_ServicePerformerValueHelp as _ServicePerformerValueHelp  on  _ServicePerformerValueHelp.ServicePerformer = $projection.ServicePerformer

  association [0..1] to C_MM_MaterialGroupValueHelp    as _MaterialGroupVH            on  _MaterialGroupVH.MaterialGroup = $projection.MaterialGroup

  association [0..*] to C_MM_PlantValueHelp            as _PlantValueHelp             on  _PlantValueHelp.Plant = $projection.Plant

  association [0..1] to I_MM_SalesOrderValueHelp       as _SalesOrder                 on  _SalesOrder.SalesOrder = $projection.SalesOrder

  association [0..1] to I_MM_CostCenterValueHelp       as _CostCenter                 on  _CostCenter.CostCenter      = $projection.CostCenter
                                                                                      and _CostCenter.ControllingArea = $projection.ControllingArea
                                                                                      and _CostCenter.ValidityEndDate = $projection.ValidityEndDate

  association [0..1] to I_MM_WBSElementValueHelp       as _WBSElementVH               on  _WBSElementVH.WBSElementInternalID = $projection.WBSElementInternalID
                                                                                      and _WBSElementVH.WBSElementExternalID = $projection.WBSElement

  association [0..1] to I_MM_ControllingAreaVH         as _ControllingAreaValueHelp   on  $projection.ControllingArea = _ControllingAreaValueHelp.ControllingArea

  association [0..1] to R_PurchaseReqnItem             as _PurchaseReqnItem           on  _PurchaseReqnItem.PurchaseRequisition     = $projection.PurchaseRequisition
                                                                                      and _PurchaseReqnItem.PurchaseRequisitionItem = $projection.PurchaseRequisitionItem

{
       @UI.hidden: true
  key  po_item.PurchaseOrder                     as PurchaseOrder,
       @UI.hidden: true
  key  po_item.PurchaseOrderItem                 as PurchaseOrderItem,
       @EndUserText.label: 'Account Assgmt. No.'
  key  AccAssLine.AccountAssignmentNumber        as AccountAssignmentNumber,
       @UI.hidden: true
       cast('' as abap.char(10))                 as PurchasingInfoRecord,
       @UI.selectionField: { position: 50 }
       @Consumption: { valueHelp: '_PurchaseReqnItem',filter.hidden: true }
       @EndUserText.label: 'Purchase Requisition'
       cast('' as abap.char(10))                 as PurchaseRequisition,
       @Consumption: { valueHelp: '_PurchaseReqnItem',filter.hidden: false}
       @UI.hidden: false
       @EndUserText.label: 'Purchase Requisition Item Text'
       cast('' as abap.char(40))                 as PurchaseRequisitionItemText,
       @UI.hidden: true
       cast('' as abap.numc(5))                  as PurchaseRequisitionItem,
       po_header.PurchasingOrganization          as PurchasingOrganization,
       @EndUserText.label: 'Purchasing Info Record Category'
       cast('' as abap.char(1))                  as PurchasingInfoRecordCategory,
       //@UI.selectionField: {position: 40 }

       @Consumption: { valueHelp: '_PlantValueHelp' }
       po_item.Plant                             as Plant,
       @UI.hidden: true
       _Plant.PlantName                          as PlantName,
       @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.7 }
       po_item.PurchaseOrder                     as PurchasingDocument,
       @UI.hidden: true
       'F'                                       as PurchasingDocumentCategory,
       @ObjectModel: {
        readOnly: true,
        virtualElement,
        virtualElementCalculatedBy: 'ABAP:CL_MM_PUR_PO_MAINT_V2_TRA_EXIT'
       }
       ''                                        as IsAdvancedPurchaseOrder,
       @UI.hidden: true
       po_item.PurchasingDocumentDeletionCode    as PurchasingDocumentDeletionCode,
       
       @EndUserText.label: 'Fixed Supplier'
       cast('' as abap.char(10))                 as FixedSupplier,
       
       @EndUserText.label: 'Desired Supplier'
       po_header.Supplier                        as FixedSupplierName,
       @UI.selectionField: { position: 30 }
       @Consumption: { valueHelp: '_MaterialValueHelp' }
       @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.7 }
       po_item.ManufacturerMaterial              as ManufacturerMaterial,
       @UI.hidden: true
       po_item.Material                          as Material,
       @UI.hidden: true
       _MaterialText.MaterialName                as MaterialName,
       po_item.MaterialType                      as MaterialType,
       //@UI.selectionField: { position: 30 }

       @Consumption: { valueHelp: '_MaterialGroupVH' }
       @ObjectModel.foreignKey.association: '_MaterialGroupVH'
       po_item.MaterialGroup                     as MaterialGroup,
       @UI.hidden: true
       _MaterialGroupText.MaterialGroupName      as MaterialGroupName,
       @UI.selectionField: { position: 20 }
       @Consumption: { valueHelp: '_SupplierValueHelp',filter.mandatory: false }
       @ObjectModel.foreignKey.association: '_SupplierValueHelp'
       po_header.Supplier                        as Supplier,
       @UI.hidden: true
       _Supplier.SupplierName                    as SupplierName,
       po_header.PurchaseOrderType               as PurchasingDocumentType,
       @UI.hidden: true
       po_header.PurchaseOrderSubtype            as PurchasingDocumentSubtype,
       po_item.PurchaseOrderItemText             as PurchasingDocumentItemText,
       @Semantics: { quantity.unitOfMeasure: 'PurchaseOrderQuantityUnit' }
       po_item.OrderQuantity                     as PurchaseOrderQty,
       @Semantics: { unitOfMeasure: true }
       @UI.hidden: true
       po_item.PurchaseOrderQuantityUnit         as PurchaseOrderQuantityUnit,
       @Semantics: { amount.currencyCode: 'Currency' }
       po_item.NetPriceAmount                    as PurchaseOrderNetPriceAmount,
       @Semantics: { currencyCode: true }
       @UI.hidden: true
       po_header.DocumentCurrency                as Currency,
       @Semantics: { quantity.unitOfMeasure: 'PurchaseOrderPriceUnit' }
       po_item.NetPriceQuantity                  as PurchaseOrderNetPriceQuantity,
       @Semantics: { unitOfMeasure: true }
       @UI.hidden: true
       po_item.OrderPriceUnit                    as PurchaseOrderPriceUnit,
       @UI.hidden: true
       _UnitOfMeasureText.UnitOfMeasureLongName  as PurchaseOrderPriceUnitName,
       @UI.selectionField: { position: 40 }
       @Consumption: { valueHelp: '_PurchasingGroupVH' }
       @ObjectModel.foreignKey.association: '_PurchasingGroupVH'
       po_header.PurchasingGroup                 as PurchasingGroup,
       @UI.hidden: true
       _PurgGrp.PurchasingGroupName              as PurchasingGroupName,
       po_header.CompanyCode                     as CompanyCode,
       @UI.hidden: true
       cast('' as abap.char(25))                 as CompanyCodeName,
       @UI.hidden: true
       po_header.PurchasingDocumentCondition     as PurchasingDocumentCondition,
       //@UI.selectionField: { position: 50 }

       @Consumption: { valueHelp: '_ServicePerformerValueHelp' }
       @ObjectModel.foreignKey.association: '_ServicePerformerValueHelp'
       po_item.ServicePerformer                  as ServicePerformer,
       @UI.hidden: true
       _BusinessPartner.BusinessPartnerName      as ServicePerformerName,
       @EndUserText.label: 'Project Name'
       _Project.CustomerProjectName              as CustomerProjectName,
       @UI.hidden: true
       AccAssLine.WBSElementInternalID           as WBSElementInternalID,
       //@UI.selectionField: { position: 90 }

       @Consumption: { valueHelp: '_WBSElementVH' }
       @ObjectModel.foreignKey.association: '_WBSElementVH'
       @EndUserText.label: 'WBS Element'
       _Project.WBSElement                       as WBSElement,
       AccAssLine.FunctionalArea                 as FunctionalArea,
       AccAssLine.GLAccount                      as GLAccount,
       @UI.hidden: true
       _GlAccountTextInCompanycode.GLAccountName as GLAccountName,
       //@UI.selectionField: { position: 80 }

       @ObjectModel.foreignKey.association: '_CostCenter'
       AccAssLine.CostCenter                     as CostCenter,
       @UI.hidden: true
       _CostCenterText.CostCenterName            as CostCenterName,
       @Semantics.businessDate.from: true
       @UI.hidden: true
       po_header.ValidityStartDate               as ValidityStartDate,
       @Semantics.businessDate.to: true
       @UI.hidden: true
       po_header.ValidityEndDate                 as ValidityEndDate,
       @UI.hidden: true
       0                                         as ContractConsumptionInPct,
       @ObjectModel.foreignKey.association: '_ControllingAreaValueHelp'
       @Consumption.valueHelp: '_ControllingAreaValueHelp'
       AccAssLine.ControllingArea                as ControllingArea,
       //@UI.selectionField: { position: 70 }

       @ObjectModel.foreignKey.association: '_SalesOrder'
       AccAssLine.SalesOrder                     as SalesOrder,
       @UI.hidden: true
       AccAssLine.SalesOrderItem                 as SalesOrderItem,
       @Consumption.filter.hidden: true
        @EndUserText.label:'Purchase Requisition Description'
        cast('' as abap.char(4))                                             as PurReqnDescription,
       @Consumption.hidden: true
       _BusinessPartner,

       _PurchasingGroupVH,
       _SupplierValueHelp,
       _MaterialValueHelp,
       _ServicePerformerValueHelp,
       _MaterialGroupVH,
       _PlantValueHelp,
       _WBSElementVH,
       _CostCenter,
       _SalesOrder,
       _ControllingAreaValueHelp,
       _GlAccountTextInCompanycode,
       _PurchaseReqnItem
}
where
      po_item.PurchasingDocumentDeletionCode = ' '
  and po_item.PurchaseOrderItemCategory != 'A'
  and po_item.PurgDocAggrgdSubitemCategory <> 'C'
  and po_item.PurgConfigurableItemNumber = ''