P_PurcContractLeakagePC

DDL: P_PURCCONTRACTLEAKAGEPC SQL: PMMCONTRLEAKGPC Type: view CONSUMPTION

P_PurcContractLeakagePC

P_PurcContractLeakagePC is a Consumption CDS View that provides data about "P_PurcContractLeakagePC" in SAP S/4HANA. It reads from 3 data sources (I_PurchaseContract, I_PurchaseContractItem, I_PurContractClassification) and exposes 20 fields with key fields PurchaseContract, PurchaseContractItem, identifier.

Data Sources (3)

SourceAliasJoin Type
I_PurchaseContract PurchaseContract inner
I_PurchaseContractItem PurchaseContractItem from
I_PurContractClassification PurContractClassification inner

Parameters (1)

NameTypeDefault
P_PurchaseContract ebeln

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName PMMCONTRLEAKGPC view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
AccessControl.personalData.blocking #NOT_REQUIRED view
VDM.viewType #CONSUMPTION view
VDM.private true view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label P_PurcContractLeakagePC view

Fields (20)

KeyFieldSource TableSource FieldDescription
KEY PurchaseContract I_PurchaseContractItem PurchaseContract
KEY PurchaseContractItem I_PurchaseContractItem PurchaseContractItem
KEY identifier
TargetAmount TargetAmount
TargetQuantity TargetQuantity
ReleaseOrderItemNetAmount ReleaseDocumentationValues ReleaseOrderItemNetAmount
ReleaseOrderItemOrderQuantity ReleaseDocumentationValues ReleaseOrderItemOrderQuantity
ContractNetPriceAmount I_PurchaseContractItem ContractNetPriceAmount
DocumentCurrency I_PurchaseContract DocumentCurrency
Material I_PurchaseContractItem Material
MaterialGroup I_PurchaseContractItem MaterialGroup
Supplier I_PurchaseContract Supplier
CompanyCode I_PurchaseContract CompanyCode
PurchasingOrganization I_PurchaseContract PurchasingOrganization
PurchasingGroup I_PurchaseContract PurchasingGroup
ContractPlant I_PurchaseContractItem Plant
ValidityStartDate I_PurchaseContract ValidityStartDate
ValidityEndDate I_PurchaseContract ValidityEndDate
CreationDate I_PurchaseContract CreationDate
curr215asUnreleasedAmount
@AbapCatalog.sqlViewName: 'PMMCONTRLEAKGPC'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@AccessControl.personalData.blocking: #NOT_REQUIRED
@VDM.viewType : #CONSUMPTION
@VDM.private: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'P_PurcContractLeakagePC'
define view P_PurcContractLeakagePC
  with parameters
    P_PurchaseContract : ebeln
  as select from           I_PurchaseContractItem                                                           as PurchaseContractItem

    inner join             I_PurchaseContract                                                               as PurchaseContract           on PurchaseContractItem.PurchaseContract = PurchaseContract.ActivePurchasingDocument

    left outer to one join P_ReleaseDocumentationForPC1( P_PurchaseContract:$parameters.P_PurchaseContract) as ReleaseDocumentationValues on  PurchaseContractItem.PurchaseContract     = ReleaseDocumentationValues.PurchaseContract
                                                                                                                                          and PurchaseContractItem.PurchaseContractItem = ReleaseDocumentationValues.PurchaseContractItem

    inner join             I_PurContractClassification                                                      as PurContractClassification  on PurchaseContract.PurchaseContractType = PurContractClassification.PurchasingDocumentType

{
  key PurchaseContractItem.PurchaseContract,

  key PurchaseContractItem.PurchaseContractItem                                                         as PurchaseContractItem,

  key concat( cast(PurchaseContract.ValidityStartDate as abap.char( 8 )),PurchaseContractItemUniqueID ) as identifier,

      TargetAmount,

      TargetQuantity,

      ReleaseDocumentationValues.ReleaseOrderItemNetAmount,

      ReleaseDocumentationValues.ReleaseOrderItemOrderQuantity,

      PurchaseContractItem.ContractNetPriceAmount,

      PurchaseContract.DocumentCurrency,

      PurchaseContractItem.Material,

      PurchaseContractItem.MaterialGroup,

      PurchaseContract.Supplier,

      PurchaseContract.CompanyCode,

      PurchaseContract.PurchasingOrganization,

      PurchaseContract.PurchasingGroup,

      PurchaseContractItem.Plant                                                                        as ContractPlant,

      PurchaseContract.ValidityStartDate,

      PurchaseContract.ValidityEndDate,

      PurchaseContract.CreationDate,

      cast( case when PurContractClassification.PurchaseContractClassification = '0'
                 then case  when ReleaseDocumentationValues.ReleaseOrderItemNetAmount is null or ReleaseDocumentationValues.ReleaseOrderItemNetAmount = 0.000
                            then TargetAmount

                            else TargetAmount - ReleaseDocumentationValues.ReleaseOrderItemNetAmount
                            end
           else case when ReleaseDocumentationValues.ReleaseOrderItemOrderQuantity is null or ReleaseDocumentationValues.ReleaseOrderItemOrderQuantity = 0.00
                 then ContractNetPriceAmount * TargetQuantity

                 else ContractNetPriceAmount * ( TargetQuantity - ReleaseDocumentationValues.ReleaseOrderItemOrderQuantity)
                 end
        end as abap.curr(21,5))                                                                         as UnreleasedAmount


}
where
      PurchaseContractItem.PurchaseContract = $parameters.P_PurchaseContract
  and PurContractClassification.PurchaseContractClassification != '2'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PURCHASECONTRACT",
"I_PURCHASECONTRACTITEM",
"I_PURCONTRACTCLASSIFICATION",
"P_RELEASEDOCUMENTATIONFORPC1"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/