USP_ACCOUNTINGELEMENTRELATIONSHIPS_VALIDATE

Validates the accounting element relationship before saving.

Parameters

Parameter Parameter Type Mode Description
@ACCOUNTINGELEMENTRELATIONSHIPID uniqueidentifier IN
@BASEELEMENTSTRUCTUREID uniqueidentifier IN
@ACCOUNTSTRUCTURE xml IN

Definition

Copy


      CREATE procedure dbo.USP_ACCOUNTINGELEMENTRELATIONSHIPS_VALIDATE
      (
        @ACCOUNTINGELEMENTRELATIONSHIPID uniqueidentifier,
        @BASEELEMENTSTRUCTUREID uniqueidentifier,
        @ACCOUNTSTRUCTURE xml
      )
      as
      begin
        declare @BASEELEMENTSELECTEDELEMENTS xml
        declare @QUERYID uniqueidentifier
        select @BASEELEMENTSELECTEDELEMENTS = ACCOUNTSTRUCTUREXML.[ACTSTR].query('(SELECTEDELEMENTS)'),
        @QUERYID = ACCOUNTSTRUCTUREXML.[ACTSTR].value('(QUERYID)[1]', 'uniqueidentifier')
        from @ACCOUNTSTRUCTURE.nodes('ACCOUNTSTRUCTURE/ITEM') as ACCOUNTSTRUCTUREXML([ACTSTR])
        where ACCOUNTSTRUCTUREXML.[ACTSTR].value('(ID)[1]', 'uniqueidentifier') = @BASEELEMENTSTRUCTUREID

        create table #DATAELEMENTS (DATAELEMENTID uniqueidentifier)

        insert into #DATAELEMENTS(DATAELEMENTID)
        select distinct T2.c.value('(ID)[1]', 'uniqueidentifier')
        from @BASEELEMENTSELECTEDELEMENTS.nodes('SELECTEDELEMENTS/ITEM') T2(c)

        if @QUERYID is not null
        begin
          insert into #DATAELEMENTS(DATAELEMENTID)
          select distinct ID
          from dbo.UFN_IDSETREADER_GETRESULTS_GUID(@QUERYID)
        end

        if (select count(*) from #DATAELEMENTS) = 0
        begin
              raiserror('ERR_BASEELEMENTSELECTEDELEMENTS_REQUIRED',13,1);
              return 1;     
        end

        drop table #DATAELEMENTS        
      end