@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #MANDATORY
@EndUserText.label: 'Interface for PPS Process Flow'
@Metadata.ignorePropagatedAnnotations: true
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@VDM.viewType: #COMPOSITE
@ObjectModel: {
usageType.serviceQuality: #D,
usageType.sizeCategory: #XL,
usageType.dataClass: #MIXED
}
//@JIRA-KEY S4PPS-7110
define view entity I_PPS_PurReqnProcessFlow
as
//PR
select distinct from I_Purchaserequisitionitem
{
key PurchaseRequisition as PrecedingDocument,
key PurchaseRequisitionItem as PrecedingDocumentItem,
key cast (' ' as vdm_purchaserequisition) as SubsequentDocument,
key cast (' ' as vdm_purchaserequisitionitem) as SubsequentDocumentItem,
// key cast (cast (' ' as vdm_purchaseorderitem) as char10) as SubsequentDocumentItem,
cast(cast ('B' as bstyp) as char4) as PrecedingDocumentCategory,
cast (cast (' ' as bstyp) as char4) as SubsequentDocumentCategory,
PurchaseRequisition,
PurchaseRequisitionItem,
PurchaseRequisitionType,
PurchasingGroup,
PurchasingOrganization
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// PR -> PO
union all select distinct from I_Purchaserequisitionitem as PRItem
inner join I_PPS_PurchaseOrderItem as POItem on POItem.PurchaseRequisition = PRItem.PurchaseRequisition
and POItem.PurchaseRequisitionItem = PRItem.PurchaseRequisitionItem //Incident ID 2380131799
inner join I_PPS_PurchaseOrder as PO on POItem.PurchaseOrder = PO.ActivePurchasingDocument //Incident ID 2380131799
{
key PRItem.PurchaseRequisition as PrecedingDocument,
key PRItem.PurchaseRequisitionItem as PrecedingDocumentItem,
key POItem.PurchaseOrder as SubsequentDocument,
key POItem.PurchaseOrderItem as SubsequentDocumentItem,
cast (cast ('B' as bstyp)as char4) as PrecedingDocumentCategory,
cast (POItem.PurchaseOrderCategory as char4) as SubsequentDocumentCategory,
PRItem.PurchaseRequisition,
PRItem.PurchaseRequisitionItem,
PRItem.PurchaseRequisitionType,
PRItem.PurchasingGroup,
PRItem.PurchasingOrganization
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// PR -> PC
union all select distinct from I_Purchaserequisitionitem as PRItem
inner join I_PurchaseContractItem as PCItem on PCItem.PurchaseRequisition = PRItem.PurchaseRequisition
and PCItem.PurchaseRequisitionItem = PRItem.PurchaseRequisitionItem
inner join I_PurchaseContract as PC on PCItem.PurchaseContract = PC.ActivePurchasingDocument //added on 20/11/23
{
key PRItem.PurchaseRequisition as PrecedingDocument,
key PRItem.PurchaseRequisitionItem as PrecedingDocumentItem,
key PCItem.PurchaseContract as SubsequentDocument,
key PCItem.PurchaseContractItem as SubsequentDocumentItem,
cast(cast ('B' as bstyp) as char4) as PrecedingDocumentCategory,
cast(PCItem.PurchasingObjectCategory as char4) as SubsequentDocumentCategory,
PRItem.PurchaseRequisition,
PRItem.PurchaseRequisitionItem,
PRItem.PurchaseRequisitionType,
PRItem.PurchasingGroup,
PRItem.PurchasingOrganization
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Call off PO
union all select distinct from I_Purchaserequisitionitem as PRItem
inner join I_PurchaseContractItem as PCItem on PRItem.PurchaseContract = PCItem.PurchaseContract
and PRItem.PurchaseContractItem = PCItem.PurchaseContractItem
inner join I_PurchaseContract as PC on PCItem.PurchaseContract = PC.ActivePurchasingDocument //added on 20/11/23
inner join I_PPS_PurchaseOrderItem as POItem on POItem.PurchaseContract = PCItem.PurchaseContract
and POItem.PurchaseContractItem = PCItem.PurchaseContractItem //Incident ID 2380131799
inner join I_PPS_PurchaseOrder as PO on POItem.PurchaseOrder = PO.ActivePurchasingDocument //Incident ID 2380131799
{
key PCItem.PurchaseContract as PrecedingDocument,
key cast(PCItem.PurchaseContractItem as char10) as PrecedingDocumentItem,
key POItem.PurchaseOrder as SubsequentDocument,
key cast(POItem.PurchaseOrderItem as char10) as SubsequentDocumentItem,
PCItem.PurchasingObjectCategory as PrecedingDocumentCategory,
POItem.PurchaseOrderCategory as SubsequentDocumentCategory,
PRItem.PurchaseRequisition,
PRItem.PurchaseRequisitionItem,
PRItem.PurchaseRequisitionType,
PRItem.PurchasingGroup,
PRItem.PurchasingOrganization
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PPS_PURCHASEORDER",
"I_PPS_PURCHASEORDERITEM",
"I_PURCHASECONTRACT",
"I_PURCHASECONTRACTITEM",
"I_PURCHASEREQUISITIONITEM"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/