P_NetPositionConvToPhyUom

DDL: P_NETPOSITIONCONVTOPHYUOM SQL: PNETPOSCONVTOP Type: view COMPOSITE

P_NetPositionConvToPhyUom is a Composite CDS View in SAP S/4HANA. It reads from 5 data sources (P_NetPositionUpdatePhyUom, I_ACMMaterialUnitCnvrsnFactor, I_ACMMaterialUnitCnvrsnFactor, I_UnitOfMeasure, I_UnitOfMeasure) and exposes 131 fields with key fields PricingKey, Version, PricingDocumentItem, ConditionType, SubConditionType.

Data Sources (5)

SourceAliasJoin Type
P_NetPositionUpdatePhyUom P_NetPositionUpdatePhyUom from
I_ACMMaterialUnitCnvrsnFactor PConvFactorCU left_outer
I_ACMMaterialUnitCnvrsnFactor PConvFactorPCU left_outer
I_UnitOfMeasure PConvT006CU left_outer
I_UnitOfMeasure PConvT006PCU left_outer

Parameters (4)

NameTypeDefault
P_MTMDataSelectionType cmm_vlogp_consumptiontype
P_Displayview cds_view_uom
P_EndOfDaySnapshotFromDate cmm_dend_cutdate
P_EndOfDaySnapshotToDate cmm_dend_cutdate

Annotations (7)

NameValueLevelField
AbapCatalog.sqlViewName PNETPOSCONVTOP view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (131)

