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/-) | (2) |
Keresési tevékenység | (2) |
(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óhoz vagy SAP-üzenetkiszolgálóhoz.
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:
- Az SAP GUI használatával csatlakozzon az SAP-rendszerhez.
- Lépjen a Rendszer állapota elemre>.
- Ellenőrizze a SAP_BASIS kiadását, és győződjön meg arról, hogy az egyenlő vagy nagyobb, mint 701.
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-összekötőjét az SAP webhelyéről, és telepítse a saját üzemeltetésű integrációs modulra. 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.
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_SEARCH.
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:
- Az Adatok másolása eszköz
- Az Azure Portal
- A .NET SDK
- A Python SDK
- Azure PowerShell
- A REST API
- Az Azure Resource Manager-sablon
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.
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:
Keresse meg az SAP-t, és válassza ki az SAP tábla-összekötőt.
Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.
Az összekötő 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:
Tulajdonság | Leírás | Kötelező |
---|---|---|
type |
A type tulajdonságot a következő értékre SapTable kell á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 SAP-alkalmazáskiszolgálóhoz
{
"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óhoz
{
"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 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:
Tulajdonság | Leírás | Kötelező |
---|---|---|
type |
A type tulajdonságot a következő értékre SapTableResource kell á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:
Tulajdonság | Leírás | Kötelező |
---|---|---|
type |
A type tulajdonságot a következő értékre SapTableSource kell állítani: . |
Igen |
rowCount |
A lekérendő sorok száma. | Nem |
rfcTableFields |
Az SAP-táblából másolandó mezők (oszlopok). Például: column0, column1 . |
Nem |
rfcTableOptions |
Az SAP-táblák sorainak szűrési lehetőségei. Például: 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_TABLE2 hasonló 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:
|
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 PartitionOnInt partí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 partitionLowerBound
a )/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 rfcTableOptions
következő gyakori SAP-lekérdezési operátorok használatával szűrheti a sorokat:
Operátor | 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:
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ó:
Adatok exportálása az alábbi táblák egyikébe:
Az alábbiakban az SAP táblaösszekötő egyéni függvénymodullal való működését szemléltetjük:
Hozzon létre kapcsolatot az SAP-kiszolgálóval az SAP NCO-n keresztül.
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.
Az eredmény lekérése és az adatok elemzése az alábbi módokon:
Elemezheti a Mezők tábla értékét a sémák lekéréséhez.
A kimeneti tábla értékeinek lekérésével láthatja, hogy melyik tábla tartalmazza ezeket az értékeket.
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.
Kapcsolódó tartalom
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.