Guest User

Untitled

a guest
Jul 21st, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.57 KB | None | 0 0
  1. DECLARE @db1 varChar(10), @db2 varChar(10), @catF Char(2), @catT Char(2), @sort varChar(4)
  2. DECLARE @file1 varChar(10), @file2 varChar(10), @file3 varChar(10), @file4 varChar(10)
  3. DECLARE @field1 varChar(10), @field2 varChar(10), @field3 varChar(10), @field4 varChar(10)
  4. DECLARE @flag1 varChar(2), @flag2 varChar(2), @flag3 varChar(2), @flag4 varChar(2)
  5. DECLARE @offset tinyInt, @timeTaken Int, @date DateTime, @fromDate DateTime
  6. DECLARE @hour Char(2), @minute Char(2), @Seq Char(5)
  7. -- USER defined variables
  8. SET @offset = 0
  9. SET @Seq = '00000'
  10. SET @catF = 'AA'
  11. SET @catT = 'ZZ'
  12. SET @timeTaken = '99999999'
  13. SET @sort = 'DESC'
  14. -- SYSTEM defined variables
  15. SET @db1 = 'TMSBIXNBL'
  16. SET @file1 = 'TBI_PROCQ'
  17. SET @field1 = 'PQSTATUS'
  18. SET @field2 = 'PQCRTDATE'
  19. SET @field3 = 'PQSTRDATE'
  20. SET @field4 = 'PQCHGDATE'
  21. SET @flag1 = 'C'
  22. SET @flag2 = 'W'
  23. SET @date = getdate() - @offset
  24. SET @hour = '00'
  25. SET @minute = '00'
  26. SET @fromDate = substring(convert(char(10),@date, 101),7,4)
  27. +'-'+substring(convert(char(10),@date, 101),1,2)
  28. +'-'+substring(convert(char(10),@date, 101),4,2)
  29. +' '+ @hour + ':' + @minute + ':00.000'
  30. -- Process Query
  31. EXEC ('SELECT
  32. [PQGENSEQ] ''Seq''
  33. , [PQSTRCODE] ''Cat''
  34. , [' + @field1 + '] ''Sts''
  35. , [PQFILE]
  36. , [PQPARM1] ''Pd Fm''
  37. , [PQPARM2] ''Pd To''
  38. , ''|'' ''-''
  39. , [PQPaRM5] ''Yr''
  40. , [PQPARM8] ''Bld''
  41. , ''|'' ''-''
  42. , CASE
  43. WHEN [' + @field1 + '] IN (''' + @flag1 + ''') THEN
  44. cast(datediff(ss, [' + @field3 + '], [' + @field4 + ']) as varChar(10))
  45. ELSE '' '' END ''SS2''
  46. , ''|'' ''-''
  47. , [' + @field2 + ']
  48. , [' + @field3 + ']
  49. , ''|'' ''-''
  50. ,
  51. CASE
  52. WHEN [' + @field1 + '] IN (''' + @flag2 + ''') THEN
  53. /* HOURS */
  54. CASE
  55. WHEN cast(datediff(ss, [' + @field3 + '], getdate()) / 3600 as int) < 10
  56. THEN ''0'' + cast(cast(datediff(ss, [' + @field3 + '], getdate()) / 3600 as int) as char(1))
  57. ELSE cast(cast(datediff(ss, [' + @field3 + '], getdate()) / 3600 as int) as char(2))
  58. END
  59. + '':'' +
  60. /* MINUTES */
  61. CASE
  62. WHEN (datediff(ss, [' + @field3 + '], getdate()) - (cast((datediff(ss, [' + @field3 + '], getdate()) / 3600) as int) * 3600)) / 60 < 10
  63. THEN ''0'' + cast((datediff(ss, [' + @field3 + '], getdate()) - (cast((datediff(ss, [' + @field3 + '], getdate()) / 3600) as int) * 3600)) / 60 as char(1))
  64. ELSE cast((datediff(ss, [' + @field3 + '], getdate()) - (cast((datediff(ss, [' + @field3 + '], getdate()) / 3600) as int) * 3600)) / 60 as char(2))
  65. END
  66. + '':'' +
  67. /* SECONDS */
  68. CASE
  69. WHEN (datediff(ss, [' + @field3 + '], getdate()) % 3600) % 60 < 10
  70. THEN ''0'' + cast((datediff(ss, [' + @field3 + '], getdate()) % 3600) % 60 as char(1))
  71. ELSE cast((datediff(ss, [' + @field3 + '], getdate()) % 3600) % 60 as char(2))
  72. END
  73. WHEN [' + @field1 + '] IN (''' + @flag1 + ''') THEN
  74. /* HOURS */
  75. CASE
  76. WHEN cast(datediff(ss, [' + @field2 + '], [' + @field3 + ']) / 3600 as int) < 10
  77. THEN ''0'' + cast(cast(datediff(ss, [' + @field2 + '], [' + @field3 + ']) / 3600 as int) as char(1))
  78. ELSE cast(cast(datediff(ss, [' + @field2 + '], [' + @field3 + ']) / 3600 as int) as char(2))
  79. END
  80. + '':'' +
  81. /* MINUTES */
  82. CASE
  83. WHEN (datediff(ss, [' + @field2 + '], [' + @field3 + ']) - (cast((datediff(ss, [' + @field2 + '], [' + @field3 + ']) / 3600) as int) * 3600)) / 60 < 10
  84. THEN ''0'' + cast((datediff(ss, [' + @field2 + '], [' + @field3 + ']) - (cast((datediff(ss, [' + @field2 + '], [' + @field3 + ']) / 3600) as int) * 3600)) / 60 as char(1))
  85. ELSE cast((datediff(ss, [' + @field2 + '], [' + @field3 + ']) - (cast((datediff(ss, [' + @field2 + '], [' + @field3 + ']) / 3600) as int) * 3600)) / 60 as char(2))
  86. END
  87. + '':'' +
  88. /* SECONDS */
  89. CASE
  90. WHEN (datediff(ss, [' + @field2 + '], [' + @field3 + ']) % 3600) % 60 < 10
  91. THEN ''0'' + cast((datediff(ss, [' + @field2 + '], [' + @field3 + ']) % 3600) % 60 as char(1))
  92. ELSE cast((datediff(ss, [' + @field2 + '], [' + @field3 + ']) % 3600) % 60 as char(2))
  93. END
  94. ELSE '' ''
  95. END ''HH:MM:SS''
  96. , ''|'' ''-''
  97. , [' + @field4 + ']
  98. , ''|'' ''-''
  99. ,
  100. CASE
  101. WHEN [' + @field1 + '] NOT IN (''' + @flag1 + ''') THEN '' ''
  102. ELSE
  103. /* HOURS */
  104. CASE
  105. WHEN cast(datediff(ss, [' + @field3 + '], [' + @field4 + ']) / 3600 as int) < 10
  106. THEN ''0'' + cast(cast(datediff(ss, [' + @field3 + '], [' + @field4 + ']) / 3600 as int) as char(1))
  107. ELSE cast(cast(datediff(ss, [' + @field3 + '], [' + @field4 + ']) / 3600 as int) as char(2))
  108. END
  109. + '':'' +
  110. /* MINUTES */
  111. CASE WHEN (datediff(ss, [' + @field3 + '], [' + @field4 + ']) - (cast((datediff(ss, [' + @field3 + '], [' + @field4 + ']) / 3600) as int) * 3600)) / 60 < 10
  112. THEN ''0'' + cast((datediff(ss, [' + @field3 + '], [' + @field4 + ']) - (cast((datediff(ss, [' + @field3 + '], [' + @field4 + ']) / 3600) as int) * 3600)) / 60 as char(1))
  113. ELSE cast((datediff(ss, [' + @field3 + '], [' + @field4 + ']) - (cast((datediff(ss, [' + @field3 + '], [' + @field4 + ']) / 3600) as int) * 3600)) / 60 as char(2))
  114. END
  115. + '':'' +
  116. /* SECONDS */
  117. CASE
  118. WHEN (datediff(ss, [' + @field3 + '], [' + @field4 + ']) % 3600) % 60 < 10
  119. THEN ''0'' + cast((datediff(ss, [' + @field3 + '], [' + @field4 + ']) % 3600) % 60 as char(1))
  120. ELSE cast((datediff(ss, [' + @field3 + '], [' + @field4 + ']) % 3600) % 60 as char(2))
  121. END
  122. END ''HH:MM:SS''
  123.  
  124. FROM [' + @db1 + ']..[' + @file1 + ']
  125.  
  126. WHERE [' + @field4 + '] > = ''' + @fromDate + '''
  127. and [PQGENSEQ] >= ''' + @Seq + '''
  128. and datediff(ss, [' + @field3 + '], [' + @field4 + ']) <= ''' + @timeTaken + '''
  129. and ([PQSTRCODE] >= ''' + @catF + '''
  130. and [PQSTRCODE] <= ''' + @catT + ''')
  131. ORDER BY [PQGENSEQ] ' + @sort + ' ' )
  132.  
  133. /*
  134. UPDATE [TMSBIXNBL]..[TBI_PROCQ]
  135. SET [PQSTATUS] = 'O'
  136. WHERE [PQGENSEQ] IN ('05100')
  137. */
  138.  
  139. --TRUNCATE TABLE [TMSBIXNBL]..[TBI_IMPORT]
Add Comment
Please, Sign In to add comment