Menyalin data dari SAP Business Warehouse melalui Open Hub menggunakan Azure Data Factory atau Synapse Analytics

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Artikel ini menguraikan cara menggunakan Copy Activity di alur Azure Data Factory dan Synapse Analytics untuk menyalin data dari SAP Business Warehouse (BW) melalui Open Hub. Artikel tersebut dibuat berdasarkan artikel gambaran umum aktivitas salin yang menyajikan gambaran umum aktivitas salin.

Tip

Untuk mempelajari tentang dukungan keseluruhan untuk skenario integrasi data SAP, lihat laporan resmi integrasi data SAP dengan pengenalan mendetail pada setiap konektor SAP, perbandingan, dan panduan SAP.

Kemampuan yang didukung

Konektor SAP Business Warehouse Open Hub ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR
Aktivitas penyalinan (sumber/-)
Aktivitas pencarian

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Untuk daftar penyimpanan data yang didukung sebagai sumber/sink oleh aktivitas salin, lihat tabel Penyimpanan data yang didukung.

Secara khusus, konektor SAP Business Warehouse Open Hub ini mendukung:

  • SAP Business Warehouse versi 7.01 atau lebih tinggi (dalam Tumpukan Paket Dukungan SAP terbaru yang dirilis setelah tahun 2015). SAP BW/4HANA tidak didukung oleh konektor ini.
  • Menyalin data melalui tabel lokal Open Hub Destination, yang di bawahnya bisa DSO, InfoCube, MultiProvider, DataSource, dll.
  • Menyalin data menggunakan autentikasi dasar.
  • Menyambungkan ke server aplikasi SAP atau server pesan SAP.
  • Mengambil data melalui RFC.

Integrasi SAP BW Open Hub

Layanan SAP BW Open Hub adalah cara efisien untuk mengekstrak data dari SAP BW. Diagram berikut menunjukkan salah satu alur khas yang dimiliki pelanggan dalam sistem SAP mereka, dalam hal ini aliran data dari SAP ECC -> PSA -> DSO -> Cube.

SAP BW Open Hub Destination (OHD) menentukan target di mana data SAP disampaikan. Objek apa pun yang didukung oleh SAP Data Transfer Process (DTP) dapat digunakan sebagai sumber data open hub, misalnya, DSO, InfoCube, DataSource, dll. Jenis Open Hub Destination - tempat data yang disampaikan disimpan - dapat berupa tabel database (lokal atau jarak jauh) dan file datar. Konektor Sap BW Open Hub ini mendukung penyalinan data dari tabel lokal OHD di BW. Jika Anda menggunakan jenis lain, Anda bisa langsung tersambung ke database atau sistem file menggunakan konektor lain.

SAP BW Open Hub

Alur ekstraksi Delta

Konektor SAP BW Open Hub menawarkan dua properti opsional: excludeLastRequest dan baseRequestId yang dapat digunakan untuk menangani beban dari Open Hub.

  • excludeLastRequestId: Apakah akan mengecualikan rekaman permintaan terakhir. Nilai defaultnya adalah true.
  • baseRequestId: ID permintaan untuk pemuatan delta. Setelah ditetapkan, hanya data dengan requestId yang lebih besar dari nilai properti ini yang akan diambil.

Secara keseluruhan, ekstraksi dari SAP InfoProviders terdiri dari dua langkah:

  1. Proses Transfer Data (DTP) SAP BW Langkah ini menyalin data dari SAP BW InfoProvider ke tabel SAP BW Open Hub

  2. Salinan data Pada langkah ini, tabel Open Hub dibaca oleh konektor

Delta extraction flow

Pada langkah pertama, DTP dijalankan. Setiap eksekusi membuat ID permintaan SAP baru. ID permintaan disimpan dalam tabel Open Hub dan kemudian digunakan oleh konektor untuk mengidentifikasi delta. Kedua langkah berjalan secara asinkron: DTP dipicu oleh SAP, dan salinan data dipicu melalui layanan.

Secara default, layanan tidak membaca delta terbaru dari tabel Open Hub (opsi "kecualikan permintaan terakhir" adalah benar). Dengan ini, data dalam layanan tidak 100% terbaru dengan data di tabel Open Hub (delta terakhir tidak ada). Sebagai gantinya, prosedur ini memastikan bahwa tidak ada baris yang tersesat yang disebabkan oleh ekstraksi asinkron. Ini berfungsi dengan baik bahkan ketika layanan membaca tabel Open Hub saat DTP masih menulis ke tabel yang sama.

