UFN_ADJUSTMENTHISTORY_GETSTOCKDISTRIBUTION_FORDISPLAY

Returns the GL distribution for a sold stock adjustment history item in a format suitable for display.

Return

Return Type
table

Definition

Copy


            CREATE function dbo.UFN_ADJUSTMENTHISTORY_GETSTOCKDISTRIBUTION_FORDISPLAY
            (
            )
            returns @RESULT table
            (
                ID nvarchar(36),
                ADJUSTMENTHISTORYSTOCKID uniqueidentifier,
                TYPECODE tinyint,
                TYPE nvarchar(20),
                TRANSACTIONTYPE nvarchar(50),
                ACCOUNT nvarchar(100),
                PROJECT nvarchar(100),
                REFERENCE nvarchar(100),
                AMOUNT money
            )
            as
            begin
                declare @TEMP table
                (
                    ADJUSTMENTHISTORYSTOCKID uniqueidentifier,
                    TYPECODE tinyint,
                    TYPE nvarchar(20),
                    TRANSACTIONTYPE nvarchar(50),
                    ACCOUNT nvarchar(100),
                    PROJECT nvarchar(100),
                    REFERENCE nvarchar(100),
                    AMOUNT money
                )

                insert into @TEMP(ADJUSTMENTHISTORYSTOCKID, TYPECODE, TYPE, TRANSACTIONTYPE, ACCOUNT, PROJECT, REFERENCE, AMOUNT)
                select
                    ADJUSTMENTHISTORYSTOCKID,
                    TYPECODE,
                    TYPE,
                    TRANSACTIONTYPE,
                    ACCOUNT,
                    PROJECT,
                    REFERENCE,
                    AMOUNT
                from dbo.UFN_ADJUSTMENTHISTORY_GETSTOCKDISTRIBUTION()
                order by TYPE, TRANSACTIONTYPE


                /*need to get an ID unique for each row. Can't use newid() because it's nondeterministic, so use the row number*/
                insert into @RESULT(ID, ADJUSTMENTHISTORYSTOCKID, TYPECODE, TYPE, TRANSACTIONTYPE, ACCOUNT, PROJECT, REFERENCE, AMOUNT)
                    select
                        cast(row_number() over (order by AMOUNT) as nvarchar(36)),
                        ADJUSTMENTHISTORYSTOCKID,
                        TYPECODE,
                        TYPE,
                        TRANSACTIONTYPE,
                        ACCOUNT,
                        PROJECT,
                        REFERENCE,
                        AMOUNT
                    from @TEMP

                return;
            end