ERPConnect in Powershell 
From Theobald Software
In diesem Artikel wird ERPConnect in Powershell geladen und damit eine Connection zum SAP aufgebaut. Danach wird eine Tabelle (MAKT) ausgelesen und direkt in Powershell ausgegeben.
Als erstes muss die librfc32.dll registriert werden. Im Gegensatz zum "normalen" Einsatz von ERPConnect ist dies für Powershell-Umgebung nötig.
regsvr32 c:\windows\system32\librfc32.dll
Danach wird folgendender Code in einer Datei mit der Endung ***.PS1 benötigt.
Powershell
# --------------------------------------------------------------------------------
# Wenn die ERPConnect Dll im GAC registriert ist, folgende Zeile benutzen:
# [Reflection.Assembly]::LoadWithPartialName("ERPConnect20")
# Wenn nicht, dann kann die ERPConnect Dll auch direkt geladen werden:
[Reflection.Assembly]::LoadFile("C:\Program Files\ERPConnect\ERPConnect20.dll")
# Setzen des Lizenzschlüssels:
#[ERPConnect.LIC]::SetLic("xxx")
# Setzen der Verbindugsdaten
$hostname = "ptmalg"
$systemid = 5
$username = "Babi"
$password = "xxx"
$lang = "EN"
$client = "800"
$r3conn = new-object ERPConnect.R3Connection($hostname,$systemid,$username,$password,$lang,$client)
# Öffnen der Connection
$r3conn.Open($false)
# Überprüfen der Connection, ob vorhanden.
$r3conn.Ping()
# Lesen der Tabelle MAKT
$ReadTable = new-object ERPConnect.Utils.ReadTable($r3conn)
$ReadTable.AddField("MATNR")
$ReadTable.AddField("MAKTX")
$ReadTable.AddField("SPRAS")
$ReadTable.RowCount = 100
$ReadTable.AddCriteria("SPRAS = 'DE'")
$ReadTable.TableName = "MAKT"
$ReadTable
$ReadTable.Run()
[System.Data.DataTable]$result = $ReadTable.Result
# Anzahl der Datensätze wird angezeigt
$result.Rows.Count
# Ausgabe der Tabelle auf dem Bildschirm
$result
Der Aufruf erfolgt entweder direkt im Powershell mit Angabe des Dateinamens, oder im Powershell ISE.


