· 10 years ago · May 24, 2016, 10:48 AM
1
2DROP TRIGGER acc_actv_last_mod_D
3GO
4CREATE TRIGGER [dbo].[acc_actv_last_mod_D] ON [dbo].[acc_actv]
5FOR DELETE
6AS
7DECLARE @cTableName varchar(8)
8
9SET NOCOUNT ON
10SET @cTableName = 'acc_actv'
11IF NOT EXISTS (SELECT * FROM deleted) RETURN;
12
13/* Add a record to the deletes table for DELETEs */
14 BEGIN TRANSACTION
15 INSERT INTO deletes (tablename, key_val)
16 SELECT @cTableName AS tablename, CAST(activ_id AS varchar(60)) AS key_val FROM Deleted
17 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
18 IF @@ERROR != 0
19 BEGIN
20 RAISERROR('Cannot update the DELETES value.',16,1)
21 ROLLBACK TRANSACTION
22 RETURN
23 END
24 COMMIT TRANSACTION
25
26GO
27
28DROP TRIGGER acc_actv_last_mod_IU
29GO
30CREATE TRIGGER [dbo].[acc_actv_last_mod_IU] ON [dbo].[acc_actv]
31FOR INSERT, UPDATE
32AS
33DECLARE @CountIns int,
34 @cTableName varchar(10),
35 @nKeyVal int
36
37SET NOCOUNT ON
38SET @cTableName = 'acc_actv'
39SELECT @CountIns = COUNT(*) FROM Inserted
40IF @CountIns = 0 RETURN;
41
42/* Update the last_mod for INSERTs and UPDATEs */
43 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
44 IF @nKeyVal IS NULL
45 BEGIN
46 SET @nKeyVal = 1
47 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
48 END
49
50 UPDATE updates SET acc_actv = @nKeyVal + @CountIns - 1
51 IF @@ERROR != 0
52 BEGIN
53 RAISERROR('Cannot update the LAST_MOD value.',16,1)
54 RETURN
55 END
56
57 SET @nKeyVal = @nKeyVal - 1
58 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM acc_actv a JOIN inserted i ON a.activ_id = i.activ_id
59 IF @@ERROR != 0
60 BEGIN
61 RAISERROR('Cannot update the LAST_MOD value.',16,1)
62 RETURN
63 END
64
65GO
66
67DROP TRIGGER access_last_mod_D
68GO
69CREATE TRIGGER [dbo].[access_last_mod_D] ON dbo.access
70FOR DELETE
71AS
72DECLARE @cTableName varchar(8)
73
74SET NOCOUNT ON
75SET @cTableName = 'access'
76IF NOT EXISTS (SELECT * FROM deleted) RETURN;
77
78/* Add a record to the deletes table for DELETEs */
79 BEGIN TRANSACTION
80 INSERT INTO deletes (tablename, key_val)
81 SELECT @cTableName AS tablename, CAST(pass_no AS varchar(60)) AS key_val FROM Deleted
82 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
83 IF @@ERROR != 0
84 BEGIN
85 RAISERROR('Cannot update the DELETES value.',16,1)
86 ROLLBACK TRANSACTION
87 RETURN
88 END
89 COMMIT TRANSACTION
90
91GO
92
93DROP TRIGGER access_last_mod_IU
94GO
95CREATE TRIGGER [dbo].[access_last_mod_IU] ON [dbo].[access]
96FOR INSERT, UPDATE
97AS
98DECLARE @CountIns int,
99 @cTableName varchar(10),
100 @nKeyVal int
101
102SET NOCOUNT ON
103SET @cTableName = 'access'
104SELECT @CountIns = COUNT(*) FROM Inserted
105IF @CountIns = 0 RETURN;
106
107/* Update the last_mod for INSERTs and UPDATEs */
108 UPDATE sequence
109 SET @nKeyVal = next_val,
110 next_val = next_val + @CountIns
111 WHERE name = @cTableName
112 IF @nKeyVal IS NULL
113 BEGIN
114 SET @nKeyVal = 1
115 INSERT INTO sequence (name, next_val)
116 VALUES (@cTableName, @CountIns + 1)
117 END
118
119 UPDATE updates SET access = @nKeyVal + @CountIns - 1
120 IF @@ERROR != 0
121 BEGIN
122 RAISERROR('Cannot update the LAST_MOD value.',16,1)
123 RETURN
124 END
125
126 SET @nKeyVal = @nKeyVal - 1
127 UPDATE a
128 SET @nKeyVal = last_mod = @nKeyVal + 1
129 FROM access a
130 JOIN inserted i ON a.pass_no = i.pass_no
131 IF @@ERROR != 0
132 BEGIN
133 RAISERROR('Cannot update the LAST_MOD value.',16,1)
134 RETURN
135 END
136
137 UPDATE ac
138 SET ac.cstrt_date = i.start_date
139 FROM access ac
140 JOIN inserted i ON ac.pass_no = i.pass_no
141 WHERE i.cstrt_date IS NULL and i.start_date IS NOT NULL ;
142
143return ; -- Disabled post processing below this point. Reverted back to post processing in middleware.
144
145/* Create the gst_actv log records for "New" and "Modify" guest. */
146declare @CountDel int,
147 @xmlInserted varchar(max),
148 @xmlDeleted varchar(max),
149 @xmlChanges varchar(max),
150 @xmlChangeAppend varchar(max),
151 @xmlCurrentState varchar(max),
152 @cSQL varchar(8000),
153 @Activ_id numeric(17,0),
154 @Site_no int,
155 @pass_no numeric(17,0),
156 @department char(10),
157 @category char(10),
158 @item char(10),
159 @operator char(6),
160 @salespoint char(6),
161 @mod_op char(6),
162 @mod_sp char(6),
163 @cPass_no varchar(16),
164 @Activ_type int,
165 @Tag_line varchar(80),
166 @Date_time datetime,
167 @Op char(6),
168 @Sp char(6),
169 @CRLF char(2),
170 @TAB char(1),
171 @PriorActiv_id numeric(17,0),
172 @PriorChangeDT datetime,
173 @PriorChanged varchar(max) ;
174
175
176set @CRLF = char(13) + char(10) ;
177set @TAB = char(9) ;
178
179select @CountDel = COUNT(*) from Deleted ;
180if @CountIns <> 1 return ; -- make a log entry only when creating or updating a single row, not bulk operations.
181
182set @xmlInserted = (select top 1 a.*
183 from access a
184 join Inserted i on i.pass_no = a.pass_no
185 for xml path(''), elements absent) ;
186if @CountDel = 0
187 -- inserting a row, no <Changes> tag to build
188 set @xmlChanges = '' ;
189else
190 begin
191 -- Must manually select specific columns instead of "*" because text/image columns not available in Deleted cursor
192 set @xmlDeleted = (select top 1 pass_no, masterpass, parent_no, swipe_no, addit_no, wtp_no, rfserial, additchar1, additchar2,
193 addit_no2, addit_no3, last_use, start_date, expires, good_for, validcount, dis_count, total_uses,
194 usesw_left, week_refr, usest_left, day_refr, points1, points2, money1, money2, blackout_s,
195 blackout_e, warnings, voided_for, voided_by, shift_ends, department, category, item, amt_paid,
196 account, operator, salespoint, date_time, val_parent, trans_no, bl_reason, mod_op, mod_sp
197 from Deleted
198 for xml path(''), elements absent) ;
199
200 -- Inspect the text/image columns and add to the "changes to append" variable
201 set @xmlChangeAppend = ''
202 if update (e_message)
203 set @xmlChangeAppend = @xmlChangeAppend + @TAB + @TAB + '<e_message>(Not available)</e_message>' + @CRLF ;
204
205 set @xmlChanges = dbo.siriusfn_LogChangesToXML(@xmlInserted, @xmlDeleted, @xmlChangeAppend, 'access') ;
206 end
207set @xmlCurrentState = dbo.siriusfn_LogCurrentStateToXML(@xmlInserted, 'access') ;
208
209select top 1 @pass_no = i.pass_no,
210 @department = i.department,
211 @category = i.category,
212 @item = i.item,
213 @operator = i.operator,
214 @salespoint = i.salespoint,
215 @mod_op = i.mod_op,
216 @mod_sp = i.mod_sp
217from Inserted i ;
218
219set @Activ_type = case when @CountDel = 0 then 100 else 101 end ;
220set @cPass_no = rtrim(cast(@pass_no as char(16))) ;
221set @Tag_line = case when @CountDel = 0 then 'New ' else 'Modify ' end + 'Pass #' + rtrim(@cPass_no) + ' ' +
222 rtrim(@department) + ' ' + rtrim(@category) + ' ' + rtrim(@item);
223set @Op = case when datalength(rtrim(@mod_op)) > 0 then @mod_op else @operator end ;
224set @Sp = case when datalength(rtrim(@mod_sp)) > 0 then @mod_sp else @salespoint end ;
225set @Date_time = getdate() ;
226
227-- If there is already a Modify log record for this guest at this location in the last 5 seconds, update that log entry instead
228set @PriorActiv_id = 0
229set @PriorChanged = ''
230if @Activ_type = 101
231begin
232 select top 1 @PriorActiv_id = lf.activ_id,
233 @PriorChangeDT = lf.date_time,
234 @PriorChanged = dbo.siriusfn_Parse('access', dbo.siriusfn_Parse('Changed', lf.details))
235 FROM acc_actv lf
236 WHERE lf.ref_no = @cPass_no and
237 lf.activ_type = @Activ_type and
238 lf.Person = @Op and
239 lf.Location = @Sp and
240 datediff(second, COALESCE(lf.date_time, '20100101'), @Date_time) < 5 -- last entry within the last 5 seconds
241 ORDER BY lf.date_time desc ;
242end
243
244if coalesce(@PriorActiv_id, 0) > 0
245begin
246 set @xmlChanges = '<Changed> ' + @CRLF + @TAB + '<access>' + @CRLF +
247 dbo.siriusfn_Parse('access', dbo.siriusfn_Parse('Changed', @xmlChanges)) +
248 coalesce(@PriorChanged, '') + @TAB + '</access>' + @CRLF + '</Changed>' + @CRLF + @CRLF ;
249 set @xmlCurrentState = @xmlChanges + @xmlCurrentState ;
250 update acc_actv set details = @xmlCurrentState, tag_line = @Tag_line where activ_id = @PriorActiv_id ;
251end
252else
253begin
254 select top 1 @Site_no = site_no from prefs ;
255 execute dbo.siriussp_get_unique_key2 'K_ACC_ACTV' , @NumberOut = @Activ_id output;
256 if @Activ_id = 0
257 begin
258 raiserror('Cannot fetch a new activity log primary key value.',16,1) ;
259 return ;
260 end
261 set @Activ_id = @Activ_id * 1000000 + @Site_no ;
262
263 set @xmlCurrentState = @xmlChanges + @xmlCurrentState ;
264 execute dbo.siriussp_CreateAccessActivityRecord
265 @ActivID = @Activ_id ,
266 @SiteNo = @Site_no ,
267 @ActivType = @Activ_type ,
268 @TagLine = @Tag_line ,
269 @RefNo = @cPass_no ,
270 @Details = @xmlCurrentState ,
271 @Dt = @Date_time ,
272 @Person = @Op ,
273 @Location = @Sp ;
274end
275GO
276
277DROP TRIGGER accomdtn_last_mod_D
278GO
279CREATE trigger [dbo].[accomdtn_last_mod_D] ON [dbo].[accomdtn]
280for DELETE
281AS
282DECLARE @cTableName varchar(8)
283
284SET NOCOUNT ON
285SET @cTableName = 'accomdtn'
286IF NOT EXISTS (SELECT * FROM deleted) RETURN;
287
288/* Add a record to the deletes table for DELETEs */
289 BEGIN TRANSACTION
290 INSERT INTO deletes (tablename, key_val)
291 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
292 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
293 IF @@ERROR != 0
294 BEGIN
295 RAISERROR('Cannot update the DELETES value.',16,1)
296 ROLLBACK TRANSACTION
297 RETURN
298 END
299 COMMIT TRANSACTION
300
301GO
302
303DROP TRIGGER accomdtn_last_mod_IU
304GO
305CREATE trigger [dbo].[accomdtn_last_mod_IU] ON [dbo].[accomdtn]
306FOR INSERT, UPDATE
307AS
308DECLARE @CountIns int,
309 @cTableName varchar(10),
310 @nKeyVal int
311
312SET NOCOUNT ON
313SET @cTableName = 'accomdtn'
314SELECT @CountIns = COUNT(*) FROM Inserted
315IF @CountIns = 0 RETURN;
316
317/* Update the last_mod for INSERTs and UPDATEs */
318 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
319 IF @nKeyVal IS NULL
320 BEGIN
321 SET @nKeyVal = 1
322 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
323 END
324
325 UPDATE updates SET accomdtn = @nKeyVal + @CountIns - 1
326 IF @@ERROR != 0
327 BEGIN
328 RAISERROR('Cannot update the LAST_MOD value.',16,1)
329 RETURN
330 END
331
332 SET @nKeyVal = @nKeyVal - 1
333 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM accomdtn a JOIN inserted i ON a.pri_key = i.pri_key
334 IF @@ERROR != 0
335 BEGIN
336 RAISERROR('Cannot update the LAST_MOD value.',16,1)
337 RETURN
338 END
339
340GO
341
342DROP TRIGGER accounts_last_mod_D
343GO
344CREATE TRIGGER [dbo].[accounts_last_mod_D] ON [dbo].[accounts]
345FOR DELETE
346AS
347DECLARE @cTableName varchar(8)
348
349SET NOCOUNT ON
350SET @cTableName = 'accounts'
351IF NOT EXISTS (SELECT * FROM deleted) RETURN;
352
353/* Add a record to the deletes table for DELETEs */
354 BEGIN TRANSACTION
355 INSERT INTO deletes (tablename, key_val)
356 SELECT @cTableName AS tablename, acct_name AS key_val FROM Deleted
357 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
358 IF @@ERROR != 0
359 BEGIN
360 RAISERROR('Cannot update the DELETES value.',16,1)
361 ROLLBACK TRANSACTION
362 RETURN
363 END
364 COMMIT TRANSACTION
365
366GO
367
368DROP TRIGGER accounts_last_mod_IU
369GO
370CREATE TRIGGER [dbo].[accounts_last_mod_IU] ON [dbo].[accounts]
371FOR INSERT, UPDATE
372AS
373DECLARE @CountIns int,
374 @cTableName varchar(10),
375 @nKeyVal int
376
377SET NOCOUNT ON
378SET @cTableName = 'accounts'
379SELECT @CountIns = COUNT(*) FROM Inserted
380IF @CountIns = 0 RETURN;
381
382/* Update the last_mod for INSERTs and UPDATEs */
383 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
384 IF @nKeyVal IS NULL
385 BEGIN
386 SET @nKeyVal = 1
387 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
388 END
389
390 UPDATE updates SET accounts = @nKeyVal + @CountIns - 1
391 IF @@ERROR != 0
392 BEGIN
393 RAISERROR('Cannot update the LAST_MOD value.',16,1)
394 RETURN
395 END
396
397 SET @nKeyVal = @nKeyVal - 1
398 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM accounts a JOIN inserted i ON a.acct_name = i.acct_name
399 IF @@ERROR != 0
400 BEGIN
401 RAISERROR('Cannot update the LAST_MOD value.',16,1)
402 RETURN
403 END
404
405/* Remove any record in the deletes table if this key was inserted back in */
406 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
407 (SELECT acct_name FROM Inserted WHERE acct_name NOT IN (SELECT acct_name FROM Deleted))
408
409GO
410
411DROP TRIGGER accttype_last_mod_D
412GO
413CREATE TRIGGER [dbo].[accttype_last_mod_D] ON [dbo].[accttype]
414FOR DELETE
415AS
416DECLARE @cTableName varchar(8)
417
418SET NOCOUNT ON
419SET @cTableName = 'accttype'
420IF NOT EXISTS (SELECT * FROM deleted) RETURN;
421
422/* Add a record to the deletes table for DELETEs */
423 BEGIN TRANSACTION
424 INSERT INTO deletes (tablename, key_val)
425 SELECT @cTableName AS tablename, CAST(acct_type AS varchar(60)) AS key_val FROM Deleted
426 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
427 IF @@ERROR != 0
428 BEGIN
429 RAISERROR('Cannot update the DELETES value.',16,1)
430 ROLLBACK TRANSACTION
431 RETURN
432 END
433 COMMIT TRANSACTION
434
435GO
436
437DROP TRIGGER accttype_last_mod_IU
438GO
439CREATE TRIGGER [dbo].[accttype_last_mod_IU] ON [dbo].[accttype]
440FOR INSERT, UPDATE
441AS
442DECLARE @CountIns int,
443 @cTableName varchar(10),
444 @nKeyVal int
445
446SET NOCOUNT ON
447SET @cTableName = 'accttype'
448SELECT @CountIns = COUNT(*) FROM Inserted
449IF @CountIns = 0 RETURN;
450
451/* Update the last_mod for INSERTs and UPDATEs */
452 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
453 IF @nKeyVal IS NULL
454 BEGIN
455 SET @nKeyVal = 1
456 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
457 END
458
459 UPDATE updates SET accttype = @nKeyVal + @CountIns - 1
460 IF @@ERROR != 0
461 BEGIN
462 RAISERROR('Cannot update the LAST_MOD value.',16,1)
463 RETURN
464 END
465
466 SET @nKeyVal = @nKeyVal - 1
467 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM accttype a JOIN inserted i ON a.acct_type = i.acct_type
468 IF @@ERROR != 0
469 BEGIN
470 RAISERROR('Cannot update the LAST_MOD value.',16,1)
471 RETURN
472 END
473
474GO
475
476DROP TRIGGER addlink_last_mod_D
477GO
478CREATE TRIGGER [dbo].[addlink_last_mod_D] ON [dbo].[addlink]
479FOR DELETE
480AS
481DECLARE @cTableName varchar(8)
482
483SET NOCOUNT ON
484SET @cTableName = 'addlink'
485IF NOT EXISTS (SELECT * FROM deleted) RETURN;
486
487/* Add a record to the deletes table for DELETEs */
488 BEGIN TRANSACTION
489 INSERT INTO deletes (tablename, key_val)
490 SELECT @cTableName AS tablename, CAST(addlink_id AS varchar(60)) AS key_val FROM Deleted
491 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
492 IF @@ERROR != 0
493 BEGIN
494 RAISERROR('Cannot update the DELETES value.',16,1)
495 ROLLBACK TRANSACTION
496 RETURN
497 END
498 COMMIT TRANSACTION
499
500GO
501
502DROP TRIGGER addlink_last_mod_IU
503GO
504CREATE TRIGGER [dbo].[addlink_last_mod_IU] ON [dbo].[addlink]
505FOR INSERT,UPDATE
506AS
507DECLARE @CountIns int,
508 @cTableName varchar(10),
509 @nKeyVal int
510
511SET NOCOUNT ON
512SET @cTableName = 'addlink'
513SELECT @CountIns = COUNT(*) FROM Inserted
514IF @CountIns = 0 RETURN;
515
516/* Update the last_mod for INSERTs and UPDATEs */
517 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
518 IF @nKeyVal IS NULL
519 BEGIN
520 SET @nKeyVal = 1
521 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
522 END
523
524 UPDATE updates SET addlink = @nKeyVal + @CountIns - 1
525 IF @@ERROR != 0
526 BEGIN
527 RAISERROR('Cannot update the LAST_MOD value.',16,1)
528 RETURN
529 END
530
531--Removed Cursor --Omar 7/11/2011
532 SET @nKeyVal = @nKeyVal - 1
533 UPDATE al
534 SET @nKeyVal = last_mod = @nKeyVal + 1
535 FROM addlink al JOIN inserted i ON al.addlink_id = i.addlink_id
536 IF @@ERROR != 0
537 BEGIN
538 RAISERROR('Cannot update the LAST_MOD value.',16,1)
539 RETURN
540 END
541
542 UPDATE addlink
543 SET importadd = 'SADD' + RTRIM(CAST(i.addlink_id AS varchar(16)))
544 FROM addlink al
545 JOIN inserted i ON al.addlink_id = i.addlink_id
546 WHERE i.importadd IS NULL
547 OR LEN(i.importadd) = 0
548
549 UPDATE addlink
550 SET importp1 = 'SP1' + RTRIM(CAST(i.addlink_id AS varchar(16)))
551 FROM addlink al
552 JOIN inserted i ON al.addlink_id = i.addlink_id
553 WHERE i.importp1 IS NULL
554 OR LEN(i.importp1) = 0
555
556 UPDATE addlink
557 SET importp2 = 'SP2' + RTRIM(CAST(i.addlink_id AS varchar(16)))
558 FROM addlink al
559 JOIN inserted i ON al.addlink_id = i.addlink_id
560 WHERE i.importp2 IS NULL
561 OR LEN(i.importp2) = 0
562
563 UPDATE addlink
564 SET importfax = 'SFAX' + RTRIM(CAST(i.addlink_id AS varchar(16)))
565 FROM addlink al
566 JOIN inserted i ON al.addlink_id = i.addlink_id
567 WHERE i.importfax IS NULL
568 OR LEN(i.importfax) = 0
569
570GO
571
572DROP TRIGGER address_last_mod_D
573GO
574CREATE TRIGGER [dbo].[address_last_mod_D] ON [dbo].[address]
575FOR DELETE
576AS
577DECLARE @cTableName varchar(8)
578
579SET NOCOUNT ON
580SET @cTableName = 'address'
581IF NOT EXISTS (SELECT * FROM deleted) RETURN;
582
583/* Add a record to the deletes table for DELETEs */
584 BEGIN TRANSACTION
585 INSERT INTO deletes (tablename, key_val)
586 SELECT @cTableName AS tablename, CAST(address_id AS varchar(60)) AS key_val FROM Deleted
587 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
588 IF @@ERROR != 0
589 BEGIN
590 RAISERROR('Cannot update the DELETES value.',16,1)
591 ROLLBACK TRANSACTION
592 RETURN
593 END
594 COMMIT TRANSACTION
595
596GO
597
598DROP TRIGGER address_last_mod_IU
599GO
600CREATE TRIGGER [dbo].[address_last_mod_IU] ON [dbo].[address]
601FOR INSERT,UPDATE
602AS
603DECLARE @CountIns int,
604 @cTableName varchar(10),
605 @nKeyVal int
606
607SET NOCOUNT ON
608SET @cTableName = 'address'
609SELECT @CountIns = COUNT(*) FROM Inserted
610IF @CountIns = 0 RETURN;
611
612/* Update the last_mod for INSERTs and UPDATEs */
613 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
614 IF @nKeyVal IS NULL
615 BEGIN
616 SET @nKeyVal = 1
617 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
618 END
619
620 UPDATE updates SET address = @nKeyVal + @CountIns - 1
621 IF @@ERROR != 0
622 BEGIN
623 RAISERROR('Cannot update the LAST_MOD value.',16,1)
624 RETURN
625 END
626
627 SET @nKeyVal = @nKeyVal - 1
628 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM address a JOIN inserted i ON a.address_id = i.address_id
629 IF @@ERROR != 0
630 BEGIN
631 RAISERROR('Cannot update the LAST_MOD value.',16,1)
632 RETURN
633 END
634
635return ; -- Disabled post processing below this point. Reverted back to post processing in middleware.
636
637/* Create the gst_actv log records for "Modify" guest address. */
638declare @CountDel int,
639 @xmlInserted varchar(max),
640 @xmlDeleted varchar(max),
641 @xmlChanges varchar(max),
642 @xmlChangeAppend varchar(max),
643 @xmlCurrentState varchar(max),
644 @cSQL varchar(8000),
645 @Activ_id numeric(17,0),
646 @Site_no int,
647 @Guest_no numeric(17,0),
648 @operator char(6),
649 @salespoint char(6),
650 @mod_op char(6),
651 @mod_sp char(6),
652 @cGuest_no varchar(16),
653 @Activ_type int,
654 @Tag_line varchar(80),
655 @Date_time datetime,
656 @Op char(6),
657 @Sp char(6),
658 @CRLF char(2),
659 @TAB char(1) ;
660
661
662set @CRLF = char(13) + char(10) ;
663set @TAB = char(9) ;
664
665select @CountDel = COUNT(*) from Deleted ;
666if not(@CountIns = 1 and @CountDel = 1) return ; -- make a log entry only when updating a single row, not bulk operations.
667
668set @xmlInserted = (select top 1 a.*
669 from address a
670 join Inserted i on i.address_id = a.address_id
671 for xml path(''), elements absent) ;
672if @CountDel = 0
673 -- inserting a row, no <Changes> tag to build
674 set @xmlChanges = '' ;
675else
676 begin
677 -- Must manually select specific columns instead of "*" because text/image columns not available in Deleted cursor
678 set @xmlDeleted = (select top 1 address_id, cluster, guest_no, address, address2, city, state, zip, country, cntry_cod, area_code,
679 phone, phone_ext, cntry_cod2, area_cod2, phone2, phone2_ext, fax_ccode, fax_acode, fax_phone,
680 fax_ext, company, operator, salespoint, date_time, last_mod, addr_type, mod_op, mod_sp
681 from Deleted
682 for xml path(''), elements absent) ;
683
684 -- Inspect the text/image columns and add to the "changes to append" variable
685 set @xmlChangeAppend = ''
686
687 set @xmlChanges = dbo.siriusfn_LogChangesToXML(@xmlInserted, @xmlDeleted, @xmlChangeAppend, 'address') ;
688 end
689set @xmlCurrentState = dbo.siriusfn_LogCurrentStateToXML(@xmlInserted, 'address') ;
690
691select top 1 @Guest_no = i.guest_no,
692 @operator = i.operator,
693 @salespoint = i.salespoint,
694 @mod_op = i.mod_op,
695 @mod_sp = i.mod_sp
696from Inserted i ;
697
698set @Activ_type = 2 ;
699set @Tag_line = case when @CountDel = 0 then 'New ' else 'Modify ' end + 'Guest Address' ;
700set @cGuest_no = rtrim(cast(@Guest_no as char(16))) ;
701set @Op = case when datalength(rtrim(@mod_op)) > 0 then @mod_op else @operator end ;
702set @Sp = case when datalength(rtrim(@mod_sp)) > 0 then @mod_sp else @salespoint end ;
703set @Date_time = getdate() ;
704
705select top 1 @Site_no = site_no from prefs ;
706execute dbo.siriussp_get_unique_key2 'K_GST_ACTV' , @NumberOut = @Activ_id output;
707if @Activ_id = 0
708 begin
709 raiserror('Cannot fetch a new activity log primary key value.',16,1) ;
710 return ;
711 end
712set @Activ_id = @Activ_id * 1000000 + @Site_no ;
713
714set @xmlCurrentState = @xmlChanges + @xmlCurrentState ;
715execute dbo.siriussp_CreateGuestActivityRecord
716 @ActivID = @Activ_id ,
717 @GuestNo = @Guest_no ,
718 @SiteNo = @Site_no ,
719 @ActivType = @Activ_type ,
720 @TagLine = @Tag_line ,
721 @RefNo = @cGuest_no ,
722 @Details = @xmlCurrentState ,
723 @Dt = @Date_time ,
724 @Person = @Op ,
725 @Location = @Sp ;
726GO
727
728DROP TRIGGER baselodg_last_mod_D
729GO
730CREATE TRIGGER [dbo].[baselodg_last_mod_D] ON [dbo].[baselodg]
731FOR DELETE
732AS
733DECLARE @cTableName varchar(8)
734
735SET NOCOUNT ON
736SET @cTableName = 'baselodg'
737IF NOT EXISTS (SELECT * FROM deleted) RETURN;
738
739/* Add a record to the deletes table for DELETEs */
740 BEGIN TRANSACTION
741 INSERT INTO deletes (tablename, key_val)
742 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
743 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
744 IF @@ERROR != 0
745 BEGIN
746 RAISERROR('Cannot update the DELETES value.',16,1)
747 ROLLBACK TRANSACTION
748 RETURN
749 END
750 COMMIT TRANSACTION
751
752GO
753
754DROP TRIGGER baselodg_last_mod_IU
755GO
756CREATE TRIGGER [dbo].[baselodg_last_mod_IU] ON [dbo].[baselodg]
757FOR INSERT, UPDATE
758AS
759DECLARE @CountIns int,
760 @cTableName varchar(10),
761 @nKeyVal int
762
763SET NOCOUNT ON
764SET @cTableName = 'baselodg'
765SELECT @CountIns = COUNT(*) FROM Inserted
766IF @CountIns = 0 RETURN;
767
768/* Update the last_mod for INSERTs and UPDATEs */
769 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
770 IF @nKeyVal IS NULL
771 BEGIN
772 SET @nKeyVal = 1
773 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
774 END
775
776 UPDATE updates SET baselodg = @nKeyVal + @CountIns - 1
777 IF @@ERROR != 0
778 BEGIN
779 RAISERROR('Cannot update the LAST_MOD value.',16,1)
780 RETURN
781 END
782
783 SET @nKeyVal = @nKeyVal - 1
784 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM baselodg a JOIN inserted i ON a.pri_key = i.pri_key
785 IF @@ERROR != 0
786 BEGIN
787 RAISERROR('Cannot update the LAST_MOD value.',16,1)
788 RETURN
789 END
790
791GO
792
793DROP TRIGGER blackout_last_mod_D
794GO
795CREATE TRIGGER [dbo].[blackout_last_mod_D] ON [dbo].[blackout]
796FOR DELETE
797AS
798DECLARE @cTableName varchar(8)
799
800SET NOCOUNT ON
801SET @cTableName = 'blackout'
802IF NOT EXISTS (SELECT * FROM deleted) RETURN;
803
804/* Add a record to the deletes table for DELETEs */
805 BEGIN TRANSACTION
806 INSERT INTO deletes (tablename, key_val)
807 SELECT @cTableName AS tablename, CAST(blackoutid AS varchar(60)) AS key_val FROM Deleted
808 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
809 IF @@ERROR != 0
810 BEGIN
811 RAISERROR('Cannot update the DELETES value.',16,1)
812 ROLLBACK TRANSACTION
813 RETURN
814 END
815 COMMIT TRANSACTION
816
817GO
818
819DROP TRIGGER blackout_last_mod_IU
820GO
821CREATE TRIGGER [dbo].[blackout_last_mod_IU] ON [dbo].[blackout]
822FOR INSERT, UPDATE
823AS
824DECLARE @CountIns int,
825 @cTableName varchar(10),
826 @nKeyVal int
827
828SET NOCOUNT ON
829SET @cTableName = 'blackout'
830SELECT @CountIns = COUNT(*) FROM Inserted
831IF @CountIns = 0 RETURN;
832
833/* Update the last_mod for INSERTs and UPDATEs */
834 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
835 IF @nKeyVal IS NULL
836 BEGIN
837 SET @nKeyVal = 1
838 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
839 END
840
841 UPDATE updates SET blackout = @nKeyVal + @CountIns - 1
842 IF @@ERROR != 0
843 BEGIN
844 RAISERROR('Cannot update the LAST_MOD value.',16,1)
845 RETURN
846 END
847
848 SET @nKeyVal = @nKeyVal - 1
849 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM blackout a JOIN inserted i ON a.blackoutid = i.blackoutid
850 IF @@ERROR != 0
851 BEGIN
852 RAISERROR('Cannot update the LAST_MOD value.',16,1)
853 RETURN
854 END
855
856GO
857
858DROP TRIGGER callocat_last_mod_D
859GO
860CREATE TRIGGER [dbo].[callocat_last_mod_D] ON [dbo].[callocat]
861FOR DELETE
862AS
863DECLARE @cTableName varchar(8)
864
865SET NOCOUNT ON
866SET @cTableName = 'callocat'
867IF NOT EXISTS (SELECT * FROM deleted) RETURN;
868
869/* Add a record to the deletes table for DELETEs */
870 BEGIN TRANSACTION
871 INSERT INTO deletes (tablename, key_val)
872 SELECT @cTableName AS tablename, CAST(callocatid AS varchar(60)) AS key_val FROM Deleted
873 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
874 IF @@ERROR != 0
875 BEGIN
876 RAISERROR('Cannot update the DELETES value.',16,1)
877 ROLLBACK TRANSACTION
878 RETURN
879 END
880 COMMIT TRANSACTION
881
882GO
883
884DROP TRIGGER callocat_last_mod_IU
885GO
886CREATE TRIGGER [dbo].[callocat_last_mod_IU] ON [dbo].[callocat]
887FOR INSERT, UPDATE
888AS
889DECLARE @CountIns int,
890 @cTableName varchar(10),
891 @nKeyVal int
892
893SET NOCOUNT ON
894SET @cTableName = 'callocat'
895SELECT @CountIns = COUNT(*) FROM Inserted
896IF @CountIns = 0 RETURN;
897
898/* Update the last_mod for INSERTs and UPDATEs */
899 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
900 IF @nKeyVal IS NULL
901 BEGIN
902 SET @nKeyVal = 1
903 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
904 END
905
906 UPDATE updates SET callocat = @nKeyVal + @CountIns - 1
907 IF @@ERROR != 0
908 BEGIN
909 RAISERROR('Cannot update the LAST_MOD value.',16,1)
910 RETURN
911 END
912
913 SET @nKeyVal = @nKeyVal - 1
914 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM callocat a JOIN inserted i ON a.callocatid = i.callocatid
915 IF @@ERROR != 0
916 BEGIN
917 RAISERROR('Cannot update the LAST_MOD value.',16,1)
918 RETURN
919 END
920
921GO
922
923DROP TRIGGER calsched_last_mod_D
924GO
925CREATE TRIGGER [dbo].[calsched_last_mod_D] ON [dbo].[calsched]
926FOR DELETE
927AS
928DECLARE @cTableName varchar(8)
929
930SET NOCOUNT ON
931SET @cTableName = 'calsched'
932IF NOT EXISTS (SELECT * FROM deleted) RETURN;
933
934/* Add a record to the deletes table for DELETEs */
935 BEGIN TRANSACTION
936 INSERT INTO deletes (tablename, key_val)
937 SELECT @cTableName AS tablename, CAST(calschedid AS varchar(60)) AS key_val FROM Deleted
938 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
939 IF @@ERROR != 0
940 BEGIN
941 RAISERROR('Cannot update the DELETES value.',16,1)
942 ROLLBACK TRANSACTION
943 RETURN
944 END
945 COMMIT TRANSACTION
946
947GO
948
949DROP TRIGGER calsched_last_mod_IU
950GO
951CREATE TRIGGER [dbo].[calsched_last_mod_IU] ON [dbo].[calsched]
952FOR INSERT, UPDATE
953AS
954DECLARE @CountIns int,
955 @cTableName varchar(10),
956 @nKeyVal int
957
958SET NOCOUNT ON
959SET @cTableName = 'calsched'
960SELECT @CountIns = COUNT(*) FROM Inserted
961IF @CountIns = 0 RETURN;
962
963/* Update the last_mod for INSERTs and UPDATEs */
964 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
965 IF @nKeyVal IS NULL
966 BEGIN
967 SET @nKeyVal = 1
968 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
969 END
970
971 UPDATE updates SET calsched = @nKeyVal + @CountIns - 1
972 IF @@ERROR != 0
973 BEGIN
974 RAISERROR('Cannot update the LAST_MOD value.',16,1)
975 RETURN
976 END
977
978 SET @nKeyVal = @nKeyVal - 1
979 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM calsched a JOIN inserted i ON a.calschedid = i.calschedid
980 IF @@ERROR != 0
981 BEGIN
982 RAISERROR('Cannot update the LAST_MOD value.',16,1)
983 RETURN
984 END
985
986GO
987
988DROP TRIGGER calsitem_last_mod_D
989GO
990CREATE TRIGGER [dbo].[calsitem_last_mod_D] ON [dbo].[calsitem]
991FOR DELETE
992AS
993DECLARE @cTableName varchar(8)
994
995SET NOCOUNT ON
996SET @cTableName = 'calsitem'
997IF NOT EXISTS (SELECT * FROM deleted) RETURN;
998
999/* Add a record to the deletes table for DELETEs */
1000 BEGIN TRANSACTION
1001 INSERT INTO deletes (tablename, key_val)
1002 SELECT @cTableName AS tablename, CAST(calsitemid AS varchar(60)) AS key_val FROM Deleted
1003 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1004 IF @@ERROR != 0
1005 BEGIN
1006 RAISERROR('Cannot update the DELETES value.',16,1)
1007 ROLLBACK TRANSACTION
1008 RETURN
1009 END
1010 COMMIT TRANSACTION
1011
1012GO
1013
1014DROP TRIGGER calsitem_last_mod_IU
1015GO
1016CREATE TRIGGER [dbo].[calsitem_last_mod_IU] ON [dbo].[calsitem]
1017FOR INSERT, UPDATE
1018AS
1019DECLARE @CountIns int,
1020 @cTableName varchar(10),
1021 @nKeyVal int
1022
1023SET NOCOUNT ON
1024SET @cTableName = 'calsitem'
1025SELECT @CountIns = COUNT(*) FROM Inserted
1026IF @CountIns = 0 RETURN;
1027
1028/* Update the last_mod for INSERTs and UPDATEs */
1029 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1030 IF @nKeyVal IS NULL
1031 BEGIN
1032 SET @nKeyVal = 1
1033 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1034 END
1035
1036 UPDATE updates SET calsitem = @nKeyVal + @CountIns - 1
1037 IF @@ERROR != 0
1038 BEGIN
1039 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1040 RETURN
1041 END
1042
1043 SET @nKeyVal = @nKeyVal - 1
1044 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM calsitem a JOIN inserted i ON a.calsitemid = i.calsitemid
1045 IF @@ERROR != 0
1046 BEGIN
1047 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1048 RETURN
1049 END
1050
1051GO
1052
1053DROP TRIGGER card_act_last_mod_D
1054GO
1055CREATE TRIGGER [dbo].[card_act_last_mod_D] ON [dbo].[card_act]
1056FOR DELETE
1057AS
1058DECLARE @cTableName varchar(8)
1059
1060SET NOCOUNT ON
1061SET @cTableName = 'card_act'
1062IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1063
1064/* Add a record to the deletes table for DELETEs */
1065 BEGIN TRANSACTION
1066 INSERT INTO deletes (tablename, key_val)
1067 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
1068 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1069 IF @@ERROR != 0
1070 BEGIN
1071 RAISERROR('Cannot update the DELETES value.',16,1)
1072 ROLLBACK TRANSACTION
1073 RETURN
1074 END
1075 COMMIT TRANSACTION
1076
1077GO
1078
1079DROP TRIGGER card_act_last_mod_IU
1080GO
1081CREATE TRIGGER [dbo].[card_act_last_mod_IU] ON [dbo].[card_act]
1082FOR INSERT, UPDATE
1083AS
1084DECLARE @CountIns int,
1085 @cTableName varchar(10),
1086 @nKeyVal int
1087
1088SET NOCOUNT ON
1089SET @cTableName = 'card_act'
1090SELECT @CountIns = COUNT(*) FROM Inserted
1091IF @CountIns = 0 RETURN;
1092
1093/* Update the last_mod for INSERTs and UPDATEs */
1094 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1095 IF @nKeyVal IS NULL
1096 BEGIN
1097 SET @nKeyVal = 1
1098 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1099 END
1100
1101 UPDATE updates SET card_act = @nKeyVal + @CountIns - 1
1102 IF @@ERROR != 0
1103 BEGIN
1104 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1105 RETURN
1106 END
1107
1108 SET @nKeyVal = @nKeyVal - 1
1109 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM card_act a JOIN inserted i ON a.pri_key = i.pri_key
1110 IF @@ERROR != 0
1111 BEGIN
1112 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1113 RETURN
1114 END
1115
1116GO
1117
1118DROP TRIGGER category_last_mod_D
1119GO
1120CREATE TRIGGER [dbo].[category_last_mod_D] ON [dbo].[category]
1121FOR DELETE
1122AS
1123DECLARE @cTableName varchar(8)
1124
1125SET NOCOUNT ON
1126SET @cTableName = 'category'
1127IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1128
1129/* Add a record to the deletes table for DELETEs */
1130 BEGIN TRANSACTION
1131 INSERT INTO deletes (tablename, key_val)
1132 SELECT @cTableName AS tablename, department+category AS key_val FROM Deleted
1133 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1134 IF @@ERROR != 0
1135 BEGIN
1136 RAISERROR('Cannot update the DELETES value.',16,1)
1137 ROLLBACK TRANSACTION
1138 RETURN
1139 END
1140 COMMIT TRANSACTION
1141
1142GO
1143
1144DROP TRIGGER category_last_mod_IU
1145GO
1146CREATE TRIGGER [dbo].[category_last_mod_IU] ON [dbo].[category]
1147FOR INSERT, UPDATE
1148AS
1149DECLARE @CountIns int,
1150 @cTableName varchar(10),
1151 @nKeyVal int,
1152 @lckmax4sale bit,
1153 @lOldckmax4sale bit
1154
1155SET NOCOUNT ON
1156SET @cTableName = 'category'
1157SELECT @CountIns = COUNT(*) FROM Inserted
1158IF @CountIns = 0 RETURN;
1159
1160/* Update the last_mod for INSERTs and UPDATEs */
1161 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1162 IF @nKeyVal IS NULL
1163 BEGIN
1164 SET @nKeyVal = 1
1165 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1166 END
1167
1168 UPDATE updates SET category = @nKeyVal + @CountIns - 1
1169 IF @@ERROR != 0
1170 BEGIN
1171 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1172 RETURN
1173 END
1174
1175 SET @nKeyVal = @nKeyVal - 1
1176 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM category a JOIN inserted i ON a.department = i.department and a.category = i.category
1177 IF @@ERROR != 0
1178 BEGIN
1179 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1180 RETURN
1181 END
1182
1183/* Remove any record in the deletes table if this key was inserted back in */
1184 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
1185 (SELECT department+category FROM Inserted WHERE department+category NOT IN (SELECT department+category FROM Deleted))
1186
1187
1188/* The rest of the trigger is to determine if the chkMax4Sale value changed.
1189 If so, need to kill the Max4SaleCounts table */
1190
1191/* Quit now if nothing to process (i.e. insert) */
1192if @CountIns = 0 or not exists (select 1 from deleted) return ;
1193
1194/* If batch updated more than one items row (this should never happen), just kill
1195 the counts table and let calls to the GetQtyRemaining sproc rebuild it as needed */
1196if @CountIns > 1
1197begin
1198 truncate table Max4SaleCounts ;
1199 return ;
1200end
1201
1202/* Get the old and new values */
1203select top 1 @lckmax4sale = N.ckmax4sale,
1204 @lOldckmax4sale = O.ckmax4sale
1205from Inserted N
1206inner join Deleted O on N.department = O.department and N.category = O.category
1207
1208/* If the chkMax4Sale value changed, kill the Max4SaleCounts table */
1209if @lckmax4sale <> @lOldckmax4sale
1210begin
1211 truncate table Max4SaleCounts ;
1212end
1213
1214GO
1215
1216DROP TRIGGER compprsn_last_mod_D
1217GO
1218CREATE TRIGGER [dbo].[compprsn_last_mod_D] ON [dbo].[compprsn]
1219FOR DELETE
1220AS
1221DECLARE @cTableName varchar(8)
1222
1223SET NOCOUNT ON
1224SET @cTableName = 'compprsn'
1225IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1226
1227/* Add a record to the deletes table for DELETEs */
1228 BEGIN TRANSACTION
1229 INSERT INTO deletes (tablename, key_val)
1230 SELECT @cTableName AS tablename, CAST(person_no AS varchar(60)) AS key_val FROM Deleted
1231 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1232 IF @@ERROR != 0
1233 BEGIN
1234 RAISERROR('Cannot update the DELETES value.',16,1)
1235 ROLLBACK TRANSACTION
1236 RETURN
1237 END
1238 COMMIT TRANSACTION
1239
1240GO
1241
1242DROP TRIGGER compprsn_last_mod_IU
1243GO
1244CREATE TRIGGER [dbo].[compprsn_last_mod_IU] ON [dbo].[compprsn]
1245FOR INSERT, UPDATE
1246AS
1247DECLARE @CountIns int,
1248 @cTableName varchar(10),
1249 @nKeyVal int
1250
1251SET NOCOUNT ON
1252SET @cTableName = 'compprsn'
1253SELECT @CountIns = COUNT(*) FROM Inserted
1254IF @CountIns = 0 RETURN;
1255
1256/* Update the last_mod for INSERTs and UPDATEs */
1257 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1258 IF @nKeyVal IS NULL
1259 BEGIN
1260 SET @nKeyVal = 1
1261 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1262 END
1263
1264 UPDATE updates SET compprsn = @nKeyVal + @CountIns - 1
1265 IF @@ERROR != 0
1266 BEGIN
1267 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1268 RETURN
1269 END
1270
1271 SET @nKeyVal = @nKeyVal - 1
1272 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM compprsn a JOIN inserted i ON a.person_no = i.person_no
1273 IF @@ERROR != 0
1274 BEGIN
1275 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1276 RETURN
1277 END
1278
1279GO
1280
1281DROP TRIGGER compreas_last_mod_D
1282GO
1283CREATE TRIGGER [dbo].[compreas_last_mod_D] ON [dbo].[compreas]
1284FOR DELETE
1285AS
1286DECLARE @cTableName varchar(8)
1287
1288SET NOCOUNT ON
1289SET @cTableName = 'compreas'
1290IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1291
1292/* Add a record to the deletes table for DELETEs */
1293 BEGIN TRANSACTION
1294 INSERT INTO deletes (tablename, key_val)
1295 SELECT @cTableName AS tablename, CAST(reason_no AS varchar(60)) AS key_val FROM Deleted
1296 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1297 IF @@ERROR != 0
1298 BEGIN
1299 RAISERROR('Cannot update the DELETES value.',16,1)
1300 ROLLBACK TRANSACTION
1301 RETURN
1302 END
1303 COMMIT TRANSACTION
1304
1305GO
1306
1307DROP TRIGGER compreas_last_mod_IU
1308GO
1309CREATE TRIGGER [dbo].[compreas_last_mod_IU] ON [dbo].[compreas]
1310FOR INSERT, UPDATE
1311AS
1312DECLARE @CountIns int,
1313 @cTableName varchar(10),
1314 @nKeyVal int
1315
1316SET NOCOUNT ON
1317SET @cTableName = 'compreas'
1318SELECT @CountIns = COUNT(*) FROM Inserted
1319IF @CountIns = 0 RETURN;
1320
1321/* Update the last_mod for INSERTs and UPDATEs */
1322 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1323 IF @nKeyVal IS NULL
1324 BEGIN
1325 SET @nKeyVal = 1
1326 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1327 END
1328
1329 UPDATE updates SET compreas = @nKeyVal + @CountIns - 1
1330 IF @@ERROR != 0
1331 BEGIN
1332 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1333 RETURN
1334 END
1335
1336 SET @nKeyVal = @nKeyVal - 1
1337 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM compreas a JOIN inserted i ON a.reason_no = i.reason_no
1338 IF @@ERROR != 0
1339 BEGIN
1340 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1341 RETURN
1342 END
1343
1344GO
1345
1346DROP TRIGGER dailycod_last_mod_D
1347GO
1348CREATE TRIGGER [dbo].[dailycod_last_mod_D] ON [dbo].[dailycod]
1349FOR DELETE
1350AS
1351DECLARE @cTableName varchar(8)
1352
1353SET NOCOUNT ON
1354SET @cTableName = 'dailycod'
1355IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1356
1357/* Add a record to the deletes table for DELETEs */
1358 BEGIN TRANSACTION
1359 INSERT INTO deletes (tablename, key_val)
1360 SELECT @cTableName AS tablename, month_day AS key_val FROM Deleted
1361 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1362 IF @@ERROR != 0
1363 BEGIN
1364 RAISERROR('Cannot update the DELETES value.',16,1)
1365 ROLLBACK TRANSACTION
1366 RETURN
1367 END
1368 COMMIT TRANSACTION
1369
1370GO
1371
1372DROP TRIGGER dailycod_last_mod_IU
1373GO
1374CREATE TRIGGER [dbo].[dailycod_last_mod_IU] ON [dbo].[dailycod]
1375FOR INSERT, UPDATE
1376AS
1377DECLARE @CountIns int,
1378 @cTableName varchar(10),
1379 @nKeyVal int
1380
1381SET NOCOUNT ON
1382SET @cTableName = 'dailycod'
1383SELECT @CountIns = COUNT(*) FROM Inserted
1384IF @CountIns = 0 RETURN;
1385
1386/* Update the last_mod for INSERTs and UPDATEs */
1387 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1388 IF @nKeyVal IS NULL
1389 BEGIN
1390 SET @nKeyVal = 1
1391 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1392 END
1393
1394 UPDATE updates SET dailycod = @nKeyVal + @CountIns - 1
1395 IF @@ERROR != 0
1396 BEGIN
1397 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1398 RETURN
1399 END
1400
1401 SET @nKeyVal = @nKeyVal - 1
1402 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM dailycod a JOIN inserted i ON a.month_day = i.month_day
1403 IF @@ERROR != 0
1404 BEGIN
1405 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1406 RETURN
1407 END
1408
1409/* Remove any record in the deletes table if this key was inserted back in */
1410 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
1411 (SELECT month_day FROM Inserted WHERE month_day NOT IN (SELECT month_day FROM Deleted))
1412
1413GO
1414
1415DROP TRIGGER dci_kits_last_mod_D
1416GO
1417CREATE TRIGGER [dbo].[dci_kits_last_mod_D] ON [dbo].[dci_kits]
1418FOR DELETE
1419AS
1420DECLARE @cTableName varchar(8)
1421
1422SET NOCOUNT ON
1423SET @cTableName = 'dci_kits'
1424IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1425
1426/* Add a record to the deletes table for DELETEs */
1427 BEGIN TRANSACTION
1428 INSERT INTO deletes (tablename, key_val)
1429 SELECT @cTableName AS tablename, source_d+source_c+source_i+kit_d+kit_c+kit_i AS key_val FROM Deleted
1430 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1431 IF @@ERROR != 0
1432 BEGIN
1433 RAISERROR('Cannot update the DELETES value.',16,1)
1434 ROLLBACK TRANSACTION
1435 RETURN
1436 END
1437 COMMIT TRANSACTION
1438
1439GO
1440
1441DROP TRIGGER dci_kits_last_mod_IU
1442GO
1443CREATE TRIGGER [dbo].[dci_kits_last_mod_IU] ON [dbo].[dci_kits]
1444FOR INSERT, UPDATE
1445AS
1446DECLARE @CountIns int,
1447 @cTableName varchar(10),
1448 @nKeyVal int
1449
1450SET NOCOUNT ON
1451SET @cTableName = 'dci_kits'
1452SELECT @CountIns = COUNT(*) FROM Inserted
1453IF @CountIns = 0 RETURN;
1454
1455/* Update the last_mod for INSERTs and UPDATEs */
1456 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1457 IF @nKeyVal IS NULL
1458 BEGIN
1459 SET @nKeyVal = 1
1460 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1461 END
1462
1463 UPDATE updates SET dci_kits = @nKeyVal + @CountIns - 1
1464 IF @@ERROR != 0
1465 BEGIN
1466 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1467 RETURN
1468 END
1469
1470 SET @nKeyVal = @nKeyVal - 1
1471 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM dci_kits a JOIN inserted i ON a.source_d+a.source_c+a.source_i+a.kit_d+a.kit_c+a.kit_i = i.source_d+i.source_c+i.source_i+i.kit_d+i.kit_c+i.kit_i
1472 IF @@ERROR != 0
1473 BEGIN
1474 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1475 RETURN
1476 END
1477
1478/* Remove any record in the deletes table if this key was inserted back in */
1479 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
1480 (SELECT source_d+source_c+source_i+kit_d+kit_c+kit_i FROM Inserted WHERE source_d+source_c+source_i+kit_d+kit_c+kit_i NOT IN (SELECT source_d+source_c+source_i+kit_d+kit_c+kit_i FROM Deleted))
1481
1482GO
1483
1484DROP TRIGGER dci_liab_last_mod_D
1485GO
1486CREATE TRIGGER [dbo].[dci_liab_last_mod_D] ON [dbo].[dci_liab]
1487FOR DELETE
1488AS
1489DECLARE @cTableName varchar(8)
1490
1491SET NOCOUNT ON
1492SET @cTableName = 'dci_liab'
1493IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1494
1495/* Add a record to the deletes table for DELETEs */
1496 BEGIN TRANSACTION
1497 INSERT INTO deletes (tablename, key_val)
1498 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
1499 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1500 IF @@ERROR != 0
1501 BEGIN
1502 RAISERROR('Cannot update the DELETES value.',16,1)
1503 ROLLBACK TRANSACTION
1504 RETURN
1505 END
1506 COMMIT TRANSACTION
1507
1508GO
1509
1510DROP TRIGGER dci_liab_last_mod_IU
1511GO
1512CREATE TRIGGER [dbo].[dci_liab_last_mod_IU] ON [dbo].[dci_liab]
1513FOR INSERT, UPDATE
1514AS
1515DECLARE @CountIns int,
1516 @cTableName varchar(10),
1517 @nKeyVal int
1518
1519SET NOCOUNT ON
1520SET @cTableName = 'dci_liab'
1521SELECT @CountIns = COUNT(*) FROM Inserted
1522IF @CountIns = 0 RETURN;
1523
1524/* Update the last_mod for INSERTs and UPDATEs */
1525 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1526 IF @nKeyVal IS NULL
1527 BEGIN
1528 SET @nKeyVal = 1
1529 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1530 END
1531
1532 UPDATE updates SET dci_liab = @nKeyVal + @CountIns - 1
1533 IF @@ERROR != 0
1534 BEGIN
1535 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1536 RETURN
1537 END
1538
1539 SET @nKeyVal = @nKeyVal - 1
1540 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM dci_liab a JOIN inserted i ON a.pri_key = i.pri_key
1541 IF @@ERROR != 0
1542 BEGIN
1543 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1544 RETURN
1545 END
1546
1547GO
1548
1549DROP TRIGGER dci_mods_last_mod_D
1550GO
1551CREATE TRIGGER [dbo].[dci_mods_last_mod_D] ON [dbo].[dci_mods]
1552FOR DELETE
1553AS
1554DECLARE @cTableName varchar(8)
1555
1556SET NOCOUNT ON
1557SET @cTableName = 'dci_mods'
1558IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1559
1560/* Add a record to the deletes table for DELETEs */
1561 BEGIN TRANSACTION
1562 INSERT INTO deletes (tablename, key_val)
1563 SELECT @cTableName AS tablename, source_d+source_c+source_i+mod_d+mod_c+mod_i AS key_val FROM Deleted
1564 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1565 IF @@ERROR != 0
1566 BEGIN
1567 RAISERROR('Cannot update the DELETES value.',16,1)
1568 ROLLBACK TRANSACTION
1569 RETURN
1570 END
1571 COMMIT TRANSACTION
1572
1573GO
1574
1575DROP TRIGGER dci_mods_last_mod_IU
1576GO
1577CREATE TRIGGER [dbo].[dci_mods_last_mod_IU] ON [dbo].[dci_mods]
1578FOR INSERT, UPDATE
1579AS
1580DECLARE @CountIns int,
1581 @cTableName varchar(10),
1582 @nKeyVal int
1583
1584SET NOCOUNT ON
1585SET @cTableName = 'dci_mods'
1586SELECT @CountIns = COUNT(*) FROM Inserted
1587IF @CountIns = 0 RETURN;
1588
1589/* Update the last_mod for INSERTs and UPDATEs */
1590 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1591 IF @nKeyVal IS NULL
1592 BEGIN
1593 SET @nKeyVal = 1
1594 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1595 END
1596
1597 UPDATE updates SET dci_mods = @nKeyVal + @CountIns - 1
1598 IF @@ERROR != 0
1599 BEGIN
1600 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1601 RETURN
1602 END
1603
1604 SET @nKeyVal = @nKeyVal - 1
1605 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM dci_mods a JOIN inserted i ON a.source_d+a.source_c+a.source_i+a.mod_d+a.mod_c+a.mod_i = i.source_d+i.source_c+i.source_i+i.mod_d+i.mod_c+i.mod_i
1606 IF @@ERROR != 0
1607 BEGIN
1608 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1609 RETURN
1610 END
1611
1612/* Remove any record in the deletes table if this key was inserted back in */
1613 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
1614 (SELECT source_d+source_c+source_i+mod_d+mod_c+mod_i FROM Inserted WHERE source_d+source_c+source_i+mod_d+mod_c+mod_i NOT IN (SELECT source_d+source_c+source_i+mod_d+mod_c+mod_i FROM Deleted))
1615
1616GO
1617
1618DROP TRIGGER departme_last_mod_D
1619GO
1620CREATE TRIGGER [dbo].[departme_last_mod_D] ON [dbo].[departme]
1621FOR DELETE
1622AS
1623DECLARE @cTableName varchar(8)
1624
1625SET NOCOUNT ON
1626SET @cTableName = 'departme'
1627IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1628
1629/* Add a record to the deletes table for DELETEs */
1630 BEGIN TRANSACTION
1631 INSERT INTO deletes (tablename, key_val)
1632 SELECT @cTableName AS tablename, department AS key_val FROM Deleted
1633 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1634 IF @@ERROR != 0
1635 BEGIN
1636 RAISERROR('Cannot update the DELETES value.',16,1)
1637 ROLLBACK TRANSACTION
1638 RETURN
1639 END
1640 COMMIT TRANSACTION
1641
1642GO
1643
1644DROP TRIGGER departme_last_mod_IU
1645GO
1646CREATE TRIGGER [dbo].[departme_last_mod_IU] ON [dbo].[departme]
1647FOR INSERT, UPDATE
1648AS
1649DECLARE @CountIns int,
1650 @cTableName varchar(10),
1651 @nKeyVal int,
1652 @lckmax4sale bit,
1653 @lOldckmax4sale bit
1654
1655
1656SET NOCOUNT ON
1657SET @cTableName = 'departme'
1658SELECT @CountIns = COUNT(*) FROM Inserted
1659IF @CountIns = 0 RETURN;
1660
1661/* Update the last_mod for INSERTs and UPDATEs */
1662 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1663 IF @nKeyVal IS NULL
1664 BEGIN
1665 SET @nKeyVal = 1
1666 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1667 END
1668
1669 UPDATE updates SET departme = @nKeyVal + @CountIns - 1
1670 IF @@ERROR != 0
1671 BEGIN
1672 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1673 RETURN
1674 END
1675
1676 SET @nKeyVal = @nKeyVal - 1
1677 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM departme a JOIN inserted i ON a.department = i.department
1678 IF @@ERROR != 0
1679 BEGIN
1680 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1681 RETURN
1682 END
1683
1684/* Remove any record in the deletes table if this key was inserted back in */
1685 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
1686 (SELECT department FROM Inserted WHERE department NOT IN (SELECT department FROM Deleted))
1687
1688
1689/* The rest of the trigger is to determine if the chkMax4Sale value changed.
1690 If so, need to kill the Max4SaleCounts table */
1691
1692/* Quit now if nothing to process (i.e. insert) */
1693if @CountIns = 0 or not exists (select 1 from deleted) return ;
1694
1695/* If batch updated more than one items row (this should never happen), just kill
1696 the counts table and let calls to the GetQtyRemaining sproc rebuild it as needed */
1697if @CountIns > 1
1698begin
1699 truncate table Max4SaleCounts ;
1700 return ;
1701end
1702
1703/* Get the old and new values */
1704select top 1 @lckmax4sale = N.ckmax4sale,
1705 @lOldckmax4sale = O.ckmax4sale
1706from Inserted N
1707inner join Deleted O on N.department = O.department
1708
1709/* If the chkMax4Sale value changed, kill the Max4SaleCounts table */
1710if @lckmax4sale <> @lOldckmax4sale
1711begin
1712 truncate table Max4SaleCounts ;
1713end
1714
1715GO
1716
1717DROP TRIGGER dp_rules_last_mod_D
1718GO
1719CREATE TRIGGER [dbo].[dp_rules_last_mod_D] ON [dbo].[dp_rules]
1720FOR DELETE
1721AS
1722DECLARE @cTableName varchar(8)
1723
1724SET NOCOUNT ON
1725SET @cTableName = 'dp_rules'
1726IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1727
1728/* Add a record to the deletes table for DELETEs */
1729 BEGIN TRANSACTION
1730 INSERT INTO deletes (tablename, key_val)
1731 SELECT @cTableName AS tablename, CAST(rule_id AS varchar(60)) AS key_val FROM Deleted
1732 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1733 IF @@ERROR != 0
1734 BEGIN
1735 RAISERROR('Cannot update the DELETES value.',16,1)
1736 ROLLBACK TRANSACTION
1737 RETURN
1738 END
1739 COMMIT TRANSACTION
1740
1741GO
1742
1743DROP TRIGGER dp_rules_last_mod_IU
1744GO
1745CREATE TRIGGER [dbo].[dp_rules_last_mod_IU] ON [dbo].[dp_rules]
1746FOR INSERT, UPDATE
1747AS
1748DECLARE @CountIns int,
1749 @cTableName varchar(10),
1750 @nKeyVal int
1751
1752SET NOCOUNT ON
1753SET @cTableName = 'dp_rules'
1754SELECT @CountIns = COUNT(*) FROM Inserted
1755IF @CountIns = 0 RETURN;
1756
1757/* Update the last_mod for INSERTs and UPDATEs */
1758 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1759 IF @nKeyVal IS NULL
1760 BEGIN
1761 SET @nKeyVal = 1
1762 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1763 END
1764
1765 UPDATE updates SET dp_rules = @nKeyVal + @CountIns - 1
1766 IF @@ERROR != 0
1767 BEGIN
1768 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1769 RETURN
1770 END
1771
1772 SET @nKeyVal = @nKeyVal - 1
1773 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM dp_rules a JOIN inserted i ON a.rule_id = i.rule_id
1774 IF @@ERROR != 0
1775 BEGIN
1776 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1777 RETURN
1778 END
1779
1780GO
1781
1782DROP TRIGGER expndtxt_last_mod_D
1783GO
1784CREATE TRIGGER [dbo].[expndtxt_last_mod_D] ON [dbo].[expndtxt]
1785FOR DELETE
1786AS
1787DECLARE @cTableName varchar(8)
1788
1789SET NOCOUNT ON
1790SET @cTableName = 'expndtxt'
1791IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1792
1793/* Add a record to the deletes table for DELETEs */
1794 BEGIN TRANSACTION
1795 INSERT INTO deletes (tablename, key_val)
1796 SELECT @cTableName AS tablename, code AS key_val FROM Deleted
1797 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1798 IF @@ERROR != 0
1799 BEGIN
1800 RAISERROR('Cannot update the DELETES value.',16,1)
1801 ROLLBACK TRANSACTION
1802 RETURN
1803 END
1804 COMMIT TRANSACTION
1805
1806GO
1807
1808DROP TRIGGER expndtxt_last_mod_IU
1809GO
1810CREATE TRIGGER [dbo].[expndtxt_last_mod_IU] ON [dbo].[expndtxt]
1811FOR INSERT, UPDATE
1812AS
1813DECLARE @CountIns int,
1814 @cTableName varchar(10),
1815 @nKeyVal int
1816
1817SET NOCOUNT ON
1818SET @cTableName = 'expndtxt'
1819SELECT @CountIns = COUNT(*) FROM Inserted
1820IF @CountIns = 0 RETURN;
1821
1822/* Update the last_mod for INSERTs and UPDATEs */
1823 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1824 IF @nKeyVal IS NULL
1825 BEGIN
1826 SET @nKeyVal = 1
1827 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1828 END
1829
1830 UPDATE updates SET expndtxt = @nKeyVal + @CountIns - 1
1831 IF @@ERROR != 0
1832 BEGIN
1833 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1834 RETURN
1835 END
1836
1837 SET @nKeyVal = @nKeyVal - 1
1838 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM expndtxt a JOIN inserted i ON a.code = i.code
1839 IF @@ERROR != 0
1840 BEGIN
1841 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1842 RETURN
1843 END
1844
1845/* Remove any record in the deletes table if this key was inserted back in */
1846 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
1847 (SELECT code FROM Inserted WHERE code NOT IN (SELECT code FROM Deleted))
1848
1849GO
1850
1851DROP TRIGGER gifttmpl_last_mod_D
1852GO
1853CREATE TRIGGER [dbo].[gifttmpl_last_mod_D] ON [dbo].[gifttmpl]
1854FOR DELETE
1855AS
1856DECLARE @cTableName varchar(8)
1857
1858SET NOCOUNT ON
1859SET @cTableName = 'gifttmpl'
1860IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1861
1862/* Add a record to the deletes table for DELETEs */
1863 BEGIN TRANSACTION
1864 INSERT INTO deletes (tablename, key_val)
1865 SELECT @cTableName AS tablename, department+category+item AS key_val FROM Deleted
1866 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1867 IF @@ERROR != 0
1868 BEGIN
1869 RAISERROR('Cannot update the DELETES value.',16,1)
1870 ROLLBACK TRANSACTION
1871 RETURN
1872 END
1873 COMMIT TRANSACTION
1874
1875GO
1876
1877DROP TRIGGER gifttmpl_last_mod_IU
1878GO
1879CREATE TRIGGER [dbo].[gifttmpl_last_mod_IU] ON [dbo].[gifttmpl]
1880FOR INSERT, UPDATE
1881AS
1882DECLARE @CountIns int,
1883 @cTableName varchar(10),
1884 @nKeyVal int
1885
1886SET NOCOUNT ON
1887SET @cTableName = 'gifttmpl'
1888SELECT @CountIns = COUNT(*) FROM Inserted
1889IF @CountIns = 0 RETURN;
1890
1891/* Update the last_mod for INSERTs and UPDATEs */
1892 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1893 IF @nKeyVal IS NULL
1894 BEGIN
1895 SET @nKeyVal = 1
1896 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1897 END
1898
1899 UPDATE updates SET gifttmpl = @nKeyVal + @CountIns - 1
1900 IF @@ERROR != 0
1901 BEGIN
1902 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1903 RETURN
1904 END
1905
1906 SET @nKeyVal = @nKeyVal - 1
1907 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM gifttmpl a JOIN inserted i ON a.department = i.department and a.category = i.category and a.item = i.item
1908 IF @@ERROR != 0
1909 BEGIN
1910 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1911 RETURN
1912 END
1913
1914/* Remove any record in the deletes table if this key was inserted back in */
1915 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
1916 (SELECT department+category+item FROM Inserted WHERE department+category+item NOT IN (SELECT department+category+item FROM Deleted))
1917
1918GO
1919
1920DROP TRIGGER gst_actv_last_mod_D
1921GO
1922CREATE TRIGGER [dbo].[gst_actv_last_mod_D] ON [dbo].[gst_actv]
1923FOR DELETE
1924AS
1925DECLARE @cTableName varchar(8)
1926
1927SET NOCOUNT ON
1928SET @cTableName = 'gst_actv'
1929IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1930
1931/* Add a record to the deletes table for DELETEs */
1932 BEGIN TRANSACTION
1933 INSERT INTO deletes (tablename, key_val)
1934 SELECT @cTableName AS tablename, CAST(activ_id AS varchar(60)) AS key_val FROM Deleted
1935 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
1936 IF @@ERROR != 0
1937 BEGIN
1938 RAISERROR('Cannot update the DELETES value.',16,1)
1939 ROLLBACK TRANSACTION
1940 RETURN
1941 END
1942 COMMIT TRANSACTION
1943
1944GO
1945
1946DROP TRIGGER gst_actv_last_mod_IU
1947GO
1948CREATE TRIGGER [dbo].[gst_actv_last_mod_IU] ON [dbo].[gst_actv]
1949FOR INSERT, UPDATE
1950AS
1951DECLARE @CountIns int,
1952 @cTableName varchar(10),
1953 @nKeyVal int
1954
1955SET NOCOUNT ON
1956SET @cTableName = 'gst_actv'
1957SELECT @CountIns = COUNT(*) FROM Inserted
1958IF @CountIns = 0 RETURN;
1959
1960/* Update the last_mod for INSERTs and UPDATEs */
1961 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
1962 IF @nKeyVal IS NULL
1963 BEGIN
1964 SET @nKeyVal = 1
1965 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
1966 END
1967
1968 UPDATE updates SET gst_actv = @nKeyVal + @CountIns - 1
1969 IF @@ERROR != 0
1970 BEGIN
1971 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1972 RETURN
1973 END
1974
1975 SET @nKeyVal = @nKeyVal - 1
1976 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM gst_actv a JOIN inserted i ON a.activ_id = i.activ_id
1977 IF @@ERROR != 0
1978 BEGIN
1979 RAISERROR('Cannot update the LAST_MOD value.',16,1)
1980 RETURN
1981 END
1982
1983GO
1984
1985DROP TRIGGER gst_atmp_last_mod_D
1986GO
1987CREATE TRIGGER [dbo].[gst_atmp_last_mod_D] ON [dbo].[gst_atmp]
1988FOR DELETE
1989AS
1990DECLARE @cTableName varchar(8)
1991
1992SET NOCOUNT ON
1993SET @cTableName = 'gst_atmp'
1994IF NOT EXISTS (SELECT * FROM deleted) RETURN;
1995
1996/* Add a record to the deletes table for DELETEs */
1997 BEGIN TRANSACTION
1998 INSERT INTO deletes (tablename, key_val)
1999 SELECT @cTableName AS tablename, CAST(tmpl_id AS varchar(60)) AS key_val FROM Deleted
2000 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
2001 IF @@ERROR != 0
2002 BEGIN
2003 RAISERROR('Cannot update the DELETES value.',16,1)
2004 ROLLBACK TRANSACTION
2005 RETURN
2006 END
2007 COMMIT TRANSACTION
2008
2009
2010GO
2011
2012DROP TRIGGER gst_atmp_last_mod_IU
2013GO
2014CREATE TRIGGER [dbo].[gst_atmp_last_mod_IU] ON [dbo].[gst_atmp]
2015FOR INSERT, UPDATE
2016AS
2017DECLARE @CountIns int,
2018 @cTableName varchar(10),
2019 @nKeyVal int
2020
2021SET NOCOUNT ON
2022SET @cTableName = 'gst_atmp'
2023SELECT @CountIns = COUNT(*) FROM Inserted
2024IF @CountIns = 0 RETURN;
2025
2026/* Update the last_mod for INSERTs and UPDATEs */
2027 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
2028 IF @nKeyVal IS NULL
2029 BEGIN
2030 SET @nKeyVal = 1
2031 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
2032 END
2033
2034 UPDATE updates SET gst_atmp = @nKeyVal + @CountIns - 1
2035 IF @@ERROR != 0
2036 BEGIN
2037 RAISERROR('Cannot update the LAST_MOD value.',16,1)
2038 RETURN
2039 END
2040
2041 SET @nKeyVal = @nKeyVal - 1
2042 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM gst_atmp a JOIN inserted i ON a.tmpl_id = i.tmpl_id
2043 IF @@ERROR != 0
2044 BEGIN
2045 RAISERROR('Cannot update the LAST_MOD value.',16,1)
2046 RETURN
2047 END
2048
2049GO
2050
2051DROP TRIGGER gst_book_CreateLog_IU
2052GO
2053CREATE TRIGGER [dbo].[gst_book_CreateLog_IU] ON [dbo].[gst_book]
2054FOR INSERT, UPDATE
2055AS
2056DECLARE @CountIns int,
2057 @cTableName varchar(10),
2058 @nKeyVal int
2059
2060SET NOCOUNT ON
2061SET @cTableName = 'gst_book'
2062SELECT @CountIns = COUNT(*) FROM Inserted
2063
2064return ; -- Disabled post processing below this point. Reverted back to post processing in middleware.
2065
2066/* Create the gst_actv log records for "Modify Booking Prefs". */
2067declare @CountDel int,
2068 @xmlInserted varchar(max),
2069 @xmlDeleted varchar(max),
2070 @xmlChanges varchar(max),
2071 @xmlChangeAppend varchar(max),
2072 @xmlCurrentState varchar(max),
2073 @cSQL varchar(8000),
2074 @Activ_id numeric(17,0),
2075 @Site_no int,
2076 @Guest_no numeric(17,0),
2077 @operator char(6),
2078 @salespoint char(6),
2079 @mod_op char(6),
2080 @mod_sp char(6),
2081 @cGuest_no varchar(16),
2082 @Activ_type int,
2083 @Tag_line varchar(80),
2084 @Date_time datetime,
2085 @Op char(6),
2086 @Sp char(6),
2087 @CRLF char(2),
2088 @TAB char(1),
2089 @PriorActiv_id numeric(17,0),
2090 @PriorChangeDT datetime,
2091 @PriorChanged varchar(max) ;
2092
2093
2094set @CRLF = char(13) + char(10) ;
2095set @TAB = char(9) ;
2096
2097select @CountDel = COUNT(*) from Deleted ;
2098if @CountIns <> 1 return ; -- make a log entry only when updating a single row, not bulk operations.
2099
2100set @xmlInserted = (select top 1 g.*
2101 from gst_book g
2102 join Inserted i on i.guest_no = g.guest_no
2103 for xml path(''), elements absent) ;
2104if @CountDel = 0
2105 -- inserting a row, no <Changes> tag to build
2106 set @xmlChanges = '' ;
2107else
2108 begin
2109 -- Must manually select specific columns instead of "*" because text/image columns not available in Deleted cursor
2110 set @xmlDeleted = (select top 1 guest_no, prefers, sex, tch_level, snb_level, tele_level, misc_level, whichlevel, criteria1,
2111 criteria2, criteria3, criteria4, criteria5, criteria6, criteria7, experience, pref_lvl1,
2112 pref_lvl2, pref_lvl3, pref_lvl4, pref_lvl5, pref_lvl6, pref_lvl7, pref_lvl8, pref_lvl9,
2113 pref_lvl10, pref_lvl12, lsn_locatn, operator, salespoint, date_time, reqststate, base_id,
2114 pref_lvl11, mod_op, mod_sp
2115 from Deleted
2116 for xml path(''), elements absent) ;
2117
2118 -- Inspect the text/image columns and add to the "changes to append" variable
2119 set @xmlChangeAppend = ''
2120
2121 set @xmlChanges = dbo.siriusfn_LogChangesToXML(@xmlInserted, @xmlDeleted, @xmlChangeAppend, 'gst_book') ;
2122 end
2123set @xmlCurrentState = dbo.siriusfn_LogCurrentStateToXML(@xmlInserted, 'gst_book') ;
2124
2125select top 1 @Guest_no = i.guest_no,
2126 @operator = i.operator,
2127 @salespoint = i.salespoint,
2128 @mod_op = i.mod_op,
2129 @mod_sp = i.mod_sp
2130from Inserted i ;
2131
2132set @Activ_type = 20 ;
2133set @Tag_line = 'Modify Booking Prefs' ;
2134set @cGuest_no = rtrim(cast(@Guest_no as char(16))) ;
2135set @Op = case when datalength(rtrim(@mod_op)) > 0 then @mod_op else @operator end ;
2136set @Sp = case when datalength(rtrim(@mod_sp)) > 0 then @mod_sp else @salespoint end ;
2137set @Date_time = getdate() ;
2138
2139-- If there is already a Modify log record for this guest at this location in the last 5 seconds, update that log entry instead
2140set @PriorActiv_id = 0
2141set @PriorChanged = ''
2142if @Activ_type = 20
2143begin
2144 select top 1 @PriorActiv_id = lf.activ_id,
2145 @PriorChangeDT = lf.date_time,
2146 @PriorChanged = dbo.siriusfn_Parse('gst_book', dbo.siriusfn_Parse('Changed', lf.details))
2147 FROM gst_actv lf
2148 WHERE lf.guest_no = @Guest_no and
2149 lf.ref_no = @cGuest_no and
2150 lf.activ_type = @Activ_type and
2151 lf.Person = @Op and
2152 lf.Location = @Sp and
2153 datediff(second, COALESCE(lf.date_time, '20100101'), @Date_time) < 5 -- last entry within the last 5 seconds
2154 ORDER BY lf.date_time desc ;
2155end
2156
2157if coalesce(@PriorActiv_id, 0) > 0
2158begin
2159 set @xmlChanges = '<Changed> ' + @CRLF + @TAB + '<gst_book>' + @CRLF +
2160 dbo.siriusfn_Parse('gst_book', dbo.siriusfn_Parse('Changed', @xmlChanges)) +
2161 coalesce(@PriorChanged, '') + @TAB + '</gst_book>' + @CRLF + '</Changed>' + @CRLF + @CRLF ;
2162 set @xmlCurrentState = @xmlChanges + @xmlCurrentState ;
2163 update gst_actv set details = @xmlCurrentState, tag_line = @Tag_line where activ_id = @PriorActiv_id ;
2164end
2165else
2166begin
2167 select top 1 @Site_no = site_no from prefs ;
2168 execute dbo.siriussp_get_unique_key2 'K_GST_ACTV' , @NumberOut = @Activ_id output;
2169 if @Activ_id = 0
2170 begin
2171 raiserror('Cannot fetch a new activity log primary key value.',16,1) ;
2172 return ;
2173 end
2174 set @Activ_id = @Activ_id * 1000000 + @Site_no ;
2175
2176 set @xmlCurrentState = @xmlChanges + @xmlCurrentState ;
2177 execute dbo.siriussp_CreateGuestActivityRecord
2178 @ActivID = @Activ_id ,
2179 @GuestNo = @Guest_no ,
2180 @SiteNo = @Site_no ,
2181 @ActivType = @Activ_type ,
2182 @TagLine = @Tag_line ,
2183 @RefNo = @cGuest_no ,
2184 @Details = @xmlCurrentState ,
2185 @Dt = @Date_time ,
2186 @Person = @Op ,
2187 @Location = @Sp ;
2188end
2189GO
2190
2191DROP TRIGGER gst_jrnl_last_mod_D
2192GO
2193CREATE TRIGGER [dbo].[gst_jrnl_last_mod_D] ON [dbo].[gst_jrnl]
2194FOR DELETE
2195AS
2196DECLARE @cTableName varchar(8)
2197
2198SET NOCOUNT ON
2199SET @cTableName = 'gst_jrnl'
2200IF NOT EXISTS (SELECT * FROM deleted) RETURN;
2201
2202/* Add a record to the deletes table for DELETEs */
2203 BEGIN TRANSACTION
2204 INSERT INTO deletes (tablename, key_val)
2205 SELECT @cTableName AS tablename, CAST(journl_id AS varchar(60)) AS key_val FROM Deleted
2206 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
2207 IF @@ERROR != 0
2208 BEGIN
2209 RAISERROR('Cannot update the DELETES value.',16,1)
2210 ROLLBACK TRANSACTION
2211 RETURN
2212 END
2213 COMMIT TRANSACTION
2214
2215GO
2216
2217DROP TRIGGER gst_jrnl_last_mod_IU
2218GO
2219CREATE TRIGGER [dbo].[gst_jrnl_last_mod_IU] ON [dbo].[gst_jrnl]
2220FOR INSERT, UPDATE
2221AS
2222DECLARE @CountIns int,
2223 @cTableName varchar(10),
2224 @nKeyVal int
2225
2226SET NOCOUNT ON
2227SET @cTableName = 'gst_jrnl'
2228SELECT @CountIns = COUNT(*) FROM Inserted
2229IF @CountIns = 0 RETURN;
2230
2231/* Update the last_mod for INSERTs and UPDATEs */
2232 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
2233 IF @nKeyVal IS NULL
2234 BEGIN
2235 SET @nKeyVal = 1
2236 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
2237 END
2238
2239 UPDATE updates SET gst_jrnl = @nKeyVal + @CountIns - 1
2240 IF @@ERROR != 0
2241 BEGIN
2242 RAISERROR('Cannot update the LAST_MOD value.',16,1)
2243 RETURN
2244 END
2245
2246 SET @nKeyVal = @nKeyVal - 1
2247 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM gst_jrnl a JOIN inserted i ON a.journl_id = i.journl_id
2248 IF @@ERROR != 0
2249 BEGIN
2250 RAISERROR('Cannot update the LAST_MOD value.',16,1)
2251 RETURN
2252 END
2253
2254GO
2255
2256DROP TRIGGER gst_pass_last_mod_D
2257GO
2258CREATE TRIGGER [dbo].[gst_pass_last_mod_D] ON [dbo].[gst_pass]
2259FOR DELETE
2260AS
2261DECLARE @cTableName varchar(8)
2262
2263SET NOCOUNT ON
2264SET @cTableName = 'gst_pass'
2265IF NOT EXISTS (SELECT * FROM deleted) RETURN;
2266
2267/* Add a record to the deletes table for DELETEs */
2268 BEGIN TRANSACTION
2269 INSERT INTO deletes (tablename, key_val)
2270 SELECT @cTableName AS tablename, CAST(pass_no AS varchar(60)) AS key_val FROM Deleted
2271 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
2272 IF @@ERROR != 0
2273 BEGIN
2274 RAISERROR('Cannot update the DELETES value.',16,1)
2275 ROLLBACK TRANSACTION
2276 RETURN
2277 END
2278 COMMIT TRANSACTION
2279
2280GO
2281
2282DROP TRIGGER gst_pass_last_mod_IU
2283GO
2284CREATE TRIGGER [dbo].[gst_pass_last_mod_IU] ON [dbo].[gst_pass]
2285FOR INSERT, UPDATE
2286AS
2287DECLARE @CountIns int,
2288 @cTableName varchar(10),
2289 @nKeyVal int
2290
2291SET NOCOUNT ON
2292SET @cTableName = 'gst_pass'
2293SELECT @CountIns = COUNT(*) FROM Inserted
2294IF @CountIns = 0 RETURN;
2295
2296/* Update the last_mod for INSERTs and UPDATEs */
2297 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
2298 IF @nKeyVal IS NULL
2299 BEGIN
2300 SET @nKeyVal = 1
2301 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
2302 END
2303
2304 UPDATE updates SET gst_pass = @nKeyVal + @CountIns - 1
2305 IF @@ERROR != 0
2306 BEGIN
2307 RAISERROR('Cannot update the LAST_MOD value.',16,1)
2308 RETURN
2309 END
2310
2311 SET @nKeyVal = @nKeyVal - 1
2312 UPDATE gp
2313 SET @nKeyVal = last_mod = @nKeyVal + 1
2314 FROM gst_pass gp JOIN inserted i ON gp.pass_no = i.pass_no
2315 IF @@ERROR != 0
2316 BEGIN
2317 RAISERROR('Cannot update the LAST_MOD value.',16,1)
2318 RETURN
2319 END
2320
2321 UPDATE gp
2322 SET gp.importpass = 'SPAS' + RTRIM(CAST(i.pass_no AS varchar(16)))
2323 FROM gst_pass gp
2324 JOIN inserted i ON gp.pass_no = i.pass_no
2325 WHERE i.importpass IS NULL
2326 OR LEN(i.importpass) = 0 ;
2327
2328 UPDATE gp
2329 SET gp.cstrt_date = i.start_date
2330 FROM gst_pass gp
2331 JOIN inserted i ON gp.pass_no = i.pass_no
2332 WHERE i.cstrt_date IS NULL and i.start_date IS NOT NULL ;
2333
2334return ; -- Disabled post processing below this point. Reverted back to post processing in middleware.
2335
2336/* ---------- Create the gst_actv log records for "New" and "Modify" guest. -------------- */
2337declare @CountDel int,
2338 @xmlInserted varchar(max),
2339 @xmlDeleted varchar(max),
2340 @xmlChanges varchar(max),
2341 @xmlChangeAppend varchar(max),
2342 @xmlCurrentState varchar(max),
2343 @cSQL varchar(8000),
2344 @Activ_id numeric(17,0),
2345 @Site_no int,
2346 @guest_no numeric(17,0),
2347 @pass_no numeric(17,0),
2348 @department char(10),
2349 @category char(10),
2350 @item char(10),
2351 @operator char(6),
2352 @salespoint char(6),
2353 @mod_op char(6),
2354 @mod_sp char(6),
2355 @cPass_no varchar(16),
2356 @Activ_type int,
2357 @Tag_line varchar(80),
2358 @Date_time datetime,
2359 @Op char(6),
2360 @Sp char(6),
2361 @CRLF char(2),
2362 @TAB char(1),
2363 @PriorActiv_id numeric(17,0),
2364 @PriorChangeDT datetime,
2365 @PriorChanged varchar(max),
2366 @swipe_no varchar(22),
2367 @trans_no numeric(17,0),
2368 @points1 int,
2369 @points2 int,
2370 @amt_paid money,
2371 @voided_for varchar(15),
2372 @voided_by varchar(6) ;
2373
2374set @CRLF = char(13) + char(10) ;
2375set @TAB = char(9) ;
2376
2377select @CountDel = COUNT(*) from Deleted ;
2378if @CountIns <> 1 return ; -- make a log entry only when creating or updating a single row, not bulk operations.
2379
2380set @xmlInserted = (select top 1 g.*
2381 from gst_pass g
2382 join Inserted i on i.pass_no = g.pass_no
2383 for xml path(''), elements absent) ;
2384if @CountDel = 0
2385 -- inserting a row, no <Changes> tag to build
2386 set @xmlChanges = '' ;
2387else
2388 begin
2389 -- Must manually select specific columns instead of "*" because text/image columns not available in Deleted cursor
2390 set @xmlDeleted = (select top 1 pass_no, guest_no, masterpass, swipe_no, addit_no, wtp_no, rfserial, additchar1, additchar2,
2391 addit_no2, addit_no3, val_parent, valprnttyp, last_use, printcount, start_date, expires,
2392 validcount, dis_count, total_uses, usesw_left, week_refr, usest_left, day_refr, points1, points2,
2393 money1, money2, blackout_s, blackout_e, warnings, voided_for, voided_by, shift_ends, trans_no,
2394 mastertran, department, category, item, amt_paid, account, operator, salespoint, date_time, totalcomp,
2395 invoice_no, crlimit, crlimit_dy, dw_active, splimit, splimit_dy, last_mod, card_id, bl_reason,
2396 importpass, level_chg, purch_chg, a_autodep1, a_autocat1, a_autoitm1, a_maxqty1, a_trklqty1, a_autodep2,
2397 a_autocat2, a_autoitm2, a_maxqty2, a_trklqty2, a_autodep3, a_autocat3, a_autoitm3, a_maxqty3, a_trklqty3,
2398 a_autodep4, a_autocat4, a_autoitm4, a_maxqty4, a_trklqty4, a_autodep5, a_autocat5, a_autoitm5, a_maxqty5,
2399 a_trklqty5, a_autodep6, a_autocat6, a_autoitm6, a_maxqty6, a_trklqty6, mod_op, mod_sp
2400 from Deleted
2401 for xml path(''), elements absent) ;
2402
2403 -- Inspect the text/image columns and add to the "changes to append" variable
2404 set @xmlChangeAppend = ''
2405 if update (a_names)
2406 set @xmlChangeAppend = @xmlChangeAppend + @TAB + @TAB + '<a_names>(Not available)</a_names>' + @CRLF ;
2407
2408 set @xmlChanges = dbo.siriusfn_LogChangesToXML(@xmlInserted, @xmlDeleted, @xmlChangeAppend, 'gst_pass') ;
2409 end
2410set @xmlCurrentState = dbo.siriusfn_LogCurrentStateToXML(@xmlInserted, 'gst_pass') ;
2411
2412select top 1 @pass_no = i.pass_no,
2413 @guest_no = i.guest_no,
2414 @department = i.department,
2415 @category = i.category,
2416 @item = i.item,
2417 @operator = i.operator,
2418 @salespoint = i.salespoint,
2419 @mod_op = i.mod_op,
2420 @mod_sp = i.mod_sp,
2421 @swipe_no = i.swipe_no,
2422 @trans_no = i.trans_no,
2423 @points1 = i.points1,
2424 @points2 = i.points2,
2425 @amt_paid = i.amt_paid,
2426 @voided_for = i.voided_for,
2427 @voided_by = i.voided_by
2428from Inserted i ;
2429
2430set @Activ_type = case when @CountDel = 0 then 100 else 101 end ;
2431set @cPass_no = rtrim(cast(@pass_no as char(16))) ;
2432set @Tag_line = case when @CountDel = 0 then 'New ' else 'Modify ' end + 'Pass #' + rtrim(@cPass_no) + ' ' +
2433 rtrim(@department) + ' ' + rtrim(@category) + ' ' + rtrim(@item);
2434set @Op = case when datalength(rtrim(@mod_op)) > 0 then @mod_op else @operator end ;
2435set @Sp = case when datalength(rtrim(@mod_sp)) > 0 then @mod_sp else @salespoint end ;
2436set @Date_time = getdate() ;
2437
2438-- If there is already a Modify log record for this guest at this location in the last 5 seconds, update that log entry instead
2439set @PriorActiv_id = 0
2440set @PriorChanged = ''
2441if @Activ_type = 101
2442begin
2443 select top 1 @PriorActiv_id = lf.activ_id,
2444 @PriorChangeDT = lf.date_time,
2445 @PriorChanged = dbo.siriusfn_Parse('gst_pass', dbo.siriusfn_Parse('Changed', lf.details))
2446 FROM gst_actv lf
2447 WHERE lf.guest_no = @guest_no and
2448 lf.ref_no = @cPass_no and
2449 lf.activ_type = @Activ_type and
2450 lf.Person = @Op and
2451 lf.Location = @Sp and
2452 datediff(second, COALESCE(lf.date_time, '20100101'), @Date_time) < 5 -- last entry within the last 5 seconds
2453 ORDER BY lf.date_time desc ;
2454end
2455
2456if coalesce(@PriorActiv_id, 0) > 0
2457begin
2458 set @xmlChanges = '<Changed> ' + @CRLF + @TAB + '<gst_pass>' + @CRLF +
2459 dbo.siriusfn_Parse('gst_pass', dbo.siriusfn_Parse('Changed', @xmlChanges)) +
2460 coalesce(@PriorChanged, '') + @TAB + '</gst_pass>' + @CRLF + '</Changed>' + @CRLF + @CRLF ;
2461 set @xmlCurrentState = @xmlChanges + @xmlCurrentState ;
2462 update gst_actv set details = @xmlCurrentState, tag_line = @Tag_line where activ_id = @PriorActiv_id ;
2463end
2464else
2465begin
2466 select top 1 @Site_no = site_no from prefs ;
2467 execute dbo.siriussp_get_unique_key2 'K_GST_ACTV' , @NumberOut = @Activ_id output;
2468 if @Activ_id = 0
2469 begin
2470 raiserror('Cannot fetch a new activity log primary key value.',16,1) ;
2471 return ;
2472 end
2473 set @Activ_id = @Activ_id * 1000000 + @Site_no ;
2474
2475 set @xmlCurrentState = @xmlChanges + @xmlCurrentState ;
2476 execute dbo.siriussp_CreateGuestActivityRecord
2477 @ActivID = @Activ_id ,
2478 @GuestNo = @guest_no ,
2479 @SiteNo = @Site_no ,
2480 @ActivType = @Activ_type ,
2481 @TagLine = @Tag_line ,
2482 @RefNo = @cPass_no ,
2483 @Details = @xmlCurrentState ,
2484 @Dt = @Date_time ,
2485 @Person = @Op ,
2486 @Location = @Sp ;
2487end
2488
2489/* ------------ Update the links in the gst_card table if necessary ---------- */
2490declare @NewCard_num varchar(19),
2491 @CardCard_num varchar(19),
2492 @CardGuest_no numeric(17,0),
2493 @CardCard_id numeric(17,0)
2494if update(swipe_no) and datalength(rtrim(@swipe_no)) > 0
2495begin
2496 set @NewCard_num = left(dbo.siriusfn_NumbersOnly(@swipe_no), 19) ;
2497 select top 1 @CardCard_id = gc.card_id,
2498 @CardGuest_no = gc.guest_no,
2499 @CardCard_num = gc.card_num
2500 from gst_card gc
2501 where gc.card_num = @NewCard_num ;
2502
2503 if (@CardCard_id > 0 and rtrim(@CardCard_num) = rtrim(@NewCard_num) and @CardGuest_no = @guest_no)
2504 begin
2505 set @cTableName = 'gst_pass' ; -- nothing to do, execute a bogus statement
2506 end
2507 else
2508 begin
2509 if @CardCard_id > 0 and rtrim(@CardCard_num) = rtrim(@NewCard_num) and @CardGuest_no <> @guest_no
2510 begin
2511 -- the card record already exists, but is assigned to another guest, re-assign that cardnum to the this guest
2512 update gst_card set guest_no = @guest_no where card_num = @NewCard_num ;
2513 update gst_pass set card_id = 0, swipe_no='' where swipe_no = @NewCard_num and guest_no = @CardGuest_no ;
2514 update gst_pass set card_id = @CardCard_id where pass_no = @pass_no ;
2515 end
2516 else
2517 begin
2518 -- no cardnum link exists, create a new gst_card record
2519 select top 1 @Site_no = site_no from prefs ;
2520 execute dbo.siriussp_get_unique_key2 'K_GST_CARD' , @NumberOut = @CardCard_id output;
2521 if @CardCard_id = 0
2522 begin
2523 raiserror('Cannot fetch a new gst_card primary key value.',16,1) ;
2524 return ;
2525 end
2526 set @CardCard_id = @CardCard_id * 1000000 + @Site_no ;
2527 insert into gst_card (card_id, guest_no, card_num, date_time, person, location) values
2528 (@CardCard_id, @guest_no, @NewCard_num, getdate(), @Op, @Sp) ;
2529
2530 update gst_pass set card_id = @CardCard_id where pass_no = @pass_no ;
2531 end
2532 end
2533end
2534
2535
2536/* ---------------- On an insert, seed the unitvalu table with starting values if necessary ------------- */
2537declare @t_uvalue1 bit,
2538 @t_uvalue2 bit,
2539 @UV_id numeric(17,0),
2540 @unit_value money ;
2541if @CountDel = 0
2542begin
2543 select top 1 @t_uvalue1 = t_uvalue1,
2544 @t_uvalue2 = t_uvalue2
2545 from template
2546 where department = @department and category = @category and item = @item ;
2547
2548 if @t_uvalue1 = 1
2549 begin
2550 select top 1 @Site_no = site_no from prefs ;
2551 execute dbo.siriussp_get_unique_key2 'K_UNITVALU' , @NumberOut = @UV_id output;
2552 if @UV_id = 0
2553 begin
2554 raiserror('Cannot fetch a new unitvalu primary key value.',16,1) ;
2555 return ;
2556 end
2557 set @UV_id = @UV_id * 1000000 + @Site_no ;
2558
2559 if @points1 = 0
2560 set @unit_value = 0 ;
2561 else
2562 set @unit_value = round(@amt_paid / @points1, 4) ;
2563
2564 insert into unitvalu (uv_id, pass_no, trans_no, oneortwo, units, unit_bal, amount, unit_value, operator, salespoint, date_time) values
2565 (@UV_id, @pass_no, @trans_no, 1, @points1, @points1, @amt_paid, @unit_value, @Op, @Sp, getdate()) ;
2566 end
2567
2568 if @t_uvalue2 = 1
2569 begin
2570 select top 1 @Site_no = site_no from prefs ;
2571 execute dbo.siriussp_get_unique_key2 'K_UNITVALU' , @NumberOut = @UV_id output;
2572 if @UV_id = 0
2573 begin
2574 raiserror('Cannot fetch a new unitvalu primary key value.',16,1) ;
2575 return ;
2576 end
2577 set @UV_id = @UV_id * 1000000 + @Site_no ;
2578
2579 if @points2 = 0
2580 set @unit_value = 0 ;
2581 else
2582 set @unit_value = round(@amt_paid / @points2, 4) ;
2583
2584 insert into unitvalu (uv_id, pass_no, trans_no, oneortwo, units, unit_bal, amount, unit_value, operator, salespoint, date_time) values
2585 (@UV_id, @pass_no, @trans_no, 2, @points2, @points2, @amt_paid, @unit_value, @Op, @Sp, getdate()) ;
2586 end
2587
2588end
2589
2590/* ------------ On an update, have to void pass seats if this pass is voided ---------- */
2591if (update(voided_for) or update(voided_by)) and (datalength(rtrim(@voided_for)) > 0 or datalength(rtrim(@voided_by)) > 0)
2592begin
2593 execute dbo.siriussp_rsVoidPassSeats
2594 @pass_no = @pass_no ,
2595 @Salespoint = @Sp,
2596 @Operator = @Op
2597end
2598GO
2599
2600DROP TRIGGER gst_rent_last_mod_D
2601GO
2602CREATE TRIGGER [dbo].[gst_rent_last_mod_D] ON [dbo].[gst_rent]
2603FOR DELETE
2604AS
2605DECLARE @cTableName varchar(8)
2606
2607SET NOCOUNT ON
2608SET @cTableName = 'gst_rent'
2609IF NOT EXISTS (SELECT * FROM deleted) RETURN;
2610
2611/* Add a record to the deletes table for DELETEs */
2612 BEGIN TRANSACTION
2613 INSERT INTO deletes (tablename, key_val)
2614 SELECT @cTableName AS tablename, CAST(guest_no AS varchar(60)) AS key_val FROM Deleted
2615 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
2616 IF @@ERROR != 0
2617 BEGIN
2618 RAISERROR('Cannot update the DELETES value.',16,1)
2619 ROLLBACK TRANSACTION
2620 RETURN
2621 END
2622 COMMIT TRANSACTION
2623
2624GO
2625
2626DROP TRIGGER gst_rent_last_mod_IU
2627GO
2628CREATE TRIGGER [dbo].[gst_rent_last_mod_IU] ON [dbo].[gst_rent]
2629FOR INSERT, UPDATE
2630AS
2631DECLARE @CountIns int,
2632 @cTableName varchar(10),
2633 @nKeyVal int
2634
2635SET NOCOUNT ON
2636SET @cTableName = 'gst_rent'
2637SELECT @CountIns = COUNT(*) FROM Inserted
2638IF @CountIns = 0 RETURN;
2639
2640/* Update the last_mod for INSERTs and UPDATEs */
2641 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
2642 IF @nKeyVal IS NULL
2643 BEGIN
2644 SET @nKeyVal = 1
2645 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
2646 END
2647
2648 UPDATE updates SET gst_rent = @nKeyVal + @CountIns - 1
2649 IF @@ERROR != 0
2650 BEGIN
2651 RAISERROR('Cannot update the LAST_MOD value.',16,1)
2652 RETURN
2653 END
2654
2655 SET @nKeyVal = @nKeyVal - 1
2656 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM gst_rent a JOIN inserted i ON a.guest_no = i.guest_no
2657 IF @@ERROR != 0
2658 BEGIN
2659 RAISERROR('Cannot update the LAST_MOD value.',16,1)
2660 RETURN
2661 END
2662
2663return ; -- Disabled post processing below this point. Reverted back to post processing in middleware.
2664
2665/* Create the gst_actv log records for "Modify Rental Prefs". */
2666declare @CountDel int,
2667 @xmlInserted varchar(max),
2668 @xmlDeleted varchar(max),
2669 @xmlChanges varchar(max),
2670 @xmlChangeAppend varchar(max),
2671 @xmlCurrentState varchar(max),
2672 @cSQL varchar(8000),
2673 @Activ_id numeric(17,0),
2674 @Site_no int,
2675 @Guest_no numeric(17,0),
2676 @first_name varchar(15),
2677 @last_name varchar(20),
2678 @operator char(6),
2679 @salespoint char(6),
2680 @mod_op char(6),
2681 @mod_sp char(6),
2682 @cGuest_no varchar(16),
2683 @Activ_type int,
2684 @Tag_line varchar(80),
2685 @Date_time datetime,
2686 @Op char(6),
2687 @Sp char(6),
2688 @CRLF char(2),
2689 @TAB char(1),
2690 @PriorActiv_id numeric(17,0),
2691 @PriorChangeDT datetime,
2692 @PriorChanged varchar(max) ;
2693
2694
2695set @CRLF = char(13) + char(10) ;
2696set @TAB = char(9) ;
2697
2698select @CountDel = COUNT(*) from Deleted ;
2699if @CountIns <> 1 return ; -- make a log entry only when updating a single row, not bulk operations.
2700
2701set @xmlInserted = (select top 1 g.*
2702 from gst_rent g
2703 join Inserted i on i.guest_no = g.guest_no
2704 for xml path(''), elements absent) ;
2705if @CountDel = 0
2706 -- inserting a row, no <Changes> tag to build
2707 set @xmlChanges = '' ;
2708else
2709 begin
2710 -- Must manually select specific columns instead of "*" because text/image columns not available in Deleted cursor
2711 set @xmlDeleted = (select top 1 guest_no, height, weight, height_m, weight_m, shoesize, shoewidth, type_skier, size_1,
2712 size_2, size_3, size_4, size_5, size_6, level_1, level_2, level_3, level_4, level_5,
2713 level_6, type_1, type_2, type_3, type_4, type_5, type_6, rentblock, stance, stnceangle,
2714 operator, salespoint, date_time, last_mod, stangle_r, stangle_l, last_use, mod_op, mod_sp
2715 from Deleted
2716 for xml path(''), elements absent) ;
2717
2718 -- Inspect the text/image columns and add to the "changes to append" variable
2719 set @xmlChangeAppend = ''
2720 if update (message)
2721 set @xmlChangeAppend = @xmlChangeAppend + @TAB + @TAB + '<message>(Not available)</message>' + @CRLF ;
2722 if update (notes)
2723 set @xmlChangeAppend = @xmlChangeAppend + @TAB + @TAB + '<notes>(Not available)</notes>' + @CRLF ;
2724
2725 set @xmlChanges = dbo.siriusfn_LogChangesToXML(@xmlInserted, @xmlDeleted, @xmlChangeAppend, 'gst_rent') ;
2726 end
2727set @xmlCurrentState = dbo.siriusfn_LogCurrentStateToXML(@xmlInserted, 'gst_rent') ;
2728
2729select top 1 @Guest_no = i.guest_no,
2730 @operator = i.operator,
2731 @salespoint = i.salespoint,
2732 @mod_op = i.mod_op,
2733 @mod_sp = i.mod_sp
2734from Inserted i ;
2735
2736set @Activ_type = 30 ;
2737set @Tag_line = 'Modify Rental Prefs' ;
2738set @cGuest_no = rtrim(cast(@Guest_no as char(16))) ;
2739set @Op = case when datalength(rtrim(@mod_op)) > 0 then @mod_op else @operator end ;
2740set @Sp = case when datalength(rtrim(@mod_sp)) > 0 then @mod_sp else @salespoint end ;
2741set @Date_time = getdate() ;
2742
2743-- If there is already a Modify log record for this guest at this location in the last 5 seconds, update that log entry instead
2744set @PriorActiv_id = 0
2745set @PriorChanged = ''
2746if @Activ_type = 30
2747begin
2748 select top 1 @PriorActiv_id = lf.activ_id,
2749 @PriorChangeDT = lf.date_time,
2750 @PriorChanged = dbo.siriusfn_Parse('gst_rent', dbo.siriusfn_Parse('Changed', lf.details))
2751 FROM gst_actv lf
2752 WHERE lf.guest_no = @Guest_no and
2753 lf.ref_no = @cGuest_no and
2754 lf.activ_type = @Activ_type and
2755 lf.Person = @Op and
2756 lf.Location = @Sp and
2757 datediff(second, COALESCE(lf.date_time, '20100101'), @Date_time) < 5 -- last entry within the last 5 seconds
2758 ORDER BY lf.date_time desc ;
2759end
2760
2761if coalesce(@PriorActiv_id, 0) > 0
2762begin
2763 set @xmlChanges = '<Changed> ' + @CRLF + @TAB + '<gst_rent>' + @CRLF +
2764 dbo.siriusfn_Parse('gst_rent', dbo.siriusfn_Parse('Changed', @xmlChanges)) +
2765 coalesce(@PriorChanged, '') + @TAB + '</gst_rent>' + @CRLF + '</Changed>' + @CRLF + @CRLF ;
2766 set @xmlCurrentState = @xmlChanges + @xmlCurrentState ;
2767 update gst_actv set details = @xmlCurrentState, tag_line = @Tag_line where activ_id = @PriorActiv_id ;
2768end
2769else
2770begin
2771 select top 1 @Site_no = site_no from prefs ;
2772 execute dbo.siriussp_get_unique_key2 'K_GST_ACTV' , @NumberOut = @Activ_id output;
2773 if @Activ_id = 0
2774 begin
2775 raiserror('Cannot fetch a new activity log primary key value.',16,1) ;
2776 return ;
2777 end
2778 set @Activ_id = @Activ_id * 1000000 + @Site_no ;
2779
2780 set @xmlCurrentState = @xmlChanges + @xmlCurrentState ;
2781 execute dbo.siriussp_CreateGuestActivityRecord
2782 @ActivID = @Activ_id ,
2783 @GuestNo = @Guest_no ,
2784 @SiteNo = @Site_no ,
2785 @ActivType = @Activ_type ,
2786 @TagLine = @Tag_line ,
2787 @RefNo = @cGuest_no ,
2788 @Details = @xmlCurrentState ,
2789 @Dt = @Date_time ,
2790 @Person = @Op ,
2791 @Location = @Sp ;
2792end
2793GO
2794
2795DROP TRIGGER gst_rltn_last_mod_D
2796GO
2797CREATE TRIGGER [dbo].[gst_rltn_last_mod_D] ON [dbo].[gst_rltn]
2798FOR DELETE
2799AS
2800DECLARE @cTableName varchar(8)
2801
2802SET NOCOUNT ON
2803SET @cTableName = 'gst_rltn'
2804IF NOT EXISTS (SELECT * FROM deleted) RETURN;
2805
2806/* Add a record to the deletes table for DELETEs */
2807 BEGIN TRANSACTION
2808 INSERT INTO deletes (tablename, key_val)
2809 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
2810 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
2811 IF @@ERROR != 0
2812 BEGIN
2813 RAISERROR('Cannot update the DELETES value.',16,1)
2814 ROLLBACK TRANSACTION
2815 RETURN
2816 END
2817 COMMIT TRANSACTION
2818
2819GO
2820
2821DROP TRIGGER gst_rltn_last_mod_IU
2822GO
2823CREATE TRIGGER [dbo].[gst_rltn_last_mod_IU] ON [dbo].[gst_rltn]
2824FOR INSERT, UPDATE
2825AS
2826DECLARE @CountIns int,
2827 @cTableName varchar(10),
2828 @nKeyVal int
2829
2830SET NOCOUNT ON
2831SET @cTableName = 'gst_rltn'
2832SELECT @CountIns = COUNT(*) FROM Inserted
2833IF @CountIns = 0 RETURN;
2834
2835/* Update the last_mod for INSERTs and UPDATEs */
2836 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
2837 IF @nKeyVal IS NULL
2838 BEGIN
2839 SET @nKeyVal = 1
2840 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
2841 END
2842
2843 UPDATE updates SET gst_rltn = @nKeyVal + @CountIns - 1
2844 IF @@ERROR != 0
2845 BEGIN
2846 RAISERROR('Cannot update the LAST_MOD value.',16,1)
2847 RETURN
2848 END
2849
2850 SET @nKeyVal = @nKeyVal - 1
2851 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM gst_rltn a JOIN inserted i ON a.pri_key = i.pri_key
2852 IF @@ERROR != 0
2853 BEGIN
2854 RAISERROR('Cannot update the LAST_MOD value.',16,1)
2855 RETURN
2856 END
2857
2858GO
2859
2860DROP TRIGGER guests_last_mod_D
2861GO
2862CREATE TRIGGER [dbo].[guests_last_mod_D] ON [dbo].[guests]
2863FOR DELETE
2864AS
2865DECLARE @cTableName varchar(8)
2866
2867SET NOCOUNT ON
2868SET @cTableName = 'guests'
2869IF NOT EXISTS (SELECT * FROM deleted) RETURN;
2870
2871/* Add a record to the deletes table for DELETEs */
2872 BEGIN TRANSACTION
2873 INSERT INTO deletes (tablename, key_val)
2874 SELECT @cTableName AS tablename, CAST(guest_no AS varchar(60)) AS key_val FROM Deleted
2875 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
2876 IF @@ERROR != 0
2877 BEGIN
2878 RAISERROR('Cannot update the DELETES value.',16,1)
2879 ROLLBACK TRANSACTION
2880 RETURN
2881 END
2882 COMMIT TRANSACTION
2883
2884GO
2885
2886DROP TRIGGER guests_last_mod_IU
2887GO
2888CREATE TRIGGER [dbo].[guests_last_mod_IU] ON [dbo].[guests]
2889FOR INSERT, UPDATE
2890AS
2891DECLARE @CountIns int,
2892 @cTableName varchar(10),
2893 @cKeyVal numeric(17,0),
2894 @cweb_user varchar(100),
2895 @nKeyVal int
2896
2897SET NOCOUNT ON
2898SET @cTableName = 'guests'
2899SELECT @CountIns = COUNT(*) FROM Inserted
2900IF @CountIns = 0 RETURN;
2901
2902/* Update the last_mod for INSERTs and UPDATEs */
2903 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
2904 IF @nKeyVal IS NULL
2905 BEGIN
2906 SET @nKeyVal = 1
2907 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
2908 END
2909
2910 UPDATE updates SET guests = @nKeyVal + @CountIns - 1
2911 IF @@ERROR != 0
2912 BEGIN
2913 RAISERROR('Cannot update the LAST_MOD value.',16,1)
2914 RETURN
2915 END
2916 SET @nKeyVal = @nKeyVal - 1
2917 UPDATE g
2918 SET @nKeyVal = last_mod = @nKeyVal + 1
2919 FROM guests g
2920 JOIN inserted i ON g.guest_no = i.guest_no
2921 IF @@ERROR != 0
2922 BEGIN
2923 RAISERROR('Cannot update the LAST_MOD value.',16,1)
2924 RETURN
2925 END
2926
2927 UPDATE g
2928 SET importid = 'SIMP' + RTRIM(CAST(i.guest_no AS varchar(16)))
2929 FROM guests g
2930 JOIN inserted i ON g.guest_no = i.guest_no
2931 WHERE i.importid IS NULL
2932 OR LEN(i.importid) = 0
2933
2934 UPDATE g
2935 SET import2nd = 'S2ND' + RTRIM(CAST(i.guest_no AS varchar(16)))
2936 FROM guests g
2937 JOIN inserted i ON g.guest_no = i.guest_no
2938 WHERE i.import2nd IS NULL
2939 OR LEN(i.import2nd) = 0
2940
2941 UPDATE g
2942 SET importir = 'SIR' + RTRIM(CAST(i.guest_no AS varchar(16)))
2943 FROM guests g
2944 JOIN inserted i ON g.guest_no = i.guest_no
2945 WHERE i.importir IS NULL
2946 OR LEN(i.importir) = 0
2947
2948 UPDATE g
2949 SET importeml = 'SEML' + RTRIM(CAST(i.guest_no AS varchar(16)))
2950 FROM guests g
2951 JOIN inserted i ON g.guest_no = i.guest_no
2952 WHERE i.importeml IS NULL
2953 OR LEN(i.importeml) = 0
2954
2955/* Make sure a non-empty web_user value is unique for INSERTs and UPDATEs (do this only for a single record INSERT/UPDATE such AS FROM SalesEZ) */
2956IF @CountIns = 1
2957 BEGIN
2958 SELECT @cKeyVal = guest_no, @cweb_user = web_user FROM inserted
2959 IF len(@cweb_user) > 0
2960 BEGIN
2961 IF exists (SELECT guest_no FROM guests WHERE web_user = @cweb_user and guest_no <> @cKeyVal)
2962 BEGIN
2963 RAISERROR('The web user name is not unique Guest record not saved.',16,1)
2964 ROLLBACK TRANSACTION
2965 RETURN
2966 END
2967 END
2968 END
2969
2970return ; -- Disabled post processing below this point. Reverted back to post processing in middleware.
2971
2972/* Create the gst_actv log records for "New" and "Modify" guest. */
2973declare @CountDel int,
2974 @xmlInserted varchar(max),
2975 @xmlDeleted varchar(max),
2976 @xmlChanges varchar(max),
2977 @xmlChangeAppend varchar(max),
2978 @xmlCurrentState varchar(max),
2979 @cSQL varchar(8000),
2980 @Activ_id numeric(17,0),
2981 @Site_no int,
2982 @Guest_no numeric(17,0),
2983 @first_name varchar(15),
2984 @last_name varchar(20),
2985 @operator char(6),
2986 @salespoint char(6),
2987 @mod_op char(6),
2988 @mod_sp char(6),
2989 @cGuest_no varchar(16),
2990 @Activ_type int,
2991 @Tag_line varchar(80),
2992 @Date_time datetime,
2993 @Op char(6),
2994 @Sp char(6),
2995 @CRLF char(2),
2996 @TAB char(1),
2997 @PriorActiv_id numeric(17,0),
2998 @PriorChangeDT datetime,
2999 @PriorChanged varchar(max) ;
3000
3001
3002set @CRLF = char(13) + char(10) ;
3003set @TAB = char(9) ;
3004
3005select @CountDel = COUNT(*) from Deleted ;
3006if @CountIns <> 1 return ; -- make a log entry only when creating or updating a single row, not bulk operations.
3007
3008set @xmlInserted = (select top 1 g.*
3009 from guests g
3010 join Inserted i on i.guest_no = g.guest_no
3011 for xml path(''), elements absent) ;
3012if @CountDel = 0
3013 -- inserting a row, no <Changes> tag to build
3014 set @xmlChanges = '' ;
3015else
3016 begin
3017 -- Must manually select specific columns instead of "*" because text/image columns not available in Deleted cursor
3018 set @xmlDeleted = (select top 1 guest_no, parent_no, addit_no, addit_no2, trans_no, guestgroup, salute, first_name, last_name,
3019 mid_name, suffix, e_mail, birth_date, gender, cc_swipe, cc_number, card_id, mug_date, check_bx1,
3020 check_bx2, check_bx3, check_bx4, check_bx5, check_bx6, check_bx7, check_bx8, check_bx9, check_bx10,
3021 check_bx11, check_bx12, check_bx13, check_bx14, check_bx15, number_1, number_2, number_3, number_4,
3022 number_5, text_1, text_2, text_3, text_4, text_5, text_6, text_7, text_8, ltext_1, ltext_2, ltext_3,
3023 ltext_4, ltext_5, date_1, datetime_1, web_user, importid, import2nd, importir, importeml, guest_2nd,
3024 salute2, firstname2, lastname2, midname2, suffix2, salespoint, operator, date_time, last_mod,
3025 gfwdstatus, guest_id, relation, role_no, acct_name, vipcode, height, weight, height_m, weight_m,
3026 no_mail, no_email, no_phone, addr_pref, mod_sp, mod_op
3027 from Deleted
3028 for xml path(''), elements absent) ;
3029
3030 -- Inspect the text/image columns and add to the "changes to append" variable
3031 set @xmlChangeAppend = ''
3032 if update (mug_shot)
3033 set @xmlChangeAppend = @xmlChangeAppend + @TAB + @TAB + '<mug_shot>(Not available)</mug_shot>' + @CRLF ;
3034 if update (e_message)
3035 set @xmlChangeAppend = @xmlChangeAppend + @TAB + @TAB + '<e_message>(Not available)</e_message>' + @CRLF ;
3036 if update (notes)
3037 set @xmlChangeAppend = @xmlChangeAppend + @TAB + @TAB + '<notes>(Not available)</notes>' + @CRLF ;
3038 if update (memo_1)
3039 set @xmlChangeAppend = @xmlChangeAppend + @TAB + @TAB + '<memo_1>(Not available)</memo_1>' + @CRLF ;
3040 if update (memo_2)
3041 set @xmlChangeAppend = @xmlChangeAppend + @TAB + @TAB + '<memo_2>(Not available)</memo_2>' + @CRLF ;
3042 if update (memo_3)
3043 set @xmlChangeAppend = @xmlChangeAppend + @TAB + @TAB + '<memo_3>(Not available)</memo_3>' + @CRLF ;
3044
3045 set @xmlChanges = dbo.siriusfn_LogChangesToXML(@xmlInserted, @xmlDeleted, @xmlChangeAppend, 'guests') ;
3046 end
3047set @xmlCurrentState = dbo.siriusfn_LogCurrentStateToXML(@xmlInserted, 'guests') ;
3048
3049select top 1 @Guest_no = i.guest_no,
3050 @first_name = i.first_name,
3051 @last_name = i.last_name,
3052 @operator = i.operator,
3053 @salespoint = i.salespoint,
3054 @mod_op = i.mod_op,
3055 @mod_sp = i.mod_sp
3056from Inserted i ;
3057
3058set @Activ_type = case when @CountDel = 0 then 1 else 2 end ;
3059set @Tag_line = case when @CountDel = 0 then 'New ' else 'Modify ' end + 'Guest ' + rtrim(@first_name) + ' ' + rtrim(@last_name) ;
3060set @cGuest_no = rtrim(cast(@Guest_no as char(16))) ;
3061set @Op = case when datalength(rtrim(@mod_op)) > 0 then @mod_op else @operator end ;
3062set @Sp = case when datalength(rtrim(@mod_sp)) > 0 then @mod_sp else @salespoint end ;
3063set @Date_time = getdate() ;
3064
3065-- If there is already a Modify log record for this guest at this location in the last 5 seconds, update that log entry instead
3066set @PriorActiv_id = 0
3067set @PriorChanged = ''
3068if @Activ_type = 2
3069begin
3070 select top 1 @PriorActiv_id = lf.activ_id,
3071 @PriorChangeDT = lf.date_time,
3072 @PriorChanged = dbo.siriusfn_Parse('guests', dbo.siriusfn_Parse('Changed', lf.details))
3073 FROM gst_actv lf
3074 WHERE lf.guest_no = @Guest_no and
3075 lf.ref_no = @cGuest_no and
3076 lf.activ_type = @Activ_type and
3077 lf.Person = @Op and
3078 lf.Location = @Sp and
3079 datediff(second, COALESCE(lf.date_time, '20100101'), @Date_time) < 5 -- last entry within the last 5 seconds
3080 ORDER BY lf.date_time desc ;
3081end
3082
3083if coalesce(@PriorActiv_id, 0) > 0
3084begin
3085 set @xmlChanges = '<Changed> ' + @CRLF + @TAB + '<guests>' + @CRLF +
3086 dbo.siriusfn_Parse('guests', dbo.siriusfn_Parse('Changed', @xmlChanges)) +
3087 coalesce(@PriorChanged, '') + @TAB + '</guests>' + @CRLF + '</Changed>' + @CRLF + @CRLF ;
3088 set @xmlCurrentState = @xmlChanges + @xmlCurrentState ;
3089 update gst_actv set details = @xmlCurrentState, tag_line = @Tag_line where activ_id = @PriorActiv_id ;
3090end
3091else
3092begin
3093 select top 1 @Site_no = site_no from prefs ;
3094 execute dbo.siriussp_get_unique_key2 'K_GST_ACTV' , @NumberOut = @Activ_id output;
3095 if @Activ_id = 0
3096 begin
3097 raiserror('Cannot fetch a new activity log primary key value.',16,1) ;
3098 return ;
3099 end
3100 set @Activ_id = @Activ_id * 1000000 + @Site_no ;
3101
3102 set @xmlCurrentState = @xmlChanges + @xmlCurrentState ;
3103 execute dbo.siriussp_CreateGuestActivityRecord
3104 @ActivID = @Activ_id ,
3105 @GuestNo = @Guest_no ,
3106 @SiteNo = @Site_no ,
3107 @ActivType = @Activ_type ,
3108 @TagLine = @Tag_line ,
3109 @RefNo = @cGuest_no ,
3110 @Details = @xmlCurrentState ,
3111 @Dt = @Date_time ,
3112 @Person = @Op ,
3113 @Location = @Sp ;
3114end
3115
3116/* ------------ On an update, cascade change to guest name in other tables ---------- */
3117if @CountDel > 0 and (update(first_name) or update(last_name))
3118begin
3119 declare @oldFirst_name varchar(15),
3120 @oldLast_name varchar(20) ;
3121
3122 select top 1 @oldFirst_name = d.first_name,
3123 @oldLast_name = d.last_name
3124 from Deleted d ;
3125
3126 update resrvatn set first_name = @first_name, last_name = @last_name
3127 where guest_no = @Guest_no and first_name = @oldFirst_name and last_name = @oldLast_name ;
3128
3129 update sh_save set first_name = @first_name, last_name = @last_name
3130 where guest_no = @Guest_no and first_name = @oldFirst_name and last_name = @oldLast_name ;
3131
3132end
3133GO
3134
3135DROP TRIGGER i_items_last_mod_D
3136GO
3137CREATE TRIGGER [dbo].[i_items_last_mod_D] ON [dbo].[i_items]
3138FOR DELETE
3139AS
3140DECLARE @cTableName varchar(8)
3141
3142SET NOCOUNT ON
3143SET @cTableName = 'i_items'
3144IF NOT EXISTS (SELECT * FROM deleted) RETURN;
3145
3146/* Add a record to the deletes table for DELETEs */
3147 BEGIN TRANSACTION
3148 INSERT INTO deletes (tablename, key_val)
3149 SELECT @cTableName AS tablename, CAST(invent_id AS varchar(60)) AS key_val FROM Deleted
3150 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
3151 IF @@ERROR != 0
3152 BEGIN
3153 RAISERROR('Cannot update the DELETES value.',16,1)
3154 ROLLBACK TRANSACTION
3155 RETURN
3156 END
3157 COMMIT TRANSACTION
3158
3159GO
3160
3161DROP TRIGGER i_items_last_mod_IU
3162GO
3163CREATE TRIGGER [dbo].[i_items_last_mod_IU] ON [dbo].[i_items]
3164FOR INSERT, UPDATE
3165AS
3166DECLARE @CountIns int,
3167 @cTableName varchar(10),
3168 @nKeyVal int
3169
3170SET NOCOUNT ON
3171SET @cTableName = 'i_items'
3172SELECT @CountIns = COUNT(*) FROM Inserted
3173IF @CountIns = 0 RETURN;
3174
3175/* Update the last_mod for INSERTs and UPDATEs */
3176 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
3177 IF @nKeyVal IS NULL
3178 BEGIN
3179 SET @nKeyVal = 1
3180 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
3181 END
3182
3183 UPDATE updates SET i_items = @nKeyVal + @CountIns - 1
3184 IF @@ERROR != 0
3185 BEGIN
3186 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3187 RETURN
3188 END
3189
3190 SET @nKeyVal = @nKeyVal - 1
3191 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM i_items a JOIN inserted i ON a.invent_id = i.invent_id
3192 IF @@ERROR != 0
3193 BEGIN
3194 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3195 RETURN
3196 END
3197
3198GO
3199
3200DROP TRIGGER i_mcode_last_mod_D
3201GO
3202CREATE TRIGGER [dbo].[i_mcode_last_mod_D] ON [dbo].[i_mcode]
3203FOR DELETE
3204AS
3205DECLARE @cTableName varchar(8)
3206
3207SET NOCOUNT ON
3208SET @cTableName = 'i_mcode'
3209IF NOT EXISTS (SELECT * FROM deleted) RETURN;
3210
3211/* Add a record to the deletes table for DELETEs */
3212 BEGIN TRANSACTION
3213 INSERT INTO deletes (tablename, key_val)
3214 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
3215 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
3216 IF @@ERROR != 0
3217 BEGIN
3218 RAISERROR('Cannot update the DELETES value.',16,1)
3219 ROLLBACK TRANSACTION
3220 RETURN
3221 END
3222 COMMIT TRANSACTION
3223
3224GO
3225
3226DROP TRIGGER i_mcode_last_mod_IU
3227GO
3228CREATE TRIGGER [dbo].[i_mcode_last_mod_IU] ON [dbo].[i_mcode]
3229FOR INSERT, UPDATE
3230AS
3231DECLARE @CountIns int,
3232 @cTableName varchar(10),
3233 @nKeyVal int
3234
3235SET NOCOUNT ON
3236SET @cTableName = 'i_mcode'
3237SELECT @CountIns = COUNT(*) FROM Inserted
3238IF @CountIns = 0 RETURN;
3239
3240/* Update the last_mod for INSERTs and UPDATEs */
3241 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
3242 IF @nKeyVal IS NULL
3243 BEGIN
3244 SET @nKeyVal = 1
3245 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
3246 END
3247
3248 UPDATE updates SET i_mcode = @nKeyVal + @CountIns - 1
3249 IF @@ERROR != 0
3250 BEGIN
3251 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3252 RETURN
3253 END
3254
3255 SET @nKeyVal = @nKeyVal - 1
3256 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM i_mcode a JOIN inserted i ON a.pri_key = i.pri_key
3257 IF @@ERROR != 0
3258 BEGIN
3259 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3260 RETURN
3261 END
3262
3263GO
3264
3265DROP TRIGGER i_vendor_last_mod_D
3266GO
3267CREATE TRIGGER [dbo].[i_vendor_last_mod_D] ON [dbo].[i_vendor]
3268FOR DELETE
3269AS
3270DECLARE @cTableName varchar(8)
3271
3272SET NOCOUNT ON
3273SET @cTableName = 'i_vendor'
3274IF NOT EXISTS (SELECT * FROM deleted) RETURN;
3275
3276/* Add a record to the deletes table for DELETEs */
3277 BEGIN TRANSACTION
3278 INSERT INTO deletes (tablename, key_val)
3279 SELECT @cTableName AS tablename, CAST(vendor_id AS varchar(60)) AS key_val FROM Deleted
3280 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
3281 IF @@ERROR != 0
3282 BEGIN
3283 RAISERROR('Cannot update the DELETES value.',16,1)
3284 ROLLBACK TRANSACTION
3285 RETURN
3286 END
3287 COMMIT TRANSACTION
3288
3289GO
3290
3291DROP TRIGGER i_vendor_last_mod_IU
3292GO
3293CREATE TRIGGER [dbo].[i_vendor_last_mod_IU] ON [dbo].[i_vendor]
3294FOR INSERT,UPDATE
3295AS
3296DECLARE @CountIns int,
3297 @cTableName varchar(10),
3298 @nKeyVal int
3299
3300SET NOCOUNT ON
3301SET @cTableName = 'i_vendor'
3302SELECT @CountIns = COUNT(*) FROM Inserted
3303IF @CountIns = 0 RETURN;
3304
3305/* Update the last_mod for INSERTs and UPDATEs */
3306 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
3307 IF @nKeyVal IS NULL
3308 BEGIN
3309 SET @nKeyVal = 1
3310 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
3311 END
3312
3313 UPDATE updates SET i_vendor = @nKeyVal + @CountIns - 1
3314 IF @@ERROR != 0
3315 BEGIN
3316 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3317 RETURN
3318 END
3319
3320 SET @nKeyVal = @nKeyVal - 1
3321 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM i_vendor a JOIN inserted i ON a.vendor_id = i.vendor_id
3322 IF @@ERROR != 0
3323 BEGIN
3324 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3325 RETURN
3326 END
3327
3328GO
3329
3330DROP TRIGGER IHCxfer_last_mod_D
3331GO
3332CREATE TRIGGER [dbo].[IHCxfer_last_mod_D] ON [dbo].[IHCxfer]
3333FOR DELETE
3334AS
3335DECLARE @cTableName varchar(8)
3336
3337SET NOCOUNT ON
3338SET @cTableName = 'IHCxfer'
3339IF NOT EXISTS (SELECT * FROM deleted) RETURN;
3340
3341/* Add a record to the deletes table for DELETEs */
3342 BEGIN TRANSACTION
3343 INSERT INTO deletes (tablename, key_val)
3344 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
3345 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
3346 IF @@ERROR != 0
3347 BEGIN
3348 RAISERROR('Cannot update the DELETES value.',16,1)
3349 ROLLBACK TRANSACTION
3350 RETURN
3351 END
3352 COMMIT TRANSACTION
3353
3354GO
3355
3356DROP TRIGGER IHCxfer_last_mod_IU
3357GO
3358CREATE TRIGGER [dbo].[IHCxfer_last_mod_IU] ON [dbo].[IHCxfer]
3359FOR INSERT, UPDATE
3360AS
3361DECLARE @CountIns int,
3362 @cTableName varchar(10),
3363 @nKeyVal int
3364
3365SET NOCOUNT ON
3366SET @cTableName = 'IHCxfer'
3367SELECT @CountIns = COUNT(*) FROM Inserted
3368IF @CountIns = 0 RETURN;
3369
3370/* Update the last_mod for INSERTs and UPDATEs */
3371 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
3372 IF @nKeyVal IS NULL
3373 BEGIN
3374 SET @nKeyVal = 1
3375 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
3376 END
3377
3378 UPDATE updates SET IHCxfer = @nKeyVal + @CountIns - 1
3379 IF @@ERROR != 0
3380 BEGIN
3381 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3382 RETURN
3383 END
3384
3385 SET @nKeyVal = @nKeyVal - 1
3386 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM IHCxfer a JOIN inserted i ON a.pri_key = i.pri_key
3387 IF @@ERROR != 0
3388 BEGIN
3389 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3390 RETURN
3391 END
3392
3393GO
3394
3395DROP TRIGGER invoices_last_mod_D
3396GO
3397CREATE TRIGGER [dbo].[invoices_last_mod_D] ON [dbo].[invoices]
3398FOR DELETE
3399AS
3400DECLARE @cTableName varchar(8)
3401
3402SET NOCOUNT ON
3403SET @cTableName = 'invoices'
3404IF NOT EXISTS (SELECT * FROM deleted) RETURN;
3405
3406/* Add a record to the deletes table for DELETEs */
3407 BEGIN TRANSACTION
3408 INSERT INTO deletes (tablename, key_val)
3409 SELECT @cTableName AS tablename, CAST(invoice_no AS varchar(60)) AS key_val FROM Deleted
3410 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
3411 IF @@ERROR != 0
3412 BEGIN
3413 RAISERROR('Cannot update the DELETES value.',16,1)
3414 ROLLBACK TRANSACTION
3415 RETURN
3416 END
3417 COMMIT TRANSACTION
3418
3419GO
3420
3421DROP TRIGGER invoices_last_mod_IU
3422GO
3423CREATE TRIGGER [dbo].[invoices_last_mod_IU] ON [dbo].[invoices]
3424FOR INSERT, UPDATE
3425AS
3426DECLARE @CountIns int,
3427 @cTableName varchar(10),
3428 @nKeyVal int
3429
3430SET NOCOUNT ON
3431SET @cTableName = 'invoices'
3432SELECT @CountIns = COUNT(*) FROM Inserted
3433IF @CountIns = 0 RETURN;
3434
3435/* Update the last_mod for INSERTs and UPDATEs */
3436 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
3437 IF @nKeyVal IS NULL
3438 BEGIN
3439 SET @nKeyVal = 1
3440 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
3441 END
3442
3443 UPDATE updates SET invoices = @nKeyVal + @CountIns - 1
3444 IF @@ERROR != 0
3445 BEGIN
3446 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3447 RETURN
3448 END
3449
3450 SET @nKeyVal = @nKeyVal - 1
3451 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM invoices a JOIN inserted i ON a.invoice_no = i.invoice_no
3452 IF @@ERROR != 0
3453 BEGIN
3454 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3455 RETURN
3456 END
3457
3458GO
3459
3460DROP TRIGGER itempics_last_mod_D
3461GO
3462CREATE TRIGGER [dbo].[itempics_last_mod_D] ON [dbo].[itempics]
3463FOR DELETE
3464AS
3465DECLARE @cTableName varchar(8)
3466
3467SET NOCOUNT ON
3468SET @cTableName = 'itempics'
3469IF NOT EXISTS (SELECT * FROM deleted) RETURN;
3470
3471/* Add a record to the deletes table for DELETEs */
3472 BEGIN TRANSACTION
3473 INSERT INTO deletes (tablename, key_val)
3474 SELECT @cTableName AS tablename, department+category+item AS key_val FROM Deleted
3475 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
3476 IF @@ERROR != 0
3477 BEGIN
3478 RAISERROR('Cannot update the DELETES value.',16,1)
3479 ROLLBACK TRANSACTION
3480 RETURN
3481 END
3482 COMMIT TRANSACTION
3483
3484GO
3485
3486DROP TRIGGER itempics_last_mod_IU
3487GO
3488CREATE TRIGGER [dbo].[itempics_last_mod_IU] ON [dbo].[itempics]
3489FOR INSERT, UPDATE
3490AS
3491DECLARE @CountIns int,
3492 @cTableName varchar(10),
3493 @nKeyVal int
3494
3495SET NOCOUNT ON
3496SET @cTableName = 'itempics'
3497SELECT @CountIns = COUNT(*) FROM Inserted
3498IF @CountIns = 0 RETURN;
3499
3500/* Update the last_mod for INSERTs and UPDATEs */
3501 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
3502 IF @nKeyVal IS NULL
3503 BEGIN
3504 SET @nKeyVal = 1
3505 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
3506 END
3507
3508 UPDATE updates SET itempics = @nKeyVal + @CountIns - 1
3509 IF @@ERROR != 0
3510 BEGIN
3511 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3512 RETURN
3513 END
3514
3515 SET @nKeyVal = @nKeyVal - 1
3516 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM itempics a JOIN inserted i ON a.department = i.department and a.category = i.category and a.item = i.item
3517 IF @@ERROR != 0
3518 BEGIN
3519 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3520 RETURN
3521 END
3522
3523/* Remove any record in the deletes table if this key was inserted back in */
3524 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
3525 (SELECT department+category+item FROM Inserted WHERE department+category+item NOT IN (SELECT department+category+item FROM Deleted))
3526
3527GO
3528
3529DROP TRIGGER items_last_mod_D
3530GO
3531CREATE TRIGGER [dbo].[items_last_mod_D] ON dbo.items
3532FOR DELETE
3533AS
3534DECLARE @cTableName varchar(8)
3535
3536SET NOCOUNT ON
3537SET @cTableName = 'items'
3538IF NOT EXISTS (SELECT * FROM deleted) RETURN;
3539
3540/* Add a record to the deletes table for DELETEs */
3541 BEGIN TRANSACTION
3542 INSERT INTO deletes (tablename, key_val)
3543 SELECT @cTableName AS tablename, department+category+item AS key_val FROM Deleted
3544 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
3545 IF @@ERROR != 0
3546 BEGIN
3547 RAISERROR('Cannot update the DELETES value.',16,1)
3548 ROLLBACK TRANSACTION
3549 RETURN
3550 END
3551 COMMIT TRANSACTION
3552
3553GO
3554
3555DROP TRIGGER itemtree_last_mod_D
3556GO
3557CREATE TRIGGER [dbo].[itemtree_last_mod_D] ON [dbo].[itemtree]
3558FOR DELETE
3559AS
3560DECLARE @cTableName varchar(8)
3561
3562SET NOCOUNT ON
3563SET @cTableName = 'itemtree'
3564IF NOT EXISTS (SELECT * FROM deleted) RETURN;
3565
3566/* Add a record to the deletes table for DELETEs */
3567 BEGIN TRANSACTION
3568 INSERT INTO deletes (tablename, key_val)
3569 SELECT @cTableName AS tablename, CAST(node_id AS varchar(60)) AS key_val FROM Deleted
3570 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
3571 IF @@ERROR != 0
3572 BEGIN
3573 RAISERROR('Cannot update the DELETES value.',16,1)
3574 ROLLBACK TRANSACTION
3575 RETURN
3576 END
3577 COMMIT TRANSACTION
3578
3579GO
3580
3581DROP TRIGGER itemtree_last_mod_IU
3582GO
3583CREATE TRIGGER [dbo].[itemtree_last_mod_IU] ON [dbo].[itemtree]
3584FOR INSERT, UPDATE
3585AS
3586DECLARE @CountIns int,
3587 @cTableName varchar(10),
3588 @nKeyVal int
3589
3590SET NOCOUNT ON
3591SET @cTableName = 'itemtree'
3592SELECT @CountIns = COUNT(*) FROM Inserted
3593IF @CountIns = 0 RETURN;
3594
3595/* Update the last_mod for INSERTs and UPDATEs */
3596 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
3597 IF @nKeyVal IS NULL
3598 BEGIN
3599 SET @nKeyVal = 1
3600 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
3601 END
3602
3603 UPDATE updates SET itemtree = @nKeyVal + @CountIns - 1
3604 IF @@ERROR != 0
3605 BEGIN
3606 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3607 RETURN
3608 END
3609
3610 SET @nKeyVal = @nKeyVal - 1
3611 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM itemtree a JOIN inserted i ON a.node_id = i.node_id
3612 IF @@ERROR != 0
3613 BEGIN
3614 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3615 RETURN
3616 END
3617
3618GO
3619
3620DROP TRIGGER l_forms_last_mod_D
3621GO
3622CREATE TRIGGER [dbo].[l_forms_last_mod_D] ON [dbo].[l_forms]
3623FOR DELETE
3624AS
3625DECLARE @cTableName varchar(8)
3626
3627SET NOCOUNT ON
3628SET @cTableName = 'l_forms'
3629IF NOT EXISTS (SELECT * FROM deleted) RETURN;
3630
3631/* Add a record to the deletes table for DELETEs */
3632 BEGIN TRANSACTION
3633 INSERT INTO deletes (tablename, key_val)
3634 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
3635 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
3636 IF @@ERROR != 0
3637 BEGIN
3638 RAISERROR('Cannot update the DELETES value.',16,1)
3639 ROLLBACK TRANSACTION
3640 RETURN
3641 END
3642 COMMIT TRANSACTION
3643
3644GO
3645
3646DROP TRIGGER l_forms_last_mod_IU
3647GO
3648CREATE TRIGGER [dbo].[l_forms_last_mod_IU] ON [dbo].[l_forms]
3649FOR INSERT, UPDATE
3650AS
3651DECLARE @CountIns int,
3652 @cTableName varchar(10),
3653 @nKeyVal int
3654
3655SET NOCOUNT ON
3656SET @cTableName = 'l_forms'
3657SELECT @CountIns = COUNT(*) FROM Inserted
3658IF @CountIns = 0 RETURN;
3659
3660/* Update the last_mod for INSERTs and UPDATEs */
3661 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
3662 IF @nKeyVal IS NULL
3663 BEGIN
3664 SET @nKeyVal = 1
3665 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
3666 END
3667
3668 UPDATE updates SET l_forms = @nKeyVal + @CountIns - 1
3669 IF @@ERROR != 0
3670 BEGIN
3671 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3672 RETURN
3673 END
3674
3675 SET @nKeyVal = @nKeyVal - 1
3676 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM l_forms a JOIN inserted i ON a.pri_key = i.pri_key
3677 IF @@ERROR != 0
3678 BEGIN
3679 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3680 RETURN
3681 END
3682
3683GO
3684
3685DROP TRIGGER Language_last_mod_D
3686GO
3687
3688create trigger [dbo].[Language_last_mod_D] ON [dbo].[Language]
3689for delete
3690as
3691declare @cTableName varchar(8)
3692
3693set nocount on
3694set @cTableName = 'Language'
3695if not exists (select * from deleted) return;
3696
3697/* Add a record to the deletes table for DELETEs */
3698begin transaction
3699
3700 insert into deletes (tablename, key_val)
3701 select @cTableName as tablename, cast(LanguageID as varchar) as key_val
3702 from deleted
3703
3704 update updates
3705 set deletes = isnull((select top 1 last_mod from deletes order by last_mod desc), 0)
3706
3707 if @@ERROR != 0
3708 begin
3709 raiserror('Cannot update the DELETES value.' , 16 , 1)
3710 rollback transaction
3711 return
3712 end
3713commit transaction
3714
3715GO
3716
3717DROP TRIGGER Language_last_mod_IU
3718GO
3719
3720create trigger [dbo].[Language_last_mod_IU] ON [dbo].[Language]
3721for insert, update
3722as
3723declare @CountIns int,
3724 @cTableName varchar(10),
3725 @nKeyVal int
3726
3727set nocount on
3728set @cTableName = 'Language'
3729select @CountIns = count(*) from Inserted
3730if @CountIns = 0 return;
3731
3732/* Update the last_mod for INSERTs and UPDATEs */
3733update sequence set @nKeyVal = next_val, next_val = next_val + @CountIns where name = @cTableName
3734if @nKeyVal is null
3735 begin
3736 set @nKeyVal = 1
3737 insert into sequence (name, next_val) values (@cTableName, @CountIns + 1)
3738 end
3739
3740update updates set language = @nKeyVal + @CountIns - 1
3741if @@ERROR != 0
3742 begin
3743 raiserror('Cannot update the LAST_MOD value.', 16, 1)
3744 return
3745 end
3746
3747set @nKeyVal = @nKeyVal - 1
3748update a set @nKeyVal = last_mod = @nKeyVal + 1 from Language a JOIN inserted i ON a.LanguageID = i.LanguageID
3749if @@ERROR != 0
3750 begin
3751 raiserror('Cannot update the LAST_MOD value.', 16, 1)
3752 return
3753 end
3754
3755/* Remove any record in the deletes table if this key was inserted back in */
3756delete from deletes where tablename = @cTableName and key_val in
3757 (select left(LanguageID, 100) from Inserted where LanguageID not in (select LanguageID from Deleted))
3758
3759GO
3760
3761DROP TRIGGER layouts_last_mod_D
3762GO
3763CREATE TRIGGER [dbo].[layouts_last_mod_D] ON [dbo].[Layouts]
3764FOR DELETE
3765AS
3766DECLARE @cTableName varchar(8)
3767
3768SET NOCOUNT ON
3769SET @cTableName = 'layouts'
3770IF NOT EXISTS (SELECT * FROM deleted) RETURN;
3771
3772/* Add a record to the deletes table for DELETEs */
3773 BEGIN TRANSACTION
3774 INSERT INTO deletes (tablename, key_val)
3775 SELECT @cTableName AS tablename, layoutname AS key_val FROM Deleted
3776 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
3777 IF @@ERROR != 0
3778 BEGIN
3779 RAISERROR('Cannot update the DELETES value.',16,1)
3780 ROLLBACK TRANSACTION
3781 RETURN
3782 END
3783 COMMIT TRANSACTION
3784
3785GO
3786
3787DROP TRIGGER layouts_last_mod_IU
3788GO
3789CREATE TRIGGER [dbo].[layouts_last_mod_IU] ON [dbo].[Layouts]
3790FOR INSERT, UPDATE
3791AS
3792DECLARE @CountIns int,
3793 @cTableName varchar(10),
3794 @nKeyVal int
3795
3796SET NOCOUNT ON
3797SET @cTableName = 'layouts'
3798SELECT @CountIns = COUNT(*) FROM Inserted
3799IF @CountIns = 0 RETURN;
3800
3801/* Update the last_mod for INSERTs and UPDATEs */
3802 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
3803 IF @nKeyVal IS NULL
3804 BEGIN
3805 SET @nKeyVal = 1
3806 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
3807 END
3808
3809 UPDATE updates SET layouts = @nKeyVal + @CountIns - 1
3810 IF @@ERROR != 0
3811 BEGIN
3812 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3813 RETURN
3814 END
3815
3816 SET @nKeyVal = @nKeyVal - 1
3817 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM layouts a JOIN inserted i ON a.layoutname = i.layoutname
3818 IF @@ERROR != 0
3819 BEGIN
3820 RAISERROR('Cannot update the LAST_MOD value.',16,1)
3821 RETURN
3822 END
3823
3824/* Remove any record in the deletes table if this key was inserted back in */
3825 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
3826 (SELECT layoutname FROM Inserted WHERE layoutname NOT IN (SELECT layoutname FROM Deleted))
3827
3828GO
3829
3830DROP TRIGGER Licenses_last_mod_D
3831GO
3832
3833CREATE TRIGGER [dbo].[Licenses_last_mod_D] ON [dbo].[Licenses]
3834FOR DELETE
3835AS
3836DECLARE @cTableName varchar(8);
3837
3838SET NOCOUNT ON;
3839
3840IF NOT EXISTS (
3841 SELECT *
3842 FROM deleted
3843 )
3844 RETURN;
3845
3846SET @cTableName = 'Licenses'
3847
3848/* Add a record to the deletes table for DELETEs */
3849BEGIN TRY
3850 BEGIN TRANSACTION
3851
3852 INSERT INTO dbo.deletes (
3853 tablename
3854 ,key_val
3855 )
3856 SELECT @cTableName AS tablename
3857 ,cast(SettingID AS VARCHAR) AS key_val
3858 FROM deleted
3859
3860 UPDATE dbo.updates
3861 SET deletes = isnull((
3862 SELECT TOP (1) last_mod
3863 FROM dbo.deletes
3864 ORDER BY last_mod DESC
3865 ), 0)
3866
3867 COMMIT TRANSACTION
3868END TRY
3869
3870BEGIN CATCH
3871 IF @@TRANCOUNT > 0
3872 ROLLBACK TRANSACTION
3873
3874 RAISERROR (
3875 'Cannot update the DELETES value.'
3876 ,16
3877 ,1
3878 )
3879END CATCH
3880
3881GO
3882
3883DROP TRIGGER Licenses_last_mod_IU
3884GO
3885
3886CREATE TRIGGER [dbo].[Licenses_last_mod_IU] ON [dbo].[Licenses]
3887FOR INSERT
3888 ,UPDATE
3889AS
3890DECLARE @CountIns INT
3891 ,@cTableName varchar(10)
3892 ,@nKeyVal INT;
3893
3894SET NOCOUNT ON;
3895SET @cTableName = 'Licenses';
3896
3897SELECT @CountIns = count(*)
3898FROM inserted;
3899
3900IF @CountIns = 0
3901 RETURN;
3902
3903/* Update the last_mod for INSERTs and UPDATEs */
3904UPDATE dbo.sequence
3905SET @nKeyVal = next_val
3906 ,next_val = next_val + @CountIns
3907WHERE NAME = @cTableName
3908
3909IF @nKeyVal IS NULL
3910BEGIN
3911 SET @nKeyVal = 1
3912
3913 INSERT INTO dbo.sequence (
3914 NAME
3915 ,next_val
3916 )
3917 VALUES (
3918 @cTableName
3919 ,@CountIns + 1
3920 )
3921END
3922
3923UPDATE dbo.updates
3924SET Licenses = @nKeyVal + @CountIns - 1
3925
3926IF @@error != 0
3927BEGIN
3928 RAISERROR (
3929 'Cannot update the Licenses value in Updates.'
3930 ,16
3931 ,1
3932 )
3933
3934 RETURN
3935END
3936
3937SET @nKeyVal = @nKeyVal - 1;
3938
3939UPDATE s
3940SET @nKeyVal = last_mod = @nKeyVal + 1
3941FROM dbo.Licenses s
3942JOIN inserted i ON s.SettingID = i.SettingID
3943
3944IF @@error != 0
3945BEGIN
3946 RAISERROR (
3947 'Cannot update the LAST_MOD value in Licenses.'
3948 ,16
3949 ,1
3950 );
3951
3952 RETURN;
3953END
3954
3955GO
3956
3957DROP TRIGGER max4sale_last_mod_D
3958GO
3959CREATE TRIGGER [dbo].[max4sale_last_mod_D] ON [dbo].[max4sale]
3960FOR DELETE
3961AS
3962DECLARE @cTableName varchar(8)
3963
3964SET NOCOUNT ON
3965SET @cTableName = 'max4sale'
3966IF NOT EXISTS (SELECT * FROM deleted) RETURN;
3967
3968/* Add a record to the deletes table for DELETEs */
3969 BEGIN TRANSACTION
3970 INSERT INTO deletes (tablename, key_val)
3971 SELECT @cTableName AS tablename, CAST(id AS varchar(60)) AS key_val FROM Deleted
3972 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
3973 IF @@ERROR != 0
3974 BEGIN
3975 RAISERROR('Cannot update the DELETES value.',16,1)
3976 ROLLBACK TRANSACTION
3977 RETURN
3978 END
3979 COMMIT TRANSACTION
3980
3981GO
3982
3983DROP TRIGGER max4sale_last_mod_IU
3984GO
3985CREATE TRIGGER [dbo].[max4sale_last_mod_IU] ON [dbo].[max4sale]
3986FOR INSERT, UPDATE
3987AS
3988DECLARE @CountIns int,
3989 @CountDel int,
3990 @cTableName varchar(10),
3991 @nKeyVal int
3992
3993SET NOCOUNT ON
3994SET @cTableName = 'max4sale'
3995SELECT @CountIns = COUNT(*) FROM Inserted
3996SELECT @CountDel = COUNT(*) FROM Deleted
3997IF @CountIns = 0 RETURN;
3998
3999/* Update the last_mod for INSERTs and UPDATEs */
4000 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4001 IF @nKeyVal IS NULL
4002 BEGIN
4003 SET @nKeyVal = 1
4004 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4005 END
4006
4007 UPDATE updates SET max4sale = @nKeyVal + @CountIns - 1
4008 IF @@ERROR != 0
4009 BEGIN
4010 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4011 RETURN
4012 END
4013
4014 SET @nKeyVal = @nKeyVal - 1
4015 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM max4sale a JOIN inserted i ON a.id = i.id
4016 IF @@ERROR != 0
4017 BEGIN
4018 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4019 RETURN
4020 END
4021
4022
4023/* On an update, kill any related Max4SaleCounts child rows for updated Max4Sale restrictions.
4024 Calls to GetQtyRemaining sproc will rebuild them. */
4025IF @CountDel <> 0
4026 delete from dbo.Max4SaleCounts
4027 from dbo.Max4SaleCounts as mc
4028 inner join Inserted as i on mc.Max4SaleID = i.id ;
4029
4030return
4031
4032GO
4033
4034DROP TRIGGER meet_loc_last_mod_D
4035GO
4036CREATE TRIGGER [dbo].[meet_loc_last_mod_D] ON [dbo].[meet_loc]
4037FOR DELETE
4038AS
4039DECLARE @cTableName varchar(8)
4040
4041SET NOCOUNT ON
4042SET @cTableName = 'meet_loc'
4043IF NOT EXISTS (SELECT * FROM deleted) RETURN;
4044
4045/* Add a record to the deletes table for DELETEs */
4046 BEGIN TRANSACTION
4047 INSERT INTO deletes (tablename, key_val)
4048 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
4049 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
4050 IF @@ERROR != 0
4051 BEGIN
4052 RAISERROR('Cannot update the DELETES value.',16,1)
4053 ROLLBACK TRANSACTION
4054 RETURN
4055 END
4056 COMMIT TRANSACTION
4057
4058GO
4059
4060DROP TRIGGER meet_loc_last_mod_IU
4061GO
4062CREATE TRIGGER [dbo].[meet_loc_last_mod_IU] ON [dbo].[meet_loc]
4063FOR INSERT, UPDATE
4064AS
4065DECLARE @CountIns int,
4066 @cTableName varchar(10),
4067 @nKeyVal int
4068
4069SET NOCOUNT ON
4070SET @cTableName = 'meet_loc'
4071SELECT @CountIns = COUNT(*) FROM Inserted
4072IF @CountIns = 0 RETURN;
4073
4074/* Update the last_mod for INSERTs and UPDATEs */
4075 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4076 IF @nKeyVal IS NULL
4077 BEGIN
4078 SET @nKeyVal = 1
4079 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4080 END
4081
4082 UPDATE updates SET meet_loc = @nKeyVal + @CountIns - 1
4083 IF @@ERROR != 0
4084 BEGIN
4085 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4086 RETURN
4087 END
4088
4089 SET @nKeyVal = @nKeyVal - 1
4090 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM meet_loc a JOIN inserted i ON a.pri_key = i.pri_key
4091 IF @@ERROR != 0
4092 BEGIN
4093 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4094 RETURN
4095 END
4096
4097GO
4098
4099DROP TRIGGER mktgcode_last_mod_D
4100GO
4101CREATE TRIGGER [dbo].[mktgcode_last_mod_D] ON [dbo].[mktgcode]
4102FOR DELETE
4103AS
4104DECLARE @cTableName varchar(8)
4105
4106SET NOCOUNT ON
4107SET @cTableName = 'mktgcode'
4108IF NOT EXISTS (SELECT * FROM deleted) RETURN;
4109
4110/* Add a record to the deletes table for DELETEs */
4111 BEGIN TRANSACTION
4112 INSERT INTO deletes (tablename, key_val)
4113 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
4114 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
4115 IF @@ERROR != 0
4116 BEGIN
4117 RAISERROR('Cannot update the DELETES value.',16,1)
4118 ROLLBACK TRANSACTION
4119 RETURN
4120 END
4121 COMMIT TRANSACTION
4122
4123GO
4124
4125DROP TRIGGER mktgcode_last_mod_IU
4126GO
4127CREATE TRIGGER [dbo].[mktgcode_last_mod_IU] ON [dbo].[mktgcode]
4128FOR INSERT, UPDATE
4129AS
4130DECLARE @CountIns int,
4131 @cTableName varchar(10),
4132 @nKeyVal int
4133
4134SET NOCOUNT ON
4135SET @cTableName = 'mktgcode'
4136SELECT @CountIns = COUNT(*) FROM Inserted
4137IF @CountIns = 0 RETURN;
4138
4139/* Update the last_mod for INSERTs and UPDATEs */
4140 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4141 IF @nKeyVal IS NULL
4142 BEGIN
4143 SET @nKeyVal = 1
4144 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4145 END
4146
4147 UPDATE updates SET mktgcode = @nKeyVal + @CountIns - 1
4148 IF @@ERROR != 0
4149 BEGIN
4150 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4151 RETURN
4152 END
4153
4154 SET @nKeyVal = @nKeyVal - 1
4155 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM mktgcode a JOIN inserted i ON a.pri_key = i.pri_key
4156 IF @@ERROR != 0
4157 BEGIN
4158 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4159 RETURN
4160 END
4161
4162GO
4163
4164DROP TRIGGER operator_last_mod_D
4165GO
4166CREATE TRIGGER [dbo].[operator_last_mod_D] ON [dbo].[operator]
4167FOR DELETE
4168AS
4169DECLARE @cTableName varchar(8)
4170
4171SET NOCOUNT ON
4172SET @cTableName = 'operator'
4173IF NOT EXISTS (SELECT * FROM deleted) RETURN;
4174
4175/* Add a record to the deletes table for DELETEs */
4176 BEGIN TRANSACTION
4177 INSERT INTO deletes (tablename, key_val)
4178 SELECT @cTableName AS tablename, op_code AS key_val FROM Deleted
4179 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
4180 IF @@ERROR != 0
4181 BEGIN
4182 RAISERROR('Cannot update the DELETES value.',16,1)
4183 ROLLBACK TRANSACTION
4184 RETURN
4185 END
4186 COMMIT TRANSACTION
4187
4188GO
4189
4190DROP TRIGGER operator_last_mod_IU
4191GO
4192CREATE TRIGGER [dbo].[operator_last_mod_IU] ON [dbo].[operator]
4193FOR INSERT, UPDATE
4194AS
4195DECLARE @CountIns int,
4196 @cTableName varchar(10),
4197 @nKeyVal int
4198
4199SET NOCOUNT ON
4200SET @cTableName = 'operator'
4201SELECT @CountIns = COUNT(*) FROM Inserted
4202IF @CountIns = 0 RETURN;
4203
4204/* Update the last_mod for INSERTs and UPDATEs */
4205 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4206 IF @nKeyVal IS NULL
4207 BEGIN
4208 SET @nKeyVal = 1
4209 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4210 END
4211
4212 UPDATE updates SET operator = @nKeyVal + @CountIns - 1
4213 IF @@ERROR != 0
4214 BEGIN
4215 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4216 RETURN
4217 END
4218
4219 SET @nKeyVal = @nKeyVal - 1
4220 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM operator a JOIN inserted i ON a.op_code = i.op_code
4221 IF @@ERROR != 0
4222 BEGIN
4223 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4224 RETURN
4225 END
4226
4227/* Remove any record in the deletes table if this key was inserted back in */
4228 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
4229 (SELECT op_code FROM Inserted WHERE op_code NOT IN (SELECT op_code FROM Deleted))
4230
4231GO
4232
4233DROP TRIGGER passlink_last_mod_D
4234GO
4235CREATE TRIGGER [dbo].[passlink_last_mod_D] ON [dbo].[passlink]
4236FOR DELETE
4237AS
4238DECLARE @cTableName varchar(8)
4239
4240SET NOCOUNT ON
4241SET @cTableName = 'passlink'
4242IF NOT EXISTS (SELECT * FROM deleted) RETURN;
4243
4244/* Add a record to the deletes table for DELETEs */
4245 BEGIN TRANSACTION
4246 INSERT INTO deletes (tablename, key_val)
4247 SELECT @cTableName AS tablename, pASs_d+pASs_c+pASs_i+item_d+item_c+item_i AS key_val FROM Deleted
4248 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
4249 IF @@ERROR != 0
4250 BEGIN
4251 RAISERROR('Cannot update the DELETES value.',16,1)
4252 ROLLBACK TRANSACTION
4253 RETURN
4254 END
4255 COMMIT TRANSACTION
4256
4257GO
4258
4259DROP TRIGGER passlink_last_mod_IU
4260GO
4261CREATE TRIGGER [dbo].[passlink_last_mod_IU] ON [dbo].[passlink]
4262FOR INSERT, UPDATE
4263AS
4264DECLARE @CountIns int,
4265 @cTableName varchar(10),
4266 @nKeyVal int
4267
4268SET NOCOUNT ON
4269SET @cTableName = 'passlink'
4270SELECT @CountIns = COUNT(*) FROM Inserted
4271IF @CountIns = 0 RETURN;
4272
4273/* Update the last_mod for INSERTs and UPDATEs */
4274 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4275 IF @nKeyVal IS NULL
4276 BEGIN
4277 SET @nKeyVal = 1
4278 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4279 END
4280
4281 UPDATE updates SET passlink = @nKeyVal + @CountIns - 1
4282 IF @@ERROR != 0
4283 BEGIN
4284 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4285 RETURN
4286 END
4287
4288 SET @nKeyVal = @nKeyVal - 1
4289 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM passlink a JOIN inserted i ON a.pASs_d = i.pASs_d and a.pASs_c = i.pASs_c and a.pASs_i = i.pASs_i and
4290 a.item_d = i.item_d and a.item_c = i.item_c and a.item_i = i.item_i
4291 IF @@ERROR != 0
4292 BEGIN
4293 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4294 RETURN
4295 END
4296
4297/* Remove any record in the deletes table if this key was inserted back in */
4298 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
4299 (SELECT pASs_d+pASs_c+pASs_i+item_d+item_c+item_i FROM Inserted WHERE pASs_d+pASs_c+pASs_i+item_d+item_c+item_i NOT IN (SELECT pASs_d+pASs_c+pASs_i+item_d+item_c+item_i FROM Deleted))
4300
4301GO
4302
4303DROP TRIGGER pkup_loc_last_mod_D
4304GO
4305CREATE TRIGGER [dbo].[pkup_loc_last_mod_D] ON [dbo].[pkup_loc]
4306FOR DELETE
4307AS
4308DECLARE @cTableName varchar(8)
4309
4310SET NOCOUNT ON
4311SET @cTableName = 'pkup_loc'
4312IF NOT EXISTS (SELECT * FROM deleted) RETURN;
4313
4314/* Add a record to the deletes table for DELETEs */
4315 BEGIN TRANSACTION
4316 INSERT INTO deletes (tablename, key_val)
4317 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
4318 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
4319 IF @@ERROR != 0
4320 BEGIN
4321 RAISERROR('Cannot update the DELETES value.',16,1)
4322 ROLLBACK TRANSACTION
4323 RETURN
4324 END
4325 COMMIT TRANSACTION
4326
4327GO
4328
4329DROP TRIGGER pkup_loc_last_mod_IU
4330GO
4331CREATE TRIGGER [dbo].[pkup_loc_last_mod_IU] ON [dbo].[pkup_loc]
4332FOR INSERT, UPDATE
4333AS
4334DECLARE @CountIns int,
4335 @cTableName varchar(10),
4336 @nKeyVal int
4337
4338SET NOCOUNT ON
4339SET @cTableName = 'pkup_loc'
4340SELECT @CountIns = COUNT(*) FROM Inserted
4341IF @CountIns = 0 RETURN;
4342
4343/* Update the last_mod for INSERTs and UPDATEs */
4344 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4345 IF @nKeyVal IS NULL
4346 BEGIN
4347 SET @nKeyVal = 1
4348 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4349 END
4350
4351 UPDATE updates SET pkup_loc = @nKeyVal + @CountIns - 1
4352 IF @@ERROR != 0
4353 BEGIN
4354 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4355 RETURN
4356 END
4357
4358 SET @nKeyVal = @nKeyVal - 1
4359 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM pkup_loc a JOIN inserted i ON a.pri_key = i.pri_key
4360 IF @@ERROR != 0
4361 BEGIN
4362 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4363 RETURN
4364 END
4365
4366GO
4367
4368DROP TRIGGER pmt_type_last_mod_D
4369GO
4370CREATE TRIGGER [dbo].[pmt_type_last_mod_D] ON [dbo].[pmt_type]
4371FOR DELETE
4372AS
4373DECLARE @cTableName varchar(8)
4374
4375SET NOCOUNT ON
4376SET @cTableName = 'pmt_type'
4377IF NOT EXISTS (SELECT * FROM deleted) RETURN;
4378
4379/* Add a record to the deletes table for DELETEs */
4380 BEGIN TRANSACTION
4381 INSERT INTO deletes (tablename, key_val)
4382 SELECT @cTableName AS tablename, CAST(pmtype_no AS varchar(60)) AS key_val FROM Deleted
4383 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
4384 IF @@ERROR != 0
4385 BEGIN
4386 RAISERROR('Cannot update the DELETES value.',16,1)
4387 ROLLBACK TRANSACTION
4388 RETURN
4389 END
4390 COMMIT TRANSACTION
4391
4392GO
4393
4394DROP TRIGGER pmt_type_last_mod_IU
4395GO
4396CREATE TRIGGER [dbo].[pmt_type_last_mod_IU] ON [dbo].[pmt_type]
4397FOR INSERT, UPDATE
4398AS
4399DECLARE @CountIns int,
4400 @cTableName varchar(10),
4401 @nKeyVal int
4402
4403SET NOCOUNT ON
4404SET @cTableName = 'pmt_type'
4405SELECT @CountIns = COUNT(*) FROM Inserted
4406IF @CountIns = 0 RETURN;
4407
4408/* Update the last_mod for INSERTs and UPDATEs */
4409 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4410 IF @nKeyVal IS NULL
4411 BEGIN
4412 SET @nKeyVal = 1
4413 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4414 END
4415
4416 UPDATE updates SET pmt_type = @nKeyVal + @CountIns - 1
4417 IF @@ERROR != 0
4418 BEGIN
4419 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4420 RETURN
4421 END
4422
4423 SET @nKeyVal = @nKeyVal - 1
4424 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM pmt_type a JOIN inserted i ON a.pmtype_no = i.pmtype_no
4425 IF @@ERROR != 0
4426 BEGIN
4427 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4428 RETURN
4429 END
4430
4431GO
4432
4433DROP TRIGGER pp_rules_last_mod_D
4434GO
4435CREATE TRIGGER [dbo].[pp_rules_last_mod_D] ON [dbo].[pp_rules]
4436FOR DELETE
4437AS
4438DECLARE @cTableName varchar(8)
4439
4440SET NOCOUNT ON
4441SET @cTableName = 'pp_rules'
4442IF NOT EXISTS (SELECT * FROM deleted) RETURN;
4443
4444/* Add a record to the deletes table for DELETEs */
4445 BEGIN TRANSACTION
4446 INSERT INTO deletes (tablename, key_val)
4447 SELECT @cTableName AS tablename, CAST(pprule_id AS varchar(60)) AS key_val FROM Deleted
4448 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
4449 IF @@ERROR != 0
4450 BEGIN
4451 RAISERROR('Cannot update the DELETES value.',16,1)
4452 ROLLBACK TRANSACTION
4453 RETURN
4454 END
4455 COMMIT TRANSACTION
4456
4457GO
4458
4459DROP TRIGGER pp_rules_last_mod_IU
4460GO
4461CREATE TRIGGER [dbo].[pp_rules_last_mod_IU] ON [dbo].[pp_rules]
4462FOR INSERT, UPDATE
4463AS
4464DECLARE @CountIns int,
4465 @cTableName varchar(10),
4466 @nKeyVal int
4467
4468SET NOCOUNT ON
4469SET @cTableName = 'pp_rules'
4470SELECT @CountIns = COUNT(*) FROM Inserted
4471IF @CountIns = 0 RETURN;
4472
4473/* Update the last_mod for INSERTs and UPDATEs */
4474 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4475 IF @nKeyVal IS NULL
4476 BEGIN
4477 SET @nKeyVal = 1
4478 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4479 END
4480
4481 UPDATE updates SET pp_rules = @nKeyVal + @CountIns - 1
4482 IF @@ERROR != 0
4483 BEGIN
4484 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4485 RETURN
4486 END
4487
4488 SET @nKeyVal = @nKeyVal - 1
4489 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM pp_rules a JOIN inserted i ON a.pprule_id = i.pprule_id
4490 IF @@ERROR != 0
4491 BEGIN
4492 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4493 RETURN
4494 END
4495
4496GO
4497
4498DROP TRIGGER prefix_last_mod_D
4499GO
4500CREATE TRIGGER [dbo].[prefix_last_mod_D] ON [dbo].[prefix]
4501FOR DELETE
4502AS
4503DECLARE @cTableName varchar(8)
4504
4505SET NOCOUNT ON
4506SET @cTableName = 'prefix'
4507IF NOT EXISTS (SELECT * FROM deleted) RETURN;
4508
4509/* Add a record to the deletes table for DELETEs */
4510 BEGIN TRANSACTION
4511 INSERT INTO deletes (tablename, key_val)
4512 SELECT @cTableName AS tablename, prefix AS key_val FROM Deleted
4513 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
4514 IF @@ERROR != 0
4515 BEGIN
4516 RAISERROR('Cannot update the DELETES value.',16,1)
4517 ROLLBACK TRANSACTION
4518 RETURN
4519 END
4520 COMMIT TRANSACTION
4521
4522GO
4523
4524DROP TRIGGER prefix_last_mod_IU
4525GO
4526CREATE TRIGGER [dbo].[prefix_last_mod_IU] ON [dbo].[prefix]
4527FOR INSERT, UPDATE
4528AS
4529DECLARE @CountIns int,
4530 @cTableName varchar(10),
4531 @nKeyVal int
4532
4533SET NOCOUNT ON
4534SET @cTableName = 'prefix'
4535SELECT @CountIns = COUNT(*) FROM Inserted
4536IF @CountIns = 0 RETURN;
4537
4538/* Update the last_mod for INSERTs and UPDATEs */
4539 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4540 IF @nKeyVal IS NULL
4541 BEGIN
4542 SET @nKeyVal = 1
4543 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4544 END
4545
4546 UPDATE updates SET prefix = @nKeyVal + @CountIns - 1
4547 IF @@ERROR != 0
4548 BEGIN
4549 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4550 RETURN
4551 END
4552
4553 SET @nKeyVal = @nKeyVal - 1
4554 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM prefix a JOIN inserted i ON a.prefix = i.prefix
4555 IF @@ERROR != 0
4556 BEGIN
4557 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4558 RETURN
4559 END
4560
4561/* Remove any record in the deletes table if this key was inserted back in */
4562 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
4563 (SELECT prefix FROM Inserted WHERE prefix NOT IN (SELECT prefix FROM Deleted))
4564
4565GO
4566
4567DROP TRIGGER prefs_ac_last_mod_IU
4568GO
4569CREATE TRIGGER [dbo].[prefs_ac_last_mod_IU] ON [dbo].[prefs_ac]
4570FOR INSERT, UPDATE
4571AS
4572DECLARE @CountIns int,
4573 @cTableName varchar(10),
4574 @nKeyVal int
4575
4576SET NOCOUNT ON
4577SET @cTableName = 'prefs_ac'
4578SELECT @CountIns = COUNT(*) FROM Inserted
4579IF @CountIns = 0 RETURN;
4580
4581/* Update the last_mod for INSERTs and UPDATEs */
4582 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4583 IF @nKeyVal IS NULL
4584 BEGIN
4585 SET @nKeyVal = 1
4586 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4587 END
4588
4589 UPDATE updates SET prefs_ac = @nKeyVal + @CountIns - 1
4590 IF @@ERROR != 0
4591 BEGIN
4592 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4593 RETURN
4594 END
4595
4596 SET @nKeyVal = @nKeyVal - 1
4597 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM prefs_ac a JOIN inserted i ON a.pri_key = i.pri_key
4598 IF @@ERROR != 0
4599 BEGIN
4600 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4601 RETURN
4602 END
4603
4604GO
4605
4606DROP TRIGGER prefs_bk_last_mod_IU
4607GO
4608CREATE TRIGGER [dbo].[prefs_bk_last_mod_IU] ON [dbo].[prefs_bk]
4609FOR INSERT, UPDATE
4610AS
4611DECLARE @CountIns int,
4612 @cTableName varchar(10),
4613 @nKeyVal int
4614
4615SET NOCOUNT ON
4616SET @cTableName = 'prefs_bk'
4617SELECT @CountIns = COUNT(*) FROM Inserted
4618IF @CountIns = 0 RETURN;
4619
4620/* Update the last_mod for INSERTs and UPDATEs */
4621 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4622 IF @nKeyVal IS NULL
4623 BEGIN
4624 SET @nKeyVal = 1
4625 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4626 END
4627
4628 UPDATE updates SET prefs_bk = @nKeyVal + @CountIns - 1
4629 IF @@ERROR != 0
4630 BEGIN
4631 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4632 RETURN
4633 END
4634
4635 SET @nKeyVal = @nKeyVal - 1
4636 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM prefs_bk a JOIN inserted i ON a.pri_key = i.pri_key
4637 IF @@ERROR != 0
4638 BEGIN
4639 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4640 RETURN
4641 END
4642
4643GO
4644
4645DROP TRIGGER prefs_cc_last_mod_IU
4646GO
4647CREATE TRIGGER [dbo].[prefs_cc_last_mod_IU] ON [dbo].[prefs_cc]
4648FOR INSERT, UPDATE
4649AS
4650DECLARE @CountIns int,
4651 @cTableName varchar(10),
4652 @nKeyVal int
4653
4654SET NOCOUNT ON
4655SET @cTableName = 'prefs_cc'
4656SELECT @CountIns = COUNT(*) FROM Inserted
4657IF @CountIns = 0 RETURN;
4658
4659/* Update the last_mod for INSERTs and UPDATEs */
4660 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4661 IF @nKeyVal IS NULL
4662 BEGIN
4663 SET @nKeyVal = 1
4664 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4665 END
4666
4667 UPDATE updates SET prefs_cc = @nKeyVal + @CountIns - 1
4668 IF @@ERROR != 0
4669 BEGIN
4670 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4671 RETURN
4672 END
4673
4674 SET @nKeyVal = @nKeyVal - 1
4675 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM prefs_cc a JOIN inserted i ON a.pri_key = i.pri_key
4676 IF @@ERROR != 0
4677 BEGIN
4678 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4679 RETURN
4680 END
4681
4682GO
4683
4684DROP TRIGGER prefs_gs_last_mod_IU
4685GO
4686CREATE TRIGGER [dbo].[prefs_gs_last_mod_IU] ON [dbo].[prefs_gs]
4687FOR INSERT, UPDATE
4688AS
4689DECLARE @CountIns int,
4690 @cTableName varchar(10),
4691 @nKeyVal int
4692
4693SET NOCOUNT ON
4694SET @cTableName = 'prefs_gs'
4695SELECT @CountIns = COUNT(*) FROM Inserted
4696IF @CountIns = 0 RETURN;
4697
4698/* Update the last_mod for INSERTs and UPDATEs */
4699 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4700 IF @nKeyVal IS NULL
4701 BEGIN
4702 SET @nKeyVal = 1
4703 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4704 END
4705
4706 UPDATE updates SET prefs_gs = @nKeyVal + @CountIns - 1
4707 IF @@ERROR != 0
4708 BEGIN
4709 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4710 RETURN
4711 END
4712
4713 SET @nKeyVal = @nKeyVal - 1
4714 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM prefs_gs a JOIN inserted i ON a.pri_key = i.pri_key
4715 IF @@ERROR != 0
4716 BEGIN
4717 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4718 RETURN
4719 END
4720
4721GO
4722
4723DROP TRIGGER prefs_last_mod_IU
4724GO
4725CREATE TRIGGER [dbo].[prefs_last_mod_IU] ON [dbo].[prefs]
4726FOR INSERT, UPDATE
4727AS
4728DECLARE @CountIns int,
4729 @cTableName varchar(10),
4730 @nKeyVal int
4731
4732SET NOCOUNT ON
4733SET @cTableName = 'prefs'
4734SELECT @CountIns = COUNT(*) FROM Inserted
4735IF @CountIns = 0 RETURN;
4736
4737/* Update the last_mod for INSERTs and UPDATEs */
4738 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4739 IF @nKeyVal IS NULL
4740 BEGIN
4741 SET @nKeyVal = 1
4742 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4743 END
4744
4745 UPDATE updates SET prefs = @nKeyVal + @CountIns - 1
4746 IF @@ERROR != 0
4747 BEGIN
4748 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4749 RETURN
4750 END
4751
4752 SET @nKeyVal = @nKeyVal - 1
4753 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM prefs a JOIN inserted i ON a.pri_key = i.pri_key
4754 IF @@ERROR != 0
4755 BEGIN
4756 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4757 RETURN
4758 END
4759
4760GO
4761
4762DROP TRIGGER prefs_rl_last_mod_IU
4763GO
4764CREATE TRIGGER [dbo].[prefs_rl_last_mod_IU] ON [dbo].[prefs_rl]
4765FOR INSERT, UPDATE
4766AS
4767DECLARE @CountIns int,
4768 @cTableName varchar(10),
4769 @nKeyVal int
4770
4771SET NOCOUNT ON
4772SET @cTableName = 'prefs_rl'
4773SELECT @CountIns = COUNT(*) FROM Inserted
4774IF @CountIns = 0 RETURN;
4775
4776/* Update the last_mod for INSERTs and UPDATEs */
4777 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4778 IF @nKeyVal IS NULL
4779 BEGIN
4780 SET @nKeyVal = 1
4781 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4782 END
4783
4784 UPDATE updates SET prefs_rl = @nKeyVal + @CountIns - 1
4785 IF @@ERROR != 0
4786 BEGIN
4787 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4788 RETURN
4789 END
4790
4791 SET @nKeyVal = @nKeyVal - 1
4792 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM prefs_rl a JOIN inserted i ON a.pri_key = i.pri_key
4793 IF @@ERROR != 0
4794 BEGIN
4795 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4796 RETURN
4797 END
4798
4799GO
4800
4801DROP TRIGGER prefs_rt_last_mod_IU
4802GO
4803CREATE TRIGGER [dbo].[prefs_rt_last_mod_IU] ON [dbo].[prefs_rt]
4804FOR INSERT, UPDATE
4805AS
4806DECLARE @CountIns int,
4807 @cTableName varchar(10),
4808 @nKeyVal int
4809
4810SET NOCOUNT ON
4811SET @cTableName = 'prefs_rt'
4812SELECT @CountIns = COUNT(*) FROM Inserted
4813IF @CountIns = 0 RETURN;
4814
4815/* Update the last_mod for INSERTs and UPDATEs */
4816 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4817 IF @nKeyVal IS NULL
4818 BEGIN
4819 SET @nKeyVal = 1
4820 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4821 END
4822
4823 UPDATE updates SET prefs_rt = @nKeyVal + @CountIns - 1
4824 IF @@ERROR != 0
4825 BEGIN
4826 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4827 RETURN
4828 END
4829
4830 SET @nKeyVal = @nKeyVal - 1
4831 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM prefs_rt a JOIN inserted i ON a.pri_key = i.pri_key
4832 IF @@ERROR != 0
4833 BEGIN
4834 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4835 RETURN
4836 END
4837
4838GO
4839
4840DROP TRIGGER prefs_rz_last_mod_IU
4841GO
4842CREATE TRIGGER [dbo].[prefs_rz_last_mod_IU] ON [dbo].[prefs_rz]
4843FOR INSERT, UPDATE
4844AS
4845DECLARE @CountIns int,
4846 @cTableName varchar(10),
4847 @nKeyVal int
4848
4849SET NOCOUNT ON
4850SET @cTableName = 'prefs_rz'
4851SELECT @CountIns = COUNT(*) FROM Inserted
4852IF @CountIns = 0 RETURN;
4853
4854/* Update the last_mod for INSERTs and UPDATEs */
4855 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4856 IF @nKeyVal IS NULL
4857 BEGIN
4858 SET @nKeyVal = 1
4859 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4860 END
4861
4862 UPDATE updates SET prefs_rz = @nKeyVal + @CountIns - 1
4863 IF @@ERROR != 0
4864 BEGIN
4865 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4866 RETURN
4867 END
4868
4869 SET @nKeyVal = @nKeyVal - 1
4870 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM prefs_rz a JOIN inserted i ON a.pri_key = i.pri_key
4871 IF @@ERROR != 0
4872 BEGIN
4873 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4874 RETURN
4875 END
4876
4877GO
4878
4879DROP TRIGGER prefs_sl_last_mod_IU
4880GO
4881CREATE TRIGGER [dbo].[prefs_sl_last_mod_IU] ON [dbo].[prefs_sl]
4882FOR INSERT, UPDATE
4883AS
4884DECLARE @CountIns int,
4885 @CountDel int,
4886 @cTableName varchar(10),
4887 @nKeyVal int,
4888 @nMax4Saved tinyint,
4889 @lUseCounts bit,
4890 @nOldMax4Saved tinyint,
4891 @lOldUseCounts bit
4892
4893SET NOCOUNT ON
4894SET @cTableName = 'prefs_sl'
4895SELECT @CountIns = count(*) FROM Inserted
4896select @CountDel = count(*) from Deleted ;
4897IF @CountIns = 0 RETURN;
4898
4899/* Update the last_mod for INSERTs and UPDATEs */
4900UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
4901IF @nKeyVal IS NULL
4902BEGIN
4903 SET @nKeyVal = 1
4904 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
4905END
4906
4907UPDATE updates SET prefs_sl = @nKeyVal + @CountIns - 1
4908IF @@ERROR != 0
4909BEGIN
4910 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4911 RETURN
4912END
4913
4914SET @nKeyVal = @nKeyVal - 1
4915UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM prefs_sl a JOIN inserted i ON a.pri_key = i.pri_key
4916IF @@ERROR != 0
4917BEGIN
4918 RAISERROR('Cannot update the LAST_MOD value.',16,1)
4919 RETURN
4920END
4921
4922/* The rest of the trigger is to determine if the Max4Saved or UseCounts values changed.
4923 If so, need to kill the Max4SaleCounts and Pts4SaleCounts tables */
4924
4925/* Quit now if nothing to process (i.e. insert) */
4926if @CountIns = 0 or @CountDel = 0 return ;
4927
4928/* If batch updated more than one prefs_sl row (this should never happen), just kill
4929 the counts table and let calls to the GetQtyRemaining sproc rebuild it as needed */
4930if @CountIns > 1 or @CountDel > 1
4931begin
4932 truncate table Max4SaleCounts ;
4933 truncate table Pts4SaleCounts ;
4934 return ;
4935end
4936
4937/* Get the old and new values */
4938select top 1 @nMax4Saved = N.Max4_Saved,
4939 @lUseCounts = N.UseCounts,
4940 @nOldMax4Saved = O.Max4_Saved,
4941 @lOldUseCounts = O.UseCounts
4942from Inserted N
4943inner join Deleted O on N.pri_key = O.pri_key
4944
4945/* If the Max4Saved or UseCounts values changed. If so, kill the Max4SaleCounts table */
4946if @nMax4Saved <> @nOldMax4Saved or @lUseCounts <> @lOldUseCounts
4947begin
4948 truncate table Max4SaleCounts ;
4949 truncate table Pts4SaleCounts ;
4950 return ;
4951end
4952
4953/* For extra performance, disable the transact/tr_save triggers if triggered counts switch is changed */
4954if @CountDel > 0 and @lUseCounts <> @lOldUseCounts
4955begin
4956 set transaction isolation level read committed ;
4957 if @lUseCounts = 0
4958 begin
4959 alter table transact disable trigger transact_Max4SaleCount_D ;
4960 alter table transact disable trigger transact_Max4SaleCount_I ;
4961 alter table transact disable trigger transact_Max4SaleCount_U ;
4962 alter table transact disable trigger transact_Pts4SaleCount_D ;
4963 alter table transact disable trigger transact_Pts4SaleCount_I ;
4964 alter table transact disable trigger transact_Pts4SaleCount_U ;
4965 alter table tr_save disable trigger tr_save_Max4SaleCount_D ;
4966 alter table tr_save disable trigger tr_save_Max4SaleCount_I ;
4967 alter table tr_save disable trigger tr_save_Max4SaleCount_U ;
4968 alter table tr_save disable trigger tr_save_Pts4SaleCount_D ;
4969 alter table tr_save disable trigger tr_save_Pts4SaleCount_I ;
4970 alter table tr_save disable trigger tr_save_Pts4SaleCount_U ;
4971 end
4972 else
4973 begin
4974 alter table transact enable trigger transact_Max4SaleCount_D ;
4975 alter table transact enable trigger transact_Max4SaleCount_I ;
4976 alter table transact enable trigger transact_Max4SaleCount_U ;
4977 alter table transact enable trigger transact_Pts4SaleCount_D ;
4978 alter table transact enable trigger transact_Pts4SaleCount_I ;
4979 alter table transact enable trigger transact_Pts4SaleCount_U ;
4980 alter table tr_save enable trigger tr_save_Max4SaleCount_D ;
4981 alter table tr_save enable trigger tr_save_Max4SaleCount_I ;
4982 alter table tr_save enable trigger tr_save_Max4SaleCount_U ;
4983 alter table tr_save enable trigger tr_save_Pts4SaleCount_D ;
4984 alter table tr_save enable trigger tr_save_Pts4SaleCount_I ;
4985 alter table tr_save enable trigger tr_save_Pts4SaleCount_U ;
4986 end
4987 set transaction isolation level read uncommitted ;
4988end
4989return ;
4990
4991GO
4992
4993DROP TRIGGER printers_last_mod_D
4994GO
4995CREATE TRIGGER [dbo].[printers_last_mod_D] ON [dbo].[printers]
4996FOR DELETE
4997AS
4998DECLARE @cTableName varchar(8)
4999
5000SET NOCOUNT ON
5001SET @cTableName = 'printers'
5002IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5003
5004/* Add a record to the deletes table for DELETEs */
5005 BEGIN TRANSACTION
5006 INSERT INTO deletes (tablename, key_val)
5007 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
5008 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5009 IF @@ERROR != 0
5010 BEGIN
5011 RAISERROR('Cannot update the DELETES value.',16,1)
5012 ROLLBACK TRANSACTION
5013 RETURN
5014 END
5015 COMMIT TRANSACTION
5016
5017GO
5018
5019DROP TRIGGER printers_last_mod_IU
5020GO
5021CREATE TRIGGER [dbo].[printers_last_mod_IU] ON [dbo].[printers]
5022FOR INSERT, UPDATE
5023AS
5024DECLARE @CountIns int,
5025 @cTableName varchar(10),
5026 @nKeyVal int
5027
5028SET NOCOUNT ON
5029SET @cTableName = 'printers'
5030SELECT @CountIns = COUNT(*) FROM Inserted
5031IF @CountIns = 0 RETURN;
5032
5033/* Update the last_mod for INSERTs and UPDATEs */
5034 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5035 IF @nKeyVal IS NULL
5036 BEGIN
5037 SET @nKeyVal = 1
5038 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5039 END
5040
5041 UPDATE updates SET printers = @nKeyVal + @CountIns - 1
5042 IF @@ERROR != 0
5043 BEGIN
5044 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5045 RETURN
5046 END
5047
5048 SET @nKeyVal = @nKeyVal - 1
5049 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM printers a JOIN inserted i ON a.pri_key = i.pri_key
5050 IF @@ERROR != 0
5051 BEGIN
5052 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5053 RETURN
5054 END
5055
5056GO
5057
5058DROP TRIGGER prof_ctr_last_mod_D
5059GO
5060CREATE TRIGGER [dbo].[prof_ctr_last_mod_D] ON [dbo].[prof_ctr]
5061FOR DELETE
5062AS
5063DECLARE @cTableName varchar(8)
5064
5065SET NOCOUNT ON
5066SET @cTableName = 'prof_ctr'
5067IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5068
5069/* Add a record to the deletes table for DELETEs */
5070 BEGIN TRANSACTION
5071 INSERT INTO deletes (tablename, key_val)
5072 SELECT @cTableName AS tablename, CAST(pr_ctr_no AS varchar(60)) AS key_val FROM Deleted
5073 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5074 IF @@ERROR != 0
5075 BEGIN
5076 RAISERROR('Cannot update the DELETES value.',16,1)
5077 ROLLBACK TRANSACTION
5078 RETURN
5079 END
5080 COMMIT TRANSACTION
5081
5082GO
5083
5084DROP TRIGGER prof_ctr_last_mod_IU
5085GO
5086CREATE TRIGGER [dbo].[prof_ctr_last_mod_IU] ON [dbo].[prof_ctr]
5087FOR INSERT, UPDATE
5088AS
5089DECLARE @CountIns int,
5090 @cTableName varchar(10),
5091 @nKeyVal int
5092
5093SET NOCOUNT ON
5094SET @cTableName = 'prof_ctr'
5095SELECT @CountIns = COUNT(*) FROM Inserted
5096IF @CountIns = 0 RETURN;
5097
5098/* Update the last_mod for INSERTs and UPDATEs */
5099 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5100 IF @nKeyVal IS NULL
5101 BEGIN
5102 SET @nKeyVal = 1
5103 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5104 END
5105
5106 UPDATE updates SET prof_ctr = @nKeyVal + @CountIns - 1
5107 IF @@ERROR != 0
5108 BEGIN
5109 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5110 RETURN
5111 END
5112
5113 SET @nKeyVal = @nKeyVal - 1
5114 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM prof_ctr a JOIN inserted i ON a.pr_ctr_no = i.pr_ctr_no
5115 IF @@ERROR != 0
5116 BEGIN
5117 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5118 RETURN
5119 END
5120
5121GO
5122
5123DROP TRIGGER pts4sale_IU
5124GO
5125CREATE TRIGGER [dbo].[pts4sale_IU] ON [dbo].[pts4sale]
5126FOR INSERT, UPDATE
5127AS
5128DECLARE @CountIns int,
5129 @CountDel int,
5130 @cTableName varchar(10),
5131 @nKeyVal int
5132
5133SET NOCOUNT ON
5134SET @cTableName = 'pts4sale'
5135SELECT @CountIns = COUNT(*) FROM Inserted
5136SELECT @CountDel = COUNT(*) FROM Deleted
5137IF @CountIns = 0 RETURN;
5138
5139/* On an update, kill any related Pts4SaleCounts child rows for updated Pts4Sale restrictions.
5140 Calls to GetQtyRemaining sproc will rebuild them. */
5141IF @CountDel <> 0
5142 delete from dbo.Pts4SaleCounts
5143 from dbo.Pts4SaleCounts as mc
5144 inner join Inserted as i on mc.Pts4SaleID = i.Pts4SaleID ;
5145
5146return
5147
5148GO
5149
5150DROP TRIGGER r_bindng_last_mod_D
5151GO
5152CREATE TRIGGER [dbo].[r_bindng_last_mod_D] ON [dbo].[r_bindng]
5153FOR DELETE
5154AS
5155DECLARE @cTableName varchar(8)
5156
5157SET NOCOUNT ON
5158SET @cTableName = 'r_bindng'
5159IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5160
5161/* Add a record to the deletes table for DELETEs */
5162 BEGIN TRANSACTION
5163 INSERT INTO deletes (tablename, key_val)
5164 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
5165 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5166 IF @@ERROR != 0
5167 BEGIN
5168 RAISERROR('Cannot update the DELETES value.',16,1)
5169 ROLLBACK TRANSACTION
5170 RETURN
5171 END
5172 COMMIT TRANSACTION
5173
5174GO
5175
5176DROP TRIGGER r_bindng_last_mod_IU
5177GO
5178CREATE TRIGGER [dbo].[r_bindng_last_mod_IU] ON [dbo].[r_bindng]
5179FOR INSERT, UPDATE
5180AS
5181DECLARE @CountIns int,
5182 @cTableName varchar(10),
5183 @nKeyVal int
5184
5185SET NOCOUNT ON
5186SET @cTableName = 'r_bindng'
5187SELECT @CountIns = COUNT(*) FROM Inserted
5188IF @CountIns = 0 RETURN;
5189
5190/* Update the last_mod for INSERTs and UPDATEs */
5191 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5192 IF @nKeyVal IS NULL
5193 BEGIN
5194 SET @nKeyVal = 1
5195 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5196 END
5197
5198 UPDATE updates SET r_bindng = @nKeyVal + @CountIns - 1
5199 IF @@ERROR != 0
5200 BEGIN
5201 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5202 RETURN
5203 END
5204
5205 SET @nKeyVal = @nKeyVal - 1
5206 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_bindng a JOIN inserted i ON a.pri_key = i.pri_key
5207 IF @@ERROR != 0
5208 BEGIN
5209 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5210 RETURN
5211 END
5212
5213GO
5214
5215DROP TRIGGER r_bmodel_last_mod_D
5216GO
5217CREATE TRIGGER [dbo].[r_bmodel_last_mod_D] ON [dbo].[r_bmodel]
5218FOR DELETE
5219AS
5220DECLARE @cTableName varchar(8)
5221
5222SET NOCOUNT ON
5223SET @cTableName = 'r_bmodel'
5224IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5225
5226/* Add a record to the deletes table for DELETEs */
5227 BEGIN TRANSACTION
5228 INSERT INTO deletes (tablename, key_val)
5229 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
5230 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5231 IF @@ERROR != 0
5232 BEGIN
5233 RAISERROR('Cannot update the DELETES value.',16,1)
5234 ROLLBACK TRANSACTION
5235 RETURN
5236 END
5237 COMMIT TRANSACTION
5238
5239GO
5240
5241DROP TRIGGER r_bmodel_last_mod_IU
5242GO
5243CREATE TRIGGER [dbo].[r_bmodel_last_mod_IU] ON [dbo].[r_bmodel]
5244FOR INSERT, UPDATE
5245AS
5246DECLARE @CountIns int,
5247 @cTableName varchar(10),
5248 @nKeyVal int
5249
5250SET NOCOUNT ON
5251SET @cTableName = 'r_bmodel'
5252SELECT @CountIns = COUNT(*) FROM Inserted
5253IF @CountIns = 0 RETURN;
5254
5255/* Update the last_mod for INSERTs and UPDATEs */
5256 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5257 IF @nKeyVal IS NULL
5258 BEGIN
5259 SET @nKeyVal = 1
5260 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5261 END
5262
5263 UPDATE updates SET r_bmodel = @nKeyVal + @CountIns - 1
5264 IF @@ERROR != 0
5265 BEGIN
5266 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5267 RETURN
5268 END
5269
5270 SET @nKeyVal = @nKeyVal - 1
5271 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_bmodel a JOIN inserted i ON a.pri_key = i.pri_key
5272 IF @@ERROR != 0
5273 BEGIN
5274 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5275 RETURN
5276 END
5277
5278GO
5279
5280DROP TRIGGER r_entals_last_mod_D
5281GO
5282CREATE TRIGGER [dbo].[r_entals_last_mod_D] ON [dbo].[r_entals]
5283FOR DELETE
5284AS
5285DECLARE @cTableName varchar(8)
5286
5287SET NOCOUNT ON
5288SET @cTableName = 'r_entals'
5289IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5290
5291/* Add a record to the deletes table for DELETEs */
5292 BEGIN TRANSACTION
5293 INSERT INTO deletes (tablename, key_val)
5294 SELECT @cTableName AS tablename, CAST(track_no AS varchar(60)) AS key_val FROM Deleted
5295 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5296 IF @@ERROR != 0
5297 BEGIN
5298 RAISERROR('Cannot update the DELETES value.',16,1)
5299 ROLLBACK TRANSACTION
5300 RETURN
5301 END
5302 COMMIT TRANSACTION
5303
5304GO
5305
5306DROP TRIGGER r_entals_last_mod_IU
5307GO
5308CREATE TRIGGER [dbo].[r_entals_last_mod_IU] ON [dbo].[r_entals]
5309FOR INSERT, UPDATE
5310AS
5311DECLARE @CountIns int,
5312 @cTableName varchar(10),
5313 @nKeyVal int
5314
5315SET NOCOUNT ON
5316SET @cTableName = 'r_entals'
5317SELECT @CountIns = COUNT(*) FROM Inserted
5318IF @CountIns = 0 RETURN;
5319
5320/* Update the last_mod for INSERTs and UPDATEs */
5321 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5322 IF @nKeyVal IS NULL
5323 BEGIN
5324 SET @nKeyVal = 1
5325 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5326 END
5327
5328 UPDATE updates SET r_entals = @nKeyVal + @CountIns - 1
5329 IF @@ERROR != 0
5330 BEGIN
5331 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5332 RETURN
5333 END
5334
5335 SET @nKeyVal = @nKeyVal - 1
5336 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_entals a JOIN inserted i ON a.track_no = i.track_no
5337 IF @@ERROR != 0
5338 BEGIN
5339 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5340 RETURN
5341 END
5342
5343GO
5344
5345DROP TRIGGER r_eqpmfg_last_mod_D
5346GO
5347CREATE TRIGGER [dbo].[r_eqpmfg_last_mod_D] ON [dbo].[r_eqpmfg]
5348FOR DELETE
5349AS
5350DECLARE @cTableName varchar(8)
5351
5352SET NOCOUNT ON
5353SET @cTableName = 'r_eqpmfg'
5354IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5355
5356/* Add a record to the deletes table for DELETEs */
5357 BEGIN TRANSACTION
5358 INSERT INTO deletes (tablename, key_val)
5359 SELECT @cTableName AS tablename, CAST(reqpmfg_id AS varchar(60)) AS key_val FROM Deleted
5360 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5361 IF @@ERROR != 0
5362 BEGIN
5363 RAISERROR('Cannot update the DELETES value.',16,1)
5364 ROLLBACK TRANSACTION
5365 RETURN
5366 END
5367 COMMIT TRANSACTION
5368
5369GO
5370
5371DROP TRIGGER r_eqpmfg_last_mod_IU
5372GO
5373CREATE TRIGGER [dbo].[r_eqpmfg_last_mod_IU] ON [dbo].[r_eqpmfg]
5374FOR INSERT, UPDATE
5375AS
5376DECLARE @CountIns int,
5377 @cTableName varchar(10),
5378 @nKeyVal int
5379
5380SET NOCOUNT ON
5381SET @cTableName = 'r_eqpmfg'
5382SELECT @CountIns = COUNT(*) FROM Inserted
5383IF @CountIns = 0 RETURN;
5384
5385/* Update the last_mod for INSERTs and UPDATEs */
5386 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5387 IF @nKeyVal IS NULL
5388 BEGIN
5389 SET @nKeyVal = 1
5390 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5391 END
5392
5393 UPDATE updates SET r_eqpmfg = @nKeyVal + @CountIns - 1
5394 IF @@ERROR != 0
5395 BEGIN
5396 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5397 RETURN
5398 END
5399
5400 SET @nKeyVal = @nKeyVal - 1
5401 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_eqpmfg a JOIN inserted i ON a.reqpmfg_id = i.reqpmfg_id
5402 IF @@ERROR != 0
5403 BEGIN
5404 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5405 RETURN
5406 END
5407
5408GO
5409
5410DROP TRIGGER r_eqpmod_last_mod_D
5411GO
5412CREATE TRIGGER [dbo].[r_eqpmod_last_mod_D] ON [dbo].[r_eqpmod]
5413FOR DELETE
5414AS
5415DECLARE @cTableName varchar(8)
5416
5417SET NOCOUNT ON
5418SET @cTableName = 'r_eqpmod'
5419IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5420
5421/* Add a record to the deletes table for DELETEs */
5422 BEGIN TRANSACTION
5423 INSERT INTO deletes (tablename, key_val)
5424 SELECT @cTableName AS tablename, CAST(reqpmod_id AS varchar(60)) AS key_val FROM Deleted
5425 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5426 IF @@ERROR != 0
5427 BEGIN
5428 RAISERROR('Cannot update the DELETES value.',16,1)
5429 ROLLBACK TRANSACTION
5430 RETURN
5431 END
5432 COMMIT TRANSACTION
5433
5434GO
5435
5436DROP TRIGGER r_eqpmod_last_mod_IU
5437GO
5438CREATE TRIGGER [dbo].[r_eqpmod_last_mod_IU] ON [dbo].[r_eqpmod]
5439FOR INSERT, UPDATE
5440AS
5441DECLARE @CountIns int,
5442 @cTableName varchar(10),
5443 @nKeyVal int
5444
5445SET NOCOUNT ON
5446SET @cTableName = 'r_eqpmod'
5447SELECT @CountIns = COUNT(*) FROM Inserted
5448IF @CountIns = 0 RETURN;
5449
5450/* Update the last_mod for INSERTs and UPDATEs */
5451 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5452 IF @nKeyVal IS NULL
5453 BEGIN
5454 SET @nKeyVal = 1
5455 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5456 END
5457
5458 UPDATE updates SET r_eqpmod = @nKeyVal + @CountIns - 1
5459 IF @@ERROR != 0
5460 BEGIN
5461 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5462 RETURN
5463 END
5464
5465 SET @nKeyVal = @nKeyVal - 1
5466 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_eqpmod a JOIN inserted i ON a.reqpmod_id = i.reqpmod_id
5467 IF @@ERROR != 0
5468 BEGIN
5469 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5470 RETURN
5471 END
5472
5473GO
5474
5475DROP TRIGGER r_header_last_mod_D
5476GO
5477CREATE TRIGGER [dbo].[r_header_last_mod_D] ON [dbo].[r_header]
5478FOR DELETE
5479AS
5480DECLARE @cTableName varchar(8)
5481
5482SET NOCOUNT ON
5483SET @cTableName = 'r_header'
5484IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5485
5486/* Add a record to the deletes table for DELETEs */
5487 BEGIN TRANSACTION
5488 INSERT INTO deletes (tablename, key_val)
5489 SELECT @cTableName AS tablename, CAST(rental_no AS varchar(60)) AS key_val FROM Deleted
5490 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5491 IF @@ERROR != 0
5492 BEGIN
5493 RAISERROR('Cannot update the DELETES value.',16,1)
5494 ROLLBACK TRANSACTION
5495 RETURN
5496 END
5497 COMMIT TRANSACTION
5498
5499GO
5500
5501DROP TRIGGER r_header_last_mod_IU
5502GO
5503CREATE TRIGGER [dbo].[r_header_last_mod_IU] ON [dbo].[r_header]
5504FOR INSERT, UPDATE
5505AS
5506DECLARE @CountIns int,
5507 @cTableName varchar(10),
5508 @nKeyVal int
5509
5510SET NOCOUNT ON
5511SET @cTableName = 'r_header'
5512SELECT @CountIns = COUNT(*) FROM Inserted
5513IF @CountIns = 0 RETURN;
5514
5515/* Update the last_mod for INSERTs and UPDATEs */
5516 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5517 IF @nKeyVal IS NULL
5518 BEGIN
5519 SET @nKeyVal = 1
5520 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5521 END
5522
5523 UPDATE updates SET r_header = @nKeyVal + @CountIns - 1
5524 IF @@ERROR != 0
5525 BEGIN
5526 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5527 RETURN
5528 END
5529
5530 SET @nKeyVal = @nKeyVal - 1
5531 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_header a JOIN inserted i ON a.rental_no = i.rental_no
5532 IF @@ERROR != 0
5533 BEGIN
5534 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5535 RETURN
5536 END
5537
5538GO
5539
5540DROP TRIGGER r_hist_last_mod_D
5541GO
5542CREATE TRIGGER [dbo].[r_hist_last_mod_D] ON [dbo].[r_hist]
5543FOR DELETE
5544AS
5545DECLARE @cTableName varchar(8)
5546
5547SET NOCOUNT ON
5548SET @cTableName = 'r_hist'
5549IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5550
5551/* Add a record to the deletes table for DELETEs */
5552 BEGIN TRANSACTION
5553 INSERT INTO deletes (tablename, key_val)
5554 SELECT @cTableName AS tablename, CAST(track_no AS varchar(60)) AS key_val FROM Deleted
5555 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5556 IF @@ERROR != 0
5557 BEGIN
5558 RAISERROR('Cannot update the DELETES value.',16,1)
5559 ROLLBACK TRANSACTION
5560 RETURN
5561 END
5562 COMMIT TRANSACTION
5563
5564GO
5565
5566DROP TRIGGER r_hist_last_mod_IU
5567GO
5568CREATE TRIGGER [dbo].[r_hist_last_mod_IU] ON [dbo].[r_hist]
5569FOR INSERT, UPDATE
5570AS
5571DECLARE @CountIns int,
5572 @cTableName varchar(10),
5573 @nKeyVal int
5574
5575SET NOCOUNT ON
5576SET @cTableName = 'r_hist'
5577SELECT @CountIns = COUNT(*) FROM Inserted
5578IF @CountIns = 0 RETURN;
5579
5580/* Update the last_mod for INSERTs and UPDATEs */
5581 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5582 IF @nKeyVal IS NULL
5583 BEGIN
5584 SET @nKeyVal = 1
5585 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5586 END
5587
5588 UPDATE updates SET r_hist = @nKeyVal + @CountIns - 1
5589 IF @@ERROR != 0
5590 BEGIN
5591 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5592 RETURN
5593 END
5594
5595 SET @nKeyVal = @nKeyVal - 1
5596 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_hist a JOIN inserted i ON a.track_no = i.track_no
5597 IF @@ERROR != 0
5598 BEGIN
5599 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5600 RETURN
5601 END
5602
5603GO
5604
5605DROP TRIGGER r_invent_last_mod_D
5606GO
5607CREATE TRIGGER [dbo].[r_invent_last_mod_D] ON [dbo].[r_invent]
5608FOR DELETE
5609AS
5610DECLARE @cTableName varchar(8)
5611
5612SET NOCOUNT ON
5613SET @cTableName = 'r_invent'
5614IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5615
5616/* Add a record to the deletes table for DELETEs */
5617 BEGIN TRANSACTION
5618 INSERT INTO deletes (tablename, key_val)
5619 SELECT @cTableName AS tablename, CAST(equip_tag AS varchar(60)) AS key_val FROM Deleted
5620 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5621 IF @@ERROR != 0
5622 BEGIN
5623 RAISERROR('Cannot update the DELETES value.',16,1)
5624 ROLLBACK TRANSACTION
5625 RETURN
5626 END
5627 COMMIT TRANSACTION
5628
5629GO
5630
5631DROP TRIGGER r_invent_last_mod_IU
5632GO
5633CREATE TRIGGER [dbo].[r_invent_last_mod_IU] ON [dbo].[r_invent]
5634FOR INSERT, UPDATE
5635AS
5636DECLARE @CountIns int,
5637 @cTableName varchar(10),
5638 @nKeyVal int
5639
5640SET NOCOUNT ON
5641SET @cTableName = 'r_invent'
5642SELECT @CountIns = COUNT(*) FROM Inserted
5643IF @CountIns = 0 RETURN;
5644
5645/* Update the last_mod for INSERTs and UPDATEs */
5646 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5647 IF @nKeyVal IS NULL
5648 BEGIN
5649 SET @nKeyVal = 1
5650 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5651 END
5652
5653 UPDATE updates SET r_invent = @nKeyVal + @CountIns - 1
5654 IF @@ERROR != 0
5655 BEGIN
5656 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5657 RETURN
5658 END
5659
5660 SET @nKeyVal = @nKeyVal - 1
5661 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_invent a JOIN inserted i ON a.equip_tag = i.equip_tag
5662 IF @@ERROR != 0
5663 BEGIN
5664 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5665 RETURN
5666 END
5667
5668GO
5669
5670DROP TRIGGER r_levels_last_mod_D
5671GO
5672CREATE TRIGGER [dbo].[r_levels_last_mod_D] ON [dbo].[r_levels]
5673FOR DELETE
5674AS
5675DECLARE @cTableName varchar(8)
5676
5677SET NOCOUNT ON
5678SET @cTableName = 'r_levels'
5679IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5680
5681/* Add a record to the deletes table for DELETEs */
5682 BEGIN TRANSACTION
5683 INSERT INTO deletes (tablename, key_val)
5684 SELECT @cTableName AS tablename, CAST(level_code AS varchar(60)) AS key_val FROM Deleted
5685 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5686 IF @@ERROR != 0
5687 BEGIN
5688 RAISERROR('Cannot update the DELETES value.',16,1)
5689 ROLLBACK TRANSACTION
5690 RETURN
5691 END
5692 COMMIT TRANSACTION
5693
5694GO
5695
5696DROP TRIGGER r_levels_last_mod_IU
5697GO
5698CREATE TRIGGER [dbo].[r_levels_last_mod_IU] ON [dbo].[r_levels]
5699FOR INSERT, UPDATE
5700AS
5701DECLARE @CountIns int,
5702 @cTableName varchar(10),
5703 @nKeyVal int
5704
5705SET NOCOUNT ON
5706SET @cTableName = 'r_levels'
5707SELECT @CountIns = COUNT(*) FROM Inserted
5708IF @CountIns = 0 RETURN;
5709
5710/* Update the last_mod for INSERTs and UPDATEs */
5711 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5712 IF @nKeyVal IS NULL
5713 BEGIN
5714 SET @nKeyVal = 1
5715 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5716 END
5717
5718 UPDATE updates SET r_levels = @nKeyVal + @CountIns - 1
5719 IF @@ERROR != 0
5720 BEGIN
5721 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5722 RETURN
5723 END
5724
5725 SET @nKeyVal = @nKeyVal - 1
5726 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_levels a JOIN inserted i ON a.level_code = i.level_code
5727 IF @@ERROR != 0
5728 BEGIN
5729 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5730 RETURN
5731 END
5732
5733GO
5734
5735DROP TRIGGER r_mreasn_last_mod_D
5736GO
5737CREATE TRIGGER [dbo].[r_mreasn_last_mod_D] ON [dbo].[r_mreasn]
5738FOR DELETE
5739AS
5740DECLARE @cTableName varchar(8)
5741
5742SET NOCOUNT ON
5743SET @cTableName = 'r_mreasn'
5744IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5745
5746/* Add a record to the deletes table for DELETEs */
5747 BEGIN TRANSACTION
5748 INSERT INTO deletes (tablename, key_val)
5749 SELECT @cTableName AS tablename, CAST(reason_id AS varchar(60)) AS key_val FROM Deleted
5750 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5751 IF @@ERROR != 0
5752 BEGIN
5753 RAISERROR('Cannot update the DELETES value.',16,1)
5754 ROLLBACK TRANSACTION
5755 RETURN
5756 END
5757 COMMIT TRANSACTION
5758
5759GO
5760
5761DROP TRIGGER r_mreasn_last_mod_IU
5762GO
5763CREATE TRIGGER [dbo].[r_mreasn_last_mod_IU] ON [dbo].[r_mreasn]
5764FOR INSERT, UPDATE
5765AS
5766DECLARE @CountIns int,
5767 @cTableName varchar(10),
5768 @nKeyVal int
5769
5770SET NOCOUNT ON
5771SET @cTableName = 'r_mreasn'
5772SELECT @CountIns = COUNT(*) FROM Inserted
5773IF @CountIns = 0 RETURN;
5774
5775/* Update the last_mod for INSERTs and UPDATEs */
5776 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5777 IF @nKeyVal IS NULL
5778 BEGIN
5779 SET @nKeyVal = 1
5780 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5781 END
5782
5783 UPDATE updates SET r_mreasn = @nKeyVal + @CountIns - 1
5784 IF @@ERROR != 0
5785 BEGIN
5786 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5787 RETURN
5788 END
5789
5790 SET @nKeyVal = @nKeyVal - 1
5791 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_mreasn a JOIN inserted i ON a.reason_id = i.reason_id
5792 IF @@ERROR != 0
5793 BEGIN
5794 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5795 RETURN
5796 END
5797
5798GO
5799
5800DROP TRIGGER r_packgs_last_mod_D
5801GO
5802CREATE TRIGGER [dbo].[r_packgs_last_mod_D] ON [dbo].[r_packgs]
5803FOR DELETE
5804AS
5805DECLARE @cTableName varchar(8)
5806
5807SET NOCOUNT ON
5808SET @cTableName = 'r_packgs'
5809IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5810
5811/* Add a record to the deletes table for DELETEs */
5812 BEGIN TRANSACTION
5813 INSERT INTO deletes (tablename, key_val)
5814 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
5815 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5816 IF @@ERROR != 0
5817 BEGIN
5818 RAISERROR('Cannot update the DELETES value.',16,1)
5819 ROLLBACK TRANSACTION
5820 RETURN
5821 END
5822 COMMIT TRANSACTION
5823
5824GO
5825
5826DROP TRIGGER r_packgs_last_mod_IU
5827GO
5828CREATE TRIGGER [dbo].[r_packgs_last_mod_IU] ON [dbo].[r_packgs]
5829FOR INSERT, UPDATE
5830AS
5831DECLARE @CountIns int,
5832 @cTableName varchar(10),
5833 @nKeyVal int
5834
5835SET NOCOUNT ON
5836SET @cTableName = 'r_packgs'
5837SELECT @CountIns = COUNT(*) FROM Inserted
5838IF @CountIns = 0 RETURN;
5839
5840/* Update the last_mod for INSERTs and UPDATEs */
5841 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5842 IF @nKeyVal IS NULL
5843 BEGIN
5844 SET @nKeyVal = 1
5845 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5846 END
5847
5848 UPDATE updates SET r_packgs = @nKeyVal + @CountIns - 1
5849 IF @@ERROR != 0
5850 BEGIN
5851 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5852 RETURN
5853 END
5854
5855 SET @nKeyVal = @nKeyVal - 1
5856 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_packgs a JOIN inserted i ON a.pri_key = i.pri_key
5857 IF @@ERROR != 0
5858 BEGIN
5859 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5860 RETURN
5861 END
5862
5863GO
5864
5865DROP TRIGGER r_rules_last_mod_D
5866GO
5867CREATE TRIGGER [dbo].[r_rules_last_mod_D] ON [dbo].[r_rules]
5868FOR DELETE
5869AS
5870DECLARE @cTableName varchar(8)
5871
5872SET NOCOUNT ON
5873SET @cTableName = 'r_rules'
5874IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5875
5876/* Add a record to the deletes table for DELETEs */
5877 BEGIN TRANSACTION
5878 INSERT INTO deletes (tablename, key_val)
5879 SELECT @cTableName AS tablename, CAST(rule_id AS varchar(60)) AS key_val FROM Deleted
5880 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5881 IF @@ERROR != 0
5882 BEGIN
5883 RAISERROR('Cannot update the DELETES value.',16,1)
5884 ROLLBACK TRANSACTION
5885 RETURN
5886 END
5887 COMMIT TRANSACTION
5888
5889GO
5890
5891DROP TRIGGER r_rules_last_mod_IU
5892GO
5893CREATE TRIGGER [dbo].[r_rules_last_mod_IU] ON [dbo].[r_rules]
5894FOR INSERT, UPDATE
5895AS
5896DECLARE @CountIns int,
5897 @cTableName varchar(10),
5898 @nKeyVal int
5899
5900SET NOCOUNT ON
5901SET @cTableName = 'r_rules'
5902SELECT @CountIns = COUNT(*) FROM Inserted
5903IF @CountIns = 0 RETURN;
5904
5905/* Update the last_mod for INSERTs and UPDATEs */
5906 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5907 IF @nKeyVal IS NULL
5908 BEGIN
5909 SET @nKeyVal = 1
5910 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5911 END
5912
5913 UPDATE updates SET r_rules = @nKeyVal + @CountIns - 1
5914 IF @@ERROR != 0
5915 BEGIN
5916 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5917 RETURN
5918 END
5919
5920 SET @nKeyVal = @nKeyVal - 1
5921 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_rules a JOIN inserted i ON a.rule_id = i.rule_id
5922 IF @@ERROR != 0
5923 BEGIN
5924 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5925 RETURN
5926 END
5927
5928GO
5929
5930DROP TRIGGER r_shops_last_mod_D
5931GO
5932CREATE TRIGGER [dbo].[r_shops_last_mod_D] ON [dbo].[r_shops]
5933FOR DELETE
5934AS
5935DECLARE @cTableName varchar(8)
5936
5937SET NOCOUNT ON
5938SET @cTableName = 'r_shops'
5939IF NOT EXISTS (SELECT * FROM deleted) RETURN;
5940
5941/* Add a record to the deletes table for DELETEs */
5942 BEGIN TRANSACTION
5943 INSERT INTO deletes (tablename, key_val)
5944 SELECT @cTableName AS tablename, CAST(shop_no AS varchar(60)) AS key_val FROM Deleted
5945 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
5946 IF @@ERROR != 0
5947 BEGIN
5948 RAISERROR('Cannot update the DELETES value.',16,1)
5949 ROLLBACK TRANSACTION
5950 RETURN
5951 END
5952 COMMIT TRANSACTION
5953
5954GO
5955
5956DROP TRIGGER r_shops_last_mod_IU
5957GO
5958CREATE TRIGGER [dbo].[r_shops_last_mod_IU] ON [dbo].[r_shops]
5959FOR INSERT, UPDATE
5960AS
5961DECLARE @CountIns int,
5962 @cTableName varchar(10),
5963 @nKeyVal int
5964
5965SET NOCOUNT ON
5966SET @cTableName = 'r_shops'
5967SELECT @CountIns = COUNT(*) FROM Inserted
5968IF @CountIns = 0 RETURN;
5969
5970/* Update the last_mod for INSERTs and UPDATEs */
5971 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
5972 IF @nKeyVal IS NULL
5973 BEGIN
5974 SET @nKeyVal = 1
5975 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
5976 END
5977
5978 UPDATE updates SET r_shops = @nKeyVal + @CountIns - 1
5979 IF @@ERROR != 0
5980 BEGIN
5981 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5982 RETURN
5983 END
5984
5985 SET @nKeyVal = @nKeyVal - 1
5986 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_shops a JOIN inserted i ON a.shop_no = i.shop_no
5987 IF @@ERROR != 0
5988 BEGIN
5989 RAISERROR('Cannot update the LAST_MOD value.',16,1)
5990 RETURN
5991 END
5992
5993GO
5994
5995DROP TRIGGER r_types_last_mod_D
5996GO
5997CREATE TRIGGER [dbo].[r_types_last_mod_D] ON [dbo].[r_types]
5998FOR DELETE
5999AS
6000DECLARE @cTableName varchar(8)
6001
6002SET NOCOUNT ON
6003SET @cTableName = 'r_types'
6004IF NOT EXISTS (SELECT * FROM deleted) RETURN;
6005
6006/* Add a record to the deletes table for DELETEs */
6007 BEGIN TRANSACTION
6008 INSERT INTO deletes (tablename, key_val)
6009 SELECT @cTableName AS tablename, CAST(typeid AS varchar(60)) AS key_val FROM Deleted
6010 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
6011 IF @@ERROR != 0
6012 BEGIN
6013 RAISERROR('Cannot update the DELETES value.',16,1)
6014 ROLLBACK TRANSACTION
6015 RETURN
6016 END
6017 COMMIT TRANSACTION
6018
6019GO
6020
6021DROP TRIGGER r_types_last_mod_IU
6022GO
6023CREATE TRIGGER [dbo].[r_types_last_mod_IU] ON [dbo].[r_types]
6024FOR INSERT, UPDATE
6025AS
6026DECLARE @CountIns int,
6027 @cTableName varchar(10),
6028 @nKeyVal int
6029
6030SET NOCOUNT ON
6031SET @cTableName = 'r_types'
6032SELECT @CountIns = COUNT(*) FROM Inserted
6033IF @CountIns = 0 RETURN;
6034
6035/* Update the last_mod for INSERTs and UPDATEs */
6036 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
6037 IF @nKeyVal IS NULL
6038 BEGIN
6039 SET @nKeyVal = 1
6040 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
6041 END
6042
6043 UPDATE updates SET r_types = @nKeyVal + @CountIns - 1
6044 IF @@ERROR != 0
6045 BEGIN
6046 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6047 RETURN
6048 END
6049
6050 SET @nKeyVal = @nKeyVal - 1
6051 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM r_types a JOIN inserted i ON a.typeid = i.typeid
6052 IF @@ERROR != 0
6053 BEGIN
6054 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6055 RETURN
6056 END
6057
6058GO
6059
6060DROP TRIGGER refreasn_last_mod_D
6061GO
6062CREATE TRIGGER [dbo].[refreasn_last_mod_D] ON [dbo].[refreasn]
6063FOR DELETE
6064AS
6065DECLARE @cTableName varchar(8)
6066
6067SET NOCOUNT ON
6068SET @cTableName = 'refreasn'
6069IF NOT EXISTS (SELECT * FROM deleted) RETURN;
6070
6071/* Add a record to the deletes table for DELETEs */
6072 BEGIN TRANSACTION
6073 INSERT INTO deletes (tablename, key_val)
6074 SELECT @cTableName AS tablename, CAST(reason_id AS varchar(60)) AS key_val FROM Deleted
6075 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
6076 IF @@ERROR != 0
6077 BEGIN
6078 RAISERROR('Cannot update the DELETES value.',16,1)
6079 ROLLBACK TRANSACTION
6080 RETURN
6081 END
6082 COMMIT TRANSACTION
6083
6084GO
6085
6086DROP TRIGGER refreasn_last_mod_IU
6087GO
6088CREATE TRIGGER [dbo].[refreasn_last_mod_IU] ON [dbo].[refreasn]
6089FOR INSERT, UPDATE
6090AS
6091DECLARE @CountIns int,
6092 @cTableName varchar(10),
6093 @nKeyVal int
6094
6095SET NOCOUNT ON
6096SET @cTableName = 'refreasn'
6097SELECT @CountIns = COUNT(*) FROM Inserted
6098IF @CountIns = 0 RETURN;
6099
6100/* Update the last_mod for INSERTs and UPDATEs */
6101 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
6102 IF @nKeyVal IS NULL
6103 BEGIN
6104 SET @nKeyVal = 1
6105 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
6106 END
6107
6108 UPDATE updates SET refreasn = @nKeyVal + @CountIns - 1
6109 IF @@ERROR != 0
6110 BEGIN
6111 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6112 RETURN
6113 END
6114
6115 SET @nKeyVal = @nKeyVal - 1
6116 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM refreasn a JOIN inserted i ON a.reason_id = i.reason_id
6117 IF @@ERROR != 0
6118 BEGIN
6119 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6120 RETURN
6121 END
6122
6123GO
6124
6125DROP TRIGGER relation_last_mod_D
6126GO
6127create trigger [dbo].[relation_last_mod_D] ON [dbo].[relation]
6128for DELETE
6129AS
6130DECLARE @cTableName varchar(8)
6131
6132SET NOCOUNT ON
6133SET @cTableName = 'relation'
6134IF NOT EXISTS (SELECT * FROM deleted) RETURN;
6135
6136/* Add a record to the deletes table for DELETEs */
6137 BEGIN TRANSACTION
6138 INSERT INTO deletes (tablename, key_val)
6139 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
6140 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
6141 IF @@ERROR != 0
6142 BEGIN
6143 RAISERROR('Cannot update the DELETES value.',16,1)
6144 ROLLBACK TRANSACTION
6145 RETURN
6146 END
6147 COMMIT TRANSACTION
6148
6149GO
6150
6151DROP TRIGGER relation_last_mod_IU
6152GO
6153CREATE trigger [dbo].[relation_last_mod_IU] ON [dbo].[relation]
6154FOR INSERT, UPDATE
6155AS
6156DECLARE @CountIns int,
6157 @cTableName varchar(10),
6158 @nKeyVal int
6159
6160SET NOCOUNT ON
6161SET @cTableName = 'relation'
6162SELECT @CountIns = COUNT(*) FROM Inserted
6163IF @CountIns = 0 RETURN;
6164
6165/* Update the last_mod for INSERTs and UPDATEs */
6166 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
6167 IF @nKeyVal IS NULL
6168 BEGIN
6169 SET @nKeyVal = 1
6170 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
6171 END
6172
6173 UPDATE updates SET relation = @nKeyVal + @CountIns - 1
6174 IF @@ERROR != 0
6175 BEGIN
6176 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6177 RETURN
6178 END
6179
6180 SET @nKeyVal = @nKeyVal - 1
6181 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM relation a JOIN inserted i ON a.pri_key = i.pri_key
6182 IF @@ERROR != 0
6183 BEGIN
6184 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6185 RETURN
6186 END
6187
6188GO
6189
6190DROP TRIGGER res_facl_last_mod_D
6191GO
6192CREATE TRIGGER [dbo].[res_facl_last_mod_D] ON [dbo].[res_facl]
6193FOR DELETE
6194AS
6195DECLARE @cTableName varchar(8)
6196
6197SET NOCOUNT ON
6198SET @cTableName = 'res_facl'
6199IF NOT EXISTS (SELECT * FROM deleted) RETURN;
6200
6201/* Add a record to the deletes table for DELETEs */
6202 BEGIN TRANSACTION
6203 INSERT INTO deletes (tablename, key_val)
6204 SELECT @cTableName AS tablename, CAST(facl_no AS varchar(60)) AS key_val FROM Deleted
6205 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
6206 IF @@ERROR != 0
6207 BEGIN
6208 RAISERROR('Cannot update the DELETES value.',16,1)
6209 ROLLBACK TRANSACTION
6210 RETURN
6211 END
6212 COMMIT TRANSACTION
6213
6214GO
6215
6216DROP TRIGGER res_facl_last_mod_IU
6217GO
6218CREATE TRIGGER [dbo].[res_facl_last_mod_IU] ON [dbo].[res_facl]
6219FOR INSERT, UPDATE
6220AS
6221DECLARE @CountIns int,
6222 @cTableName varchar(10),
6223 @nKeyVal int
6224
6225SET NOCOUNT ON
6226SET @cTableName = 'res_facl'
6227SELECT @CountIns = COUNT(*) FROM Inserted
6228IF @CountIns = 0 RETURN;
6229
6230/* Update the last_mod for INSERTs and UPDATEs */
6231 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
6232 IF @nKeyVal IS NULL
6233 BEGIN
6234 SET @nKeyVal = 1
6235 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
6236 END
6237
6238 UPDATE updates SET res_facl = @nKeyVal + @CountIns - 1
6239 IF @@ERROR != 0
6240 BEGIN
6241 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6242 RETURN
6243 END
6244
6245 SET @nKeyVal = @nKeyVal - 1
6246 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM res_facl a JOIN inserted i ON a.facl_no = i.facl_no
6247 IF @@ERROR != 0
6248 BEGIN
6249 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6250 RETURN
6251 END
6252
6253GO
6254
6255DROP TRIGGER res_schd_last_mod_D
6256GO
6257CREATE TRIGGER [dbo].[res_schd_last_mod_D] ON [dbo].[res_schd]
6258FOR DELETE
6259AS
6260DECLARE @cTableName varchar(8)
6261
6262SET NOCOUNT ON
6263SET @cTableName = 'res_schd'
6264IF NOT EXISTS (SELECT * FROM deleted) RETURN;
6265
6266/* Add a record to the deletes table for DELETEs */
6267 BEGIN TRANSACTION
6268 INSERT INTO deletes (tablename, key_val)
6269 SELECT @cTableName AS tablename, CAST(res_no AS varchar(60)) AS key_val FROM Deleted
6270 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
6271 IF @@ERROR != 0
6272 BEGIN
6273 RAISERROR('Cannot update the DELETES value.',16,1)
6274 ROLLBACK TRANSACTION
6275 RETURN
6276 END
6277 COMMIT TRANSACTION
6278
6279GO
6280
6281DROP TRIGGER res_schd_last_mod_IU
6282GO
6283CREATE TRIGGER [dbo].[res_schd_last_mod_IU] ON [dbo].[res_schd]
6284FOR INSERT, UPDATE
6285AS
6286DECLARE @CountIns int,
6287 @cTableName varchar(10),
6288 @nKeyVal int
6289
6290SET NOCOUNT ON
6291SET @cTableName = 'res_schd'
6292SELECT @CountIns = COUNT(*) FROM Inserted
6293IF @CountIns = 0 RETURN;
6294
6295/* Update the last_mod for INSERTs and UPDATEs */
6296 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
6297 IF @nKeyVal IS NULL
6298 BEGIN
6299 SET @nKeyVal = 1
6300 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
6301 END
6302
6303 UPDATE updates SET res_schd = @nKeyVal + @CountIns - 1
6304 IF @@ERROR != 0
6305 BEGIN
6306 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6307 RETURN
6308 END
6309
6310 SET @nKeyVal = @nKeyVal - 1
6311 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM res_schd a JOIN inserted i ON a.res_no = i.res_no
6312 IF @@ERROR != 0
6313 BEGIN
6314 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6315 RETURN
6316 END
6317
6318GO
6319
6320DROP TRIGGER res_stat_last_mod_D
6321GO
6322CREATE TRIGGER [dbo].[res_stat_last_mod_D] ON [dbo].[res_stat]
6323FOR DELETE
6324AS
6325DECLARE @cTableName varchar(8)
6326
6327SET NOCOUNT ON
6328SET @cTableName = 'res_stat'
6329IF NOT EXISTS (SELECT * FROM deleted) RETURN;
6330
6331/* Add a record to the deletes table for DELETEs */
6332 BEGIN TRANSACTION
6333 INSERT INTO deletes (tablename, key_val)
6334 SELECT @cTableName AS tablename, CAST(res_status AS varchar(60)) AS key_val FROM Deleted
6335 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
6336 IF @@ERROR != 0
6337 BEGIN
6338 RAISERROR('Cannot update the DELETES value.',16,1)
6339 ROLLBACK TRANSACTION
6340 RETURN
6341 END
6342 COMMIT TRANSACTION
6343
6344GO
6345
6346DROP TRIGGER res_stat_last_mod_IU
6347GO
6348CREATE TRIGGER [dbo].[res_stat_last_mod_IU] ON [dbo].[res_stat]
6349FOR INSERT, UPDATE
6350AS
6351DECLARE @CountIns int,
6352 @cTableName varchar(10),
6353 @nKeyVal int
6354
6355SET NOCOUNT ON
6356SET @cTableName = 'res_stat'
6357SELECT @CountIns = COUNT(*) FROM Inserted
6358IF @CountIns = 0 RETURN;
6359
6360/* Update the last_mod for INSERTs and UPDATEs */
6361 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
6362 IF @nKeyVal IS NULL
6363 BEGIN
6364 SET @nKeyVal = 1
6365 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
6366 END
6367
6368 UPDATE updates SET res_stat = @nKeyVal + @CountIns - 1
6369 IF @@ERROR != 0
6370 BEGIN
6371 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6372 RETURN
6373 END
6374
6375 SET @nKeyVal = @nKeyVal - 1
6376 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM res_stat a JOIN inserted i ON a.res_status = i.res_status
6377 IF @@ERROR != 0
6378 BEGIN
6379 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6380 RETURN
6381 END
6382
6383/* Remove any record in the deletes table if this key was inserted back in */
6384 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
6385 (SELECT CAST(res_status AS varchar(60)) FROM Inserted WHERE res_status NOT IN (SELECT res_status FROM Deleted))
6386
6387GO
6388
6389DROP TRIGGER resrvatn_last_mod_D
6390GO
6391CREATE TRIGGER [dbo].[resrvatn_last_mod_D] ON [dbo].[resrvatn]
6392FOR DELETE
6393AS
6394DECLARE @cTableName varchar(8)
6395
6396SET NOCOUNT ON
6397SET @cTableName = 'resrvatn'
6398IF NOT EXISTS (SELECT * FROM deleted) RETURN;
6399
6400/* Add a record to the deletes table for DELETEs */
6401 BEGIN TRANSACTION
6402 INSERT INTO deletes (tablename, key_val)
6403 SELECT @cTableName AS tablename, CAST(reserv_no AS varchar(60)) AS key_val FROM Deleted
6404 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
6405 IF @@ERROR != 0
6406 BEGIN
6407 RAISERROR('Cannot update the DELETES value.',16,1)
6408 ROLLBACK TRANSACTION
6409 RETURN
6410 END
6411 COMMIT TRANSACTION
6412
6413GO
6414
6415DROP TRIGGER resrvatn_last_mod_IU
6416GO
6417CREATE TRIGGER [dbo].[resrvatn_last_mod_IU] ON [dbo].[resrvatn]
6418FOR INSERT, UPDATE
6419AS
6420DECLARE @CountIns int,
6421 @cTableName varchar(10),
6422 @nKeyVal int
6423
6424SET NOCOUNT ON
6425SET @cTableName = 'resrvatn'
6426SELECT @CountIns = COUNT(*) FROM Inserted
6427IF @CountIns = 0 RETURN;
6428
6429/* Update the last_mod for INSERTs and UPDATEs */
6430 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
6431 IF @nKeyVal IS NULL
6432 BEGIN
6433 SET @nKeyVal = 1
6434 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
6435 END
6436
6437 UPDATE updates SET resrvatn = @nKeyVal + @CountIns - 1
6438 IF @@ERROR != 0
6439 BEGIN
6440 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6441 RETURN
6442 END
6443
6444 SET @nKeyVal = @nKeyVal - 1
6445 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM resrvatn a JOIN inserted i ON a.reserv_no = i.reserv_no
6446 IF @@ERROR != 0
6447 BEGIN
6448 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6449 RETURN
6450 END
6451
6452GO
6453
6454DROP TRIGGER s_quest_last_mod
6455GO
6456CREATE TRIGGER [dbo].[s_quest_last_mod] ON [dbo].[s_quest]
6457FOR INSERT, UPDATE, DELETE
6458AS
6459declare @CountIns int,
6460 @CountDel int,
6461 @cTableName varchar(8),
6462 @nKeyVal int
6463
6464set nocount on
6465set @cTableName = 's_quest'
6466select @CountIns = COUNT(*) from Inserted
6467select @CountDel = COUNT(*) from Deleted
6468
6469/* Update the last_mod for INSERTs and UPDATEs */
6470if @CountIns > 0
6471 begin
6472 update sequence set @nKeyVal = next_val, next_val = next_val + @CountIns where name = @cTableName
6473 if @nKeyVal is null
6474 begin
6475 set @nKeyVal = 1
6476 insert into sequence (name, next_val) values (@cTableName, @CountIns + 1)
6477 end
6478
6479 update updates set s_quest = @nKeyVal + @CountIns - 1
6480 if @@ERROR != 0
6481 begin
6482 raiserror('Cannot update the LAST_MOD value.',16,1)
6483 return
6484 end
6485
6486 set @nKeyVal = @nKeyVal - 1
6487 update a set @nKeyVal = last_mod = @nKeyVal + 1 from s_quest a join inserted i on a.quest_id = i.quest_id
6488 if @@ERROR != 0
6489 begin
6490 raiserror('Cannot update the LAST_MOD value.',16,1)
6491 return
6492 end
6493 end
6494
6495/* Add a record to the deletes table for DELETEs */
6496if @CountIns = 0 and @CountDel > 0
6497 begin
6498 begin transaction
6499 insert into deletes (tablename, key_val)
6500 select @cTableName as tablename, cast(quest_id as varchar(60)) as key_val from Deleted
6501 update updates set deletes = isnull((select top 1 last_mod from deletes order by last_mod desc), 0)
6502 if @@ERROR != 0
6503 begin
6504 raiserror('Cannot update the DELETES value.',16,1)
6505 rollback transaction
6506 return
6507 end
6508 commit transaction
6509 end
6510
6511GO
6512
6513DROP TRIGGER s_resp_last_mod
6514GO
6515CREATE TRIGGER [dbo].[s_resp_last_mod] ON [dbo].[s_resp]
6516FOR INSERT, UPDATE, DELETE
6517AS
6518declare @CountIns int,
6519 @CountDel int,
6520 @cTableName varchar(8),
6521 @nKeyVal int
6522
6523set nocount on
6524set @cTableName = 's_resp'
6525select @CountIns = COUNT(*) from Inserted
6526select @CountDel = COUNT(*) from Deleted
6527
6528/* Update the last_mod for INSERTs and UPDATEs */
6529if @CountIns > 0
6530 begin
6531 update sequence set @nKeyVal = next_val, next_val = next_val + @CountIns where name = @cTableName
6532 if @nKeyVal is null
6533 begin
6534 set @nKeyVal = 1
6535 insert into sequence (name, next_val) values (@cTableName, @CountIns + 1)
6536 end
6537
6538 update updates set s_resp = @nKeyVal + @CountIns - 1
6539 if @@ERROR != 0
6540 begin
6541 raiserror('Cannot update the LAST_MOD value.',16,1)
6542 return
6543 end
6544
6545 set @nKeyVal = @nKeyVal - 1
6546 update a set @nKeyVal = last_mod = @nKeyVal + 1 from s_resp a join inserted i on a.resp_id = i.resp_id
6547 if @@ERROR != 0
6548 begin
6549 raiserror('Cannot update the LAST_MOD value.',16,1)
6550 return
6551 end
6552 end
6553
6554/* Add a record to the deletes table for DELETEs */
6555if @CountIns = 0 and @CountDel > 0
6556 begin
6557 begin transaction
6558 insert into deletes (tablename, key_val)
6559 select @cTableName as tablename, cast(resp_id as varchar(60)) as key_val from Deleted
6560 update updates set deletes = isnull((select top 1 last_mod from deletes order by last_mod desc), 0)
6561 if @@ERROR != 0
6562 begin
6563 raiserror('Cannot update the DELETES value.',16,1)
6564 rollback transaction
6565 return
6566 end
6567 commit transaction
6568 end
6569
6570GO
6571
6572DROP TRIGGER s_sgslnk_last_mod
6573GO
6574CREATE TRIGGER [dbo].[s_sgslnk_last_mod] ON [dbo].[s_sgslnk]
6575FOR INSERT, UPDATE, DELETE
6576AS
6577declare @CountIns int,
6578 @CountDel int,
6579 @cTableName varchar(8),
6580 @nKeyVal int
6581
6582set nocount on
6583set @cTableName = 's_sgslnk'
6584select @CountIns = COUNT(*) from Inserted
6585select @CountDel = COUNT(*) from Deleted
6586
6587/* Update the last_mod for INSERTs and UPDATEs */
6588if @CountIns > 0
6589 begin
6590 update sequence set @nKeyVal = next_val, next_val = next_val + @CountIns where name = @cTableName
6591 if @nKeyVal is null
6592 begin
6593 set @nKeyVal = 1
6594 insert into sequence (name, next_val) values (@cTableName, @CountIns + 1)
6595 end
6596
6597 update updates set s_sgslnk = @nKeyVal + @CountIns - 1
6598 if @@ERROR != 0
6599 begin
6600 raiserror('Cannot update the LAST_MOD value.',16,1)
6601 return
6602 end
6603
6604 set @nKeyVal = @nKeyVal - 1
6605 update a set @nKeyVal = last_mod = @nKeyVal + 1 from s_sgslnk a join inserted i on a.link_id = i.link_id
6606 if @@ERROR != 0
6607 begin
6608 raiserror('Cannot update the LAST_MOD value.',16,1)
6609 return
6610 end
6611 end
6612
6613/* Add a record to the deletes table for DELETEs */
6614if @CountIns = 0 and @CountDel > 0
6615 begin
6616 begin transaction
6617 insert into deletes (tablename, key_val)
6618 select @cTableName as tablename, cast(link_id as varchar(60)) as key_val from Deleted
6619 update updates set deletes = isnull((select top 1 last_mod from deletes order by last_mod desc), 0)
6620 if @@ERROR != 0
6621 begin
6622 raiserror('Cannot update the DELETES value.',16,1)
6623 rollback transaction
6624 return
6625 end
6626 commit transaction
6627 end
6628
6629GO
6630
6631DROP TRIGGER s_sqlink_last_mod
6632GO
6633CREATE TRIGGER [dbo].[s_sqlink_last_mod] ON [dbo].[s_sqlink]
6634FOR INSERT, UPDATE, DELETE
6635AS
6636declare @CountIns int,
6637 @CountDel int,
6638 @cTableName varchar(8),
6639 @nKeyVal int
6640
6641set nocount on
6642set @cTableName = 's_sqlink'
6643select @CountIns = COUNT(*) from Inserted
6644select @CountDel = COUNT(*) from Deleted
6645
6646/* Update the last_mod for INSERTs and UPDATEs */
6647if @CountIns > 0
6648 begin
6649 update sequence set @nKeyVal = next_val, next_val = next_val + @CountIns where name = @cTableName
6650 if @nKeyVal is null
6651 begin
6652 set @nKeyVal = 1
6653 insert into sequence (name, next_val) values (@cTableName, @CountIns + 1)
6654 end
6655
6656 update updates set s_sqlink = @nKeyVal + @CountIns - 1
6657 if @@ERROR != 0
6658 begin
6659 raiserror('Cannot update the LAST_MOD value.',16,1)
6660 return
6661 end
6662
6663 set @nKeyVal = @nKeyVal - 1
6664 update a set @nKeyVal = last_mod = @nKeyVal + 1 from s_sqlink a join inserted i on a.pri_key = i.pri_key
6665 if @@ERROR != 0
6666 begin
6667 raiserror('Cannot update the LAST_MOD value.',16,1)
6668 return
6669 end
6670 end
6671
6672/* Add a record to the deletes table for DELETEs */
6673if @CountIns = 0 and @CountDel > 0
6674 begin
6675 begin transaction
6676 insert into deletes (tablename, key_val)
6677 select @cTableName as tablename, cast(pri_key as varchar(60)) as key_val from Deleted
6678 update updates set deletes = isnull((select top 1 last_mod from deletes order by last_mod desc), 0)
6679 if @@ERROR != 0
6680 begin
6681 raiserror('Cannot update the DELETES value.',16,1)
6682 rollback transaction
6683 return
6684 end
6685 commit transaction
6686 end
6687
6688GO
6689
6690DROP TRIGGER s_survey_last_mod
6691GO
6692CREATE TRIGGER [dbo].[s_survey_last_mod] ON [dbo].[s_survey]
6693FOR INSERT, UPDATE, DELETE
6694AS
6695declare @CountIns int,
6696 @CountDel int,
6697 @cTableName varchar(8),
6698 @nKeyVal int
6699
6700set nocount on
6701set @cTableName = 's_survey'
6702select @CountIns = COUNT(*) from Inserted
6703select @CountDel = COUNT(*) from Deleted
6704
6705/* Update the last_mod for INSERTs and UPDATEs */
6706if @CountIns > 0
6707 begin
6708 update sequence set @nKeyVal = next_val, next_val = next_val + @CountIns where name = @cTableName
6709 if @nKeyVal is null
6710 begin
6711 set @nKeyVal = 1
6712 insert into sequence (name, next_val) values (@cTableName, @CountIns + 1)
6713 end
6714
6715 update updates set s_survey = @nKeyVal + @CountIns - 1
6716 if @@ERROR != 0
6717 begin
6718 raiserror('Cannot update the LAST_MOD value.',16,1)
6719 return
6720 end
6721
6722 set @nKeyVal = @nKeyVal - 1
6723 update a set @nKeyVal = last_mod = @nKeyVal + 1 from s_survey a join inserted i on a.survey_id = i.survey_id
6724 if @@ERROR != 0
6725 begin
6726 raiserror('Cannot update the LAST_MOD value.',16,1)
6727 return
6728 end
6729 end
6730
6731/* Add a record to the deletes table for DELETEs */
6732if @CountIns = 0 and @CountDel > 0
6733 begin
6734 begin transaction
6735 insert into deletes (tablename, key_val)
6736 select @cTableName as tablename, cast(survey_id as varchar(60)) as key_val from Deleted
6737 update updates set deletes = isnull((select top 1 last_mod from deletes order by last_mod desc), 0)
6738 if @@ERROR != 0
6739 begin
6740 raiserror('Cannot update the DELETES value.',16,1)
6741 rollback transaction
6742 return
6743 end
6744 commit transaction
6745 end
6746
6747GO
6748
6749DROP TRIGGER sales_pt_last_mod_D
6750GO
6751CREATE TRIGGER [dbo].[sales_pt_last_mod_D] ON dbo.sales_pt
6752FOR DELETE
6753AS
6754DECLARE @cTableName varchar(8)
6755
6756SET NOCOUNT ON
6757SET @cTableName = 'sales_pt'
6758IF NOT EXISTS (SELECT * FROM deleted) RETURN;
6759
6760/* Add a record to the deletes table for DELETEs */
6761 BEGIN TRANSACTION
6762 INSERT INTO deletes (tablename, key_val)
6763 SELECT @cTableName AS tablename, salespoint AS key_val FROM Deleted
6764 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
6765 IF @@ERROR != 0
6766 BEGIN
6767 RAISERROR('Cannot update the DELETES value.',16,1)
6768 ROLLBACK TRANSACTION
6769 RETURN
6770 END
6771 COMMIT TRANSACTION
6772
6773GO
6774
6775DROP TRIGGER sales_pt_last_mod_IU
6776GO
6777CREATE TRIGGER [dbo].[sales_pt_last_mod_IU] ON dbo.sales_pt
6778FOR INSERT, UPDATE
6779AS
6780DECLARE @CountIns int,
6781 @cTableName varchar(10),
6782 @nKeyVal int
6783
6784SET NOCOUNT ON
6785SET @cTableName = 'sales_pt'
6786SELECT @CountIns = COUNT(*) FROM Inserted
6787IF @CountIns = 0 RETURN;
6788
6789/* Update the last_mod for INSERTs and UPDATEs */
6790 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
6791 IF @nKeyVal IS NULL
6792 BEGIN
6793 SET @nKeyVal = 1
6794 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
6795 END
6796
6797 UPDATE updates SET sales_pt = @nKeyVal + @CountIns - 1
6798 IF @@ERROR != 0
6799 BEGIN
6800 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6801 RETURN
6802 END
6803
6804 SET @nKeyVal = @nKeyVal - 1
6805 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM sales_pt a JOIN inserted i ON a.salespoint = i.salespoint
6806 IF @@ERROR != 0
6807 BEGIN
6808 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6809 RETURN
6810 END
6811
6812/* Remove any record in the deletes table if this key was inserted back in */
6813 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
6814 (SELECT salespoint FROM Inserted WHERE salespoint NOT IN (SELECT salespoint FROM Deleted))
6815
6816GO
6817
6818DROP TRIGGER sec_acct_last_mod_D
6819GO
6820CREATE TRIGGER [dbo].[sec_acct_last_mod_D] ON [dbo].[sec_acct]
6821FOR DELETE
6822AS
6823DECLARE @cTableName varchar(8)
6824
6825SET NOCOUNT ON
6826SET @cTableName = 'sec_acct'
6827IF NOT EXISTS (SELECT * FROM deleted) RETURN;
6828
6829/* Add a record to the deletes table for DELETEs */
6830 BEGIN TRANSACTION
6831 INSERT INTO deletes (tablename, key_val)
6832 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
6833 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
6834 IF @@ERROR != 0
6835 BEGIN
6836 RAISERROR('Cannot update the DELETES value.',16,1)
6837 ROLLBACK TRANSACTION
6838 RETURN
6839 END
6840 COMMIT TRANSACTION
6841
6842GO
6843
6844DROP TRIGGER sec_acct_last_mod_IU
6845GO
6846CREATE TRIGGER [dbo].[sec_acct_last_mod_IU] ON [dbo].[sec_acct]
6847FOR INSERT, UPDATE
6848AS
6849DECLARE @CountIns int,
6850 @cTableName varchar(10),
6851 @nKeyVal int
6852
6853SET NOCOUNT ON
6854SET @cTableName = 'sec_acct'
6855SELECT @CountIns = COUNT(*) FROM Inserted
6856IF @CountIns = 0 RETURN;
6857
6858/* Update the last_mod for INSERTs and UPDATEs */
6859 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
6860 IF @nKeyVal IS NULL
6861 BEGIN
6862 SET @nKeyVal = 1
6863 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
6864 END
6865
6866 UPDATE updates SET sec_acct = @nKeyVal + @CountIns - 1
6867 IF @@ERROR != 0
6868 BEGIN
6869 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6870 RETURN
6871 END
6872
6873 SET @nKeyVal = @nKeyVal - 1
6874 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM sec_acct a JOIN inserted i ON a.pri_key = i.pri_key
6875 IF @@ERROR != 0
6876 BEGIN
6877 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6878 RETURN
6879 END
6880
6881GO
6882
6883DROP TRIGGER sec_mbrs_last_mod_D
6884GO
6885CREATE TRIGGER [dbo].[sec_mbrs_last_mod_D] ON [dbo].[sec_mbrs]
6886FOR DELETE
6887AS
6888DECLARE @cTableName varchar(8)
6889
6890SET NOCOUNT ON
6891SET @cTableName = 'sec_mbrs'
6892IF NOT EXISTS (SELECT * FROM deleted) RETURN;
6893
6894/* Add a record to the deletes table for DELETEs */
6895 BEGIN TRANSACTION
6896 INSERT INTO deletes (tablename, key_val)
6897 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
6898 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
6899 IF @@ERROR != 0
6900 BEGIN
6901 RAISERROR('Cannot update the DELETES value.',16,1)
6902 ROLLBACK TRANSACTION
6903 RETURN
6904 END
6905 COMMIT TRANSACTION
6906
6907GO
6908
6909DROP TRIGGER sec_mbrs_last_mod_IU
6910GO
6911CREATE TRIGGER [dbo].[sec_mbrs_last_mod_IU] ON [dbo].[sec_mbrs]
6912FOR INSERT, UPDATE
6913AS
6914DECLARE @CountIns int,
6915 @cTableName varchar(10),
6916 @nKeyVal int
6917
6918SET NOCOUNT ON
6919SET @cTableName = 'sec_mbrs'
6920SELECT @CountIns = COUNT(*) FROM Inserted
6921IF @CountIns = 0 RETURN;
6922
6923/* Update the last_mod for INSERTs and UPDATEs */
6924 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
6925 IF @nKeyVal IS NULL
6926 BEGIN
6927 SET @nKeyVal = 1
6928 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
6929 END
6930
6931 UPDATE updates SET sec_mbrs = @nKeyVal + @CountIns - 1
6932 IF @@ERROR != 0
6933 BEGIN
6934 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6935 RETURN
6936 END
6937
6938 SET @nKeyVal = @nKeyVal - 1
6939 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM sec_mbrs a JOIN inserted i ON a.pri_key = i.pri_key
6940 IF @@ERROR != 0
6941 BEGIN
6942 RAISERROR('Cannot update the LAST_MOD value.',16,1)
6943 RETURN
6944 END
6945
6946GO
6947
6948DROP TRIGGER sec_rght_last_mod_D
6949GO
6950CREATE TRIGGER [dbo].[sec_rght_last_mod_D] ON [dbo].[sec_rght]
6951FOR DELETE
6952AS
6953DECLARE @cTableName varchar(8)
6954
6955SET NOCOUNT ON
6956SET @cTableName = 'sec_rght'
6957IF NOT EXISTS (SELECT * FROM deleted) RETURN;
6958
6959/* Add a record to the deletes table for DELETEs */
6960 BEGIN TRANSACTION
6961 INSERT INTO deletes (tablename, key_val)
6962 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
6963 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
6964 IF @@ERROR != 0
6965 BEGIN
6966 RAISERROR('Cannot update the DELETES value.',16,1)
6967 ROLLBACK TRANSACTION
6968 RETURN
6969 END
6970 COMMIT TRANSACTION
6971
6972GO
6973
6974DROP TRIGGER sec_rght_last_mod_IU
6975GO
6976CREATE TRIGGER [dbo].[sec_rght_last_mod_IU] ON [dbo].[sec_rght]
6977FOR INSERT, UPDATE
6978AS
6979DECLARE @CountIns int,
6980 @cTableName varchar(10),
6981 @nKeyVal int
6982
6983SET NOCOUNT ON
6984SET @cTableName = 'sec_rght'
6985SELECT @CountIns = COUNT(*) FROM Inserted
6986IF @CountIns = 0 RETURN;
6987
6988/* Update the last_mod for INSERTs and UPDATEs */
6989 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
6990 IF @nKeyVal IS NULL
6991 BEGIN
6992 SET @nKeyVal = 1
6993 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
6994 END
6995
6996 UPDATE updates SET sec_rght = @nKeyVal + @CountIns - 1
6997 IF @@ERROR != 0
6998 BEGIN
6999 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7000 RETURN
7001 END
7002
7003 SET @nKeyVal = @nKeyVal - 1
7004 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM sec_rght a JOIN inserted i ON a.pri_key = i.pri_key
7005 IF @@ERROR != 0
7006 BEGIN
7007 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7008 RETURN
7009 END
7010
7011GO
7012
7013DROP TRIGGER sec_spcl_last_mod_D
7014GO
7015CREATE TRIGGER [dbo].[sec_spcl_last_mod_D] ON [dbo].[sec_spcl]
7016FOR DELETE
7017AS
7018DECLARE @cTableName varchar(8)
7019
7020SET NOCOUNT ON
7021SET @cTableName = 'sec_spcl'
7022IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7023
7024/* Add a record to the deletes table for DELETEs */
7025 BEGIN TRANSACTION
7026 INSERT INTO deletes (tablename, key_val)
7027 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
7028 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7029 IF @@ERROR != 0
7030 BEGIN
7031 RAISERROR('Cannot update the DELETES value.',16,1)
7032 ROLLBACK TRANSACTION
7033 RETURN
7034 END
7035 COMMIT TRANSACTION
7036
7037GO
7038
7039DROP TRIGGER sec_spcl_last_mod_IU
7040GO
7041CREATE TRIGGER [dbo].[sec_spcl_last_mod_IU] ON [dbo].[sec_spcl]
7042FOR INSERT, UPDATE
7043AS
7044DECLARE @CountIns int,
7045 @cTableName varchar(10),
7046 @nKeyVal int
7047
7048SET NOCOUNT ON
7049SET @cTableName = 'sec_spcl'
7050SELECT @CountIns = COUNT(*) FROM Inserted
7051IF @CountIns = 0 RETURN;
7052
7053/* Update the last_mod for INSERTs and UPDATEs */
7054 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
7055 IF @nKeyVal IS NULL
7056 BEGIN
7057 SET @nKeyVal = 1
7058 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7059 END
7060
7061 UPDATE updates SET sec_spcl = @nKeyVal + @CountIns - 1
7062 IF @@ERROR != 0
7063 BEGIN
7064 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7065 RETURN
7066 END
7067
7068 SET @nKeyVal = @nKeyVal - 1
7069 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM sec_spcl a JOIN inserted i ON a.pri_key = i.pri_key
7070 IF @@ERROR != 0
7071 BEGIN
7072 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7073 RETURN
7074 END
7075
7076GO
7077
7078DROP TRIGGER Settings_last_mod_D
7079GO
7080
7081
7082create trigger [dbo].[Settings_last_mod_D]
7083on [dbo].[Settings]
7084for delete
7085as
7086 declare @cTableName varchar(8)
7087
7088 set nocount on
7089 if not exists (select * from deleted) return;
7090 set @cTableName = 'Settings'
7091
7092 /* Add a record to the deletes table for DELETEs */
7093 begin transaction
7094 insert into dbo.deletes (tablename, key_val)
7095 select @cTableName as tablename, cast(SettingID as varchar) as key_val from deleted
7096
7097 update dbo.updates set deletes = isnull((select top 1 last_mod from dbo.deletes order by last_mod desc), 0)
7098
7099 if @@error != 0
7100 begin
7101 raiserror('Cannot update the DELETES value.' , 16 , 1)
7102 rollback transaction
7103 return
7104 end
7105
7106 commit transaction
7107
7108
7109GO
7110
7111DROP TRIGGER Settings_last_mod_IU
7112GO
7113
7114
7115create trigger [dbo].[Settings_last_mod_IU]
7116on [dbo].[Settings]
7117for insert, update
7118as
7119 declare @CountIns int
7120 , @cTableName varchar(10)
7121 , @nKeyVal int
7122
7123 set nocount on
7124 set @cTableName = 'Settings'
7125 select @CountIns = count(*) from inserted
7126 if @CountIns = 0 return;
7127
7128 /* Update the last_mod for INSERTs and UPDATEs */
7129 update dbo.sequence set @nKeyVal = next_val, next_val = next_val + @CountIns where name = @cTableName
7130
7131 if @nKeyVal is null
7132 begin
7133 set @nKeyVal = 1
7134 insert into dbo.sequence (name, next_val) values (@cTableName, @CountIns + 1)
7135 end
7136
7137 update dbo.updates set Settings = @nKeyVal + @CountIns - 1
7138
7139 if @@error != 0
7140 begin
7141 raiserror('Cannot update the LAST_MOD value in Updates.' , 16 , 1)
7142 return
7143 end
7144
7145 set @nKeyVal = @nKeyVal - 1
7146
7147 update s set @nKeyVal = last_mod = @nKeyVal + 1
7148 from dbo.Settings s join inserted i on s.SettingID = i.SettingID
7149
7150 if @@error != 0
7151 begin
7152 raiserror('Cannot update the LAST_MOD value in Settings.' , 16 , 1)
7153 return
7154 end
7155
7156
7157GO
7158
7159DROP TRIGGER sp_link_last_mod_D
7160GO
7161CREATE TRIGGER [dbo].[sp_link_last_mod_D] ON [dbo].[sp_link]
7162FOR DELETE
7163AS
7164DECLARE @cTableName varchar(8)
7165
7166SET NOCOUNT ON
7167SET @cTableName = 'sp_link'
7168IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7169
7170/* Add a record to the deletes table for DELETEs */
7171 BEGIN TRANSACTION
7172 INSERT INTO deletes (tablename, key_val)
7173 SELECT @cTableName AS tablename, CAST(link_id AS varchar(60)) AS key_val FROM Deleted
7174 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7175 IF @@ERROR != 0
7176 BEGIN
7177 RAISERROR('Cannot update the DELETES value.',16,1)
7178 ROLLBACK TRANSACTION
7179 RETURN
7180 END
7181 COMMIT TRANSACTION
7182
7183GO
7184
7185DROP TRIGGER sp_link_last_mod_IU
7186GO
7187CREATE TRIGGER [dbo].[sp_link_last_mod_IU] ON [dbo].[sp_link]
7188FOR INSERT, UPDATE
7189AS
7190DECLARE @CountIns int,
7191 @cTableName varchar(10),
7192 @nKeyVal int
7193
7194SET NOCOUNT ON
7195SET @cTableName = 'sp_link'
7196SELECT @CountIns = COUNT(*) FROM Inserted
7197IF @CountIns = 0 RETURN;
7198
7199/* Update the last_mod for INSERTs and UPDATEs */
7200 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
7201 IF @nKeyVal IS NULL
7202 BEGIN
7203 SET @nKeyVal = 1
7204 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7205 END
7206
7207 UPDATE updates SET sp_link = @nKeyVal + @CountIns - 1
7208 IF @@ERROR != 0
7209 BEGIN
7210 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7211 RETURN
7212 END
7213
7214 SET @nKeyVal = @nKeyVal - 1
7215 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM sp_link a JOIN inserted i ON a.link_id = i.link_id
7216 IF @@ERROR != 0
7217 BEGIN
7218 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7219 RETURN
7220 END
7221
7222GO
7223
7224DROP TRIGGER specials_last_mod_D
7225GO
7226CREATE TRIGGER [dbo].[specials_last_mod_D] ON [dbo].[specials]
7227FOR DELETE
7228AS
7229DECLARE @cTableName varchar(8)
7230
7231SET NOCOUNT ON
7232SET @cTableName = 'specials'
7233IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7234
7235/* Add a record to the deletes table for DELETEs */
7236 BEGIN TRANSACTION
7237 INSERT INTO deletes (tablename, key_val)
7238 SELECT @cTableName AS tablename, name AS key_val FROM Deleted
7239 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7240 IF @@ERROR != 0
7241 BEGIN
7242 RAISERROR('Cannot update the DELETES value.',16,1)
7243 ROLLBACK TRANSACTION
7244 RETURN
7245 END
7246 COMMIT TRANSACTION
7247
7248GO
7249
7250DROP TRIGGER specials_last_mod_IU
7251GO
7252CREATE TRIGGER [dbo].[specials_last_mod_IU] ON [dbo].[specials]
7253FOR INSERT, UPDATE
7254AS
7255DECLARE @CountIns int,
7256 @cTableName varchar(10),
7257 @nKeyVal int
7258
7259SET NOCOUNT ON
7260SET @cTableName = 'specials'
7261SELECT @CountIns = COUNT(*) FROM Inserted
7262IF @CountIns = 0 RETURN;
7263
7264/* Update the last_mod for INSERTs and UPDATEs */
7265 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
7266 IF @nKeyVal IS NULL
7267 BEGIN
7268 SET @nKeyVal = 1
7269 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7270 END
7271
7272 UPDATE updates SET specials = @nKeyVal + @CountIns - 1
7273 IF @@ERROR != 0
7274 BEGIN
7275 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7276 RETURN
7277 END
7278
7279 SET @nKeyVal = @nKeyVal - 1
7280 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM specials a JOIN inserted i ON a.name = i.name
7281 IF @@ERROR != 0
7282 BEGIN
7283 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7284 RETURN
7285 END
7286
7287/* Remove any record in the deletes table if this key was inserted back in */
7288 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
7289 (SELECT name FROM Inserted WHERE name NOT IN (SELECT name FROM Deleted))
7290
7291GO
7292
7293DROP TRIGGER speclink_last_mod_D
7294GO
7295CREATE TRIGGER [dbo].[speclink_last_mod_D] ON [dbo].[speclink]
7296FOR DELETE
7297AS
7298DECLARE @cTableName varchar(8)
7299
7300SET NOCOUNT ON
7301SET @cTableName = 'speclink'
7302IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7303
7304/* Add a record to the deletes table for DELETEs */
7305 BEGIN TRANSACTION
7306 INSERT INTO deletes (tablename, key_val)
7307 SELECT @cTableName AS tablename, special+department+category+item AS key_val FROM Deleted
7308 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7309 IF @@ERROR != 0
7310 BEGIN
7311 RAISERROR('Cannot update the DELETES value.',16,1)
7312 ROLLBACK TRANSACTION
7313 RETURN
7314 END
7315 COMMIT TRANSACTION
7316
7317GO
7318
7319DROP TRIGGER speclink_last_mod_IU
7320GO
7321CREATE TRIGGER [dbo].[speclink_last_mod_IU] ON [dbo].[speclink]
7322FOR INSERT, UPDATE
7323AS
7324DECLARE @CountIns int,
7325 @cTableName varchar(10),
7326 @nKeyVal int
7327
7328SET NOCOUNT ON
7329SET @cTableName = 'speclink'
7330SELECT @CountIns = COUNT(*) FROM Inserted
7331IF @CountIns = 0 RETURN;
7332
7333/* Update the last_mod for INSERTs and UPDATEs */
7334 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
7335 IF @nKeyVal IS NULL
7336 BEGIN
7337 SET @nKeyVal = 1
7338 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7339 END
7340
7341 UPDATE updates SET speclink = @nKeyVal + @CountIns - 1
7342 IF @@ERROR != 0
7343 BEGIN
7344 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7345 RETURN
7346 END
7347
7348 SET @nKeyVal = @nKeyVal - 1
7349 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM speclink a JOIN inserted i ON a.special = i.special and a.department = i.department and
7350 a.category = i.category and a.item = i.item
7351 IF @@ERROR != 0
7352 BEGIN
7353 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7354 RETURN
7355 END
7356
7357/* Remove any record in the deletes table if this key was inserted back in */
7358 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
7359 (SELECT special+department+category+item FROM Inserted WHERE special+department+category+item NOT IN (SELECT special+department+category+item FROM Deleted))
7360
7361GO
7362
7363DROP TRIGGER specmktg_last_mod_D
7364GO
7365CREATE TRIGGER [dbo].[specmktg_last_mod_D] ON [dbo].[specmktg]
7366FOR DELETE
7367AS
7368DECLARE @cTableName varchar(8)
7369
7370SET NOCOUNT ON
7371SET @cTableName = 'specmktg'
7372IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7373
7374/* Add a record to the deletes table for DELETEs */
7375 BEGIN TRANSACTION
7376 INSERT INTO deletes (tablename, key_val)
7377 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
7378 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7379 IF @@ERROR != 0
7380 BEGIN
7381 RAISERROR('Cannot update the DELETES value.',16,1)
7382 ROLLBACK TRANSACTION
7383 RETURN
7384 END
7385 COMMIT TRANSACTION
7386
7387GO
7388
7389DROP TRIGGER specmktg_last_mod_IU
7390GO
7391CREATE TRIGGER [dbo].[specmktg_last_mod_IU] ON [dbo].[specmktg]
7392FOR INSERT, UPDATE
7393AS
7394DECLARE @CountIns int,
7395 @cTableName varchar(10),
7396 @nKeyVal int
7397
7398SET NOCOUNT ON
7399SET @cTableName = 'specmktg'
7400SELECT @CountIns = COUNT(*) FROM Inserted
7401IF @CountIns = 0 RETURN;
7402
7403/* Update the last_mod for INSERTs and UPDATEs */
7404 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
7405 IF @nKeyVal IS NULL
7406 BEGIN
7407 SET @nKeyVal = 1
7408 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7409 END
7410
7411 UPDATE updates SET specmktg = @nKeyVal + @CountIns - 1
7412 IF @@ERROR != 0
7413 BEGIN
7414 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7415 RETURN
7416 END
7417
7418 SET @nKeyVal = @nKeyVal - 1
7419 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM specmktg a JOIN inserted i ON a.pri_key = i.pri_key
7420 IF @@ERROR != 0
7421 BEGIN
7422 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7423 RETURN
7424 END
7425
7426GO
7427
7428DROP TRIGGER specsrce_last_mod_D
7429GO
7430CREATE TRIGGER [dbo].[specsrce_last_mod_D] ON [dbo].[specsrce]
7431FOR DELETE
7432AS
7433DECLARE @cTableName varchar(8)
7434
7435SET NOCOUNT ON
7436SET @cTableName = 'specsrce'
7437IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7438
7439/* Add a record to the deletes table for DELETEs */
7440 BEGIN TRANSACTION
7441 INSERT INTO deletes (tablename, key_val)
7442 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
7443 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7444 IF @@ERROR != 0
7445 BEGIN
7446 RAISERROR('Cannot update the DELETES value.',16,1)
7447 ROLLBACK TRANSACTION
7448 RETURN
7449 END
7450 COMMIT TRANSACTION
7451
7452GO
7453
7454DROP TRIGGER specsrce_last_mod_IU
7455GO
7456CREATE TRIGGER [dbo].[specsrce_last_mod_IU] ON [dbo].[specsrce]
7457FOR INSERT, UPDATE
7458AS
7459DECLARE @CountIns int,
7460 @cTableName varchar(10),
7461 @nKeyVal int
7462
7463SET NOCOUNT ON
7464SET @cTableName = 'specsrce'
7465SELECT @CountIns = COUNT(*) FROM Inserted
7466IF @CountIns = 0 RETURN;
7467
7468/* Update the last_mod for INSERTs and UPDATEs */
7469 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
7470 IF @nKeyVal IS NULL
7471 BEGIN
7472 SET @nKeyVal = 1
7473 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7474 END
7475
7476 UPDATE updates SET specsrce = @nKeyVal + @CountIns - 1
7477 IF @@ERROR != 0
7478 BEGIN
7479 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7480 RETURN
7481 END
7482
7483 SET @nKeyVal = @nKeyVal - 1
7484 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM specsrce a JOIN inserted i ON a.pri_key = i.pri_key
7485 IF @@ERROR != 0
7486 BEGIN
7487 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7488 RETURN
7489 END
7490
7491GO
7492
7493DROP TRIGGER srcecode_last_mod_D
7494GO
7495CREATE TRIGGER [dbo].[srcecode_last_mod_D] ON [dbo].[srcecode]
7496FOR DELETE
7497AS
7498DECLARE @cTableName varchar(8)
7499
7500SET NOCOUNT ON
7501SET @cTableName = 'srcecode'
7502IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7503
7504/* Add a record to the deletes table for DELETEs */
7505 BEGIN TRANSACTION
7506 INSERT INTO deletes (tablename, key_val)
7507 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
7508 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7509 IF @@ERROR != 0
7510 BEGIN
7511 RAISERROR('Cannot update the DELETES value.',16,1)
7512 ROLLBACK TRANSACTION
7513 RETURN
7514 END
7515 COMMIT TRANSACTION
7516
7517GO
7518
7519DROP TRIGGER srcecode_last_mod_IU
7520GO
7521CREATE TRIGGER [dbo].[srcecode_last_mod_IU] ON [dbo].[srcecode]
7522FOR INSERT, UPDATE
7523AS
7524DECLARE @CountIns int,
7525 @cTableName varchar(10),
7526 @nKeyVal int
7527
7528SET NOCOUNT ON
7529SET @cTableName = 'srcecode'
7530SELECT @CountIns = COUNT(*) FROM Inserted
7531IF @CountIns = 0 RETURN;
7532
7533/* Update the last_mod for INSERTs and UPDATEs */
7534 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
7535 IF @nKeyVal IS NULL
7536 BEGIN
7537 SET @nKeyVal = 1
7538 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7539 END
7540
7541 UPDATE updates SET srcecode = @nKeyVal + @CountIns - 1
7542 IF @@ERROR != 0
7543 BEGIN
7544 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7545 RETURN
7546 END
7547
7548 SET @nKeyVal = @nKeyVal - 1
7549 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM srcecode a JOIN inserted i ON a.pri_key = i.pri_key
7550 IF @@ERROR != 0
7551 BEGIN
7552 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7553 RETURN
7554 END
7555
7556GO
7557
7558DROP TRIGGER template_last_mod_D
7559GO
7560CREATE TRIGGER [dbo].[template_last_mod_D] ON dbo.template
7561FOR DELETE
7562AS
7563DECLARE @cTableName varchar(8)
7564
7565SET NOCOUNT ON
7566SET @cTableName = 'template'
7567IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7568
7569/* Add a record to the deletes table for DELETEs */
7570 BEGIN TRANSACTION
7571 INSERT INTO deletes (tablename, key_val)
7572 SELECT @cTableName AS tablename, department+category+item AS key_val FROM Deleted
7573 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7574 IF @@ERROR != 0
7575 BEGIN
7576 RAISERROR('Cannot update the DELETES value.',16,1)
7577 ROLLBACK TRANSACTION
7578 RETURN
7579 END
7580 COMMIT TRANSACTION
7581
7582GO
7583
7584DROP TRIGGER template_last_mod_IU
7585GO
7586CREATE TRIGGER [dbo].[template_last_mod_IU] ON dbo.template
7587FOR INSERT, UPDATE
7588AS
7589DECLARE @CountIns int,
7590 @cTableName varchar(10),
7591 @nKeyVal int
7592
7593SET NOCOUNT ON
7594SET @cTableName = 'template'
7595SELECT @CountIns = COUNT(*) FROM Inserted
7596IF @CountIns = 0 RETURN;
7597
7598/* Update the last_mod for INSERTs and UPDATEs */
7599 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
7600 IF @nKeyVal IS NULL
7601 BEGIN
7602 SET @nKeyVal = 1
7603 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7604 END
7605
7606 UPDATE updates SET template = @nKeyVal + @CountIns - 1
7607 IF @@ERROR != 0
7608 BEGIN
7609 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7610 RETURN
7611 END
7612
7613 SET @nKeyVal = @nKeyVal - 1
7614 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM template a JOIN inserted i ON a.department = i.department and a.category = i.category and a.item = i.item
7615 IF @@ERROR != 0
7616 BEGIN
7617 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7618 RETURN
7619 END
7620
7621/* Remove any record in the deletes table if this key was inserted back in */
7622 DELETE FROM deletes WHERE tablename = @cTableName AND key_val IN
7623 (SELECT department+category+item FROM Inserted WHERE department+category+item NOT IN (SELECT department+category+item FROM Deleted))
7624
7625GO
7626
7627DROP TRIGGER tipouts_last_mod_D
7628GO
7629CREATE TRIGGER [dbo].[tipouts_last_mod_D] ON [dbo].[tipouts]
7630FOR DELETE
7631AS
7632DECLARE @cTableName varchar(8)
7633
7634SET NOCOUNT ON
7635SET @cTableName = 'tipouts'
7636IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7637
7638/* Add a record to the deletes table for DELETEs */
7639 BEGIN TRANSACTION
7640 INSERT INTO deletes (tablename, key_val)
7641 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
7642 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7643 IF @@ERROR != 0
7644 BEGIN
7645 RAISERROR('Cannot update the DELETES value.',16,1)
7646 ROLLBACK TRANSACTION
7647 RETURN
7648 END
7649 COMMIT TRANSACTION
7650
7651GO
7652
7653DROP TRIGGER tipouts_last_mod_IU
7654GO
7655CREATE TRIGGER [dbo].[tipouts_last_mod_IU] ON [dbo].[tipouts]
7656FOR INSERT, UPDATE
7657AS
7658DECLARE @CountIns int,
7659 @cTableName varchar(10),
7660 @nKeyVal int
7661
7662SET NOCOUNT ON
7663SET @cTableName = 'tipouts'
7664SELECT @CountIns = COUNT(*) FROM Inserted
7665IF @CountIns = 0 RETURN;
7666
7667/* Update the last_mod for INSERTs and UPDATEs */
7668 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
7669 IF @nKeyVal IS NULL
7670 BEGIN
7671 SET @nKeyVal = 1
7672 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7673 END
7674
7675 UPDATE updates SET tipouts = @nKeyVal + @CountIns - 1
7676 IF @@ERROR != 0
7677 BEGIN
7678 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7679 RETURN
7680 END
7681
7682 SET @nKeyVal = @nKeyVal - 1
7683 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM tipouts a JOIN inserted i ON a.pri_key = i.pri_key
7684 IF @@ERROR != 0
7685 BEGIN
7686 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7687 RETURN
7688 END
7689
7690GO
7691
7692DROP TRIGGER tr_save_last_mod_D
7693GO
7694CREATE TRIGGER [dbo].[tr_save_last_mod_D] ON [dbo].[tr_save]
7695FOR DELETE
7696AS
7697DECLARE @cTableName varchar(8)
7698
7699SET NOCOUNT ON ;
7700set transaction isolation level read uncommitted ;
7701
7702SET @cTableName = 'tr_save'
7703IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7704
7705/* Add a record to the deletes table for DELETEs */
7706 BEGIN TRANSACTION
7707 INSERT INTO deletes (tablename, key_val)
7708 SELECT @cTableName AS tablename, CAST(trans_no AS varchar(60)) AS key_val FROM Deleted
7709 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7710 IF @@ERROR != 0
7711 BEGIN
7712 RAISERROR('Cannot update the DELETES value.',16,1)
7713 ROLLBACK TRANSACTION
7714 RETURN
7715 END
7716 COMMIT TRANSACTION
7717
7718GO
7719
7720DROP TRIGGER tr_save_last_mod_IU
7721GO
7722CREATE TRIGGER [dbo].[tr_save_last_mod_IU] ON [dbo].[tr_save]
7723FOR INSERT, UPDATE
7724AS
7725DECLARE @CountIns int,
7726 @cTableName varchar(10),
7727 @nKeyVal int
7728
7729SET NOCOUNT ON ;
7730set transaction isolation level read uncommitted ;
7731
7732SET @cTableName = 'tr_save'
7733SELECT @CountIns = COUNT(*) FROM Inserted WHERE Cal_Sched = 1
7734IF @CountIns = 0 RETURN;
7735
7736/* Update the last_mod for INSERTs and UPDATEs */
7737--Removed Cursor --Omar 7/11/2011
7738 UPDATE sequence
7739 SET @nKeyVal = next_val, next_val = next_val + @CountIns
7740 WHERE name = @cTableName
7741 IF @nKeyVal IS NULL
7742 BEGIN
7743 SET @nKeyVal = 1
7744 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7745 END
7746
7747 UPDATE updates SET tr_save = @nKeyVal + @CountIns - 1
7748 IF @@ERROR != 0
7749 BEGIN
7750 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7751 RETURN
7752 END
7753
7754 UPDATE ts SET last_mod = @nKeyVal + @CountIns - 1
7755 FROM tr_save ts
7756 JOIN inserted i ON ts.trans_no = i.trans_no
7757 WHERE i.Cal_Sched = 1
7758 IF @@ERROR != 0
7759 BEGIN
7760 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7761 RETURN
7762 END
7763
7764GO
7765
7766DROP TRIGGER units_last_mod_D
7767GO
7768CREATE TRIGGER [dbo].[units_last_mod_D] ON [dbo].[units]
7769FOR DELETE
7770AS
7771DECLARE @cTableName varchar(8)
7772
7773SET NOCOUNT ON
7774SET @cTableName = 'units'
7775IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7776
7777/* Add a record to the deletes table for DELETEs */
7778 BEGIN TRANSACTION
7779 INSERT INTO deletes (tablename, key_val)
7780 SELECT @cTableName AS tablename, CAST(UnitID AS varchar(60)) AS key_val FROM Deleted
7781 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7782 IF @@ERROR != 0
7783 BEGIN
7784 RAISERROR('Cannot update the DELETES value.',16,1)
7785 ROLLBACK TRANSACTION
7786 RETURN
7787 END
7788 COMMIT TRANSACTION
7789
7790GO
7791
7792DROP TRIGGER units_last_mod_IU
7793GO
7794CREATE TRIGGER [dbo].[units_last_mod_IU] ON [dbo].[units]
7795FOR INSERT, UPDATE
7796AS
7797DECLARE @CountIns int,
7798 @cTableName varchar(10),
7799 @nKeyVal int
7800
7801SET NOCOUNT ON
7802SET @cTableName = 'units'
7803SELECT @CountIns = COUNT(*) FROM Inserted
7804IF @CountIns = 0 RETURN;
7805
7806/* Update the last_mod for INSERTs and UPDATEs */
7807 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
7808 IF @nKeyVal IS NULL
7809 BEGIN
7810 SET @nKeyVal = 1
7811 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7812 END
7813
7814 UPDATE updates SET units = @nKeyVal + @CountIns - 1
7815 IF @@ERROR != 0
7816 BEGIN
7817 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7818 RETURN
7819 END
7820
7821 SET @nKeyVal = @nKeyVal - 1
7822 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM units a JOIN inserted i ON a.UnitID = i.UnitID
7823 IF @@ERROR != 0
7824 BEGIN
7825 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7826 RETURN
7827 END
7828
7829GO
7830
7831DROP TRIGGER usercod1_last_mod_D
7832GO
7833CREATE TRIGGER [dbo].[usercod1_last_mod_D] ON [dbo].[usercod1]
7834FOR DELETE
7835AS
7836DECLARE @cTableName varchar(8)
7837
7838SET NOCOUNT ON
7839SET @cTableName = 'usercod1'
7840IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7841
7842/* Add a record to the deletes table for DELETEs */
7843 BEGIN TRANSACTION
7844 INSERT INTO deletes (tablename, key_val)
7845 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
7846 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7847 IF @@ERROR != 0
7848 BEGIN
7849 RAISERROR('Cannot update the DELETES value.',16,1)
7850 ROLLBACK TRANSACTION
7851 RETURN
7852 END
7853 COMMIT TRANSACTION
7854
7855GO
7856
7857DROP TRIGGER usercod1_last_mod_IU
7858GO
7859CREATE TRIGGER [dbo].[usercod1_last_mod_IU] ON [dbo].[usercod1]
7860FOR INSERT, UPDATE
7861AS
7862DECLARE @CountIns int,
7863 @cTableName varchar(10),
7864 @nKeyVal int
7865
7866SET NOCOUNT ON
7867SET @cTableName = 'usercod1'
7868SELECT @CountIns = COUNT(*) FROM Inserted
7869IF @CountIns = 0 RETURN;
7870
7871/* Update the last_mod for INSERTs and UPDATEs */
7872 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
7873 IF @nKeyVal IS NULL
7874 BEGIN
7875 SET @nKeyVal = 1
7876 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7877 END
7878
7879 UPDATE updates SET usercod1 = @nKeyVal + @CountIns - 1
7880 IF @@ERROR != 0
7881 BEGIN
7882 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7883 RETURN
7884 END
7885
7886 SET @nKeyVal = @nKeyVal - 1
7887 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM usercod1 a JOIN inserted i ON a.pri_key = i.pri_key
7888 IF @@ERROR != 0
7889 BEGIN
7890 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7891 RETURN
7892 END
7893
7894GO
7895
7896DROP TRIGGER usercod2_last_mod_D
7897GO
7898CREATE TRIGGER [dbo].[usercod2_last_mod_D] ON [dbo].[usercod2]
7899FOR DELETE
7900AS
7901DECLARE @cTableName varchar(8)
7902
7903SET NOCOUNT ON
7904SET @cTableName = 'usercod2'
7905IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7906
7907/* Add a record to the deletes table for DELETEs */
7908 BEGIN TRANSACTION
7909 INSERT INTO deletes (tablename, key_val)
7910 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
7911 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7912 IF @@ERROR != 0
7913 BEGIN
7914 RAISERROR('Cannot update the DELETES value.',16,1)
7915 ROLLBACK TRANSACTION
7916 RETURN
7917 END
7918 COMMIT TRANSACTION
7919
7920GO
7921
7922DROP TRIGGER usercod2_last_mod_IU
7923GO
7924CREATE TRIGGER [dbo].[usercod2_last_mod_IU] ON [dbo].[usercod2]
7925FOR INSERT, UPDATE
7926AS
7927DECLARE @CountIns int,
7928 @cTableName varchar(10),
7929 @nKeyVal int
7930
7931SET NOCOUNT ON
7932SET @cTableName = 'usercod2'
7933SELECT @CountIns = COUNT(*) FROM Inserted
7934IF @CountIns = 0 RETURN;
7935
7936/* Update the last_mod for INSERTs and UPDATEs */
7937 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
7938 IF @nKeyVal IS NULL
7939 BEGIN
7940 SET @nKeyVal = 1
7941 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
7942 END
7943
7944 UPDATE updates SET usercod2 = @nKeyVal + @CountIns - 1
7945 IF @@ERROR != 0
7946 BEGIN
7947 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7948 RETURN
7949 END
7950
7951 SET @nKeyVal = @nKeyVal - 1
7952 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM usercod2 a JOIN inserted i ON a.pri_key = i.pri_key
7953 IF @@ERROR != 0
7954 BEGIN
7955 RAISERROR('Cannot update the LAST_MOD value.',16,1)
7956 RETURN
7957 END
7958
7959GO
7960
7961DROP TRIGGER usercod3_last_mod_D
7962GO
7963CREATE TRIGGER [dbo].[usercod3_last_mod_D] ON [dbo].[usercod3]
7964FOR DELETE
7965AS
7966DECLARE @cTableName varchar(8)
7967
7968SET NOCOUNT ON
7969SET @cTableName = 'usercod3'
7970IF NOT EXISTS (SELECT * FROM deleted) RETURN;
7971
7972/* Add a record to the deletes table for DELETEs */
7973 BEGIN TRANSACTION
7974 INSERT INTO deletes (tablename, key_val)
7975 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
7976 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
7977 IF @@ERROR != 0
7978 BEGIN
7979 RAISERROR('Cannot update the DELETES value.',16,1)
7980 ROLLBACK TRANSACTION
7981 RETURN
7982 END
7983 COMMIT TRANSACTION
7984
7985GO
7986
7987DROP TRIGGER usercod3_last_mod_IU
7988GO
7989CREATE TRIGGER [dbo].[usercod3_last_mod_IU] ON [dbo].[usercod3]
7990FOR INSERT, UPDATE
7991AS
7992DECLARE @CountIns int,
7993 @cTableName varchar(10),
7994 @nKeyVal int
7995
7996SET NOCOUNT ON
7997SET @cTableName = 'usercod3'
7998SELECT @CountIns = COUNT(*) FROM Inserted
7999IF @CountIns = 0 RETURN;
8000
8001/* Update the last_mod for INSERTs and UPDATEs */
8002 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
8003 IF @nKeyVal IS NULL
8004 BEGIN
8005 SET @nKeyVal = 1
8006 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
8007 END
8008
8009 UPDATE updates SET usercod3 = @nKeyVal + @CountIns - 1
8010 IF @@ERROR != 0
8011 BEGIN
8012 RAISERROR('Cannot update the LAST_MOD value.',16,1)
8013 RETURN
8014 END
8015
8016 SET @nKeyVal = @nKeyVal - 1
8017 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM usercod3 a JOIN inserted i ON a.pri_key = i.pri_key
8018 IF @@ERROR != 0
8019 BEGIN
8020 RAISERROR('Cannot update the LAST_MOD value.',16,1)
8021 RETURN
8022 END
8023
8024GO
8025
8026DROP TRIGGER wrapcode_last_mod_D
8027GO
8028CREATE TRIGGER [dbo].[wrapcode_last_mod_D] ON [dbo].[wrapcode]
8029FOR DELETE
8030AS
8031DECLARE @cTableName varchar(8)
8032
8033SET NOCOUNT ON
8034SET @cTableName = 'wrapcode'
8035IF NOT EXISTS (SELECT * FROM deleted) RETURN;
8036
8037/* Add a record to the deletes table for DELETEs */
8038 BEGIN TRANSACTION
8039 INSERT INTO deletes (tablename, key_val)
8040 SELECT @cTableName AS tablename, CAST(pri_key AS varchar(60)) AS key_val FROM Deleted
8041 UPDATE updates SET deletes = ISNULL((SELECT TOP 1 last_mod FROM deletes ORDER BY last_mod DESC), 0)
8042 IF @@ERROR != 0
8043 BEGIN
8044 RAISERROR('Cannot update the DELETES value.',16,1)
8045 ROLLBACK TRANSACTION
8046 RETURN
8047 END
8048 COMMIT TRANSACTION
8049
8050GO
8051
8052DROP TRIGGER wrapcode_last_mod_IU
8053GO
8054CREATE TRIGGER [dbo].[wrapcode_last_mod_IU] ON [dbo].[wrapcode]
8055FOR INSERT, UPDATE
8056AS
8057DECLARE @CountIns int,
8058 @cTableName varchar(10),
8059 @nKeyVal int
8060
8061SET NOCOUNT ON
8062SET @cTableName = 'wrapcode'
8063SELECT @CountIns = COUNT(*) FROM Inserted
8064IF @CountIns = 0 RETURN;
8065
8066/* Update the last_mod for INSERTs and UPDATEs */
8067 UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
8068 IF @nKeyVal IS NULL
8069 BEGIN
8070 SET @nKeyVal = 1
8071 INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
8072 END
8073
8074 UPDATE updates SET wrapcode = @nKeyVal + @CountIns - 1
8075 IF @@ERROR != 0
8076 BEGIN
8077 RAISERROR('Cannot update the LAST_MOD value.',16,1)
8078 RETURN
8079 END
8080
8081 SET @nKeyVal = @nKeyVal - 1
8082 UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM wrapcode a JOIN inserted i ON a.pri_key = i.pri_key
8083 IF @@ERROR != 0
8084 BEGIN
8085 RAISERROR('Cannot update the LAST_MOD value.',16,1)
8086 RETURN
8087 END
8088
8089GO