P_NetPositionConvToPhyUom
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)
| Source | Alias | Join 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)
| Name | Type | Default |
|---|---|---|
| P_MTMDataSelectionType | cmm_vlogp_consumptiontype | |
| P_Displayview | cds_view_uom | |
| P_EndOfDaySnapshotFromDate | cmm_dend_cutdate | |
| P_EndOfDaySnapshotToDate | cmm_dend_cutdate |
Annotations (7)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA