2

Python と SAP を接続するための最新のライブラリがPyRFCであることを知っています。Windows を使用して django アプリを開発してpyrfc-1.9.3-py2.7-win32.eggいます。それが自分のシステムに対応するものをインストールしようとすると、ライブラリのインポート中にエラーが発生します。エラーは次のとおりです。 pyrfc がインポートするモジュールが欠落しているため、README ドキュメント全体に従いましたが、このライブラリの使用方法がわかりません。

代わりにsapnwrfcを使用することにしたので、ソースをダウンロードして MinGW でコンパイルしたところ、問題なくインストールされ、SAP との接続を確立できるようになりましたが、RFC 関数の呼び出しでエラーが発生しました。

これは私のコードです

def results(request):

    sapnwrfc.base.config_location = BASE_DIR+'\\sap.yml'
    sapnwrfc.base.load_config()

    try:
        conn = sapnwrfc.base.rfc_connect()
        fd = conn.discover("ZRFC_TEST_TODO")
        f = fd.create_function_call()
        f.QUERY_TABLE("IT_SUCS") # ERROR IN THIS LINE
        f.ROWCOUNT(50)
        f.OPTIONS=([{'BUKRS': "TVN"}])
        f.invoke()

        d = f.DATA
        todo = {'results': d}

        conn.close()

    except sapnwrfc.RFCCommunicationError as e:
        todo = {'error':e}
    return render_to_response(json.dumps(todo), content_type='application/json')

エラーは

NoneType オブジェクトは呼び出し可能ではありません

そして、私がそれを

f.QUERY_TABLE="IT_SUCS"
f.ROWCOUNT=50
f.OPTIONS=[{'BUKRS': "TVN"}]
f.invoke()

エラーは消えますが、f常にnullです。

SAP の RFC からいくつかのテーブルを取得する必要があります。これを解決するためのアイデアはありますか? それを行う別の方法はありますか?多分別のライブラリ?

更新fdテストとデバッグの後、変数が正しく初期化されていない と思いfdます。属性を表示しようとすると、python が停止し、エラーが表示されるためです。

TypeError: 'NoneType' オブジェクトは呼び出し可能ではありません

4

2 に答える 2