USP_DATALIST_GL_ACCOUNTCODE
This displays a list of account codes in the system.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ACCOUNTCODE | nvarchar(100) | IN | Account code |
@DESCRIPTION | nvarchar(60) | IN | Description |
@CATEGORY | tinyint | IN | Category |
@SUBCATEGORY | tinyint | IN | Subcategory |
@MAXNUMROWS | int | IN | Limit |
@INCLUDEINACTIVE | bit | IN | Include inactive |
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | PD account system ID |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_GL_ACCOUNTCODE(
@ACCOUNTCODE nvarchar(100) = null,
@DESCRIPTION nvarchar(60) = null,
@CATEGORY tinyint = null,
@SUBCATEGORY tinyint = null,
@MAXNUMROWS int = 100,
@INCLUDEINACTIVE bit = 0,
@PDACCOUNTSYSTEMID uniqueidentifier = null,
@CURRENTAPPUSERID uniqueidentifier
)
as
begin
set nocount on;
if not @ACCOUNTCODE is null
Set @ACCOUNTCODE = replace(ltrim(rtrim(@ACCOUNTCODE)),'*','%');
if not @DESCRIPTION is null
set @DESCRIPTION = replace(ltrim(rtrim(@DESCRIPTION)),'*','%');
if @PDACCOUNTSYSTEMID is null
set @PDACCOUNTSYSTEMID = '4B121C2C-CCE6-440D-894C-EA0DEF80D50B'
declare @DATAELEMENTS table
(DATAELEMENTID uniqueidentifier)
insert into @DATAELEMENTS(DATAELEMENTID)
select unPvt.DATAELEMENTID
from
(select ID, DATAELEMENT1ID, DATAELEMENT2ID, DATAELEMENT3ID, DATAELEMENT4ID, DATAELEMENT5ID, DATAELEMENT6ID, DATAELEMENT7ID, DATAELEMENT8ID, DATAELEMENT9ID, DATAELEMENT10ID,
DATAELEMENT11ID, DATAELEMENT12ID, DATAELEMENT13ID, DATAELEMENT14ID, DATAELEMENT15ID, DATAELEMENT16ID, DATAELEMENT17ID, DATAELEMENT18ID, DATAELEMENT19ID, DATAELEMENT20ID,
DATAELEMENT21ID, DATAELEMENT22ID, DATAELEMENT23ID, DATAELEMENT24ID, DATAELEMENT25ID, DATAELEMENT26ID, DATAELEMENT27ID, DATAELEMENT28ID, DATAELEMENT29ID, DATAELEMENT30ID
from dbo.CONTROLACCOUNT where ACCOUNTTYPECODE <> 2) p
unpivot
(DATAELEMENTID for dColumn in
(DATAELEMENT1ID, DATAELEMENT2ID, DATAELEMENT3ID, DATAELEMENT4ID, DATAELEMENT5ID, DATAELEMENT6ID, DATAELEMENT7ID, DATAELEMENT8ID, DATAELEMENT9ID, DATAELEMENT10ID,
DATAELEMENT11ID, DATAELEMENT12ID, DATAELEMENT13ID, DATAELEMENT14ID, DATAELEMENT15ID, DATAELEMENT16ID, DATAELEMENT17ID, DATAELEMENT18ID, DATAELEMENT19ID, DATAELEMENT20ID,
DATAELEMENT21ID, DATAELEMENT22ID, DATAELEMENT23ID, DATAELEMENT24ID, DATAELEMENT25ID, DATAELEMENT26ID, DATAELEMENT27ID, DATAELEMENT28ID, DATAELEMENT29ID, DATAELEMENT30ID)) as unPvt
if dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
select top (@MAXNUMROWS)
ACCOUNTCODE.ID,
PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION as [ACCOUNTCODE],
PDACCOUNTSEGMENTVALUE.DESCRIPTION,
ACCOUNTCODE.CATEGORY as CATEGORY,
ACCOUNTCODE.SUBCATEGORY as SUBCATEGORY,
ACCOUNTCODE.CONTRAACCOUNT,
case when PDACCOUNTSEGMENTVALUE.ID in (select DATAELEMENTID from @DATAELEMENTS) then 1 else 0 end as CONTROLACCOUNT,
PDACCOUNTSEGMENTVALUE.ISACTIVE as [ACTIVE],
PDACCOUNTSTRUCTURE.DESCRIPTION as [ELEMENTNAME]
from dbo.ACCOUNTCODE
inner join dbo.PDACCOUNTSEGMENTVALUE on ACCOUNTCODE.ID = PDACCOUNTSEGMENTVALUE.ID
inner join dbo.PDACCOUNTSTRUCTURE on PDACCOUNTSEGMENTVALUE.PDACCOUNTSTRUCTUREID = PDACCOUNTSTRUCTURE.ID
where PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION like isnull(@ACCOUNTCODE + '%', '%')
and PDACCOUNTSEGMENTVALUE.DESCRIPTION like isnull(@DESCRIPTION + '%', '%')
and ((@CATEGORY is null) or (CATEGORYCODE = @CATEGORY))
and ((@SUBCATEGORY is null) or (SUBCATEGORYCODE = @SUBCATEGORY))
and (@INCLUDEINACTIVE = 1 or PDACCOUNTSEGMENTVALUE.ISACTIVE = 1)
order by
PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION asc;
else
select top (@MAXNUMROWS)
ACCOUNTCODE.ID,
PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION as [ACCOUNTCODE],
PDACCOUNTSEGMENTVALUE.DESCRIPTION,
ACCOUNTCODE.CATEGORY as CATEGORY,
ACCOUNTCODE.SUBCATEGORY as SUBCATEGORY,
ACCOUNTCODE.CONTRAACCOUNT,
case when PDACCOUNTSEGMENTVALUE.ID in (select DATAELEMENTID from @DATAELEMENTS) then 1 else 0 end as CONTROLACCOUNT,
PDACCOUNTSEGMENTVALUE.ISACTIVE as [ACTIVE],
PDACCOUNTSTRUCTURE.DESCRIPTION as [ELEMENTNAME]
from dbo.ACCOUNTCODE
inner join dbo.PDACCOUNTSEGMENTVALUE on ACCOUNTCODE.ID = PDACCOUNTSEGMENTVALUE.ID
inner join dbo.PDACCOUNTSTRUCTURE on PDACCOUNTSEGMENTVALUE.PDACCOUNTSTRUCTUREID = PDACCOUNTSTRUCTURE.ID
where PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION like isnull(@ACCOUNTCODE + '%', '%')
and PDACCOUNTSEGMENTVALUE.DESCRIPTION like isnull(@DESCRIPTION + '%', '%')
and ((@CATEGORY is null) or (CATEGORYCODE = @CATEGORY))
and ((@SUBCATEGORY is null) or (SUBCATEGORYCODE = @SUBCATEGORY))
and (@INCLUDEINACTIVE = 1 or PDACCOUNTSEGMENTVALUE.ISACTIVE = 1)
and PDACCOUNTSEGMENTVALUE.ID in (select ELEMENTID from dbo.UFN_ACCOUNTINGELEMENT_ELEMENTSFORUSER(@CURRENTAPPUSERID))
order by
PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION asc;
end