Stored Procedures [dbo].[XLedgerMarkTransactionsPostAsFailure]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@exceptionnvarchar(max)max
@transactionsPostedbit1
@failureLocationvarchar(16)16
@batchItemIdsIntListmax
Permissions
TypeActionOwning Principal
GrantExecuteMssExec
SQL Script
CREATE PROCEDURE [dbo].[XLedgerMarkTransactionsPostAsFailure]
    @exception nvarchar(max),
    @transactionsPosted bit,
    @failureLocation varchar(16),
    @batchItemIds IntList readonly
AS
begin
set nocount on

    declare @uploadFailureId int
    declare @now datetimeoffset = sysDateTimeOffset()


    insert into XLedgerTransactionUploadFailure
    (
        FailedAt,
        ErrorMessage,
        XLedgerTransactionUploadFailureLocationFid,
        TransactionsPosted
    )
    select
        FailedAt = @now,
        ErrorMessage = @exception,
        XLedgerTransactionUploadFailureLocationId = XLedgerTransactionUploadFailureLocation.XLedgerTransactionUploadFailureLocationId,
        TransactionsPosted = @transactionsPosted
    from XLedgerTransactionUploadFailureLocation
    where XLedgerTransactionUploadFailureLocation.[Description] = @failureLocation

    set @uploadFailureId = scope_identity()

    insert into XLedgerTransactionUploadFailureMap
    (
        XLedgerTransactionUploadFailureFid,
        XLedgerJournalEntryBatchItemFid
    )
    select
        Items.Item,
        @uploadFailureId
    from @batchItemIds Items

end
GO
GRANT EXECUTE ON  [dbo].[XLedgerMarkTransactionsPostAsFailure] TO [MssExec]
GO
Uses