Anda biasanya menyimpan ID permintaan yang disalin maksimal dalam proses terakhir yang dijalankan oleh layanan di penyimpanan data pementasan (seperti Azure Blob dalam diagram di atas). Oleh karena itu, permintaan yang sama tidak dibaca untuk kedua kalinya oleh layanan dalam proses berikutnya. Sementara itu, perhatikan bahwa data tidak dihapus secara otomatis dari tabel Open Hub.

Untuk penanganan delta yang tepat, tidak diizinkan untuk meminta ID dari DTP yang berbeda di tabel Open Hub yang sama. Oleh karena itu, Anda tidak boleh membuat lebih dari satu DTP untuk setiap Open Hub Destination (OHD). Ketika membutuhkan ekstraksi Penuh dan Delta dari InfoProvider yang sama, Anda harus membuat dua OHD untuk InfoProvider yang sama.

Prasyarat

Untuk menggunakan konektor SAP Business Warehouse Open Hub ini, Anda perlu:

  • Siapkan Runtime Integrasi yang Dihosting Sendiri dengan versi 3.13 atau yang lebih baru. Lihat Artikel Integration Runtime yang dihost sendiri untuk detailnya.

  • Unduh SAP .NET Connector 3.0 64-bit dari situs web SAP, dan pasang di komputer IR yang Dihosting Sendiri. Saat memasang, di jendela langkah-langkah pengaturan opsional, pastikan Anda memilih opsi Pasang Rakitan ke GAC seperti yang ditunjukkan pada gambar berikut.

    Install SAP .NET Connector

  • Pengguna SAP yang digunakan di konektor BW harus memiliki izin berikut:

    • Otorisasi untuk RFC dan SAP BW.
    • Izin untuk “Eksekusi” Aktivitas dari Objek Otorisasi “S_SDSAUTH”.
  • Buat jenis SAP Open Hub Destination sebagai Tabel Database dengan opsi "Kunci Teknis" dicentang. Disarankan juga untuk tidak mencentang pada Menghapus Data dari Tabel meskipun tidak diperlukan. Gunakan DTP (langsung mengeksekusi atau mengintegrasikan ke dalam rantai proses yang ada) untuk mendaratkan data dari objek sumber (seperti kubus) yang telah Anda pilih ke tabel tujuan hub terbuka.

Memulai

Tip

Untuk panduan penggunaan konektor SAP BW Open Hub, lihat Memuat data dari SAP Business Warehouse (BW).

Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:

Bagian berikut ini menyediakan detail tentang properti yang digunakan untuk menentukan entitas khusus untuk konektor SAP Business Warehouse Open Hub.

Properti layanan tertaut

Properti berikut ini didukung untuk layanan tertaut SAP Business Warehouse Open Hub:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke: SapOpenHub Ya
server Nama server tempat instans SAP Business Warehouse berada. Ya
systemNumber Nomor sistem SAP Business Warehouse.
Nilai yang diizinkan: angka desimal dua digit direpresentasikan sebagai string (karakter).
Ya
messageServer Nama host server pesan SAP.
Gunakan untuk menyambungkan ke server pesan SAP.
Tidak
messageServerService Nama layanan atau nomor port server pesan.
Gunakan untuk menyambungkan ke server pesan SAP.
Tidak
systemId ID sistem SAP tempat tabel berada.
Gunakan untuk menyambungkan ke server pesan SAP.
Tidak
logonGroup Grup masuk untuk sistem SAP.
Gunakan untuk menyambungkan ke server pesan SAP.
Tidak
clientId ID klien dalam sistem SAP W.
Nilai yang diizinkan: angka desimal tiga digit yang direpresentasikan sebagai string (karakter).
Ya
bahasa Bahasa yang digunakan sistem SAP. Tidak (nilai default adalah EN)
userName Nama pengguna yang memiliki akses ke server SAP. Ya
kata sandi Kata sandi untuk pengguna. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau mereferensikan rahasia yang disimpan di Azure Key Vault. Ya
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Runtime integrasi yang dihost sendiri diperlukan seperti yang disebutkan dalam Prasyarat. Ya

Contoh:

{
    "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"
        }
    }
}

Properti himpunan data

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel Himpunan Data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data SAP BW Open Hub.

