Kopírování dat ze SAP Business Warehouse přes Open Hub pomocí Azure Data Factory nebo Synapse Analytics

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Tento článek popisuje, jak pomocí aktivity kopírování v kanálech Azure Data Factory a Synapse Analytics kopírovat data z SAP Business Warehouse (BW) přes Open Hub. Vychází z článku s přehledem aktivity kopírování, který představuje obecný přehled aktivity kopírování.

Tip

Další informace o celkové podpoře scénáře integrace dat SAP najdete v dokumentu white paper o integraci dat SAP s podrobným úvodem ke každému konektoru SAP, porovnání a doprovodným materiálům.

Podporované funkce

Tento konektor SAP Business Warehouse Open Hub je podporovaný pro následující funkce:

Podporované funkce IR
aktivita Copy (zdroj/-)
Aktivita Lookup

(1) Prostředí Azure Integration Runtime (2) Místní prostředí Integration Runtime

Seznam úložišť dat podporovaných jako zdroje nebo jímky aktivitou kopírování najdete v tabulce Podporované úložiště dat.

Konkrétně tento konektor SAP Business Warehouse Open Hub podporuje:

  • SAP Business Warehouse verze 7.01 nebo vyšší (v nedávném zásobníku balíčků podpory SAP vydaném po roce 2015) Tento konektor nepodporuje SAP BW/4HANA.
  • Kopírování dat prostřednictvím místní tabulky Open Hub Destination, která pod ní může být DSO, InfoCube, MultiProvider, DataSource atd.
  • Kopírování dat pomocí základního ověřování
  • Připojení na aplikační server SAP nebo na server zpráv SAP.
  • Načítání dat přes RFC.

Integrace SAP BW Open Hubu

Sap BW Open Hub Service je efektivní způsob, jak extrahovat data ze SAP BW. Následující diagram znázorňuje jeden z typických toků, které mají zákazníci v systému SAP, v takovém případě toky dat ze SAP ECC -> PSA -> DSO -> Cube.

SAP BW Open Hub Destination (OHD) definuje cíl přenosu dat SAP. Všechny objekty podporované procesem přenosu dat SAP (DTP) se dají použít jako zdroje dat open hubu, například DSO, InfoCube, DataSource atd. Typ cíle Open Hubu – kde jsou přenášená data uložená – můžou to být databázové tabulky (místní nebo vzdálené) a ploché soubory. Tento konektor SAP BW Open Hub podporuje kopírování dat z místní tabulky OHD v BW. Pokud používáte jiné typy, můžete se přímo připojit k databázi nebo systému souborů pomocí jiných konektorů.

SAP BW Open Hub

Rozdílový tok extrakce

Sap BW Open Hub Připojení or nabízí dvě volitelné vlastnosti: excludeLastRequest a baseRequestId které lze použít ke zpracování rozdílového zatížení z Open Hubu.

  • excludeLastRequestId: Určuje, jestli se mají vyloučit záznamy posledního požadavku. Výchozí hodnota je true.
  • baseRequestId: ID požadavku pro rozdílové načítání. Po nastavení se načtou pouze data s id požadavku větší než hodnota této vlastnosti.

Extrakce ze sap InfoProviders se celkově skládá ze dvou kroků:

  1. SAP BW Data Transfer Process (DTP) Tento krok zkopíruje data ze SAP BW InfoProvider do tabulky SAP BW Open Hubu.

  2. Kopírování dat v tomto kroku konektorem čte tabulku Open Hubu.

Delta extraction flow

V prvním kroku se spustí DTP. Každé spuštění vytvoří nové ID požadavku SAP. ID požadavku se uloží v tabulce Open Hubu a pak ho konektor použije k identifikaci rozdílu. Dva kroky se spouští asynchronně: SAP aktivuje DTP a kopírování dat se aktivuje prostřednictvím služby.

Ve výchozím nastavení služba nečte nejnovější rozdíl z tabulky Open Hubu (možnost vyloučit poslední požadavek je pravdivá). Data ve službě tak nejsou 100% aktuální s daty v tabulce Open Hub (poslední rozdíl chybí). Tento postup zajišťuje, aby se neztratily žádné řádky způsobené asynchronní extrakcí. Funguje to správně i v případě, že služba čte tabulku Open Hubu, zatímco DTP stále zapisuje do stejné tabulky.

Maximální zkopírované ID požadavku obvykle ukládáte do posledního spuštění službou v přípravném úložišti dat (například v objektu blob Azure ve výše uvedeném diagramu). Proto služba při následném spuštění nepřečte stejnou žádost podruhé. Všimněte si, že data se z tabulky Open Hubu neodstraní automaticky.

Pro správné rozdílové zpracování není možné mít ve stejné tabulce Open Hubu ID požadavků z různých DTPs. Proto nesmíte vytvořit více než jeden DTP pro každý cíl Open Hubu (OHD). Při potřebě úplné extrakce a rozdílové extrakce ze stejného InfoProvideru byste měli vytvořit dva OHD pro stejný InfoProvider.

Požadavky

Pokud chcete použít tento konektor SAP Business Warehouse Open Hub, musíte:

  • Nastavte místní prostředí Integration Runtime s verzí 3.13 nebo vyšší. Podrobnosti najdete v článku o místním prostředí Integration Runtime .

  • Stáhněte si 64bitovou verzi SAP .NET Připojení or 3.0 z webu SAP a nainstalujte ji na počítač s místním prostředím IR. Při instalaci se v okně volitelných kroků instalace ujistěte, že jste vybrali možnost Instalovat sestavení do GAC , jak je znázorněno na následujícím obrázku.

    Install SAP .NET Connector

  • Uživatel SAP používaný v konektoru BW musí mít následující oprávnění:

    • Autorizace pro RFC a SAP BW.
    • Oprávnění k aktivitě "Execute" objektu autorizace "S_SDSAUTH".
  • Vytvořte typ cíle SAP Open Hubu jako databázovou tabulku s zaškrtnutou možností Technický klíč. Doporučuje se také ponechat odstranění dat z tabulky nezaškrtnuté, i když není povinné. Pomocí DTP (přímo spustit nebo integrovat do existujícího řetězu procesů) přistál data ze zdrojového objektu (například datové krychle), kterou jste zvolili do cílové tabulky otevřeného centra.

Začínáme

Tip

Návod k používání konektoru SAP BW Open Hub najdete v tématu Načtení dat ze SAP Business Warehouse (BW).

K provedení aktivita Copy s kanálem můžete použít jeden z následujících nástrojů nebo sad SDK:

Následující části obsahují podrobnosti o vlastnostech, které slouží k definování entit specifických pro konektor SAP Business Warehouse Open Hub.

Vlastnosti propojené služby

Propojená služba SAP Business Warehouse Open Hub podporuje následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost typu musí být nastavená na: SapOpenHub. Ano
server Název serveru, na kterém se nachází instance SAP BW. Ano
systemNumber Číslo systému SAP BW.
Povolená hodnota: dvouciferné desetinné číslo reprezentované jako řetězec.
Ano
messageServer Název hostitele serveru zpráv SAP.
Slouží k připojení k serveru zpráv SAP.
No
messageServerService Název služby nebo číslo portu serveru zpráv.
Slouží k připojení k serveru zpráv SAP.
No
systemId ID systému SAP, ve kterém se tabulka nachází.
Slouží k připojení k serveru zpráv SAP.
No
logonGroup Přihlašovací skupina pro systém SAP.
Slouží k připojení k serveru zpráv SAP.
No
clientId ID klienta v systému SAP W.
Povolená hodnota: tříciferné desetinné číslo reprezentované jako řetězec.
Ano
jazyk Jazyk, který systém SAP používá. Ne (výchozí hodnota je EN)
userName Jméno uživatele, který má přístup k serveru SAP. Ano
Heslo Heslo pro tohoto uživatele. Označte toto pole jako securestring, abyste ho mohli bezpečně uložit, nebo odkazovat na tajný klíč uložený ve službě Azure Key Vault. Ano
connectVia Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. Vyžaduje se místní prostředí Integration Runtime, jak je uvedeno v požadavcích. Ano

Příklad:

