4

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、まだ空です。結果:
ここに画像の説明を入力

4

1 に答える 1