Skip to content

Instantly share code, notes, and snippets.

@morriekken
Created December 13, 2021 10:01
Show Gist options
  • Save morriekken/10216319cb22e18d483734d39006e47a to your computer and use it in GitHub Desktop.
Save morriekken/10216319cb22e18d483734d39006e47a to your computer and use it in GitHub Desktop.
Read table from SAP
$rc = [Reflection.Assembly]::LoadFile("path to sanco\sapnco.dll")
$rc = [Reflection.Assembly]::LoadFile("path to sanco\sapnco_utils.dll")
$Version = [SAP.Middleware.Connector.SAPConnectorInfo]::get_Version()
$PatchLevel = [SAP.Middleware.Connector.SAPConnectorInfo]::get_KernelPatchLevel()
$SAPRelease = [SAP.Middleware.Connector.SAPConnectorInfo]::get_SAPRelease()
Write-Host "`r`nNCo verion:" $Version
Write-Host "Patch Level:" $PatchLevel
Write-Host "SAP Release:" $SAPRelease
$cfgParams = New-Object SAP.Middleware.Connector.RfcConfigParameters
$cfgParams.Add("NAME", "name")
$cfgParams.Add("MSHOST", "message server host or IP") #ASHOST for application server
$cfgParams.Add("SYSID", "systemid")
$cfgParams.Add("GROUP", "logon group")
$cfgParams.Add("CLIENT", "clinet number")
$cfgParams.Add("USER", "user name")
$cfgParams.Add("PASSWD", "password")
$destination = [SAP.Middleware.Connector.RfcDestinationManager]::GetDestination($cfgParams)
$destination.Ping()
$TableName = "T001"
$rfcFunction = $destination.Repository.CreateFunction("RFC_READ_TABLE")
$rfcFunction.SetValue("QUERY_TABLE", $TableName)
$rfcFunction.SetValue("DELIMITER", ";")
$rfcFunction.Invoke($destination)
[SAP.Middleware.Connector.IRfcTable]$Table = $rfcFunction.GetTable("DATA")
ForEach ($Line In $Table) {
Write-Host $Line.GetValue("WA")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment