A_CntrlPurContrItmDistribution

DDL: A_CNTRLPURCONTRITMDISTRIBUTION SQL: ACNTRLPCTRID Type: view COMPOSITE

Item Distribution

A_CntrlPurContrItmDistribution is a Composite CDS View that provides data about "Item Distribution" in SAP S/4HANA. It reads from 1 data source (I_CntrlPurContrDistribution) and exposes 60 fields with key fields CentralPurchaseContract, CentralPurchaseContractItem, DistributionKey. It has 4 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_CntrlPurContrDistribution I_CntrlPurContrDistribution from

Associations (4)

CardinalityTargetAliasCondition
[1..1] A_CntrlPurchaseContractItem _CentralPurchaseContractItem $projection.CentralPurchaseContract = _CentralPurchaseContractItem.CentralPurchaseContract and $projection.CentralPurchaseContractItem = _CentralPurchaseContractItem.CentralPurchaseContractItem
[0..*] A_CntrlPurContrItemPartner _CntrlPurContrItemPartner $projection.CentralPurchaseContract = _CntrlPurContrItemPartner.CentralPurchaseContract and $projection.CentralPurchaseContractItem = _CntrlPurContrItemPartner.CentralPurchaseContractItem and $projection.DistributionKey = _CntrlPurContrItemPartner.DistributionKey
[1..1] A_CentralPurchaseContract _CentralPurchaseContract $projection.CentralPurchaseContract = _CentralPurchaseContract.CentralPurchaseContract ----Extension
[1..1] E_CntrlPurContrDistribution _CntrlPurContrItmDistExtension _CntrlPurContrItmDistExtension.PurchasingDocument = $projection.CentralPurchaseContract and _CntrlPurContrItmDistExtension.PurchasingDocumentItem = $projection.CentralPurchaseContractItem and _CntrlPurContrItmDistExtension.DistributionKey = $projection.DistributionKey

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName ACNTRLPCTRID view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Item Distribution view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.createEnabled false view
ObjectModel.updateEnabled false view
AccessControl.personalData.blocking #REQUIRED view
Metadata.ignorePropagatedAnnotations true view

Fields (60)

KeyFieldSource TableSource FieldDescription
KEY CentralPurchaseContract CentralPurchaseContract
KEY CentralPurchaseContractItem CentralPurchaseContractItem
KEY DistributionKey DistributionKey
ProcmtHubCompanyCode CompanyCode
ProcmtHubPlant Plant
ProcmtHubPurchasingOrg PurchasingOrganization
ProcmtHubPurchasingGroup PurchasingGroup
ProcmtHubCompanyCodeGroupingID ProcmtHubCompanyCodeGroupingID
PaymentTerms PaymentTerms
CashDiscount1Days CashDiscount1Days
CashDiscount2Days CashDiscount2Days
NetPaymentDays NetPaymentDays
CashDiscount1Percent CashDiscount1Percent
CashDiscount2Percent CashDiscount2Percent
DistributionType DistributionType
ExternalReferenceDocument ExternalReferenceDocument
ExternalReferenceDocumentItem ExternalReferenceDocumentItem
ExternalRefDocCategory ExternalRefDocCategory
PurchasingDocumentCategory PurchasingDocumentCategory
PurchasingDocumentType PurchasingDocumentType
StorageLocation StorageLocation
CntrlPurContrDistributionPct CntrlPurContrDistributionPct
CntrlPurContrItmDistrQty TargetQuantity
OrderQuantityUnit OrderQuantityUnit
CntrlPurContrItmDistrAmt TargetAmount
ProcurementHubSourceSystem ProcurementHubSourceSystem
ProcmtHubProduct Material
ProcmtHubProductGroup MaterialGroup
ProcmtHubPurchaseContract ExtContractForPurg
ProcmtHubPurchaseContractItem ExtContractItemForPurg
ItemDistributionStatus ItemDistributionStatus
ReferenceHeaderDistributionKey ReferenceHeaderDistributionKey
IsDeleted IsDeleted
OutlineAgrmtItmIsBlocked OutlineAgrmtItmIsBlocked
PurgDocItmBlkRsnCode PurgDocItmBlkRsnCode
PurchasingInfoRecordUpdateCode PurchasingInfoRecordUpdateCode
ReferenceDistributionNumber ExtContractItemDistrForPurg
SourceListIsUpdated
SourceListRestriction SourceListRestriction
IncotermsClassification IncotermsClassification
IncotermsLocation1 IncotermsLocation1
ShippingInstruction ShippingInstruction
ProcmtHubDelivAddressTypeCode ProcmtHubDelivAddressTypeCode
ReferenceDeliveryAddressID ReferenceDeliveryAddressID
ProcmtHubSubcontractor ProcmtHubSubcontractor
ProcmtHubSuplrIsSubcontractor ProcmtHubSuplrIsSubcontractor
FormOfAddress FormOfAddress
ProcmtHubBusinessPartnerName1 ProcmtHubBusinessPartnerName1
ProcmtHubBusinessPartnerName2 ProcmtHubBusinessPartnerName2
ProcmtHubBusinessPartnerName3 ProcmtHubBusinessPartnerName3
ProcmtHubBusinessPartnerName4 ProcmtHubBusinessPartnerName4
ProcmtHubStreetName ProcmtHubStreetName
ProcmtHubHouseNumber ProcmtHubHouseNumber
ProcmtHubPostalCode ProcmtHubPostalCode
ProcmtHubCityName ProcmtHubCityName
ProcmtHubCountry ProcmtHubCountry
ProcmtHubRegion ProcmtHubRegion
_CentralPurchaseContract _CentralPurchaseContract
_CentralPurchaseContractItem _CentralPurchaseContractItem
_CntrlPurContrItemPartner _CntrlPurContrItemPartner
@AbapCatalog.sqlViewName: 'ACNTRLPCTRID'
@VDM.viewType : #COMPOSITE
@VDM.lifecycle.contract.type:#PUBLIC_REMOTE_API
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Item Distribution'

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED

