Stored Procedures [dbo].[XLedgerImportSubledgerHiddenIndicators]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@itemsPriKeyToIntMapmax
@xLedgerSyncHistoryIdint4
Permissions
TypeActionOwning Principal
GrantExecuteMssExec
SQL Script
CREATE PROCEDURE [dbo].[XLedgerImportSubledgerHiddenIndicators]
    @items PriKeyToIntMap readonly,
    @xLedgerSyncHistoryId int
AS
begin
    set nocount on
    ;with Items as(
        select
        XLedgerDbId = items.Id,
        CustomerOrSupplierDbId = items.[Value]
        from @items items
    ) merge XLedgerHiddenSubledger with(tablock) using Items on (
        Items.XLedgerDbId = XLedgerHiddenSubledger.XLedgerDbId or
        Items.CustomerOrSupplierDbId = XLedgerHiddenSubledger.XLedgerSubledgerDbId
    )
    when not matched and Items.CustomerOrSupplierDbId is not null then
        insert(
            XLedgerDbId,
            XLedgerSubledgerDbId,
            XLedgerSyncHistoryFid
        )
        values(
            Items.XLedgerDbId,
            Items.CustomerOrSupplierDbId,
            @xLedgerSyncHistoryId
        )
    when matched and Items.CustomerOrSupplierDbId is not null then update set
        XLedgerDbId = Items.XLedgerDbId,
        XLedgerSubledgerDbId = Items.CustomerOrSupplierDbId,
        XLedgerSyncHistoryFid = @xLedgerSyncHistoryId
    when matched and Items.CustomerOrSupplierDbId is null then delete
    ;
end
GO
GRANT EXECUTE ON  [dbo].[XLedgerImportSubledgerHiddenIndicators] TO [MssExec]
GO
Uses