2017-07-27 15 views
1

.Netコネクタを使用してSAPシステムにデータを送信しようとしています。私はRFC関数モジュールへの呼び出しを非常に簡単に送信することができましたが、標準のIdocを直接送信する方法はないようです。 IdocsはSAPと話すための標準的なコミュニケーションツールであると考えられているので、これは非常に奇妙です。SAP .Net Connector 3.0 - 非SAPシステムからidocを送信するにはどうすればよいですか?

それを行うことができるかどうかは誰にもわかりましたか?

答えて

1

私の知る限りでは、IDocを扱うために.NET Connector(NCo)用にSAPから提供されている開発ライブラリは現在のところありません。 NCoを使用する場合は、このIDocを独自に処理する必要があります。 IDOCも通常は特殊なリモート関数モジュール(IDOC_INBOUND_ASYNCHRONOUSなど)を呼び出して転送されるため、可能です。しかし、これは特に、非Unicode ABAPシステムや、中国語、日本語、韓国語などのマルチバイトコードページでも機能する必要がある場合は、面倒で難しくなる可能性があります。

NCoを使用する必要がない場合は、IDocを使用して独自の開発を行う最も簡単な方法は、Javaに切り替えてSAP Java Connector(JCo)をSAP Java IDocクラスライブラリアドオン。 NCoとJCoは非常に似たAPIを持っていますが、このJava IDocクラスライブラリアドオンは、残念ながら.NET環境には欠けています。少なくともSAPでは提供していません。この。

+0

あなたは正しいです。私はIDOC_INBOUND_ASYNCHRONOUSへのRFCコールをSDATA内のidocで行う必要がありました。ありがとう –

+0

フィードバックありがとうございます。しかし、IDOC_INBOUND_ASYNCHRONOUSの2つのテーブルの他のフィールドにも意味があり、一貫して塗りつぶさなければならないことに注意してください。また、IDocメタデータ(オフセットと長さ)を持たずに、セグメント内の単一のIDoc項目をSDATAに入力/修正することはできません。また、既にセグメントデータを文字データの連続ブロックとして使用している場合は、文字列の長さを1バイト、2バイト、またはそれ以上にすることができる非Unicodeマルチバイトコードページでは、SDATAを文字列として埋め込むことはできませんSDATA文字配列内の混合として使用されます)。 – Trixx

+1

あなたも正しいです。私の答えは、私が何をしたのか、あなたが指定したとおりに全面的に述べていました。私もコントロールレコードを埋めました。私はデータを正しく送信するためにセグメントの構造を知るためにSAPに問い合わせることによってオフセット/レングスをプログラムで処理しました。 –

1

NCO内にIDOCを送信する機能はなく、NCOは.NETを使用してRFCクライアントまたはRFCサーバーを開発するためのものです。スタック上の簡単な検索私は、これがあなたが行きたいと思う方法であれば、あなたを助けるかもしれないいくつかの提案と共に以下を見つけました。

How to create and send Idocs to SAP using SAP .Net Connector 3

ところで、私はのIDOCは、SAPの標準的なコミュニケーションツールであることを言わないだろう、それは多くの一つであり、ちょうどあなたの状況に依存しますので、それらはすべて同じように有効です。

後で...

関連する問題