C_RFQProcessFlow

DDL: C_RFQPROCESSFLOW SQL: CRFQPROCFLOW Type: view CONSUMPTION

RFQ Process Flow

C_RFQProcessFlow is a Consumption CDS View that provides data about "RFQ Process Flow" in SAP S/4HANA. It reads from 15 data sources and exposes 77 fields with key fields PrecedingDocument, PrecedingDocumentCategory, SubsequentDocument, SubsequentDocumentCategory, RequestForQuotation.

Data Sources (15)

SourceAliasJoin Type
I_RequestForQuotation I_RequestForQuotation from
I_PurchaseContract PC inner
I_PurchaseOrder PO inner
I_Purchaserequisition PR inner
I_SupplierQuotation Quotation inner
I_SupplierQuotation Quotation inner
I_SupplierQuotation Quotation inner
I_SupplierQuotation Quotation inner
I_RequestForQuotation RFQ union_all
I_RequestForQuotation RFQ union_all
I_RequestForQuotation RFQ union_all
I_RequestForQuotation RFQ union_all
I_RequestForQuotation RFQ union_all
I_RFQExternalDocumentLink SourcingRequest inner
I_RFQExternalDocumentLink SourcingRequest inner

Annotations (9)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
EndUserText.label RFQ Process Flow view
VDM.viewType #CONSUMPTION view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
AbapCatalog.sqlViewName CRFQPROCFLOW view

Fields (77)

KeyFieldSource TableSource FieldDescription
KEY PrecedingDocument
KEY PrecedingDocumentCategory PurchasingDocumentCategory
KEY SubsequentDocument
KEY SubsequentDocumentCategory
KEY RequestForQuotation RequestForQuotation
PurchasingDocumentType PurchasingDocumentType
CompanyCode
FiscalYear
PurchasingGroup PurchasingGroup
PurchasingOrganization PurchasingOrganization
IsEndOfPurposeBlocked IsEndOfPurposeBlocked
PurchaseRequisitionasPrecedingDocument
KEY PrecedingDocumentCategory
KEY SubsequentDocument RFQItem RequestForQuotation
KEY SubsequentDocumentCategory
KEY RequestForQuotation RFQItem RequestForQuotation
PurchasingDocumentType
CompanyCode
FiscalYear
PurchasingGroup
PurchasingOrganization
IsEndOfPurposeBlocked
RequestForQuotationasPrecedingDocument
KEY PrecedingDocumentCategory I_RequestForQuotation PurchasingDocumentCategory
KEY SubsequentDocument I_SupplierQuotation SupplierQuotation
KEY SubsequentDocumentCategory I_SupplierQuotation PurchasingDocumentCategory
KEY RequestForQuotation I_RequestForQuotation RequestForQuotation
PurchasingDocumentType I_RequestForQuotation PurchasingDocumentType
CompanyCode
FiscalYear
PurchasingGroup I_RequestForQuotation PurchasingGroup
PurchasingOrganization I_RequestForQuotation PurchasingOrganization
IsEndOfPurposeBlocked I_RequestForQuotation IsEndOfPurposeBlocked
SupplierQuotationasPrecedingDocument
KEY PrecedingDocumentCategory I_SupplierQuotation PurchasingDocumentCategory
KEY SubsequentDocument I_PurchaseOrder PurchaseOrder
KEY SubsequentDocumentCategory
KEY RequestForQuotation I_RequestForQuotation RequestForQuotation
PurchasingDocumentType I_RequestForQuotation PurchasingDocumentType
CompanyCode
FiscalYear
PurchasingGroup I_RequestForQuotation PurchasingGroup
PurchasingOrganization I_RequestForQuotation PurchasingOrganization
IsEndOfPurposeBlocked I_RequestForQuotation IsEndOfPurposeBlocked
SupplierQuotationasPrecedingDocument
KEY PrecedingDocumentCategory I_SupplierQuotation PurchasingDocumentCategory
KEY SubsequentDocument I_PurchaseContract PurchaseContract
KEY SubsequentDocumentCategory
KEY RequestForQuotation I_RequestForQuotation RequestForQuotation
PurchasingDocumentType I_RequestForQuotation PurchasingDocumentType
CompanyCode
FiscalYear
PurchasingGroup I_RequestForQuotation PurchasingGroup
PurchasingOrganization I_RequestForQuotation PurchasingOrganization
IsEndOfPurposeBlocked I_RequestForQuotation IsEndOfPurposeBlocked
RequestForQuotationasPrecedingDocument
KEY PrecedingDocumentCategory I_RequestForQuotation PurchasingDocumentCategory
KEY SubsequentDocument I_RFQExternalDocumentLink ExternalPurchasingDocumentID
KEY SubsequentDocumentCategory
KEY RequestForQuotation I_RequestForQuotation RequestForQuotation
PurchasingDocumentType I_RequestForQuotation PurchasingDocumentType
CompanyCode
FiscalYear
PurchasingGroup I_RequestForQuotation PurchasingGroup
PurchasingOrganization I_RequestForQuotation PurchasingOrganization
IsEndOfPurposeBlocked I_RequestForQuotation IsEndOfPurposeBlocked
KEY PrecedingDocumentCategory
KEY SubsequentDocument I_SupplierQuotation SupplierQuotation
KEY SubsequentDocumentCategory I_SupplierQuotation PurchasingDocumentCategory
KEY RequestForQuotation I_RequestForQuotation RequestForQuotation
PurchasingDocumentType I_RequestForQuotation PurchasingDocumentType
CompanyCode
FiscalYear
PurchasingGroup I_RequestForQuotation PurchasingGroup
PurchasingOrganization I_RequestForQuotation PurchasingOrganization
IsEndOfPurposeBlocked I_RequestForQuotation IsEndOfPurposeBlocked
PurchasingDocumentUniqueID
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
                usageType.dataClass: #MIXED,
                usageType.serviceQuality: #C,
                usageType.sizeCategory: #L
              }

