This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
versago:versago_custom_procedures [2019/08/01 11:35] runger created |
versago:versago_custom_procedures [2023/07/12 14:15] (current) dlee [Obtaining Form Values] |
||
|---|---|---|---|
| Line 59: | Line 59: | ||
| To work with the appropriate dataset, it is necessary to first get the record key from the form data. Following is the basic SQL statement to set a processing variable to the record number (vgoRecNum) value on a form. “vgoRecNum” is the column name used for this example. The value used in your form may be different. | To work with the appropriate dataset, it is necessary to first get the record key from the form data. Following is the basic SQL statement to set a processing variable to the record number (vgoRecNum) value on a form. “vgoRecNum” is the column name used for this example. The value used in your form may be different. | ||
| - | < | + | < |
| + | Sample SQL to extract fields from xml parameter | ||
| - | SELECT @vgoRecNum | + | DECLARE @formmode char(1), |
| - | </ | + | @text nvarchar(50), |
| + | @number numeric(19, | ||
| + | @date datetime | ||
| + | |||
| + | SELECT @formmode | ||
| + | @text = frm.value(' | ||
| + | @number = frm.value(' | ||
| + | @date = frm.value(' | ||
| + | FROM @FormData.nodes('/ | ||
| + | FormField1, ..2, ..3 must match the Field Name in the form control settings. It is case sensitive | ||
| + | |||
| + | --------------------------------------------------------------------------------------- | ||
| + | |||
| + | Sample SQL to extract fields from xml parameter @GridData (Detail table) | ||
| + | |||
| + | SELECT frmdetail.value(' | ||
| + | frmdetail.value(' | ||
| + | frmdetail.value(' | ||
| + | INTO # | ||
| + | FROM @GridData.nodes('/ | ||
| + | |||
| + | FormField1, ..2, ..3 must match the Field Name in the form control settings. It is case sensitive | ||
| + | Use SQL cursor to process each record | ||
| + | </ | ||
| The same general statement can be used to obtain other values from the form data as well. | The same general statement can be used to obtain other values from the form data as well. | ||
| Line 93: | Line 117: | ||
| <code sql> | <code sql> | ||
| - | CREATE TABLE [dbo].[VGO_Form_ChangeHist]( | + | SET ANSI_NULLS ON |
| - | [RecordID] [int] IDENTITY(1, | + | GO |
| - | [FormID] [int] NULL, | + | |
| - | [RecNum] [int] NULL, | + | SET QUOTED_IDENTIFIER ON |
| + | GO | ||
| + | |||
| + | CREATE TABLE [dbo].[vgo_Form_ChangeHist]( | ||
| + | [TransRecId] [int] IDENTITY(1, | ||
| + | [TransDateTime] [datetime] NULL, | ||
| + | [FormId] [int] NULL, | ||
| + | [FormName] [nvarchar](100) NULL, | ||
| + | [ActionType] [nvarchar](1) NULL, | ||
| + | [FormMode] [nvarchar](1) | ||
| [UserID] [int] NULL, | [UserID] [int] NULL, | ||
| - | [ModDate] [datetime] NULL, | + | [UserEmail] [nvarchar](50) NULL, |
| - | [Action] [nvarchar](10) NULL | + | [DataRecordID] [int] NULL, |
| + | [TransType] [nvarchar](10) NULL | ||
| ) ON [PRIMARY] | ) ON [PRIMARY] | ||
| + | GO | ||
| </ | </ | ||
| Line 110: | Line 145: | ||
| <code sql> | <code sql> | ||
| -- Code for change history log | -- Code for change history log | ||
| - | DECLARE | + | SET ANSI_NULLS ON |
| + | GO | ||
| + | SET QUOTED_IDENTIFIER ON | ||
| + | GO | ||
| + | ALTER PROCEDURE [dbo].[VGO_CustomPostExecute_74] @FormData xml, | ||
| + | -- | ||
| + | | ||
| -- | -- | ||
| - | -- change " | + | -- Enter the Form ID (the number at the end of the procedure name) below |
| - | SELECT | + | set @FormID = 74 |
| - | SELECT | + | -- |
| + | -- change " | ||
| + | SELECT | ||
| + | SELECT | ||
| + | -- | ||
| + | -- Target database (vgoCommon_VersagoDemo in the sample below) will neeed to be updated for your environment | ||
| + | select @useremail = Email from vgoCommon_VersagoDemo..TWBS_WS_OUSR where ID = cast(@UserID as int) | ||
| + | Select @formname = FormName from vgoCommon_VersagoDemo..TWBS_WS_FormMaster where FormID = @formid | ||
| -- | -- | ||
| + | -- Code logic | ||
| IF isnull(@FormMode,' | IF isnull(@FormMode,' | ||
| BEGIN | BEGIN | ||
| INSERT INTO vgo_form_ChangeHist | INSERT INTO vgo_form_ChangeHist | ||
| - | (formID, | + | (TransDateTime, |
| VALUES | VALUES | ||
| - | (39, @RecNum, @UserID, getdate(), ' | + | (getdate(), @formid, @formname, ' |
| END | END | ||
| IF isnull(@FormMode,' | IF isnull(@FormMode,' | ||
| BEGIN | BEGIN | ||
| INSERT INTO vgo_form_ChangeHist | INSERT INTO vgo_form_ChangeHist | ||
| - | (formID, | + | (TransDateTime, |
| VALUES | VALUES | ||
| - | (39, @RecNum, @UserID, getdate(), ' | + | (getdate(), @formid, @formname, ' |
| END | END | ||
| IF isnull(@FormMode,' | IF isnull(@FormMode,' | ||
| BEGIN | BEGIN | ||
| INSERT INTO vgo_form_ChangeHist | INSERT INTO vgo_form_ChangeHist | ||
| - | (formID, | + | (TransDateTime, |
| VALUES | VALUES | ||
| - | (39, @RecNum, @UserID, getdate(), ' | + | (getdate(), @formid, @formname, ' |
| END | END | ||
| </ | </ | ||