Advertisement
Guest User

Untitled

a guest
May 24th, 2016
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 245.51 KB | None | 0 0
  1.  
  2. DROP TRIGGER acc_actv_last_mod_D
  3. GO
  4. CREATE TRIGGER [dbo].[acc_actv_last_mod_D] ON [dbo].[acc_actv]
  5. FOR DELETE
  6. AS
  7. DECLARE @cTableName varchar(8)
  8.  
  9. SET NOCOUNT ON
  10. SET @cTableName = 'acc_actv'
  11. IF 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.  
  26. GO
  27.  
  28. DROP TRIGGER acc_actv_last_mod_IU
  29. GO
  30. CREATE TRIGGER [dbo].[acc_actv_last_mod_IU] ON [dbo].[acc_actv]
  31. FOR INSERT, UPDATE
  32. AS
  33. DECLARE @CountIns int,
  34. @cTableName varchar(10),
  35. @nKeyVal int
  36.  
  37. SET NOCOUNT ON
  38. SET @cTableName = 'acc_actv'
  39. SELECT @CountIns = COUNT(*) FROM Inserted
  40. IF @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.  
  65. GO
  66.  
  67. DROP TRIGGER access_last_mod_D
  68. GO
  69. CREATE TRIGGER [dbo].[access_last_mod_D] ON dbo.access
  70. FOR DELETE
  71. AS
  72. DECLARE @cTableName varchar(8)
  73.  
  74. SET NOCOUNT ON
  75. SET @cTableName = 'access'
  76. IF 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.  
  91. GO
  92.  
  93. DROP TRIGGER access_last_mod_IU
  94. GO
  95. CREATE TRIGGER [dbo].[access_last_mod_IU] ON [dbo].[access]
  96. FOR INSERT, UPDATE
  97. AS
  98. DECLARE @CountIns int,
  99. @cTableName varchar(10),
  100. @nKeyVal int
  101.  
  102. SET NOCOUNT ON
  103. SET @cTableName = 'access'
  104. SELECT @CountIns = COUNT(*) FROM Inserted
  105. IF @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.  
  143. return ; -- 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. */
  146. declare @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.  
  176. set @CRLF = char(13) + char(10) ;
  177. set @TAB = char(9) ;
  178.  
  179. select @CountDel = COUNT(*) from Deleted ;
  180. if @CountIns <> 1 return ; -- make a log entry only when creating or updating a single row, not bulk operations.
  181.  
  182. set @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) ;
  186. if @CountDel = 0
  187. -- inserting a row, no <Changes> tag to build
  188. set @xmlChanges = '' ;
  189. else
  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
  207. set @xmlCurrentState = dbo.siriusfn_LogCurrentStateToXML(@xmlInserted, 'access') ;
  208.  
  209. select 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
  217. from Inserted i ;
  218.  
  219. set @Activ_type = case when @CountDel = 0 then 100 else 101 end ;
  220. set @cPass_no = rtrim(cast(@pass_no as char(16))) ;
  221. set @Tag_line = case when @CountDel = 0 then 'New ' else 'Modify ' end + 'Pass #' + rtrim(@cPass_no) + ' ' +
  222. rtrim(@department) + ' ' + rtrim(@category) + ' ' + rtrim(@item);
  223. set @Op = case when datalength(rtrim(@mod_op)) > 0 then @mod_op else @operator end ;
  224. set @Sp = case when datalength(rtrim(@mod_sp)) > 0 then @mod_sp else @salespoint end ;
  225. set @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
  228. set @PriorActiv_id = 0
  229. set @PriorChanged = ''
  230. if @Activ_type = 101
  231. begin
  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 ;
  242. end
  243.  
  244. if coalesce(@PriorActiv_id, 0) > 0
  245. begin
  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 ;
  251. end
  252. else
  253. begin
  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 ;
  274. end
  275. GO
  276.  
  277. DROP TRIGGER accomdtn_last_mod_D
  278. GO
  279. CREATE trigger [dbo].[accomdtn_last_mod_D] ON [dbo].[accomdtn]
  280. for DELETE
  281. AS
  282. DECLARE @cTableName varchar(8)
  283.  
  284. SET NOCOUNT ON
  285. SET @cTableName = 'accomdtn'
  286. IF 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.  
  301. GO
  302.  
  303. DROP TRIGGER accomdtn_last_mod_IU
  304. GO
  305. CREATE trigger [dbo].[accomdtn_last_mod_IU] ON [dbo].[accomdtn]
  306. FOR INSERT, UPDATE
  307. AS
  308. DECLARE @CountIns int,
  309. @cTableName varchar(10),
  310. @nKeyVal int
  311.  
  312. SET NOCOUNT ON
  313. SET @cTableName = 'accomdtn'
  314. SELECT @CountIns = COUNT(*) FROM Inserted
  315. IF @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.  
  340. GO
  341.  
  342. DROP TRIGGER accounts_last_mod_D
  343. GO
  344. CREATE TRIGGER [dbo].[accounts_last_mod_D] ON [dbo].[accounts]
  345. FOR DELETE
  346. AS
  347. DECLARE @cTableName varchar(8)
  348.  
  349. SET NOCOUNT ON
  350. SET @cTableName = 'accounts'
  351. IF 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.  
  366. GO
  367.  
  368. DROP TRIGGER accounts_last_mod_IU
  369. GO
  370. CREATE TRIGGER [dbo].[accounts_last_mod_IU] ON [dbo].[accounts]
  371. FOR INSERT, UPDATE
  372. AS
  373. DECLARE @CountIns int,
  374. @cTableName varchar(10),
  375. @nKeyVal int
  376.  
  377. SET NOCOUNT ON
  378. SET @cTableName = 'accounts'
  379. SELECT @CountIns = COUNT(*) FROM Inserted
  380. IF @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.  
  409. GO
  410.  
  411. DROP TRIGGER accttype_last_mod_D
  412. GO
  413. CREATE TRIGGER [dbo].[accttype_last_mod_D] ON [dbo].[accttype]
  414. FOR DELETE
  415. AS
  416. DECLARE @cTableName varchar(8)
  417.  
  418. SET NOCOUNT ON
  419. SET @cTableName = 'accttype'
  420. IF 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.  
  435. GO
  436.  
  437. DROP TRIGGER accttype_last_mod_IU
  438. GO
  439. CREATE TRIGGER [dbo].[accttype_last_mod_IU] ON [dbo].[accttype]
  440. FOR INSERT, UPDATE
  441. AS
  442. DECLARE @CountIns int,
  443. @cTableName varchar(10),
  444. @nKeyVal int
  445.  
  446. SET NOCOUNT ON
  447. SET @cTableName = 'accttype'
  448. SELECT @CountIns = COUNT(*) FROM Inserted
  449. IF @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.  
  474. GO
  475.  
  476. DROP TRIGGER addlink_last_mod_D
  477. GO
  478. CREATE TRIGGER [dbo].[addlink_last_mod_D] ON [dbo].[addlink]
  479. FOR DELETE
  480. AS
  481. DECLARE @cTableName varchar(8)
  482.  
  483. SET NOCOUNT ON
  484. SET @cTableName = 'addlink'
  485. IF 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.  
  500. GO
  501.  
  502. DROP TRIGGER addlink_last_mod_IU
  503. GO
  504. CREATE TRIGGER [dbo].[addlink_last_mod_IU] ON [dbo].[addlink]
  505. FOR INSERT,UPDATE
  506. AS
  507. DECLARE @CountIns int,
  508. @cTableName varchar(10),
  509. @nKeyVal int
  510.  
  511. SET NOCOUNT ON
  512. SET @cTableName = 'addlink'
  513. SELECT @CountIns = COUNT(*) FROM Inserted
  514. IF @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.  
  570. GO
  571.  
  572. DROP TRIGGER address_last_mod_D
  573. GO
  574. CREATE TRIGGER [dbo].[address_last_mod_D] ON [dbo].[address]
  575. FOR DELETE
  576. AS
  577. DECLARE @cTableName varchar(8)
  578.  
  579. SET NOCOUNT ON
  580. SET @cTableName = 'address'
  581. IF 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.  
  596. GO
  597.  
  598. DROP TRIGGER address_last_mod_IU
  599. GO
  600. CREATE TRIGGER [dbo].[address_last_mod_IU] ON [dbo].[address]
  601. FOR INSERT,UPDATE
  602. AS
  603. DECLARE @CountIns int,
  604. @cTableName varchar(10),
  605. @nKeyVal int
  606.  
  607. SET NOCOUNT ON
  608. SET @cTableName = 'address'
  609. SELECT @CountIns = COUNT(*) FROM Inserted
  610. IF @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.  
  635. return ; -- 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. */
  638. declare @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.  
  662. set @CRLF = char(13) + char(10) ;
  663. set @TAB = char(9) ;
  664.  
  665. select @CountDel = COUNT(*) from Deleted ;
  666. if not(@CountIns = 1 and @CountDel = 1) return ; -- make a log entry only when updating a single row, not bulk operations.
  667.  
  668. set @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) ;
  672. if @CountDel = 0
  673. -- inserting a row, no <Changes> tag to build
  674. set @xmlChanges = '' ;
  675. else
  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
  689. set @xmlCurrentState = dbo.siriusfn_LogCurrentStateToXML(@xmlInserted, 'address') ;
  690.  
  691. select 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
  696. from Inserted i ;
  697.  
  698. set @Activ_type = 2 ;
  699. set @Tag_line = case when @CountDel = 0 then 'New ' else 'Modify ' end + 'Guest Address' ;
  700. set @cGuest_no = rtrim(cast(@Guest_no as char(16))) ;
  701. set @Op = case when datalength(rtrim(@mod_op)) > 0 then @mod_op else @operator end ;
  702. set @Sp = case when datalength(rtrim(@mod_sp)) > 0 then @mod_sp else @salespoint end ;
  703. set @Date_time = getdate() ;
  704.  
  705. select top 1 @Site_no = site_no from prefs ;
  706. execute dbo.siriussp_get_unique_key2 'K_GST_ACTV' , @NumberOut = @Activ_id output;
  707. if @Activ_id = 0
  708. begin
  709. raiserror('Cannot fetch a new activity log primary key value.',16,1) ;
  710. return ;
  711. end
  712. set @Activ_id = @Activ_id * 1000000 + @Site_no ;
  713.  
  714. set @xmlCurrentState = @xmlChanges + @xmlCurrentState ;
  715. execute 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 ;
  726. GO
  727.  
  728. DROP TRIGGER baselodg_last_mod_D
  729. GO
  730. CREATE TRIGGER [dbo].[baselodg_last_mod_D] ON [dbo].[baselodg]
  731. FOR DELETE
  732. AS
  733. DECLARE @cTableName varchar(8)
  734.  
  735. SET NOCOUNT ON
  736. SET @cTableName = 'baselodg'
  737. IF 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.  
  752. GO
  753.  
  754. DROP TRIGGER baselodg_last_mod_IU
  755. GO
  756. CREATE TRIGGER [dbo].[baselodg_last_mod_IU] ON [dbo].[baselodg]
  757. FOR INSERT, UPDATE
  758. AS
  759. DECLARE @CountIns int,
  760. @cTableName varchar(10),
  761. @nKeyVal int
  762.  
  763. SET NOCOUNT ON
  764. SET @cTableName = 'baselodg'
  765. SELECT @CountIns = COUNT(*) FROM Inserted
  766. IF @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.  
  791. GO
  792.  
  793. DROP TRIGGER blackout_last_mod_D
  794. GO
  795. CREATE TRIGGER [dbo].[blackout_last_mod_D] ON [dbo].[blackout]
  796. FOR DELETE
  797. AS
  798. DECLARE @cTableName varchar(8)
  799.  
  800. SET NOCOUNT ON
  801. SET @cTableName = 'blackout'
  802. IF 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.  
  817. GO
  818.  
  819. DROP TRIGGER blackout_last_mod_IU
  820. GO
  821. CREATE TRIGGER [dbo].[blackout_last_mod_IU] ON [dbo].[blackout]
  822. FOR INSERT, UPDATE
  823. AS
  824. DECLARE @CountIns int,
  825. @cTableName varchar(10),
  826. @nKeyVal int
  827.  
  828. SET NOCOUNT ON
  829. SET @cTableName = 'blackout'
  830. SELECT @CountIns = COUNT(*) FROM Inserted
  831. IF @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.  
  856. GO
  857.  
  858. DROP TRIGGER callocat_last_mod_D
  859. GO
  860. CREATE TRIGGER [dbo].[callocat_last_mod_D] ON [dbo].[callocat]
  861. FOR DELETE
  862. AS
  863. DECLARE @cTableName varchar(8)
  864.  
  865. SET NOCOUNT ON
  866. SET @cTableName = 'callocat'
  867. IF 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.  
  882. GO
  883.  
  884. DROP TRIGGER callocat_last_mod_IU
  885. GO
  886. CREATE TRIGGER [dbo].[callocat_last_mod_IU] ON [dbo].[callocat]
  887. FOR INSERT, UPDATE
  888. AS
  889. DECLARE @CountIns int,
  890. @cTableName varchar(10),
  891. @nKeyVal int
  892.  
  893. SET NOCOUNT ON
  894. SET @cTableName = 'callocat'
  895. SELECT @CountIns = COUNT(*) FROM Inserted
  896. IF @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.  
  921. GO
  922.  
  923. DROP TRIGGER calsched_last_mod_D
  924. GO
  925. CREATE TRIGGER [dbo].[calsched_last_mod_D] ON [dbo].[calsched]
  926. FOR DELETE
  927. AS
  928. DECLARE @cTableName varchar(8)
  929.  
  930. SET NOCOUNT ON
  931. SET @cTableName = 'calsched'
  932. IF 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.  
  947. GO
  948.  
  949. DROP TRIGGER calsched_last_mod_IU
  950. GO
  951. CREATE TRIGGER [dbo].[calsched_last_mod_IU] ON [dbo].[calsched]
  952. FOR INSERT, UPDATE
  953. AS
  954. DECLARE @CountIns int,
  955. @cTableName varchar(10),
  956. @nKeyVal int
  957.  
  958. SET NOCOUNT ON
  959. SET @cTableName = 'calsched'
  960. SELECT @CountIns = COUNT(*) FROM Inserted
  961. IF @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.  
  986. GO
  987.  
  988. DROP TRIGGER calsitem_last_mod_D
  989. GO
  990. CREATE TRIGGER [dbo].[calsitem_last_mod_D] ON [dbo].[calsitem]
  991. FOR DELETE
  992. AS
  993. DECLARE @cTableName varchar(8)
  994.  
  995. SET NOCOUNT ON
  996. SET @cTableName = 'calsitem'
  997. IF 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.  
  1012. GO
  1013.  
  1014. DROP TRIGGER calsitem_last_mod_IU
  1015. GO
  1016. CREATE TRIGGER [dbo].[calsitem_last_mod_IU] ON [dbo].[calsitem]
  1017. FOR INSERT, UPDATE
  1018. AS
  1019. DECLARE @CountIns int,
  1020. @cTableName varchar(10),
  1021. @nKeyVal int
  1022.  
  1023. SET NOCOUNT ON
  1024. SET @cTableName = 'calsitem'
  1025. SELECT @CountIns = COUNT(*) FROM Inserted
  1026. IF @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.  
  1051. GO
  1052.  
  1053. DROP TRIGGER card_act_last_mod_D
  1054. GO
  1055. CREATE TRIGGER [dbo].[card_act_last_mod_D] ON [dbo].[card_act]
  1056. FOR DELETE
  1057. AS
  1058. DECLARE @cTableName varchar(8)
  1059.  
  1060. SET NOCOUNT ON
  1061. SET @cTableName = 'card_act'
  1062. IF 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.  
  1077. GO
  1078.  
  1079. DROP TRIGGER card_act_last_mod_IU
  1080. GO
  1081. CREATE TRIGGER [dbo].[card_act_last_mod_IU] ON [dbo].[card_act]
  1082. FOR INSERT, UPDATE
  1083. AS
  1084. DECLARE @CountIns int,
  1085. @cTableName varchar(10),
  1086. @nKeyVal int
  1087.  
  1088. SET NOCOUNT ON
  1089. SET @cTableName = 'card_act'
  1090. SELECT @CountIns = COUNT(*) FROM Inserted
  1091. IF @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.  
  1116. GO
  1117.  
  1118. DROP TRIGGER category_last_mod_D
  1119. GO
  1120. CREATE TRIGGER [dbo].[category_last_mod_D] ON [dbo].[category]
  1121. FOR DELETE
  1122. AS
  1123. DECLARE @cTableName varchar(8)
  1124.  
  1125. SET NOCOUNT ON
  1126. SET @cTableName = 'category'
  1127. IF 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.  
  1142. GO
  1143.  
  1144. DROP TRIGGER category_last_mod_IU
  1145. GO
  1146. CREATE TRIGGER [dbo].[category_last_mod_IU] ON [dbo].[category]
  1147. FOR INSERT, UPDATE
  1148. AS
  1149. DECLARE @CountIns int,
  1150. @cTableName varchar(10),
  1151. @nKeyVal int,
  1152. @lckmax4sale bit,
  1153. @lOldckmax4sale bit
  1154.  
  1155. SET NOCOUNT ON
  1156. SET @cTableName = 'category'
  1157. SELECT @CountIns = COUNT(*) FROM Inserted
  1158. IF @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) */
  1192. if @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 */
  1196. if @CountIns > 1
  1197. begin
  1198. truncate table Max4SaleCounts ;
  1199. return ;
  1200. end
  1201.  
  1202. /* Get the old and new values */
  1203. select top 1 @lckmax4sale = N.ckmax4sale,
  1204. @lOldckmax4sale = O.ckmax4sale
  1205. from Inserted N
  1206. inner join Deleted O on N.department = O.department and N.category = O.category
  1207.  
  1208. /* If the chkMax4Sale value changed, kill the Max4SaleCounts table */
  1209. if @lckmax4sale <> @lOldckmax4sale
  1210. begin
  1211. truncate table Max4SaleCounts ;
  1212. end
  1213.  
  1214. GO
  1215.  
  1216. DROP TRIGGER compprsn_last_mod_D
  1217. GO
  1218. CREATE TRIGGER [dbo].[compprsn_last_mod_D] ON [dbo].[compprsn]
  1219. FOR DELETE
  1220. AS
  1221. DECLARE @cTableName varchar(8)
  1222.  
  1223. SET NOCOUNT ON
  1224. SET @cTableName = 'compprsn'
  1225. IF 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.  
  1240. GO
  1241.  
  1242. DROP TRIGGER compprsn_last_mod_IU
  1243. GO
  1244. CREATE TRIGGER [dbo].[compprsn_last_mod_IU] ON [dbo].[compprsn]
  1245. FOR INSERT, UPDATE
  1246. AS
  1247. DECLARE @CountIns int,
  1248. @cTableName varchar(10),
  1249. @nKeyVal int
  1250.  
  1251. SET NOCOUNT ON
  1252. SET @cTableName = 'compprsn'
  1253. SELECT @CountIns = COUNT(*) FROM Inserted
  1254. IF @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.  
  1279. GO
  1280.  
  1281. DROP TRIGGER compreas_last_mod_D
  1282. GO
  1283. CREATE TRIGGER [dbo].[compreas_last_mod_D] ON [dbo].[compreas]
  1284. FOR DELETE
  1285. AS
  1286. DECLARE @cTableName varchar(8)
  1287.  
  1288. SET NOCOUNT ON
  1289. SET @cTableName = 'compreas'
  1290. IF 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.  
  1305. GO
  1306.  
  1307. DROP TRIGGER compreas_last_mod_IU
  1308. GO
  1309. CREATE TRIGGER [dbo].[compreas_last_mod_IU] ON [dbo].[compreas]
  1310. FOR INSERT, UPDATE
  1311. AS
  1312. DECLARE @CountIns int,
  1313. @cTableName varchar(10),
  1314. @nKeyVal int
  1315.  
  1316. SET NOCOUNT ON
  1317. SET @cTableName = 'compreas'
  1318. SELECT @CountIns = COUNT(*) FROM Inserted
  1319. IF @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.  
  1344. GO
  1345.  
  1346. DROP TRIGGER dailycod_last_mod_D
  1347. GO
  1348. CREATE TRIGGER [dbo].[dailycod_last_mod_D] ON [dbo].[dailycod]
  1349. FOR DELETE
  1350. AS
  1351. DECLARE @cTableName varchar(8)
  1352.  
  1353. SET NOCOUNT ON
  1354. SET @cTableName = 'dailycod'
  1355. IF 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.  
  1370. GO
  1371.  
  1372. DROP TRIGGER dailycod_last_mod_IU
  1373. GO
  1374. CREATE TRIGGER [dbo].[dailycod_last_mod_IU] ON [dbo].[dailycod]
  1375. FOR INSERT, UPDATE
  1376. AS
  1377. DECLARE @CountIns int,
  1378. @cTableName varchar(10),
  1379. @nKeyVal int
  1380.  
  1381. SET NOCOUNT ON
  1382. SET @cTableName = 'dailycod'
  1383. SELECT @CountIns = COUNT(*) FROM Inserted
  1384. IF @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.  
  1413. GO
  1414.  
  1415. DROP TRIGGER dci_kits_last_mod_D
  1416. GO
  1417. CREATE TRIGGER [dbo].[dci_kits_last_mod_D] ON [dbo].[dci_kits]
  1418. FOR DELETE
  1419. AS
  1420. DECLARE @cTableName varchar(8)
  1421.  
  1422. SET NOCOUNT ON
  1423. SET @cTableName = 'dci_kits'
  1424. IF 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.  
  1439. GO
  1440.  
  1441. DROP TRIGGER dci_kits_last_mod_IU
  1442. GO
  1443. CREATE TRIGGER [dbo].[dci_kits_last_mod_IU] ON [dbo].[dci_kits]
  1444. FOR INSERT, UPDATE
  1445. AS
  1446. DECLARE @CountIns int,
  1447. @cTableName varchar(10),
  1448. @nKeyVal int
  1449.  
  1450. SET NOCOUNT ON
  1451. SET @cTableName = 'dci_kits'
  1452. SELECT @CountIns = COUNT(*) FROM Inserted
  1453. IF @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.  
  1482. GO
  1483.  
  1484. DROP TRIGGER dci_liab_last_mod_D
  1485. GO
  1486. CREATE TRIGGER [dbo].[dci_liab_last_mod_D] ON [dbo].[dci_liab]
  1487. FOR DELETE
  1488. AS
  1489. DECLARE @cTableName varchar(8)
  1490.  
  1491. SET NOCOUNT ON
  1492. SET @cTableName = 'dci_liab'
  1493. IF 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.  
  1508. GO
  1509.  
  1510. DROP TRIGGER dci_liab_last_mod_IU
  1511. GO
  1512. CREATE TRIGGER [dbo].[dci_liab_last_mod_IU] ON [dbo].[dci_liab]
  1513. FOR INSERT, UPDATE
  1514. AS
  1515. DECLARE @CountIns int,
  1516. @cTableName varchar(10),
  1517. @nKeyVal int
  1518.  
  1519. SET NOCOUNT ON
  1520. SET @cTableName = 'dci_liab'
  1521. SELECT @CountIns = COUNT(*) FROM Inserted
  1522. IF @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.  
  1547. GO
  1548.  
  1549. DROP TRIGGER dci_mods_last_mod_D
  1550. GO
  1551. CREATE TRIGGER [dbo].[dci_mods_last_mod_D] ON [dbo].[dci_mods]
  1552. FOR DELETE
  1553. AS
  1554. DECLARE @cTableName varchar(8)
  1555.  
  1556. SET NOCOUNT ON
  1557. SET @cTableName = 'dci_mods'
  1558. IF 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.  
  1573. GO
  1574.  
  1575. DROP TRIGGER dci_mods_last_mod_IU
  1576. GO
  1577. CREATE TRIGGER [dbo].[dci_mods_last_mod_IU] ON [dbo].[dci_mods]
  1578. FOR INSERT, UPDATE
  1579. AS
  1580. DECLARE @CountIns int,
  1581. @cTableName varchar(10),
  1582. @nKeyVal int
  1583.  
  1584. SET NOCOUNT ON
  1585. SET @cTableName = 'dci_mods'
  1586. SELECT @CountIns = COUNT(*) FROM Inserted
  1587. IF @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.  
  1616. GO
  1617.  
  1618. DROP TRIGGER departme_last_mod_D
  1619. GO
  1620. CREATE TRIGGER [dbo].[departme_last_mod_D] ON [dbo].[departme]
  1621. FOR DELETE
  1622. AS
  1623. DECLARE @cTableName varchar(8)
  1624.  
  1625. SET NOCOUNT ON
  1626. SET @cTableName = 'departme'
  1627. IF 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.  
  1642. GO
  1643.  
  1644. DROP TRIGGER departme_last_mod_IU
  1645. GO
  1646. CREATE TRIGGER [dbo].[departme_last_mod_IU] ON [dbo].[departme]
  1647. FOR INSERT, UPDATE
  1648. AS
  1649. DECLARE @CountIns int,
  1650. @cTableName varchar(10),
  1651. @nKeyVal int,
  1652. @lckmax4sale bit,
  1653. @lOldckmax4sale bit
  1654.  
  1655.  
  1656. SET NOCOUNT ON
  1657. SET @cTableName = 'departme'
  1658. SELECT @CountIns = COUNT(*) FROM Inserted
  1659. IF @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) */
  1693. if @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 */
  1697. if @CountIns > 1
  1698. begin
  1699. truncate table Max4SaleCounts ;
  1700. return ;
  1701. end
  1702.  
  1703. /* Get the old and new values */
  1704. select top 1 @lckmax4sale = N.ckmax4sale,
  1705. @lOldckmax4sale = O.ckmax4sale
  1706. from Inserted N
  1707. inner join Deleted O on N.department = O.department
  1708.  
  1709. /* If the chkMax4Sale value changed, kill the Max4SaleCounts table */
  1710. if @lckmax4sale <> @lOldckmax4sale
  1711. begin
  1712. truncate table Max4SaleCounts ;
  1713. end
  1714.  
  1715. GO
  1716.  
  1717. DROP TRIGGER dp_rules_last_mod_D
  1718. GO
  1719. CREATE TRIGGER [dbo].[dp_rules_last_mod_D] ON [dbo].[dp_rules]
  1720. FOR DELETE
  1721. AS
  1722. DECLARE @cTableName varchar(8)
  1723.  
  1724. SET NOCOUNT ON
  1725. SET @cTableName = 'dp_rules'
  1726. IF 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.  
  1741. GO
  1742.  
  1743. DROP TRIGGER dp_rules_last_mod_IU
  1744. GO
  1745. CREATE TRIGGER [dbo].[dp_rules_last_mod_IU] ON [dbo].[dp_rules]
  1746. FOR INSERT, UPDATE
  1747. AS
  1748. DECLARE @CountIns int,
  1749. @cTableName varchar(10),
  1750. @nKeyVal int
  1751.  
  1752. SET NOCOUNT ON
  1753. SET @cTableName = 'dp_rules'
  1754. SELECT @CountIns = COUNT(*) FROM Inserted
  1755. IF @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.  
  1780. GO
  1781.  
  1782. DROP TRIGGER expndtxt_last_mod_D
  1783. GO
  1784. CREATE TRIGGER [dbo].[expndtxt_last_mod_D] ON [dbo].[expndtxt]
  1785. FOR DELETE
  1786. AS
  1787. DECLARE @cTableName varchar(8)
  1788.  
  1789. SET NOCOUNT ON
  1790. SET @cTableName = 'expndtxt'
  1791. IF 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.  
  1806. GO
  1807.  
  1808. DROP TRIGGER expndtxt_last_mod_IU
  1809. GO
  1810. CREATE TRIGGER [dbo].[expndtxt_last_mod_IU] ON [dbo].[expndtxt]
  1811. FOR INSERT, UPDATE
  1812. AS
  1813. DECLARE @CountIns int,
  1814. @cTableName varchar(10),
  1815. @nKeyVal int
  1816.  
  1817. SET NOCOUNT ON
  1818. SET @cTableName = 'expndtxt'
  1819. SELECT @CountIns = COUNT(*) FROM Inserted
  1820. IF @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.  
  1849. GO
  1850.  
  1851. DROP TRIGGER gifttmpl_last_mod_D
  1852. GO
  1853. CREATE TRIGGER [dbo].[gifttmpl_last_mod_D] ON [dbo].[gifttmpl]
  1854. FOR DELETE
  1855. AS
  1856. DECLARE @cTableName varchar(8)
  1857.  
  1858. SET NOCOUNT ON
  1859. SET @cTableName = 'gifttmpl'
  1860. IF 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.  
  1875. GO
  1876.  
  1877. DROP TRIGGER gifttmpl_last_mod_IU
  1878. GO
  1879. CREATE TRIGGER [dbo].[gifttmpl_last_mod_IU] ON [dbo].[gifttmpl]
  1880. FOR INSERT, UPDATE
  1881. AS
  1882. DECLARE @CountIns int,
  1883. @cTableName varchar(10),
  1884. @nKeyVal int
  1885.  
  1886. SET NOCOUNT ON
  1887. SET @cTableName = 'gifttmpl'
  1888. SELECT @CountIns = COUNT(*) FROM Inserted
  1889. IF @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.  
  1918. GO
  1919.  
  1920. DROP TRIGGER gst_actv_last_mod_D
  1921. GO
  1922. CREATE TRIGGER [dbo].[gst_actv_last_mod_D] ON [dbo].[gst_actv]
  1923. FOR DELETE
  1924. AS
  1925. DECLARE @cTableName varchar(8)
  1926.  
  1927. SET NOCOUNT ON
  1928. SET @cTableName = 'gst_actv'
  1929. IF 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.  
  1944. GO
  1945.  
  1946. DROP TRIGGER gst_actv_last_mod_IU
  1947. GO
  1948. CREATE TRIGGER [dbo].[gst_actv_last_mod_IU] ON [dbo].[gst_actv]
  1949. FOR INSERT, UPDATE
  1950. AS
  1951. DECLARE @CountIns int,
  1952. @cTableName varchar(10),
  1953. @nKeyVal int
  1954.  
  1955. SET NOCOUNT ON
  1956. SET @cTableName = 'gst_actv'
  1957. SELECT @CountIns = COUNT(*) FROM Inserted
  1958. IF @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.  
  1983. GO
  1984.  
  1985. DROP TRIGGER gst_atmp_last_mod_D
  1986. GO
  1987. CREATE TRIGGER [dbo].[gst_atmp_last_mod_D] ON [dbo].[gst_atmp]
  1988. FOR DELETE
  1989. AS
  1990. DECLARE @cTableName varchar(8)
  1991.  
  1992. SET NOCOUNT ON
  1993. SET @cTableName = 'gst_atmp'
  1994. IF 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.  
  2010. GO
  2011.  
  2012. DROP TRIGGER gst_atmp_last_mod_IU
  2013. GO
  2014. CREATE TRIGGER [dbo].[gst_atmp_last_mod_IU] ON [dbo].[gst_atmp]
  2015. FOR INSERT, UPDATE
  2016. AS
  2017. DECLARE @CountIns int,
  2018. @cTableName varchar(10),
  2019. @nKeyVal int
  2020.  
  2021. SET NOCOUNT ON
  2022. SET @cTableName = 'gst_atmp'
  2023. SELECT @CountIns = COUNT(*) FROM Inserted
  2024. IF @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.  
  2049. GO
  2050.  
  2051. DROP TRIGGER gst_book_CreateLog_IU
  2052. GO
  2053. CREATE TRIGGER [dbo].[gst_book_CreateLog_IU] ON [dbo].[gst_book]
  2054. FOR INSERT, UPDATE
  2055. AS
  2056. DECLARE @CountIns int,
  2057. @cTableName varchar(10),
  2058. @nKeyVal int
  2059.  
  2060. SET NOCOUNT ON
  2061. SET @cTableName = 'gst_book'
  2062. SELECT @CountIns = COUNT(*) FROM Inserted
  2063.  
  2064. return ; -- 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". */
  2067. declare @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.  
  2094. set @CRLF = char(13) + char(10) ;
  2095. set @TAB = char(9) ;
  2096.  
  2097. select @CountDel = COUNT(*) from Deleted ;
  2098. if @CountIns <> 1 return ; -- make a log entry only when updating a single row, not bulk operations.
  2099.  
  2100. set @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) ;
  2104. if @CountDel = 0
  2105. -- inserting a row, no <Changes> tag to build
  2106. set @xmlChanges = '' ;
  2107. else
  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
  2123. set @xmlCurrentState = dbo.siriusfn_LogCurrentStateToXML(@xmlInserted, 'gst_book') ;
  2124.  
  2125. select 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
  2130. from Inserted i ;
  2131.  
  2132. set @Activ_type = 20 ;
  2133. set @Tag_line = 'Modify Booking Prefs' ;
  2134. set @cGuest_no = rtrim(cast(@Guest_no as char(16))) ;
  2135. set @Op = case when datalength(rtrim(@mod_op)) > 0 then @mod_op else @operator end ;
  2136. set @Sp = case when datalength(rtrim(@mod_sp)) > 0 then @mod_sp else @salespoint end ;
  2137. set @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
  2140. set @PriorActiv_id = 0
  2141. set @PriorChanged = ''
  2142. if @Activ_type = 20
  2143. begin
  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 ;
  2155. end
  2156.  
  2157. if coalesce(@PriorActiv_id, 0) > 0
  2158. begin
  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 ;
  2164. end
  2165. else
  2166. begin
  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 ;
  2188. end
  2189. GO
  2190.  
  2191. DROP TRIGGER gst_jrnl_last_mod_D
  2192. GO
  2193. CREATE TRIGGER [dbo].[gst_jrnl_last_mod_D] ON [dbo].[gst_jrnl]
  2194. FOR DELETE
  2195. AS
  2196. DECLARE @cTableName varchar(8)
  2197.  
  2198. SET NOCOUNT ON
  2199. SET @cTableName = 'gst_jrnl'
  2200. IF 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.  
  2215. GO
  2216.  
  2217. DROP TRIGGER gst_jrnl_last_mod_IU
  2218. GO
  2219. CREATE TRIGGER [dbo].[gst_jrnl_last_mod_IU] ON [dbo].[gst_jrnl]
  2220. FOR INSERT, UPDATE
  2221. AS
  2222. DECLARE @CountIns int,
  2223. @cTableName varchar(10),
  2224. @nKeyVal int
  2225.  
  2226. SET NOCOUNT ON
  2227. SET @cTableName = 'gst_jrnl'
  2228. SELECT @CountIns = COUNT(*) FROM Inserted
  2229. IF @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.  
  2254. GO
  2255.  
  2256. DROP TRIGGER gst_pass_last_mod_D
  2257. GO
  2258. CREATE TRIGGER [dbo].[gst_pass_last_mod_D] ON [dbo].[gst_pass]
  2259. FOR DELETE
  2260. AS
  2261. DECLARE @cTableName varchar(8)
  2262.  
  2263. SET NOCOUNT ON
  2264. SET @cTableName = 'gst_pass'
  2265. IF 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.  
  2280. GO
  2281.  
  2282. DROP TRIGGER gst_pass_last_mod_IU
  2283. GO
  2284. CREATE TRIGGER [dbo].[gst_pass_last_mod_IU] ON [dbo].[gst_pass]
  2285. FOR INSERT, UPDATE
  2286. AS
  2287. DECLARE @CountIns int,
  2288. @cTableName varchar(10),
  2289. @nKeyVal int
  2290.  
  2291. SET NOCOUNT ON
  2292. SET @cTableName = 'gst_pass'
  2293. SELECT @CountIns = COUNT(*) FROM Inserted
  2294. IF @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.  
  2334. return ; -- 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. -------------- */
  2337. declare @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.  
  2374. set @CRLF = char(13) + char(10) ;
  2375. set @TAB = char(9) ;
  2376.  
  2377. select @CountDel = COUNT(*) from Deleted ;
  2378. if @CountIns <> 1 return ; -- make a log entry only when creating or updating a single row, not bulk operations.
  2379.  
  2380. set @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) ;
  2384. if @CountDel = 0
  2385. -- inserting a row, no <Changes> tag to build
  2386. set @xmlChanges = '' ;
  2387. else
  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
  2410. set @xmlCurrentState = dbo.siriusfn_LogCurrentStateToXML(@xmlInserted, 'gst_pass') ;
  2411.  
  2412. select 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
  2428. from Inserted i ;
  2429.  
  2430. set @Activ_type = case when @CountDel = 0 then 100 else 101 end ;
  2431. set @cPass_no = rtrim(cast(@pass_no as char(16))) ;
  2432. set @Tag_line = case when @CountDel = 0 then 'New ' else 'Modify ' end + 'Pass #' + rtrim(@cPass_no) + ' ' +
  2433. rtrim(@department) + ' ' + rtrim(@category) + ' ' + rtrim(@item);
  2434. set @Op = case when datalength(rtrim(@mod_op)) > 0 then @mod_op else @operator end ;
  2435. set @Sp = case when datalength(rtrim(@mod_sp)) > 0 then @mod_sp else @salespoint end ;
  2436. set @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
  2439. set @PriorActiv_id = 0
  2440. set @PriorChanged = ''
  2441. if @Activ_type = 101
  2442. begin
  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 ;
  2454. end
  2455.  
  2456. if coalesce(@PriorActiv_id, 0) > 0
  2457. begin
  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 ;
  2463. end
  2464. else
  2465. begin
  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 ;
  2487. end
  2488.  
  2489. /* ------------ Update the links in the gst_card table if necessary ---------- */
  2490. declare @NewCard_num varchar(19),
  2491. @CardCard_num varchar(19),
  2492. @CardGuest_no numeric(17,0),
  2493. @CardCard_id numeric(17,0)
  2494. if update(swipe_no) and datalength(rtrim(@swipe_no)) > 0
  2495. begin
  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
  2533. end
  2534.  
  2535.  
  2536. /* ---------------- On an insert, seed the unitvalu table with starting values if necessary ------------- */
  2537. declare @t_uvalue1 bit,
  2538. @t_uvalue2 bit,
  2539. @UV_id numeric(17,0),
  2540. @unit_value money ;
  2541. if @CountDel = 0
  2542. begin
  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.  
  2588. end
  2589.  
  2590. /* ------------ On an update, have to void pass seats if this pass is voided ---------- */
  2591. if (update(voided_for) or update(voided_by)) and (datalength(rtrim(@voided_for)) > 0 or datalength(rtrim(@voided_by)) > 0)
  2592. begin
  2593. execute dbo.siriussp_rsVoidPassSeats
  2594. @pass_no = @pass_no ,
  2595. @Salespoint = @Sp,
  2596. @Operator = @Op
  2597. end
  2598. GO
  2599.  
  2600. DROP TRIGGER gst_rent_last_mod_D
  2601. GO
  2602. CREATE TRIGGER [dbo].[gst_rent_last_mod_D] ON [dbo].[gst_rent]
  2603. FOR DELETE
  2604. AS
  2605. DECLARE @cTableName varchar(8)
  2606.  
  2607. SET NOCOUNT ON
  2608. SET @cTableName = 'gst_rent'
  2609. IF 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.  
  2624. GO
  2625.  
  2626. DROP TRIGGER gst_rent_last_mod_IU
  2627. GO
  2628. CREATE TRIGGER [dbo].[gst_rent_last_mod_IU] ON [dbo].[gst_rent]
  2629. FOR INSERT, UPDATE
  2630. AS
  2631. DECLARE @CountIns int,
  2632. @cTableName varchar(10),
  2633. @nKeyVal int
  2634.  
  2635. SET NOCOUNT ON
  2636. SET @cTableName = 'gst_rent'
  2637. SELECT @CountIns = COUNT(*) FROM Inserted
  2638. IF @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.  
  2663. return ; -- 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". */
  2666. declare @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.  
  2695. set @CRLF = char(13) + char(10) ;
  2696. set @TAB = char(9) ;
  2697.  
  2698. select @CountDel = COUNT(*) from Deleted ;
  2699. if @CountIns <> 1 return ; -- make a log entry only when updating a single row, not bulk operations.
  2700.  
  2701. set @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) ;
  2705. if @CountDel = 0
  2706. -- inserting a row, no <Changes> tag to build
  2707. set @xmlChanges = '' ;
  2708. else
  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
  2727. set @xmlCurrentState = dbo.siriusfn_LogCurrentStateToXML(@xmlInserted, 'gst_rent') ;
  2728.  
  2729. select 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
  2734. from Inserted i ;
  2735.  
  2736. set @Activ_type = 30 ;
  2737. set @Tag_line = 'Modify Rental Prefs' ;
  2738. set @cGuest_no = rtrim(cast(@Guest_no as char(16))) ;
  2739. set @Op = case when datalength(rtrim(@mod_op)) > 0 then @mod_op else @operator end ;
  2740. set @Sp = case when datalength(rtrim(@mod_sp)) > 0 then @mod_sp else @salespoint end ;
  2741. set @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
  2744. set @PriorActiv_id = 0
  2745. set @PriorChanged = ''
  2746. if @Activ_type = 30
  2747. begin
  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 ;
  2759. end
  2760.  
  2761. if coalesce(@PriorActiv_id, 0) > 0
  2762. begin
  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 ;
  2768. end
  2769. else
  2770. begin
  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 ;
  2792. end
  2793. GO
  2794.  
  2795. DROP TRIGGER gst_rltn_last_mod_D
  2796. GO
  2797. CREATE TRIGGER [dbo].[gst_rltn_last_mod_D] ON [dbo].[gst_rltn]
  2798. FOR DELETE
  2799. AS
  2800. DECLARE @cTableName varchar(8)
  2801.  
  2802. SET NOCOUNT ON
  2803. SET @cTableName = 'gst_rltn'
  2804. IF 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.  
  2819. GO
  2820.  
  2821. DROP TRIGGER gst_rltn_last_mod_IU
  2822. GO
  2823. CREATE TRIGGER [dbo].[gst_rltn_last_mod_IU] ON [dbo].[gst_rltn]
  2824. FOR INSERT, UPDATE
  2825. AS
  2826. DECLARE @CountIns int,
  2827. @cTableName varchar(10),
  2828. @nKeyVal int
  2829.  
  2830. SET NOCOUNT ON
  2831. SET @cTableName = 'gst_rltn'
  2832. SELECT @CountIns = COUNT(*) FROM Inserted
  2833. IF @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.  
  2858. GO
  2859.  
  2860. DROP TRIGGER guests_last_mod_D
  2861. GO
  2862. CREATE TRIGGER [dbo].[guests_last_mod_D] ON [dbo].[guests]
  2863. FOR DELETE
  2864. AS
  2865. DECLARE @cTableName varchar(8)
  2866.  
  2867. SET NOCOUNT ON
  2868. SET @cTableName = 'guests'
  2869. IF 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.  
  2884. GO
  2885.  
  2886. DROP TRIGGER guests_last_mod_IU
  2887. GO
  2888. CREATE TRIGGER [dbo].[guests_last_mod_IU] ON [dbo].[guests]
  2889. FOR INSERT, UPDATE
  2890. AS
  2891. DECLARE @CountIns int,
  2892. @cTableName varchar(10),
  2893. @cKeyVal numeric(17,0),
  2894. @cweb_user varchar(100),
  2895. @nKeyVal int
  2896.  
  2897. SET NOCOUNT ON
  2898. SET @cTableName = 'guests'
  2899. SELECT @CountIns = COUNT(*) FROM Inserted
  2900. IF @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) */
  2956. IF @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.  
  2970. return ; -- 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. */
  2973. declare @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.  
  3002. set @CRLF = char(13) + char(10) ;
  3003. set @TAB = char(9) ;
  3004.  
  3005. select @CountDel = COUNT(*) from Deleted ;
  3006. if @CountIns <> 1 return ; -- make a log entry only when creating or updating a single row, not bulk operations.
  3007.  
  3008. set @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) ;
  3012. if @CountDel = 0
  3013. -- inserting a row, no <Changes> tag to build
  3014. set @xmlChanges = '' ;
  3015. else
  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
  3047. set @xmlCurrentState = dbo.siriusfn_LogCurrentStateToXML(@xmlInserted, 'guests') ;
  3048.  
  3049. select 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
  3056. from Inserted i ;
  3057.  
  3058. set @Activ_type = case when @CountDel = 0 then 1 else 2 end ;
  3059. set @Tag_line = case when @CountDel = 0 then 'New ' else 'Modify ' end + 'Guest ' + rtrim(@first_name) + ' ' + rtrim(@last_name) ;
  3060. set @cGuest_no = rtrim(cast(@Guest_no as char(16))) ;
  3061. set @Op = case when datalength(rtrim(@mod_op)) > 0 then @mod_op else @operator end ;
  3062. set @Sp = case when datalength(rtrim(@mod_sp)) > 0 then @mod_sp else @salespoint end ;
  3063. set @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
  3066. set @PriorActiv_id = 0
  3067. set @PriorChanged = ''
  3068. if @Activ_type = 2
  3069. begin
  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 ;
  3081. end
  3082.  
  3083. if coalesce(@PriorActiv_id, 0) > 0
  3084. begin
  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 ;
  3090. end
  3091. else
  3092. begin
  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 ;
  3114. end
  3115.  
  3116. /* ------------ On an update, cascade change to guest name in other tables ---------- */
  3117. if @CountDel > 0 and (update(first_name) or update(last_name))
  3118. begin
  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.  
  3132. end
  3133. GO
  3134.  
  3135. DROP TRIGGER i_items_last_mod_D
  3136. GO
  3137. CREATE TRIGGER [dbo].[i_items_last_mod_D] ON [dbo].[i_items]
  3138. FOR DELETE
  3139. AS
  3140. DECLARE @cTableName varchar(8)
  3141.  
  3142. SET NOCOUNT ON
  3143. SET @cTableName = 'i_items'
  3144. IF 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.  
  3159. GO
  3160.  
  3161. DROP TRIGGER i_items_last_mod_IU
  3162. GO
  3163. CREATE TRIGGER [dbo].[i_items_last_mod_IU] ON [dbo].[i_items]
  3164. FOR INSERT, UPDATE
  3165. AS
  3166. DECLARE @CountIns int,
  3167. @cTableName varchar(10),
  3168. @nKeyVal int
  3169.  
  3170. SET NOCOUNT ON
  3171. SET @cTableName = 'i_items'
  3172. SELECT @CountIns = COUNT(*) FROM Inserted
  3173. IF @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.  
  3198. GO
  3199.  
  3200. DROP TRIGGER i_mcode_last_mod_D
  3201. GO
  3202. CREATE TRIGGER [dbo].[i_mcode_last_mod_D] ON [dbo].[i_mcode]
  3203. FOR DELETE
  3204. AS
  3205. DECLARE @cTableName varchar(8)
  3206.  
  3207. SET NOCOUNT ON
  3208. SET @cTableName = 'i_mcode'
  3209. IF 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.  
  3224. GO
  3225.  
  3226. DROP TRIGGER i_mcode_last_mod_IU
  3227. GO
  3228. CREATE TRIGGER [dbo].[i_mcode_last_mod_IU] ON [dbo].[i_mcode]
  3229. FOR INSERT, UPDATE
  3230. AS
  3231. DECLARE @CountIns int,
  3232. @cTableName varchar(10),
  3233. @nKeyVal int
  3234.  
  3235. SET NOCOUNT ON
  3236. SET @cTableName = 'i_mcode'
  3237. SELECT @CountIns = COUNT(*) FROM Inserted
  3238. IF @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.  
  3263. GO
  3264.  
  3265. DROP TRIGGER i_vendor_last_mod_D
  3266. GO
  3267. CREATE TRIGGER [dbo].[i_vendor_last_mod_D] ON [dbo].[i_vendor]
  3268. FOR DELETE
  3269. AS
  3270. DECLARE @cTableName varchar(8)
  3271.  
  3272. SET NOCOUNT ON
  3273. SET @cTableName = 'i_vendor'
  3274. IF 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.  
  3289. GO
  3290.  
  3291. DROP TRIGGER i_vendor_last_mod_IU
  3292. GO
  3293. CREATE TRIGGER [dbo].[i_vendor_last_mod_IU] ON [dbo].[i_vendor]
  3294. FOR INSERT,UPDATE
  3295. AS
  3296. DECLARE @CountIns int,
  3297. @cTableName varchar(10),
  3298. @nKeyVal int
  3299.  
  3300. SET NOCOUNT ON
  3301. SET @cTableName = 'i_vendor'
  3302. SELECT @CountIns = COUNT(*) FROM Inserted
  3303. IF @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.  
  3328. GO
  3329.  
  3330. DROP TRIGGER IHCxfer_last_mod_D
  3331. GO
  3332. CREATE TRIGGER [dbo].[IHCxfer_last_mod_D] ON [dbo].[IHCxfer]
  3333. FOR DELETE
  3334. AS
  3335. DECLARE @cTableName varchar(8)
  3336.  
  3337. SET NOCOUNT ON
  3338. SET @cTableName = 'IHCxfer'
  3339. IF 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.  
  3354. GO
  3355.  
  3356. DROP TRIGGER IHCxfer_last_mod_IU
  3357. GO
  3358. CREATE TRIGGER [dbo].[IHCxfer_last_mod_IU] ON [dbo].[IHCxfer]
  3359. FOR INSERT, UPDATE
  3360. AS
  3361. DECLARE @CountIns int,
  3362. @cTableName varchar(10),
  3363. @nKeyVal int
  3364.  
  3365. SET NOCOUNT ON
  3366. SET @cTableName = 'IHCxfer'
  3367. SELECT @CountIns = COUNT(*) FROM Inserted
  3368. IF @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.  
  3393. GO
  3394.  
  3395. DROP TRIGGER invoices_last_mod_D
  3396. GO
  3397. CREATE TRIGGER [dbo].[invoices_last_mod_D] ON [dbo].[invoices]
  3398. FOR DELETE
  3399. AS
  3400. DECLARE @cTableName varchar(8)
  3401.  
  3402. SET NOCOUNT ON
  3403. SET @cTableName = 'invoices'
  3404. IF 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.  
  3419. GO
  3420.  
  3421. DROP TRIGGER invoices_last_mod_IU
  3422. GO
  3423. CREATE TRIGGER [dbo].[invoices_last_mod_IU] ON [dbo].[invoices]
  3424. FOR INSERT, UPDATE
  3425. AS
  3426. DECLARE @CountIns int,
  3427. @cTableName varchar(10),
  3428. @nKeyVal int
  3429.  
  3430. SET NOCOUNT ON
  3431. SET @cTableName = 'invoices'
  3432. SELECT @CountIns = COUNT(*) FROM Inserted
  3433. IF @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.  
  3458. GO
  3459.  
  3460. DROP TRIGGER itempics_last_mod_D
  3461. GO
  3462. CREATE TRIGGER [dbo].[itempics_last_mod_D] ON [dbo].[itempics]
  3463. FOR DELETE
  3464. AS
  3465. DECLARE @cTableName varchar(8)
  3466.  
  3467. SET NOCOUNT ON
  3468. SET @cTableName = 'itempics'
  3469. IF 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.  
  3484. GO
  3485.  
  3486. DROP TRIGGER itempics_last_mod_IU
  3487. GO
  3488. CREATE TRIGGER [dbo].[itempics_last_mod_IU] ON [dbo].[itempics]
  3489. FOR INSERT, UPDATE
  3490. AS
  3491. DECLARE @CountIns int,
  3492. @cTableName varchar(10),
  3493. @nKeyVal int
  3494.  
  3495. SET NOCOUNT ON
  3496. SET @cTableName = 'itempics'
  3497. SELECT @CountIns = COUNT(*) FROM Inserted
  3498. IF @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.  
  3527. GO
  3528.  
  3529. DROP TRIGGER items_last_mod_D
  3530. GO
  3531. CREATE TRIGGER [dbo].[items_last_mod_D] ON dbo.items
  3532. FOR DELETE
  3533. AS
  3534. DECLARE @cTableName varchar(8)
  3535.  
  3536. SET NOCOUNT ON
  3537. SET @cTableName = 'items'
  3538. IF 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.  
  3553. GO
  3554.  
  3555. DROP TRIGGER itemtree_last_mod_D
  3556. GO
  3557. CREATE TRIGGER [dbo].[itemtree_last_mod_D] ON [dbo].[itemtree]
  3558. FOR DELETE
  3559. AS
  3560. DECLARE @cTableName varchar(8)
  3561.  
  3562. SET NOCOUNT ON
  3563. SET @cTableName = 'itemtree'
  3564. IF 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.  
  3579. GO
  3580.  
  3581. DROP TRIGGER itemtree_last_mod_IU
  3582. GO
  3583. CREATE TRIGGER [dbo].[itemtree_last_mod_IU] ON [dbo].[itemtree]
  3584. FOR INSERT, UPDATE
  3585. AS
  3586. DECLARE @CountIns int,
  3587. @cTableName varchar(10),
  3588. @nKeyVal int
  3589.  
  3590. SET NOCOUNT ON
  3591. SET @cTableName = 'itemtree'
  3592. SELECT @CountIns = COUNT(*) FROM Inserted
  3593. IF @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.  
  3618. GO
  3619.  
  3620. DROP TRIGGER l_forms_last_mod_D
  3621. GO
  3622. CREATE TRIGGER [dbo].[l_forms_last_mod_D] ON [dbo].[l_forms]
  3623. FOR DELETE
  3624. AS
  3625. DECLARE @cTableName varchar(8)
  3626.  
  3627. SET NOCOUNT ON
  3628. SET @cTableName = 'l_forms'
  3629. IF 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.  
  3644. GO
  3645.  
  3646. DROP TRIGGER l_forms_last_mod_IU
  3647. GO
  3648. CREATE TRIGGER [dbo].[l_forms_last_mod_IU] ON [dbo].[l_forms]
  3649. FOR INSERT, UPDATE
  3650. AS
  3651. DECLARE @CountIns int,
  3652. @cTableName varchar(10),
  3653. @nKeyVal int
  3654.  
  3655. SET NOCOUNT ON
  3656. SET @cTableName = 'l_forms'
  3657. SELECT @CountIns = COUNT(*) FROM Inserted
  3658. IF @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.  
  3683. GO
  3684.  
  3685. DROP TRIGGER Language_last_mod_D
  3686. GO
  3687.  
  3688. create trigger [dbo].[Language_last_mod_D] ON [dbo].[Language]
  3689. for delete
  3690. as
  3691. declare @cTableName varchar(8)
  3692.  
  3693. set nocount on
  3694. set @cTableName = 'Language'
  3695. if not exists (select * from deleted) return;
  3696.  
  3697. /* Add a record to the deletes table for DELETEs */
  3698. begin 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
  3713. commit transaction
  3714.  
  3715. GO
  3716.  
  3717. DROP TRIGGER Language_last_mod_IU
  3718. GO
  3719.  
  3720. create trigger [dbo].[Language_last_mod_IU] ON [dbo].[Language]
  3721. for insert, update
  3722. as
  3723. declare @CountIns int,
  3724. @cTableName varchar(10),
  3725. @nKeyVal int
  3726.  
  3727. set nocount on
  3728. set @cTableName = 'Language'
  3729. select @CountIns = count(*) from Inserted
  3730. if @CountIns = 0 return;
  3731.  
  3732. /* Update the last_mod for INSERTs and UPDATEs */
  3733. update sequence set @nKeyVal = next_val, next_val = next_val + @CountIns where name = @cTableName
  3734. if @nKeyVal is null
  3735. begin
  3736. set @nKeyVal = 1
  3737. insert into sequence (name, next_val) values (@cTableName, @CountIns + 1)
  3738. end
  3739.  
  3740. update updates set language = @nKeyVal + @CountIns - 1
  3741. if @@ERROR != 0
  3742. begin
  3743. raiserror('Cannot update the LAST_MOD value.', 16, 1)
  3744. return
  3745. end
  3746.  
  3747. set @nKeyVal = @nKeyVal - 1
  3748. update a set @nKeyVal = last_mod = @nKeyVal + 1 from Language a JOIN inserted i ON a.LanguageID = i.LanguageID
  3749. if @@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 */
  3756. delete 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.  
  3759. GO
  3760.  
  3761. DROP TRIGGER layouts_last_mod_D
  3762. GO
  3763. CREATE TRIGGER [dbo].[layouts_last_mod_D] ON [dbo].[Layouts]
  3764. FOR DELETE
  3765. AS
  3766. DECLARE @cTableName varchar(8)
  3767.  
  3768. SET NOCOUNT ON
  3769. SET @cTableName = 'layouts'
  3770. IF 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.  
  3785. GO
  3786.  
  3787. DROP TRIGGER layouts_last_mod_IU
  3788. GO
  3789. CREATE TRIGGER [dbo].[layouts_last_mod_IU] ON [dbo].[Layouts]
  3790. FOR INSERT, UPDATE
  3791. AS
  3792. DECLARE @CountIns int,
  3793. @cTableName varchar(10),
  3794. @nKeyVal int
  3795.  
  3796. SET NOCOUNT ON
  3797. SET @cTableName = 'layouts'
  3798. SELECT @CountIns = COUNT(*) FROM Inserted
  3799. IF @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.  
  3828. GO
  3829.  
  3830. DROP TRIGGER Licenses_last_mod_D
  3831. GO
  3832.  
  3833. CREATE TRIGGER [dbo].[Licenses_last_mod_D] ON [dbo].[Licenses]
  3834. FOR DELETE
  3835. AS
  3836. DECLARE @cTableName varchar(8);
  3837.  
  3838. SET NOCOUNT ON;
  3839.  
  3840. IF NOT EXISTS (
  3841. SELECT *
  3842. FROM deleted
  3843. )
  3844. RETURN;
  3845.  
  3846. SET @cTableName = 'Licenses'
  3847.  
  3848. /* Add a record to the deletes table for DELETEs */
  3849. BEGIN 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
  3868. END TRY
  3869.  
  3870. BEGIN CATCH
  3871. IF @@TRANCOUNT > 0
  3872. ROLLBACK TRANSACTION
  3873.  
  3874. RAISERROR (
  3875. 'Cannot update the DELETES value.'
  3876. ,16
  3877. ,1
  3878. )
  3879. END CATCH
  3880.  
  3881. GO
  3882.  
  3883. DROP TRIGGER Licenses_last_mod_IU
  3884. GO
  3885.  
  3886. CREATE TRIGGER [dbo].[Licenses_last_mod_IU] ON [dbo].[Licenses]
  3887. FOR INSERT
  3888. ,UPDATE
  3889. AS
  3890. DECLARE @CountIns INT
  3891. ,@cTableName varchar(10)
  3892. ,@nKeyVal INT;
  3893.  
  3894. SET NOCOUNT ON;
  3895. SET @cTableName = 'Licenses';
  3896.  
  3897. SELECT @CountIns = count(*)
  3898. FROM inserted;
  3899.  
  3900. IF @CountIns = 0
  3901. RETURN;
  3902.  
  3903. /* Update the last_mod for INSERTs and UPDATEs */
  3904. UPDATE dbo.sequence
  3905. SET @nKeyVal = next_val
  3906. ,next_val = next_val + @CountIns
  3907. WHERE NAME = @cTableName
  3908.  
  3909. IF @nKeyVal IS NULL
  3910. BEGIN
  3911. SET @nKeyVal = 1
  3912.  
  3913. INSERT INTO dbo.sequence (
  3914. NAME
  3915. ,next_val
  3916. )
  3917. VALUES (
  3918. @cTableName
  3919. ,@CountIns + 1
  3920. )
  3921. END
  3922.  
  3923. UPDATE dbo.updates
  3924. SET Licenses = @nKeyVal + @CountIns - 1
  3925.  
  3926. IF @@error != 0
  3927. BEGIN
  3928. RAISERROR (
  3929. 'Cannot update the Licenses value in Updates.'
  3930. ,16
  3931. ,1
  3932. )
  3933.  
  3934. RETURN
  3935. END
  3936.  
  3937. SET @nKeyVal = @nKeyVal - 1;
  3938.  
  3939. UPDATE s
  3940. SET @nKeyVal = last_mod = @nKeyVal + 1
  3941. FROM dbo.Licenses s
  3942. JOIN inserted i ON s.SettingID = i.SettingID
  3943.  
  3944. IF @@error != 0
  3945. BEGIN
  3946. RAISERROR (
  3947. 'Cannot update the LAST_MOD value in Licenses.'
  3948. ,16
  3949. ,1
  3950. );
  3951.  
  3952. RETURN;
  3953. END
  3954.  
  3955. GO
  3956.  
  3957. DROP TRIGGER max4sale_last_mod_D
  3958. GO
  3959. CREATE TRIGGER [dbo].[max4sale_last_mod_D] ON [dbo].[max4sale]
  3960. FOR DELETE
  3961. AS
  3962. DECLARE @cTableName varchar(8)
  3963.  
  3964. SET NOCOUNT ON
  3965. SET @cTableName = 'max4sale'
  3966. IF 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.  
  3981. GO
  3982.  
  3983. DROP TRIGGER max4sale_last_mod_IU
  3984. GO
  3985. CREATE TRIGGER [dbo].[max4sale_last_mod_IU] ON [dbo].[max4sale]
  3986. FOR INSERT, UPDATE
  3987. AS
  3988. DECLARE @CountIns int,
  3989. @CountDel int,
  3990. @cTableName varchar(10),
  3991. @nKeyVal int
  3992.  
  3993. SET NOCOUNT ON
  3994. SET @cTableName = 'max4sale'
  3995. SELECT @CountIns = COUNT(*) FROM Inserted
  3996. SELECT @CountDel = COUNT(*) FROM Deleted
  3997. IF @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. */
  4025. IF @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.  
  4030. return
  4031.  
  4032. GO
  4033.  
  4034. DROP TRIGGER meet_loc_last_mod_D
  4035. GO
  4036. CREATE TRIGGER [dbo].[meet_loc_last_mod_D] ON [dbo].[meet_loc]
  4037. FOR DELETE
  4038. AS
  4039. DECLARE @cTableName varchar(8)
  4040.  
  4041. SET NOCOUNT ON
  4042. SET @cTableName = 'meet_loc'
  4043. IF 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.  
  4058. GO
  4059.  
  4060. DROP TRIGGER meet_loc_last_mod_IU
  4061. GO
  4062. CREATE TRIGGER [dbo].[meet_loc_last_mod_IU] ON [dbo].[meet_loc]
  4063. FOR INSERT, UPDATE
  4064. AS
  4065. DECLARE @CountIns int,
  4066. @cTableName varchar(10),
  4067. @nKeyVal int
  4068.  
  4069. SET NOCOUNT ON
  4070. SET @cTableName = 'meet_loc'
  4071. SELECT @CountIns = COUNT(*) FROM Inserted
  4072. IF @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.  
  4097. GO
  4098.  
  4099. DROP TRIGGER mktgcode_last_mod_D
  4100. GO
  4101. CREATE TRIGGER [dbo].[mktgcode_last_mod_D] ON [dbo].[mktgcode]
  4102. FOR DELETE
  4103. AS
  4104. DECLARE @cTableName varchar(8)
  4105.  
  4106. SET NOCOUNT ON
  4107. SET @cTableName = 'mktgcode'
  4108. IF 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.  
  4123. GO
  4124.  
  4125. DROP TRIGGER mktgcode_last_mod_IU
  4126. GO
  4127. CREATE TRIGGER [dbo].[mktgcode_last_mod_IU] ON [dbo].[mktgcode]
  4128. FOR INSERT, UPDATE
  4129. AS
  4130. DECLARE @CountIns int,
  4131. @cTableName varchar(10),
  4132. @nKeyVal int
  4133.  
  4134. SET NOCOUNT ON
  4135. SET @cTableName = 'mktgcode'
  4136. SELECT @CountIns = COUNT(*) FROM Inserted
  4137. IF @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.  
  4162. GO
  4163.  
  4164. DROP TRIGGER operator_last_mod_D
  4165. GO
  4166. CREATE TRIGGER [dbo].[operator_last_mod_D] ON [dbo].[operator]
  4167. FOR DELETE
  4168. AS
  4169. DECLARE @cTableName varchar(8)
  4170.  
  4171. SET NOCOUNT ON
  4172. SET @cTableName = 'operator'
  4173. IF 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.  
  4188. GO
  4189.  
  4190. DROP TRIGGER operator_last_mod_IU
  4191. GO
  4192. CREATE TRIGGER [dbo].[operator_last_mod_IU] ON [dbo].[operator]
  4193. FOR INSERT, UPDATE
  4194. AS
  4195. DECLARE @CountIns int,
  4196. @cTableName varchar(10),
  4197. @nKeyVal int
  4198.  
  4199. SET NOCOUNT ON
  4200. SET @cTableName = 'operator'
  4201. SELECT @CountIns = COUNT(*) FROM Inserted
  4202. IF @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.  
  4231. GO
  4232.  
  4233. DROP TRIGGER passlink_last_mod_D
  4234. GO
  4235. CREATE TRIGGER [dbo].[passlink_last_mod_D] ON [dbo].[passlink]
  4236. FOR DELETE
  4237. AS
  4238. DECLARE @cTableName varchar(8)
  4239.  
  4240. SET NOCOUNT ON
  4241. SET @cTableName = 'passlink'
  4242. IF 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.  
  4257. GO
  4258.  
  4259. DROP TRIGGER passlink_last_mod_IU
  4260. GO
  4261. CREATE TRIGGER [dbo].[passlink_last_mod_IU] ON [dbo].[passlink]
  4262. FOR INSERT, UPDATE
  4263. AS
  4264. DECLARE @CountIns int,
  4265. @cTableName varchar(10),
  4266. @nKeyVal int
  4267.  
  4268. SET NOCOUNT ON
  4269. SET @cTableName = 'passlink'
  4270. SELECT @CountIns = COUNT(*) FROM Inserted
  4271. IF @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.  
  4301. GO
  4302.  
  4303. DROP TRIGGER pkup_loc_last_mod_D
  4304. GO
  4305. CREATE TRIGGER [dbo].[pkup_loc_last_mod_D] ON [dbo].[pkup_loc]
  4306. FOR DELETE
  4307. AS
  4308. DECLARE @cTableName varchar(8)
  4309.  
  4310. SET NOCOUNT ON
  4311. SET @cTableName = 'pkup_loc'
  4312. IF 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.  
  4327. GO
  4328.  
  4329. DROP TRIGGER pkup_loc_last_mod_IU
  4330. GO
  4331. CREATE TRIGGER [dbo].[pkup_loc_last_mod_IU] ON [dbo].[pkup_loc]
  4332. FOR INSERT, UPDATE
  4333. AS
  4334. DECLARE @CountIns int,
  4335. @cTableName varchar(10),
  4336. @nKeyVal int
  4337.  
  4338. SET NOCOUNT ON
  4339. SET @cTableName = 'pkup_loc'
  4340. SELECT @CountIns = COUNT(*) FROM Inserted
  4341. IF @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.  
  4366. GO
  4367.  
  4368. DROP TRIGGER pmt_type_last_mod_D
  4369. GO
  4370. CREATE TRIGGER [dbo].[pmt_type_last_mod_D] ON [dbo].[pmt_type]
  4371. FOR DELETE
  4372. AS
  4373. DECLARE @cTableName varchar(8)
  4374.  
  4375. SET NOCOUNT ON
  4376. SET @cTableName = 'pmt_type'
  4377. IF 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.  
  4392. GO
  4393.  
  4394. DROP TRIGGER pmt_type_last_mod_IU
  4395. GO
  4396. CREATE TRIGGER [dbo].[pmt_type_last_mod_IU] ON [dbo].[pmt_type]
  4397. FOR INSERT, UPDATE
  4398. AS
  4399. DECLARE @CountIns int,
  4400. @cTableName varchar(10),
  4401. @nKeyVal int
  4402.  
  4403. SET NOCOUNT ON
  4404. SET @cTableName = 'pmt_type'
  4405. SELECT @CountIns = COUNT(*) FROM Inserted
  4406. IF @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.  
  4431. GO
  4432.  
  4433. DROP TRIGGER pp_rules_last_mod_D
  4434. GO
  4435. CREATE TRIGGER [dbo].[pp_rules_last_mod_D] ON [dbo].[pp_rules]
  4436. FOR DELETE
  4437. AS
  4438. DECLARE @cTableName varchar(8)
  4439.  
  4440. SET NOCOUNT ON
  4441. SET @cTableName = 'pp_rules'
  4442. IF 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.  
  4457. GO
  4458.  
  4459. DROP TRIGGER pp_rules_last_mod_IU
  4460. GO
  4461. CREATE TRIGGER [dbo].[pp_rules_last_mod_IU] ON [dbo].[pp_rules]
  4462. FOR INSERT, UPDATE
  4463. AS
  4464. DECLARE @CountIns int,
  4465. @cTableName varchar(10),
  4466. @nKeyVal int
  4467.  
  4468. SET NOCOUNT ON
  4469. SET @cTableName = 'pp_rules'
  4470. SELECT @CountIns = COUNT(*) FROM Inserted
  4471. IF @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.  
  4496. GO
  4497.  
  4498. DROP TRIGGER prefix_last_mod_D
  4499. GO
  4500. CREATE TRIGGER [dbo].[prefix_last_mod_D] ON [dbo].[prefix]
  4501. FOR DELETE
  4502. AS
  4503. DECLARE @cTableName varchar(8)
  4504.  
  4505. SET NOCOUNT ON
  4506. SET @cTableName = 'prefix'
  4507. IF 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.  
  4522. GO
  4523.  
  4524. DROP TRIGGER prefix_last_mod_IU
  4525. GO
  4526. CREATE TRIGGER [dbo].[prefix_last_mod_IU] ON [dbo].[prefix]
  4527. FOR INSERT, UPDATE
  4528. AS
  4529. DECLARE @CountIns int,
  4530. @cTableName varchar(10),
  4531. @nKeyVal int
  4532.  
  4533. SET NOCOUNT ON
  4534. SET @cTableName = 'prefix'
  4535. SELECT @CountIns = COUNT(*) FROM Inserted
  4536. IF @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.  
  4565. GO
  4566.  
  4567. DROP TRIGGER prefs_ac_last_mod_IU
  4568. GO
  4569. CREATE TRIGGER [dbo].[prefs_ac_last_mod_IU] ON [dbo].[prefs_ac]
  4570. FOR INSERT, UPDATE
  4571. AS
  4572. DECLARE @CountIns int,
  4573. @cTableName varchar(10),
  4574. @nKeyVal int
  4575.  
  4576. SET NOCOUNT ON
  4577. SET @cTableName = 'prefs_ac'
  4578. SELECT @CountIns = COUNT(*) FROM Inserted
  4579. IF @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.  
  4604. GO
  4605.  
  4606. DROP TRIGGER prefs_bk_last_mod_IU
  4607. GO
  4608. CREATE TRIGGER [dbo].[prefs_bk_last_mod_IU] ON [dbo].[prefs_bk]
  4609. FOR INSERT, UPDATE
  4610. AS
  4611. DECLARE @CountIns int,
  4612. @cTableName varchar(10),
  4613. @nKeyVal int
  4614.  
  4615. SET NOCOUNT ON
  4616. SET @cTableName = 'prefs_bk'
  4617. SELECT @CountIns = COUNT(*) FROM Inserted
  4618. IF @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.  
  4643. GO
  4644.  
  4645. DROP TRIGGER prefs_cc_last_mod_IU
  4646. GO
  4647. CREATE TRIGGER [dbo].[prefs_cc_last_mod_IU] ON [dbo].[prefs_cc]
  4648. FOR INSERT, UPDATE
  4649. AS
  4650. DECLARE @CountIns int,
  4651. @cTableName varchar(10),
  4652. @nKeyVal int
  4653.  
  4654. SET NOCOUNT ON
  4655. SET @cTableName = 'prefs_cc'
  4656. SELECT @CountIns = COUNT(*) FROM Inserted
  4657. IF @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.  
  4682. GO
  4683.  
  4684. DROP TRIGGER prefs_gs_last_mod_IU
  4685. GO
  4686. CREATE TRIGGER [dbo].[prefs_gs_last_mod_IU] ON [dbo].[prefs_gs]
  4687. FOR INSERT, UPDATE
  4688. AS
  4689. DECLARE @CountIns int,
  4690. @cTableName varchar(10),
  4691. @nKeyVal int
  4692.  
  4693. SET NOCOUNT ON
  4694. SET @cTableName = 'prefs_gs'
  4695. SELECT @CountIns = COUNT(*) FROM Inserted
  4696. IF @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.  
  4721. GO
  4722.  
  4723. DROP TRIGGER prefs_last_mod_IU
  4724. GO
  4725. CREATE TRIGGER [dbo].[prefs_last_mod_IU] ON [dbo].[prefs]
  4726. FOR INSERT, UPDATE
  4727. AS
  4728. DECLARE @CountIns int,
  4729. @cTableName varchar(10),
  4730. @nKeyVal int
  4731.  
  4732. SET NOCOUNT ON
  4733. SET @cTableName = 'prefs'
  4734. SELECT @CountIns = COUNT(*) FROM Inserted
  4735. IF @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.  
  4760. GO
  4761.  
  4762. DROP TRIGGER prefs_rl_last_mod_IU
  4763. GO
  4764. CREATE TRIGGER [dbo].[prefs_rl_last_mod_IU] ON [dbo].[prefs_rl]
  4765. FOR INSERT, UPDATE
  4766. AS
  4767. DECLARE @CountIns int,
  4768. @cTableName varchar(10),
  4769. @nKeyVal int
  4770.  
  4771. SET NOCOUNT ON
  4772. SET @cTableName = 'prefs_rl'
  4773. SELECT @CountIns = COUNT(*) FROM Inserted
  4774. IF @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.  
  4799. GO
  4800.  
  4801. DROP TRIGGER prefs_rt_last_mod_IU
  4802. GO
  4803. CREATE TRIGGER [dbo].[prefs_rt_last_mod_IU] ON [dbo].[prefs_rt]
  4804. FOR INSERT, UPDATE
  4805. AS
  4806. DECLARE @CountIns int,
  4807. @cTableName varchar(10),
  4808. @nKeyVal int
  4809.  
  4810. SET NOCOUNT ON
  4811. SET @cTableName = 'prefs_rt'
  4812. SELECT @CountIns = COUNT(*) FROM Inserted
  4813. IF @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.  
  4838. GO
  4839.  
  4840. DROP TRIGGER prefs_rz_last_mod_IU
  4841. GO
  4842. CREATE TRIGGER [dbo].[prefs_rz_last_mod_IU] ON [dbo].[prefs_rz]
  4843. FOR INSERT, UPDATE
  4844. AS
  4845. DECLARE @CountIns int,
  4846. @cTableName varchar(10),
  4847. @nKeyVal int
  4848.  
  4849. SET NOCOUNT ON
  4850. SET @cTableName = 'prefs_rz'
  4851. SELECT @CountIns = COUNT(*) FROM Inserted
  4852. IF @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.  
  4877. GO
  4878.  
  4879. DROP TRIGGER prefs_sl_last_mod_IU
  4880. GO
  4881. CREATE TRIGGER [dbo].[prefs_sl_last_mod_IU] ON [dbo].[prefs_sl]
  4882. FOR INSERT, UPDATE
  4883. AS
  4884. DECLARE @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.  
  4893. SET NOCOUNT ON
  4894. SET @cTableName = 'prefs_sl'
  4895. SELECT @CountIns = count(*) FROM Inserted
  4896. select @CountDel = count(*) from Deleted ;
  4897. IF @CountIns = 0 RETURN;
  4898.  
  4899. /* Update the last_mod for INSERTs and UPDATEs */
  4900. UPDATE sequence SET @nKeyVal = next_val, next_val = next_val + @CountIns WHERE name = @cTableName
  4901. IF @nKeyVal IS NULL
  4902. BEGIN
  4903. SET @nKeyVal = 1
  4904. INSERT INTO sequence (name, next_val) VALUES (@cTableName, @CountIns + 1)
  4905. END
  4906.  
  4907. UPDATE updates SET prefs_sl = @nKeyVal + @CountIns - 1
  4908. IF @@ERROR != 0
  4909. BEGIN
  4910. RAISERROR('Cannot update the LAST_MOD value.',16,1)
  4911. RETURN
  4912. END
  4913.  
  4914. SET @nKeyVal = @nKeyVal - 1
  4915. UPDATE a SET @nKeyVal = last_mod = @nKeyVal + 1 FROM prefs_sl a JOIN inserted i ON a.pri_key = i.pri_key
  4916. IF @@ERROR != 0
  4917. BEGIN
  4918. RAISERROR('Cannot update the LAST_MOD value.',16,1)
  4919. RETURN
  4920. END
  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) */
  4926. if @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 */
  4930. if @CountIns > 1 or @CountDel > 1
  4931. begin
  4932. truncate table Max4SaleCounts ;
  4933. truncate table Pts4SaleCounts ;
  4934. return ;
  4935. end
  4936.  
  4937. /* Get the old and new values */
  4938. select top 1 @nMax4Saved = N.Max4_Saved,
  4939. @lUseCounts = N.UseCounts,
  4940. @nOldMax4Saved = O.Max4_Saved,
  4941. @lOldUseCounts = O.UseCounts
  4942. from Inserted N
  4943. inner 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 */
  4946. if @nMax4Saved <> @nOldMax4Saved or @lUseCounts <> @lOldUseCounts
  4947. begin
  4948. truncate table Max4SaleCounts ;
  4949. truncate table Pts4SaleCounts ;
  4950. return ;
  4951. end
  4952.  
  4953. /* For extra performance, disable the transact/tr_save triggers if triggered counts switch is changed */
  4954. if @CountDel > 0 and @lUseCounts <> @lOldUseCounts
  4955. begin
  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 ;
  4988. end
  4989. return ;
  4990.  
  4991. GO
  4992.  
  4993. DROP TRIGGER printers_last_mod_D
  4994. GO
  4995. CREATE TRIGGER [dbo].[printers_last_mod_D] ON [dbo].[printers]
  4996. FOR DELETE
  4997. AS
  4998. DECLARE @cTableName varchar(8)
  4999.  
  5000. SET NOCOUNT ON
  5001. SET @cTableName = 'printers'
  5002. IF 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.  
  5017. GO
  5018.  
  5019. DROP TRIGGER printers_last_mod_IU
  5020. GO
  5021. CREATE TRIGGER [dbo].[printers_last_mod_IU] ON [dbo].[printers]
  5022. FOR INSERT, UPDATE
  5023. AS
  5024. DECLARE @CountIns int,
  5025. @cTableName varchar(10),
  5026. @nKeyVal int
  5027.  
  5028. SET NOCOUNT ON
  5029. SET @cTableName = 'printers'
  5030. SELECT @CountIns = COUNT(*) FROM Inserted
  5031. IF @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.  
  5056. GO
  5057.  
  5058. DROP TRIGGER prof_ctr_last_mod_D
  5059. GO
  5060. CREATE TRIGGER [dbo].[prof_ctr_last_mod_D] ON [dbo].[prof_ctr]
  5061. FOR DELETE
  5062. AS
  5063. DECLARE @cTableName varchar(8)
  5064.  
  5065. SET NOCOUNT ON
  5066. SET @cTableName = 'prof_ctr'
  5067. IF 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.  
  5082. GO
  5083.  
  5084. DROP TRIGGER prof_ctr_last_mod_IU
  5085. GO
  5086. CREATE TRIGGER [dbo].[prof_ctr_last_mod_IU] ON [dbo].[prof_ctr]
  5087. FOR INSERT, UPDATE
  5088. AS
  5089. DECLARE @CountIns int,
  5090. @cTableName varchar(10),
  5091. @nKeyVal int
  5092.  
  5093. SET NOCOUNT ON
  5094. SET @cTableName = 'prof_ctr'
  5095. SELECT @CountIns = COUNT(*) FROM Inserted
  5096. IF @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.  
  5121. GO
  5122.  
  5123. DROP TRIGGER pts4sale_IU
  5124. GO
  5125. CREATE TRIGGER [dbo].[pts4sale_IU] ON [dbo].[pts4sale]
  5126. FOR INSERT, UPDATE
  5127. AS
  5128. DECLARE @CountIns int,
  5129. @CountDel int,
  5130. @cTableName varchar(10),
  5131. @nKeyVal int
  5132.  
  5133. SET NOCOUNT ON
  5134. SET @cTableName = 'pts4sale'
  5135. SELECT @CountIns = COUNT(*) FROM Inserted
  5136. SELECT @CountDel = COUNT(*) FROM Deleted
  5137. IF @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. */
  5141. IF @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.  
  5146. return
  5147.  
  5148. GO
  5149.  
  5150. DROP TRIGGER r_bindng_last_mod_D
  5151. GO
  5152. CREATE TRIGGER [dbo].[r_bindng_last_mod_D] ON [dbo].[r_bindng]
  5153. FOR DELETE
  5154. AS
  5155. DECLARE @cTableName varchar(8)
  5156.  
  5157. SET NOCOUNT ON
  5158. SET @cTableName = 'r_bindng'
  5159. IF 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.  
  5174. GO
  5175.  
  5176. DROP TRIGGER r_bindng_last_mod_IU
  5177. GO
  5178. CREATE TRIGGER [dbo].[r_bindng_last_mod_IU] ON [dbo].[r_bindng]
  5179. FOR INSERT, UPDATE
  5180. AS
  5181. DECLARE @CountIns int,
  5182. @cTableName varchar(10),
  5183. @nKeyVal int
  5184.  
  5185. SET NOCOUNT ON
  5186. SET @cTableName = 'r_bindng'
  5187. SELECT @CountIns = COUNT(*) FROM Inserted
  5188. IF @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.  
  5213. GO
  5214.  
  5215. DROP TRIGGER r_bmodel_last_mod_D
  5216. GO
  5217. CREATE TRIGGER [dbo].[r_bmodel_last_mod_D] ON [dbo].[r_bmodel]
  5218. FOR DELETE
  5219. AS
  5220. DECLARE @cTableName varchar(8)
  5221.  
  5222. SET NOCOUNT ON
  5223. SET @cTableName = 'r_bmodel'
  5224. IF 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.  
  5239. GO
  5240.  
  5241. DROP TRIGGER r_bmodel_last_mod_IU
  5242. GO
  5243. CREATE TRIGGER [dbo].[r_bmodel_last_mod_IU] ON [dbo].[r_bmodel]
  5244. FOR INSERT, UPDATE
  5245. AS
  5246. DECLARE @CountIns int,
  5247. @cTableName varchar(10),
  5248. @nKeyVal int
  5249.  
  5250. SET NOCOUNT ON
  5251. SET @cTableName = 'r_bmodel'
  5252. SELECT @CountIns = COUNT(*) FROM Inserted
  5253. IF @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.  
  5278. GO
  5279.  
  5280. DROP TRIGGER r_entals_last_mod_D
  5281. GO
  5282. CREATE TRIGGER [dbo].[r_entals_last_mod_D] ON [dbo].[r_entals]
  5283. FOR DELETE
  5284. AS
  5285. DECLARE @cTableName varchar(8)
  5286.  
  5287. SET NOCOUNT ON
  5288. SET @cTableName = 'r_entals'
  5289. IF 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.  
  5304. GO
  5305.  
  5306. DROP TRIGGER r_entals_last_mod_IU
  5307. GO
  5308. CREATE TRIGGER [dbo].[r_entals_last_mod_IU] ON [dbo].[r_entals]
  5309. FOR INSERT, UPDATE
  5310. AS
  5311. DECLARE @CountIns int,
  5312. @cTableName varchar(10),
  5313. @nKeyVal int
  5314.  
  5315. SET NOCOUNT ON
  5316. SET @cTableName = 'r_entals'
  5317. SELECT @CountIns = COUNT(*) FROM Inserted
  5318. IF @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.  
  5343. GO
  5344.  
  5345. DROP TRIGGER r_eqpmfg_last_mod_D
  5346. GO
  5347. CREATE TRIGGER [dbo].[r_eqpmfg_last_mod_D] ON [dbo].[r_eqpmfg]
  5348. FOR DELETE
  5349. AS
  5350. DECLARE @cTableName varchar(8)
  5351.  
  5352. SET NOCOUNT ON
  5353. SET @cTableName = 'r_eqpmfg'
  5354. IF 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.  
  5369. GO
  5370.  
  5371. DROP TRIGGER r_eqpmfg_last_mod_IU
  5372. GO
  5373. CREATE TRIGGER [dbo].[r_eqpmfg_last_mod_IU] ON [dbo].[r_eqpmfg]
  5374. FOR INSERT, UPDATE
  5375. AS
  5376. DECLARE @CountIns int,
  5377. @cTableName varchar(10),
  5378. @nKeyVal int
  5379.  
  5380. SET NOCOUNT ON
  5381. SET @cTableName = 'r_eqpmfg'
  5382. SELECT @CountIns = COUNT(*) FROM Inserted
  5383. IF @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.  
  5408. GO
  5409.  
  5410. DROP TRIGGER r_eqpmod_last_mod_D
  5411. GO
  5412. CREATE TRIGGER [dbo].[r_eqpmod_last_mod_D] ON [dbo].[r_eqpmod]
  5413. FOR DELETE
  5414. AS
  5415. DECLARE @cTableName varchar(8)
  5416.  
  5417. SET NOCOUNT ON
  5418. SET @cTableName = 'r_eqpmod'
  5419. IF 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.  
  5434. GO
  5435.  
  5436. DROP TRIGGER r_eqpmod_last_mod_IU
  5437. GO
  5438. CREATE TRIGGER [dbo].[r_eqpmod_last_mod_IU] ON [dbo].[r_eqpmod]
  5439. FOR INSERT, UPDATE
  5440. AS
  5441. DECLARE @CountIns int,
  5442. @cTableName varchar(10),
  5443. @nKeyVal int
  5444.  
  5445. SET NOCOUNT ON
  5446. SET @cTableName = 'r_eqpmod'
  5447. SELECT @CountIns = COUNT(*) FROM Inserted
  5448. IF @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.  
  5473. GO
  5474.  
  5475. DROP TRIGGER r_header_last_mod_D
  5476. GO
  5477. CREATE TRIGGER [dbo].[r_header_last_mod_D] ON [dbo].[r_header]
  5478. FOR DELETE
  5479. AS
  5480. DECLARE @cTableName varchar(8)
  5481.  
  5482. SET NOCOUNT ON
  5483. SET @cTableName = 'r_header'
  5484. IF 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.  
  5499. GO
  5500.  
  5501. DROP TRIGGER r_header_last_mod_IU
  5502. GO
  5503. CREATE TRIGGER [dbo].[r_header_last_mod_IU] ON [dbo].[r_header]
  5504. FOR INSERT, UPDATE
  5505. AS
  5506. DECLARE @CountIns int,
  5507. @cTableName varchar(10),
  5508. @nKeyVal int
  5509.  
  5510. SET NOCOUNT ON
  5511. SET @cTableName = 'r_header'
  5512. SELECT @CountIns = COUNT(*) FROM Inserted
  5513. IF @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.  
  5538. GO
  5539.  
  5540. DROP TRIGGER r_hist_last_mod_D
  5541. GO
  5542. CREATE TRIGGER [dbo].[r_hist_last_mod_D] ON [dbo].[r_hist]
  5543. FOR DELETE
  5544. AS
  5545. DECLARE @cTableName varchar(8)
  5546.  
  5547. SET NOCOUNT ON
  5548. SET @cTableName = 'r_hist'
  5549. IF 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.  
  5564. GO
  5565.  
  5566. DROP TRIGGER r_hist_last_mod_IU
  5567. GO
  5568. CREATE TRIGGER [dbo].[r_hist_last_mod_IU] ON [dbo].[r_hist]
  5569. FOR INSERT, UPDATE
  5570. AS
  5571. DECLARE @CountIns int,
  5572. @cTableName varchar(10),
  5573. @nKeyVal int
  5574.  
  5575. SET NOCOUNT ON
  5576. SET @cTableName = 'r_hist'
  5577. SELECT @CountIns = COUNT(*) FROM Inserted
  5578. IF @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.  
  5603. GO
  5604.  
  5605. DROP TRIGGER r_invent_last_mod_D
  5606. GO
  5607. CREATE TRIGGER [dbo].[r_invent_last_mod_D] ON [dbo].[r_invent]
  5608. FOR DELETE
  5609. AS
  5610. DECLARE @cTableName varchar(8)
  5611.  
  5612. SET NOCOUNT ON
  5613. SET @cTableName = 'r_invent'
  5614. IF 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.  
  5629. GO
  5630.  
  5631. DROP TRIGGER r_invent_last_mod_IU
  5632. GO
  5633. CREATE TRIGGER [dbo].[r_invent_last_mod_IU] ON [dbo].[r_invent]
  5634. FOR INSERT, UPDATE
  5635. AS
  5636. DECLARE @CountIns int,
  5637. @cTableName varchar(10),
  5638. @nKeyVal int
  5639.  
  5640. SET NOCOUNT ON
  5641. SET @cTableName = 'r_invent'
  5642. SELECT @CountIns = COUNT(*) FROM Inserted
  5643. IF @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.  
  5668. GO
  5669.  
  5670. DROP TRIGGER r_levels_last_mod_D
  5671. GO
  5672. CREATE TRIGGER [dbo].[r_levels_last_mod_D] ON [dbo].[r_levels]
  5673. FOR DELETE
  5674. AS
  5675. DECLARE @cTableName varchar(8)
  5676.  
  5677. SET NOCOUNT ON
  5678. SET @cTableName = 'r_levels'
  5679. IF 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.  
  5694. GO
  5695.  
  5696. DROP TRIGGER r_levels_last_mod_IU
  5697. GO
  5698. CREATE TRIGGER [dbo].[r_levels_last_mod_IU] ON [dbo].[r_levels]
  5699. FOR INSERT, UPDATE
  5700. AS
  5701. DECLARE @CountIns int,
  5702. @cTableName varchar(10),
  5703. @nKeyVal int
  5704.  
  5705. SET NOCOUNT ON
  5706. SET @cTableName = 'r_levels'
  5707. SELECT @CountIns = COUNT(*) FROM Inserted
  5708. IF @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.  
  5733. GO
  5734.  
  5735. DROP TRIGGER r_mreasn_last_mod_D
  5736. GO
  5737. CREATE TRIGGER [dbo].[r_mreasn_last_mod_D] ON [dbo].[r_mreasn]
  5738. FOR DELETE
  5739. AS
  5740. DECLARE @cTableName varchar(8)
  5741.  
  5742. SET NOCOUNT ON
  5743. SET @cTableName = 'r_mreasn'
  5744. IF 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.  
  5759. GO
  5760.  
  5761. DROP TRIGGER r_mreasn_last_mod_IU
  5762. GO
  5763. CREATE TRIGGER [dbo].[r_mreasn_last_mod_IU] ON [dbo].[r_mreasn]
  5764. FOR INSERT, UPDATE
  5765. AS
  5766. DECLARE @CountIns int,
  5767. @cTableName varchar(10),
  5768. @nKeyVal int
  5769.  
  5770. SET NOCOUNT ON
  5771. SET @cTableName = 'r_mreasn'
  5772. SELECT @CountIns = COUNT(*) FROM Inserted
  5773. IF @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.  
  5798. GO
  5799.  
  5800. DROP TRIGGER r_packgs_last_mod_D
  5801. GO
  5802. CREATE TRIGGER [dbo].[r_packgs_last_mod_D] ON [dbo].[r_packgs]
  5803. FOR DELETE
  5804. AS
  5805. DECLARE @cTableName varchar(8)
  5806.  
  5807. SET NOCOUNT ON
  5808. SET @cTableName = 'r_packgs'
  5809. IF 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.  
  5824. GO
  5825.  
  5826. DROP TRIGGER r_packgs_last_mod_IU
  5827. GO
  5828. CREATE TRIGGER [dbo].[r_packgs_last_mod_IU] ON [dbo].[r_packgs]
  5829. FOR INSERT, UPDATE
  5830. AS
  5831. DECLARE @CountIns int,
  5832. @cTableName varchar(10),
  5833. @nKeyVal int
  5834.  
  5835. SET NOCOUNT ON
  5836. SET @cTableName = 'r_packgs'
  5837. SELECT @CountIns = COUNT(*) FROM Inserted
  5838. IF @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.  
  5863. GO
  5864.  
  5865. DROP TRIGGER r_rules_last_mod_D
  5866. GO
  5867. CREATE TRIGGER [dbo].[r_rules_last_mod_D] ON [dbo].[r_rules]
  5868. FOR DELETE
  5869. AS
  5870. DECLARE @cTableName varchar(8)
  5871.  
  5872. SET NOCOUNT ON
  5873. SET @cTableName = 'r_rules'
  5874. IF 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.  
  5889. GO
  5890.  
  5891. DROP TRIGGER r_rules_last_mod_IU
  5892. GO
  5893. CREATE TRIGGER [dbo].[r_rules_last_mod_IU] ON [dbo].[r_rules]
  5894. FOR INSERT, UPDATE
  5895. AS
  5896. DECLARE @CountIns int,
  5897. @cTableName varchar(10),
  5898. @nKeyVal int
  5899.  
  5900. SET NOCOUNT ON
  5901. SET @cTableName = 'r_rules'
  5902. SELECT @CountIns = COUNT(*) FROM Inserted
  5903. IF @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.  
  5928. GO
  5929.  
  5930. DROP TRIGGER r_shops_last_mod_D
  5931. GO
  5932. CREATE TRIGGER [dbo].[r_shops_last_mod_D] ON [dbo].[r_shops]
  5933. FOR DELETE
  5934. AS
  5935. DECLARE @cTableName varchar(8)
  5936.  
  5937. SET NOCOUNT ON
  5938. SET @cTableName = 'r_shops'
  5939. IF 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.  
  5954. GO
  5955.  
  5956. DROP TRIGGER r_shops_last_mod_IU
  5957. GO
  5958. CREATE TRIGGER [dbo].[r_shops_last_mod_IU] ON [dbo].[r_shops]
  5959. FOR INSERT, UPDATE
  5960. AS
  5961. DECLARE @CountIns int,
  5962. @cTableName varchar(10),
  5963. @nKeyVal int
  5964.  
  5965. SET NOCOUNT ON
  5966. SET @cTableName = 'r_shops'
  5967. SELECT @CountIns = COUNT(*) FROM Inserted
  5968. IF @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.  
  5993. GO
  5994.  
  5995. DROP TRIGGER r_types_last_mod_D
  5996. GO
  5997. CREATE TRIGGER [dbo].[r_types_last_mod_D] ON [dbo].[r_types]
  5998. FOR DELETE
  5999. AS
  6000. DECLARE @cTableName varchar(8)
  6001.  
  6002. SET NOCOUNT ON
  6003. SET @cTableName = 'r_types'
  6004. IF 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.  
  6019. GO
  6020.  
  6021. DROP TRIGGER r_types_last_mod_IU
  6022. GO
  6023. CREATE TRIGGER [dbo].[r_types_last_mod_IU] ON [dbo].[r_types]
  6024. FOR INSERT, UPDATE
  6025. AS
  6026. DECLARE @CountIns int,
  6027. @cTableName varchar(10),
  6028. @nKeyVal int
  6029.  
  6030. SET NOCOUNT ON
  6031. SET @cTableName = 'r_types'
  6032. SELECT @CountIns = COUNT(*) FROM Inserted
  6033. IF @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.  
  6058. GO
  6059.  
  6060. DROP TRIGGER refreasn_last_mod_D
  6061. GO
  6062. CREATE TRIGGER [dbo].[refreasn_last_mod_D] ON [dbo].[refreasn]
  6063. FOR DELETE
  6064. AS
  6065. DECLARE @cTableName varchar(8)
  6066.  
  6067. SET NOCOUNT ON
  6068. SET @cTableName = 'refreasn'
  6069. IF 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.  
  6084. GO
  6085.  
  6086. DROP TRIGGER refreasn_last_mod_IU
  6087. GO
  6088. CREATE TRIGGER [dbo].[refreasn_last_mod_IU] ON [dbo].[refreasn]
  6089. FOR INSERT, UPDATE
  6090. AS
  6091. DECLARE @CountIns int,
  6092. @cTableName varchar(10),
  6093. @nKeyVal int
  6094.  
  6095. SET NOCOUNT ON
  6096. SET @cTableName = 'refreasn'
  6097. SELECT @CountIns = COUNT(*) FROM Inserted
  6098. IF @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.  
  6123. GO
  6124.  
  6125. DROP TRIGGER relation_last_mod_D
  6126. GO
  6127. create trigger [dbo].[relation_last_mod_D] ON [dbo].[relation]
  6128. for DELETE
  6129. AS
  6130. DECLARE @cTableName varchar(8)
  6131.  
  6132. SET NOCOUNT ON
  6133. SET @cTableName = 'relation'
  6134. IF 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.  
  6149. GO
  6150.  
  6151. DROP TRIGGER relation_last_mod_IU
  6152. GO
  6153. CREATE trigger [dbo].[relation_last_mod_IU] ON [dbo].[relation]
  6154. FOR INSERT, UPDATE
  6155. AS
  6156. DECLARE @CountIns int,
  6157. @cTableName varchar(10),
  6158. @nKeyVal int
  6159.  
  6160. SET NOCOUNT ON
  6161. SET @cTableName = 'relation'
  6162. SELECT @CountIns = COUNT(*) FROM Inserted
  6163. IF @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.  
  6188. GO
  6189.  
  6190. DROP TRIGGER res_facl_last_mod_D
  6191. GO
  6192. CREATE TRIGGER [dbo].[res_facl_last_mod_D] ON [dbo].[res_facl]
  6193. FOR DELETE
  6194. AS
  6195. DECLARE @cTableName varchar(8)
  6196.  
  6197. SET NOCOUNT ON
  6198. SET @cTableName = 'res_facl'
  6199. IF 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.  
  6214. GO
  6215.  
  6216. DROP TRIGGER res_facl_last_mod_IU
  6217. GO
  6218. CREATE TRIGGER [dbo].[res_facl_last_mod_IU] ON [dbo].[res_facl]
  6219. FOR INSERT, UPDATE
  6220. AS
  6221. DECLARE @CountIns int,
  6222. @cTableName varchar(10),
  6223. @nKeyVal int
  6224.  
  6225. SET NOCOUNT ON
  6226. SET @cTableName = 'res_facl'
  6227. SELECT @CountIns = COUNT(*) FROM Inserted
  6228. IF @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.  
  6253. GO
  6254.  
  6255. DROP TRIGGER res_schd_last_mod_D
  6256. GO
  6257. CREATE TRIGGER [dbo].[res_schd_last_mod_D] ON [dbo].[res_schd]
  6258. FOR DELETE
  6259. AS
  6260. DECLARE @cTableName varchar(8)
  6261.  
  6262. SET NOCOUNT ON
  6263. SET @cTableName = 'res_schd'
  6264. IF 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.  
  6279. GO
  6280.  
  6281. DROP TRIGGER res_schd_last_mod_IU
  6282. GO
  6283. CREATE TRIGGER [dbo].[res_schd_last_mod_IU] ON [dbo].[res_schd]
  6284. FOR INSERT, UPDATE
  6285. AS
  6286. DECLARE @CountIns int,
  6287. @cTableName varchar(10),
  6288. @nKeyVal int
  6289.  
  6290. SET NOCOUNT ON
  6291. SET @cTableName = 'res_schd'
  6292. SELECT @CountIns = COUNT(*) FROM Inserted
  6293. IF @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.  
  6318. GO
  6319.  
  6320. DROP TRIGGER res_stat_last_mod_D
  6321. GO
  6322. CREATE TRIGGER [dbo].[res_stat_last_mod_D] ON [dbo].[res_stat]
  6323. FOR DELETE
  6324. AS
  6325. DECLARE @cTableName varchar(8)
  6326.  
  6327. SET NOCOUNT ON
  6328. SET @cTableName = 'res_stat'
  6329. IF 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.  
  6344. GO
  6345.  
  6346. DROP TRIGGER res_stat_last_mod_IU
  6347. GO
  6348. CREATE TRIGGER [dbo].[res_stat_last_mod_IU] ON [dbo].[res_stat]
  6349. FOR INSERT, UPDATE
  6350. AS
  6351. DECLARE @CountIns int,
  6352. @cTableName varchar(10),
  6353. @nKeyVal int
  6354.  
  6355. SET NOCOUNT ON
  6356. SET @cTableName = 'res_stat'
  6357. SELECT @CountIns = COUNT(*) FROM Inserted
  6358. IF @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.  
  6387. GO
  6388.  
  6389. DROP TRIGGER resrvatn_last_mod_D
  6390. GO
  6391. CREATE TRIGGER [dbo].[resrvatn_last_mod_D] ON [dbo].[resrvatn]
  6392. FOR DELETE
  6393. AS
  6394. DECLARE @cTableName varchar(8)
  6395.  
  6396. SET NOCOUNT ON
  6397. SET @cTableName = 'resrvatn'
  6398. IF 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.  
  6413. GO
  6414.  
  6415. DROP TRIGGER resrvatn_last_mod_IU
  6416. GO
  6417. CREATE TRIGGER [dbo].[resrvatn_last_mod_IU] ON [dbo].[resrvatn]
  6418. FOR INSERT, UPDATE
  6419. AS
  6420. DECLARE @CountIns int,
  6421. @cTableName varchar(10),
  6422. @nKeyVal int
  6423.  
  6424. SET NOCOUNT ON
  6425. SET @cTableName = 'resrvatn'
  6426. SELECT @CountIns = COUNT(*) FROM Inserted
  6427. IF @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.  
  6452. GO
  6453.  
  6454. DROP TRIGGER s_quest_last_mod
  6455. GO
  6456. CREATE TRIGGER [dbo].[s_quest_last_mod] ON [dbo].[s_quest]
  6457. FOR INSERT, UPDATE, DELETE
  6458. AS
  6459. declare @CountIns int,
  6460. @CountDel int,
  6461. @cTableName varchar(8),
  6462. @nKeyVal int
  6463.  
  6464. set nocount on
  6465. set @cTableName = 's_quest'
  6466. select @CountIns = COUNT(*) from Inserted
  6467. select @CountDel = COUNT(*) from Deleted
  6468.  
  6469. /* Update the last_mod for INSERTs and UPDATEs */
  6470. if @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 */
  6496. if @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.  
  6511. GO
  6512.  
  6513. DROP TRIGGER s_resp_last_mod
  6514. GO
  6515. CREATE TRIGGER [dbo].[s_resp_last_mod] ON [dbo].[s_resp]
  6516. FOR INSERT, UPDATE, DELETE
  6517. AS
  6518. declare @CountIns int,
  6519. @CountDel int,
  6520. @cTableName varchar(8),
  6521. @nKeyVal int
  6522.  
  6523. set nocount on
  6524. set @cTableName = 's_resp'
  6525. select @CountIns = COUNT(*) from Inserted
  6526. select @CountDel = COUNT(*) from Deleted
  6527.  
  6528. /* Update the last_mod for INSERTs and UPDATEs */
  6529. if @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 */
  6555. if @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.  
  6570. GO
  6571.  
  6572. DROP TRIGGER s_sgslnk_last_mod
  6573. GO
  6574. CREATE TRIGGER [dbo].[s_sgslnk_last_mod] ON [dbo].[s_sgslnk]
  6575. FOR INSERT, UPDATE, DELETE
  6576. AS
  6577. declare @CountIns int,
  6578. @CountDel int,
  6579. @cTableName varchar(8),
  6580. @nKeyVal int
  6581.  
  6582. set nocount on
  6583. set @cTableName = 's_sgslnk'
  6584. select @CountIns = COUNT(*) from Inserted
  6585. select @CountDel = COUNT(*) from Deleted
  6586.  
  6587. /* Update the last_mod for INSERTs and UPDATEs */
  6588. if @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 */
  6614. if @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.  
  6629. GO
  6630.  
  6631. DROP TRIGGER s_sqlink_last_mod
  6632. GO
  6633. CREATE TRIGGER [dbo].[s_sqlink_last_mod] ON [dbo].[s_sqlink]
  6634. FOR INSERT, UPDATE, DELETE
  6635. AS
  6636. declare @CountIns int,
  6637. @CountDel int,
  6638. @cTableName varchar(8),
  6639. @nKeyVal int
  6640.  
  6641. set nocount on
  6642. set @cTableName = 's_sqlink'
  6643. select @CountIns = COUNT(*) from Inserted
  6644. select @CountDel = COUNT(*) from Deleted
  6645.  
  6646. /* Update the last_mod for INSERTs and UPDATEs */
  6647. if @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 */
  6673. if @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.  
  6688. GO
  6689.  
  6690. DROP TRIGGER s_survey_last_mod
  6691. GO
  6692. CREATE TRIGGER [dbo].[s_survey_last_mod] ON [dbo].[s_survey]
  6693. FOR INSERT, UPDATE, DELETE
  6694. AS
  6695. declare @CountIns int,
  6696. @CountDel int,
  6697. @cTableName varchar(8),
  6698. @nKeyVal int
  6699.  
  6700. set nocount on
  6701. set @cTableName = 's_survey'
  6702. select @CountIns = COUNT(*) from Inserted
  6703. select @CountDel = COUNT(*) from Deleted
  6704.  
  6705. /* Update the last_mod for INSERTs and UPDATEs */
  6706. if @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 */
  6732. if @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.  
  6747. GO
  6748.  
  6749. DROP TRIGGER sales_pt_last_mod_D
  6750. GO
  6751. CREATE TRIGGER [dbo].[sales_pt_last_mod_D] ON dbo.sales_pt
  6752. FOR DELETE
  6753. AS
  6754. DECLARE @cTableName varchar(8)
  6755.  
  6756. SET NOCOUNT ON
  6757. SET @cTableName = 'sales_pt'
  6758. IF 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.  
  6773. GO
  6774.  
  6775. DROP TRIGGER sales_pt_last_mod_IU
  6776. GO
  6777. CREATE TRIGGER [dbo].[sales_pt_last_mod_IU] ON dbo.sales_pt
  6778. FOR INSERT, UPDATE
  6779. AS
  6780. DECLARE @CountIns int,
  6781. @cTableName varchar(10),
  6782. @nKeyVal int
  6783.  
  6784. SET NOCOUNT ON
  6785. SET @cTableName = 'sales_pt'
  6786. SELECT @CountIns = COUNT(*) FROM Inserted
  6787. IF @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.  
  6816. GO
  6817.  
  6818. DROP TRIGGER sec_acct_last_mod_D
  6819. GO
  6820. CREATE TRIGGER [dbo].[sec_acct_last_mod_D] ON [dbo].[sec_acct]
  6821. FOR DELETE
  6822. AS
  6823. DECLARE @cTableName varchar(8)
  6824.  
  6825. SET NOCOUNT ON
  6826. SET @cTableName = 'sec_acct'
  6827. IF 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.  
  6842. GO
  6843.  
  6844. DROP TRIGGER sec_acct_last_mod_IU
  6845. GO
  6846. CREATE TRIGGER [dbo].[sec_acct_last_mod_IU] ON [dbo].[sec_acct]
  6847. FOR INSERT, UPDATE
  6848. AS
  6849. DECLARE @CountIns int,
  6850. @cTableName varchar(10),
  6851. @nKeyVal int
  6852.  
  6853. SET NOCOUNT ON
  6854. SET @cTableName = 'sec_acct'
  6855. SELECT @CountIns = COUNT(*) FROM Inserted
  6856. IF @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.  
  6881. GO
  6882.  
  6883. DROP TRIGGER sec_mbrs_last_mod_D
  6884. GO
  6885. CREATE TRIGGER [dbo].[sec_mbrs_last_mod_D] ON [dbo].[sec_mbrs]
  6886. FOR DELETE
  6887. AS
  6888. DECLARE @cTableName varchar(8)
  6889.  
  6890. SET NOCOUNT ON
  6891. SET @cTableName = 'sec_mbrs'
  6892. IF 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.  
  6907. GO
  6908.  
  6909. DROP TRIGGER sec_mbrs_last_mod_IU
  6910. GO
  6911. CREATE TRIGGER [dbo].[sec_mbrs_last_mod_IU] ON [dbo].[sec_mbrs]
  6912. FOR INSERT, UPDATE
  6913. AS
  6914. DECLARE @CountIns int,
  6915. @cTableName varchar(10),
  6916. @nKeyVal int
  6917.  
  6918. SET NOCOUNT ON
  6919. SET @cTableName = 'sec_mbrs'
  6920. SELECT @CountIns = COUNT(*) FROM Inserted
  6921. IF @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.  
  6946. GO
  6947.  
  6948. DROP TRIGGER sec_rght_last_mod_D
  6949. GO
  6950. CREATE TRIGGER [dbo].[sec_rght_last_mod_D] ON [dbo].[sec_rght]
  6951. FOR DELETE
  6952. AS
  6953. DECLARE @cTableName varchar(8)
  6954.  
  6955. SET NOCOUNT ON
  6956. SET @cTableName = 'sec_rght'
  6957. IF 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.  
  6972. GO
  6973.  
  6974. DROP TRIGGER sec_rght_last_mod_IU
  6975. GO
  6976. CREATE TRIGGER [dbo].[sec_rght_last_mod_IU] ON [dbo].[sec_rght]
  6977. FOR INSERT, UPDATE
  6978. AS
  6979. DECLARE @CountIns int,
  6980. @cTableName varchar(10),
  6981. @nKeyVal int
  6982.  
  6983. SET NOCOUNT ON
  6984. SET @cTableName = 'sec_rght'
  6985. SELECT @CountIns = COUNT(*) FROM Inserted
  6986. IF @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.  
  7011. GO
  7012.  
  7013. DROP TRIGGER sec_spcl_last_mod_D
  7014. GO
  7015. CREATE TRIGGER [dbo].[sec_spcl_last_mod_D] ON [dbo].[sec_spcl]
  7016. FOR DELETE
  7017. AS
  7018. DECLARE @cTableName varchar(8)
  7019.  
  7020. SET NOCOUNT ON
  7021. SET @cTableName = 'sec_spcl'
  7022. IF 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.  
  7037. GO
  7038.  
  7039. DROP TRIGGER sec_spcl_last_mod_IU
  7040. GO
  7041. CREATE TRIGGER [dbo].[sec_spcl_last_mod_IU] ON [dbo].[sec_spcl]
  7042. FOR INSERT, UPDATE
  7043. AS
  7044. DECLARE @CountIns int,
  7045. @cTableName varchar(10),
  7046. @nKeyVal int
  7047.  
  7048. SET NOCOUNT ON
  7049. SET @cTableName = 'sec_spcl'
  7050. SELECT @CountIns = COUNT(*) FROM Inserted
  7051. IF @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.  
  7076. GO
  7077.  
  7078. DROP TRIGGER Settings_last_mod_D
  7079. GO
  7080.  
  7081.  
  7082. create trigger [dbo].[Settings_last_mod_D]
  7083. on [dbo].[Settings]
  7084. for delete
  7085. as
  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.  
  7109. GO
  7110.  
  7111. DROP TRIGGER Settings_last_mod_IU
  7112. GO
  7113.  
  7114.  
  7115. create trigger [dbo].[Settings_last_mod_IU]
  7116. on [dbo].[Settings]
  7117. for insert, update
  7118. as
  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.  
  7157. GO
  7158.  
  7159. DROP TRIGGER sp_link_last_mod_D
  7160. GO
  7161. CREATE TRIGGER [dbo].[sp_link_last_mod_D] ON [dbo].[sp_link]
  7162. FOR DELETE
  7163. AS
  7164. DECLARE @cTableName varchar(8)
  7165.  
  7166. SET NOCOUNT ON
  7167. SET @cTableName = 'sp_link'
  7168. IF 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.  
  7183. GO
  7184.  
  7185. DROP TRIGGER sp_link_last_mod_IU
  7186. GO
  7187. CREATE TRIGGER [dbo].[sp_link_last_mod_IU] ON [dbo].[sp_link]
  7188. FOR INSERT, UPDATE
  7189. AS
  7190. DECLARE @CountIns int,
  7191. @cTableName varchar(10),
  7192. @nKeyVal int
  7193.  
  7194. SET NOCOUNT ON
  7195. SET @cTableName = 'sp_link'
  7196. SELECT @CountIns = COUNT(*) FROM Inserted
  7197. IF @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.  
  7222. GO
  7223.  
  7224. DROP TRIGGER specials_last_mod_D
  7225. GO
  7226. CREATE TRIGGER [dbo].[specials_last_mod_D] ON [dbo].[specials]
  7227. FOR DELETE
  7228. AS
  7229. DECLARE @cTableName varchar(8)
  7230.  
  7231. SET NOCOUNT ON
  7232. SET @cTableName = 'specials'
  7233. IF 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.  
  7248. GO
  7249.  
  7250. DROP TRIGGER specials_last_mod_IU
  7251. GO
  7252. CREATE TRIGGER [dbo].[specials_last_mod_IU] ON [dbo].[specials]
  7253. FOR INSERT, UPDATE
  7254. AS
  7255. DECLARE @CountIns int,
  7256. @cTableName varchar(10),
  7257. @nKeyVal int
  7258.  
  7259. SET NOCOUNT ON
  7260. SET @cTableName = 'specials'
  7261. SELECT @CountIns = COUNT(*) FROM Inserted
  7262. IF @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.  
  7291. GO
  7292.  
  7293. DROP TRIGGER speclink_last_mod_D
  7294. GO
  7295. CREATE TRIGGER [dbo].[speclink_last_mod_D] ON [dbo].[speclink]
  7296. FOR DELETE
  7297. AS
  7298. DECLARE @cTableName varchar(8)
  7299.  
  7300. SET NOCOUNT ON
  7301. SET @cTableName = 'speclink'
  7302. IF 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.  
  7317. GO
  7318.  
  7319. DROP TRIGGER speclink_last_mod_IU
  7320. GO
  7321. CREATE TRIGGER [dbo].[speclink_last_mod_IU] ON [dbo].[speclink]
  7322. FOR INSERT, UPDATE
  7323. AS
  7324. DECLARE @CountIns int,
  7325. @cTableName varchar(10),
  7326. @nKeyVal int
  7327.  
  7328. SET NOCOUNT ON
  7329. SET @cTableName = 'speclink'
  7330. SELECT @CountIns = COUNT(*) FROM Inserted
  7331. IF @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.  
  7361. GO
  7362.  
  7363. DROP TRIGGER specmktg_last_mod_D
  7364. GO
  7365. CREATE TRIGGER [dbo].[specmktg_last_mod_D] ON [dbo].[specmktg]
  7366. FOR DELETE
  7367. AS
  7368. DECLARE @cTableName varchar(8)
  7369.  
  7370. SET NOCOUNT ON
  7371. SET @cTableName = 'specmktg'
  7372. IF 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.  
  7387. GO
  7388.  
  7389. DROP TRIGGER specmktg_last_mod_IU
  7390. GO
  7391. CREATE TRIGGER [dbo].[specmktg_last_mod_IU] ON [dbo].[specmktg]
  7392. FOR INSERT, UPDATE
  7393. AS
  7394. DECLARE @CountIns int,
  7395. @cTableName varchar(10),
  7396. @nKeyVal int
  7397.  
  7398. SET NOCOUNT ON
  7399. SET @cTableName = 'specmktg'
  7400. SELECT @CountIns = COUNT(*) FROM Inserted
  7401. IF @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.  
  7426. GO
  7427.  
  7428. DROP TRIGGER specsrce_last_mod_D
  7429. GO
  7430. CREATE TRIGGER [dbo].[specsrce_last_mod_D] ON [dbo].[specsrce]
  7431. FOR DELETE
  7432. AS
  7433. DECLARE @cTableName varchar(8)
  7434.  
  7435. SET NOCOUNT ON
  7436. SET @cTableName = 'specsrce'
  7437. IF 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.  
  7452. GO
  7453.  
  7454. DROP TRIGGER specsrce_last_mod_IU
  7455. GO
  7456. CREATE TRIGGER [dbo].[specsrce_last_mod_IU] ON [dbo].[specsrce]
  7457. FOR INSERT, UPDATE
  7458. AS
  7459. DECLARE @CountIns int,
  7460. @cTableName varchar(10),
  7461. @nKeyVal int
  7462.  
  7463. SET NOCOUNT ON
  7464. SET @cTableName = 'specsrce'
  7465. SELECT @CountIns = COUNT(*) FROM Inserted
  7466. IF @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.  
  7491. GO
  7492.  
  7493. DROP TRIGGER srcecode_last_mod_D
  7494. GO
  7495. CREATE TRIGGER [dbo].[srcecode_last_mod_D] ON [dbo].[srcecode]
  7496. FOR DELETE
  7497. AS
  7498. DECLARE @cTableName varchar(8)
  7499.  
  7500. SET NOCOUNT ON
  7501. SET @cTableName = 'srcecode'
  7502. IF 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.  
  7517. GO
  7518.  
  7519. DROP TRIGGER srcecode_last_mod_IU
  7520. GO
  7521. CREATE TRIGGER [dbo].[srcecode_last_mod_IU] ON [dbo].[srcecode]
  7522. FOR INSERT, UPDATE
  7523. AS
  7524. DECLARE @CountIns int,
  7525. @cTableName varchar(10),
  7526. @nKeyVal int
  7527.  
  7528. SET NOCOUNT ON
  7529. SET @cTableName = 'srcecode'
  7530. SELECT @CountIns = COUNT(*) FROM Inserted
  7531. IF @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.  
  7556. GO
  7557.  
  7558. DROP TRIGGER template_last_mod_D
  7559. GO
  7560. CREATE TRIGGER [dbo].[template_last_mod_D] ON dbo.template
  7561. FOR DELETE
  7562. AS
  7563. DECLARE @cTableName varchar(8)
  7564.  
  7565. SET NOCOUNT ON
  7566. SET @cTableName = 'template'
  7567. IF 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.  
  7582. GO
  7583.  
  7584. DROP TRIGGER template_last_mod_IU
  7585. GO
  7586. CREATE TRIGGER [dbo].[template_last_mod_IU] ON dbo.template
  7587. FOR INSERT, UPDATE
  7588. AS
  7589. DECLARE @CountIns int,
  7590. @cTableName varchar(10),
  7591. @nKeyVal int
  7592.  
  7593. SET NOCOUNT ON
  7594. SET @cTableName = 'template'
  7595. SELECT @CountIns = COUNT(*) FROM Inserted
  7596. IF @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.  
  7625. GO
  7626.  
  7627. DROP TRIGGER tipouts_last_mod_D
  7628. GO
  7629. CREATE TRIGGER [dbo].[tipouts_last_mod_D] ON [dbo].[tipouts]
  7630. FOR DELETE
  7631. AS
  7632. DECLARE @cTableName varchar(8)
  7633.  
  7634. SET NOCOUNT ON
  7635. SET @cTableName = 'tipouts'
  7636. IF 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.  
  7651. GO
  7652.  
  7653. DROP TRIGGER tipouts_last_mod_IU
  7654. GO
  7655. CREATE TRIGGER [dbo].[tipouts_last_mod_IU] ON [dbo].[tipouts]
  7656. FOR INSERT, UPDATE
  7657. AS
  7658. DECLARE @CountIns int,
  7659. @cTableName varchar(10),
  7660. @nKeyVal int
  7661.  
  7662. SET NOCOUNT ON
  7663. SET @cTableName = 'tipouts'
  7664. SELECT @CountIns = COUNT(*) FROM Inserted
  7665. IF @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.  
  7690. GO
  7691.  
  7692. DROP TRIGGER tr_save_last_mod_D
  7693. GO
  7694. CREATE TRIGGER [dbo].[tr_save_last_mod_D] ON [dbo].[tr_save]
  7695. FOR DELETE
  7696. AS
  7697. DECLARE @cTableName varchar(8)
  7698.  
  7699. SET NOCOUNT ON ;
  7700. set transaction isolation level read uncommitted ;
  7701.  
  7702. SET @cTableName = 'tr_save'
  7703. IF 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.  
  7718. GO
  7719.  
  7720. DROP TRIGGER tr_save_last_mod_IU
  7721. GO
  7722. CREATE TRIGGER [dbo].[tr_save_last_mod_IU] ON [dbo].[tr_save]
  7723. FOR INSERT, UPDATE
  7724. AS
  7725. DECLARE @CountIns int,
  7726. @cTableName varchar(10),
  7727. @nKeyVal int
  7728.  
  7729. SET NOCOUNT ON ;
  7730. set transaction isolation level read uncommitted ;
  7731.  
  7732. SET @cTableName = 'tr_save'
  7733. SELECT @CountIns = COUNT(*) FROM Inserted WHERE Cal_Sched = 1
  7734. IF @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.  
  7764. GO
  7765.  
  7766. DROP TRIGGER units_last_mod_D
  7767. GO
  7768. CREATE TRIGGER [dbo].[units_last_mod_D] ON [dbo].[units]
  7769. FOR DELETE
  7770. AS
  7771. DECLARE @cTableName varchar(8)
  7772.  
  7773. SET NOCOUNT ON
  7774. SET @cTableName = 'units'
  7775. IF 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.  
  7790. GO
  7791.  
  7792. DROP TRIGGER units_last_mod_IU
  7793. GO
  7794. CREATE TRIGGER [dbo].[units_last_mod_IU] ON [dbo].[units]
  7795. FOR INSERT, UPDATE
  7796. AS
  7797. DECLARE @CountIns int,
  7798. @cTableName varchar(10),
  7799. @nKeyVal int
  7800.  
  7801. SET NOCOUNT ON
  7802. SET @cTableName = 'units'
  7803. SELECT @CountIns = COUNT(*) FROM Inserted
  7804. IF @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.  
  7829. GO
  7830.  
  7831. DROP TRIGGER usercod1_last_mod_D
  7832. GO
  7833. CREATE TRIGGER [dbo].[usercod1_last_mod_D] ON [dbo].[usercod1]
  7834. FOR DELETE
  7835. AS
  7836. DECLARE @cTableName varchar(8)
  7837.  
  7838. SET NOCOUNT ON
  7839. SET @cTableName = 'usercod1'
  7840. IF 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.  
  7855. GO
  7856.  
  7857. DROP TRIGGER usercod1_last_mod_IU
  7858. GO
  7859. CREATE TRIGGER [dbo].[usercod1_last_mod_IU] ON [dbo].[usercod1]
  7860. FOR INSERT, UPDATE
  7861. AS
  7862. DECLARE @CountIns int,
  7863. @cTableName varchar(10),
  7864. @nKeyVal int
  7865.  
  7866. SET NOCOUNT ON
  7867. SET @cTableName = 'usercod1'
  7868. SELECT @CountIns = COUNT(*) FROM Inserted
  7869. IF @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.  
  7894. GO
  7895.  
  7896. DROP TRIGGER usercod2_last_mod_D
  7897. GO
  7898. CREATE TRIGGER [dbo].[usercod2_last_mod_D] ON [dbo].[usercod2]
  7899. FOR DELETE
  7900. AS
  7901. DECLARE @cTableName varchar(8)
  7902.  
  7903. SET NOCOUNT ON
  7904. SET @cTableName = 'usercod2'
  7905. IF 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.  
  7920. GO
  7921.  
  7922. DROP TRIGGER usercod2_last_mod_IU
  7923. GO
  7924. CREATE TRIGGER [dbo].[usercod2_last_mod_IU] ON [dbo].[usercod2]
  7925. FOR INSERT, UPDATE
  7926. AS
  7927. DECLARE @CountIns int,
  7928. @cTableName varchar(10),
  7929. @nKeyVal int
  7930.  
  7931. SET NOCOUNT ON
  7932. SET @cTableName = 'usercod2'
  7933. SELECT @CountIns = COUNT(*) FROM Inserted
  7934. IF @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.  
  7959. GO
  7960.  
  7961. DROP TRIGGER usercod3_last_mod_D
  7962. GO
  7963. CREATE TRIGGER [dbo].[usercod3_last_mod_D] ON [dbo].[usercod3]
  7964. FOR DELETE
  7965. AS
  7966. DECLARE @cTableName varchar(8)
  7967.  
  7968. SET NOCOUNT ON
  7969. SET @cTableName = 'usercod3'
  7970. IF 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.  
  7985. GO
  7986.  
  7987. DROP TRIGGER usercod3_last_mod_IU
  7988. GO
  7989. CREATE TRIGGER [dbo].[usercod3_last_mod_IU] ON [dbo].[usercod3]
  7990. FOR INSERT, UPDATE
  7991. AS
  7992. DECLARE @CountIns int,
  7993. @cTableName varchar(10),
  7994. @nKeyVal int
  7995.  
  7996. SET NOCOUNT ON
  7997. SET @cTableName = 'usercod3'
  7998. SELECT @CountIns = COUNT(*) FROM Inserted
  7999. IF @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.  
  8024. GO
  8025.  
  8026. DROP TRIGGER wrapcode_last_mod_D
  8027. GO
  8028. CREATE TRIGGER [dbo].[wrapcode_last_mod_D] ON [dbo].[wrapcode]
  8029. FOR DELETE
  8030. AS
  8031. DECLARE @cTableName varchar(8)
  8032.  
  8033. SET NOCOUNT ON
  8034. SET @cTableName = 'wrapcode'
  8035. IF 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.  
  8050. GO
  8051.  
  8052. DROP TRIGGER wrapcode_last_mod_IU
  8053. GO
  8054. CREATE TRIGGER [dbo].[wrapcode_last_mod_IU] ON [dbo].[wrapcode]
  8055. FOR INSERT, UPDATE
  8056. AS
  8057. DECLARE @CountIns int,
  8058. @cTableName varchar(10),
  8059. @nKeyVal int
  8060.  
  8061. SET NOCOUNT ON
  8062. SET @cTableName = 'wrapcode'
  8063. SELECT @CountIns = COUNT(*) FROM Inserted
  8064. IF @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.  
  8089. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement