首页 > 解决方案 > AX 2012 中批处理作业状态的可能值和文本描述是什么?

问题描述

我正在创建一个报告以显示 Microsoft AX 2012 中的批处理作业问题,但找不到任何东西可以将 SQL Server 中的 BATCHJOB 表中的整数状态值链接到应用程序中显示的文本描述。有人告诉我这应该存在于枚举中的模型数据库中,但我无法确定该数据库中数据之间的正确链接。我也无法在网络搜索或 Microsoft 提供的任何文档中找到此信息。有没有人能够提供这些值,或者告诉我在哪里可以找到它们?

SELECT bj.[STATUS] AS [bj_STATUS]
    -- 1: Didn't run - what else? 
    -- 2: Canceled - what else?
    -- 3: Error? 
    -- 4: Success?
    -- 5: ?
    -- 6: ?
    -- 7: ?
    -- 8: Withhold?
    -- Waiting
    -- Ended
    -- Withhold
    -- Executing
    -- Ready
    -- Finished
    -- Error
    -- Didn't run
    ,bj.[CAPTION] AS [bj_CAPTION]
    ,bjh.[STARTDATETIME] AS [bjh_STARTDATETIME]
    ,bjh.[ENDDATETIME] AS [bjh_ENDDATETIME]
    ,bjh.[BATCHCREATEDBY] AS [bjh_BATCHCREATEDBY]
    ,bjh.[CANCELEDBY] AS [bjh_CANCELEDBY]
    ,bg.[GROUP_] AS [bg_GROUP]
    ,bg.[DESCRIPTION] AS [bg_DESCRIPTION]
    ,bh.[SERVERID] AS [bh_SERVERID]
FROM [MicrosoftDynamicsAX].[dbo].[BATCHJOB] bj WITH(NOLOCK)
INNER JOIN [MicrosoftDynamicsAX].[dbo].[BATCHJOBHISTORY] bjh WITH(NOLOCK)
    ON bjh.[BATCHJOBID] = bj.[RECID] 
INNER JOIN [MicrosoftDynamicsAX].[dbo].[BATCH] b WITH(NOLOCK)
    ON b.[BATCHJOBID] = bj.[RECID] 
INNER JOIN [MicrosoftDynamicsAX].[dbo].[BATCHGROUP] bg WITH(NOLOCK)
    ON bg.[GROUP_] = b.[GROUPID] 
INNER JOIN [MicrosoftDynamicsAX].[dbo].[BATCHHISTORY] bh WITH(NOLOCK)
    ON bh.[BATCHID] = b.[RECID]
    AND bh.[BATCHJOBID] = bj.[RECID]
    AND bh.[BATCHJOBHISTORYID] = bjh.[RECID]
WHERE bjh.[STARTDATETIME] > GETDATE() - 1 -- AND bj.[STATUS] NOT IN(1, 2, 4)

标签: axaptadynamics-ax-2012-r2

解决方案


枚举是BatchStatus,它存储在模型存储数据库中,但我不认为枚举名称和/或值被存储。它最终代表一个整数。

下面是整数值 0-8 的基本枚举:

在此处输入图像描述

除以下例外情况外,文本标签与名称(即英文)相同。

  • 0 - 保留(保留)
  • 4 - 结束(完成)
  • 6 - 未运行 (NotRun)

您可能只需使用 CASE 语句创建一个 SQL 存储过程,因为这些状态很少从基本代码更改。


推荐阅读