P_OpnPurReqnForContr

DDL: P_OPNPURREQNFORCONTR SQL: POPNPRFORCONTR Type: view COMPOSITE Package: VDM_MM_PUR_PR

Open Purchase Reqn for Contracts

P_OpnPurReqnForContr is a Composite CDS View that provides data about "Open Purchase Reqn for Contracts" in SAP S/4HANA. It reads from 2 data sources (I_PurchaseContractItem, R_PurchaseReqnItem) and exposes 17 fields with key fields PurchaseContract, PurchaseContractItem, PurchaseRequisition, PurchaseRequisitionItem. Part of development package VDM_MM_PUR_PR.

Data Sources (2)

SourceAliasJoin Type
I_PurchaseContractItem _PurchaseContractItem from
R_PurchaseReqnItem _PurchaseReqnItem left_outer

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName POPNPRFORCONTR view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.private true view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
VDM.lifecycle.contract.type #NONE view

Fields (17)

KeyFieldSource TableSource FieldDescription
KEY PurchaseContract I_PurchaseContractItem PurchaseContract
KEY PurchaseContractItem I_PurchaseContractItem PurchaseContractItem
KEY PurchaseRequisition R_PurchaseReqnItem PurchaseRequisition
KEY PurchaseRequisitionItem R_PurchaseReqnItem PurchaseRequisitionItem
PurchaseContractItemUniqueID PurchaseContractItemUniqueID
PurchaseContractType I_PurchaseContractItem PurchaseContractType
Supplier
ContractItemCategory I_PurchaseContractItem PurchasingDocumentItemCategory
_PurchaseContract I_PurchaseContractItem _PurchaseContract
PurchaseReqnItemUniqueID R_PurchaseReqnItem PurchaseReqnItemUniqueID
PurchaseRequisitionType R_PurchaseReqnItem PurchaseRequisitionType
PurchasingOrganization R_PurchaseReqnItem PurchasingOrganization
PurchasingGroup R_PurchaseReqnItem PurchasingGroup
PurchasingDocumentSubtype R_PurchaseReqnItem PurchasingDocumentSubtype
MaterialGroup R_PurchaseReqnItem MaterialGroup
Plant R_PurchaseReqnItem Plant
PurReqItemCategory R_PurchaseReqnItem PurchasingDocumentItemCategory
@AbapCatalog.sqlViewName: 'POPNPRFORCONTR'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED

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

@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED
@VDM.lifecycle.contract.type: #NONE

define view P_OpnPurReqnForContr
  as select from    I_PurchaseContractItem as _PurchaseContractItem

    left outer join R_PurchaseReqnItem     as _PurchaseReqnItem on  _PurchaseContractItem.Material                       =  _PurchaseReqnItem.Material
                                                                and _PurchaseReqnItem.Material                           <> ''  //Out-of-scope : Contracts at Material Group level


                                                                and (
                                                                   //_PurchaseContractItem.Plant                           is null

                                                                   _PurchaseContractItem.Plant                           = ''
                                                                   or _PurchaseContractItem.Plant                        =  _PurchaseReqnItem.Plant
                                                                 )

                                                                and (
                                                                   _PurchaseContractItem.PurchasingOrganization          =  _PurchaseReqnItem.PurchasingOrganization
                                                                   //or _PurchaseReqnItem.PurchasingOrganization           is null

                                                                   or _PurchaseReqnItem.PurchasingOrganization           = ''
                                                                 )

                                                                and (
                                                                   //_PurchaseContractItem.AccountAssignmentCategory       is null

                                                                   _PurchaseContractItem.AccountAssignmentCategory       = ''
                                                                   or _PurchaseContractItem.AccountAssignmentCategory    =  'U'
                                                                   or(
                                                                     _PurchaseContractItem.AccountAssignmentCategory     is not null
                                                                     and _PurchaseContractItem.AccountAssignmentCategory <> 'U'
                                                                     and(
                                                                       _PurchaseContractItem.AccountAssignmentCategory   =  _PurchaseReqnItem.AccountAssignmentCategory
                                                                       or _PurchaseReqnItem.AccountAssignmentCategory    =  'U'
                                                                     )
                                                                   )
                                                                 )

                                                                and _PurchaseReqnItem.ProcessingStatus                   =  'N' //Follow-on document not created

                                                                and _PurchaseReqnItem.OrderedQuantity                    =  0
                                                                and _PurchaseReqnItem.PurchaseContract                   =  ''
                                                                and _PurchaseContractItem.PurchasingContractDeletionCode =  ''
                                                                and _PurchaseReqnItem.IsClosed                           =  ''  // PR should not be closed

                                                                and _PurchaseContractItem.IsStatisticalItem              =  ''  // Do not Consider Outline Items


{

      //Contracta and PR joint keys

  key _PurchaseContractItem.PurchaseContract,

  key _PurchaseContractItem.PurchaseContractItem,

  key _PurchaseReqnItem.PurchaseRequisition,

  key _PurchaseReqnItem.PurchaseRequisitionItem,

      PurchaseContractItemUniqueID,

      @ObjectModel.foreignKey: {
      association: null
      }
      _PurchaseContractItem.PurchaseContractType,
      @ObjectModel.foreignKey: {
      association: null
      }
      _PurchaseContractItem._PurchaseContract.Supplier,

      @ObjectModel.foreignKey: {
      association: null
      }
      _PurchaseContractItem.PurchasingDocumentItemCategory as ContractItemCategory,
      _PurchaseContractItem._PurchaseContract,

      //Purchase Requisition related fields

      _PurchaseReqnItem.PurchaseReqnItemUniqueID,
      _PurchaseReqnItem.PurchaseRequisitionType,
      _PurchaseReqnItem.PurchasingOrganization,
      _PurchaseReqnItem.PurchasingGroup,
      
      //Newly added

      _PurchaseReqnItem.PurchasingDocumentSubtype,

      _PurchaseReqnItem.MaterialGroup,
      @ObjectModel.foreignKey: {
           association: null
           }
      _PurchaseReqnItem.Plant,

      _PurchaseReqnItem.PurchasingDocumentItemCategory     as PurReqItemCategory



}
where
  //      _PurchaseReqnItem.OrderedQuantity = 0

  //  and _PurchaseReqnItem.ProcessingStatus = 'N'            //Follow-on document not created

  //  and _PurchaseReqnItem.Material <> ''                    //Out-of-scope : Contracts at Material Group level

      _PurchaseReqnItem.PurchaseReqnItemUniqueID  <> ''  //TO-BE removed - Added for testing purpose

  and _PurchaseReqnItem.PurchasingDocumentSubtype <> 'R' //This Situation use case is not valid for PR with control indicator R (meant for outline agreement)