USP_DATAFORMTEMPLATE_VIEW_LEDGERSETUP

The load procedure used by the view dataform template "Ledger Setup View Form"

Parameters

Parameter Parameter Type Mode Description
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@ACCOUNTSTRUCTUREDEFINED bit INOUT account structure defined
@ACCOUNTSTRUCTUREDEFAULTS bit INOUT account structure defaults
@ACCOUNTCODEDEFINED bit INOUT account codes defined
@ACCOUNTINGELEMENTSDEFINED bit INOUT accounting elements defined
@ALLACCOUNTINGELEMENTSDEFINED bit INOUT all elements defined
@ALLACCOUNTSEGMENTSDEFINED bit INOUT all segments defined
@ACCOUNTSDEFINED bit INOUT accounts defined
@ALLACCOUNTSDEFINED bit INOUT all accounts defined
@CLOSINGELEMENTDEFINED bit INOUT closing element defined
@CLOSINGREQUIREMENTSDEFINED bit INOUT closing requirements defined
@CLOSINGACCOUNTSDEFINED bit INOUT closing requirements defined without accounts
@BALANCINGENTRIESDEFINED bit INOUT balancing entries defined
@CONTROLACCOUNTSDEFINED bit INOUT control accounts defined
@FISCALYEARSDEFINED bit INOUT fiscal years defined
@ACCOUNTINGELEMENTRELATIONSHIPSDEFINED bit INOUT accounting element relationships defined
@ACCOUNTINGELEMENTSECURITYDEFINED bit INOUT accounting element security defined
@TRANSACTIONSEXIST bit INOUT transactions exist
@CLOSINGELEMENTNAME nvarchar(103) INOUT closing element name

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_LEDGERSETUP
(
    @DATALOADED bit = 0 output,
  @ACCOUNTSTRUCTUREDEFINED bit = null output,
  @ACCOUNTSTRUCTUREDEFAULTS bit = null output,
  @ACCOUNTCODEDEFINED bit = null output,
  @ACCOUNTINGELEMENTSDEFINED bit = null output,
  @ALLACCOUNTINGELEMENTSDEFINED bit = null output,
  @ALLACCOUNTSEGMENTSDEFINED bit = null output,
  @ACCOUNTSDEFINED bit = null output,
  @ALLACCOUNTSDEFINED bit = null output,
  @CLOSINGELEMENTDEFINED bit = null output,
  @CLOSINGREQUIREMENTSDEFINED bit = null output,
  @CLOSINGACCOUNTSDEFINED bit = null output,
  @BALANCINGENTRIESDEFINED bit = null output,
  @CONTROLACCOUNTSDEFINED bit = null output,
  @FISCALYEARSDEFINED bit = null output,
  @ACCOUNTINGELEMENTRELATIONSHIPSDEFINED bit = null output,
  @ACCOUNTINGELEMENTSECURITYDEFINED bit = null output,
  @TRANSACTIONSEXIST bit = null output,
  @CLOSINGELEMENTNAME nvarchar(103) = null output
)
as
    set nocount on;

  declare @COUNT int;
  declare @PDACCOUNTSYSTEMID uniqueidentifier;
  set @PDACCOUNTSYSTEMID = '4B121C2C-CCE6-440D-894C-EA0DEF80D50B';

    set @DATALOADED = 1;

  select @ACCOUNTSTRUCTUREDEFINED = 1 from dbo.PDACCOUNTSTRUCTURE where PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and ISBASICGL = 0;
  select @ACCOUNTCODEDEFINED = 1 from dbo.ACCOUNTCODE;
  select @ACCOUNTINGELEMENTSDEFINED = 1 from dbo.PDACCOUNTSEGMENTVALUE inner join dbo.PDACCOUNTSTRUCTURE on PDACCOUNTSEGMENTVALUE.PDACCOUNTSTRUCTUREID = PDACCOUNTSTRUCTURE.ID where PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and ISBASICGL = 0;
  select @ACCOUNTSDEFINED = 1 from dbo.GLACCOUNT;
  select @CLOSINGELEMENTDEFINED = 1 from dbo.PDACCOUNTSTRUCTURE where CLOSINGELEMENT = 1 and PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and ISBASICGL = 0;
  select @CLOSINGREQUIREMENTSDEFINED = 1 from dbo.CLOSINGREQUIREMENT;
  select @BALANCINGENTRIESDEFINED = 1 from dbo.BALANCINGENTRY;
  select @COUNT = COUNT(distinct SYSTEMID) from dbo.CONTROLACCOUNT;
  if @COUNT = 2
    set @CONTROLACCOUNTSDEFINED = 1;
  select @FISCALYEARSDEFINED = 1 from dbo.GLFISCALYEAR;
  select @ACCOUNTINGELEMENTRELATIONSHIPSDEFINED = 1 from dbo.ACCOUNTINGELEMENTRELATIONSHIP;
  select @ACCOUNTINGELEMENTSECURITYDEFINED = 1 from dbo.ACCOUNTINGELEMENTSECURITYGROUP;
  select @TRANSACTIONSEXIST = 1 from dbo.JOURNALENTRY;
  if @CLOSINGELEMENTDEFINED = 1
    select @CLOSINGELEMENTNAME = ' - ' + DESCRIPTION from dbo.PDACCOUNTSTRUCTURE where CLOSINGELEMENT = 1 and PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and ISBASICGL = 0;
  else
    set @CLOSINGELEMENTNAME = '';

  select @COUNT = COUNT(1) from dbo.PDACCOUNTSTRUCTURE where PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and ISBASICGL = 0;
  select @ACCOUNTSTRUCTUREDEFAULTS = 
    (case @COUNT when 1 then 
      case [LENGTH] when 4 then 1 else 0 end
    else 0 end)
  from dbo.PDACCOUNTSTRUCTURE where ELEMENTDEFINITIONCODE = 1 and PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and ISBASICGL = 0

  select
    @ALLACCOUNTINGELEMENTSDEFINED = case count(id) when 0 then 1 else 0 end
  from
    (select
      PDACCOUNTSTRUCTURE.ID
    from
      dbo.PDACCOUNTSTRUCTURE
    where PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and ISBASICGL = 0
    except
    select
      PDACCOUNTSTRUCTURE.ID
    from
      dbo.PDACCOUNTSTRUCTURE
      left join dbo.PDACCOUNTSEGMENTVALUE on PDACCOUNTSTRUCTURE.ID = PDACCOUNTSEGMENTVALUE.PDACCOUNTSTRUCTUREID
    where
      PDACCOUNTSEGMENTVALUE.ID is not null and PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and ISBASICGL = 0
    group by PDACCOUNTSTRUCTURE.ID) T1

  select
    @ALLACCOUNTSEGMENTSDEFINED = case count(id) when 0 then 1 else 0 end
  from
    (select
      PDACCOUNTSTRUCTURE.ID
    from
      dbo.PDACCOUNTSTRUCTURE
    where
      ELEMENTTYPECODE = 1 and PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and ISBASICGL = 0
    except
    select
      PDACCOUNTSTRUCTURE.ID
    from
      dbo.PDACCOUNTSTRUCTURE
      left join dbo.PDACCOUNTSEGMENTVALUE on PDACCOUNTSTRUCTURE.ID = PDACCOUNTSEGMENTVALUE.PDACCOUNTSTRUCTUREID
    where
      PDACCOUNTSEGMENTVALUE.ID is not null and PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and ISBASICGL = 0
    group by PDACCOUNTSTRUCTURE.ID) T1

  select @ALLACCOUNTSDEFINED = case when count(distinct AC.CATEGORYCODE) >= 5 then 1 else 0 end
  from
  dbo.GLACCOUNT
  cross apply dbo.UFN_LEDGERACCOUNT_DATAELEMENTS(GLACCOUNT.ID) DE
  inner join dbo.PDACCOUNTSEGMENTVALUE on DE.DATAELEMENTID = PDACCOUNTSEGMENTVALUE.ID
  inner join dbo.ACCOUNTCODE AC on PDACCOUNTSEGMENTVALUE.ID = ac.ID
  inner join dbo.PDACCOUNTSTRUCTURE on PDACCOUNTSEGMENTVALUE.PDACCOUNTSTRUCTUREID = PDACCOUNTSTRUCTURE.ID
  where PDACCOUNTSTRUCTURE.ISBASICGL = 0 and PDACCOUNTSTRUCTURE.PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID

  set @CLOSINGACCOUNTSDEFINED = 1;
  if @CLOSINGREQUIREMENTSDEFINED = 1
  begin
    select @CLOSINGACCOUNTSDEFINED = 0 from dbo.CLOSINGREQUIREMENT where LEDGERACCOUNTID is null;
  end

    return 0;