USP_DATAFORMTEMPLATE_EDITLOAD_USERDEFINEDELEMENT
The load procedure used by the edit dataform template "User-defined Element Edit Data 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. |
@ACCOUNTSTRUCTUREID | uniqueidentifier | INOUT | |
@SHORTID | nvarchar(100) | INOUT | ID |
@DESCRIPTION | nvarchar(60) | INOUT | Description |
@PREVENTDATAENTRY | bit | INOUT | Prevent data entry |
@PREVENTDATAENTRYBEFOREDATE | datetime | INOUT | Before |
@PREVENTDATAENTRYAFTERDATE | datetime | INOUT | After |
@PREVENTPOST | bit | INOUT | Prevent posting |
@PREVENTPOSTBEFOREDATE | datetime | INOUT | Before |
@PREVENTPOSTAFTERDATE | datetime | INOUT | After |
@ELEMENTNAME | nvarchar(100) | INOUT | Element Name |
@ELEMENTLENGTH | int | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_USERDEFINEDELEMENT(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@ACCOUNTSTRUCTUREID uniqueidentifier = null output,
@SHORTID nvarchar(100) = null output,
@DESCRIPTION nvarchar(60) = null output,
@PREVENTDATAENTRY bit = null output,
@PREVENTDATAENTRYBEFOREDATE datetime = null output,
@PREVENTDATAENTRYAFTERDATE datetime = null output,
@PREVENTPOST bit = null output,
@PREVENTPOSTBEFOREDATE datetime = null output,
@PREVENTPOSTAFTERDATE datetime = null output,
@ELEMENTNAME nvarchar(100) = null output,
@ELEMENTLENGTH integer = 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 = PDACCOUNTSEGMENTVALUE.TSLONG,
@ACCOUNTSTRUCTUREID = PDACCOUNTSEGMENTVALUE.PDACCOUNTSTRUCTUREID,
@SHORTID = PDACCOUNTSEGMENTVALUE.SHORTDESCRIPTION ,
@DESCRIPTION = PDACCOUNTSEGMENTVALUE.DESCRIPTION ,
@PREVENTDATAENTRY = PDACCOUNTSEGMENTVALUE.PREVENTDATAENTRY,
@PREVENTDATAENTRYBEFOREDATE = PDACCOUNTSEGMENTVALUE.PREVENTDATAENTRYBEFOREDATE,
@PREVENTDATAENTRYAFTERDATE = PDACCOUNTSEGMENTVALUE.PREVENTDATAENTRYAFTERDATE,
@PREVENTPOST = PDACCOUNTSEGMENTVALUE.PREVENTPOST,
@PREVENTPOSTBEFOREDATE = PDACCOUNTSEGMENTVALUE.PREVENTPOSTBEFOREDATE,
@PREVENTPOSTAFTERDATE = PDACCOUNTSEGMENTVALUE.PREVENTPOSTAFTERDATE,
@ELEMENTNAME = PDACCOUNTSTRUCTURE.DESCRIPTION,
@ELEMENTLENGTH = (case PDACCOUNTSTRUCTURE.LENGTH when 0 then 100 else PDACCOUNTSTRUCTURE.LENGTH end)
from
dbo.PDACCOUNTSEGMENTVALUE
inner join dbo.USERDEFINEDELEMENT on USERDEFINEDELEMENT.ID = PDACCOUNTSEGMENTVALUE.ID
inner join dbo.PDACCOUNTSTRUCTURE on PDACCOUNTSTRUCTURE.ID = PDACCOUNTSEGMENTVALUE.PDACCOUNTSTRUCTUREID
where
PDACCOUNTSEGMENTVALUE.ID = @ID;
return 0;