{
    "name": "SapBwOpenHubLinkedService",
    "properties": {
        "type": "SapOpenHub",
        "typeProperties": {
            "server": "<server name>",
            "systemNumber": "<system number>",
            "clientId": "<client id>",
            "userName": "<SAP user>",
            "password": {
                "type": "SecureString",
                "value": "<Password for SAP user>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Vlastnosti datové sady

Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku Datové sady . Tato část obsahuje seznam vlastností podporovaných datovou sadou SAP BW Open Hub.

Pokud chcete kopírovat data z open hubu SAP BW a do sap BW, nastavte vlastnost typu datové sady na SapOpenHubTable. Podporují se následující vlastnosti.

Vlastnost Popis Povinní účastníci
type Vlastnost typu musí být nastavena na SapOpenHubTable. Ano
openHubDestinationName Název cíle Open Hubu pro kopírování dat. Ano

Pokud jste nastavili excludeLastRequest a baseRequestId v datové sadě, je stále podporována tak, jak je, zatímco se navrhuje používat nový model ve zdroji aktivit.

Příklad:

{
    "name": "SAPBWOpenHubDataset",
    "properties": {
        "type": "SapOpenHubTable",
        "typeProperties": {
            "openHubDestinationName": "<open hub destination name>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<SAP BW Open Hub linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Vlastnosti aktivity kopírování

Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v článku Pipelines . Tato část obsahuje seznam vlastností podporovaných zdrojem Open Hubu SAP BW.

SAP BW Open Hub jako zdroj

Pokud chcete kopírovat data ze sap BW Open Hubu, podporují se v části zdroje aktivity kopírování následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost typu zdroje aktivity kopírování musí být nastavena na SapOpenHubSource. Ano
excludeLastRequest Zda se mají vyloučit záznamy posledního požadavku. Ne (výchozí hodnota je true)
baseRequestId ID požadavku pro rozdílové načítání. Po nastavení se načtou pouze data s id požadavku větší než hodnota této vlastnosti. No
customRfcReadTableFunctionModule Vlastní modul funkcí RFC, který lze použít ke čtení dat z tabulky SAP.
Pomocí vlastního modulu funkce RFC můžete definovat, jak se data načítají z vašeho systému SAP a vrací se do služby. Modul vlastních funkcí musí mít implementované rozhraní (import, export, tabulky), které je podobné /SAPDS/RFC_READ_TABLE2, což je výchozí rozhraní používané službou.
No
sapDataColumnDelimiter Jeden znak, který se používá jako oddělovač předaný SAP RFC k rozdělení výstupních dat. No

Tip

Pokud tabulka Open Hubu obsahuje pouze data vygenerovaná jedním ID požadavku, například vždy provedete úplné načtení a přepíšete stávající data v tabulce, nebo pouze jednou spustíte DTP pro testování, nezapomeňte zrušit zaškrtnutí možnosti excludeLastRequest, aby bylo možné data zkopírovat.

Pokud chcete zrychlit načítání dat, můžete nastavit parallelCopies aktivitu kopírování a načíst data z open hubu SAP BW paralelně. Pokud například nastavíte parallelCopies hodnotu čtyři, služba souběžně spustí čtyři volání RFC a každé volání RFC načte část dat z tabulky OPEN Hub SAP BW rozdělené podle ID požadavku DTP a ID balíčku. To platí, pokud je počet jedinečných ID žádosti DTP + ID balíčku větší než hodnota parallelCopies. Při kopírování dat do souborového úložiště dat se také doporučuje zapisovat do složky jako více souborů (zadat pouze název složky), v takovém případě je výkon lepší než zápis do jednoho souboru.

Příklad:

"activities":[
    {
        "name": "CopyFromSAPBWOpenHub",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<SAP BW Open Hub input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SapOpenHubSource",
                "excludeLastRequest": true
            },
            "sink": {
                "type": "<sink type>"
            },
            "parallelCopies": 4
        }
    }
]

Mapování datových typů pro SAP BW Open Hub

Při kopírování dat ze SAP BW Open Hubu se následující mapování používají z datových typů SAP BW k dočasným datovým typům používaným interně v rámci služby. Informace o tom, jak aktivita kopírování mapuje zdrojové schéma a datový typ na jímku, najdete v mapování schématu schématu a datového typu schématu schématu a datového typu.

Typ jazyk ABAP SAP Dočasný datový typ služby
C (řetězec) String
I (celé číslo) Int32
F (Float) Hodnota s dvojitou přesností
D (datum) String
T (čas) String
P (BCD Packed, Currency, Decimal, Qty) Desetinné číslo
N (Numc) String
X (binární a nezpracované) String

Vlastnosti aktivity vyhledávání

Podrobnosti o vlastnostech najdete v aktivitě Vyhledávání.

Rady pro řešení potíží

Příznaky: Pokud používáte SAP BW na HANA a sledujete, že se pomocí aktivity kopírování (1 milion řádků) kopíruje jenom podmnožina dat, je možná příčina, že ve svém DTP povolíte možnost "Spuštění SAP HANA", v takovém případě může služba načíst pouze první dávku dat.

Řešení: V DTP zakažte možnost Spuštění SAP HANA, znovu zpracuje data a pak zkuste aktivitu kopírování spustit znovu.

Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v podporovaných úložištích dat.