USP_SEARCHLIST_USERDEFINEDELEMENT
This search list searches for a user-defined element associated with a specific accounting element.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ACCOUNTSTRUCTUREID | uniqueidentifier | IN | Account structure ID |
@SHORTID | nvarchar(100) | IN | ID |
@DESCRIPTION | nvarchar(60) | IN | Description |
@INCLUDEINACTIVE | bit | IN | Include inactive |
@MAXROWS | smallint | IN | Input parameter indicating the maximum number of rows to return. |
@PDACCOUNTSYSTEMID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_SEARCHLIST_USERDEFINEDELEMENT
(
@ACCOUNTSTRUCTUREID uniqueidentifier = null,
@SHORTID nvarchar(100) = null,
@DESCRIPTION nvarchar(60) = null,
@INCLUDEINACTIVE bit = 0,
@MAXROWS smallint = 500,
@PDACCOUNTSYSTEMID uniqueidentifier = null
)
as
set nocount on;
set @SHORTID = coalesce(replace(@SHORTID,'*','%'),'') + '%' ;
set @DESCRIPTION = coalesce(replace(@DESCRIPTION,'*','%'),'') + '%';
if @PDACCOUNTSYSTEMID is null
set @PDACCOUNTSYSTEMID = '4B121C2C-CCE6-440D-894C-EA0DEF80D50B'
select top(@MAXROWS)
PDACCOUNTSEGMENTVALUE.ID,
PDACCOUNTSTRUCTURE.DESCRIPTION as NAME,
PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION,
PDACCOUNTSEGMENTVALUE.DESCRIPTION,
case PREVENTDATAENTRY when 0 then 'No' else 'Yes' +
case when PREVENTDATAENTRYBEFOREDATE is null then
case when PREVENTDATAENTRYAFTERDATE is null then ''
else ': After ' + convert(nvarchar(10), PREVENTDATAENTRYAFTERDATE, 101)
end
else ': Before ' + convert(nvarchar(10), PREVENTDATAENTRYBEFOREDATE, 101)
+ coalesce(', After ' + convert(nvarchar(10), PREVENTDATAENTRYAFTERDATE, 101), '')
end
end as PREVENTDATAENTRY,
case PREVENTPOST when 0 then 'No' else 'Yes' +
case when PREVENTPOSTBEFOREDATE is null then
case when PREVENTPOSTAFTERDATE is null then ''
else ': After ' + convert(nvarchar(10), PREVENTPOSTAFTERDATE, 101)
end
else ': Before ' + convert(nvarchar(10), PREVENTPOSTBEFOREDATE, 101)
+ coalesce(', After ' + convert(nvarchar(10), PREVENTPOSTAFTERDATE, 101), '')
end
end as PREVENTPOSTING
from
dbo.PDACCOUNTSEGMENTVALUE
inner join dbo.USERDEFINEDELEMENT on USERDEFINEDELEMENT.ID = PDACCOUNTSEGMENTVALUE.ID
inner join dbo.PDACCOUNTSTRUCTURE on PDACCOUNTSTRUCTURE.ID = PDACCOUNTSEGMENTVALUE.PDACCOUNTSTRUCTUREID
where
(@SHORTID is null or (PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION like @SHORTID)) and
(@DESCRIPTION is null or (PDACCOUNTSEGMENTVALUE.DESCRIPTION like @DESCRIPTION)) and
(@INCLUDEINACTIVE = 1 or PDACCOUNTSEGMENTVALUE.ISACTIVE = 1) and
(@ACCOUNTSTRUCTUREID is null or (PDACCOUNTSTRUCTURE.ID = @ACCOUNTSTRUCTUREID )) and
PDACCOUNTSTRUCTURE.PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and PDACCOUNTSTRUCTURE.ISBASICGL = 0
order by
PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION asc