USP_DATAFORMTEMPLATE_VIEW_PDACCOUNTSTRUCTURE3

The load procedure used by the view dataform template "Account Structure View Form 3"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@EXISTINGTRANSACTIONS nchar INOUT EXISTINGTRANSACTIONS
@NUMBEROFSEGMENTS int INOUT NUMBEROFSEGMENTS
@SYSTEMNAME nvarchar(50) INOUT SYSTEMNAME
@ISBASICPROGRAMS bit INOUT ISBASICPROGRAMS
@PROCESSID uniqueidentifier INOUT PROCESSID
@FENXT bit INOUT
@FENXTSAMESTRUCTURE bit INOUT

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_PDACCOUNTSTRUCTURE3
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @EXISTINGTRANSACTIONS nchar(1) = null output,
    @NUMBEROFSEGMENTS int = null output,
    @SYSTEMNAME nvarchar(50) = null output,
    @ISBASICPROGRAMS bit = null output,
    @PROCESSID uniqueidentifier = null output,
    @FENXT bit = null output,
    @FENXTSAMESTRUCTURE bit = null output
)
as
    set nocount on;

    set @DATALOADED = 1;

    set @EXISTINGTRANSACTIONS = '0'
    select @EXISTINGTRANSACTIONS = '1' 
    from dbo.GLACCOUNT 
    inner join dbo.JOURNALENTRY on JOURNALENTRY.GLACCOUNTID = GLACCOUNT.ID 
    where GLACCOUNT.PDACCOUNTSYSTEMID = @ID
    option (recompile)

    select @NUMBEROFSEGMENTS = dbo.UFN_PDACCOUNTSTRUCTURE_NUMBEROFSEGMENTS2(@ID)

    select @SYSTEMNAME=PDACCOUNTSYSTEM.NAME 
        ,@PROCESSID=GLACCOUNTMAPPINGERRORUPDATEPROCESS.ID
    from dbo.PDACCOUNTSYSTEM 
    inner join dbo.GLACCOUNTMAPPINGERRORUPDATEPROCESS on GLACCOUNTMAPPINGERRORUPDATEPROCESS.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
    where PDACCOUNTSYSTEM.ID = @ID
    option (recompile)

    select @ISBASICPROGRAMS = dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('bb1c17bc-9e0b-4683-b490-ee40d511fa05')

    if exists (select 1 from dbo.FENXTINTEGRATION where PDACCOUNTSYSTEMID = @id)
        set @FENXT = 1;
     else
        set @FENXT = 0;

    if not exists 
        (select 1 from dbo.PDACCOUNTSTRUCTURE 
        where PDACCOUNTSYSTEMID = @ID
        and not exists (select 1 from dbo.FENXTACCOUNTSTRUCTURE 
                    where PDACCOUNTSYSTEMID = @ID
                    and FENXTACCOUNTSTRUCTURE.SEGMENTSEQUENCE = PDACCOUNTSTRUCTURE.SEQUENCE
                    and FENXTACCOUNTSTRUCTURE.SEGMENTLENGTH = PDACCOUNTSTRUCTURE.LENGTH
                    and case FENXTACCOUNTSTRUCTURE.SEPARATOR when 'Hyphen' then 1 when 'Comma' then 2 when 'Slash' then 3 when 'Semicolon' then 4 when 'Period' then 5 when '<No separator>' then 6 when '' then PDACCOUNTSTRUCTURE.SEPARATORCODE end = PDACCOUNTSTRUCTURE.SEPARATORCODE
                    )
    )
    begin
        if not exists
            (select 1 from dbo.FENXTACCOUNTSTRUCTURE
            where PDACCOUNTSYSTEMID = @ID
            and not exists (select 1 from dbo.PDACCOUNTSTRUCTURE
                            where PDACCOUNTSYSTEMID = @ID
                            and PDACCOUNTSTRUCTURE.SEQUENCE = FENXTACCOUNTSTRUCTURE.SEGMENTSEQUENCE 
                            and PDACCOUNTSTRUCTURE.LENGTH = FENXTACCOUNTSTRUCTURE.SEGMENTLENGTH
                            and PDACCOUNTSTRUCTURE.SEPARATORCODE = case FENXTACCOUNTSTRUCTURE.SEPARATOR when 'Hyphen' then 1 when 'Comma' then 2 when 'Slash' then 3 when 'Semicolon' then 4 when 'Period' then 5 when '<No separator>' then 6 when '' then PDACCOUNTSTRUCTURE.SEPARATORCODE end
                            )
            )

            set @FENXTSAMESTRUCTURE = 1;
        else
            set @FENXTSAMESTRUCTURE = 0;
    end
    else
        set @FENXTSAMESTRUCTURE = 0;

    return 0;