@EndUserText.label: 'RFQ Process Flow'
@VDM.viewType: #CONSUMPTION
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED
@AbapCatalog.sqlViewName: 'CRFQPROCFLOW'

define view C_RFQProcessFlow
  as select from I_RequestForQuotation
{
      //Key

  key cast( RequestForQuotation     as vdm_purchasingdocumentid )        as PrecedingDocument,
  key PurchasingDocumentCategory                                         as PrecedingDocumentCategory,
  key cast(' '                      as vdm_purchasingdocumentid)         as SubsequentDocument,
  key cast(' '                      as bstyp)                            as SubsequentDocumentCategory,

  key RequestForQuotation,
      PurchasingDocumentType,

      //no use case for us, is this necessary?

      //AccountingDocument additional keys

      cast('' as fis_bukrs)                                               as CompanyCode,
      cast('' as fis_gjahr)                                               as FiscalYear,

      PurchasingGroup,
      PurchasingOrganization,
      IsEndOfPurposeBlocked,
      cast('' as purgdocnodeuniqueid) as PurchasingDocumentUniqueID

}
union all select distinct from I_RequestForQuotationItem as RFQItem
  inner join                   I_Purchaserequisition     as PR on PR.PurchaseRequisition = RFQItem.PurchaseRequisition
{
  key PR.PurchaseRequisition                                                                                    as PrecedingDocument,
  key cast('B'                 as bstyp)                                                                        as PrecedingDocumentCategory,
  key RFQItem.RequestForQuotation                                                                               as SubsequentDocument,
  key RFQItem._RequestForQuotation.PurchasingDocumentCategory                                                   as SubsequentDocumentCategory,

      //Purchase Requisition

  key RFQItem.RequestForQuotation,
      RFQItem._RequestForQuotation.PurchasingDocumentType,

      //no use case for us, is this necessary?

      //AccountingDocument additional keys

      cast('' as fis_bukrs)                                                                                     as CompanyCode,
      cast('' as fis_gjahr)                                                                                     as FiscalYear,

      RFQItem._RequestForQuotation.PurchasingGroup,
      RFQItem._RequestForQuotation.PurchasingOrganization,
      RFQItem._RequestForQuotation.IsEndOfPurposeBlocked,
      cast('' as purgdocnodeuniqueid) as PurchasingDocumentUniqueID

}
union all select from I_RequestForQuotation as RFQ 
  inner join          I_SupplierQuotation   as Quotation on Quotation.RequestForQuotation = RFQ.RequestForQuotation
  left outer to many join     I_RFQExternalDocumentLink        as SourcingRequest on SourcingRequest.PurchasingDocumentUniqueID = RFQ.RequestForQuotation 
  
   
{
      //Key

  key RFQ.RequestForQuotation                                                              as PrecedingDocument,
  key RFQ.PurchasingDocumentCategory                                                       as PrecedingDocumentCategory,
  key Quotation.SupplierQuotation                                                          as SubsequentDocument,
  key Quotation.PurchasingDocumentCategory                                                 as SubsequentDocumentCategory,

      //Supplier Quotation

  key RFQ.RequestForQuotation,
      RFQ.PurchasingDocumentType,

      //no use case for us, is this necessary?

      //AccountingDocument additional keys

      cast('' as fis_bukrs)                                                                as CompanyCode,
      cast('' as fis_gjahr)                                                                as FiscalYear,

      RFQ.PurchasingGroup,
      RFQ.PurchasingOrganization,
      RFQ.IsEndOfPurposeBlocked,
      PurchasingDocumentUniqueID      

} where PurchasingDocumentUniqueID is null 
  
