SAP .NET Connector 3.0 を使用して SAP(R/3) からデータを読み取ります。販売注文からいくつかのヘッダー テキストを取得する必要があります。
この目的に使用できる READ_TEXT 関数に関する多くの情報を見つけました。ここでは、ERPConnect を使用してそれを行う方法のサンプルを見つけることができます。私は同じことをしようとしています.IRfcTableを返す次の関数があります:
static IRfcTable ReadFunction(string destName, int rowCount)
{
// get the destination
RfcDestination dest = RfcDestinationManager.GetDestination(destName);
IRfcFunction func = dest.Repository.CreateFunction("RFC_READ_TEXT");
IRfcTable table = func.GetTable("TEXT_LINES");
table.Insert();
table.Insert();
table.Insert();
table.Insert();
table[0].SetValue("TDOBJECT", "VBBK");
table[1].SetValue("TDNAME", "3147856016");
table[2].SetValue("TDID", "Z019");
table[3].SetValue("TDSPRAS", "PL");
func.Invoke(dest);
return table;
}
VBBK
- ヘッダー オブジェクト、3147856016
- 販売注文番号、Z019
- EDI サプライヤー テキスト フィールドの ID、PL
- 言語を意味します。その結果、いくつかのデータを取得していますが、フィールド TDLINE は空白です:
例によると、このフィールドにはテキストが含まれている必要があります。
おそらくいくつかのパラメーターが正しくありません。これは、各テキスト フィールドのTDIDパラメータを取得する方法を見つけた良い投稿です。
私が間違っていることは何ですか?
更新:以下の回答によるとvwegert
、コードは次のように変更されました。
IRfcTable table = func.GetTable("TEXT_LINES");
table.Insert();
table[0].SetValue("TDOBJECT", "VBBK");
table[0].SetValue("TDNAME", "3147856016");
table[0].SetValue("TDID", "Z019");
table[0].SetValue("TDSPRAS", "PL");
func.Invoke(dest);
return table;
これでパラメータは正しいです。しかしTDLINE
、まだ空です。結果: