I_OIL_ExchFeeConditionRecord
Fee Condition Records
I_OIL_ExchFeeConditionRecord is a Basic CDS View that provides data about "Fee Condition Records" in SAP S/4HANA. It reads from 1 data source (oianf) and exposes 92 fields with key fields SalesDocumentCondition, ConditionItem, ConditionStep, ConditionCount. It has 20 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| oianf | oianf | from |
Associations (20)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_ConditionApplication | _ConditionApplication | _ConditionApplication.ConditionApplication = $projection.ConditionApplication |
| [1..1] | I_PricingConditionType | _PricingConditionType | _PricingConditionType.ConditionApplication = $projection.ConditionApplication and _PricingConditionType.ConditionType = $projection.ConditionType |
| [1..1] | I_Currency | _Currency | _Currency.Currency = $projection.SalesCurrency |
| [1..1] | I_OIL_CndnCalculationTypeVH | _CndnCalculationTypeVH | _CndnCalculationTypeVH.ConditionCalculationTypeShort = $projection.ConditionCalculationTypeShort |
| [1..1] | I_UnitOfMeasure | _UnitOfMeasure | _UnitOfMeasure.UnitOfMeasure = $projection.VarConfignConditionRefUoM |
| [1..1] | I_OIL_ConditionCategoryVH | _ConditionCategoryVH | _ConditionCategoryVH.ConditionCategory = $projection.ConditionCategory |
| [1..1] | I_Supplier | _Supplier | _Supplier.Supplier = $projection.SupplierNumberDisplay |
| [1..1] | I_OIL_InvoiceCycleVH | _InvoiceCycleVH | _InvoiceCycleVH.InvoiceCycle = $projection.InvoiceCycle |
| [1..1] | I_PricingScaleBasisShort | _PricingScale | _PricingScale.PricingScaleBasisShort = $projection.ScaleBaseType |
| [1..1] | I_StructureCondition | _StructureConditions | _StructureConditions.StructureCondition = $projection.StructureCondition |
| [0..1] | I_OIL_ExchIndForGrssPrcgVH | _ExchIndForGrssPrcgVH | _ExchIndForGrssPrcgVH.IndicatorGrossPricing = $projection.IndicatorGrossPricing |
| [0..1] | I_OIL_FeeAcctPolicyIndicatorVH | _FeeAcctPolicyIndicatorVH | _FeeAcctPolicyIndicatorVH.IndicatorForFeeAccountPolicy = $projection.IndicatorForFeeAccountPolicy |
| [1..1] | I_ConditionBasisLimitExceeded | _ConditionBasisLimitExceeded | _ConditionBasisLimitExceeded.ConditionBasisLimitExceeded = $projection.ConditionBasisLimitExceeded |
| [1..1] | I_ConditionAmountLimitExceeded | _ConditionAmountLimitExceeded | _ConditionAmountLimitExceeded.ConditionAmountLimitExceeded = $projection.ConditionAmountLimitExceeded |
| [1..1] | I_ConditionClass | _ConditionClass | _ConditionClass.ConditionClass = $projection.ConditionClass |
| [1..1] | I_ConditionInactiveReason | _ConditionInactiveReason | _ConditionInactiveReason.ConditionInactiveReason = $projection.ConditionIsActive |
| [1..1] | I_ConditionControl | _ConditionControl | _ConditionControl.ConditionControl = $projection.ConditionControl |
| [1..1] | I_ConditionOrigin | _ConditionOrigin | _ConditionOrigin.ConditionOrigin = $projection.ConditionOrigin |
| [1..1] | I_Customer | _Customer | _Customer.Customer = $projection.CustomerRebateRecipient |
| [1..1] | I_OIL_PricingTypeVH | _PricingTypeVH | _PricingTypeVH.PricingType = $projection.PricingType |
Annotations (12)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #REQUIRED | view | |
| Analytics.internalName | #LOCAL | view | |
| Analytics.technicalName | IOILExchangeFeeCndnRecord | view | |
| EndUserText.label | Fee Condition Records | view | |
| ObjectModel.representativeKey | SalesDocumentCondition | view | |
| ObjectModel.sapObjectNodeType.name | OIL_ExchangeFeeConditionRecord | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| VDM.viewType | #BASIC | view |
Fields (92)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | SalesDocumentCondition | knumv | Doc. Condition | |
| KEY | ConditionItem | kposn | Number | |
| KEY | ConditionStep | stunr | Step Number | |
| KEY | ConditionCount | zaehk | Counter | |
| ConditionApplication | kappl | Application | ||
| ConditionType | kschl | Tax Item Type | ||
| PriceConditionDeterminationDte | kdatu | Valid From | ||
| ConditionCalculationTypeShort | krech | Calculat.Type | ||
| CndnBaseAmountInCoCodeCrcy | kawrt | Cond.Basis | ||
| OIL_ConditionRateAmount | kbetr | Tax Rate | ||
| SalesCurrency | waers | Transaction Currency | ||
| LoclCrcyCnvrsnExchRate | Rate | |||
| ConditionPricingQuantity | kpein | Pricing Unit | ||
| VarConfignConditionRefUoM | kmein | Unit of Measure | ||
| ConditionToBaseQtyNmrtr | kumza | Numerator | ||
| ConditionToBaseQtyDnmntr | kumne | Denominator | ||
| ConditionCategory | kntyp | Condit.Category | ||
| ConditionIsForStatistics | kstat | Status | ||
| PricingType | knprs | Scale Type | ||
| IsRelevantForAccrual | kruek | Accruals | ||
| CndnIsRelevantForInvoiceList | kreli | Inv.List Cond. | ||
| ConditionOrigin | kherk | Condit.Origin | ||
| IsGroupCondition | kgrpe | Group Condition | ||
| CndnIsRelevantForLimitValue | koupd | Condit. Update | ||
| AccessNumberOfAccessSequence | kolnr | Access | ||
| ConditionRecord | knumh | NoCondRec.Batch | ||
| PricingFormulaTermItemNumber | kopos | SequNo of Cond. | ||
| AccountKeyForGLAccount | kvsl1 | Account Key | ||
| ActiveGLAccount | sakn1 | G/L Account | ||
| AcctKeyForAccrualsGLAccount | kvsl2 | Accruals | ||
| PRAOwnrPyblSuspenseAcctNumber | sakn2 | G/L Account | ||
| SupplierNumberDisplay | lifnr | Vendor no. | ||
| CustomerRebateRecipient | kunnr | Stock customer | ||
| CndnRoundingOffDiffAmount | kdiff | CondRoundDiff. | ||
| ConditionAmountInAltvCrcy | kwert | Condition Value | ||
| ConditionControl | ksteu | Pricing Type | ||
| ConditionIsActive | kinak | Inactive | ||
| ConditionClass | koaid | Condition Class | ||
| CndnCounterHeaderConditions | zaeko | HdCond.Counter | ||
| ConditionBasisLimitExceeded | kmxaw | Max Basis Value | ||
| ConditionAmountLimitExceeded | kmxwr | Maximum Amount | ||
| FeeExpenseAccountingCostCenter | oikostl | Exg cost center | ||
| IndicatorForFeeAccountPolicy | oiacpol | Acct. Policy | ||
| IndicatorHasFeeRate | oifeeman | Fee rate ind. | ||
| ExchangeFeeClearingAmount | oikwert | Clearing amount | ||
| ExchangeConditionPrintItemLvl | oifeeprt | Print.cond | ||
| IndicatorGrossPricing | oigrnet | Gr/net ind. | ||
| ExchangeGrossPricingStrategy | oignstra | Gr/net strategy | ||
| CarryOutGrossUnitCheck | oigrchk | Unit check | ||
| InvoiceCycle | oiinvcyc | Invoice cycle | ||
| IndicatorHasActiveInvoiceCycle | oiinvcyact | Inv.CycleInd | ||
| CndnStstclInvcCyc | oiincyst | Cond.stat. | ||
| IndHasSpltInvcVerify | oia_spltiv | Split IV | ||
| SlsOrdCustomerPaymentTerms | oia_zterm | Pyt Terms | ||
| FactorForConditionBasisValue | kfaktor | K-factor | ||
| StructureCondition | kdupl | Structure Cond. | ||
| PeriodFactorForCndnBasisValue | kfaktor1 | CondFactor | ||
| InternalLicenseNumberExciseTax | oilicin | Internal lic.no | ||
| LicenseTypeFeeCondition | oilictp | License type | ||
| ReportNumberFeeCondition | oireport | Report number | ||
| DataCaptureRoutineNumber | oidata | Data capture | ||
| HeaderFormatRoutineSecondLevel | oihead | Header format | ||
| ItemRoutineSecondLevelReport | oiitem | Item format | ||
| RoutineErrorHandleSecondLevel | oierrhan | Error handling | ||
| ScaleBaseType | kzbzg | Scale Basis | ||
| ScaleBaseValueConditionAmount | kstbs | Scale Base Val. | ||
| ConditionScaleBasisUnit | konms | Scale UoM | ||
| ConditionScaleAmountCurrency | konws | Scale Currency | ||
| OIL_CndnBaseAmtInCntryCrcy | kawrt_k | Cond.Basis | ||
| ConditionAlternativeCurrency | kwaeh | Cndn Currency | ||
| ConditionAmountInCoCodeCrcy | kwert_k | Condition Value | ||
| PrmtHbSchedDtaAgingFltrDte | _dataaging | Data Aging | ||
| _ConditionApplication | _ConditionApplication | |||
| _PricingConditionType | _PricingConditionType | |||
| _CndnCalculationTypeVH | _CndnCalculationTypeVH | |||
| _Currency | _Currency | |||
| _UnitOfMeasure | _UnitOfMeasure | |||
| _ConditionCategoryVH | _ConditionCategoryVH | |||
| _PricingTypeVH | _PricingTypeVH | |||
| _ConditionOrigin | _ConditionOrigin | |||
| _Supplier | _Supplier | |||
| _Customer | _Customer | |||
| _ConditionControl | _ConditionControl | |||
| _ConditionInactiveReason | _ConditionInactiveReason | |||
| _ConditionClass | _ConditionClass | |||
| _ConditionBasisLimitExceeded | _ConditionBasisLimitExceeded | |||
| _FeeAcctPolicyIndicatorVH | _FeeAcctPolicyIndicatorVH | |||
| _ConditionAmountLimitExceeded | _ConditionAmountLimitExceeded | |||
| _ExchIndForGrssPrcgVH | _ExchIndForGrssPrcgVH | |||
| _InvoiceCycleVH | _InvoiceCycleVH | |||
| _StructureConditions | _StructureConditions | |||
| _PricingScale | _PricingScale |
Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.
-- Derived SQL interpretation of CDS view I_OIL_ExchFeeConditionRecord.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
CREATE VIEW I_OIL_ExchFeeConditionRecord AS
SELECT
knumv AS SalesDocumentCondition,
kposn AS ConditionItem,
stunr AS ConditionStep,
zaehk AS ConditionCount,
kappl AS ConditionApplication,
kschl AS ConditionType,
kdatu AS PriceConditionDeterminationDte,
krech AS ConditionCalculationTypeShort,
kawrt AS CndnBaseAmountInCoCodeCrcy,
kbetr AS OIL_ConditionRateAmount,
waers AS SalesCurrency,
cast ( kkurs as wty_kkurs ) AS LoclCrcyCnvrsnExchRate,
kpein AS ConditionPricingQuantity,
kmein AS VarConfignConditionRefUoM,
kumza AS ConditionToBaseQtyNmrtr,
kumne AS ConditionToBaseQtyDnmntr,
kntyp AS ConditionCategory,
kstat AS ConditionIsForStatistics,
knprs AS PricingType,
kruek AS IsRelevantForAccrual,
kreli AS CndnIsRelevantForInvoiceList,
kherk AS ConditionOrigin,
kgrpe AS IsGroupCondition,
koupd AS CndnIsRelevantForLimitValue,
kolnr AS AccessNumberOfAccessSequence,
knumh AS ConditionRecord,
kopos AS PricingFormulaTermItemNumber,
kvsl1 AS AccountKeyForGLAccount,
sakn1 AS ActiveGLAccount,
kvsl2 AS AcctKeyForAccrualsGLAccount,
sakn2 AS PRAOwnrPyblSuspenseAcctNumber,
lifnr AS SupplierNumberDisplay,
kunnr AS CustomerRebateRecipient,
kdiff AS CndnRoundingOffDiffAmount,
kwert AS ConditionAmountInAltvCrcy,
ksteu AS ConditionControl,
kinak AS ConditionIsActive,
koaid AS ConditionClass,
zaeko AS CndnCounterHeaderConditions,
kmxaw AS ConditionBasisLimitExceeded,
kmxwr AS ConditionAmountLimitExceeded,
oikostl AS FeeExpenseAccountingCostCenter,
oiacpol AS IndicatorForFeeAccountPolicy,
oifeeman AS IndicatorHasFeeRate,
oikwert AS ExchangeFeeClearingAmount,
oifeeprt AS ExchangeConditionPrintItemLvl,
oigrnet AS IndicatorGrossPricing,
oignstra AS ExchangeGrossPricingStrategy,
oigrchk AS CarryOutGrossUnitCheck,
oiinvcyc AS InvoiceCycle,
oiinvcyact AS IndicatorHasActiveInvoiceCycle,
oiincyst AS CndnStstclInvcCyc,
oia_spltiv AS IndHasSpltInvcVerify,
oia_zterm AS SlsOrdCustomerPaymentTerms,
kfaktor AS FactorForConditionBasisValue,
kdupl AS StructureCondition,
kfaktor1 AS PeriodFactorForCndnBasisValue,
oilicin AS InternalLicenseNumberExciseTax,
oilictp AS LicenseTypeFeeCondition,
oireport AS ReportNumberFeeCondition,
oidata AS DataCaptureRoutineNumber,
oihead AS HeaderFormatRoutineSecondLevel,
oiitem AS ItemRoutineSecondLevelReport,
oierrhan AS RoutineErrorHandleSecondLevel,
kzbzg AS ScaleBaseType,
kstbs AS ScaleBaseValueConditionAmount,
konms AS ConditionScaleBasisUnit,
konws AS ConditionScaleAmountCurrency,
kawrt_k AS OIL_CndnBaseAmtInCntryCrcy,
kwaeh AS ConditionAlternativeCurrency,
kwert_k AS ConditionAmountInCoCodeCrcy
FROM oianf
LEFT OUTER JOIN I_ConditionApplication AS _ConditionApplication ON _ConditionApplication.ConditionApplication = ConditionApplication -- association [1..1]
LEFT OUTER JOIN I_PricingConditionType AS _PricingConditionType ON _PricingConditionType.ConditionApplication = ConditionApplication AND _PricingConditionType.ConditionType = ConditionType -- association [1..1]
LEFT OUTER JOIN I_Currency AS _Currency ON _Currency.Currency = SalesCurrency -- association [1..1]
LEFT OUTER JOIN I_OIL_CndnCalculationTypeVH AS _CndnCalculationTypeVH ON _CndnCalculationTypeVH.ConditionCalculationTypeShort = ConditionCalculationTypeShort -- association [1..1]
LEFT OUTER JOIN I_UnitOfMeasure AS _UnitOfMeasure ON _UnitOfMeasure.UnitOfMeasure = VarConfignConditionRefUoM -- association [1..1]
LEFT OUTER JOIN I_OIL_ConditionCategoryVH AS _ConditionCategoryVH ON _ConditionCategoryVH.ConditionCategory = ConditionCategory -- association [1..1]
LEFT OUTER JOIN I_Supplier AS _Supplier ON _Supplier.Supplier = SupplierNumberDisplay -- association [1..1]
LEFT OUTER JOIN I_OIL_InvoiceCycleVH AS _InvoiceCycleVH ON _InvoiceCycleVH.InvoiceCycle = InvoiceCycle -- association [1..1]
LEFT OUTER JOIN I_PricingScaleBasisShort AS _PricingScale ON _PricingScale.PricingScaleBasisShort = ScaleBaseType -- association [1..1]
LEFT OUTER JOIN I_StructureCondition AS _StructureConditions ON _StructureConditions.StructureCondition = StructureCondition -- association [1..1]
LEFT OUTER JOIN I_OIL_ExchIndForGrssPrcgVH AS _ExchIndForGrssPrcgVH ON _ExchIndForGrssPrcgVH.IndicatorGrossPricing = IndicatorGrossPricing -- association [0..1]
LEFT OUTER JOIN I_OIL_FeeAcctPolicyIndicatorVH AS _FeeAcctPolicyIndicatorVH ON _FeeAcctPolicyIndicatorVH.IndicatorForFeeAccountPolicy = IndicatorForFeeAccountPolicy -- association [0..1]
LEFT OUTER JOIN I_ConditionBasisLimitExceeded AS _ConditionBasisLimitExceeded ON _ConditionBasisLimitExceeded.ConditionBasisLimitExceeded = ConditionBasisLimitExceeded -- association [1..1]
LEFT OUTER JOIN I_ConditionAmountLimitExceeded AS _ConditionAmountLimitExceeded ON _ConditionAmountLimitExceeded.ConditionAmountLimitExceeded = ConditionAmountLimitExceeded -- association [1..1]
LEFT OUTER JOIN I_ConditionClass AS _ConditionClass ON _ConditionClass.ConditionClass = ConditionClass -- association [1..1]
LEFT OUTER JOIN I_ConditionInactiveReason AS _ConditionInactiveReason ON _ConditionInactiveReason.ConditionInactiveReason = ConditionIsActive -- association [1..1]
LEFT OUTER JOIN I_ConditionControl AS _ConditionControl ON _ConditionControl.ConditionControl = ConditionControl -- association [1..1]
LEFT OUTER JOIN I_ConditionOrigin AS _ConditionOrigin ON _ConditionOrigin.ConditionOrigin = ConditionOrigin -- association [1..1]
LEFT OUTER JOIN I_Customer AS _Customer ON _Customer.Customer = CustomerRebateRecipient -- association [1..1]
LEFT OUTER JOIN I_OIL_PricingTypeVH AS _PricingTypeVH ON _PricingTypeVH.PricingType = PricingType -- association [1..1]
;
Learn More
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- CDS View Annotations — A Complete Guide
- What Is a CDS View in SAP S/4HANA?
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- 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
- BSEG to ACDOCA: The Universal Journal Migration
- Business Partner Migration: KNA1/LFA1 to BUT000
- Material Document Migration: MSEG/MKPF to MATDOC
- How to Find the Right CDS View for an SAP Table
- BW Extractor to CDS View Migration Guide
- S/4HANA CDS View Deprecation: What You Need to Know
- ABAP CDS View Tutorial — From Basics to Real-World Examples
- RAP and CDS Views — Building Transactional Apps in SAP S/4HANA
- Sales Document Status Migration: VBUP/VBUK Removal in S/4HANA
- CO Tables in S/4HANA: COEP, COBK, COSS, COSP to ACDOCA