«TABLE_NOT_AVAILABLE» .net SAP Conector в Powershell

Я пишу сценарий Powerhsell, открывающий счет за заказ. Прежде всего я установил соединение, это работает, потому что я тестировал его с помощью sap gui. у меня есть тот же сценарий, написанный на vbs, и я хочу его перевести. я получаю эту ошибку:

      Ausnahme beim Aufrufen von "Invoke" mit 1 Argument(en):  "TABLE_NOT_AVAILABLE"
In C:\Users\x\Desktop\script.ps1:70 Zeichen:9
+         $rfcFunction.Invoke($destination)
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : RfcAbapException

Но я знаю, что это должен быть этот каталог. что не так с моим сценарием до этого момента.

Мой скрипт в PowerShell пока что:

          #load .net sap connector
    Function Load-NCo {

      $CurrentDir = Get-Location
      [System.IO.Directory]::SetCurrentDirectory($CurrentDir.Path)

      $rc = [Reflection.Assembly]::LoadFile("C:\Program Files\SAP\SAP_DotNetConnector3_Net40_x64\" + "sapnco.dll")
      $rc = [Reflection.Assembly]::LoadFile("C:\Program Files\SAP\SAP_DotNetConnector3_Net40_x64\" + "sapnco_utils.dll")
    }
    Function Get-Destination2 ([String]$TableName) {

      #-Verbindungsparamter---------------------------------------------
        $cfgParams = New-Object SAP.Middleware.Connector.RfcConfigParameters

        $cfgParams.Add("NAME", "SAPconnect")
        $cfgParams.Add("ASHOST", "xxx.xxx.xxx.xxx")
        $cfgParams.Add("SYSNR", "xx")
        $cfgParams.Add("CLIENT", "xxx")
        $cfgParams.Add("USER", "testuser")

        $cfgParams.Add("SYSID ","Txx")
        $cfgParams.Add("LANG","DE")
        $cfgParams.Add("PASSWD", "TestX")



         $destination = [SAP.Middleware.Connector.RfcDestinationManager]::GetDestination($cfgParams) 

      #-Metadata--------------------------------------------------------
        $rfcFunction = `
          $destination.Repository.CreateFunction("RFC_READ_TABLE")

      #-Call function module--------------------------------------------
       
          $rfcFunction.SetValue("query_table", $TableName)
          $rfcFunction.SetValue("DELIMITER", ";")


        $rfcFunction.Invoke($destination)
      

        Write-Host [SAP.Middleware.Connector.RfcDestinationManager]::GetDestination($cfgParams)


    }


    Load-NCo

    Get-Destination2("Z_GET_ARCHIVE_FILE_URL")

1 ответ

Согласно этому руководству по использованию RFC_READ_TABLE для запроса таблиц SAP . Эта ошибка возникает из-за того, что здесь передано неверное имя таблицы:

      $rfcFunction.SetValue("query_table", $TableName)

Для устранения неполадок попробуйте написать $rfcFunction а также $destination в консоль:

      $rfcFunction
$destination
$rfcFunction.Invoke($destination)
Другие вопросы по тегам