Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLARA UYGULANIR:
Azure Data Factory
Azure Synapse Analytics
İpucu
Microsoft Fabric'daki
Bu makalede, sap tablosundan veri kopyalamak için Azure Data Factory ve Azure Synapse Analytics işlem hatlarında kopyalama etkinliğinin nasıl kullanılacağı özetlenmiştir. Daha fazla bilgi için Kopyalama etkinliği genel bakış bölümüne bakın.
Uyarı
Bu bağlayıcı Microsoft Fabric'daki Data Factory'de de kullanılabilir. Fabric özgü yapılandırma ve özellikler için SAP Tablo bağlayıcısı Fabric belgelerine bakın.
İpucu
SAP veri tümleştirme senaryosuyla ilgili genel desteği öğrenmek için, Azure Data Factory kullanarak SAP veri tümleştirmesi teknik incelemesi'ni inceleyin; bu makalede her bir SAP bağlayıcısı hakkında ayrıntılı giriş, karşılaştırmalar ve yönergeler bulunmaktadır.
Desteklenen özellikler
Bu SAP tablo bağlayıcısı aşağıdaki özellikler için desteklenir:
| Desteklenen özellikler | Kızılötesi |
|---|---|
| Kopyalama etkinliği (kaynak/-) | (2) |
| Arama etkinliği | (2) |
(1) Azure tümleştirme çalışma zamanı (2) Yerel barındırılan tümleştirme çalışma zamanı
Kopyalama etkinliği tarafından kaynak veya havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.
Özellikle, bu SAP tablo bağlayıcısı şunları destekler:
Sap tablosundan veri kopyalama:
- SAP ERP Central Bileşeni (SAP ECC) sürüm 7.01 veya üzeri (2015'den sonra yayımlanan son SAP Destek Paketi Yığınında).
- SAP Business Warehouse (SAP BW) sürüm 7.01 veya üzeri (2015'den sonra yayımlanan son SAP Destek Paketi Yığınında).
- SAP S/4HANA.
- SAP Business Suite sürüm 7.01 veya sonraki sürümlerdeki diğer ürünler (2015'den sonra yayımlanan son SAP Destek Paketi Yığınında).
Hem bir SAP saydam tablosundan, hem havuza alınmış tablodan, hem kümelenmiş tablodan ve bir görünümden veri kopyalama.
SNC yapılandırılmışsa temel kimlik doğrulaması veya Güvenli Ağ İletişimi (SNC) kullanarak veri kopyalama.
SAP uygulama sunucusuna veya SAP ileti sunucusuna bağlanma.
Varsayılan veya özel RFC aracılığıyla veri alma.
SNC hakkında daha fazla bilgi için bkz . RFC tümleştirmeleri için SAP SNC ile çalışmaya başlama - SAP blogu.
Sürüm 7.01 veya üzeri, SAP ECC sürümü yerine SAP NetWeaver sürümünü ifade eder. Örneğin, SAP ECC 6.0 EHP 7 genel olarak NetWeaver sürüm >=7.4'e sahiptir. Ortamınızdan emin değilseniz SAP sisteminizden sürümü onaylama adımları şunlardır:
- SAP GUI kullanarak SAP Sistemine bağlanın.
- Sistem -> gidin.
- SAP_BASIS sürümünü denetleyin, 701'e eşit veya daha büyük olduğundan emin olun.
Önkoşullar
Bu SAP tablosu bağlayıcısını kullanmak için şunları yapmanız gerekir:
Kendi barındırmalı tümleştirme çalışma zamanı (sürüm 3.17 veya üzeri) ayarlayın. Daha fazla bilgi için bkz Şirket içinde barındırılan tümleştirme çalışma zamanı oluşturma ve yapılandırma.
SAP web sitesinden Microsoft .NET 3.0 için 64 bit
SAP Bağlayıcısı'nı indirin ve şirket içinde barındırılan tümleştirme çalışma zamanı makinesine yükleyin. Yükleme sırasında, İsteğe bağlı kurulum adımları penceresinde Derlemeleri GAC'ye Yükle seçeneğini belirlediğinizden emin olun.
SAP tablo bağlayıcısında kullanılan SAP kullanıcısının aşağıdaki izinlere sahip olması gerekir:
- Uzak İşlev Çağrısı (RFC) hedeflerini kullanma yetkilendirmesi.
- S_SDSAUTH yetkilendirme nesnesinin Execute etkinliğine yönelik izinler. Çoğunluk yetkilendirme nesneleri için SAP Not 460089'a başvurabilirsiniz. NCo bağlayıcısının altyapısında bulunan belirli RFC'ler gereklidir, örneğin RFC_FUNCTION_SEARCH.
Kullanmaya başlayın
Kopyalama etkinliğini bir işlem hattıyla gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portalı
- .NET SDK
- Python SDK'sı
- Azure PowerShell
- REST API'si
- Azure Resource Manager şablonu
Kullanıcı arabirimini kullanarak SAP tablosuna bağlı hizmet oluşturma
Azure portalı kullanıcı arabirimindeki bir SAP tablosuna bağlı hizmet oluşturmak için aşağıdaki adımları kullanın.
Azure Data Factory veya Synapse çalışma alanınızdaki Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:
Azure Data Factory UI ile yeni bir bağlı hizmet oluşturma ekranının ekran görüntüsü. SAP araması yapın ve SAP tablo bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
Bağlayıcı yapılandırma ayrıntıları
Aşağıdaki bölümlerde SAP tablo bağlayıcısına özgü varlıkları tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.
Bağlı hizmet özellikleri
SAP BW Open Hub bağlı hizmeti için aşağıdaki özellikler desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
type |
type özelliği olarak SapTableayarlanmalıdır. |
Evet |
server |
SAP örneğinin bulunduğu sunucunun adı. SAP uygulama sunucusuna bağlanmak için kullanın. |
Hayır |
systemNumber |
SAP sisteminin sistem numarası. SAP uygulama sunucusuna bağlanmak için kullanın. SAP tablosuyla iletişim kurarken kullanılan PORT numarasını etkiler. İzin verilen değer: Dize olarak temsil edilen iki basamaklı ondalık sayı. |
Hayır |
messageServer |
SAP ileti sunucusunun ana bilgisayar adı. SAP ileti sunucusuna bağlanmak için kullanın. |
Hayır |
messageServerService |
İleti sunucusunun hizmet adı veya bağlantı noktası numarası. SAP ileti sunucusuna bağlanmak için kullanın. |
Hayır |
systemId |
Tablonun bulunduğu SAP sisteminin kimliği. SAP ileti sunucusuna bağlanmak için kullanın. |
Hayır |
logonGroup |
SAP sisteminin oturum açma grubu. SAP ileti sunucusuna bağlanmak için kullanın. |
Hayır |
clientId |
SAP sistemindeki istemcinin kimliği. İzin verilen değer: Dize olarak temsil edilen üç basamaklı ondalık sayı. |
Evet |
language |
SAP sisteminin kullandığı dil. Varsayılan değer EN olarak belirlenmiştir. |
Hayır |
userName |
SAP sunucusuna erişimi olan kullanıcının adı. | Evet |
password |
Kullanıcının parolası. Bu alanı güvenli bir şekilde depolamak için SecureString türüyle işaretleyin veya Azure Key Vault içinde depolanan bir gizli anahtara başvurun. |
Evet |
sncMode |
Tablonun bulunduğu SAP sunucusuna erişmek için SNC etkinleştirme göstergesi. SAP sunucusuna bağlanmak için SNC kullanmak istiyorsanız kullanın. İzin verilen değerler 0 (kapalı, varsayılan) veya 1 (açık) değerleridir. |
Hayır |
sncMyName |
Tablonun bulunduğu SAP sunucusuna erişmek için başlatıcının SNC adı. Açık olduğunda sncMode geçerlidir. |
Hayır |
sncPartnerName |
Tablonun bulunduğu SAP sunucusuna erişmek için iletişim ortağının SNC adı. Açık olduğunda sncMode geçerlidir. |
Hayır |
sncLibraryPath |
Tablonun bulunduğu SAP sunucusuna erişmek için dış güvenlik ürününün kitaplığı. Açık olduğunda sncMode geçerlidir. |
Hayır |
sncQop |
Uygulanacak SNC Koruma Kalitesi düzeyi.sncMode açıkken geçerlidir. İzin verilen değerler (Kimlik Doğrulaması), (Bütünlük), 12 (Gizlilik), (Varsayılan), 38 (Maksimum) değerleridir 9 . |
Hayır |
connectVia |
Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Önkoşullar bölümünde daha önce belirtildiği gibi, yerel olarak barındırılan tümleştirme çalışma zamanı gereklidir. | Evet |
Örnek 1: SAP uygulama sunucusuna bağlanma
{
"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"
}
}
}
Örnek 2: SAP ileti sunucusuna bağlanma
{
"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"
}
}
}
Örnek 3: SNC kullanarak bağlanma
{
"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"
}
}
}
SNC hakkında daha fazla bilgi için bkz . RFC tümleştirmeleri için SAP SNC ile çalışmaya başlama - SAP blogu.
Veri kümesi özellikleri
Veri kümelerini tanımlamaya yönelik bölümlerin ve özelliklerin tam listesi için bkz . Veri kümeleri. Aşağıdaki bölümde SAP tablo veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.
SAP BW Open Hub bağlı hizmetinden ve hizmetine veri kopyalamak için aşağıdaki özellikler desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
type |
type özelliği olarak SapTableResourceayarlanmalıdır. |
Evet |
tableName |
Verileri kopyalanacak SAP tablosunun adı. | Evet |
Örnek
{
"name": "SAPTableDataset",
"properties": {
"type": "SapTableResource",
"typeProperties": {
"tableName": "<SAP table name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<SAP table linked service name>",
"type": "LinkedServiceReference"
}
}
}
Kopyalama etkinliği özellikleri
Etkinlikleri tanımlamaya yönelik bölümlerin ve özelliklerin tam listesi için bkz İşlem Hatları. Aşağıdaki bölümde SAP tablo kaynağı tarafından desteklenen özelliklerin listesi sağlanır.
Kaynak olarak SAP tablosu
SAP tablosundan veri kopyalamak için aşağıdaki özellikler desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
type |
type özelliği olarak SapTableSourceayarlanmalıdır. |
Evet |
rowCount |
Alınacak satır sayısı. | Hayır |
rfcTableFields |
SAP tablosundan kopyalanacak alanlar (sütunlar). Örneğin, column0, column1. |
Hayır |
rfcTableOptions |
SAP tablosundaki satırları filtreleme seçenekleri. Örneğin, COLUMN0 EQ 'SOMEVALUE'. Bu makalenin devamında sap sorgu işleci tablosuna da bakın. |
Hayır |
customRfcReadTableFunctionModule |
SAP tablosundaki verileri okumak için kullanılabilecek özel bir RFC işlev modülü. Verilerin SAP sisteminizden nasıl alınıp hizmete döndürülür tanımlamak için özel bir RFC işlev modülü kullanabilirsiniz. Özel işlev modülünün, hizmet tarafından kullanılan varsayılan arabirim olan uygulamasına /SAPDS/RFC_READ_TABLE2benzer bir arabirim (içeri aktarma, dışarı aktarma, tablolar) olmalıdır. |
Hayır |
partitionOption |
SAP tablosundan okunacak bölüm mekanizması. Desteklenen seçenekler şunlardır:
|
Hayır |
partitionColumnName |
Verileri bölümlendirmek için kullanılan sütunun adı. | Hayır |
partitionUpperBound |
Bölümleme işlemine devam etmek için içinde belirtilen partitionColumnName sütunun en büyük değeri kullanılır. |
Hayır |
partitionLowerBound |
Bölümleme işlemine devam etmek için içinde belirtilen partitionColumnName sütunun en düşük değeri kullanılır. (Not: partitionLowerBound Bölüm seçeneği PartitionOnIntolduğunda "0" olamaz) |
Hayır |
maxPartitionsNumber |
Verilerin bölündüğü bölüm sayısı üst sınırı. Varsayılan değer 1 şeklindedir. | Hayır |
sapDataColumnDelimiter |
SAP RFC'ye sınırlayıcı olarak geçirilen tek karakter, çıkış verilerini bölmek için kullanılır. | Hayır |
İpucu
SAP tablonuzda birkaç milyar satır gibi büyük hacimli veriler varsa ve partitionOptionpartitionSetting kullanarak verileri daha küçük bölümlere bölün. Bu durumda, veriler bölüm başına okunur ve her veri bölümü tek bir RFC çağrısı aracılığıyla SAP sunucunuzdan alınır.
partitionOption örnek olarak partitionOnInt, her bölümdeki satır sayısı şu formülle hesaplanır: (partitionUpperBound ve partitionLowerBound arasına düşen toplam satır sayısı)/maxPartitionsNumber.
Kopyalamayı hızlandırmak için veri bölümlerini paralel olarak yüklemek için, paralel derece kopyalama etkinliğindeki parallelCopies ayar tarafından denetlenmektedir. Örneğin, dört olarak ayarlarsanız parallelCopies , hizmet aynı anda belirtilen bölüm seçeneğinize ve ayarlarınıza göre dört sorgu oluşturur ve çalıştırır ve her sorgu SAP tablonuzdan verilerin bir bölümünü alır.
maxPartitionsNumber'ı, parallelCopies özelliğinin değerinin katı olacak şekilde ayarlamanızı kesinlikle öneririz. Verileri dosya tabanlı veri deposuna kopyalarken, bir klasöre birden çok dosya olarak yazmanız da önerilir (yalnızca klasör adını belirtin), bu durumda performans tek bir dosyaya yazmaktan daha iyidir.
İpucu
BASXML, hizmet içindeki bu SAP Tablo bağlayıcısı için varsayılan olarak etkindir.
içinde rfcTableOptions, satırları filtrelemek için aşağıdaki yaygın SAP sorgu işleçlerini kullanabilirsiniz:
| Operatör | Açıklama |
|---|---|
EQ |
Eşittir |
NE |
Eşit değil |
LT |
Daha az |
LE |
Küçüktür veya eşittir |
GT |
Daha büyük |
GE |
Büyüktür veya eşittir |
IN |
Olduğu gibi TABCLASS IN ('TRANSP', 'INTTAB') |
LIKE |
Olduğu gibi LIKE 'Emma%' |
Örnek
"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
}
}
]
SAP tablolarını birleştirme
ŞU anda SAP Tablo bağlayıcısı, varsayılan işlev modülüne sahip tek bir tabloyu destekler. Birden çok tablonun birleştirilmiş verilerini almak için aşağıdaki adımları izleyerek SAP Tablosu bağlayıcısında customRfcReadTableFunctionModule özelliğinden yararlanabilirsiniz:
- Bir sorguyu SEÇENEKLER olarak alabilen ve verileri almak için kendi mantığınızı uygulayabilen özel bir işlev modülü yazın.
- "Özel işlev modülü" için özel işlev modülünüzün adını girin.
- "RFC tablo seçenekleri" için, işlev modülünüze beslenen tablo birleştirme deyimini OPTIONS olarak belirtin; örneğin, "
<TABLE1>INNER JOIN<TABLE2>ON COLUMN0".
Aşağıda örnek verilmiştir:
İpucu
Ayrıca, birleştirilmiş verilerin SAP Tablo bağlayıcısı tarafından desteklenen VIEW'da toplanmış olmasını da düşünebilirsiniz. ayrıca, Azure (örneğin, Azure Depolama, Azure SQL Veritabanı) üzerine eklemek için ilgili tabloları ayıklamayı deneyebilir ve daha fazla birleştirme veya filtreleme işlemine devam etmek için Veri Akışı kullanabilirsiniz.
Özel işlev modülü oluşturma
SAP tablosu için şu anda kopyalama kaynağında customRfcReadTableFunctionModule özelliğini destekliyoruz. Bu özellik kendi mantığınızdan ve işlem verilerinizden yararlanmanızı sağlar.
Hızlı bir kılavuz olarak, "Özel işlev modülü" ile çalışmaya başlamaya yönelik bazı gereksinimler şunlardır:
Tanım:
Verileri aşağıdaki tablolardan birine aktarın:
SAP tablo bağlayıcısının özel işlev modülüyle nasıl çalıştığını gösteren çizimler aşağıdadır:
SAP NCO aracılığıyla SAP sunucusuyla bağlantı oluşturun.
Aşağıdaki gibi ayarlanmış parametrelerle "Özel işlev modülünü" çağırın:
- QUERY_TABLE: SAP Tablo veri kümesinde ayarladığınız tablo adı;
- Sınırlayıcı: SAP Tablo Kaynağı'nda ayarladığınız sınırlayıcı;
- ROWCOUNT/Option/Fields: Tablo kaynağında ayarladığınız Satır Sayısı/Toplu Seçenek/Alanlar.
Sonucu alın ve verileri aşağıdaki yollarla ayrıştırın:
Şemaları almak için Alanlar tablosundaki değeri ayrıştırın.
Hangi tablonun bu değerleri içerdiğini görmek için çıkış tablosunun değerlerini alın.
OUT_TABLE değerlerini alın, verileri ayrıştırın ve havuza yazın.
SAP tablosu için veri türü eşlemeleri
SAP tablosundan veri kopyalarken, SAP tablosu veri türlerinden hizmet içinde kullanılan ara veri türlerine aşağıdaki eşlemeler kullanılır. Kopyalama etkinliğinin kaynak şemayı ve veri türünü havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri.
| SAP ABAP Türü | Hizmet ara veri türü |
|---|---|
C (Dize) |
String |
I (Tamsayı) |
Int32 |
F (Kayan) |
Double |
D (Tarih) |
String |
T (Saat) |
String |
P (BCD Paketli, Para Birimi, Ondalık, Miktar) |
Decimal |
N (Sayısal) |
String |
X (İkili ve Ham) |
String |
Arama etkinliği özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.
İlgili içerik
Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . Desteklenen veri depoları.