Pythonを使用してSAPデータベースのクエリを実行できますか?
Python SAP RFCモジュール は非アクティブのようです- last(insignificant)commit 2年前-が役立つかもしれません:
Pysaprfcは、SAP librfc(Windowsではlibrfc32.dll、Linuxではlibrfccm.soまたはlibrfc.so)のラッパーです。 Thomas Hellerによる優れたctypes拡張パッケージを使用して、librfcにアクセスし、SAP互換のデータ型を定義します。
最新のSAPバージョンは Web Service
way -SAP Web Service
およびPython
から消費します。
SAP NetWeaverを使用すると、開発者はアプリケーションとデータソースを接続し、Webサービスを使用してプロセスを統合できます。
特に、開発者は1つのインフラストラクチャを使用して、業界標準ベースの方法でWebサービスを定義、実装、および使用できます。 SAP NetWeaverは、同期、非同期、ステートフル、ステートレスのWebサービスモデルをサポートしているため、開発者はさまざまな統合シナリオをサポートできます。
sapnwrfc
これをサポートSAP NetWeaver
機能、 supersedes 古いRFC SDKであり、積極的に維持されています。
Python RFCコネクタが SAPオープンソース として利用可能になりました
SAPにPython pyrfcと呼ばれるRFCコネクタが追加されました。これはsapnwrfcに取って代わります。
これは次の場所にあります https://github.com/SAP/PyRFC
「pyrfc PythonパッケージはPython SAP NetWeaver RFC Libraryのバインディングを提供し、PythonからABAPモジュールを快適に呼び出す方法を提供します。 =およびPython ABAPからのモジュール、SAPリモート関数呼び出し(RFC)プロトコルを介して。 "
SAPはデータベースサーバーではありません。しかし、Python SAP RFCモジュールを使用すると、ほとんどのテーブルを非常に簡単にクエリできます。サポートされていない関数を使用しています(世界中で使用されています)。この関数には、フィールドサイズとデータ型。
上記のように、テーブルを読み取るか、RFCまたはBAPI呼び出しを行うだけの場合、CPythonをメンテナンスされていないPython SAP RFCモジュールまたはPiers Hardingの SAP RFC 。テーブルを読み取るだけのRFC呼び出しは、RFC_GET_TABLE_ENTRIESまたはRFC_READ_TABLEですが、前者が優先されますが、顧客にはリリースされません。
より公式な方法としては、SAPのJCOコネクターをJythonで、またはSAPの.NetコネクターをIronpythonで使用できます。どちらのコネクタもSAPのサービスマーケットプレイスからダウンロードでき、上記の2つの呼び出しを含むRFC機能を呼び出すことができます。
また、前述のように、SAPがバックエンド機能にアクセスするために提案した方法は、SAPの広大なSOAインフラストラクチャーを経由します。ここでは、たとえばJythonをAxisライブラリーやIronpythonとMicrosofts WCFで使用できます。注意してください。 SAPが提供するサービスでは、プレーンテーブルにアクセスできず、サービスが提供するものを呼び出すだけで済みます。SAPはすでに約3.000のサービスを提供しており(SDNのES Wikiを参照)、実際に独自のサービスを作成していますビジネスロジックがリモート対応の汎用モジュールに組み込まれると、非常にシンプルになります。