USP_GETTASKSTATUS_GENERALLEDGER

Parameters

Parameter Parameter Type Mode Description
@STATUS tinyint INOUT
@DESCRIPTION nvarchar(max) INOUT
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_GETTASKSTATUS_GENERALLEDGER
(
    @STATUS tinyint = null output
    @DESCRIPTION nvarchar(max) = null output,
    @CURRENTAPPUSERID uniqueidentifier
)
as begin

declare @ACCOUNTID uniqueidentifier
        , @ACCOUNTSTRUCTUREDEFINED bit
        , @GLACCOUNTSDEFINED bit
        , @SEGMENTVALUESDEFINED bit
        , @ACCOUNTCODEMAPPINGSDEFINED bit
        , @SEGMENTEXIST bit
        , @CONSTITUENCYUSED bit
        , @CONSTITUENCYORDEREXISTS bit
        , @FISCALYEAREXIST bit

declare PDACCOUNTCURSOR cursor local fast_forward for
    select ID
    from dbo.PDACCOUNTSYSTEM
    where ISBASICGL = 1 and
        ID in (select T1.ID from dbo.UFN_PDACCOUNTSYSTEM_GETSYSTEMIDSFORUSER(@CURRENTAPPUSERID) T1)

open PDACCOUNTCURSOR
fetch next from PDACCOUNTCURSOR into @ACCOUNTID

while @@FETCH_STATUS = 0
begin
    exec dbo.USP_DATAFORMTEMPLATE_VIEW_ACCOUNTINGSETUPWORKFLOW2 
        @ID = @ACCOUNTID
        , @ACCOUNTSTRUCTUREDEFINED = @ACCOUNTSTRUCTUREDEFINED output
        , @GLACCOUNTSDEFINED = @GLACCOUNTSDEFINED output
        , @SEGMENTVALUESDEFINED = @SEGMENTVALUESDEFINED output
        , @ACCOUNTCODEMAPPINGSDEFINED = @ACCOUNTCODEMAPPINGSDEFINED output
        , @SEGMENTEXIST = @SEGMENTEXIST output
        , @CONSTITUENCYUSED = @CONSTITUENCYUSED output
        , @CONSTITUENCYORDEREXISTS = @CONSTITUENCYORDEREXISTS output
        , @FISCALYEAREXIST = @FISCALYEAREXIST output

    if (@FISCALYEAREXIST=1
        and @ACCOUNTSTRUCTUREDEFINED=1 
        and (@CONSTITUENCYUSED=0 or @CONSTITUENCYORDEREXISTS=1)
        and @GLACCOUNTSDEFINED=1 
        and (@SEGMENTEXIST=0 or @SEGMENTVALUESDEFINED=1)
        and @ACCOUNTCODEMAPPINGSDEFINED=1)
            set @STATUS = 2;
    else if (@FISCALYEAREXIST=1
        or @ACCOUNTSTRUCTUREDEFINED=1 
        or (@CONSTITUENCYUSED=1 and @CONSTITUENCYORDEREXISTS=1)
        or @GLACCOUNTSDEFINED=1 
        or (@SEGMENTEXIST=1 and @SEGMENTVALUESDEFINED=1)
        or @ACCOUNTCODEMAPPINGSDEFINED=1)
            set @STATUS = 1;

    if @STATUS=2
        break;

    fetch next from PDACCOUNTCURSOR into @ACCOUNTID
end

close PDACCOUNTCURSOR
deallocate PDACCOUNTCURSOR

if @STATUS is null
    set @STATUS = 0;

end