ecc/ProfitCenterHierarchyFlattened.sql (48 lines of code) (raw):

--The granularity of this query is Client,Setclass,Subclass,HierarchyName(hierabase), --ProfitCenterNode,ProfitCenter(prctr),Language Key. --## CORTEX-CUSTOMER Please filter on Hierbase in case of multiple hierarchies flattened in your system. WITH LanguageKey AS ( SELECT LanguageKey_SPRAS FROM `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.Languages_T002` WHERE LanguageKey_SPRAS IN UNNEST({{ sap_languages }}) ) SELECT ProfitCenters.mandt AS Client_MANDT, ProfitCenters.setclass AS HierarchyClass_SETCLASS, ProfitCenters.subclass AS HierarchySubClass_SUBCLASS, ProfitCenters.hiername AS HierarchyType_HIERBASE, LanguageKey.LanguageKey_SPRAS, ProfitCenters.profitcenter AS ProfitCenter_PRCTR, ProfitCenters.node AS ProfitCenterNode, ProfitCenters.parent AS ParentNode, --The following text fields are language dependent. PCParentText.ShortDescriptionOfSet_DESCRIPT AS ParentNodeText, COALESCE(PCNodeText.ShortDescriptionOfSet_DESCRIPT, PCText.LongText_LTEXT) AS ProfitCenterNodeText, ProfitCenters.level AS Level, ProfitCenters.isleafnode AS IsLeafNode FROM `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.profit_centers` AS ProfitCenters CROSS JOIN LanguageKey LEFT JOIN `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.ProfitCenterHierarchiesMD` AS PCParentText ON ProfitCenters.mandt = PCParentText.Client_MANDT AND ProfitCenters.setclass = PCParentText.SetClass_SETCLASS AND ProfitCenters.subclass = PCParentText.OrganizationalUnit_SUBCLASS AND PCParentText.LanguageKey_LANGU = LanguageKey.LanguageKey_SPRAS AND PCParentText.SetName_SETNAME = ProfitCenters.parent LEFT JOIN `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.ProfitCenterHierarchiesMD` AS PCNodeText ON ProfitCenters.mandt = PCNodeText.Client_MANDT AND ProfitCenters.setclass = PCNodeText.SetClass_SETCLASS AND ProfitCenters.subclass = PCNodeText.OrganizationalUnit_SUBCLASS AND PCNodeText.LanguageKey_LANGU = LanguageKey.LanguageKey_SPRAS AND PCNodeText.SetName_SETNAME = ProfitCenters.node LEFT JOIN `{{ project_id_tgt }}.{{ dataset_reporting_tgt }}.ProfitCentersMD` AS PCText ON ProfitCenters.mandt = PCText.Client_MANDT AND ProfitCenters.subclass = PCText.ControllingArea_KOKRS AND ProfitCenters.node = PCText.ProfitCenter_PRCTR AND PCText.Language_SPRAS = LanguageKey.LanguageKey_SPRAS AND PCText.ValidToDate_DATBI = '9999-12-31'