USP_DATAFORMTEMPLATE_EDITLOAD_PDACCOUNTSTRUCTURE2
The load procedure used by the edit dataform template "Account Structure Edit Form 2"
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. |
@DESCRIPTION | nvarchar(100) | INOUT | Segment name |
@SEQUENCE | int | INOUT | Sequence |
@LENGTH | tinyint | INOUT | Length |
@PDACCOUNTTABLESAVAILABLEFORSEGMENTID | uniqueidentifier | INOUT | Calculated using |
@SEPARATORCODE | tinyint | INOUT | Separator |
@SEGMENTTYPE | tinyint | INOUT | Segment type |
@EXISTINGACCOUNTS | bit | INOUT | |
@EXISTINGTRANSACTIONS | bit | INOUT | |
@PDACCOUNTSYSTEMID | uniqueidentifier | INOUT | |
@ISPROJECTSEGMENT | bit | INOUT | Associate this segment with 'Project' |
@ELEMENTDEFINITIONCODE | tinyint | INOUT | |
@FENXT | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_PDACCOUNTSTRUCTURE2(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@DESCRIPTION nvarchar(100) = null output,
@SEQUENCE int = null output,
@LENGTH tinyint = null output,
@PDACCOUNTTABLESAVAILABLEFORSEGMENTID uniqueidentifier = null output,
@SEPARATORCODE tinyint = null output,
@SEGMENTTYPE tinyint = null output,
@EXISTINGACCOUNTS bit = null output,
@EXISTINGTRANSACTIONS bit = null output,
@PDACCOUNTSYSTEMID uniqueidentifier = null output,
@ISPROJECTSEGMENT bit = null output,
@ELEMENTDEFINITIONCODE tinyint = null output,
@FENXT bit = null output
)
as
set nocount on;
-- be sure to set these, in case the select returns no rows
set @DATALOADED = 0
set @TSLONG = 0
-- populate the output parameters, which correspond to fields on the form. Note that
-- we set @DATALOADED = 1 to indicate that the load was successful. Otherwise, the system
-- will display a "no data loaded" message. Also note that we fetch the TSLONG so that concurrency
-- can be considered.
select
@DATALOADED = 1,
@TSLONG = TSLONG,
@DESCRIPTION = [DESCRIPTION],
@SEQUENCE = SEQUENCE,
@LENGTH = LENGTH,
@PDACCOUNTTABLESAVAILABLEFORSEGMENTID = PDACCOUNTTABLESAVAILABLEFORSEGMENTID,
@SEPARATORCODE = SEPARATORCODE,
@SEGMENTTYPE = SEGMENTTYPE,
@PDACCOUNTSYSTEMID = PDACCOUNTSYSTEMID,
@ISPROJECTSEGMENT = ISPROJECTSEGMENT
,@ELEMENTDEFINITIONCODE = ELEMENTDEFINITIONCODE
from dbo.PDACCOUNTSTRUCTURE
where ID = @ID
if exists (select * from GLACCOUNT where PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID )
set @EXISTINGACCOUNTS = 1
else
set @EXISTINGACCOUNTS = 0
if @EXISTINGACCOUNTS = 1
begin
set @EXISTINGTRANSACTIONS = '0'
select @EXISTINGTRANSACTIONS = '1'
from dbo.GLACCOUNT
inner join dbo.JOURNALENTRY on JOURNALENTRY.GLACCOUNTID = GLACCOUNT.ID
where GLACCOUNT.PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID
option (recompile)
end
else
set @EXISTINGTRANSACTIONS = 0
if exists (select 1 from dbo.FENXTINTEGRATION where PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID)
set @FENXT = 1;
else
set @FENXT = 0;
return 0;