USP_PROJECT_COMMONDATALIST

This procedure returns common data for project datalists.

Parameters

Parameter Parameter Type Mode Description
@PROJECTID nvarchar(100) IN
@DESCRIPTION nvarchar(60) IN
@INCLUDEINACTIVE bit IN
@MAXNUMROWS int IN
@PDACCOUNTSYSTEMID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_PROJECT_COMMONDATALIST(
    @PROJECTID nvarchar(100) = null,
    @DESCRIPTION nvarchar(60) = null,
    @INCLUDEINACTIVE bit = 0,
  @MAXNUMROWS int = 100,
  @PDACCOUNTSYSTEMID uniqueidentifier = null,
  @CURRENTAPPUSERID uniqueidentifier
    )
as
    begin
    if @PDACCOUNTSYSTEMID is null
      set @PDACCOUNTSYSTEMID = '4B121C2C-CCE6-440D-894C-EA0DEF80D50B'

    if dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
          select top (@MAXNUMROWS)
              PROJECT.ID,
              PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION as [PROJECTID],
              PDACCOUNTSEGMENTVALUE.DESCRIPTION as [DESCRIPTION],
              PROJECTTYPECODE.DESCRIPTION as [TYPE],
              PROJECTLOCATIONCODE.DESCRIPTION as [LOCATION],
              PROJECTDIVISIONCODE.DESCRIPTION as [DIVISION],
              PROJECTDEPARTMENTCODE.DESCRIPTION as [DEPARTMENT],
              PROJECT.STARTDATE,
              PROJECT.ENDDATE,
              PDACCOUNTSEGMENTVALUE.ISACTIVE as [ACTIVE],
        PDACCOUNTSTRUCTURE.DESCRIPTION as [ELEMENTNAME]
          from
              dbo.PROJECT
              inner join dbo.PDACCOUNTSEGMENTVALUE on PDACCOUNTSEGMENTVALUE.ID = PROJECT.ID
        inner join dbo.PDACCOUNTSTRUCTURE on PDACCOUNTSEGMENTVALUE.PDACCOUNTSTRUCTUREID = PDACCOUNTSTRUCTURE.ID
              left join dbo.PROJECTTYPECODE on PROJECTTYPECODE.ID = PROJECT.PROJECTTYPECODEID
              left join dbo.PROJECTLOCATIONCODE on PROJECTLOCATIONCODE.ID = PROJECT.PROJECTLOCATIONCODEID
              left join dbo.PROJECTDIVISIONCODE on PROJECTDIVISIONCODE.ID = PROJECT.PROJECTDIVISIONCODEID
              left join dbo.PROJECTDEPARTMENTCODE on PROJECTDEPARTMENTCODE.ID = PROJECT.PROJECTDEPARTMENTCODEID
          where
              ((PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION like @PROJECTID + '%') or (@PROJECTID is null))
              and ((PDACCOUNTSEGMENTVALUE.DESCRIPTION like @DESCRIPTION + '%') or (@DESCRIPTION is null))
              and (@INCLUDEINACTIVE = 1 or PDACCOUNTSEGMENTVALUE.ISACTIVE = 1)
        and PDACCOUNTSTRUCTURE.PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and PDACCOUNTSTRUCTURE.ISBASICGL = 0
          order by
              PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION
        else
          select top (@MAXNUMROWS)
              PROJECT.ID,
              PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION as [PROJECTID],
              PDACCOUNTSEGMENTVALUE.DESCRIPTION as [DESCRIPTION],
              PROJECTTYPECODE.DESCRIPTION as [TYPE],
              PROJECTLOCATIONCODE.DESCRIPTION as [LOCATION],
              PROJECTDIVISIONCODE.DESCRIPTION as [DIVISION],
              PROJECTDEPARTMENTCODE.DESCRIPTION as [DEPARTMENT],
              PROJECT.STARTDATE,
              PROJECT.ENDDATE,
              PDACCOUNTSEGMENTVALUE.ISACTIVE as [ACTIVE],
        PDACCOUNTSTRUCTURE.DESCRIPTION as [ELEMENTNAME]
          from
              dbo.PROJECT
              inner join dbo.PDACCOUNTSEGMENTVALUE on PDACCOUNTSEGMENTVALUE.ID = PROJECT.ID
        inner join dbo.PDACCOUNTSTRUCTURE on PDACCOUNTSEGMENTVALUE.PDACCOUNTSTRUCTUREID = PDACCOUNTSTRUCTURE.ID
              left join dbo.PROJECTTYPECODE on PROJECTTYPECODE.ID = PROJECT.PROJECTTYPECODEID
              left join dbo.PROJECTLOCATIONCODE on PROJECTLOCATIONCODE.ID = PROJECT.PROJECTLOCATIONCODEID
              left join dbo.PROJECTDIVISIONCODE on PROJECTDIVISIONCODE.ID = PROJECT.PROJECTDIVISIONCODEID
              left join dbo.PROJECTDEPARTMENTCODE on PROJECTDEPARTMENTCODE.ID = PROJECT.PROJECTDEPARTMENTCODEID
          where
              ((PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION like @PROJECTID + '%') or (@PROJECTID is null))
              and ((PDACCOUNTSEGMENTVALUE.DESCRIPTION like @DESCRIPTION + '%') or (@DESCRIPTION is null))
              and (@INCLUDEINACTIVE = 1 or PDACCOUNTSEGMENTVALUE.ISACTIVE = 1)
        and PDACCOUNTSTRUCTURE.PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID and PDACCOUNTSTRUCTURE.ISBASICGL = 0
        and PDACCOUNTSEGMENTVALUE.ID in (select ELEMENTID from dbo.UFN_ACCOUNTINGELEMENT_ELEMENTSFORUSER(@CURRENTAPPUSERID))
          order by
              PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION
    end