KeyFieldSource TableSource FieldDescription
KEY PricingKey Vlogp PricingKey
KEY Version Vlogp Version
KEY PricingDocumentItem Vlogp PricingDocumentItem
KEY ConditionType Vlogp ConditionType
KEY SubConditionType Vlogp SubConditionType
KEY EvaluationDate Vlogp EvaluationDate
KEY QuotationPeriodDate Vlogp QuotationPeriodDate
SubstitutePriceQuotationDate Vlogp SubstitutePriceQuotationDate
EndOfDaySnapshotFromDate Vlogp EndOfDaySnapshotFromDate
EndOfDaySnapshotToDate Vlogp EndOfDaySnapshotToDate
MTMDataSelectionType Vlogp MTMDataSelectionType
MTMDataSourceType Vlogp MTMDataSourceType
ValidityStartDate Vlogp ValidityStartDate
ValidityStartDateTime Vlogp ValidityStartDateTime
ValidityEndDate Vlogp ValidityEndDate
ValidityEndDateTime Vlogp ValidityEndDateTime
SourceTransactionEventDateTime Vlogp SourceTransactionEventDateTime
SourceTransacEventEndDateTime Vlogp SourceTransacEventEndDateTime
EndOfDaySnapshotDateTimeFrom Vlogp EndOfDaySnapshotDateTimeFrom
EndOfDaySnapshotDateTimeTo Vlogp EndOfDaySnapshotDateTimeTo
EndOfDaySnapshotDate Vlogp EndOfDaySnapshotDate
EndOfDayBusinessEntityKey Vlogp EndOfDayBusinessEntityKey
MaximumVersion Vlogp MaximumVersion
PreviousVersion Vlogp PreviousVersion
CompanyCode Vlogp CompanyCode
SalesOrganization Vlogp SalesOrganization
DistributionChannel Vlogp DistributionChannel
Division Vlogp Division
Creditor Vlogp Creditor
SoldToParty Vlogp SoldToParty
Material Vlogp Material
Commodity Vlogp Commodity
PhysicalCommodity Vlogp PhysicalCommodity
Plant Vlogp Plant
StorageLocation Vlogp StorageLocation
Batch Vlogp Batch
IncotermsClassification Vlogp IncotermsClassification
IncotermsTransferLocation Vlogp IncotermsTransferLocation
ConditionApplication Vlogp ConditionApplication
SourceDocument Vlogp SourceDocument
SourceDocumentBusObjType Vlogp SourceDocumentBusObjType
OriginReferenceDocument Vlogp OriginReferenceDocument
OriginReferenceDocumentItem Vlogp OriginReferenceDocumentItem
OriginReferenceDocBusObjType Vlogp OriginReferenceDocBusObjType
ReferenceDocument Vlogp ReferenceDocument
ReferenceDocumentItem Vlogp ReferenceDocumentItem
ReferenceDocBusObjType Vlogp ReferenceDocBusObjType
DeliveryDate Vlogp DeliveryDate
ExpectedPaymentDate Vlogp ExpectedPaymentDate
StatisticsCurrency Vlogp StatisticsCurrency
DocumentCurrency Vlogp DocumentCurrency
ProfitCenter Vlogp ProfitCenter
BusinessArea Vlogp BusinessArea
PurchasingOrganization Vlogp PurchasingOrganization
MaterialGroup Vlogp MaterialGroup
IsIntercompanyTransfer Vlogp IsIntercompanyTransfer
ConditionTermRate Vlogp ConditionTermRate
ConditionTermRateCurrency Vlogp ConditionTermRateCurrency
ConditionTermRateQuantity Vlogp ConditionTermRateQuantity
ConditionTermRateQuantityUnit Vlogp ConditionTermRateQuantityUnit
ConditionTermValue Vlogp ConditionTermValue
ConditionTermValueCurrency Vlogp ConditionTermValueCurrency
ConditionTermRateMktCurrency Vlogp ConditionTermRateMktCurrency
ConditionTermName Vlogp ConditionTermName
ConditionTermStatus Vlogp ConditionTermStatus
RoundingDecimalPlaces Vlogp RoundingDecimalPlaces
ConditionTermRateIsRounded Vlogp ConditionTermRateIsRounded
ConditionTermRateNmrtr Vlogp ConditionTermRateNmrtr
ConditionTermRateDnmntr Vlogp ConditionTermRateDnmntr
ConditionTermExtensionUsage Vlogp ConditionTermExtensionUsage
MaturitySelectionType Vlogp MaturitySelectionType
QuotationPeriodReferenceDate Vlogp QuotationPeriodReferenceDate
QuotationKeyType Vlogp QuotationKeyType
QuotationDateList Vlogp QuotationDateList
QuotationPeriodStartDate Vlogp QuotationPeriodStartDate
QuotationPeriodEndDate Vlogp QuotationPeriodEndDate
DerivativeContrSpecification Vlogp DerivativeContrSpecification
MarketIdentifierCode Vlogp MarketIdentifierCode
MaturityKeyDate Vlogp MaturityKeyDate
BasisType Vlogp BasisType
BasisID Vlogp BasisID
QuotationGroup Vlogp QuotationGroup
QuotationGroupCalculationRule Vlogp QuotationGroupCalculationRule
PricingStatus Vlogp PricingStatus
ConditionTermRateFixation Vlogp ConditionTermRateFixation
CndnTermRateFixationDate Vlogp CndnTermRateFixationDate
CndnTermRateFixationTime Vlogp CndnTermRateFixationTime
CndnTermExchRateFixationDate Vlogp CndnTermExchRateFixationDate
CndnTermExchRateFixationTime Vlogp CndnTermExchRateFixationTime
FixedExchRateDate Vlogp FixedExchRateDate
ExchRateMaturityDate Vlogp ExchRateMaturityDate
MaturitySelectionRoutine Vlogp MaturitySelectionRoutine
DCSPeriodType Vlogp DCSPeriodType
CommodityQuantity Vlogp CommodityQuantity
CommodityUnit Vlogp CommodityUnit
CommodityQuantityInTermUnit Vlogp CommodityQuantityInTermUnit
QuantitySign Vlogp QuantitySign
MTMConditionGroupCategory Vlogp MTMConditionGroupCategory
MTMConditionGroup Vlogp MTMConditionGroup
MTMCalculationGroup Vlogp MTMCalculationGroup
MTMAdjustmentType Vlogp MTMAdjustmentType
MTMCalcGrpMarketPriceCondition Vlogp MTMCalcGrpMarketPriceCondition
DisplayView Vlogp DisplayView
CommodityExposureQuantity Vlogp CommodityExposureQuantity
DCSReportingDate Vlogp DCSReportingDate
PriceIsRealized Vlogp PriceIsRealized
ContrPriceExposureIsExecuted Vlogp ContrPriceExposureIsExecuted
CommodityPriceFixationStatus Vlogp CommodityPriceFixationStatus
ImplicitFixationIsRelevant Vlogp ImplicitFixationIsRelevant
ConditionTermRateIsFixed Vlogp ConditionTermRateIsFixed
MinimumConditionTermLimitRate Vlogp MinimumConditionTermLimitRate
MaximumConditionTermLimitRate Vlogp MaximumConditionTermLimitRate
ConditionTermLimitRateCurrency Vlogp ConditionTermLimitRateCurrency
ConditionTermLimitRateQuantity Vlogp ConditionTermLimitRateQuantity
CndnTermLimitRateQuantityUnit Vlogp CndnTermLimitRateQuantityUnit
ConditionTermLimitRateStatus Vlogp ConditionTermLimitRateStatus
TotalQuotationPeriodDays Vlogp TotalQuotationPeriodDays
FirstQuotationPeriodDate Vlogp FirstQuotationPeriodDate
LastQuotationPeriodDate Vlogp LastQuotationPeriodDate
QuantityPerDay Vlogp QuantityPerDay
ReportingDate Vlogp ReportingDate
ReportingYear Vlogp ReportingYear
ReportingMonth Vlogp ReportingMonth
AdjustedReportingDate Vlogp AdjustedReportingDate
AdjustedReportingYear Vlogp AdjustedReportingYear
AdjustedReportingMonth Vlogp AdjustedReportingMonth
BinHasError Vlogp BinHasError
PhysicalCommodityHasError Vlogp PhysicalCommodityHasError
PhysicalCommodityErrorText Vlogp PhysicalCommodityErrorText
PhysicalCommodityUnit Vlogp PhysicalCommodityUnit
DerivativeContractMaturityCode Vlogp DerivativeContractMaturityCode
@AbapCatalog.sqlViewName: 'PNETPOSCONVTOP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
//@EndUserText.label: 'Convert Quantity into Phy Commdity Uom'


