問題タブ [pyrfc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
47634 参照

python - Python から SAP データベースにクエリを実行しますか?

Python を使用して SAP データベースにクエリを実行できますか?

0 投票する
1 に答える
5400 参照

python - PyRFC 経由の RFC_READ_TABLE 呼び出しで SQL 条件を開く

PyRFC を使用して RFC_READ_TABLE クエリで Open SQL WHERE 句を指定するにはどうすればよいですか?

私は PyRFC を使い始めて、Python に SAP からのテーブル抽出を行わせようとしています (サポート/協力ベースのチームがない場合)。http://scn.sap.com/community/scripting-languages/blog/2012/11/04/revisiting-python-and-sap-with-pyrfcのこの例では、以下を使用しています。

http: //saplsmw​​.com/node/101 は、RFC 呼び出しに WHERE 句を OPTION として渡す必要があると述べています。PyRFC でこれを行うにはどうすればよいですか? (OPTIONS は、SAP 側の RFC_READ_TABLE の汎用モジュール宣言に含まれるテーブル型のエクスポート変数です)。

編集: OK http://scn.sap.com/community/scripting-languages/blog/2014/05/05/python-for-basisには、OPTIONS で WHERE 句を送信する例があります。

したがって、構文は、キーが SAP データ型で値が WHERE 句である単一要素辞書の配列 (SAP テーブル型をマップする) のように見えます。

次の質問は、RFC_READ_TABLE に送信される PACKAGE SIZE を指定して、内部テーブル制限に達することなく大きなテーブルを抽出できるようにするにはどうすればよいですか?

0 投票する
2 に答える
908 参照

python - sapnwrfc 呼び出しは常に None/NULL を返します

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

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

これは私のコードです

エラーは

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

そして、私がそれを

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

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

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

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

0 投票する
1 に答える
826 参照

python - Python を使用した SAP RFC サーバーは可能ですか?

一部のサーバーに対して SAP RFC 要求を行うことができるサービスがあります。このサービスを変更することはできませんが、そのようなリクエストを処理してデータを処理する必要があるとします。RFC リクエストを処理する独自のサーバーを開発したいので、Python を好みますが、C++ でも実行できます。

PyRFC https://sap.github.io/PyRFC/server.html#server-serverでできるはずだと読みました

しかし、「ゲートウェイパラメーター」があり、ここで何を使用すればよいかわかりません。私のコンセプトでは、ここで SAP ゲートウェイは必要ありません。スタンドアロンサーバーでリクエストを処理したいだけです。

Pyhton または C++ を使用して RFC 要求を処理するための独自のスタンドアロン サーバーを開発することは可能ですか? それとも、SAP ゲートウェイでのみ使用できますか? この場合、SAP ゲートウェイ側で何をする必要がありますか?

0 投票する
1 に答える
294 参照

python - Pyrfc: RFCTable タイプ TBL1024

PDF バイナリ ファイルを SAP I にアップロードするには、RFC 関数モジュールを使用できます。この FM には、次の 2 つの特定のパラメーターが必要です。

  • IC_ARC_OBJECT= SAP (OAC2) で MIME タイプを定義するドキュメント クラス
  • IN_CONTENT_LENGHT= IMPORTING データ型、ファイルのサイズ
  • IT_CONTENT= IMPORTING table of structure TBL1024、ファイルのバイトを含むテーブル、サイズ 1024 に分割
  • ET_MESSAGES= エラーをチェックするための単なるBAPIRET2テーブル (RETURN テーブル)

関数モジュールは Python プログラムで正常に実行されますが、関数モジュールを中断して内容を確認するIT_CONTENTと、テーブルの行が正しく入力されていないことがわかります。

FM の python プログラム呼び出しの抽出:

Python 関数の抽出Arc.get_arc_content(filename):

パラメータに対する SAP での結果は次のとおりです。

  • IN_CONTENT_LENGHT= 000000007945 (7.8キロバイト)
  • IT_CONTENT= 8 x 1 行: (4 行)

LINE1 255044462D312E3300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 LINE2 B89B067867673EAB00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 LINE3 5BF4CB23B9A7513700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 LINE461DB44B3B0AAB12500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 .... LINE8 202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000LINE8 202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000LINE8 202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

IT_CONTENTFM でチェックされた の期待される結果は、ARCHIVE_OBJECT_GET次のようになります。

LINE1 255044462D312E330D0A25E2E3CFD30D0A25525354585044463320506172616D65746572733A204452535458680D0A322030206F626A0D0A3C3C0D0A2F46696C7465722033203020520D0A2F4C656E67 LINE2 FA1D555450C8EF41AC263F14BC03C49BDD773CF22BC43FD21B3565DA2DFCCB83D8FFAC7BCBBBEBE6DED0AD68DEA29B349398511824DDDCFFAF41EA7FDADDF67EE61EF3FC303293F7E96351A911F8DE10 LINE3 FB4A559526CD6AED428976E80F8DD0B02517C4178D1EFB73C65792D09CFE5C717883BE38E61ED0AB3ADC0983C103E4338A1B210DA086DA73375E679C0A410F510FDC542BB686A1A4D601DD411A506504 ...

したがって、問題は最初のバイトのみが転送され、残りのバイトは後続ゼロであることです。

これは、私が何か間違ったことをしているという事実に関連していますか、それともバイナリ ファイルを 1024 のチャンクに適切にカットし、それらを SAP 向けのテーブルに転送することはできませんか? PythonでSAPのバイト型を使用するには?

あなたの提案/サポートに感謝します。

0 投票する
1 に答える
925 参照

c++ - Python 3.6 pyrfc ImportError

VM win7 x64、Python 3.6 があり、pyrfc SAP コネクタをインストールしようとしています。NWRFC ライブラリをインストールし、PATH 変数に設定し、easy_install で Egg pyrfc-1.9.5-py3.5 をインストールし、Visual c++ redistributable 2015 (x64) 14 をインストールしました。ただし、インポートは常に失敗します。

同じマシンで Python2.7 も使用しています。これは同じ NWRFC ライブラリを使用しており、問題なく動作します。

問題は何ですか?または、インポートを追跡して、他のどのライブラリが欠落しているかを知るにはどうすればよいですか?

0 投票する
1 に答える
1913 参照

python-2.7 - ハナテーブルにデータをダンプするためにABAP機能モジュールを呼び出すPythonスクリプト?

Python を使用して ABAP 機能モジュールに接続し、テーブルからデータを抽出して別の HANA テーブルにダンプする必要があります。pyrfc モジュールを使用して RFC を呼び出す方法は? 構文は何ですか? どのフォーラムでも明確な説明が見つかりません。