P_QUANTITYCONTRACTACCTASSGMT

CDS View

Quantity Contract Account Assignment

P_QUANTITYCONTRACTACCTASSGMT is a CDS View in S/4HANA. Quantity Contract Account Assignment. 1 CDS views read from this table.

CDS Views using this table (1)

ViewTypeJoinVDMDescription
C_QuantityContractAcctAssgmt view from CONSUMPTION Quantity Contract Account Assignment
@ClientHandling.algorithm: #SESSION_VARIABLE //Inserted by VDM CDS Suite Plugin

@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality:  #D
@ObjectModel.usageType.sizeCategory: #L
@AbapCatalog.sqlViewName: 'PQTYCONTRACCT'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@VDM.viewType: #CONSUMPTION
@VDM.private: true
@AbapCatalog.preserveKey: true
@EndUserText.label: 'Quantity Contract Account Assignment'

define view P_QuantityContractAcctAssgmt
  with parameters
    P_DisplayCurrency : displaycurrency,
    P_StartDate       : vdm_validitystart,
    P_EndDate         : vdm_validitystart

  as select from            P_QuantityContractWithPOCount( P_DisplayCurrency : $parameters.P_DisplayCurrency,
                                                           P_StartDate : $parameters.P_StartDate,
                                                           P_EndDate : $parameters.P_EndDate ) as PurchaseContractItem

  //  I_PurchaseContractItem                                                          as PurchaseContractItem

  //

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

  //

  //    inner join      I_PurContractClassification                                                     as ContractClassification on PurchaseContract.PurchaseContractType = ContractClassification.PurchasingDocumentType

  //

  //    left outer to many join P_ReleaseDocumentationValues(P_DisplayCurrency : $parameters.P_DisplayCurrency) as ReleaseDocumentation   on  PurchaseContractItem.PurchaseContract     = ReleaseDocumentation.PurchaseContract

  //                                                                                                                              and PurchaseContractItem.PurchaseContractItem = ReleaseDocumentation.PurchaseContractItem


    left outer to many join I_PurgDocAccountAssignment                                         as AccountAssignment on  PurchaseContractItem.PurchaseContract     = AccountAssignment.PurchasingDocument
                                                                                                                    and PurchaseContractItem.PurchaseContractItem = AccountAssignment.PurchasingDocumentItem
{
  key PurchaseContractItem.PurchaseContract,
  key PurchaseContractItem.PurchaseContractItem,
  key AccountAssignmentNumber,
  key ReleaseOrder,
  key ReleaseOrderItem,

      FormattedPurchaseContractItem,

      Supplier,
      PurchasingGroup,
      PurchasingOrganization,
      CompanyCode,

      PurchasingDocumentCategory,
      PurchaseContractType,
      PurchasingDocumentItemCategory,

      PurchaseContractItem.Material,
      PurchaseContractItem.MaterialGroup,
      PurchaseContractItem.Plant,

      AccountAssignment.CostCenter,

      CreatedByUser,
      ValidityEndDate,
      ReleaseOrderDate,

      MultipleAcctAssgmtDistribution,

      case when MultipleAcctAssgmtDistribution = ''
               then 1
                when MultipleAcctAssgmtDistribution = '1'
               then division( AccountAssignment.Quantity, TargetQuantity ,  3 )
            else division( AccountAssignment.MultipleAcctAssgmtDistrPercent , 100,  3 )
      end                                    as MultipleAcctAssgmtDistrPercent,

      cast(case when MultipleAcctAssgmtDistribution = ''
               then ReleaseOrderItemOrderQuantity
                when MultipleAcctAssgmtDistribution = '1'
               then ReleaseOrderItemOrderQuantity * division( AccountAssignment.Quantity, TargetQuantity ,  3 )
            else ReleaseOrderItemOrderQuantity * division( AccountAssignment.MultipleAcctAssgmtDistrPercent , 100,  3 )
        end  as mm_a_release_order_quantity) as ReleaseOrderItemOrderQuantity,

      ReleaseOrderItemNetAmount,                            //3229617



      @Semantics.currencyCode: true
      DisplayCurrency,

      @Semantics.amount.currencyCode: 'DisplayCurrency'
      ContractNetPriceAmount,

      @Semantics.unitOfMeasure: true
      PurchaseContractItem.OrderQuantityUnit,

      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      cast(case when MultipleAcctAssgmtDistribution = ''
               then TargetQuantity
            when MultipleAcctAssgmtDistribution = '1'
               then AccountAssignment.Quantity
             else TargetQuantity * division( AccountAssignment.MultipleAcctAssgmtDistrPercent , 100,  3 )
        end  as menge_d)                     as TargetQuantity,

      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      cast(case when MultipleAcctAssgmtDistribution = ''
               then AverageTargetQuantity
            when MultipleAcctAssgmtDistribution = '1'
               then AverageTargetQuantity * division( AccountAssignment.Quantity, TargetQuantity ,  3 )
             else AverageTargetQuantity * division( AccountAssignment.MultipleAcctAssgmtDistrPercent , 100,  3 )
        end  as menge_d)                     as AverageTargetQuantity

}