Advertisement
infogulch

Untitled

Jun 7th, 2012
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.99 KB | None | 0 0
  1. USE TABER;
  2. IF OBJECT_ID('dbo.uvw_PurchaseOrdersHeaders','V') IS NOT NULL DROP VIEW dbo.uvw_PurchaseOrdersHeaders;
  3. GO
  4.  
  5. CREATE VIEW dbo.uvw_PurchaseOrdersHeaders
  6. WITH VIEW_METADATA
  7. AS
  8. SELECT Orders.PRMDATE AS "Promised"
  9.      , CAST(DATEDIFF(DAY, GETDATE(), PRMDATE) AS VARCHAR(20)) AS "Days Due"
  10.      , VENDORID AS Vendor
  11.      , STUFF(STUFF(SUBSTRING(RTRIM(PURCHPHONE1), 1, 10), 4, 0, '-'), 8, 0, '-') + COALESCE(NULLIF(' x' + SUBSTRING(PURCHPHONE1, 11, 4), ' x0000'), '') AS "Vendor Phone"
  12.      , BUYERID  AS "Buyer"
  13.      , SHIPMTHD AS "Ship Method"
  14.      , PONUMBER AS "PO#"
  15.      , (CASE WHEN COMMNTID = 'RECEIVED' THEN 1 ELSE 0 END) AS Received
  16. FROM POP10100 Orders
  17. WHERE TABER.dbo.DYN_FUNC_PO_Status( Orders.POSTATUS ) IN ('New','Released','Change Order')
  18. GO
  19.  
  20. IF OBJECT_ID('dbo.uvw_PurchaseOrders','V') IS NOT NULL DROP VIEW dbo.uvw_PurchaseOrders;
  21. GO
  22.  
  23. CREATE VIEW dbo.uvw_PurchaseOrders
  24. WITH VIEW_METADATA
  25. AS
  26. SELECT Header.Promised
  27.      , Header."Days Due"
  28.      , Header.Vendor
  29.      , Header."Vendor Phone"
  30.      , Items.Items
  31.      , Header.Buyer
  32.      , Header."Ship Method"
  33.      , Header.PO#
  34.      , (CASE WHEN Header.Received = 1 OR Items.AllReceived = 1 THEN 1 ELSE 0 END) AS Received
  35. FROM uvw_PurchaseOrdersHeaders Header
  36. LEFT JOIN (
  37.     SELECT PO#
  38.          , dbo.GROUP_CONCAT(RTRIM(ISNULL(ITMSHNAM, Items.ItemDesc)) + ' (' + CAST(Qty AS VARCHAR(20)) + ')') AS Items
  39.          , MIN(Received) AS AllReceived
  40.     FROM uvw_PurchaseOrdersDetail AS Items
  41.     LEFT JOIN IV00101 AS IV ON IV.ITEMNMBR = Items.ItemNmbr
  42.     GROUP BY PO#
  43. ) AS Items ON Items.PO# = Header.PO#
  44. GO
  45.  
  46. CREATE TRIGGER dbo.upd_PurchaseOrders
  47. ON dbo.uvw_PurchaseOrders
  48. INSTEAD OF UPDATE
  49. AS
  50. BEGIN
  51.     UPDATE POP10100 -- headers table
  52.     SET PRMDATE = inserted.Promised
  53.     WHERE PONUMBER = inserted."PO#"
  54.        
  55.     UPDATE POP10110 -- line items table
  56.     SET PRMDATE = inserted.Promised
  57.     WHERE PONUMBER = inserted."PO#"
  58. END
  59. GO
  60.  
  61. GRANT UPDATE ON dbo.uvw_PurchaseOrders (Promised, Received) TO dyngrp AS dbo;
  62. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement