UFN_POSTTOGLPROCESS_DETAILWITHGLACCOUNTID

Returns of table of detail post records based on the post parameter set ID

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@InRecords UDT_GENERICIDANDBIT IN
@ID uniqueidentifier IN

Definition

Copy


CREATE function dbo.UFN_POSTTOGLPROCESS_DETAILWITHGLACCOUNTID
(@InRecords UDT_GENERICIDANDBIT readonly, @ID uniqueidentifier)
returns @WORKTABLE table
    (
    GLTRANSACTIONID uniqueidentifier,
    ACCOUNTSTRING  nvarchar(100),
    POSTDATE datetime,    
    TRANTYPE nvarchar(1),
    DEBITCREDIT nvarchar(1),
    AMOUNT money,    
    JOURNAL nvarchar(255),
    REFERENCE nvarchar(255),                
    BATCH uniqueidentifier,
    GLACCOUNTID uniqueidentifier,
    BASECURRENCYID uniqueidentifier,
    ORGANIZATIONAMOUNT money,
    NUMBEROFRECORD smallint,
    ROWNUMBER smallint,
    PARENTID uniqueidentifier,
    TABLENAMECODE smallint
    )    
  with execute as caller
    as
    begin

    declare @BASECURRENCYID uniqueidentifier;
    declare @REVALUATIONGAINLOSSPOSTMETHOD tinyint;
    declare @REVALUATIONGAINLOSSREFERENCE nvarchar(255);
    declare @QUERYVIEWID uniqueidentifier;
    declare @ISPEACHTREE bit = 0;

    declare @Pegadog table (GLTRANSACTIONID uniqueidentifier primary key, IsReversal bit, IsUsed bit, LeftoverID uniqueidentifier);

    declare @TTranCount table (TRANIDENTIFIERID uniqueidentifier primary key, Count int);
    declare @Leftover table (TRANIDENTIFIERID uniqueidentifier, TABLENAMECODE int,  Count int);


    declare @TABLENAMETABLE table (TABLECODE int);

    insert into @TABLENAMETABLE (TABLECODE)
    select distinct tablenamecode            
        from JOURNALENTRY_EXT a    
            join @InRecords b on a.ID = b.ID

    insert into @Pegadog (GLTRANSACTIONID, IsReversal, IsUsed, LeftoverID)
    select distinct ID, Flag, 0, '99999999-9999-9999-9999-999999999999' from @InRecords


    select 
        @BASECURRENCYID = coalesce(CURRENCYSET.BASECURRENCYID, dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()),
        @REVALUATIONGAINLOSSPOSTMETHOD = POSTTOGLPROCESSDETAIL.REVALUATIONGAINLOSSPOSTMETHODCODE, 
        @REVALUATIONGAINLOSSREFERENCE = isnull(nullif(POSTTOGLPROCESSDETAIL.REVALUATIONGAINLOSSREFERENCE,''),'Summarized Revaluation Gain/Loss'),
        @QUERYVIEWID = BUSINESSPROCESSVIEW.QUERYVIEWCATALOGID
    from 
        dbo.POSTTOGLPROCESSDETAIL 
        left join dbo.POSTTOGLPROCESS on POSTTOGLPROCESSDETAIL.ID = POSTTOGLPROCESS.ID
        left join dbo.BUSINESSPROCESSVIEW on BUSINESSPROCESSVIEW.ID = POSTTOGLPROCESS.BUSINESSPROCESSVIEWID
        left join dbo.PDACCOUNTSYSTEM ON POSTTOGLPROCESS.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
        left join dbo.CURRENCYSET ON PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
    where
        POSTTOGLPROCESSDETAIL.ID = @ID;

     if @QUERYVIEWID = 'ADD6036D-9B56-48CF-BDD2-1F48F74EDD0A' 
        set @ISPEACHTREE = 1

    -- Revenue

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 1)    
        begin
            insert into @TTranCount(TRANIDENTIFIERID, Count)
            select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID and X.TABLENAMECODE = 1
                Join @InRecords P on P.ID = J.ID
            where L.FINANCIALTRANSACTIONID is not null
            group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
            select 
                a.GLTRANSACTIONID
                ,GL.ACCOUNTNUMBER
                ,isnull(f.POSTDATE, L.POSTDATE)
                ,'R'
                ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                ,b.BASEAMOUNT
                ,c.JOURNAL
                ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                ,c.BATCHID
                ,TC.COUNT
                ,b.GLACCOUNTID
                ,@BASECURRENCYID
                ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by L.FINANCIALTRANSACTIONID ORDER by L.FINANCIALTRANSACTIONID)
                ,L.FINANCIALTRANSACTIONID
                ,c.TABLENAMECODE
            from  @Pegadog as
                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID and c.TABLENAMECODE = 1
                inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                inner join @TTranCount TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID        
                left outer join dbo.BANKACCOUNTDEPOSITPAYMENT as e on e.ID = c.REVENUEID
                left outer join dbo.FINANCIALTRANSACTION f on f.ID = e.DEPOSITID
            where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0
            order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end

    -- Deposit Corrections

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 3)    
        begin    
            insert into @TTranCount(TRANIDENTIFIERID, Count)
                select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
                from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID and X.TABLENAMECODE = 3
                Join @InRecords P on P.ID = J.ID
                where L.FINANCIALTRANSACTIONID is not null
                group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
                select 
                    a.GLTRANSACTIONID
                    ,GL.ACCOUNTNUMBER
                    , b.POSTDATE
                    ,'R'
                    ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                    ,F.BASEAMOUNT
                    ,c.JOURNAL
                    ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                    ,c.BATCHID
                    ,TC.COUNT
                    ,b.GLACCOUNTID
                    ,@BASECURRENCYID
                    ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                    ,ROW_NUMBER() OVER(partition by F.ID ORDER by F.ID)
                    ,L.FINANCIALTRANSACTIONID
                    ,c.TABLENAMECODE                    
                from  @Pegadog as
                    inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                    inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID and c.TABLENAMECODE = 3
                    inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                    inner join dbo.FINANCIALTRANSACTION F on L.FINANCIALTRANSACTIONID = F.ID
                    inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                    inner join @TTranCount TC on F.ID = TC.TRANIDENTIFIERID
                where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0
                order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end

    -- Credit

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 6)
        begin
            insert into @TTranCount(TRANIDENTIFIERID, Count)
                select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)

                from dbo.FINANCIALTRANSACTIONLINEITEM L 
                    join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                    join dbo.JOURNALENTRY_EXT X on J.ID = X.ID and X.TABLENAMECODE = 6
                    Join @InRecords P on P.ID = J.ID
                where L.FINANCIALTRANSACTIONID is not null
                group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
                select a.GLTRANSACTIONID,b.ACCOUNT, b.POSTDATE,'R',case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end,
                b.AMOUNT,
                JOURNAL,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.REFERENCE, 255),BATCHID,TC.COUNT,b.GLACCOUNTID,@BASECURRENCYID,b.ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by c.REVENUEID ORDER by c.REVENUEID)
                ,c.REVENUEID
                ,6
                from  @Pegadog as
                inner join dbo.GLTRANSACTION as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.CREDITGLDISTRIBUTION   as c on c.GLTRANSACTIONID = b.ID 
                inner join @TTranCount TC on c.REVENUEID = TC.TRANIDENTIFIERID
                where b.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0
                order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end


    -- Property

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 10)
        begin
            insert into @TTranCount(TRANIDENTIFIERID, Count)
            select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID 
                Join @InRecords P on P.ID = J.ID
            where L.FINANCIALTRANSACTIONID is not null and x.TABLENAMECODE = 10
            group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
            select 
                a.GLTRANSACTIONID
                ,GL.ACCOUNTNUMBER
                ,L.POSTDATE
                ,'R'
                ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                ,b.BASEAMOUNT
                ,c.JOURNAL
                ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                ,c.BATCHID
                ,TC.COUNT
                ,b.GLACCOUNTID
                ,@BASECURRENCYID
                ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by L.FINANCIALTRANSACTIONID ORDER by L.FINANCIALTRANSACTIONID)
                ,L.FINANCIALTRANSACTIONID
                ,c.TABLENAMECODE                
            from  @Pegadog as
                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID 
                inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                inner join @TTranCount TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID        
            where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0 and c.TABLENAMECODE = 10
            order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end

    -- Stock

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 11)
        begin
            insert into @TTranCount(TRANIDENTIFIERID, Count)
            select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID 
                Join @InRecords P on P.ID = J.ID
            where L.FINANCIALTRANSACTIONID is not null and x.TABLENAMECODE = 11
            group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
            select 
                a.GLTRANSACTIONID
                ,GL.ACCOUNTNUMBER
                ,L.POSTDATE
                ,'R'
                ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                ,b.BASEAMOUNT
                ,c.JOURNAL
                ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                ,c.BATCHID
                ,TC.COUNT
                ,b.GLACCOUNTID
                ,@BASECURRENCYID
                ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by L.FINANCIALTRANSACTIONID ORDER by L.FINANCIALTRANSACTIONID)
                ,L.FINANCIALTRANSACTIONID
                ,c.TABLENAMECODE                
            from  @Pegadog as
                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID 
                inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                inner join @TTranCount TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID        
            where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0 and c.TABLENAMECODE = 11
            order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end

    -- Gift-in-Kind 

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 13)
        begin
            insert into @TTranCount(TRANIDENTIFIERID, Count)
            select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID 
                Join @InRecords P on P.ID = J.ID
            where L.FINANCIALTRANSACTIONID is not null and x.TABLENAMECODE = 13
            group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
            select 
                a.GLTRANSACTIONID
                ,GL.ACCOUNTNUMBER
                ,L.POSTDATE
                ,'R'
                ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                ,b.BASEAMOUNT
                ,c.JOURNAL
                ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                ,c.BATCHID
                ,TC.COUNT
                ,b.GLACCOUNTID
                ,@BASECURRENCYID
                ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by L.FINANCIALTRANSACTIONID ORDER by L.FINANCIALTRANSACTIONID)
                ,L.FINANCIALTRANSACTIONID
                ,c.TABLENAMECODE                
            from  @Pegadog as
                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID 
                inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                inner join @TTranCount TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID        
            where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0 and c.TABLENAMECODE = 13
            order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end


    -- GiftAid 

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 7)
        begin
            insert into @TTranCount(TRANIDENTIFIERID, Count)
            select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID 
                Join @InRecords P on P.ID = J.ID
            where L.FINANCIALTRANSACTIONID is not null and x.TABLENAMECODE = 7
            group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
            select 
                a.GLTRANSACTIONID
                ,GL.ACCOUNTNUMBER
                ,L.POSTDATE
                ,'R'
                ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                ,b.BASEAMOUNT
                ,c.JOURNAL
                ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                ,c.BATCHID
                ,TC.COUNT
                ,b.GLACCOUNTID
                ,@BASECURRENCYID
                ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by L.FINANCIALTRANSACTIONID ORDER by L.FINANCIALTRANSACTIONID)
                ,L.FINANCIALTRANSACTIONID
                ,c.TABLENAMECODE                
            from  @Pegadog as
                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID 
                inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                inner join @TTranCount TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID        
            where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0 and c.TABLENAMECODE = 7
            order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end

    -- GiftFee   

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 8)
        begin
            insert into @TTranCount(TRANIDENTIFIERID, Count)
            select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID 
                Join @InRecords P on P.ID = J.ID
            where L.FINANCIALTRANSACTIONID is not null and x.TABLENAMECODE = 8
            group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
            select 
                a.GLTRANSACTIONID
                ,GL.ACCOUNTNUMBER
                ,L.POSTDATE
                ,'R'
                ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                ,b.BASEAMOUNT
                ,c.JOURNAL
                ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                ,c.BATCHID
                ,TC.COUNT
                ,b.GLACCOUNTID
                ,@BASECURRENCYID
                ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by L.FINANCIALTRANSACTIONID ORDER by L.FINANCIALTRANSACTIONID)
                ,L.FINANCIALTRANSACTIONID
                ,c.TABLENAMECODE                
            from  @Pegadog as
                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID 
                inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                inner join @TTranCount TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID        
            where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0 and c.TABLENAMECODE = 8
            order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end



    -- benefit

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 5)
        begin    
            insert into @TTranCount(TRANIDENTIFIERID, Count)
            select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID and X.TABLENAMECODE = 5
                Join @InRecords P on P.ID = J.ID
            where L.FINANCIALTRANSACTIONID is not null
            group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
            select 
                a.GLTRANSACTIONID
                ,GL.ACCOUNTNUMBER 
                ,L.POSTDATE
                ,'R'
                ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                ,b.BASEAMOUNT
                ,c.JOURNAL
                ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                ,c.BATCHID
                ,TC.COUNT
                ,b.GLACCOUNTID
                ,@BASECURRENCYID
                ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by L.FINANCIALTRANSACTIONID ORDER by L.FINANCIALTRANSACTIONID)
                ,L.FINANCIALTRANSACTIONID
                ,c.TABLENAMECODE                
            from  @Pegadog as
                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID and c.TABLENAMECODE = 5
                inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                inner join @TTranCount TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID        
                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID

            where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0
            order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end

    -- Auction

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 2)
        begin    
            insert into @TTranCount(TRANIDENTIFIERID, Count)
            select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID and X.TABLENAMECODE = 2
                Join @InRecords P on P.ID = J.ID
            where L.FINANCIALTRANSACTIONID is not null
            group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
            select 
                a.GLTRANSACTIONID
                ,GL.ACCOUNTNUMBER
                ,L.POSTDATE
                ,'R'
                ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                ,b.BASEAMOUNT
                ,c.JOURNAL
                ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                ,c.BATCHID
                ,TC.COUNT
                ,b.GLACCOUNTID
                ,@BASECURRENCYID
                ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by L.FINANCIALTRANSACTIONID ORDER by L.FINANCIALTRANSACTIONID)
                ,L.FINANCIALTRANSACTIONID
                ,c.TABLENAMECODE                
            from  @Pegadog as
                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID and c.TABLENAMECODE = 2
                inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                inner join @TTranCount TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID        

            where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0
            order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end

    -- Bank Adjustments

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 4)
        begin    
            insert into @TTranCount(TRANIDENTIFIERID, Count)
            select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID and X.TABLENAMECODE = 4
                Join @InRecords P on P.ID = J.ID
            where L.FINANCIALTRANSACTIONID is not null
            group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
            select 
                a.GLTRANSACTIONID
                ,GL.ACCOUNTNUMBER
                ,L.POSTDATE
                ,'R'
                ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                ,b.BASEAMOUNT
                ,c.JOURNAL
                ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                ,c.BATCHID
                ,TC.COUNT
                ,b.GLACCOUNTID
                ,@BASECURRENCYID
                ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by L.FINANCIALTRANSACTIONID ORDER by L.FINANCIALTRANSACTIONID)
                ,L.FINANCIALTRANSACTIONID
                ,c.TABLENAMECODE                
            from  @Pegadog as
                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID and c.TABLENAMECODE = 4
                inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                inner join @TTranCount TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID        

            where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0
            order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end

    -- Writeoff

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 12)
        begin    
            insert into @TTranCount(TRANIDENTIFIERID, Count)
            select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID and X.TABLENAMECODE = 12
                Join @InRecords P on P.ID = J.ID
            where L.FINANCIALTRANSACTIONID is not null
            group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
            select 
                a.GLTRANSACTIONID
                ,GL.ACCOUNTNUMBER 
                ,L.POSTDATE
                ,'R'
                ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                ,b.BASEAMOUNT
                ,c.JOURNAL
                ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                ,c.BATCHID
                ,TC.COUNT
                ,b.GLACCOUNTID
                ,@BASECURRENCYID
                ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by L.FINANCIALTRANSACTIONID ORDER by L.FINANCIALTRANSACTIONID)
                ,L.FINANCIALTRANSACTIONID
                ,c.TABLENAMECODE
            from  @Pegadog as
                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID and c.TABLENAMECODE = 12
                inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                inner join @TTranCount TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID        

            where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0
            order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end


    -- Payout

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 9)
        begin    
            insert into @TTranCount(TRANIDENTIFIERID, Count)
            select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID and X.TABLENAMECODE = 9
                Join @InRecords P on P.ID = J.ID
            where L.FINANCIALTRANSACTIONID is not null
            group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
            select 
                a.GLTRANSACTIONID
                ,GL.ACCOUNTNUMBER
                ,L.POSTDATE
                ,'R'
                ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                ,b.BASEAMOUNT
                ,c.JOURNAL
                ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                ,c.BATCHID
                ,TC.COUNT
                ,b.GLACCOUNTID
                ,@BASECURRENCYID
                ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by L.FINANCIALTRANSACTIONID ORDER by L.FINANCIALTRANSACTIONID)
                ,L.FINANCIALTRANSACTIONID
                ,c.TABLENAMECODE                
            from  @Pegadog as
                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID and c.TABLENAMECODE = 9
                inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                inner join @TTranCount TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID        

            where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0
            order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end

    -- Unreal

    if exists(select 1 from @TABLENAMETABLE where TABLECODE = 14)
        begin    
            insert into @TTranCount(TRANIDENTIFIERID, Count)
            select     L.FINANCIALTRANSACTIONID, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID and X.TABLENAMECODE = 14
                Join @InRecords P on P.ID = J.ID
            where L.FINANCIALTRANSACTIONID is not null
            group by L.FINANCIALTRANSACTIONID having COUNT(J.ID) > 1

            insert into @WORKTABLE (GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,
                                    BATCH,NUMBEROFRECORD,GLACCOUNTID,BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                                    ,PARENTID,TABLENAMECODE)
            select 
                a.GLTRANSACTIONID
                ,GL.ACCOUNTNUMBER
                ,L.POSTDATE
                ,'R'
                ,case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                ,b.BASEAMOUNT
                ,c.JOURNAL
                ,left(case when a.ISREVERSAL = 0 then '' else 'Reversal - ' end + b.COMMENT, 255)
                ,c.BATCHID
                ,TC.COUNT
                ,b.GLACCOUNTID
                ,@BASECURRENCYID
                ,b.ORGAMOUNT as ORGANIZATIONAMOUNT
                ,ROW_NUMBER() OVER(partition by L.FINANCIALTRANSACTIONID ORDER by L.FINANCIALTRANSACTIONID)
                ,L.FINANCIALTRANSACTIONID
                ,c.TABLENAMECODE                
            from  @Pegadog as
                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID and c.TABLENAMECODE = 14
                inner join dbo.FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                inner join @TTranCount TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID        

            where L.POSTSTATUSCODE = 1 and  a.ISREVERSAL = 0
            order by TC.TRANIDENTIFIERID

            update @Pegadog set ISUSED = 1
                from @Pegadog tv1 inner join
                @WORKTABLE V1 on tv1.GLTRANSACTIONID = V1.GLTRANSACTIONID

            delete  from @TTranCount
        end





    if exists(select 1 from @Pegadog where IsUsed = 0)
        begin

        insert into @Leftover(TRANIDENTIFIERID, TABLENAMECODE, Count)
            select     L.FINANCIALTRANSACTIONID,X.TABLENAMECODE, COUNT(J.ID)
            from dbo.FINANCIALTRANSACTIONLINEITEM L 
                join dbo.JOURNALENTRY J on J.FINANCIALTRANSACTIONLINEITEMID = L.ID
                join dbo.JOURNALENTRY_EXT X on J.ID = X.ID 
                Join @Pegadog P on P.GLTRANSACTIONID = J.ID
            where L.FINANCIALTRANSACTIONID is not null
            group by L.FINANCIALTRANSACTIONID, X.TABLENAMECODE  having COUNT(J.ID) > 1


        If @ISPEACHTREE = 0
            begin

            insert into @WORKTABLE 
            (
                GLTRANSACTIONID, 
                ACCOUNTSTRING, 
                POSTDATE, 
                TRANTYPE, 
                DEBITCREDIT, 
                AMOUNT,
                JOURNAL, 
                REFERENCE, 
                BATCH, 
                NUMBEROFRECORD, 
                GLACCOUNTID, 
                BASECURRENCYID,
                ORGANIZATIONAMOUNT,
                ROWNUMBER,
                PARENTID,
                TABLENAMECODE
            )
                select 
                    a.GLTRANSACTIONID, 
                    GL.ACCOUNTNUMBER,
                    COALESCE(ADJUSTMENT.POSTDATE,UNREALIZEDGAINLOSSADJUSTMENT.POSTDATE,L.POSTDATE),
                    'R'
                    case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end
                    b.BASEAMOUNT,
                    c.JOURNAL,
                    left(case when a.ISREVERSAL = 0 then b.COMMENT else 'Reversal' + ' - ' + b.COMMENT end, 255), 
                    c.BATCHID,
                    TC.COUNT
                    b.GLACCOUNTID,
                    @BASECURRENCYID,
                    b.ORGAMOUNT as ORGANIZATIONAMOUNT,
                    ROW_NUMBER() OVER(partition by a.LeftoverID ORDER by a.LeftoverID)
                    ,L.FINANCIALTRANSACTIONID
                    ,c.TABLENAMECODE                
                from 
                    @Pegadog as a                 
            inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
            inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID 
            inner join FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
            inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
            inner join @Leftover TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID and c.TABLENAMECODE = TC.TABLENAMECODE
            left join dbo.ADJUSTMENT on L.FINANCIALTRANSACTIONID = ADJUSTMENT.REVENUEID and ADJUSTMENT.POSTSTATUSCODE = 1
            left join dbo.UNREALIZEDGAINLOSSADJUSTMENT on L.FINANCIALTRANSACTIONID = UNREALIZEDGAINLOSSADJUSTMENT.REVENUEID and UNREALIZEDGAINLOSSADJUSTMENT.POSTSTATUSCODE = 1        

                where 
                    a.ISUSED = 0
            end 
        else
            begin

                    insert into @WORKTABLE 
                    (
                        GLTRANSACTIONID,ACCOUNTSTRING,POSTDATE,TRANTYPE,DEBITCREDIT,AMOUNT,JOURNAL,REFERENCE,BATCH,NUMBEROFRECORD,GLACCOUNTID, BASECURRENCYID,ORGANIZATIONAMOUNT,ROWNUMBER
                        ,PARENTID,TABLENAMECODE
                    )
                        select 
                            a.GLTRANSACTIONID, 
                            GL.ACCOUNTNUMBER,
                            COALESCE(ADJUSTMENT.POSTDATE,UNREALIZEDGAINLOSSADJUSTMENT.POSTDATE,L.POSTDATE),
                            'R'
                            case b.TRANSACTIONTYPECODE when 0 then 'D' else 'C' end,                         
                            b.BASEAMOUNT,
                            c.JOURNAL,
                            left(case when a.ISREVERSAL = 0 then b.COMMENT else 'Reversal' + ' - ' + b.COMMENT end, 255),
                            c.BATCHID,
                            TC.COUNT
                            b.GLACCOUNTID,
                            @BASECURRENCYID,
                            b.ORGAMOUNT as ORGANIZATIONAMOUNT,
                            ROW_NUMBER() OVER(partition by a.LeftoverID ORDER by a.LeftoverID)
                            ,L.FINANCIALTRANSACTIONID
                            ,c.TABLENAMECODE                        
                        from 
                            @Pegadog as
                                inner join dbo.JOURNALENTRY as b on a.GLTRANSACTIONID = b.ID 
                                inner join dbo.JOURNALENTRY_EXT as c on c.ID = b.ID 
                                inner join FINANCIALTRANSACTIONLINEITEM L on b.FINANCIALTRANSACTIONLINEITEMID = L.ID
                                inner join dbo.GLACCOUNT GL on GL.ID = b.GLACCOUNTID
                                inner join @Leftover TC on L.FINANCIALTRANSACTIONID = TC.TRANIDENTIFIERID and c.TABLENAMECODE = TC.TABLENAMECODE                                
                                left join dbo.ADJUSTMENT on L.FINANCIALTRANSACTIONID = ADJUSTMENT.REVENUEID and ADJUSTMENT.POSTSTATUSCODE = 1
                                left join dbo.UNREALIZEDGAINLOSSADJUSTMENT on L.FINANCIALTRANSACTIONID = UNREALIZEDGAINLOSSADJUSTMENT.REVENUEID and UNREALIZEDGAINLOSSADJUSTMENT.POSTSTATUSCODE = 1                
                            where 
                                a.ISUSED = 0

            end
    end
return
end