使用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());

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

我找不到从整个表的存储过程中获取信息的任何方法。我发现的唯一工作方式是将输出在存储过程级别下序列化XML,然后在Acumatica中对其进行序列化。

但是,对于您所描述的情况,我无法理解,为什么不使用普通的pxSelect?这会更简单,我敢肯定要高效。

最新更新