ecc/PricingConditions.sql (88 lines of code) (raw):

SELECT konv.MANDT AS Client_MANDT, konv.KNUMV AS NumberOfTheDocumentCondition_KNUMV, konv.KPOSN AS ConditionItemNumber_KPOSN, konv.STUNR AS StepNumber_STUNR, konv.ZAEHK AS ConditionCounter_ZAEHK, konv.KAPPL AS Application_KAPPL, konv.KSCHL AS ConditionType_KSCHL, konv.KRECH AS CalculationTypeForCondition_KRECH, konv.KAWRT AS Checkbox_KAWRT, konv.KBETR AS ConditionAmountOrPercentage_KBETR, konv.KKURS AS ConditionExchangeRateForConversionToLocalCurrency_KKURS, konv.KPEIN AS ConditionPricingUnit_KPEIN, konv.KMEIN AS ConditionUnitInTheDocument_KMEIN, konv.KUMZA AS NumeratorForConvertingConditionUnitsToBaseUnits_KUMZA, konv.KUMNE AS DenominatorForConvertingConditionUnitsToBaseUnits_KUMNE, konv.KNTYP AS ConditionCategory_KNTYP, konv.KSTAT AS ConditionIsUsedForStatistics_KSTAT, konv.KNPRS AS ScaleType_KNPRS, konv.KRUEK AS ConditionIsRelevantForAccrual_KRUEK, konv.KRELI AS ConditionForInvoiceList_KRELI, konv.KHERK AS OriginOfTheCondition_KHERK, konv.KGRPE AS GroupCondition_KGRPE, konv.KOUPD AS ConditionUpdate_KOUPD, konv.KOLNR AS AccessSequenceAccessNumber_KOLNR, konv.KNUMH AS NumberOfConditionRecordFromBatchDetermination_KNUMH, konv.KOPOS AS SequentialNumberOfTheCondition_KOPOS, konv.KVSL1 AS AccountKey_KVSL1, konv.SAKN1 AS GLAccountNumber_SAKN1, konv.MWSK1 AS TaxOnSalesPurchasesCode_MWSK1, konv.KVSL2 AS AccountKeyAccrualsProvisions_KVSL2, konv.SAKN2 AS GLAccountNumber_SAKN2, konv.MWSK2 AS WithholdingTaxCode_MWSK2, konv.LIFNR AS AccountNumberOfVendorORCreditor_LIFNR, konv.KUNNR AS CustomerNumber_KUNNR, konv.KDIFF AS RoundingOffDifferenceOfTheCondition_KDIFF, konv.KSTEU AS ConditionControl_KSTEU, konv.KINAK AS ConditionIsInactive_KINAK, konv.KOAID AS ConditionClass_KOAID, konv.ZAEKO AS ConditionCounter_ZAEKO, konv.KMXAW AS IndicatorForMaximumConditionBaseValue_KMXAW, konv.KMXWR AS IndicatorForMaximumConditionAmount_KMXWR, konv.KFAKTOR AS FactorForConditionBaseValue_KFAKTOR, konv.KDUPL AS StructureCondition_KDUPL, KONV.KFAKTOR1 AS FactorForConditionBasis_KFAKTOR1, konv.KZBZG AS ScaleBasisIndicator_KZBZG, konv.KSTBS AS ScaleBaseValueOfTheCondition_KSTBS, konv.KONMS AS ConditionScaleUnitOfMeasure_KONMS, konv.KONWS AS ScaleCurrency_KONWS, konv.KAWRT_K AS UpdatedInformationInRelatedUserDataField_KAWRT_K, konv.KWAEH AS ConditionCurrency_KWAEH, konv.KWERT_K AS ConditionValue_KWERT_K, konv.KFKIV AS ConditionForInterCompanyBilling_KFKIV, konv.KVARC AS VariantCond_KVARC, konv.KMPRS AS ConditionChangedManually_KMPRS, konv.PRSQU AS PriceSource_PRSQU, konv.VARCOND AS VariantCondition_VARCOND, konv.KTREL AS RelevanceForAccountAssignment_KTREL, konv.MDFLG AS IndicatorMatrixMaintenance_MDFLG, konv.TXJLV AS TaxJurisdictionCodeLevel_TXJLV, konv.KBFLAG AS BitEncryptedFlagsInPricing_KBFLAG, konv.CPF_GUID AS IdentifierOfCPFFormulaInDocument_CPF_GUID, konv.KAQTY AS AdjustedQuantity_KAQTY, --##CORTEX-CUSTOMER Consider adding other dimensions from the calendar_date_dim table as per your requirement CalendarDateDimension_KDATU.CalYear AS YearOfChangeDate_KDATU, CalendarDateDimension_KDATU.CalMonth AS MonthOfChangeDate_KDATU, CalendarDateDimension_KDATU.CalWeek AS WeekOfChangeDate_KDATU, CalendarDateDimension_KDATU.CalQuarter AS QuarterOfChangeDate_KDATU, konv.KDATU AS Checkbox_KDATU, konv.STUFE AS Level_STUFE, konv.WEGXX AS Path_WEGXX, konv.KOLNR3 AS AccessSequenceAccessNumber_KOLNR3, --##CORTEX-CUSTOMER If you prefer to use currency conversion, uncomment below -- currency_conversion.UKURS AS ExchangeRate_UKURS, -- currency_conversion.conv_date AS Conversion_date, -- currency_conversion.TCURR AS TargetCurrency_TCURR, -- COALESCE(konv.KWERT * currency_decimal.CURRFIX, konv.KWERT) * currency_conversion.UKURS AS ConditionValueInTargetCurrency_KWERT, CAST(NULL AS STRING) AS ProcessConditionsWithValueEqualToZero_VAL_ZERO, CAST(NULL AS STRING) AS StatisticalAndRelevantForAccountDetermination_IS_ACCT_DETN_RELEVANT, CAST(NULL AS STRING) AS TaxReportingCountry_TAX_COUNTRY, CAST(NULL AS STRING) AS SDDocumentCurrency_WAERK, CAST(NULL AS DATE) AS DataFilterValueForDataAging_DATAAGING, COALESCE(konv.WAERS, '') AS CurrencyKey_WAERS, -- decimal place of amounts for non-decimal-based currencies COALESCE(konv.KWERT * currency_decimal.CURRFIX, konv.KWERT) AS ConditionValue_KWERT FROM `{{ project_id_src }}.{{ dataset_cdc_processed_ecc }}.konv` AS konv LEFT JOIN `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.currency_decimal` AS currency_decimal ON COALESCE(konv.WAERS, '') = currency_decimal.CURRKEY --##CORTEX-CUSTOMER If you prefer to use currency conversion, uncomment below -- LEFT JOIN -- `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.currency_conversion` AS currency_conversion -- ON -- konv.MANDT = currency_conversion.MANDT -- AND COALESCE(konv.WAERS, '') = currency_conversion.FCURR -- AND konv.KDATU = currency_conversion.conv_date -- AND currency_conversion.TCURR IN UNNEST({{ sap_currencies }}) --##CORTEX-CUSTOMER Modify the exchange rate type based on your requirement -- AND currency_conversion.KURST = 'M' LEFT JOIN `{{ project_id_src }}.{{ k9_datasets_processing }}.calendar_date_dim` AS CalendarDateDimension_KDATU ON CalendarDateDimension_KDATU.Date = konv.KDATU