Adatok másolása SAP-táblából az Azure Data Factory vagy az Azure Synapse Analytics használatával

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

Ez a cikk azt ismerteti, hogyan használhatja a másolási tevékenységet az Azure Data Factoryben és az Azure Synapse Analytics-folyamatokban az ADATOK SAP-táblából való másolásához. További információ: Copy tevékenység áttekintés.

Tipp.

Az SAP-adatintegrációs forgatókönyv általános támogatásának megismeréséhez tekintse meg az SAP-adatintegrációt az Azure Data Factory tanulmányában az egyes SAP-összekötők részletes ismertetésével, összehasonlításával és útmutatásával.

Támogatott képességek

Ez az SAP-tábla-összekötő a következő képességeket támogatja:

Támogatott képességek IR
Copy tevékenység (forrás/-)
Keresési tevékenység

(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul

A másolási tevékenység által forrásként vagy fogadóként támogatott adattárak listáját a Támogatott adattárak táblában találja.

Ez az SAP-táblaösszekötő a következőket támogatja:

  • Adatok másolása SAP-táblából a következő helyen:

    • AZ SAP ERP Central Component (SAP ECC) 7.01-es vagy újabb verziója (egy 2015 után kiadott SAP támogatási csomag veremben).
    • AZ SAP Business Warehouse (SAP BW) 7.01-es vagy újabb verziója (egy 2015 után kiadott SAP támogatási csomag veremben).
    • SAP S/4HANA.
    • Egyéb termékek az SAP Business Suite 7.01-es vagy újabb verziójában (egy 2015 után kiadott SAP támogatási csomag veremben).
  • Adatok másolása sap transzparens táblából, készletezett táblából, fürtözött táblából és nézetből is.

  • Adatok másolása alapszintű hitelesítés vagy biztonságos hálózati kommunikáció (SNC) használatával, ha az SNC konfigurálva van.

  • Csatlakozás sap-alkalmazáskiszolgálóra vagy SAP-üzenetkiszolgálóra.

  • Adatok beolvasása alapértelmezett vagy egyéni RFC-vel.

A 7.01-es vagy újabb verzió az SAP ECC-verzió helyett az SAP NetWeaver-verzióra vonatkozik. Az SAP ECC 6.0 EHP 7 például általában a NetWeaver =7.4-es verzióját >használja. Ha nem biztos a környezetében, az alábbi lépéseket követve ellenőrizheti a verziót az SAP-rendszerből:

  1. Az SAP GUI használatával csatlakozzon az SAP-rendszerhez.
  2. Lépjen a Rendszer állapota elemre>.
  3. Ellenőrizze a SAP_BASIS kiadását, és győződjön meg arról, hogy az egyenlő vagy nagyobb, mint 701.
    Check SAP_BASIS

Előfeltételek

Az SAP táblaösszekötő használatához a következőkre van szükség:

  • Saját üzemeltetésű integrációs modul beállítása (3.17-es vagy újabb verzió). További információ: Saját üzemeltetésű integrációs modul létrehozása és konfigurálása.

  • Töltse le a Microsoft .NET 3.0 64 bites SAP Csatlakozás orját az SAP webhelyéről, és telepítse a saját üzemeltetésű integrációs futtatókörnyezeti gépre. A telepítés során győződjön meg arról, hogy az Opcionális telepítési lépések ablakban a Szerelvények telepítése GAC-ba lehetőséget választja.

    Install SAP Connector for .NET

  • Az SAP-tábla-összekötőben használt SAP-felhasználónak a következő engedélyekkel kell rendelkeznie:

    • Távoli függvényhívási (RFC-) célhelyek használatának engedélyezése.
    • Engedélyek a S_SDSAUTH engedélyezési objektum végrehajtási tevékenységéhez. A többségi engedélyezési objektumokra vonatkozó SAP-megjegyzés 460089. A mögöttes NCo-összekötő bizonyos RFC-ket igényel, például RFC_FUNCTION_Standard kiadás ARCH.

Első lépések

A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:

Társított szolgáltatás létrehozása SAP-táblához felhasználói felülettel

Az alábbi lépéseket követve hozzon létre egy sap-táblához társított szolgáltatást az Azure Portal felhasználói felületén.

  1. Keresse meg az Azure Data Factory vagy a Synapse-munkaterület Kezelés lapját, és válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:

  2. Keresse meg az SAP-t, és válassza ki az SAP tábla-összekötőt.

    Screenshot of the SAP table connector.

  3. Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.

    Screenshot of configuration for an SAP table linked service.

Csatlakozás or konfigurációjának részletei

Az alábbi szakaszok az SAP-tábla-összekötőre jellemző entitások meghatározásához használt tulajdonságok részleteit ismertetik.

Társított szolgáltatás tulajdonságai

Az SAP BW Open Hub társított szolgáltatása a következő tulajdonságokat támogatja:

Property Leírás Required
type A type tulajdonságot a következő értékre SapTablekell állítani: . Igen
server Annak a kiszolgálónak a neve, amelyen az SAP-példány található.
Sap-alkalmazáskiszolgálóhoz való csatlakozáshoz használható.
Nem
systemNumber Az SAP-rendszer rendszerszáma.
Sap-alkalmazáskiszolgálóhoz való csatlakozáshoz használható.
Megengedett érték: Sztringként ábrázolt kétjegyű tizedesjegy.
Nem
messageServer Az SAP-üzenetkiszolgáló állomásneve.
SAP-üzenetkiszolgálóhoz való csatlakozáshoz használható.
Nem
messageServerService Az üzenetkiszolgáló szolgáltatásneve vagy portszáma.
SAP-üzenetkiszolgálóhoz való csatlakozáshoz használható.
Nem
systemId Annak az SAP-rendszernek az azonosítója, ahol a tábla található.
SAP-üzenetkiszolgálóhoz való csatlakozáshoz használható.
Nem
logonGroup Az SAP-rendszer bejelentkezési csoportja.
SAP-üzenetkiszolgálóhoz való csatlakozáshoz használható.
Nem
clientId Az ügyfél azonosítója az SAP-rendszerben.
Megengedett érték: Sztringként ábrázolt háromjegyű tizedesjegy.
Igen
language Az SAP-rendszer által használt nyelv.
Az alapértelmezett érték EN.
Nem
userName Annak a felhasználónak a neve, aki hozzáfér az SAP-kiszolgálóhoz. Igen
password A felhasználó jelszava. Jelölje meg ezt a mezőt azzal a típussal, SecureString amely biztonságosan tárolja, vagy hivatkozzon az Azure Key Vaultban tárolt titkos kódra. Igen
sncMode Az SNC aktiválási jelzője annak az SAP-kiszolgálónak a eléréséhez, ahol a tábla található.
Akkor használja, ha SNC-t szeretne használni az SAP-kiszolgálóhoz való csatlakozáshoz.
Az engedélyezett értékek (kikapcsolva, alapértelmezett) vagy 1 (be) vannak 0 kapcsolva.
Nem
sncMyName A kezdeményező SNC-neve ahhoz az SAP-kiszolgálóhoz való hozzáféréshez, ahol a tábla található.
Akkor érvényes, ha sncMode be van kapcsolva.
Nem
sncPartnerName A kommunikációs partner SNC-neve ahhoz az SAP-kiszolgálóhoz való hozzáféréshez, ahol a tábla található.
Akkor érvényes, ha sncMode be van kapcsolva.
Nem
sncLibraryPath A külső biztonsági termék kódtára a táblát tároló SAP-kiszolgáló eléréséhez.
Akkor érvényes, ha sncMode be van kapcsolva.
Nem
sncQop Az alkalmazandó SNC védelmi szint.
Akkor érvényes, ha sncMode be van kapcsolva.
Az engedélyezett értékek a következők 1 : (Hitelesítés), 2 (integritás), 3 (Adatvédelem), 8 (Alapértelmezett), 9 (Maximum).
Nem
connectVia Az adattárhoz való csatlakozáshoz használandó integrációs modul . Saját üzemeltetésű integrációs futtatókörnyezetre van szükség, ahogy azt az előfeltételek korábban említették. Igen

1. példa: Csatlakozás egy SAP-alkalmazáskiszolgálóra

{
    "name": "SapTableLinkedService",
    "properties": {
        "type": "SapTable",
        "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"
        }
    }
}

