使用Acumatica中的存储过程返回表数据

时间:2018-12-21 13:23:56

标签: acumatica

无法从存储过程中获取完整的表数据。为了便于理解,我提供了一个简单的存储过程。在内部,我们将使用不同的逻辑和不同的存储过程来返回表。

ALTER PROCEDURE [dbo].[SP_GetResultWeeklyUnitSold]
    @fromDate VARCHAR(10),
    @toDate VARCHAR(10)
AS 
BEGIN
    SELECT * 
    FROM SOOrder 
    WHERE OrderDate BETWEEN @fromDate AND @toDate
End 

var pars = new List<PXSPParameter>();
PXSPParameter fromDate = new PXSPInParameter("@fromDate", 
PXDbType.VarChar, Filters.Current.StartDate);
PXSPParameter toDate = new PXSPInParameter("@toDate", PXDbType.VarChar, 
Filters.Current.EndDate);
pars.Add(fromDate);
pars.Add(toDate);

var results = PXDatabase.Execute("SP_WeeklyUnitSold",  pars.ToArray());

要从存储过程中获取结果表。

1 个答案:

答案 0 :(得分:0)

我没有找到直接从整个表的存储过程中获取信息的任何方法。 我发现的唯一工作方式是在存储过程级别将输出序列化为xml,然后在Acumatica中反序列化。

但是对于您所描述的情况,我不明白,为什么不使用普通的PXSelect?这样会更简单,而且我肯定会更有效率。