P_WrkflwPurRequisitionItem

DDL: P_WRKFLWPURREQUISITIONITEM SQL: PWPURREQITEM Type: view CONSUMPTION

P_WrkflwPurRequisitionItem is a Consumption CDS View in SAP S/4HANA. It reads from 6 data sources and exposes 43 fields with key fields PurchaseRequisition, PurchaseRequisitionItem, PurchaseRequisitionItem.

Data Sources (6)

SourceAliasJoin Type
I_Purchaserequisitionitem PurchaseReqItem from
I_Purchaserequisitionitem PurchaseReqItem union_all
I_PurchasingDocumentType PurchasingDocumentType inner
I_PurchasingDocumentType PurchasingDocumentType inner
P_PURREQNWORKFLOWAPPROVALTIME1 WorkflowStatusOverview inner
P_PURREQNWORKFLOWAPPROVALTIME1 WorkflowStatusOverview inner

Parameters (3)

NameTypeDefault
P_DisplayCurrency displaycurrency
P_StartDate badat
P_EndDate badat

Annotations (5)

NameValueLevelField
AbapCatalog.sqlViewName PWPURREQITEM view
VDM.viewType #CONSUMPTION view
VDM.private true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view

Fields (43)

KeyFieldSource TableSource FieldDescription
KEY PurchaseRequisition I_Purchaserequisitionitem PurchaseRequisition
KEY PurchaseRequisitionItem I_Purchaserequisitionitem PurchaseRequisitionItem
PurchasingGroup I_Purchaserequisitionitem PurchasingGroup
PurchasingOrganization I_Purchaserequisitionitem PurchasingOrganization
CompanyCode I_Purchaserequisitionitem CompanyCode
Supplier Supplier
Plant I_Purchaserequisitionitem Plant
Material I_Purchaserequisitionitem Material
MaterialGroup I_Purchaserequisitionitem MaterialGroup
AccountAssignmentCategory I_Purchaserequisitionitem AccountAssignmentCategory
PurReqCreationDate PurReqCreationDate
CreatedByUser I_Purchaserequisitionitem CreatedByUser
PurReqnItemCurrency I_Purchaserequisitionitem PurReqnItemCurrency
PurReqnPriceQuantity I_Purchaserequisitionitem PurReqnPriceQuantity
PurchaseRequisitionType PurchaseRequisitionType
ProcurementHubSourceSystem I_Purchaserequisitionitem ProcurementHubSourceSystem
RequestedQuantity I_Purchaserequisitionitem RequestedQuantity
WrkflwTskCreationUTCDateTime WrkflwTskCreationUTCDateTime
WrkflwTskCompletionUTCDateTime WrkflwTskCompletionUTCDateTime
ApprovalTime
PurReqFlxblWrkflwApprvlLevel
PurchaseRequisition
KEY PurchaseRequisitionItem I_Purchaserequisitionitem PurchaseRequisitionItem
PurchasingGroup I_Purchaserequisitionitem PurchasingGroup
PurchasingOrganization I_Purchaserequisitionitem PurchasingOrganization
CompanyCode I_Purchaserequisitionitem CompanyCode
Supplier Supplier
Plant I_Purchaserequisitionitem Plant
Material I_Purchaserequisitionitem Material
MaterialGroup I_Purchaserequisitionitem MaterialGroup
AccountAssignmentCategory I_Purchaserequisitionitem AccountAssignmentCategory
PurReqCreationDate PurReqCreationDate
CreatedByUser I_Purchaserequisitionitem CreatedByUser
PurReqnItemCurrency I_Purchaserequisitionitem PurReqnItemCurrency
PurReqnPriceQuantity I_Purchaserequisitionitem PurReqnPriceQuantity
PurchaseRequisitionType PurchaseRequisitionType
ProcurementHubSourceSystem I_Purchaserequisitionitem ProcurementHubSourceSystem
RequestedQuantity I_Purchaserequisitionitem RequestedQuantity
WrkflwTskCreationUTCDateTime WrkflwTskCreationUTCDateTime
WrkflwTskCompletionUTCDateTime WrkflwTskCompletionUTCDateTime
ApprovalTime
PurReqFlxblWrkflwApprvlLevel
TargetApprovalTime TargetApprovalTime
@AbapCatalog.sqlViewName: 'PWPURREQITEM'
@VDM.viewType: #CONSUMPTION
@VDM.private : true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
//@EndUserText.label: 'Purchase requisition with creation time'

define view P_WrkflwPurRequisitionItem
  with parameters
    P_DisplayCurrency : displaycurrency,
    P_StartDate       : badat,
    P_EndDate         : badat

  as select from I_Purchaserequisitionitem     as PurchaseReqItem

    inner join   I_PurchasingDocumentType      as PurchasingDocumentType on  PurchasingDocumentType.PurchasingDocumentCategory = PurchaseReqItem.PurchasingDocumentCategory
                                                                         and PurchasingDocumentType.PurchasingDocumentType     = PurchaseReqItem.PurchaseRequisitionType

    inner join   P_PURREQNWORKFLOWAPPROVALTIME1 as WorkflowStatusOverview on  WorkflowStatusOverview.PurchaseRequisition     = PurchaseReqItem.PurchaseRequisition
                                                                         and WorkflowStatusOverview.PurchaseRequisitionItem = PurchaseReqItem.PurchaseRequisitionItem