@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #COMPOSITE
@VDM.private: true
define view P_NetPositionConvToPhyUom
  with parameters
    P_MTMDataSelectionType     : cmm_vlogp_consumptiontype, -- Analytic consumption type
    P_Displayview              : cds_view_uom,              -- UoM
    P_EndOfDaySnapshotFromDate : cmm_dend_cutdate,          -- Date of snapshot to be selected
    P_EndOfDaySnapshotToDate   : cmm_dend_cutdate           -- Date of snapshot to be selected
  as select from    P_NetPositionUpdatePhyUom
                 (
                           P_MTMDataSelectionType     : :P_MTMDataSelectionType,
                           P_Displayview              : :P_Displayview,
                           P_EndOfDaySnapshotFromDate : :P_EndOfDaySnapshotFromDate,
                           P_EndOfDaySnapshotToDate   : :P_EndOfDaySnapshotToDate  ) as Vlogp
    left outer join I_ACMMaterialUnitCnvrsnFactor                                    as PConvFactorCU  on  PConvFactorCU.Material        = Vlogp.Material
                                                                                                       and PConvFactorCU.AlternativeUnit = Vlogp.CommodityExposureUnit
    left outer join I_ACMMaterialUnitCnvrsnFactor                                    as PConvFactorPCU on  PConvFactorPCU.Material        = Vlogp.Material
                                                                                                       and PConvFactorPCU.AlternativeUnit = Vlogp.PhysicalCommodityUnit
    left outer join I_UnitOfMeasure                                                  as PConvT006CU    on PConvT006CU.UnitOfMeasure = Vlogp.CommodityExposureUnit
    left outer join I_UnitOfMeasure                                                  as PConvT006PCU   on PConvT006PCU.UnitOfMeasure = Vlogp.PhysicalCommodityUnit

{
  key Vlogp.PricingKey,
  key Vlogp.Version,
  key Vlogp.PricingDocumentItem,
  key Vlogp.ConditionType,
  key Vlogp.SubConditionType,
  key Vlogp.EvaluationDate,
  key Vlogp.QuotationPeriodDate,
      Vlogp.SubstitutePriceQuotationDate,
      Vlogp.EndOfDaySnapshotFromDate,
      Vlogp.EndOfDaySnapshotToDate,
      Vlogp.MTMDataSelectionType,
      Vlogp.MTMDataSourceType,
      Vlogp.ValidityStartDate,
      Vlogp.ValidityStartDateTime,
      Vlogp.ValidityEndDate,
      Vlogp.ValidityEndDateTime,
      Vlogp.SourceTransactionEventDateTime,
      Vlogp.SourceTransacEventEndDateTime,
      Vlogp.EndOfDaySnapshotDateTimeFrom,
      Vlogp.EndOfDaySnapshotDateTimeTo,
      Vlogp.EndOfDaySnapshotDate,
      Vlogp.EndOfDayBusinessEntityKey,
      Vlogp.MaximumVersion,
      Vlogp.PreviousVersion,
      Vlogp.CompanyCode,
      Vlogp.SalesOrganization,
      Vlogp.DistributionChannel,
      Vlogp.Division,
      Vlogp.Creditor,
      Vlogp.SoldToParty,
      Vlogp.Material,
      Vlogp.Commodity,
      Vlogp.PhysicalCommodity,
      Vlogp.Plant,
      Vlogp.StorageLocation,
      Vlogp.Batch,
      Vlogp.IncotermsClassification,
      Vlogp.IncotermsTransferLocation,
      Vlogp.ConditionApplication,
      Vlogp.SourceDocument,
      Vlogp.SourceDocumentBusObjType,
      Vlogp.OriginReferenceDocument,
      Vlogp.OriginReferenceDocumentItem,
      Vlogp.OriginReferenceDocBusObjType,
      Vlogp.ReferenceDocument,
      Vlogp.ReferenceDocumentItem,
      Vlogp.ReferenceDocBusObjType,
      Vlogp.DeliveryDate,
      Vlogp.ExpectedPaymentDate,
      Vlogp.StatisticsCurrency,
      Vlogp.DocumentCurrency,
      Vlogp.ProfitCenter,
      Vlogp.BusinessArea,
      Vlogp.PurchasingOrganization,
      Vlogp.MaterialGroup,
      Vlogp.IsIntercompanyTransfer,
      Vlogp.ConditionTermRate,
      Vlogp.ConditionTermRateCurrency,
      Vlogp.ConditionTermRateQuantity,
      Vlogp.ConditionTermRateQuantityUnit,
      Vlogp.ConditionTermValue,
      Vlogp.ConditionTermValueCurrency,
      Vlogp.ConditionTermRateMktCurrency,
      Vlogp.ConditionTermName,
      Vlogp.ConditionTermStatus,
      Vlogp.RoundingDecimalPlaces,
      Vlogp.ConditionTermRateIsRounded,
      Vlogp.ConditionTermRateNmrtr,
      Vlogp.ConditionTermRateDnmntr,
      Vlogp.ConditionTermExtensionUsage,
      Vlogp.MaturitySelectionType,
      Vlogp.QuotationPeriodReferenceDate,
      Vlogp.QuotationKeyType,
      Vlogp.QuotationDateList,
      Vlogp.QuotationPeriodStartDate,
      Vlogp.QuotationPeriodEndDate,
      Vlogp.DerivativeContrSpecification,
      Vlogp.MarketIdentifierCode,
      Vlogp.MaturityKeyDate,
      Vlogp.BasisType,
      Vlogp.BasisID,
      Vlogp.QuotationGroup,
      Vlogp.QuotationGroupCalculationRule,
      Vlogp.PricingStatus,
      Vlogp.ConditionTermRateFixation,
      Vlogp.CndnTermRateFixationDate,
      Vlogp.CndnTermRateFixationTime,
      Vlogp.CndnTermExchRateFixationDate,
      Vlogp.CndnTermExchRateFixationTime,
      Vlogp.FixedExchRateDate,
      Vlogp.ExchRateMaturityDate,
      Vlogp.MaturitySelectionRoutine,
      Vlogp.DCSPeriodType,
      Vlogp.CommodityQuantity,
      Vlogp.CommodityUnit,
      Vlogp.CommodityQuantityInTermUnit,
      Vlogp.QuantitySign,
      Vlogp.MTMConditionGroupCategory,
      Vlogp.MTMConditionGroup,
      Vlogp.MTMCalculationGroup,
      Vlogp.MTMAdjustmentType,
      Vlogp.MTMCalcGrpMarketPriceCondition,
      Vlogp.DisplayView,

      @Semantics.quantity.unitOfMeasure: 'CommodityExposureUnit'
      Vlogp.CommodityExposureQuantity,
      @Semantics.unitOfMeasure: true
      //Vlogp.CommodityExposureUnit,

      case $parameters.P_Displayview
      when 'P'
      then Vlogp.PhysicalCommodityUnit
      else Vlogp.CommodityExposureUnit
      end   as CommodityExposureUnit,
      Vlogp.DCSReportingDate,
      Vlogp.PriceIsRealized,
      Vlogp.ContrPriceExposureIsExecuted,
      Vlogp.CommodityPriceFixationStatus,
      Vlogp.ImplicitFixationIsRelevant,
      Vlogp.ConditionTermRateIsFixed,
      Vlogp.MinimumConditionTermLimitRate,
      Vlogp.MaximumConditionTermLimitRate,
      Vlogp.ConditionTermLimitRateCurrency,
      Vlogp.ConditionTermLimitRateQuantity,
      Vlogp.CndnTermLimitRateQuantityUnit,
      Vlogp.ConditionTermLimitRateStatus,
      Vlogp.TotalQuotationPeriodDays,
      Vlogp.FirstQuotationPeriodDate,
      Vlogp.LastQuotationPeriodDate,
      Vlogp.QuantityPerDay,
      //  Vlogp.AdjustedQuantityPerDay,


      Vlogp.ReportingDate,
      Vlogp.ReportingYear,
      Vlogp.ReportingMonth,
      Vlogp.AdjustedReportingDate,
      Vlogp.AdjustedReportingYear,
      Vlogp.AdjustedReportingMonth,
      Vlogp.BinHasError,
      Vlogp.PhysicalCommodityHasError,
      Vlogp.PhysicalCommodityErrorText,
      Vlogp.PhysicalCommodityUnit,

      case $parameters.P_Displayview
      when 'P'
      then  //Check only for Physical commodity uom

       case // Do not convert AdjustedQuantityPerDay if CommodityExposureUnit and PhysicalCommodityUnit are same

        when Vlogp.CommodityExposureUnit = Vlogp.PhysicalCommodityUnit
        then
        Vlogp.AdjustedQuantityPerDay
        end
        end as AdjustedQuantity,

      //Convert AdjustedQuantityPerDay into PhysicalCommodityUnit if Display view is P

      case $parameters.P_Displayview
       when 'P'
       then  //First Covert quantity in base uom then covert from base uom to Physical commodity uom

         case //Check if conversion factor are having value

         when      (PConvFactorCU.QuantityNumerator    is not initial and PConvFactorCU.QuantityNumerator is not null)   and
                   (PConvFactorCU.QuantityDenominator  is not initial and PConvFactorCU.QuantityDenominator is not null) and
                   (PConvFactorPCU.QuantityNumerator   is not initial and PConvFactorPCU.QuantityNumerator is not null)  and
                   (PConvFactorPCU.QuantityDenominator is not initial and PConvFactorPCU.QuantityDenominator is not null) and
                   Vlogp.CommodityExposureUnit <> Vlogp.PhysicalCommodityUnit

         then
        ( ( ((cast(Vlogp.AdjustedQuantityPerDay as abap.fltp) * cast(PConvFactorCU.QuantityNumerator as abap.fltp)) / cast(PConvFactorCU.QuantityDenominator as abap.fltp))
         * cast(PConvFactorPCU.QuantityDenominator as abap.fltp) ) / cast(PConvFactorPCU.QuantityNumerator as abap.fltp))
      // If conversion factors are not maintained in MARM then T006 will be used for UOM conversion

         when (PConvT006CU.SIUnitCnvrsnRateNumerator is not initial and PConvT006CU.SIUnitCnvrsnRateNumerator is not null) and
              (PConvT006CU.SIUnitCnvrsnRateDenominator is not initial and PConvT006CU.SIUnitCnvrsnRateDenominator is not null) and
              (PConvT006PCU.SIUnitCnvrsnRateNumerator is not initial and PConvT006PCU.SIUnitCnvrsnRateNumerator is not null) and
              (PConvT006PCU.SIUnitCnvrsnRateDenominator is not initial and PConvT006PCU.SIUnitCnvrsnRateDenominator is not null) and
              Vlogp.CommodityExposureUnit <> Vlogp.PhysicalCommodityUnit
         then
         ( ( ((cast(Vlogp.AdjustedQuantityPerDay as abap.fltp) * cast(PConvT006CU.SIUnitCnvrsnRateNumerator as abap.fltp)) / cast(PConvT006CU.SIUnitCnvrsnRateDenominator as abap.fltp))
         * cast(PConvT006PCU.SIUnitCnvrsnRateDenominator as abap.fltp) ) / cast(PConvT006PCU.SIUnitCnvrsnRateNumerator as abap.fltp))
         else // call Unit conversion FM if conversion factors are not maintained in material master

         case
         when (Vlogp.CommodityExposureUnit <> Vlogp.PhysicalCommodityUnit)
         then
         unit_conversion( quantity => Vlogp.AdjustedQuantityPerDay,
                       source_unit => Vlogp.CommodityExposureUnit,
                       target_unit => Vlogp.PhysicalCommodityUnit,
                       error_handling => 'SET_TO_NULL')
                       else Vlogp.AdjustedQuantityPerDay
                       end

         end
       else Vlogp.AdjustedQuantityPerDay
       end  as AdjustedQuantityPerDay,
      Vlogp.DerivativeContractMaturityCode
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ACMMATERIALUNITCNVRSNFACTOR",
"I_UNITOFMEASURE",
"P_NETPOSITIONUPDATEPHYUOM"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/