C_RequirementTrackingPurReq

DDL: C_REQUIREMENTTRACKINGPURREQ SQL: CREQTRACKPR Type: view CONSUMPTION Package: ODATA_MM_PUR_REQUIREMENT_TRACK

Purchase Requisitions by Tracking number

C_RequirementTrackingPurReq is a Consumption CDS View that provides data about "Purchase Requisitions by Tracking number" in SAP S/4HANA. It reads from 1 data source (I_Purchaserequisitionitem) and exposes 66 fields with key fields PurchaseRequisition, PurchaseRequisitionItem. It has 10 associations to related views. Part of development package ODATA_MM_PUR_REQUIREMENT_TRACK.

Data Sources (1)

SourceAliasJoin Type
I_Purchaserequisitionitem PurchaseRequisition from

Associations (10)

CardinalityTargetAliasCondition
[0..1] C_PurReqnProcessStatValueHelp _PurReqnProcessingStatus _PurReqnProcessingStatus.ProcessingStatus = $projection.ProcessingStatus
[0..1] C_PurReqnReleaseStatuValueHelp _PurchaseReqnReleaseStatus _PurchaseReqnReleaseStatus.PurReqnReleaseStatus = $projection.PurReqnReleaseStatus
[0..1] I_PRReleaseIndicatorDesc _ReleaseIndicatorDesc _ReleaseIndicatorDesc.PurchasingReleaseStatus = PurchaseRequisition.ReleaseCode and _ReleaseIndicatorDesc.Language = $session.system_language
[0..1] C_MM_MRPCtrlrsValueHelp _MRPControllerDesc _MRPControllerDesc.MRPController = PurchaseRequisition.MRPController and _MRPControllerDesc.Plant = PurchaseRequisition.Plant
[0..1] C_PurReqnCreationInd _PurchaseReqnOrigin _PurchaseReqnOrigin.DomainValue = $projection.PurReqnOrigin
[1..1] I_ProcmtBlockedSupplier _ProcmtBlockedSupplier _ProcmtBlockedSupplier.PurchasingIsBlockedForSupplier = 'X'
[0..1] I_PurgDocumentItemCategory _PurgDocumentItemCategory $projection.PurchasingDocumentItemCategory = _PurgDocumentItemCategory.PurchasingDocumentItemCategory
[0..1] I_PurchasingCategoryMatlGroup _PurchasingCategoryMatlGroup $projection.MaterialGroup = _PurchasingCategoryMatlGroup.MaterialGroup
[0..1] I_AccountAssignmentCategory _AccountAssignmentCategory $projection.AccountAssignmentCategory = _AccountAssignmentCategory.AccountAssignmentCategory
[0..1] I_CompanyCode _CompanyCode $projection.CompanyCode = _CompanyCode.CompanyCode

Annotations (12)

NameValueLevelField
AbapCatalog.sqlViewName CREQTRACKPR view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #MANDATORY view
VDM.viewType #CONSUMPTION view
EndUserText.label Purchase Requisitions by Tracking number view
Metadata.ignorePropagatedAnnotations true view
Search.searchable true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
VDM.lifecycle.contract.type #NONE view

Fields (66)

KeyFieldSource TableSource FieldDescription
KEY PurchaseRequisition I_Purchaserequisitionitem PurchaseRequisition Purchase Requisition
KEY PurchaseRequisitionItem I_Purchaserequisitionitem PurchaseRequisitionItem Item
FormattedPurRequisitionItem Purchase Requisition Item
RequirementTracking I_Purchaserequisitionitem RequirementTracking Requirement Tracking Number
MaterialGroup I_Purchaserequisitionitem MaterialGroup
PurchasingOrganization I_Purchaserequisitionitem PurchasingOrganization Purchasing Organization
PurchasingGroup I_Purchaserequisitionitem PurchasingGroup Purchasing Group
AccountAssignmentCategory I_Purchaserequisitionitem AccountAssignmentCategory Account Assignment Category
Material I_Purchaserequisitionitem Material
Plant I_Purchaserequisitionitem Plant
Supplier I_Purchaserequisitionitem Supplier Supplier
RequestedQuantity I_Purchaserequisitionitem RequestedQuantity Quantity
BaseUnit I_Purchaserequisitionitem BaseUnit Price Unit
PurchaseRequisitionPrice I_Purchaserequisitionitem PurchaseRequisitionPrice
PurReqnItemCurrency I_Purchaserequisitionitem PurReqnItemCurrency
curr252endasPurReqnTotalAmountInDspCrcy Total Value
DeliveryDate I_Purchaserequisitionitem DeliveryDate Delivery Date
StorageLocation I_Purchaserequisitionitem StorageLocation Storage Location
PurchasingText I_Purchaserequisitionitem PurchaseRequisitionItemText
FixedSupplier I_Purchaserequisitionitem FixedSupplier Fixed Supplier
SupplierName Name of Supplier
PurchaseRequisitionType I_Purchaserequisitionitem PurchaseRequisitionType
PurchasingDocumentType Purchasing Document Type
PurchasingDocumentCategory Purchasing Document Category
PurchasingDocumentTypeName
PurgDocExternalItemCategory Item Category
PurgDocItemCategoryName
PurchasingDocumentItemCategory I_Purchaserequisitionitem PurchasingDocumentItemCategory
PurchasingCategory
PurgCatName
CreationDate I_Purchaserequisitionitem CreationDate Created On
PurReqCreationDate I_Purchaserequisitionitem PurReqCreationDate Requisition Date
PurchaseRequisitionReleaseDate I_Purchaserequisitionitem PurchaseRequisitionReleaseDate
PurReqnReleaseStatus I_Purchaserequisitionitem PurReqnReleaseStatus Status
ReleaseCode I_Purchaserequisitionitem ReleaseCode Release Indicator
PurchasingReleaseIndicatorDesc _ReleaseIndicatorDesc PurchasingReleaseIndicatorDesc
ProcessingStatus I_Purchaserequisitionitem ProcessingStatus Requisition Processing Status
PurchasingInfoRecord I_Purchaserequisitionitem PurchasingInfoRecord Purchasing Info Record
PurchasingInfoRecordDesc
PurReqnRequestor I_Purchaserequisitionitem PurReqnRequestor Requisitioner
RequisitionerName I_Purchaserequisitionitem RequisitionerName
MRPController I_Purchaserequisitionitem MRPController MRP Controller
Batch I_Purchaserequisitionitem Batch
PurReqnOrigin I_Purchaserequisitionitem PurReqnOrigin Creation Indicator
DomainText _PurchaseReqnOrigin DomainText
ReleaseStrategy I_Purchaserequisitionitem ReleaseStrategy Release Strategy
CompanyCode I_Purchaserequisitionitem CompanyCode Company Code
CreatedByUser I_Purchaserequisitionitem CreatedByUser
UserDescription _User UserDescription Created By
ConsumptionPosting I_Purchaserequisitionitem ConsumptionPosting
_PurReqnProcessingStatus _PurReqnProcessingStatus
_PurchaseReqnReleaseStatus _PurchaseReqnReleaseStatus
_ReleaseIndicatorDesc _ReleaseIndicatorDesc
_MRPControllerDesc _MRPControllerDesc
_PurchaseReqnOrigin _PurchaseReqnOrigin
_User _User
_DesiredSupplier _DesiredSupplier
_PurchasingCategoryMatlGroup _PurchasingCategoryMatlGroup
_MaterialGroup _MaterialGroup
_PurchasingOrganization _PurchasingOrganization
_PurchasingGroup _PurchasingGroup
_AccountAssignmentCategory _AccountAssignmentCategory
_Material _Material
_Plant _Plant
_StorageLocation _StorageLocation
_CompanyCode _CompanyCode
@AbapCatalog.sqlViewName: 'CREQTRACKPR'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@VDM.viewType: #CONSUMPTION
@EndUserText.label: 'Purchase Requisitions by Tracking number'
@Metadata.ignorePropagatedAnnotations: true
@Search.searchable: true
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.semanticKey: [ 'Material', 'Supplier','Plant','MaterialGroup' ]
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@VDM.lifecycle.contract.type:#NONE

define view C_RequirementTrackingPurReq
  as select from I_Purchaserequisitionitem as PurchaseRequisition

  //  association [1..1] to I_Purchaserequisitionitem      as _PurchaseRequisitionItem     on  $projection.PurchaseRequisition = _PurchaseRequisitionItem.PurchaseRequisition

  //                                                                                      and  $projection.PurchaseRequisitionItem = _PurchaseRequisitionItem.PurchaseRequisitionItem



  association [0..1] to C_PurReqnProcessStatValueHelp  as _PurReqnProcessingStatus     on  _PurReqnProcessingStatus.ProcessingStatus = $projection.ProcessingStatus

  association [0..1] to C_PurReqnReleaseStatuValueHelp as _PurchaseReqnReleaseStatus   on  _PurchaseReqnReleaseStatus.PurReqnReleaseStatus = $projection.PurReqnReleaseStatus

  association [0..1] to I_PRReleaseIndicatorDesc       as _ReleaseIndicatorDesc        on  _ReleaseIndicatorDesc.PurchasingReleaseStatus = PurchaseRequisition.ReleaseCode
                                                                                       and _ReleaseIndicatorDesc.Language                = $session.system_language

  association [0..1] to C_MM_MRPCtrlrsValueHelp        as _MRPControllerDesc           on  _MRPControllerDesc.MRPController = PurchaseRequisition.MRPController
                                                                                       and _MRPControllerDesc.Plant         = PurchaseRequisition.Plant

  //  association[0..1] to I_MRPController                as _MRPController              on _MRPController.MRPController     = PurchaseRequisition.MRPController

  //                                                                                    and _MRPController.Plant         = PurchaseRequisition.Plant


  association [0..1] to C_PurReqnCreationInd           as _PurchaseReqnOrigin          on  _PurchaseReqnOrigin.DomainValue = $projection.PurReqnOrigin

  //  association [0..1] to I_User                         as _User                        on  _User.UserID = $projection.CreatedByUser


  //  association [1..1] to I_ProcurementDomainValues                    as _DomainText                  on  _DomainText.Name = 'VDM_BLOCKED_SUPPLIER'

  //                                                                                      and  _DomainText.Language = $session.system_language

  //                                                                                      and  _DomainText.DomainValue = 'X'


  association [1..1] to I_ProcmtBlockedSupplier        as _ProcmtBlockedSupplier       on  _ProcmtBlockedSupplier.PurchasingIsBlockedForSupplier = 'X' //$projection.PurchasingIsBlocked


  //  association [0..1] to I_Supplier                     as _DesiredSupplier             on  $projection.ExtDesiredSupplierForPurg = _DesiredSupplier.Supplier


  association [0..1] to I_PurgDocumentItemCategory     as _PurgDocumentItemCategory    on  $projection.PurchasingDocumentItemCategory = _PurgDocumentItemCategory.PurchasingDocumentItemCategory

  //association[0..1] to P_PurchaseRequisitionItemMntr as _PurchaseRequisitionItem1 on $projection.PurchaseRequisition = _PurchaseRequisitionItem1.PurchaseRequisition

  //                                                                                and $projection.PurchaseRequisitionItem = _PurchaseRequisitionItem1.PurchaseRequisitionItem


  association [0..1] to I_PurchasingCategoryMatlGroup  as _PurchasingCategoryMatlGroup on  $projection.MaterialGroup = _PurchasingCategoryMatlGroup.MaterialGroup

  association [0..1] to I_AccountAssignmentCategory    as _AccountAssignmentCategory   on  $projection.AccountAssignmentCategory = _AccountAssignmentCategory.AccountAssignmentCategory

  //  association [0..1] to I_AcctAssignmentCategoryText   as _AcctAssignmentCategoryText  on _AcctAssignmentCategoryText.AccountAssignmentCategory = $projection.AccountAssignmentCategory

  //                                                                                      and _AcctAssignmentCategoryText.Language = $session.system_language


  //  association [0..1] to I_Supplier                     as _Supplier                    on $projection.Supplier = _Supplier.Supplier


  association [0..1] to I_CompanyCode                  as _CompanyCode                 on  $projection.CompanyCode = _CompanyCode.CompanyCode
  //                                                                                      and _CompanyCode.Language   = $session.system_language

{

      @EndUserText.label: 'Purchase Requisition'
      @Consumption.filter.hidden: true
      @Consumption.semanticObject: 'PurchaseRequisition'
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
  key PurchaseRequisition.PurchaseRequisition, //Purchase requisition


      @EndUserText.label: 'Item'
      @Consumption.filter.hidden: true
      @Consumption.semanticObject: 'PurchaseRequisitionItem'
  key PurchaseRequisition.PurchaseRequisitionItem, //Requisn item


      //Is Supplier Blocked or Supplier Block Status <Need to be reviewed by KM>

      //Item Count <Need to be reviewed by KM>


      @EndUserText.label: 'Purchase Requisition Item'
      @Consumption.filter.hidden: true
      @UI.lineItem.position: 10
      concat(PurchaseRequisition.PurchaseRequisition, concat('/', PurchaseRequisition.PurchaseRequisitionItem)) as FormattedPurRequisitionItem,

      @EndUserText.label: 'Requirement Tracking Number'
      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @UI.selectionField.position: 10
      PurchaseRequisition.RequirementTracking, //Req. Tracking Number


      //  @Consumption.semanticObject: 'MaterialGroup'

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @UI.selectionField.position: 20
      //  @ObjectModel: { text.element:  [ 'MaterialGroupName' ] }

      @ObjectModel.foreignKey.association: '_MaterialGroup'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_MaterialGroupValueHelp', element : 'MaterialGroup' } }]
      PurchaseRequisition.MaterialGroup,

      ////  @UI.hidden: true

      ////  @EndUserText: {

      ////        label: 'Material Group Description'

      ////    }

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

      //PurchaseRequisition.MaterialGroupName,

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


      //  @Consumption.semanticObject: 'PurchasingOrganization'

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @EndUserText.label: 'Purchasing Organization'
      @UI.selectionField.position: 40
      //  @ObjectModel: { text.element:  [ 'PurchasingOrganizationName' ] }

      @ObjectModel.foreignKey.association: '_PurchasingOrganization'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchasingOrgValueHelp', element : 'PurchasingOrganization' } }]
      PurchaseRequisition.PurchasingOrganization, //Purch. Organization


      //  @UI.hidden: true

      //   @EndUserText: {

      //        label: 'Purchasing Organization Name'

      //    }

      //  PurchaseRequisition._PurchasingOrganization.PurchasingOrganizationName,

      //PurchaseRequisition.PurchasingOrganizationName,


      //  @Consumption.semanticObject: 'PurchasingGroup'

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @EndUserText.label: 'Purchasing Group'
      @UI.selectionField.position: 50
      @ObjectModel.foreignKey.association: '_PurchasingGroup'
      //  @ObjectModel: { text.element:  [ 'PurchasingGroupName' ] }

      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchasingGroupValueHelp', element : 'PurchasingGroup' } }]
      PurchaseRequisition.PurchasingGroup, //Purchasing group


      //  @UI.hidden: true

      //  @EndUserText: {

      //        label: 'Purchasing Group Name'

      //    }

      //  PurchaseRequisition._PurchasingGroup.PurchasingGroupName,

      // PurchaseRequisition.PurchasingGroupName,


      @UI.lineItem.position: 20
      @EndUserText.label: 'Account Assignment Category'
      @UI.fieldGroup:    [ { qualifier: 'ReqTrack', groupLabel: 'Purchasing Documents by Requirement Tracking Number', position: 100, importance: #HIGH }]
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_AccountAssignCatValueHelp', element : 'AccountAssignmentCategory' } }]
      //  @ObjectModel: { text.element:  [ 'AcctAssignmentCategoryName' ] }

      @ObjectModel.foreignKey.association: '_AccountAssignmentCategory'
      //  @ObjectModel.text.association: '_AcctAssignmentCategoryText'

      PurchaseRequisition.AccountAssignmentCategory, //Acct Assignment Cat.

      //  @UI.hidden: true

      //  @EndUserText: {

      //        label: 'Account Assignment Category Description'

      //    }

      //  PurchaseRequisition._AccAssgnmtCategory.AcctAssignmentCategoryName,

      // PurchaseRequisition.AcctAssignmentCategoryName,


      @UI.lineItem.position: 30
      @Consumption.semanticObject: 'Material'
      @UI.fieldGroup:    [ { qualifier: 'ReqTrack', groupLabel: 'Purchasing Documents by Requirement Tracking Number', position: 100, importance: #HIGH }]
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_MaterialValueHelp', element : 'Material' } }]
      @ObjectModel.foreignKey.association: '_Material'
      //  @ObjectModel: { text.element:  [ 'MaterialName' ] }

      PurchaseRequisition.Material,
      //  @UI.hidden: true

      //  @EndUserText: {

      //        label: 'Material Description'

      //    }

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

      // PurchaseRequisition.MaterialName,

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


      //  @Consumption.semanticObject: 'Plant'

      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @UI.lineItem.position: 40
      @UI.selectionField.position: 60
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_PlantValueHelp', element : 'Plant' } }]
      @ObjectModel.foreignKey.association: '_Plant'
      //  @ObjectModel: { text.element:  [ 'PlantName' ] }

      PurchaseRequisition.Plant,
      //  @UI.hidden: true

      //  @EndUserText: {

      //        label: 'Plant Name'

      //    }

      //  PurchaseRequisition._Plant.PlantName,

      //PurchaseRequisition.PlantName,


      @Search: { defaultSearchElement: true, ranking: #HIGH, fuzzinessThreshold: 0.8 }
      @EndUserText.label: 'Supplier'
      @UI.lineItem.position: 50
      @UI.selectionField.position: 30
      @Consumption.semanticObject: 'Supplier'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_MM_SmplSupplierValueHelp', element : 'Supplier' } }]
      @ObjectModel.foreignKey.association: '_DesiredSupplier'
      ////  @ObjectModel: { text.element:  [ 'PreferredSupplierName' ] }

      // PurchaseRequisition.Supplier,

      PurchaseRequisition.Supplier,

      //  PurchaseRequisition.FixedSupplier as Supplier,

      ////  @UI.hidden: true

      ////  @EndUserText: {

      ////        label: 'Supplier Name'

      ////    }

      ////   _PurchaseRequisitionItem1.SupplierName as PreferredSupplierName,

      //  PurchaseRequisition._Supplier.SupplierName,

      //PurchaseRequisition.SupplierName,


      @EndUserText.label: 'Quantity'
      @Consumption.filter.hidden: true
      @UI.lineItem.position: 60
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      PurchaseRequisition.RequestedQuantity,

      @EndUserText.label: 'Price Unit'
      @UI.hidden: true
      @Semantics.unitOfMeasure: true
      PurchaseRequisition.BaseUnit, //Unit of Measure


      @Semantics.amount.currencyCode: 'PurReqnItemCurrency'
      @Consumption.filter.hidden: true
      @UI.lineItem.position: 70
      PurchaseRequisition.PurchaseRequisitionPrice,

      @UI.hidden: true
      @Semantics.currencyCode: true
      PurchaseRequisition.PurReqnItemCurrency,

      @EndUserText.label: 'Total Value'
      @Consumption.filter.hidden: true
      @UI.lineItem.position: 80
      @Semantics.amount.currencyCode: 'PurReqnItemCurrency'
      case PurchaseRequisition.PurReqnPriceQuantity
             when 0 then cast(PurchaseRequisition.PurchaseRequisitionPrice * PurchaseRequisition.RequestedQuantity as abap.curr( 25, 2 ))
             else
             cast(division(
                               cast(PurchaseRequisition.PurchaseRequisitionPrice * PurchaseRequisition.RequestedQuantity as abap.dec( 25, 2 )),
                               cast(PurchaseRequisition.PurReqnPriceQuantity as abap.dec( 25, 2 )),2
                               ) as abap.curr( 25, 2 ))
             end                                                                                                as PurReqnTotalAmountInDspCrcy,
      //  PurchaseRequisition.PurReqnTotalAmountInDspCrcy, //Tot. val. rel.


      @EndUserText.label: 'Delivery Date'
      @Consumption.filter.hidden: true
      @UI.lineItem.position: 90
      PurchaseRequisition.DeliveryDate, //Delivery date


      //  @ObjectModel: { text.element:  [ 'StorageLocationName' ] }

      //  @Consumption.semanticObject: 'StorageLocation'

      @Consumption.filter.hidden: true
      @EndUserText.label: 'Storage Location'
      @ObjectModel.foreignKey.association: '_StorageLocation'
      PurchaseRequisition.StorageLocation,

      //  @UI.hidden: true

      //  @EndUserText: {

      //        label: 'Storage Location Name'

      //    }

      //  PurchaseRequisition._StorageLocation.StorageLocationName,

      // PurchaseRequisition.StorageLocationName,


      @UI.fieldGroup:    [ { qualifier: 'ReqTrack', groupLabel: 'Purchasing Documents by Requirement Tracking Number', position: 100, importance: #HIGH }]
      PurchaseRequisition.PurchaseRequisitionItemText                                                           as PurchasingText, //Short Text


      @Consumption.filter.hidden: true
      @ObjectModel: { text.element:  [ 'SupplierName' ] }
      //@Consumption.semanticObject: 'Supplier'

      @EndUserText.label: 'Fixed Supplier'
      PurchaseRequisition.FixedSupplier,
      //PurchaseRequisition.ExtDesiredSupplierForPurg,

      //  PurchaseRequisition.Supplier as ExtDesiredSupplierForPurg,


      @UI.hidden: true
      @EndUserText.label: 'Name of Supplier'
      PurchaseRequisition._Supplier.SupplierName,

      //  _DesiredSupplier.SupplierName as PreferredSupplierName,

      // _DesiredSupplier.SupplierName as PreferredSupplierName,


      @UI.hidden: true
      PurchaseRequisition.PurchaseRequisitionType,

      @UI.selectionField.position: 70
      @EndUserText.label: 'Purchasing Document Type'
      //  @UI.fieldGroup:    [ { qualifier: 'ReqTrack', groupLabel: 'Purchasing Documents by Requirement Tracking Number', position: 100, importance: #HIGH }]

      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchasingDocTypeValueHelp', element : 'PurchasingDocumentType' },
                                           additionalBinding: [{localElement: 'PurchasingDocumentCategory',    element : 'PurchasingDocumentCategory'}] }]
      @ObjectModel: { text.element: ['PurchasingDocumentTypeName'] }
      PurchaseRequisition._PurchasingDocumentType.PurchasingDocumentType,
      //  _PurchaseRequisitionItem._PurchasingDocumentType.PurchasingDocumentType,


      @UI.selectionField.position: 80
      @EndUserText.label: 'Purchasing Document Category'
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchasingDocTypeValueHelp', element : 'PurchasingDocumentCategory' },
                                           additionalBinding: [{localElement: 'PurchasingDocumentType',    element : 'PurchasingDocumentType'}] }]
      PurchaseRequisition._PurchasingDocumentType.PurchasingDocumentCategory,
      //  _PurchaseRequisitionItem._PurchasingDocumentType.PurchasingDocumentCategory,


      //_PurchasingDocumentType.PurchasingDocumentType,

      //I_Purchaserequisitionitem._PurchasingDocumentType.PurchasingDocumentType, //Purchasing Doc. Type

      @UI.hidden: true
      @EndUserText: {
            label: 'Document Type Description'
        }
      PurchaseRequisition._PurchasingDocumentType._Text[1: Language = $session.system_language].PurchasingDocumentTypeName,
      //  _PurchaseRequisitionItem._PurchasingDocumentType._Text[1: Language = $session.system_language].PurchasingDocumentTypeName,

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


      @EndUserText.label: 'Item Category'
      @ObjectModel: { text.element:  [ 'PurgDocItemCategoryName' ] }
      @UI.fieldGroup:    [ { qualifier: 'ReqTrack', groupLabel: 'Purchasing Documents by Requirement Tracking Number', position: 100, importance: #HIGH }]
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurDocItemCategoryValueHelp', element : 'PurgDocExternalItemCategory' },
                                           additionalBinding:[{localElement: 'PurchasingDocumentItemCategory', element: 'PurchasingDocumentItemCategory'}] }]
      _PurgDocumentItemCategory._Text[1: Language = $session.system_language ].PurgDocExternalItemCategory,

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

      ////_PurchaseRequisitionItem1.PurgDocExternalItemCategory,

      //PurchaseRequisition.PurgDocExternalItemCategory, //Item category


      @UI.hidden: true
      @EndUserText: {
            label: 'Item Category Text'
        }
      _PurgDocumentItemCategory._Text[1: Language = $session.system_language ].PurgDocItemCategoryName,

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

      //// _PurchaseRequisitionItem1.PurgDocItemCategoryName,

      // PurchaseRequisition.PurgDocItemCategoryName,


      @UI.hidden: true
      PurchaseRequisition.PurchasingDocumentItemCategory,
      // _PurchaseOrder._PurchaseOrderItem._PurgDocumentItemCategory._Text[1: Language = $session.system_language ].PurgDocItemCategoryName,


      @ObjectModel.text.element:  [ 'PurgCatName' ]
      @UI.fieldGroup:    [ { qualifier: 'ReqTrack', groupLabel: 'Purchasing Documents by Requirement Tracking Number', position: 100, importance: #HIGH }]
      @Consumption.valueHelpDefinition: [{ entity: { name : 'C_PurchasingCategoryValueHelp', element : 'PurchasingCategory' } }]
      _PurchasingCategoryMatlGroup._PurchasingCategory.PurchasingCategory                                       as PurchasingCategory,
      //PurchaseRequisition.PurchasingCategory,

      // _PurchasingCategoryMatlGroup._PurchasingCategory.PurchasingCategory  as  PurchasingCategory,

      @Semantics.text: true
      @UI.hidden: true
      @EndUserText: {
            label: 'Purchasing Category Name'
        }
      _PurchasingCategoryMatlGroup._PurchasingCategory.PurgCatName,
      //_PurchasingCategoryMatlGroup._PurchasingCategory.PurgCatName,


      @EndUserText.label: 'Created On'
      @Consumption.filter.hidden: true
      PurchaseRequisition.CreationDate, //created on


      @EndUserText.label: 'Requisition Date'
      @Consumption.filter.hidden: true
      PurchaseRequisition.PurReqCreationDate, //Requisition date


      @Consumption.filter.hidden: true
      PurchaseRequisition.PurchaseRequisitionReleaseDate,

      @EndUserText.label: 'Status'
      @Consumption.filter.hidden: true
      @ObjectModel.foreignKey.association: '_PurchaseReqnReleaseStatus'
      //  @ObjectModel: { text.element:  [ 'PurchasingDocumentStatusName' ] }

      //@ObjectModel.text.association: '_PurchaseReqnReleaseStatus'

      PurchaseRequisition.PurReqnReleaseStatus, //Processing status


      //  @UI.hidden: true

      //  _PurchaseReqnReleaseStatus.DomainText as PurchasingDocumentStatusName,


      @EndUserText.label: 'Release Indicator'
      @Consumption.filter.hidden: true
      @ObjectModel: { text.element:  [ 'PurchasingReleaseIndicatorDesc' ] }
      //  @ObjectModel.foreignKey.association: '_ReleaseIndicatorDesc'

      PurchaseRequisition.ReleaseCode, //Release indicator


      @UI.hidden: true
      _ReleaseIndicatorDesc.PurchasingReleaseIndicatorDesc,
      //PurchaseRequisition.PurchasingReleaseIndicatorDesc,


      @EndUserText.label: 'Requisition Processing Status'
      @Consumption.filter.hidden: true
      @ObjectModel.foreignKey.association: '_PurReqnProcessingStatus'
      //  @ObjectModel: { text.element:  [ 'ProcessingStatusName' ] }

      // @ObjectModel.text : { association : '_PurReqnProcessingStatus' }

      PurchaseRequisition.ProcessingStatus, //Proc. state


      //  @UI.hidden: true

      //  _PurReqnProcessingStatus.DomainText as ProcessingStatusName,


      @ObjectModel: { text.element:  [ 'PurchasingInfoRecordDesc' ] }
      @EndUserText.label: 'Purchasing Info Record'
      @Consumption.filter.hidden: true
      @Consumption.semanticObject: 'PurchasingInfoRecord'
      PurchaseRequisition.PurchasingInfoRecord, //Purchasing info rec.


      @UI.hidden: true
      PurchaseRequisition._PurchasingInfoRecord.PurchasingInfoRecordDesc,
      //  _PurchaseRequisitionItem._PurchasingInfoRecord.PurchasingInfoRecordDesc,

      // PurchaseRequisition._PurchasingInfoRecord.PurchasingInfoRecordDesc,

      // PurchaseRequisition.PurchasingInfoRecordDesc,


      @ObjectModel: { text.element:  [ 'RequisitionerName' ] }
      @EndUserText.label: 'Requisitioner'
      @Consumption.filter.hidden: true
      PurchaseRequisition.PurReqnRequestor,
      @UI.hidden: true
      PurchaseRequisition.RequisitionerName,

      @EndUserText.label: 'MRP Controller'
      @Consumption.filter.hidden: true
      @ObjectModel.foreignKey.association: '_MRPControllerDesc'
      //  @ObjectModel: { text.element:  [ 'MRPControllerName' ] }

      PurchaseRequisition.MRPController, //MRP  controller


      //  @UI.hidden: true

      //  _MRPControllerDesc.MRPControllerName,

      //PurchaseRequisition.MRPControllerName,


      @Consumption.filter.hidden: true
      PurchaseRequisition.Batch,

      @EndUserText.label: 'Creation Indicator'
      @Consumption.filter.hidden: true
      @ObjectModel.text.element:  [ 'DomainText' ]
      //  @ObjectModel.foreignKey.association: '_PurchaseReqnOrigin'

      PurchaseRequisition.PurReqnOrigin, //Creation indicator


      @UI.hidden: true
      _PurchaseReqnOrigin.DomainText,
      // PurchaseRequisition.DomainText,


      @EndUserText.label: 'Release Strategy'
      @Consumption.filter.hidden: true
      PurchaseRequisition.ReleaseStrategy, //Release strategy


      //  @Consumption.semanticObject: 'CompanyCode'

      @EndUserText.label: 'Company Code'
      @Consumption.filter.hidden: true
      //  @ObjectModel.text.element:  [ 'CompanyCodeName' ]

      @ObjectModel.foreignKey.association: '_CompanyCode'
      PurchaseRequisition.CompanyCode, //Valuation Area

      ////  @UI.hidden: true

      ////  @EndUserText: {

      ////        label: 'Company Name'

      ////    }

      ////  _CompanyCode.CompanyCodeName,

      ////  PurchaseRequisition._PurchaseOrder._CompanyCode.CompanyCodeName,

      //  _PurchaseRequisitionItem._PurchaseOrder._CompanyCode.CompanyCodeName,


      //  @ObjectModel.foreignKey.association: '_User'

      @UI.hidden: true
      @ObjectModel.text.element:  [ 'UserDescription' ]
      PurchaseRequisition.CreatedByUser,

      @Semantics.text: true
      @Consumption.filter.hidden: true
      @EndUserText.label: 'Created By'
      _User.UserDescription,
      //PurchaseRequisition.UserDescription,


      @Consumption.filter.hidden: true
      PurchaseRequisition.ConsumptionPosting,
      //  _PurchaseRequisitionItem.ConsumptionPosting,


      @EndUserText.label: 'Supplier Block Status'
      @EndUserText.quickInfo: 'Supplier Blocked Status'
      @Consumption.filter.hidden: true
      case when
          PurchaseRequisition._Supplier.PurchasingIsBlocked = 'X'
          then
          _ProcmtBlockedSupplier._Text[1: Language = $session.system_language ].SupplierName
          else
          ' '
          end                                                                                                   as PurchasingIsBlockedForSupplier,

      //   _Supplier.IsBusinessPurposeCompleted,

      //PurchaseRequisition.PurchasingIsBlockedForSupplier,


      // _PurchaseRequisitionItem,


      @Consumption.filter.hidden: true
      _PurReqnProcessingStatus,
      @Consumption.filter.hidden: true
      _PurchaseReqnReleaseStatus,
      @Consumption.filter.hidden: true
      _ReleaseIndicatorDesc,
      @Consumption.filter.hidden: true
      _MRPControllerDesc,
      //@Consumption.filter.hidden: true

      // _MRPController,

      @Consumption.filter.hidden: true
      _PurchaseReqnOrigin,
      @Consumption.filter.hidden: true
      _User,
      // @Consumption.filter.hidden: true

      // _Supplier,

      // _Supplier,

      // _ProcmtBlockedSupplier,

      //_PurgDocumentItemCategory,

      // @Consumption.filter.hidden: true

      // _PurchasingInfoRecord,

      @Consumption.filter.hidden: true
      _DesiredSupplier,
      @Consumption.filter.hidden: true
      _PurchasingCategoryMatlGroup,
      @Consumption.filter.hidden: true
      _MaterialGroup,
      @Consumption.filter.hidden: true
      _PurchasingOrganization,
      @Consumption.filter.hidden: true
      _PurchasingGroup,
      @Consumption.filter.hidden: true
      _AccountAssignmentCategory,
      @Consumption.filter.hidden: true
      _Material,
      @Consumption.filter.hidden: true
      _Plant,
      @Consumption.filter.hidden: true
      _StorageLocation,
      @Consumption.filter.hidden: true
      _CompanyCode
}
where
           PurchaseRequisition.PurchasingDocumentCategory           =  'B'
  and      PurchaseRequisition.IsPurReqnBlocked                     =  ' '
  and(
           IsPurReqnCmplt                                           =  ' '
    or(
           IsPurReqnCmplt                                           =  'X'
      and  PurReqnCmpltnsCat                                        =  'A'
    )
  )
  and(
    (
           PurchaseRequisition.Supplier                             =  ' '
    )
    or(
           _DesiredSupplier.IsBusinessPurposeCompleted              =  ' '
    )
  )
  and(
    (
           PurchaseRequisition.FixedSupplier                        =  ' '
    )
    or(
           PurchaseRequisition._Supplier.IsBusinessPurposeCompleted =  ' '
    )
  )
  and      PurchaseRequisition.IsDeleted                            =  ' '
  and      PurchaseRequisition.IsClosed                             =  ' '
  and(
    (
      (
           PurchaseRequisition.OrderedQuantity                      <  PurchaseRequisition.RequestedQuantity
        or PurchaseRequisition.PurchasingDocumentItemCategory       =  '8'
      )
      and  PurchaseRequisition.PurchasingDocumentSubtype            <> 'R'
    )
    or(
           PurchaseRequisition.PurchasingDocumentSubtype            =  'R'
      and  PurchaseRequisition.ProcessingStatus                     <> 'K'
      and  PurchaseRequisition.ProcessingStatus                     <> 'L'
    )
  )