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' オブジェクトは呼び出し可能ではありません