USP_DATAFORMTEMPLATE_EDITLOAD_ACCOUNTINGELEMENTRELATIONSHIP
The load procedure used by the edit dataform template "Accounting Element Relationship Edit Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
@RELATIONSHIPID | nvarchar(60) | INOUT | Relationship ID |
@DESCRIPTION | nvarchar(60) | INOUT | Relationship description |
@BASEELEMENTACCOUNTSTRUCTUREID | uniqueidentifier | INOUT | Relationship basis |
@RESTRICTION | tinyint | INOUT | Restrict\Allow |
@ACCOUNTSTRUCTURE | xml | INOUT | |
@QUERYID | uniqueidentifier | INOUT | |
@SELECTEDELEMENTS | xml | INOUT | Choose selected accounts from grid |
@DATAELEMENTRECORDTYPEID | uniqueidentifier | INOUT | |
@ACCOUNTCODERECORDTYPEID | uniqueidentifier | INOUT | |
@PROJECTRECORDTYPEID | uniqueidentifier | INOUT | |
@ACCOUNTRECORDTYPEID | uniqueidentifier | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_ACCOUNTINGELEMENTRELATIONSHIP
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@RELATIONSHIPID nvarchar(60) = null output,
@DESCRIPTION nvarchar(60) = null output,
@BASEELEMENTACCOUNTSTRUCTUREID uniqueidentifier = null output,
@RESTRICTION tinyint = null output,
@ACCOUNTSTRUCTURE xml = null output,
@QUERYID uniqueidentifier = null output,
@SELECTEDELEMENTS xml = null output,
@DATAELEMENTRECORDTYPEID uniqueidentifier = null output,
@ACCOUNTCODERECORDTYPEID uniqueidentifier = null output,
@PROJECTRECORDTYPEID uniqueidentifier = null output,
@ACCOUNTRECORDTYPEID uniqueidentifier = null output
)
with execute as owner
as
set nocount on;
set @DATALOADED = 0
set @TSLONG = 0
select
@DATALOADED = 1,
@TSLONG = TSLONG,
@RELATIONSHIPID = RELATIONSHIPID,
@DESCRIPTION = DESCRIPTION,
@BASEELEMENTACCOUNTSTRUCTUREID = BASEELEMENTACCOUNTSTRUCTUREID,
@RESTRICTION = RESTRICTIONCODE
from dbo.ACCOUNTINGELEMENTRELATIONSHIP
where ID = @ID
set @ACCOUNTSTRUCTURE = (select ACTSTR.ID,
ACTSTR.DESCRIPTION as NAME,
ACTSTR.ELEMENTTYPECODE,
ACTSTR.SEGMENTCOLUMN,
ACTSTR.ELEMENTDEFINITIONCODE,
AERQP.QUERYID,
(select DATAELEMENTID as ID
from dbo.ACCOUNTINGELEMENTRELATIONSHIPELEMENTPARAMETER AEREP
inner join dbo.PDACCOUNTSEGMENTVALUE PDASV on AEREP.DATAELEMENTID = PDASV.ID
where AEREP.PDACCOUNTSTRUCTUREID = ACTSTR.ID and ACCOUNTINGELEMENTRELATIONSHIPID = @ID
order by PDASV.SHORTDESCRIPTION
for xml raw('ITEM'),type,elements,root('SELECTEDELEMENTS'),BINARY BASE64)
from dbo.PDACCOUNTSTRUCTURE ACTSTR
left outer join dbo.ACCOUNTINGELEMENTRELATIONSHIPQUERYPARAMETER AERQP on ACTSTR.ID = AERQP.PDACCOUNTSTRUCTUREID and AERQP.ACCOUNTINGELEMENTRELATIONSHIPID = @ID
order by ACTSTR.DESCRIPTION
for xml raw('ITEM'),type,elements,root('ACCOUNTSTRUCTURE'),BINARY BASE64)
select @QUERYID = QUERYID
from dbo.ACCOUNTINGELEMENTRELATIONSHIPQUERYPARAMETER
where PDACCOUNTSTRUCTUREID is null and ACCOUNTINGELEMENTRELATIONSHIPID = @ID
set @SELECTEDELEMENTS =
(select GLA.ID
from dbo.ACCOUNTINGELEMENTRELATIONSHIPELEMENTPARAMETER AEREP
inner join dbo.GLACCOUNT GLA on AEREP.ACCOUNTID = GLA.ID
where AEREP.ACCOUNTINGELEMENTRELATIONSHIPID = @ID
order by GLA.ACCOUNTSTRING
for xml raw('ITEM'),type,elements,root('SELECTEDELEMENTS'),BINARY BASE64)
select @DATAELEMENTRECORDTYPEID = ID from dbo.RECORDTYPE
where upper(NAME) = 'ACCOUNTING ELEMENT'
select @ACCOUNTCODERECORDTYPEID = ID from dbo.RECORDTYPE
where upper(NAME) = 'ACCOUNT CODE'
select @PROJECTRECORDTYPEID = ID from dbo.RECORDTYPE
where upper(NAME) = 'PROJECT'
select @ACCOUNTRECORDTYPEID = ID from dbo.RECORDTYPE
where upper(NAME) = 'ACCOUNT'
return 0;