union all select from I_RequestForQuotation as RFQ
  inner join          I_SupplierQuotation   as Quotation on Quotation.RequestForQuotation = RFQ.RequestForQuotation
  inner join          I_PurchaseOrder       as PO        on PO.SupplierQuotationExternalID = Quotation.SupplierQuotation
{
  key Quotation.SupplierQuotation                                                                as PrecedingDocument,
  key Quotation.PurchasingDocumentCategory                                                       as PrecedingDocumentCategory,
  key PO.PurchaseOrder                                                                           as SubsequentDocument,
  key cast('F' as bstyp)                                                                         as SubsequentDocumentCategory,

      //Purchase Order

  key RFQ.RequestForQuotation,
      RFQ.PurchasingDocumentType,

      //no use case for us, is this necessary?

      //AccountingDocument additional keys

      cast('' as fis_bukrs)                                                                      as CompanyCode,
      cast('' as fis_gjahr)                                                                      as FiscalYear,

      RFQ.PurchasingGroup,
      RFQ.PurchasingOrganization,
      RFQ.IsEndOfPurposeBlocked,
      cast('' as purgdocnodeuniqueid) as PurchasingDocumentUniqueID

} 
union all select from I_RequestForQuotation as RFQ
  inner join          I_SupplierQuotation   as Quotation on Quotation.RequestForQuotation = RFQ.RequestForQuotation
  inner join          I_PurchaseContract    as PC        on PC.SupplierQuotation = Quotation.SupplierQuotation
{
  key Quotation.SupplierQuotation                                                                   as PrecedingDocument,
  key Quotation.PurchasingDocumentCategory                                                          as PrecedingDocumentCategory,
  key PC.PurchaseContract                                                                           as SubsequentDocument,
  key cast('K' as bstyp)                                                                            as SubsequentDocumentCategory,

      //Purhcase Contract

  key RFQ.RequestForQuotation,
      RFQ.PurchasingDocumentType,

      //no use case for us, is this necessary?

      //AccountingDocument additional keys

      cast('' as fis_bukrs)                                                                         as CompanyCode,
      cast('' as fis_gjahr)                                                                         as FiscalYear,

      RFQ.PurchasingGroup,
      RFQ.PurchasingOrganization,
      RFQ.IsEndOfPurposeBlocked,
      cast('' as purgdocnodeuniqueid) as PurchasingDocumentUniqueID

} 

union all select from I_RequestForQuotation       as RFQ
  inner join          I_RFQExternalDocumentLink   as SourcingRequest on SourcingRequest.PurchasingDocumentUniqueID = RFQ.RequestForQuotation                                                  
{
  key RFQ.RequestForQuotation                                                                       as PrecedingDocument,
  key RFQ.PurchasingDocumentCategory                                                                as PrecedingDocumentCategory,
  key SourcingRequest.ExternalPurchasingDocumentID                                                  as SubsequentDocument,
  key cast('Z' as bstyp)                                                                            as SubsequentDocumentCategory,

      //Purchase Contract

  key RFQ.RequestForQuotation,
      RFQ.PurchasingDocumentType,

      //no use case for us, is this necessary?

      //AccountingDocument additional keys

      cast('' as fis_bukrs)                                                                         as CompanyCode,
      cast('' as fis_gjahr)                                                                         as FiscalYear,

      RFQ.PurchasingGroup,
      RFQ.PurchasingOrganization,
      RFQ.IsEndOfPurposeBlocked,
      cast('' as purgdocnodeuniqueid) as PurchasingDocumentUniqueID
} 

union all select from I_RequestForQuotation     as RFQ
  inner join          I_RFQExternalDocumentLink         as SourcingRequest on SourcingRequest.PurchasingDocumentUniqueID = RFQ.RequestForQuotation 
  inner join          I_SupplierQuotation       as Quotation on Quotation.RequestForQuotation = SourcingRequest.PurchasingDocumentUniqueID
{
  key SourcingRequest.ExternalPurchasingDocumentID                                         as PrecedingDocument,
  key cast('Z' as bstyp)                                                                   as PrecedingDocumentCategory,
  key Quotation.SupplierQuotation                                                          as SubsequentDocument,
  key Quotation.PurchasingDocumentCategory                                                 as SubsequentDocumentCategory,

      //Supplier Quotation

  key RFQ.RequestForQuotation,
      RFQ.PurchasingDocumentType,

      //no use case for us, is this necessary?

      //AccountingDocument additional keys

      cast('' as fis_bukrs)                                                                as CompanyCode,
      cast('' as fis_gjahr)                                                                as FiscalYear,

      RFQ.PurchasingGroup,
      RFQ.PurchasingOrganization,
      RFQ.IsEndOfPurposeBlocked,
      cast('' as purgdocnodeuniqueid) as PurchasingDocumentUniqueID
      
} where ExternalPurchasingDocumentID not like 'NO_SR_ID%'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASECONTRACT",
"I_PURCHASEORDER",
"I_PURCHASEREQUISITION",
"I_REQUESTFORQUOTATION",
"I_REQUESTFORQUOTATIONITEM",
"I_RFQEXTERNALDOCUMENTLINK",
"I_SUPPLIERQUOTATION"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/