@ObjectModel : {
    createEnabled: false,
    updateEnabled: false
}

@AccessControl.personalData.blocking: #REQUIRED
@Metadata.ignorePropagatedAnnotations:true

define view A_CntrlPurContrItmDistribution
  as select  from I_CntrlPurContrDistribution
   association [1..1] to A_CntrlPurchaseContractItem as _CentralPurchaseContractItem on   $projection.CentralPurchaseContract     = _CentralPurchaseContractItem.CentralPurchaseContract
                                                                                     and  $projection.CentralPurchaseContractItem = _CentralPurchaseContractItem.CentralPurchaseContractItem
   association [0..*] to A_CntrlPurContrItemPartner as _CntrlPurContrItemPartner     on   $projection.CentralPurchaseContract     = _CntrlPurContrItemPartner.CentralPurchaseContract
                                                                                     and  $projection.CentralPurchaseContractItem = _CntrlPurContrItemPartner.CentralPurchaseContractItem  
                                                                                     and  $projection.DistributionKey             = _CntrlPurContrItemPartner.DistributionKey                                                                                     
   association [1..1] to A_CentralPurchaseContract   as _CentralPurchaseContract     on   $projection.CentralPurchaseContract     = _CentralPurchaseContract.CentralPurchaseContract
   
      ----Extension Association 
  association [1..1] to E_CntrlPurContrDistribution   as _CntrlPurContrItmDistExtension on  _CntrlPurContrItmDistExtension.PurchasingDocument     = $projection.CentralPurchaseContract
                                                                                       and _CntrlPurContrItmDistExtension.PurchasingDocumentItem   = $projection.CentralPurchaseContractItem
                                                                                       and _CntrlPurContrItmDistExtension.DistributionKey          = $projection.DistributionKey
{

  key CentralPurchaseContract,
  
  key CentralPurchaseContractItem,

  key DistributionKey,   
  
      CompanyCode               as            ProcmtHubCompanyCode,

      Plant                     as            ProcmtHubPlant,

      PurchasingOrganization    as            ProcmtHubPurchasingOrg,

      PurchasingGroup           as            ProcmtHubPurchasingGroup,
      
      ProcmtHubCompanyCodeGroupingID,

//      DocumentCurrency,  

      case
       when DocumentCurrency = '' or DocumentCurrency = ' '
        then _CentralPurchaseContractItem.DocumentCurrency
       else
        DocumentCurrency end as            CntrlPurContrDistrCurrency,
        
      @ObjectModel.sapObjectNodeTypeReference:'PaymentTerms'
      PaymentTerms,

      CashDiscount1Days,

      CashDiscount2Days,

      NetPaymentDays,

      CashDiscount1Percent,

      CashDiscount2Percent,

      DistributionType,
      ExternalReferenceDocument,
      ExternalReferenceDocumentItem,
      ExternalRefDocCategory,
      PurchasingDocumentCategory,
      
      @ObjectModel.sapObjectNodeTypeReference: 'PurchasingDocumentType'
      PurchasingDocumentType,
      
      @ObjectModel.sapObjectNodeTypeReference: 'StorageLocation'
      StorageLocation,

      CntrlPurContrDistributionPct,

      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      TargetQuantity            as            CntrlPurContrItmDistrQty,
      
      OrderQuantityUnit,

      @Semantics.amount.currencyCode: 'CntrlPurContrDistrCurrency'
      TargetAmount              as            CntrlPurContrItmDistrAmt,

      //      currency_conversion( amount => ContractNetPriceAmount,

      //      source_currency => _CntrlPurchaseContractItem.DocumentCurrency,

      //      round => 'X',

      //      target_currency => Currency,

      //      exchange_rate_date => _CentralPurchaseContract.CreationDate ,

      //      error_handling => 'SET_TO_NULL' )                     as            ContractNetPriceAmount,


      ProcurementHubSourceSystem             as            ProcurementHubSourceSystem,

      Material                  as            ProcmtHubProduct,

      MaterialGroup             as            ProcmtHubProductGroup,

      ExtContractForPurg        as            ProcmtHubPurchaseContract,

      ExtContractItemForPurg    as            ProcmtHubPurchaseContractItem,

      ItemDistributionStatus,
      
      ReferenceHeaderDistributionKey,

      IsDeleted,
      
      OutlineAgrmtItmIsBlocked,
      
      PurgDocItmBlkRsnCode,
      
      PurchasingInfoRecordUpdateCode,
      
      ExtContractItemDistrForPurg as ReferenceDistributionNumber, 
            
      cast(SourceListIsUpdated as xfeld) as SourceListIsUpdated,
      SourceListRestriction,
      
      @ObjectModel.sapObjectNodeTypeReference:'IncotermsClassification'
      IncotermsClassification,
      
      IncotermsLocation1,
      
      @ObjectModel.sapObjectNodeTypeReference:'PurchasingShippingInstruction'
      ShippingInstruction,  
      
      ProcmtHubDelivAddressTypeCode,
      
      ReferenceDeliveryAddressID,
      
      ProcmtHubSubcontractor,
      
      ProcmtHubSuplrIsSubcontractor,
      
      FormOfAddress,
      
      ProcmtHubBusinessPartnerName1,
      
      ProcmtHubBusinessPartnerName2,
      
      ProcmtHubBusinessPartnerName3,
      
      ProcmtHubBusinessPartnerName4,
      
      ProcmtHubStreetName,
      
      ProcmtHubHouseNumber,
      
      ProcmtHubPostalCode,
      
      ProcmtHubCityName,
      
      ProcmtHubCountry,
      
      ProcmtHubRegion,
        
      //@ObjectModel.association.type:  [ #TO_COMPOSITION_ROOT ]

     _CentralPurchaseContract,

      //@ObjectModel.association.type:  [ #TO_COMPOSITION_PARENT ]

      _CentralPurchaseContractItem,
      
     _CntrlPurContrItemPartner
 
}
where
  CentralPurchaseContractItem <> '00000' //filter out only item distributions.

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"A_CNTRLPURCHASECONTRACTITEM",
"I_CNTRLPURCONTRDISTRIBUTION"
],
"ASSOCIATED":
[
"A_CENTRALPURCHASECONTRACT",
"A_CNTRLPURCHASECONTRACTITEM",
"A_CNTRLPURCONTRITEMPARTNER",
"E_CNTRLPURCONTRDISTRIBUTION"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/