USP_DATALIST_PDACCOUNTSEGMENTMAP

Returns a list of mapped account segment values.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the context ID for the data list.
@SEGMENTNAMEORVALUE nvarchar(200) IN

Definition

Copy


CREATE procedure dbo.USP_DATALIST_PDACCOUNTSEGMENTMAP(
    @ID uniqueidentifier,
  @SEGMENTNAMEORVALUE nvarchar(200) = null
    )
    as

      set nocount on;
    --sanitize the search values, adding mask chars at beginning and end so it performs a 'contains' style match
      set @SEGMENTNAMEORVALUE = dbo.UFN_TEXTSEARCH_SANITIZE(@SEGMENTNAMEORVALUE,'/',DEFAULT,DEFAULT,DEFAULT) ;

   select * 
    from
          (select
              T1.ID,
              --LONGDESCRIPTION,
              case T1.ISCONSTANTVALUE when 1 then '<Constant value>'  else  LONGDESCRIPTION end as LONGDESCRIPTION,
              isnull(nullif(LONGDESCRIPTIONID,''),T1.ID ) as LONGDESCRIPTIONID,
              PDACCOUNTSEGMENTVALUEID,
              T3.SHORTDESCRIPTION,
              T1.PDACCOUNTSTRUCTUREID,
              ISDEFAULT
          from dbo.PDACCOUNTSEGMENTMAPPING T1
              left join dbo.PDACCOUNTSEGMENTVALUE T3 on T1.PDACCOUNTSEGMENTVALUEID = T3.ID
          where T1.PDACCOUNTSTRUCTUREID = @ID and LONGDESCRIPTION is not null

          union all

          select
              NEWID(),
              V1.LONGDESCRIPTION,
              V1.LONGDESCRIPTIONID,
              null,
              null,
              v1.PDACCOUNTSTRUCTUREID,
              0
          from
              dbo.PDACCOUNTSEGMENTMAPPINGVIEW V1
          where 
              V1.PDACCOUNTSTRUCTUREID = @ID
              and
              V1.LONGDESCRIPTIONID not in (select LONGDESCRIPTIONID from PDACCOUNTSEGMENTMAPPING where PDACCOUNTSTRUCTUREID = @ID)) V1
    where
       (V1.LONGDESCRIPTION like @SEGMENTNAMEORVALUE escape '/' or V1.SHORTDESCRIPTION like @SEGMENTNAMEORVALUE escape '/')
        order by 
            case LONGDESCRIPTION when '<Not Used>' then 0 else 1 end, LONGDESCRIPTION