SAP ERP
您可以使用 SAP ERP 連接器,對 SAP ERP 資料執行插入、刪除、更新和讀取作業。
支援的版本
SAP ERP 連接器可透過下列方法與 SAP R/3 系統通訊:
- 商業應用程式設計介面 (BAPI)
- 遠端函式呼叫 (RFC)
- SAP 資料表
- SAP 查詢
- IDoc 訊息
- SAP ECC
- SAP ERP
- SAP R/3
- 地端部署的 SAP S/4 Hana
- SAP JCo 版本。
建立連線時,這個連接器需要提供兩個 JCo 檔案:
sapjco3.jar
和libsapjco3.so
(適用於 Unix)。您可以從 SAP Connectors 網站下載 JCo 3.1.5 版。
如果 SAP 系統支援 RFC 連線,且可使用必要的 RFC,則連線至 SAP 系統的作業就會正常運作。系統也可能支援其他支援 RFC 連線的版本。
SAP 資料表:系統會透過 TableMode 連線屬性,自動將 SAP 資料表公開為檢視區塊。使用 Views 連線屬性指定要使用的 SAP 資料表,這會覆寫 TableMode。SAP 不建議直接修改資料表。建議改用 BAPI 修改任何表格資料。系統不支援直接修改 SAP 資料表。
BAPI 和 RFC:BAPI 和 RFC 會直接公開為預存程序。根據預設,系統會顯示所有以 BAPI 關鍵字開頭的 RFC,做為可用的預存程序。
IDoc:中繼文件 (IDoc) 檔案是 SAP 物件,可將業務交易資料以電子郵件的形式從一個系統傳輸至另一個系統。IDoc 會透過電子資料交換 (EDI) 系統,將資料從 SAP 傳輸至非 SAP 系統。
如要進一步瞭解這些字詞,請參閱 SAP 詞彙表。
事前準備
使用 SAP ERP 連接器前,請先完成下列工作:
- 在 Google Cloud 專案中:
- 確認已設定網路連線。如要瞭解網路模式,請參閱「網路連線」。
- 將 roles/connectors.admin IAM 角色授予設定連線器的使用者。
- 將下列 IAM 角色授予要用於連接器的服務帳戶:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
roles/storage.objectViewer
服務帳戶是特殊的 Google 帳戶類型,主要用於代表需要驗證且必須取得授權才能存取 Google API 資料的非人類使用者。如果您沒有服務帳戶,請建立服務帳戶。詳情請參閱「建立服務帳戶」。
- 啟用下列服務:
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
如要瞭解如何啟用服務,請參閱「啟用服務」。
如果專案先前未啟用這些服務或權限,系統會在設定連結器時提示您啟用。
啟用事件訂閱功能後,您必須設定 ABAP SDK。如要瞭解如何設定 ABAP SDK,請參閱「Google Cloud ABAP SDK 總覽」。
-
您必須建立指定 bucket,並上傳從 SAP ERP 入口網站下載的下列物件 ID:
- JCo JAR 檔案的 Cloud Storage 路徑:Java 連接器 (JCo) JAR 檔案的 Cloud Storage 路徑。
- libsapjco3 Cloud Storage 路徑:libsapjco3 JAR 檔案的 Cloud Storage 路徑。
設定連接器
連線專屬於資料來源。也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:
- 在 Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。
- 按一下「+ 建立新項目」開啟「建立連線」頁面。
-
在「位置」部分中,選擇連線位置。
- 區域:從下拉式清單中選取位置。
如需所有支援的地區清單,請參閱「位置」一文。
- 點選「下一步」。
- 區域:從下拉式清單中選取位置。
- 在「連線詳細資料」部分,完成下列步驟:
- 連接器:從可用連接器的下拉式清單中選取「SAP ERP」。
- 連接器版本:從可用版本的下拉式清單中選取連接器版本。
- 在「連線名稱」欄位中,輸入連線執行個體的名稱。
連線名稱必須符合下列條件:
- 連線名稱可使用英文字母、數字或連字號。
- 字母必須為小寫。
- 連線名稱開頭須為英文字母,結尾則須為英文字母或數字。
- 連結名稱不得超過 49 個字元。
- 如果連接器支援事件訂閱,連接名稱開頭不得為「goog」前置字串。
- 視需要輸入連線的「Description」(說明)。
- 或者,可啟用 Cloud Logging,然後選取記錄層級。記錄層級預設為
Error
。 - 服務帳戶:選取具備必要角色的服務帳戶。
- 如要將連線用於事件訂閱,請選取「啟用事件訂閱」。選取這個選項後,會顯示下列選項:
- 啟用事件訂閱功能,並使用實體和動作:選取這個選項,即可將連線用於事件訂閱和連接器作業 (實體和動作)。
- 只啟用事件訂閱項目:選取這個選項,即可只將連線用於事件訂閱。如果選取這個選項,請按一下「下一步」,然後設定事件訂閱。
- 用戶端:向 SAP 系統驗證的用戶端。
- 系統 ID:SAP 系統的系統 ID 或 R3Name 是字串,最多可有三個字元。這項功能常用於負載平衡連線。
- 系統編號:定義目標系統的編號。設定主機連線屬性時使用。
- 專案 ID:包含 SAP JCo JAR 的 GCS bucket 所屬 Google Cloud 專案的 ID。
- 值區:包含 sapjco3.jar 和 libsapjco3.so 檔案的值區名稱。
- JCo JAR Cloud Storage 路徑:JCo JAR 的 Cloud Storage 路徑。
- libsapjco3 Cloud Storage 路徑:libsapjco3 JAR 的 Cloud Storage 路徑。
- 表格模式:選取要以檢視畫面顯示的 SAP 表格。
- 讀取資料表函式:用於讀取資料表的函式名稱。詳情請參閱「使用自訂讀取資料表函式」。
- 系統 ID:SAP 系統的系統 ID 或 R3Name。最多可輸入 3 個字元。
- 查詢模式:選取要以檢視區塊顯示的 SAP 資料表。
-
可瀏覽的檢視畫面:輸入要顯示的檢視畫面清單 (以半形逗號分隔)。
例如:
ViewA,ViewB,ViewC
。 - 語言:將這個屬性設為您登入 SAP 時指定的語言。這個屬性是 SAP 系統使用的語言 ISO 639-1 代碼。根據預設,系統會使用 EN。
- 服務項目:連線要使用的服務項目。
-
SNC 模式:選取這個選項,即可為整合連接器與 SAP 系統之間的驗證啟用 SNC。如果選取這個選項,請指定下列詳細資料:
- SNC_LIB 物件 ID:SNC 程式庫的物件 ID。
- PSE 名稱:適用於值區的個人安全環境 (PSE) 檔案名稱。PSE 檔案會以 ASN.1 結構儲存公開和私密金鑰組,以及 X.509 憑證。
- SNC 密碼:選取 SNC 程式庫密碼的 Secret Manager 密鑰。
- 密鑰版本:選取密鑰版本。
- SNC 名稱:輸入 SNC 連線的名稱。
-
SNC qop:選取防護等級。支援的層級如下:
- 1 - 僅套用驗證。
- 2 - 應用程式完整性防護。包括驗證保護機制。
- 3 - 採用隱私權保護措施。這也包括完整性和驗證保護。
- 8 - 套用預設保護措施。
- 9 - 套用最高保護等級。
- SNC 合作夥伴名稱:輸入應用程式伺服器的 SNC 名稱。
-
連線架構:指定您要連線至訊息伺服器 (群組伺服器) 或應用程式伺服器的 SAP 系統。如要瞭解透過訊息伺服器連線至 SAP 系統的必要條件,請參閱「訊息伺服器 (群組伺服器) 連線類型」。
如果選取「GroupServer」GroupServer,則必須指定下列詳細資料:
- 訊息伺服器:連線至使用負載平衡的 SAP 系統時,請指定訊息伺服器。
- 訊息伺服器服務:要連線的訊息伺服器服務。
- 群組:使用的登入群組。只有在連線至使用負載平衡的 SAP 系統時,才需要指定這個值。
如果您要連線至使用訊息伺服器 (群組伺服器) 的 SAP 系統,則不需要在「目的地」部分指定主機位址。
- 視需要設定「連線節點設定」:
- 節點數量下限:輸入連線節點數量下限。
- 節點數量上限:輸入連線節點數量上限。
節點是用來處理交易的連線單位 (或備用資源)。連線處理的交易量越多,就需要越多節點;反之,處理的交易量越少,需要的節點就越少。如要瞭解節點對連接器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。
- 選用:按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
- 點選「下一步」。
- 在「目的地」部分,輸入要連線的遠端主機 (後端系統) 詳細資料。如果您要連線至使用訊息伺服器的 SAP 系統,則不需要指定主機位址。
- 目的地類型:選取目的地類型。
- 從清單中選取「主機地址」,指定目的地的主機名稱或 IP 位址。
- 如要與後端系統建立私人連線,請從清單中選取「Endpoint attachment」(端點附件),然後從「Endpoint Attachment」(端點附件) 清單中選取所需端點附件。
如要建立與後端系統的公開連線,並加強安全性,建議為連線設定靜態輸出 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址。
如要輸入其他目的地,請按一下「+新增目的地」。
- 點選「下一步」。
- 目的地類型:選取目的地類型。
-
在「Authentication」(驗證) 部分中,輸入驗證詳細資料。
- 選取「驗證類型」並輸入相關詳細資料。
SAP ERP 連線支援下列驗證類型:
- 以 X509 憑證為基礎的驗證
- 使用者名稱和密碼
- 點選「下一步」。
如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。
- 選取「驗證類型」並輸入相關詳細資料。
- 如果已啟用事件訂閱功能,連線建立頁面會顯示「事件訂閱詳細資料」部分。如要瞭解如何設定事件訂閱詳細資料,請參閱「設定事件訂閱」。
- 檢查:檢查連線和驗證詳細資料。
- 點選「建立」。
設定驗證機制
根據要使用的驗證方式輸入詳細資料。
-
以 X509 憑證為基礎的驗證
- X509Certificate:用於登入的 X509 憑證。
- 密鑰版本:選取密鑰版本。
-
使用者名稱和密碼
- 使用者名稱:連接器的使用者名稱
- 密碼:Secret Manager 密鑰,內含與連接器相關聯的密碼。
設定事件訂閱
啟用事件訂閱功能後,您必須設定 ABAP SDK。如要瞭解如何設定 ABAP SDK,請參閱「Google Cloud ABAP SDK 總覽」。
在「Event Subscription Details」(事件訂閱詳細資料) 區段中,輸入下列值:
-
為事件監聽器選取下列任一驗證類型。
- Google 驗證。啟用這個選項後,請按照「使用 JSON Web Token 進行驗證」一文中的步驟,設定 ABAP SDK 的驗證機制。此外,請確保服務帳戶具有 roles/connectors.listener 角色,其存取權杖用於驗證。
- API 金鑰驗證。如選取這個選項,您必須先建立 API 金鑰,然後將金鑰儲存為 Secret Manager 密鑰。詳情請參閱「建立 API 金鑰」。
-
輸入事件類型欄位名稱。這個欄位會指出與傳入事件要求相關聯的事件類型。
{ "event_type": "user.created", ... // other request fields ... }
- 選取「啟用私人連線」,在後端應用程式和連線之間建立安全連線。如果選取這個選項,您必須在建立連線後執行額外設定步驟。詳情請參閱「活動訂閱的私人連線」。
- 輸入無法傳送郵件的設定。如果設定無效信件,連線會將未處理的事件寫入指定的 Pub/Sub 主題。輸入下列詳細資料:
- 無法傳送的訊息專案 ID: 您已設定無法傳送的訊息 Pub/Sub 主題的 Google Cloud 專案 ID。
- 無效信件主題: 要寫入未處理事件詳細資料的 Pub/Sub 主題。
連線設定範例
以下各節列出建立 SAP ERP 連線時,各個欄位的範例值,以及不同連線類型所需的參數。
連線至分散式 SAP 系統
如果您連線至分散式 SAP 系統 (例如使用負載平衡的系統),則必須指定下列額外連線屬性。管理員可以在 SAP 系統的「系統項目屬性」對話方塊中,透過「連線」分頁取得這些連線屬性。
- 系統 ID:指定從 SystemId 屬性取得的值。系統 ID 是 SAP 系統的系統 ID/R3Name。系統 ID 為字串,最多三個字元。
- 訊息伺服器:連線至使用負載平衡的 SAP 系統時,必須指定「訊息伺服器」欄位。將這個屬性設為您從 SAP 系統的 MessageServer 屬性取得的值。此外,請在「訊息伺服器」欄位的值前面加上 SAProuter 方塊的值。
- 群組:將這個屬性設為從「群組/伺服器」屬性取得的值。Group 屬性會指定使用的登入群組。預設值為 PUBLIC。
連線至自訂應用程式伺服器
如果您使用專屬應用程式伺服器或自訂應用程式伺服器連線至 SAP 系統,則必須指定下列額外連線屬性。管理員可以從 SAP 系統取得這些連線屬性。
- 系統 ID:指定從 SystemId 屬性取得的值。這是 SAP 系統的系統 ID 或 R3Name。系統 ID 為字串,最多三個字元。
- 主機:指定從應用程式伺服器取得的值。
這會指定目標系統的主機名稱。這個值可以是正常主機名稱、IP 位址或 SAP 路由器位址。
- 系統編號:指定從 SystemNumber 屬性取得的值。
SystemNumber 屬性會定義目標系統。
設定安全網路連線
如果管理員已設定安全網路通訊 (SNC),您必須設定下列額外屬性。在 SAP 系統中,您可以在「System Entry Properties」(系統項目屬性) 對話方塊的「Network」(網路) 分頁中,取得下列 SNC 連線字串屬性。
- SNC 模式:如果 SAP 中已啟用「Activate Secure Network Connections」核取方塊,請將 SNC 模式連線屬性設為 True。否則,請將 SNC 模式連線屬性設為 False。
SNCMode 連線屬性是布林值,可判斷您是否使用 SNC。預設值為 False。
- SNC PartnerName:SNC PartnerName 會指定應用程式伺服器的 SNC 名稱。例如:p:CN=IDS, OU=IT, O=CSW, C=DE
- SNC 名稱:選填。SNCName 屬性會指定 SNC 連線的名稱。設定這項屬性,確保連線使用正確的 SNC 名稱。
- SNC Qop:將這個屬性設為「安全網路設定」部分中選取的選項。舉例來說,如果選取「完整性」選項,請將 SNCQop 屬性設為 3。
SNCQop 屬性會指定資料保護的等級 (或品質)。如未指定這項屬性,系統會將這項屬性設為整數 -1。有效值為 1、2、3、8 或 9,分別對應保護等級。
- SNC_Lib 物件 ID:將這個屬性設為 SNC 程式庫的路徑和檔案名稱。指定所用安全防護程式庫的完整路徑,例如
C:\Secude\secude.xll.
ApplicationServer 連線類型
如要連線至應用程式伺服器,必須在網路端點群組 (NEG) 和健康狀態檢查中,使用 SAP 系統 IP 和 33XX 連接埠設定 Private Service Connect 和負載平衡器。其中 XX 是所用 SAP 系統的系統或執行個體編號。下表列出 ApplicationServer
連線類型的範例設定值。請參閱管理中心的連線建立介面,瞭解必填和選填欄位。
欄位名稱 | 範例值 |
---|---|
區域 | us-central1 |
連接器 | SAP ERP |
連接器版本 | 1 |
連接器名稱 | saperp-applicationserver-conn |
說明 | 不適用 |
服務帳戶 | xxxxxxxxxx-compute@developer.gserviceaccount.com |
客戶 | 800 |
系統編號 | 00 |
專案 ID | xxxx-gcp-project |
值區 | sap-erp-bucket |
Jco Jar 物件 ID | sapjco3.jar |
libsapjco3 物件 ID | libsapjco3.so |
表格模式 | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
讀取資料表函式 | Z_CUSTOM_READ_TABLE |
連結配置 | ApplicationServer |
系統 ID | SA1 |
查詢模式 | 不適用 |
可瀏覽的檢視畫面 | 不適用 |
詳細程度 | 5 |
節點數量下限 | 2 |
節點數量上限 | 50 |
主機地址 | 10.30.X.XX 或外部 SAP 系統的路由器字串。 |
驗證 | 使用者密碼 |
使用者名稱 | 12345 |
密碼 | xyz@12345 |
版本 | 1 |
訊息伺服器 (群組伺服器) 連線類型
使用訊息伺服器 (群組伺服器) 連線至 SAP 系統前,請確認符合下列必要條件:- 您必須在網路端點群組 (NEG) 和健康狀態檢查中,使用通訊埠 33XX 和 36XX 上的 SAP 系統 IP 設定 Private Service Connect 和負載平衡器。其中 XX 是所用 SAP 系統的系統或執行個體編號。
- 您必須在 Cloud DNS 上建立 DNS 區域,並將應用程式伺服器的端點附件對應至 SAP 系統的主機名稱,該端點附件是在 33XX 連接埠上設定。
- 只有在訊息伺服器傳回應用程式伺服器的完整網域名稱 (FDQN) 位址時,您才能透過訊息伺服器 (群組伺服器) 連線至 SAP 系統。如果訊息伺服器傳回 IP 位址,您就無法透過訊息伺服器 (群組伺服器) 連線至 SAP 系統。
- 應用程式提出要求時,訊息伺服器必須回應應用程式需要連線的應用程式伺服器 DNS。
- 應用程式伺服器的 DNS 必須是專屬的,且不得用於任何其他 SAP 系統。
- 在 SAP 應用程式中,應用程式伺服器和訊息伺服器的端點附件 IP 必須保留在 gw/alternative_hostnames 參數下。
- 前往 Tcode - RZ10,並在執行個體設定檔中輸入「gw/alternative_hostname」參數。
- 將
ms/lg\_with\_hostname
參數設為 1,即可設定 7.53 之前的 SAP 訊息伺服器版本傳回主機名稱。7.53 以上版本預設會傳回主機名稱。 - 重新啟動 SAP 應用程式,讓參數生效。
下表列出 Group Server
連線類型的範例設定值:
欄位名稱 | 範例值 |
---|---|
區域 | us-central1 |
連接器 | SAP ERP |
連接器版本 | 1 |
連接器名稱 | saperp-groupserver-conn |
說明 | 不適用 |
服務帳戶 | SA-compute@developer.gserviceaccount.com |
客戶 | 800 |
系統編號 | 00 |
專案 ID | Google-cloud-project |
值區 | sap-erp-bucket |
Jco Jar 物件 ID | sapjco3.jar |
libsapjco3 物件 ID | libsapjco3.so |
表格模式 | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
群組 | 公開 |
訊息伺服器 | 10.30.X.XX |
讀取資料表函式 | Z_CUSTOM_READ_TABLE |
連結配置 | GroupServer |
系統 ID | SA1 |
查詢模式 | 不適用 |
可瀏覽的檢視畫面 | 不適用 |
詳細程度 | 5 |
節點數量下限 | 2 |
節點數量上限 | 50 |
驗證 | 使用者密碼 |
使用者名稱 | 使用者名稱 |
密碼 | 密碼 |
版本 | 1 |
X509 憑證連線類型
如要使用 X509 連線進行安全網路通訊 (SNC),必須在網路端點群組 (NEG) 和健康狀態檢查中,使用 SAP 系統 IP 和通訊埠 48XX 設定 Private Service Connect 和負載平衡器。其中 XX 是所用 SAP 系統的系統或執行個體編號。下表列出 X509 certificate
連線類型的範例設定值。請參閱管理中心的連線建立介面,瞭解必填和選填欄位。
欄位名稱 | 範例值 |
---|---|
區域 | us-central1 |
連接器 | SAP ERP |
連接器版本 | 1 |
連接器名稱 | saperp-X509Certificate-conn |
說明 | 不適用 |
服務帳戶 | xxxxxxxxxx-compute@developer.gserviceaccount.com |
客戶 | 800 |
系統編號 | 00 |
專案 ID | xxxx-gcp-project |
值區 | sap-erp-bucket |
Jco Jar 物件 ID | sapjco3.jar |
libsapjco3 物件 ID | libsapjco3.so |
表格模式 | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
SNC_LIB 物件 ID | libsapcrypto.so |
建立 cred_v2 檔案的 PSE 名稱 | EHP8_GCP_SA1.pse |
讀取資料表函式 | Z_CUSTOM_READ_TABLE |
連結配置 | ApplicationServer |
系統 ID | SA1 |
SNC 密碼 | xyz@gcp |
SNC 模式 | 布林值,用於判斷您是否使用 SNC。如要使用 SNC,請將此值設為 true。 |
SNC 名稱 | p:CN=EHP8_GCP_SA1, OU=IT, O=CSW, C=DE |
SNC Qop | 3 |
SNC PartnerName | p:CN=SA1, OU=I0020070395, OU=SAP Web AS, O=SAP Trust Community, C=DE |
查詢模式 | 不適用 |
可瀏覽的檢視畫面 | 不適用 |
詳細程度 | 5 |
節點數量下限 | 2 |
節點數量上限 | 50 |
主機地址 | 10.30.X.XX 或外部 SAP 系統的路由器字串。 |
驗證 | 以 X509Certificate 為基礎的驗證 |
X509Certificate | 您可以指定 X509 憑證,方法是使用檔案路徑指向包含 PEM 格式 X509 憑證的檔案、以「-----BEGIN ...」標頭開頭的 PEM Blob,或是沒有「-----BEGIN ...」標頭的 PEM Blob。 |
版本 | 1 |
系統限制
SAP ERP 連接器每秒可處理 7 筆交易,每個節點也是如此,且會節流任何超出此限制的交易。根據預設,Integration Connectors 會為連線分配 2 個節點 (以提高可用性)。
如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一文。
在整合中,使用 SAP ERP 連線
建立連線後,Apigee Integration 和 Application Integration 都會提供該連線。您可以在整合中透過「連接器」工作使用連線。
- 如要瞭解如何在 Apigee Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。
- 如要瞭解如何在 Application Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。
實體、作業和動作
所有整合連接器都會為所連應用程式的物件提供抽象層。您只能透過這個抽象化程序存取應用程式的物件。抽象化會以實體、作業和動作的形式呈現。
- 實體: 實體可以視為已連結應用程式或服務中的物件,或是屬性集合。實體的定義因連接器而異。舉例來說,在資料庫連接器中,資料表是實體;在檔案伺服器連接器中,資料夾是實體;在訊息系統連接器中,佇列是實體。
不過,連接器可能不支援或沒有任何實體,在這種情況下,
Entities
清單會是空白。 - 作業: 作業是指您可以在實體上執行的活動。您可以對實體執行下列任一操作:
從可用清單中選取實體,系統會產生該實體可用的作業清單。如需作業的詳細說明,請參閱 Connectors 工作的實體作業。 不過,如果連接器不支援任何實體作業,系統就不會在
Operations
清單中列出這些不支援的作業。 - 動作: 動作是透過連接器介面提供給整合的第一類函式。動作可讓您變更一或多個實體,且因連接器而異。一般來說,動作會有一些輸入參數和輸出參數。不過,連接器可能不支援任何動作,此時
Actions
清單會是空白。
動作
本節提供 RFC 相關資訊,並列出連接器支援的動作。如要瞭解如何設定動作,請參閱動作範例。
使用 RFC
本節提供必要 RFC 的相關資訊,以及如何使用 RFC。
必要 RFC
如果缺少任何必要 RFC,部分或所有功能可能無法運作。您可以使用 T-Code SE37 查看 SAP 中可用的函式模組。
SAP ERP 連接器會使用下列 RFC。
- DDIF_FIELDINFO_GET
- RFC_GET_FUNCTION_INTERFACE
- RFC_GET_STRUCTURE_DEFINITION
- RFC_GET_SYSTEM_INFO
- RFC_GET_UNICODE_STRUCTURE
- RFC_READ_TABLE
- SLDAG_CHECK_FOR_UNICODE
讀取大量資料
本節說明從 SAP 後端讀取大量資料時,必須採取的做法。
SAP ERP 連接器會使用 SAP RFC_READ_TABLE
函式從 SAP 表格取得資料,而這個函式的大小固定為 512 位元組。每個資料列都可以緩衝,因此您選取的資料欄數量不得超過緩衝區可容納的數量。如果選取超過 512 個位元組,執行整合時會發生 DATA_BUFFER_EXCEEDED
例外狀況,表示您已超過每列允許的緩衝區大小上限,因此需要選取較少的資料欄。
如要解決這個問題,您可以加入 Custom RFC_READ_TABLE
的程式碼,這與 SAP RFC_READ_TABLE
類似,但緩衝區較大,可解決 DATA_BUFFER_EXCEEDED
問題。
使用自訂讀取資料表函式
這個連接器支援類似於 SAP RFC_READ_TABLE
的 Custom RFC_READ_TABLE
,但緩衝區較大,因此可以解決 DATA_BUFFER_EXCEEDED
問題。
在 SAP 後端建立自訂 RFC_READ_TABLE
請按照下列步驟使用 範例自訂 RFC_READ_TABLE。
- 將
RFC_READ_TABLE
函式做為新函式的範本:選取交易代碼 SE37 和 SDTX 函式群組,然後將RFC_READ_TABLE
複製到新的函式群組或工作函式群組。在本例中,RFC_READ_TABLE
會複製到Z_CUSTOM_RFC_TABLE
。 - 在 SAP 頁面的「Attributes」分頁中,選取「Remote Enabled Module」。
- 在「Tables」分頁中,將
DATA
參數設為CHAR8000
(您可能需要按一下滑鼠右鍵,然後依序點選「Display」->「Change」)。 - 在「Source Code」(原始碼) 分頁中,輸入自訂讀取資料表 RFC 程式碼。如需參考資料,請參閱範例 Z_CUSTOM_RFC_TABLE_function.txt。
- 按一下 [儲存]。
- 請按照提供的自訂讀取資料表文件,定義匯入項目、資料表和例外狀況。
- 啟用函式模組。
ABAP 7.52 的自訂讀取資料表
如果您使用 ABAP 7.52 以上版本,請參閱範例 Z_CUSTOM_RFC_TABLE_function_ABAP752.txt。
範例函式適用於 ABAP 7.52 以上版本。這與 Z_CUSTOM_RFC_TABLE
函式類似,但會利用 ABAP 7.52 中新提供的關鍵字,在資料庫中執行分頁,而不是在 ABAP 指令碼本身中執行。這可大幅提升分頁效率,並改善處理大型表格時的效能。建議盡可能使用 Z_CUSTOM_RFC_TABLE_752 RFC
。
存取 RFC_READ_TABLE 函式
本節提供資訊,說明要指派給 SAP 使用者的角色,才能存取 RFC_READ_TABLE 函式。這項函式是支援遠端作業的函式模組,可讓您以一般方式讀取任意資料表。
如要在設定 SAP ERP 連接器工作時,將資料表列在「實體」下方,您必須在 SAP ERP 連線層級使用 RFC_READ_TABLE 函式,並授權存取 R/3 函式 RFC_READ_TABLE
為活動 03 (顯示) 新增授權 S_TABU_DIS,並為函式 RFC_READ_TABLE 新增授權群組「SC」。
以下是 RFC_READ_TABLE 的部分技術限制:
- 系統只能讀取含有簡單資料類型的資料表。系統不支援 STRING 或 XSTRING 欄位。
- 每行最多 512 個字元。
- 傳回的記錄數量會受到記憶體門檻限制。
BAPI_MATERIAL_SAVEDATA 動作
這項動作可讓您執行特定工作。舉例來說,您可以使用這項服務在 SAP ERP 中建立或變更物料主檔資料。
BAPI_MATERIAL_SAVEDATA 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
HEADDATA | 字串 | 是 | 輸入參數 HEADDATA。 |
CLIENTDATA | 字串 | 是 | 輸入參數 CLIENTDATA。 |
CLIENTDATAX | 字串 | 是 | 輸入參數 CLIENTDATAX。 |
MATERIALDESCRIPTION | 字串 | 是 | 資料表 MATERIALDESCRIPTION。 |
BAPI_MATERIAL_SAVEDATA 動作的輸出參數
如果動作成功,這項操作會傳回狀態 200 (OK)。
如要瞭解如何設定 BAPI_MATERIAL_SAVEDATA
動作,請參閱「動作範例」。
ZFM_GCP_MULTIDATA_TAB 動作
使用者可透過這項動作執行特定工作。舉例來說,您可以在 SAP ERP 中建立多種資料型別的資料。
ZFM_GCP_MULTIDATA_TAB 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
ReturnTables | 字串 | 是 | 以半形逗號分隔的清單,指定函式模組中應輸出的資料表。 如未指定,系統會輸出所有傳回的表格。 |
T_TABLE | 字串 | 是 | 資料表 T_TABLE。 |
IM_INPUT_1 | 字串 | 是 | 輸入參數 IM_INPUT_1。 |
IM_INPUT_2 | 字串 | 是 | 輸入參數 IM_INPUT_2。 |
ZFM_GCP_MULTIDATA_TAB 動作的輸出參數
如果動作成功,這項操作會傳回狀態 200 (OK)。
如要瞭解如何設定 ZFM_GCP_MULTIDATA_TAB
動作,請參閱動作範例。
PushIDoc Action
這項動作可讓您執行特定工作。舉例來說,您可以將資料從 SAP 轉移至外部系統。
PushIDoc 動作的輸入參數
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
FileType | 字串 | 是 | 檔案類型。允許的值為 XML、IDoc。 |
模式 | 字串 | 是 | 傳輸模式。允許的值為 Sync 和 ASync。 |
內容 | 字串 | 是 | 檔案內容。 |
PushIDoc 動作的輸出參數
如果動作成功,這項操作會傳回狀態 200 (OK)。
如要瞭解如何設定 PushIDoc
動作,請參閱「動作範例」。
ExecuteCustomQuery 動作
這項操作可讓您執行自訂查詢。
如要建立自訂查詢,請按照下列步驟操作:
- 請按照詳細說明 新增連接器工作。
- 設定連接器工作時,請在要執行的動作類型中選取「動作」。
- 在「動作」清單中,選取「執行自訂查詢」,然後按一下「完成」。
- 展開「Task input」(工作輸入) 區段,然後執行下列操作:
- 在「Timeout after」(逾時時間) 欄位中,輸入查詢執行前的等待秒數。
預設值:
180
秒。 - 在「資料列數量上限」欄位中,輸入要從資料庫傳回的資料列數量上限。
預設值為
25
。 - 如要更新自訂查詢,請按一下「編輯自訂指令碼」。「指令碼編輯器」對話方塊隨即開啟。
- 在「指令碼編輯器」對話方塊中輸入 SQL 查詢,然後按一下「儲存」。
您可以在 SQL 陳述式中使用問號 (?) 代表單一參數,該參數必須在查詢參數清單中指定。舉例來說,下列 SQL 查詢會從
Employees
資料表選取與LastName
資料欄指定值相符的所有資料列:SELECT * FROM Employees where LastName=?
- 如果您在 SQL 查詢中使用問號,請為每個問號點按「+ 新增參數名稱」,加入參數。執行整合時,這些參數會依序取代 SQL 查詢中的問號 (?)。舉例來說,如果您新增了三個問號 (?),就必須依序新增三個參數。
如要新增查詢參數,請按照下列步驟操作:
- 在「類型」清單中,選取參數的資料類型。
- 在「值」欄位中輸入參數值。
- 如要新增多個參數,請按一下「+ 新增查詢參數」。
- 在「Timeout after」(逾時時間) 欄位中,輸入查詢執行前的等待秒數。
執行成功後,這項動作會傳回狀態 200 (OK),以及含有查詢結果的回應內容。
動作範例
範例 - 建立記錄
本例使用 BAPI_MATERIAL_SAVEDATA 動作建立物料記錄。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
BAPI_MATERIAL_SAVEDATA
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "HEADDATA": "{\"MATERIAL\":\"000000000000009001\",\"IND_SECTOR\":\"M\",\"MATL_TYPE\":\"HALB\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA" : "{\"MATL_GROUP\":\"00107\",\"BASE_UOM\":\"KG\"}", "CLIENTDATAX" : "{\"MATL_GROUP\":\"X\",\"BASE_UOM\":\"X\"}", "MATERIALDESCRIPTION" : "{\"LANGU\":\"E\",\"MATL_DESC\":\"Classification Google\"}" }
如果動作成功,BAPI_MATERIAL_SAVEDATA
工作的 connectorOutputPayload
回應參數會包含類似下列內容的值:
[{ "RETURN_TYPE": "S", "RETURN_ID": "MM", "RETURN_NUMBER": 356, "RETURN_MESSAGE": "The material 9001 has been created or extended", "RETURN_LOG_NO": "", "RETURN_LOG_MSG_NO": 0, "RETURN_MESSAGE_V1": "9001", "RETURN_FIELD": "", "RETURN_SYSTEM": "T90CLNT090", "RESULT_TABLE": null }]
範例 - 更新記錄
這個範例會使用 BAPI_MATERIAL_SAVEDATA 動作更新物料記錄。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
BAPI_MATERIAL_SAVEDATA
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"IND_SECTOR\":\"A\",\"MATL_TYPE\":\"FHMI\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA": "{\"MATL_GROUP\":\"013\",\"BASE_UOM\":\"ST\"}", "CLIENTDATAX": "{\"MATL_GROUP\":\"X\",\"BASE_UOM\":\"X\"}", "MATERIALDESCRIPTION": "{\"LANGU\":\"E\",\"MATL_DESC\":\"Classification Googlecloud\"}" }
如果動作成功,BAPI_MATERIAL_SAVEDATA
工作項目的 connectorOutputPayload
回應參數會包含類似下列內容的值:
[{ "RETURN_TYPE": "S", "RETURN_ID": "MM", "RETURN_NUMBER": 356, "RETURN_MESSAGE": "The material 9000 has been created or extended", "RETURN_LOG_NO": "", "RETURN_LOG_MSG_NO": 0, "RETURN_MESSAGE_V1": "9000", "RETURN_PARAMETER": "", "RETURN_ROW": 0, "RETURN_FIELD": "", "RETURN_SYSTEM": "T90CLNT090", "RESULT_TABLE": null }]
範例 - 刪除記錄
這個範例會使用 BAPI_MATERIAL_SAVEDATA 動作刪除物料記錄。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
BAPI_MATERIAL_SAVEDATA
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA": "{\"DEL_FLAG\":\"X\"}", "CLIENTDATAX": "{\"DEL_FLAG\":\"X\"}" }
如果動作成功,BAPI_MATERIAL_SAVEDATA
工作項目的 connectorOutputPayload
回應參數會包含類似下列內容的值:
[{ "RETURN_TYPE": "S", "RETURN_ID": "MM", "RETURN_NUMBER": 356, "RETURN_LOG_NO": "", "RETURN_LOG_MSG_NO": 0, "RETURN_MESSAGE_V1": "9000", "RETURN_PARAMETER": "", "RETURN_ROW": 0, "RETURN_FIELD": "", "RETURN_SYSTEM": "T90CLNT090", "RESULT_TABLE": null }]
範例 - 建立多資料類型資料
本例使用 ZFM_GCP_MULTIDATA_TAB 動作建立多資料類型資料。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
ZFM_GCP_MULTIDATA_TAB
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "T_TABLE": "{\"ZACCP\":\"111\",\"ZCHAR\":\"CHARACTER1\",\"ZCLNT\":\"100\",\"ZCUKY\":\"INR\",\"ZCURR\": 200,\"ZDATS\": \"20231213\",\"ZINT1\": 45,\"ZINT2\":54,\"ZDEC\": 0.12,\"ZFLTP\": 1234,\"ZLANG\":\"E\",\"ZNUMC\":\"110\",\"ZPREC\": 3,\"ZQUAN\": 188.0,\"ZRAW\":\"01010008010101050401\",\"ZTIMS\": \"103056\",\"ZUNIT\":\"11\",\"ZINT4P\": 45,\"ZINT4\": 54,\"ZLRAW\":\"0101000801010105040100030101010300040000\"}", "IM_INPUT_1": "{\"ZACCP\":\"222\",\"ZCHAR\":\"CHARACTER1\",\"ZCLNT\":\"100\",\"ZCUKY\":\"INR\",\"ZCURR\": 200,\"ZDATS\": \"20231213\",\"ZINT1\": 45,\"ZINT2\":54,\"ZDEC\": 0.12,\"ZFLTP\": 1234,\"ZLANG\":\"E\",\"ZNUMC\":\"110\",\"ZPREC\": 3,\"ZQUAN\": 188.0,\"ZRAW\":\"01010008010101050401\",\"ZTIMS\": \"103056\",\"ZUNIT\":\"11\",\"ZINT4P\": 45,\"ZINT4\": 54,\"ZLRAW\":\"0101000801010105040100030101010300040000\"}", "IM_INPUT_2": "{\"ZSTRING\": \"HI Google\",\"ZSSTRING\": \"HI Google How are you\"}" }
如果動作成功,ZFM_GCP_MULTIDATA_TAB
工作項目的 connectorOutputPayload
回應參數會包含類似下列內容的值:
[{ "EX_OUTPUT_1_ZACCP": 222, "EX_OUTPUT_1_ZCHAR": "CHARACTER1", "EX_OUTPUT_1_ZCLNT": "100", "EX_OUTPUT_1_ZCUKY": "INR", "EX_OUTPUT_1_ZCURR": 200, "EX_OUTPUT_1_ZDATS": "2023-12-13", "EX_OUTPUT_1_ZRAW": "01010008010101050401", "EX_OUTPUT_1_ZTIMS": "10:30:56", "EX_OUTPUT_1_ZUNIT": "11", "EX_OUTPUT_1_ZINT4P": 45, "EX_OUTPUT_1_ZINT4": 54, "EX_OUTPUT_1_ZLRAW": "0101000801010105040100030101010300040000\u0000", "EX_OUTPUT_2_ZSTRING": null, "EX_OUTPUT_2_ZSSTRING": null, "RESULT_TABLE": null, "T_TABLE_ZACCP": null, "T_TABLE_ZCHAR": null, "T_TABLE_ZCLNT": null, "T_TABLE_ZQUAN": null, "T_TABLE_ZRAW": null, "T_TABLE_ZTIMS": null, "T_TABLE_ZUNIT": null },{ "EX_OUTPUT_1_ZACCP": null, "EX_OUTPUT_1_ZCHAR": null, "EX_OUTPUT_1_ZCLNT": null, "EX_OUTPUT_1_ZCUKY": null, "EX_OUTPUT_1_ZRAW": null, "T_TABLE_ZLANG": null, "T_TABLE_ZNUMC": null, "T_TABLE_ZPREC": null, "T_TABLE_ZQUAN": null, "T_TABLE_ZRAW": null, "T_TABLE_ZTIMS": null, "T_TABLE_ZUNIT": null },{ "EX_OUTPUT_1_ZACCP": null, "EX_OUTPUT_1_ZCHAR": null, "EX_OUTPUT_1_ZCLNT": null, "EX_OUTPUT_1_ZCUKY": null, "EX_OUTPUT_1_ZCURR": null, "EX_OUTPUT_1_ZDATS": null, "EX_OUTPUT_1_ZDEC": null, "EX_OUTPUT_1_ZQUAN": null, "T_TABLE_ZNUMC": 110, "T_TABLE_ZPREC": 3, "T_TABLE_ZQUAN": 188, "T_TABLE_ZRAW": "01010008010101050401", "T_TABLE_ZTIMS": "10:30:56", "T_TABLE_ZUNIT": "11" }]
範例 - 推送 IDoc
這個範例會將 IDoc 推送至 SAP ERP。
- 在「
Configure connector task
」對話方塊中,按一下Actions
。 - 選取
PushIDoc
動作,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "Content": "\n\n\n EDI_DC40\n 800\n 0000000008604824\n 740\n 53\n 2\n \n MATMAS05\n MATMAS\n ZLS_QA23\n LS\n ZLS_QA23\n SAPSA1\n LS\n SA1CLNT800\n 20230218\n 232556\n\n\n 005\n 000000000000000012\n 20170328\n 42039\n 20170727\n 42039\n KLVC\n FERT\n M\n 02\n BG\n 000\n 002\n 0.000\n 0.000\n KGM\n 0.000\n 0001\n 0.000\n 0.000\n 0.000\n 0.000\n 0.000\n", "FileType": "XML", "Mode": "ASync" }
。如果動作成功,PushIDoc
工作的 connectorOutputPayload
回應參數值會類似以下內容:
[{ "Result": "Success", "Message": "Push IDoc success" }]
實體作業範例
本節說明如何使用這個連接器執行部分實體作業。
範例 - 列出所有記錄
這個範例會列出 T001
實體中的所有記錄。
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取T001
。 - 選取「
List
」作業,然後按一下「完成」。 - (選用) 在「連結器」工作的「工作輸入」部分,您可以指定篩選子句,篩選結果集。請一律在單引號 (') 內指定篩選子句值。
範例 - 從實體取得記錄
這個範例會從 T001
實體取得具有指定 ID 的記錄。
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取T001
。 - 選取「
Get
」作業,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入) 區段中,按一下「EntityId」,然後在「Default Value」(預設值) 欄位中輸入
0001
。其中
0001
是T001
實體中的專屬記錄 ID。
使用 Terraform 建立連線
您可以使用 Terraform 資源建立新連線。
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
如要查看用於建立連線的 Terraform 範本範例,請參閱範本範例。
使用 Terraform 建立這項連線時,您必須在 Terraform 設定檔中設定下列變數:
參數名稱 | 資料類型 | 必填 | 說明 |
---|---|---|---|
用戶端 | STRING | 是 | 向 SAP 系統驗證的用戶端。 |
群組 | STRING | 否 | 使用的登入群組。連線至使用負載平衡的 SAP 系統時,通常只需要指定這個值。 |
message_server | STRING | 否 | 連線至使用負載平衡的 SAP 系統時,必須指定訊息伺服器。 |
read_table_function | STRING | 否 | 用於讀取表格資料的函式。 |
connection_scheme | ENUM | 否 | 指定您是否要連線至有訊息伺服器 (GroupServer) 的 SAP 系統,或沒有訊息伺服器 (ApplicationServer) 的 SAP 系統。支援的值包括:ApplicationServer、GroupServer |
system_id | STRING | 否 | SAP 系統的系統 ID 或 R3Name 是字串,最多可包含三個字元。這項功能通常用於負載平衡連線。 |
system_number | STRING | 是 | 定義目標系統的數字。設定主機連線屬性時使用。 |
project_id | STRING | 是 | 包含 SAP JCo JAR 的 Cloud Storage 值區所屬 Google Cloud 專案的 ID。 |
值區 | STRING | 是 | 包含 sapjco3.jar 和 libsapjco3.so 檔案的 bucket 名稱 |
sapjco3_jar | STRING | 是 | sapjco3.jar 的物件 ID |
libsapjco3_so | STRING | 是 | libsapjco3.so 的物件 ID |
snc_lib | STRING | 否 | SNC 程式庫的物件 ID |
snc_mode | BOOLEAN | 否 | 布林值,用於判斷您是否使用 SNC。如要使用 SNC,請將此值設為 true。 |
snc_name | STRING | 否 | 選填輸入欄位,可輸入 SNC 連線名稱。 |
snc_qop | ENUM | 否 | SNC 連線的保護品質。有效值為 1、2、3、8 或 9,分別對應下列保護等級:1 僅套用驗證。2 套用完整防護 (驗證)。3 套用隱私權保護措施 (完整性和驗證)。8 套用預設保護措施。9 套用最高防護等級。支援的值為:1、2、3、8、9 |
snc_partner_name | STRING | 否 | 應用程式伺服器的 SNC 名稱。使用 SNC 時,必須輸入這項資訊。 |
query_mode | ENUM | 否 | 決定要將哪些 SAP 資料表顯示為檢視區塊 (如有)。支援的值包括:Global、Local、All、None |
table_mode | ENUM | 否 | 決定要將哪些 SAP 資料表顯示為檢視區塊 (如有)。支援的值包括:TransparentApplication、TransparentCustomer、TransparentSystem、Pooled、Cluster、All、None |
詳細程度 | STRING | 否 | 連線的詳細程度,範圍為 1 到 5。詳細程度越高,記錄的通訊詳細資料就越多 (要求、回應和 SSL 憑證)。 |
排解 SAP 地端設定問題
如果 SAP 系統位於內部部署環境,您必須使用混合式 NEG 建立 Proxy 負載平衡器。
- 在允許的子網路之間,於地端部署系統和 Google Cloud 之間建立 IPsec 通道。
- 允許負載平衡子網路和 Proxy 子網路使用內部部署防火牆。
- 新增所有必要通訊埠,例如應用程式伺服器連線的 33XX、訊息伺服器/LB 伺服器連線的 36XX,以及 SNC-X509 連線的 48XX。其中 XX 是 SAP 系統的系統或執行個體編號。在 Google Cloud 專案的允許連入清單中,新增防火牆所需的 IP,例如 LB IP 和通訊埠、SAP 系統 IP 和通訊埠。
- 使用混合 NEG 設定區域性內部 Proxy 網路負載平衡器。詳情請參閱「Regional internal proxy Network LB with Hybrid NEG connectivity」(具有混合式 NEG 連線的區域內部 Proxy 網路負載平衡器)。
設定網路連線後,如果發生類似下列內容的錯誤,請使用下列解決方法,將端點附件 IP 加入許可清單。
Initialization of destination SAP--1910584855 failed: Connect from SAP gateway to RFC server failed connection parameters: TYPE=A DESTINATION=SAP--1910584855 ASHOST=10.128.0.43 SYSNR=00 PCS=1 LOCATION SAP-Gateway on host DELVM05S15.bcone.com / sapgw00 ERROR timeout during allocate TIME Wed Apr 3 17:24:40 2024 RELEASE 754 COMPONENT SAP-Gateway VERSION 2 RC 242 MODULE D:/depot/bas/754_REL/src/krn/si/gw/gwr3cpic.c LINE 2208 DETAIL no connect of TP sapdp00 from host 10.128.0.43 after 20 sec COUNTER 2
SAP 詞彙表
SAP:SAP 是所有支援 SAP 版本的統稱。這通常表示 SAP ECC 6 以上版本。如要讓 SAP ERP 連接器正常運作,必須連線至支援 RFC SDK 的 SAP 版本。
函式模組:函式模組是 SAP 中的一種程式或函式,可用於執行幾乎所有作業。這些模組可透過 SE37 TCode 在 SAP 中測試及編寫。
RFC:遠端函式呼叫 (RFC) 是指呼叫特定 RFM/FM,可由外部應用程式執行。這包括使用 SAP 發布的程式庫 (安裝在 SAP 伺服器上),也可能從 sap.com 下載。特定 RFM 可能會或不會在 SAP 升級時維護。SAP 提供標準 RFM,因此舊版可能會有差異或沒有 RFM。自訂 RFM 可 (且經常) 用於支援整合,但必須由 SAP 客戶維護。按照慣例,自訂 RFM 的開頭為字母 Z。
BAPI:業務 API (BAPI) 是業務物件的 API 方法,而業務物件是 SAP 支援 RFC 的函式模組,可提供業務邏輯作業的存取權。舉例來說,光是與 Customer 物件相關的 BAPI 就有約 60 個。但實際上通常只會用到少數幾個。
SAP 資料表:SAP 資料表是指在 SAP 中儲存資料的資料表。這與業務物件不同。舉例來說,SAP 中沒有訂購單表格。而是包含許多含有訂購單資料的資料表,例如 EBAN、EBKN、EINA、EKPO 等。按照慣例,自訂資料表會以字母 Z 開頭。
SAP 查詢:SAP 查詢是 SAP 中儲存的物件,詳細說明要從一或多個資料表擷取的資訊。這些通常用於製作報表。