{
  key PurchaseReqItem.PurchaseRequisition,
  key PurchaseReqItem.PurchaseRequisitionItem,
      /* Org Data */
      PurchaseReqItem.PurchasingGroup,
      PurchaseReqItem.PurchasingOrganization,
      PurchaseReqItem.CompanyCode,

      /* Supplier */
      Supplier,
      /* Item Data */
      PurchaseReqItem.Plant,
      PurchaseReqItem.Material,
      PurchaseReqItem.MaterialGroup,
      PurchaseReqItem.AccountAssignmentCategory,

      /*Dates*/
      PurReqCreationDate,
      PurchaseReqItem.CreatedByUser,
      PurchaseReqItem.PurReqnItemCurrency,

      cast( case when PurReqnItemCurrency = :P_DisplayCurrency
            then division (PurchaseRequisitionPrice, PurReqnPriceQuantity,2)
           else division(currency_conversion( amount             => PurchaseRequisitionPrice ,
                                     source_currency    => PurReqnItemCurrency,
                                     target_currency    =>  :P_DisplayCurrency,
                                     exchange_rate_date => PurReqCreationDate,
                                     exchange_rate_type => 'M' ), PurReqnPriceQuantity,2)
      end as bapre)                                                                                      as PurchaseRequisitionPrice,

      PurchaseReqItem.PurReqnPriceQuantity,
      PurchaseRequisitionType,
      PurchaseReqItem.ProcurementHubSourceSystem,

      PurchaseReqItem.RequestedQuantity,
      WrkflwTskCreationUTCDateTime,
      WrkflwTskCompletionUTCDateTime,
      TSTMP_SECONDS_BETWEEN( WrkflwTskCreationUTCDateTime , WrkflwTskCompletionUTCDateTime , 'INITIAL' ) as ApprovalTime,

      cast( 'I' as mmpur_ana_de_wrkfl_appr_level )                                                       as PurReqFlxblWrkflwApprvlLevel,
      TargetApprovalTime

}
where
  (
       PurchaseReqItem.PurReqnReleaseStatus                = '05'
    or PurchaseReqItem.PurReqnReleaseStatus                = '08'
  )
  and ( PurchaseReqItem.IsOutline = '' or PurchaseReqItem.Material <> '' )
  and  PurReqnPriceQuantity                                > 0
  // and  PurReqCreationDate != '00000000'

  and  PurchasingDocumentType.PurgHasFlxblWorkflowApproval = 'X'
  and  PurReqCreationDate                                  <= $parameters.P_EndDate
  and  PurReqCreationDate                                  >= $parameters.P_StartDate

union all select from I_Purchaserequisitionitem      as PurchaseReqItem

  inner join          I_PurchasingDocumentType       as PurchasingDocumentType on  PurchasingDocumentType.PurchasingDocumentCategory = PurchaseReqItem.PurchasingDocumentCategory
                                                                               and PurchasingDocumentType.PurchasingDocumentType     = PurchaseReqItem.PurchaseRequisitionType

  inner join          P_PURREQNWORKFLOWAPPROVALTIME1 as WorkflowStatusOverview on  WorkflowStatusOverview.PurchaseRequisition     = PurchaseReqItem.PurchaseRequisition
                                                                               and WorkflowStatusOverview.PurchaseRequisitionItem = ''


{
  key PurchaseReqItem.PurchaseRequisition,
  key PurchaseReqItem.PurchaseRequisitionItem,
      /* Org Data */
      PurchaseReqItem.PurchasingGroup,
      PurchaseReqItem.PurchasingOrganization,
      PurchaseReqItem.CompanyCode,

      /* Supplier */
      Supplier,
      /* Item Data */
      PurchaseReqItem.Plant,
      PurchaseReqItem.Material,
      PurchaseReqItem.MaterialGroup,
      PurchaseReqItem.AccountAssignmentCategory,

      /*Dates*/
      PurReqCreationDate,
      PurchaseReqItem.CreatedByUser,
      PurchaseReqItem.PurReqnItemCurrency,

      cast( case when PurReqnItemCurrency = :P_DisplayCurrency
            then division (PurchaseRequisitionPrice, PurReqnPriceQuantity,2)
           else division(currency_conversion(  amount             => PurchaseRequisitionPrice ,
                                               source_currency    => PurReqnItemCurrency,
                                               target_currency    =>  :P_DisplayCurrency,
                                               exchange_rate_date => PurReqCreationDate,
                                               exchange_rate_type => 'M' ), PurReqnPriceQuantity,2)
      end as bapre)                                                                                      as PurchaseRequisitionPrice,

      PurchaseReqItem.PurReqnPriceQuantity,
      PurchaseRequisitionType,
      PurchaseReqItem.ProcurementHubSourceSystem,

      PurchaseReqItem.RequestedQuantity,
      WrkflwTskCreationUTCDateTime,
      WrkflwTskCompletionUTCDateTime,
      TSTMP_SECONDS_BETWEEN( WrkflwTskCreationUTCDateTime , WrkflwTskCompletionUTCDateTime , 'INITIAL' ) as ApprovalTime,

      cast ( 'H' as mmpur_ana_de_wrkfl_appr_level )                                                      as PurReqFlxblWrkflwApprvlLevel,
      TargetApprovalTime


}
where
  (
       PurchaseReqItem.PurReqnReleaseStatus                = '05'
    or PurchaseReqItem.PurReqnReleaseStatus                = '08'
  )
  and ( PurchaseReqItem.IsOutline = '' or PurchaseReqItem.Material <> '' )
  and  PurReqnPriceQuantity                                > 0
  // and  PurReqCreationDate != '00000000'

  and  PurchasingDocumentType.PurgHasFlxblWorkflowApproval = 'X'
  and  PurReqCreationDate                                  <= $parameters.P_EndDate
  and  PurReqCreationDate                                  >= $parameters.P_StartDate
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASEREQUISITIONITEM",
"I_PURCHASINGDOCUMENTTYPE",
"P_PURREQNWORKFLOWAPPROVALTIME1"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/