Вот мой код:Try-Catch: Как я могу узнать значение для его регистрации?
BEGIN TRY
update [MicrosoftDynamicsAX].[dbo].[SALESLINE]
set recid = i.recid
FROM [Integration].[dbo].[CrmOrderDetails] c WITH(NOLOCK)
left outer join [MicrosoftDynamicsAX].[dbo].[SALESTABLE] s WITH(NOLOCK)
on cast(c.salesorderid as varchar(50)) = s.CRMGUID
left outer join [MicrosoftDynamicsAX].[dbo].[INVENTTABLE] it WITH(NOLOCK)
on it.NAMEALIAS = c.productidname
left outer join [MicrosoftDynamicsAX].[dbo].[INVENTTABLEMODULE] i WITH(NOLOCK)
on it.ITEMID = i.ITEMID
and i.MODULETYPE = 2 -- sales order
left outer join [MicrosoftDynamicsAX].[dbo].[SALESLINE] sl WITH(NOLOCK)
on sl.SALESID = s.SALESID
and sl.ITEMID = it.itemid
END TRY
BEGIN CATCH
INSERT INTO [Integration].[dbo].[PackageError]
([ID]
,[PackageName]
,[PackageStep]
,[ErrorDescription])
SELECT 'RECID VALUE HERE', 'CrmToAxOrders', 'UpdateSalesLineSP', ERROR_MESSAGE() ;
END CATCH
Как получить i.recid значение, ошибки, так что я могу войти к столу PackageError? Я не вижу способа определить, какой recid вызвал ошибку.
Благодаря