RFC_READ_TABLE传递“选项”和“字段”参数(c#)

问题描述 投票:1回答:3

[需要帮助,我正在尝试使用RFC_READ_TABLE从SAP获取销售数据,但是不知道如何将OPTIONS和FIELDS参数传递给SAP。这是我的应用的示例代码。

连接正在运行,执行后,我有一个异常“ DATA_BUFFER_EXCEEDED”]

public void RFC_READ_TABLE()
    {
        try
        {
            ECCDestinationConfig cfg = new ECCDestinationConfig();

            RfcDestinationManager.RegisterDestinationConfiguration(cfg);

            RfcDestination dest = RfcDestinationManager.GetDestination("ABI_ERP");

            RfcRepository repo = dest.Repository;

            IRfcFunction fn = repo.CreateFunction("RFC_READ_TABLE");

            fn.SetValue("QUERY_TABLE", "VBAP");

            fn.GetTable("DATA");

            fn.Invoke(dest);

            var companyCodeList = fn.GetTable("VBAP");

            var companyDataTable = companyCodeList.ToDataTable("VBAP");

            dataGridView1.DataSource = companyDataTable;
        }
        catch (RfcBaseException x)
        {

            MessageBox.Show("Some problems in programe execution. Check entered data, and try again." +
                                        "\n" +
                                        "\n<SAP Remote Execution Error>" +
                                        "\n" +
                                        "\nAdditional Information on Error: " + x.Message, "Oops, Runtime Error");
        }
    }
c# sap abap
3个回答
1
投票

RFC_READ_TABLE并不是用于读取销售订单数据的理想功能模块(它实际上是为快速n'-dirty表读取而其他不存在的功能而设计的)。我将研究以下启用RFC的功能模块:

  • BAPI_SALESORDER_GETLIST-获取销售文件清单
  • [BAPISDORDER_GETDETAILEDLIST-阅读单个销售单据的详细信息

如果您查看功能组2032或在交易BAPI中的销售和分销-> 销售-> 销售订单,您会发现其他可能有帮助的产品。] >


0
投票

通过使用RFC_READ_TABLE的'选项'和'字段'表选项来缩小查询范围。


0
投票

您应该只定义真正需要的列,例如在SQL中的SELECT之后,即销售单据,物料和物料编号:

© www.soinside.com 2019 - 2024. All rights reserved.