ecc/MaterialsMovement.sql (58 lines of code) (raw):

SELECT mseg.MANDT AS Client_MANDT, mseg.MBLNR AS NumberOfMaterialDocument_MBLNR, mseg.MJAHR AS MaterialDocumentYear_MJAHR, mseg.ZEILE AS ItemInMaterialDocument_ZEILE, mseg.MATNR AS MaterialNumber_MATNR, mseg.CHARG AS BatchNumber_CHARG, mseg.WERKS AS Plant_WERKS, mseg.LGORT AS StorageLocation_LGORT, mseg.BWART AS MovementType_BWART, mseg.INSMK AS StockType_INSMK, mseg.SHKZG AS Debit_CreditIndicator_SHKZG, mseg.MENGE AS Quantity_MENGE, mseg.MEINS AS BaseUnitOfMeasure_MEINS, mseg.WAERS AS CurrencyKey_WAERS, mseg.EBELN AS PurchaseOrderNumber_EBELN, mseg.LIFNR AS VendorsAccountNumber_LIFNR, mseg.KDAUF AS SalesOrderNumber_KDAUF, mseg.KUNNR AS AccountNumberOfCustomer_KUNNR, mseg.UMMAT AS Receiving_IssuingMaterial_UMMAT, mseg.UMCHA AS Receiving_Issuing_Batch_UMCHA, mseg.EBELP AS ItemNumberOfPurchasingDocument_EBELP, mseg.LFBNR AS DocumentNumberOfAReferenceDocument_LFBNR, mseg.LFPOS AS ItemOfAReferenceDocument_LFPOS, mseg.AUFNR AS OrderNumber_AUFNR, mseg.BUKRS AS CompanyCode_BUKRS, mseg.UMWRK AS ReceivingPlant_UMWRK, mseg.UMLGO AS Receiving_IssuingStorageLocation_UMLGO, mseg.LGNUM AS WarehouseNumber_LGNUM, mseg.BWLVS AS MovementTypeForWarehouseManagement_BWLVS, mseg.XBLVS AS Indicator_PostingInWarehouseManagementSystem_XBLVS, mseg.BESTQ AS StockCategoryInTheWarehouseManagementSystem_BESTQ, mseg.SOBKZ AS SpecialStockIndicator_SOBKZ, mseg.KZBEW AS MovementIndicator_KZBEW, mseg.GRUND AS ReasonForMovement_GRUND, mseg.WEUNB AS GoodsReceipt_Non_Valuated_WEUNB, mseg.LGTYP AS StorageType_LGTYP, mseg.EQUNR AS EquipmentNumber_EQUNR, mseg.GSBER AS BusinessArea_GSBER, mseg.KOSTL AS CostCenter_KOSTL, mseg.PRCTR AS ProfitCenter_PRCTR, mseg.PS_PSP_PNR AS WorkBreakdownStructureElement_PS_PSP_PNR, mseg.SAKTO AS GLAccountNumber_SAKTO, mseg.SHKUM AS Debit_CreditIndicatorInRevaluation_SHKUM, mseg.BWTAR AS ValuationType_BWTAR, mseg.KZZUG AS ReceiptIndicator_KZZUG, mseg.BUDAT_MKPF AS PostingDate_BUDAT_MKPF, -- mseg.LINE_ID AS UniqueIdentificationOfDocument_Line_LINE_ID, -- mseg.PARENT_ID AS IdentifierOfImmediatelySuperiorLine_PARENT_ID, -- mseg.lINE_DEPTH AS HierarchyLevelOfLineInDocument_lINE_DEPTH, -- mseg.MAA_URZEI AS OriginalLineForAccountAssignmentItemInMaterialDoc_MAA_URZEI, -- mseg.XAUTO AS ItemAutomaticallyCreated_XAUTO , -- mseg.ZUSCH AS BatchStatusKey_ZUSCH, -- mseg.ZUSTD AS BatchInRestricted_UseStock_ZUSTD, -- mseg.KDPOS AS ItemNumberInSalesOrder_KDPOS, -- mseg.KDEIN AS DeliveryScheduleForSalesOrder_KDEIN, -- mseg.PLPLA AS DistributionOfDifferences_PLPLA, -- mseg.BNBTR AS DeliveryCostsInLocalCurrency_BNBTR, -- mseg.BUALT AS AmountPostedInAlternativePriceControl_BUALT, -- mseg.DMBUM AS RevaluationAmountOnBack_PostingToAPreviousPeriod_DMBUM, -- mseg.ERFMG AS QuantityInUnitOfEntry_ERFMG, -- mseg.ERFME AS UnitOfEntry_ERFME, -- mseg.BPMNG AS QuantityInPurchaseOrderPriceUnit_BPRME, -- mseg.BPRME AS OrderPriceUnit_Purchasing_BPRME, -- mseg.LFBJA AS FiscalYearOfAReferenceDocument_LFBJA, -- mseg.SJAHR AS MaterialDocumentYear_SJAHR, -- mseg.SMBLN AS NumberOfMaterialDocument_SMBLN, -- mseg.SMBLP AS NumberOfMaterialDocument_SMBLP, -- mseg.ELIKZ AS DeliveryCompleted_Indicator_ELIKZ, -- mseg.SGTXT AS ItemText_SGTXT, -- mseg.WEMPF AS GoodsRecipient_WEMPF, -- mseg.ABLAD AS UnloadingPoint_ABLAD, -- mseg.KOKRS AS ControllingArea_KOKRS, -- mseg.PARGB AS TradingPartnerBusinessArea_PARGB, -- mseg.PARBU AS ClearingCompanyCode_PARBU, -- mseg.PROJN AS Old_ProjectNumber_NoLongerUsed_PS_POSNR_PROJN, -- mseg.ANLN1 AS MainAssetNumber_ANLN1, -- mseg.ANLN2 AS AssetSubnumber_ANLN2, -- mseg.XSKST AS Indicator_StatisticalPostingToCostCenter_XSKST, -- mseg.XSAUF AS Indicator_PostingToOrderIsStatistical_XSAUF, -- mseg.XSPRO AS Indicator_PostingToProjectIsStatistical_XSPRO, -- mseg.XSERG AS Indicator_PostingToProfitabilityAnalysisIsStatistical_XSERG, -- mseg.GJAHR AS FiscalYear_GJAHR, -- mseg.XRUEM AS AllowPostingToPreviousPeriod_Backposting_XRUEM, -- mseg.XRUEJ AS Indicator_PostToPreviousYear_XRUEJ, -- mseg.BELNR AS AccountingDocumentNumber_BELNR, -- mseg.BUZEI AS NumberOfLineItemWithinAccountingDocument_BUZEI, -- mseg.BELUM AS AccountingDocumentNumber_BELUM, -- mseg.BUZUM AS NumberOfLineItemWithinAccountingDocument_BUZUM, -- mseg.RSNUM AS NumberOfReservation_dependentRequirements_RSNUM, -- mseg.RSPOS AS ItemNumberOfReservation_DependentRequirements_RSPOS, -- mseg.KZEAR AS FinalIssueForThisReservation_KZEAR, -- mseg.PBAMG AS Quantity_PBAMG, -- mseg.KZSTR AS Transaction_EventIsRelevantToStatistics_KZSTR, -- mseg.UMZST AS StatusOfTransferBatch_UMZST, -- mseg.UMZUS AS StatusKeyOfTransferBatch_UMZUS, -- mseg.UMBAR AS ValuationTypeOfTransferBatch_UMBAR, -- mseg.UMSOK AS SpecialStockIndicatorForPhysicalStockTransfer_UMSOK, -- mseg.KZBEW AS MovementIndicator_KZBEW, -- mseg.KZVBR AS ConsumptionPosting_KZVBR, -- mseg.PALAN AS WMSNumberOfPallets_PALAN, -- mseg.LGPLA AS StorageBin_LGPLA, -- mseg.TBNUM AS TransferRequirementNumber_TBNUM, -- mseg.TBPOS AS TransferRequirementItem_TBPOS, -- mseg.VSCHN AS Ind_InterimStoragePostingForSourceStor_typeAndBin_VSCHN, -- mseg.NSCHN AS Ind_InterimStoragePostingForDest_Stor_TypeAndBin_NSCHN, -- mseg.DYPLA AS Indicator_DynamicStorageBin_DYPLA, -- mseg.UBNUM AS PostingChangeNumber_UBNUM, -- mseg.TBPRI AS TransferPriority_TBPRI, -- mseg.TANUM AS TransferOrderNumber_TANUM, -- mseg.WEANZ AS NumberOfGR_GI_SlipsToBePrinted_WEANZ, -- mseg.EVERS AS ShippingInstructions_EVERS, -- mseg.EVERE AS ComplianceWithShippingInstructions_EVERE, -- mseg.IMKEY AS InternalKeyForRealEstateObject_IMKEY, -- mseg.KSTRG AS CostObject_KSTRG, -- mseg.PAOBJNR AS ProfitabilitySegmentNumber_COPA_PAOBJNR, -- mseg.NPLNR AS NetworkNumberForAccountAssignment_NPLNR, -- mseg.AUFPL AS RoutingNumberOfOperationsInTheOrder_AUFPL, -- mseg.APLZL AS InternalCounter_APLZL, -- mseg.AUFPS AS OrderItemNumber_AUFPS, -- mseg.VPTNR AS PartnerAccountNumber_VPTNR, -- mseg.FIPOS AS CommitmentItem_FIPOS, -- mseg.BSTMG AS GoodsReceiptQuantityInOrderUnit_BSTMG, -- mseg.BSTME AS PurchaseOrderUnitOfMeasure_BSTME, -- mseg.XWSBR AS ReversalOfGRAllowedForGR_BasedIVDespiteInvoice_XWSBR, -- mseg.EMLIF AS VendorToBeSupplied_WhoIsToReceiveDelivery_EMLIF, -- mseg.EXBWR AS ExternallyEnteredPostingAmountInLocalCurrency_EXBWR, -- mseg.VKWRT AS ValueAtSalesPricesIncludingValue_AddedTax_VKWRT, -- mseg.AKTNR AS Promotion_AKTNR, -- mseg.ZEKKN AS SequentialNumberOfAccountAssignment_ZEKKN, -- mseg.VFDAT AS ShelfLifeExpirationOrBest_BeforeDate_VFDAT, -- mseg.CUOBJ_CH AS InternalObjectNumberOfTheBatchClassification_CUOBJ_CH, -- mseg.EXVKW AS ExternallyEnteredSalesValueInLocalCurrency_EXVKW, -- mseg.PPRCTR AS PartnerProfitCenter_PPRCTR, -- mseg.RSART AS RecordType_RSART, -- mseg.GEBER AS Fund_GEBER, -- mseg.FISTL AS FundsCenter_FISTL, -- mseg.MATBF AS MaterialInRespectOfWhichStockIsManaged_MATBF, -- mseg.UMMAB AS Receiving_IssuingMaterial_UMMAB, -- mseg.BUSTM AS PostingStringForQuantities_BUSTM, -- mseg.BUSTW AS PostingStringForValues_BUSTW, -- mseg.MENGU AS QuantityUpdatingInMaterialMasterRecord_MENGU, -- mseg.WERTU AS ValueUpdatingInMaterialMasterRecord_WERTU, -- mseg.LBKUM AS TotalValuatedStockBeforeThePosting_LBKUM, -- mseg.SALK3 AS ValueOfTotalValuatedStockBeforeThePosting_SALK3, -- mseg.VPRSV AS PriceControlIndicator_VPRSV, -- mseg.FKBER AS FunctionalArea_FKBER, -- mseg.DABRBZ AS ReferenceDateForSettlement_DABRBZ, -- mseg.VKWRA AS ValueAtSalesPricesExcludingValue_AddedTax_VKWRA, -- mseg.DABRZ AS ReferenceDateForSettlement_DABRZ, -- mseg.XBEAU AS PurchaseOrderCreatedAtTimeOfGoodsReceipt_XBEAU, -- mseg.LSMNG AS QuantityInUnitOfMeasureFromDeliveryNote_LSMNG, -- mseg.LSMEH AS UnitOfMeasureFromDeliveryNote_LSMEH, -- mseg.KZBWS AS ValuationOfSpecialStock_KZBWS, -- mseg.QINSPST AS StatusOfGoodsReceiptInspection_QINSPST, -- mseg.URZEI AS OriginalLineInMaterialDocument_URZEI, -- mseg.J_1BEXBASE AS AlternateBaseAmountInDocumentCurrency_J_1BEXBAS, -- mseg.MWSKZ AS TaxOnSales_PurchasesCode_MWSKZ, -- mseg.TXJCD AS TaxJurisdiction_TXJCD, -- mseg.EMATN AS MaterialNumberCorrespondingToManufacturerPartNumber_EMATN, -- mseg.J_1AGIRUPD AS GoodsIssueRevaluationPerformed_J_1AGIRUPD, -- mseg.VKMWS AS TaxOnSales_PurchasesCode_VKMWS, -- mseg.HSDAT AS DateOfManufacture_HSDAT, -- mseg.BERKZ AS MaterialStagingIndicatorForProductionSupply_BERKZ, -- mseg.MAT_KDAUF AS SalesOrderNumberOfValuatedSalesOrderStock_MAT_KDAUF_MAT_KDAUF, -- mseg.MAT_KDPOS AS SalesOrderItemOfValuatedSalesOrderStock_MAT_KDPOS, -- mseg.MAT_PSPNR AS ValuatedSalesOrderStockWBS_Element_MAT_PSPNR, -- mseg.XWOFF AS CalculationOfVal_Open_XWOFF, -- mseg.BEMOT AS AccountingIndicator_BEMOT, -- mseg.PRZNR AS BusinessProcess_PRZNR, -- mseg.LLIEF AS SupplyingVendor_LLIEF, -- mseg.LSTAR AS ActivityType_LSTAR, -- mseg.XOBEW AS VendorStockValuationIndicator_XOBEW, -- mseg.GRANT_NBR AS Grant_GRANT_NBR, -- mseg.ZUSTD_T156M AS StockTypeModification_ZUSTD_T156M, -- mseg.SPE_GTS_STOCK_TY AS GTSStockType_SPE_GTS_STOCK_TY, -- mseg.KBLNR AS DocumentNumberForEarmarkedFunds_KBLNR, -- mseg.KBLPOS AS EarmarkedFunds_DocumentItem_KBLPOS, -- mseg.XMACC AS MultipleAccountAssignment_XMACC, -- mseg.VGART_MKPF AS Transaction_EventType_VGART_MKPF, -- mseg.CPUDT_MKPF AS DayOnWhichAccountingDocumentWasEntered_CPUDT_MKPF, -- mseg.CPUTM_MKPF AS TimeOfEntry_CPUTM_MKPF, -- mseg.USNAM_MKPF AS UserName_USNAM_MKPF, -- mseg.XBLNR_MKPF AS ReferenceDocumentNumber_XBLNR_MKP, -- mseg.TCODE2_MKPF AS TransactionCode_TCODE2_MKPF, -- mseg.VBELN_IM AS Delivery_VBELN_IM, -- mseg.VBELP_IM AS DeliveryItem_VBELP_IM, -- mseg.SGT_SCAT AS StockSegment_SGT_SCAT, -- mseg.SGT_UMSCAT AS Receiving_IssuingStockSegment_SGT_UMSCAT, -- mseg.SGT_RCAT AS RequirementSegment_SGT_RCAT, -- mseg.BEV2_ED_KZ_VER AS ProcessingStatusOfMaterialDocumentForExciseDuties_BEV2_ED_KZ_VER, -- mseg.BEV2_ED_USER AS UserName_BEV2_ED_USER, -- mseg.BEV2_ED_AEDAT AS DateOfLastChange_BEV2_ED_AEDAT, -- mseg.BEV2_ED_AETIM AS SystemTime_BEV2_ED_AETIM, -- mseg.DISUB_OWNER AS OwnerOfStock_DISUB_OWNER, -- mseg.FSH_SEASON_YEAR AS SeasonYear_FSH_SEASON_YEAR, -- mseg.FSH_SEASON AS Season_FSH_SEASON, -- mseg.FSH_COLLECTION AS FashionCollection_FSH_COLLECTION, -- mseg.FSH_THEME AS FashionTheme_FSH_THEME, -- mseg.FSH_UMSEA_YR AS Receiving_IssuingSeasonYear_FSH_UMSEA_YR, -- mseg.FSH_UMSEA AS Receiving_IssuingSeason_FSH_UMSEA, -- mseg.FSH_UMCOLL AS Receiving_IssuingCollection_FSH_UMCOLL, -- mseg.FSH_UMTHEME AS Receiving_IssuingTheme_FSH_UMTHEME, -- mseg.SGT_CHINT AS DiscreteBatchNumber_SGT_CHINT, -- mseg.FSH_DEALLOC_QTY AS ArunAllocatedQuantity_FSH_DEALLOC_QTY, -- mseg.OINAVNW AS Non_DeductibleInputTax_OINAVNW, -- mseg.OICONDCOD AS JointVentureIndicator_ConditionKey_OICONDCOD, -- mseg.CONDI AS JointVentureIndicator_CONDI, -- mseg.WRF_CHARSTC1 AS CharacteristicValue1_WRF_CHARSTC1, -- mseg.WRF_CHARSTC2 AS CharacteristicValue2_WRF_CHARSTC2, -- mseg.WRF_CHARSTC3 AS CharacteristicValue3_WRF_CHARSTC3, --##CORTEX-CUSTOMER Consider adding other dimensions from the calendar_date_dim table as per your requirement CalendarDateDim_BUDAT_MKPF.CalYear AS YearOfPostingDate_BUDAT_MKPF, CalendarDateDim_BUDAT_MKPF.CalMonth AS MonthOfPostingDate_BUDAT_MKPF, CalendarDateDim_BUDAT_MKPF.CalWeek AS WeekOfPostingDate_BUDAT_MKPF, CalendarDateDim_BUDAT_MKPF.CalQuarter AS QuarterOfPostingDate_BUDAT_MKPF, CAST(FORMAT_DATE('%Y%m%d', CalendarDateDim_BUDAT_MKPF.WeekEndDate) AS INT64) AS WeekEndDateOfPostingDate_BUDAT_MKPF, --##CORTEX-CUSTOMER If you prefer to use currency conversion, uncomment below -- currency_conversion.UKURS AS ExchangeRate_UKURS, -- currency_conversion.TCURR AS TargetCurrency_TCURR, -- currency_conversion.conv_date AS Conversion_date, -- COALESCE(mseg.DMBTR * currency_decimal.CURRFIX, mseg.DMBTR) * currency_conversion.UKURS AS AmountInTargetCurrency_DMBTR, COALESCE(mseg.DMBTR * currency_decimal.CURRFIX, mseg.DMBTR) AS AmountInLocalCurrency_DMBTR FROM `{{ project_id_src }}.{{ dataset_cdc_processed_ecc }}.mseg` AS mseg --Fix the decimal place of amounts for non-decimal-based currencies such as JPY, IDR, KRW, TWD etc. LEFT JOIN `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.currency_decimal` AS currency_decimal ON mseg.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 mseg.MANDT = currency_conversion.MANDT -- AND mseg.WAERS = currency_conversion.FCURR -- AND mseg.BUDAT_MKPF = 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 CalendarDateDim_BUDAT_MKPF ON mseg.BUDAT_MKPF = CalendarDateDim_BUDAT_MKPF.Date