2. példa: Csatlakozás sap üzenetkiszolgálóra

{
    "name": "SapTableLinkedService",
    "properties": {
        "type": "SapTable",
        "typeProperties": {
            "messageServer": "<message server name>",
            "messageServerService": "<service name or port>",
            "systemId": "<system ID>",
            "logonGroup": "<logon group>",
            "clientId": "<client ID>",
            "userName": "<SAP user>",
            "password": {
                "type": "SecureString",
                "value": "<Password for SAP user>"
            }
        },
        "connectVia": {
            "referenceName": "<name of integration runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

3. példa: Csatlakozás az SNC használatával

{
    "name": "SapTableLinkedService",
    "properties": {
        "type": "SapTable",
        "typeProperties": {
            "server": "<server name>",
            "systemNumber": "<system number>",
            "clientId": "<client ID>",
            "userName": "<SAP user>",
            "password": {
                "type": "SecureString",
                "value": "<Password for SAP user>"
            },
            "sncMode": 1,
            "sncMyName": "<SNC myname>",
            "sncPartnerName": "<SNC partner name>",
            "sncLibraryPath": "<SNC library path>",
            "sncQop": "8"
        },
        "connectVia": {
            "referenceName": "<name of integration runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Adathalmaz tulajdonságai

Az adathalmazok meghatározásához szükséges szakaszok és tulajdonságok teljes listáját az Adathalmazok című témakörben találja. Az alábbi szakasz az SAP-tábla adatkészlete által támogatott tulajdonságok listáját tartalmazza.

Ha adatokat szeretne másolni az SAP BW Open Hub társított szolgáltatásból és azokba, a következő tulajdonságok támogatottak:

Property Leírás Required
type A type tulajdonságot a következő értékre SapTableResourcekell állítani: . Igen
tableName Az adatok másolásához az SAP-tábla neve. Igen

Példa

{
    "name": "SAPTableDataset",
    "properties": {
        "type": "SapTableResource",
        "typeProperties": {
            "tableName": "<SAP table name>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<SAP table linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Másolási tevékenység tulajdonságai

A tevékenységek meghatározásához szükséges szakaszok és tulajdonságok teljes listáját a Folyamatok című témakörben találja. Az alábbi szakasz az SAP-táblaforrás által támogatott tulajdonságok listáját tartalmazza.

SAP-tábla forrásként

Ha adatokat szeretne másolni egy SAP-táblából, a következő tulajdonságok támogatottak:

Property Leírás Required
type A type tulajdonságot a következő értékre SapTableSourcekell állítani: . Igen
rowCount A lekérendő sorok száma. Nem
rfcTableFields Az SAP-táblából másolandó mezők (oszlopok). For example, column0, column1. Nem
rfcTableOptions Az SAP-táblák sorainak szűrési lehetőségei. For example, COLUMN0 EQ 'SOMEVALUE'. A cikk későbbi részében lásd az SAP lekérdezési operátor táblát is. Nem
customRfcReadTableFunctionModule Egyéni RFC-függvénymodul, amely egy SAP-tábla adatainak beolvasására használható.
Egyéni RFC-függvénymodullal meghatározhatja, hogy az adatok hogyan lesznek lekérve az SAP-rendszerből, és hogyan kerülnek vissza a szolgáltatásba. Az egyéni függvénymodulnak rendelkeznie kell a szolgáltatás által használt alapértelmezett felülethez /SAPDS/RFC_READ_TABLE2hasonló felülettel (importálás, exportálás, táblák).
Nem
partitionOption Az SAP-táblából beolvasandó partíciós mechanizmus. A támogatott lehetőségek a következők:
  • None
  • PartitionOnInt (normál egész vagy egész számértékek, bal oldalon nulla kitöltéssel, például 0000012345)
  • PartitionOnCalendarYear (4 számjegy "YYYY" formátumban)
  • PartitionOnCalendarMonth (6 számjegy "YYYYMM" formátumban)
  • PartitionOnCalendarDate (8 számjegy "YYYYMMDD" formátumban)
  • PartitionOntime (6 számjegy "HHMMSS" formátumban, például 235959)
Nem
partitionColumnName Az adatok particionálásához használt oszlop neve. Nem
partitionUpperBound A particionálás folytatásához a megadott partitionColumnName oszlop maximális értéke. Nem
partitionLowerBound A particionálás folytatásához használt oszlopban megadott partitionColumnName minimális érték. (Megjegyzés: partitionLowerBound nem lehet "0", ha a PartitionOnIntpartíció beállítás ) Nem
maxPartitionsNumber Az adatok felosztásához megadott partíciók maximális száma. Az alapértelmezett érték 1. Nem
sapDataColumnDelimiter Az SAP RFC-nek átadott elválasztó karakter a kimeneti adatok felosztásához. Nem

Tipp.

Ha az SAP-táblában nagy mennyiségű adat , például több milliárd sor található, használja partitionOption és partitionSetting ossza fel az adatokat kisebb partíciókra. Ebben az esetben a rendszer partíciónként olvassa be az adatokat, és minden adatpartíciót egyetlen RFC-hívással kér le az SAP-kiszolgálóról.

Példaként partitionOnInt tekintve partitionOption az egyes partíciók sorainak számát a következő képlettel számítja ki: (az összes sor a kettő közé partitionUpperBound esik és partitionLowerBounda )/maxPartitionsNumber.

Ha az adatpartíciókat párhuzamosan szeretné betölteni a másolás felgyorsítása érdekében, a párhuzamos mértéket a parallelCopies másolási tevékenység beállításai vezérlik. Ha például négyre van állítva parallelCopies , a szolgáltatás egyszerre generál és futtat négy lekérdezést a megadott partícióbeállítás és beállítások alapján, és mindegyik lekérdezés lekéri az adatok egy részét az SAP-táblából. Határozottan javasoljuk, hogy maxPartitionsNumber a tulajdonság értékének többszörösét parallelCopies adja meg. Az adatok fájlalapú adattárba való másolásakor a rendszer újraparancsolja, hogy több fájlként írjon egy mappába (csak a mappa nevét adja meg), ebben az esetben a teljesítmény jobb, mint egyetlen fájlba írni.

Tipp.

A BASXML szolgáltatáson belüli SAP Table-összekötő alapértelmezés szerint engedélyezve van.

A rfcTableOptionskövetkező gyakori SAP-lekérdezési operátorok használatával szűrheti a sorokat:

Operator Leírás
EQ Egyenlő
NE Nem egyenlő
LT Kisebb mint
LE Kisebb vagy egyenlő
GT Nagyobb mint
GE Nagyobb vagy egyenlő
IN Mint a TABCLASS IN ('TRANSP', 'INTTAB')
LIKE Mint a LIKE 'Emma%'

Példa

"activities":[
    {
        "name": "CopyFromSAPTable",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<SAP table input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SapTableSource",
                "partitionOption": "PartitionOnInt",
                "partitionSettings": {
                     "partitionColumnName": "<partition column name>",
                     "partitionUpperBound": "2000",
                     "partitionLowerBound": "1",
                     "maxPartitionsNumber": 500
                 }
            },
            "sink": {
                "type": "<sink type>"
            },
            "parallelCopies": 4
        }
    }
]

CSATLAKOZÁS SAP-táblákhoz

Az SAP Table Connector jelenleg csak egyetlen táblát támogat az alapértelmezett függvénymodullal. Több tábla összekapcsolt adatainak lekéréséhez használja az SAP Table Connector customRfcReadTableFunctionModule tulajdonságát az alábbi lépések végrehajtásával:

  • Írjon egy egyéni függvénymodult, amely a lekérdezéseket beállításokként használhatja, és saját logikát alkalmazhat az adatok lekérésére.
  • Az "Egyéni függvénymodul" mezőbe írja be az egyéni függvénymodul nevét.
  • Az "RFC-táblázat beállításai" beállításnál adja meg a függvénymodulba betápláláshoz szükséges táblázatbeillesztési utasítást, például: "<TABLE1> INNER JOIN <TABLE2> ON COLUMN0".

Az alábbiakban egy példát láthat erre:

Sap Table Join

Tipp.

Azt is megfontolhatja, hogy a csatlakoztatott adatok összesítve vannak-e a VIEW-ban, amelyet az SAP Table-összekötő támogat. A kapcsolódó táblákat is megpróbálhatja kinyerni az Azure-ba való bevezetéshez (pl. Azure Storage, Azure SQL Database), majd a Adatfolyam használatával folytathatja a további csatlakozást vagy szűrést.

Egyéni függvénymodul létrehozása

Az SAP-tábla esetében jelenleg a másolási forrás customRfcReadTableFunctionModule tulajdonságát támogatjuk, amely lehetővé teszi a saját logika és adatok feldolgozását.

Gyors útmutatóként íme néhány követelmény az "Egyéni függvénymodul" használatának megkezdéséhez:

  • Definíció:

    Definition

  • Adatok exportálása az alábbi táblák egyikébe:

    Export table 1

    Export table 2

Az alábbiakban az SAP táblaösszekötő egyéni függvénymodullal való működését szemléltetjük:

  1. Hozzon létre kapcsolatot az SAP-kiszolgálóval az SAP NCO-n keresztül.

  2. Az "Egyéni függvénymodul" meghívása az alábbi paraméterekkel:

    • QUERY_TABLE: az SAP Table datasetben beállított táblanév;
    • Elválasztó: az SAP-tábla forrásában beállított elválasztó;
    • ROWCOUNT/Option/Fields: the Rowcount/Aggregated Option/Fields you set in the Table source.
  3. Az eredmény lekérése és az adatok elemzése az alábbi módokon:

    1. Elemezheti a Mezők tábla értékét a sémák lekéréséhez.

      Parse values in Fields

    2. A kimeneti tábla értékeinek lekérésével láthatja, hogy melyik tábla tartalmazza ezeket az értékeket.

      Get values in output table

    3. Kérje le az értékeket a OUT_TABLE, elemezze az adatokat, majd írja be a fogadóba.

SAP-tábla adattípus-leképezései

Amikor adatokat másol egy SAP-táblából, a rendszer az alábbi leképezéseket használja az SAP-tábla adattípusaiból a szolgáltatásban használt köztes adattípusokra. Ha tudni szeretné, hogy a másolási tevékenység hogyan képezi le a forrássémát és az adattípust a fogadóhoz, tekintse meg a séma- és adattípus-leképezéseket.

SAP ABAP-típus Köztes szolgáltatás adattípusa
C (Sztring) String
I (Egész szám) Int32
F (Lebegőpontos) Double
D (Dátum) String
T (Idő) String
P (BCD Csomagolva, Pénznem, Decimális, Qty) Decimal
N (Numerikus) String
X (Bináris és nyers) String

Keresési tevékenység tulajdonságai

A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.

A másolási tevékenység által forrásként és fogadóként támogatott adattárak listáját lásd : Támogatott adattárak.