Untuk menyalin data dari dan ke SAP BW Open Hub, atur properti jenis himpunan data ke SapOpenHubTable. Properti berikut ini didukung.

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke SapOpenHubTable. Ya
openHubDestinationName Nama Open Hub Destination untuk menyalin data. Ya

Jika Anda mengatur excludeLastRequest dan baseRequestId dalam himpunan data, itu masih didukung apa adanya, sementara Anda disarankan untuk menggunakan model baru di sumber aktivitas ke depannya.

Contoh:

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

Properti aktivitas salin

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber SAP BW Open Hub.

SAP BW Open Hub sebagai sumber

Untuk menyalin data dari SAP BW Open Hub, properti berikut ini didukung di bagian sumber aktivitas penyalinan:

Properti Deskripsi Wajib
jenis Properti jenis sumber aktivitas penyalinan harus diatur ke SapOpenHubSource. Ya
excludeLastRequest Apakah akan mengecualikan rekaman permintaan terakhir. Tidak (default adalah benar)
baseRequestId ID permintaan untuk pemuatan delta. Setelah ditetapkan, hanya data dengan requestId yang lebih besar dari nilai properti ini yang akan diambil. Tidak
kustomRfcReadTableFungsiModule Modul fungsi RFC kustom yang dapat digunakan untuk membaca data dari tabel SAP.
Anda dapat menggunakan modul fungsi RFC kustom untuk menentukan bagaimana data diambil dari sistem SAP Anda dan dikembalikan ke layanan. Modul fungsi kustom harus memiliki antarmuka yang diimplementasikan (impor, ekspor, tabel) yang mirip dengan /SAPDS/RFC_READ_TABLE2, yang merupakan antarmuka default yang digunakan oleh layanan.
Tidak
sapDataColumnDelimiter Karakter tunggal yang digunakan sebagai pemisah diteruskan ke SAP RFC untuk memisah data output. Tidak

Tip

Jika tabel Open Hub Anda hanya berisi data yang dihasilkan oleh ID permintaan tunggal, misalnya, Anda selalu melakukan pemuatan penuh dan menimpa data yang ada dalam tabel, atau Anda hanya menjalankan DTP sekali untuk pengujian, ingatlah untuk menghapus centang opsi "excludeLastRequest" untuk menyalin data.

Untuk mempercepat pemuatan data, Anda dapat mengatur parallelCopies di aktivitas penyalinan untuk memuat data dari SAP BW Open Hub secara paralel. Misalnya, jika Anda mengatur parallelCopies ke empat, layanan secara bersamaan menjalankan empat panggilan RFC, dan setiap panggilannya mengambil sebagian data dari tabel SAP BW Open Hub Anda yang dipartisi oleh ID permintaan DTP dan ID paket. Ini berlaku ketika jumlah ID permintaan DTP + ID paket yang unik lebih besar dari nilai parallelCopies. Saat menyalin data ke penyimpanan data berbasis file, disarankan untuk menulis ke satu folder sebagai beberapa file (hanya menentukan nama folder), dalam kasus ini, performanya lebih baik daripada menulis ke satu file.

Contoh:

"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
        }
    }
]

Pemetaan jenis data untuk SAP BW Open Hub

Saat menyalin data dari SAP BW Open Hub, pemetaan berikut digunakan dari tipe data SAP BW ke tipe data sementara yang digunakan secara internal dalam layanan. Lihat Pemetaan skema dan jenis data untuk mempelajari bagaimana aktivitas penyalinan memetakan skema sumber dan jenis data ke sink.

Jenis SAP ABAP Jenis data layanan sementara
C (untai (karakter)) String
I (bilangan bulat) Int32
F (Float) Laju
D (Tanggal) String
T (Waktu) String
P (BCD Dikemas, Mata Uang, Desimal, Jumlah) Decimal
N (Numc) String
X (Biner dan Mentah) String

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Tips pemecahan masalah

Gejala: Jika Anda menjalankan SAP BW di HANA dan hanya mengamati subset data yang disalin menggunakan aktivitas penyalinan (1 juta baris), kemungkinan penyebabnya adalah Anda mengaktifkan opsi "Eksekusi SAP HANA" di DTP Anda, dalam kasus ini, layanan hanya dapat mengambil batch data pertama.

Resolusi: Nonaktifkan opsi "Eksekusi SAP HANA" di DTP, memproses ulang data, lalu coba jalankan aktivitas penyalinan lagi.

Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.