In unserem Beispiel für die Integration von SAP ERP in Software von Drittanbietern verwenden wir den SAP Connector für Microsoft .NET , um Daten von SAP abzurufen. Die Software für das Datenerfassungsterminal (TSD) interagiert mit dem Microsoft Internet Information Server (IIS) auf dem Server und mit jeder Client-Software wie Internet Explorer. Die zur Entwicklung der Komponente verwendete Technologie ist asp.net in der Programmiersprache C #.
Geben Sie bei der Entwicklung eines Funktionsmoduls (FM) in SAP den Parameter "Remote-Modul" an:

Die Funktion nimmt den Wert factory I_WERKS und gibt die Tabelle TAB zurück:
FUNCTION Y_GET_MATNR_PRICE IMPORTING VALUE(I_WERKS) TYPE WERKS_D TABLES TAB LIKE YSOUT_PRICE EXCEPTIONS NO_DATA NO_VKORG.
Wir werden die Einstellungen für IIS in der SQL Server-Datenbank in einer separaten Tabelle speichern:

In asp.net-Teilen in C # verwenden wir SAP Connector für Microsoft .NET
Einrichten des SAP Connector:
public class MyBackendConfig : IDestinationConfiguration { SaalutDataClasses1DataContext context; public RfcConfigParameters GetParameters(String destinationName) { if (context == null) context = new SaalutDataClasses1DataContext(); if ("AEP".Equals(destinationName)) { var settingsSP = (from s in context.SettingsSAPERPTbls select s).FirstOrDefault(); RfcConfigParameters parms = new RfcConfigParameters(); parms.Add(RfcConfigParameters.Name, settingsSP.SystemID); parms.Add(RfcConfigParameters.AppServerHost, settingsSP.MessageServerHost); if (settingsSP.LogonGroup != null || settingsSP.LogonGroup != "") parms.Add(RfcConfigParameters.LogonGroup, settingsSP.LogonGroup); parms.Add(RfcConfigParameters.SystemID, settingsSP.SystemID); parms.Add(RfcConfigParameters.SystemNumber, settingsSP.SystemNumber); if (settingsSP.SAPRouter != null || settingsSP.SAPRouter != "") parms.Add(RfcConfigParameters.SAPRouter, settingsSP.SAPRouter); parms.Add(RfcConfigParameters.User, settingsSP.SAPUser); parms.Add(RfcConfigParameters.Password, settingsSP.SAPPassword); parms.Add(RfcConfigParameters.Client, settingsSP.Client); parms.Add(RfcConfigParameters.Language, "en"); parms.Add(RfcConfigParameters.PoolSize, "5"); parms.Add(RfcConfigParameters.MaxPoolSize, "10"); parms.Add(RfcConfigParameters.IdleTimeout, "600"); return parms; } else return null; } public bool ChangeEventsSupported() { return false; } public event RfcDestinationManager.ConfigurationChangeHandler ConfigurationChanged; }
Herstellen einer Verbindung mit SAP ERP und Empfangen von Daten von FM Y_GET_MATNR_PRICE (c #):
RfcDestinationManager.RegisterDestinationConfiguration(cfg);
Wir fügen die empfangenen Daten in die SQL Server-Tabelle ein:
int i = 0; foreach (IRfcStructure elem in detail) { string matnr = elem[0].GetString(); double kbetr = elem[1].GetDouble(); string kschl = elem[2].GetString(); string assort = elem[3].GetString(); SAPPriceTbl np = new SAPPriceTbl(); np.MATNR = matnr; np.KBETR = kbetr; np.KSCHL = kschl; np.ASSORT = assort; context.SAPPriceTbls.InsertOnSubmit(np); if (i == 100) { context.SubmitChanges(); i = 0; } i++; } context.SubmitChanges();
Wir zeichnen die Schnittstelle in Visual Studio für das Data Collection Terminal (TSD). Bei der Arbeit mit einer TSD führen wir eine Barcodesuche durch, vergleichen den Preis auf dem TSD-Bildschirm visuell mit dem Preis auf dem Preisschild und fügen bei Unstimmigkeiten dem Journal Folgendes hinzu:

Formed Price Tags Magazine, drucken und ersetzen Sie Preisschilder auf dem Parkett.
→ Der vollständige C # -Code kann auf GitHub angezeigt werden
→ Vollständiger SAP-Funktionsbausteincode als Beispiel auf GitHub
Mit der Funktionalität von SAP Connector für Microsoft .NET und C # können Sie Daten auf einfache und bequeme Weise aus SAP ERP empfangen.