yuvarajupadhyaya

Job 4

Sep 13th, 2022
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.63 KB | None | 0 0
  1.  
  2.  
  3.  
  4.  
  5. -- ============================================================================================================================
  6. -- Author: Santosh Gupta
  7. -- Create date: 2012-03-09 08:45PM
  8. -- Description: EOD Process.
  9. --
  10. -- Params:
  11. -- @run_type INT, --Steps
  12. -- @master_process_id VARCHAR(120),
  13. -- @process_id VARCHAR(120),
  14. -- @status VARCHAR(50) , -- 1 for success, 0 for failure
  15. -- @date VARCHAR(10) Date
  16. -- @exec_only_this_step INT = 0 -- 1 for single step execution, default 0 for serial execution
  17. -- ============================================================================================================================
  18. CREATE PROCEDURE [dbo].[usp_core_process]
  19. @run_type INT,
  20. @master_process_id VARCHAR(120) = NULL,
  21. @process_id VARCHAR(120) = NULL,
  22. @status VARCHAR(50) = NULL, -- 1 for success, 0 for failure
  23. @date VARCHAR(10) = NULL,
  24. @exec_only_this_step INT = 1, -- 1 for single step execution, default 0 for serial execution
  25. @spa VARCHAR(MAX),
  26. @sendemail BIT = 1,
  27. @Module NVARCHAR(100),
  28. @returnvalue BIT = 0,
  29. @isschedule BIT = 0,
  30. @next_run_type INT = NULL,
  31. @starttime INT = NULL
  32. AS
  33.  
  34. --EXEC usp_core_process '123',NULL,NULL,NULL,GETDATE,1,'select 1 '
  35. SET NOCOUNT ON;
  36.  
  37. DECLARE @sql VARCHAR(MAX),
  38. @user_login_id VARCHAR(50),
  39. @job_name VARCHAR(150),
  40. @ssis_path VARCHAR(1000),
  41. @root VARCHAR(1000),
  42. @proc_desc VARCHAR(1000),
  43. @as_of_date VARCHAR(10),
  44. @source VARCHAR(100),
  45. @label VARCHAR(500),
  46. @log_status VARCHAR(50),
  47. @message VARCHAR(MAX),
  48. @Email VARCHAR(255);
  49.  
  50. DECLARE @mail_profile VARCHAR(100) = 'DbSupport';
  51.  
  52. DECLARE @count VARCHAR(10);
  53. DECLARE @notes_id INT;
  54. DECLARE @send_from VARCHAR(100);
  55. DECLARE @send_to VARCHAR(5000);
  56. DECLARE @send_cc VARCHAR(5000);
  57. DECLARE @send_bcc VARCHAR(5000);
  58. DECLARE @subject VARCHAR(250);
  59. DECLARE @notes_text VARCHAR(MAX);
  60. DECLARE @notes_attachment_filename VARCHAR(5000);
  61. DECLARE @iMsg INT; --Object reference,
  62.  
  63.  
  64. DECLARE @resultcode INT;
  65. DECLARE @template_params VARCHAR(MAX);
  66. IF @date IS NULL
  67. SET @date = CONVERT(VARCHAR(10), GETDATE(), 120);
  68. --declare @sql nvarchar(max)
  69. IF @next_run_type IS NULL
  70. SET @next_run_type = CONVERT(VARCHAR(10), GETDATE(), 112);
  71. SET @log_status = @status;
  72. --/* To DO CHANGE AS PER PROJECT
  73. SET @Email = '[email protected]';
  74. SET @source = 'SFPilotProject';
  75. --*/
  76. IF @log_status = 'TechError'
  77. BEGIN
  78. SET @label = 'Job Process Stoped for run date ' + @date + ' (Technical Errors Found).';
  79. SET @label = @label + 'Manually Start The Jobs at Error Step: ' + @source;
  80. SET @message = '<font color=#0000ff><u>' + @label + '</u></font>';
  81. SET @template_params = 'Automated Job Failed at this step';
  82. SET @template_params = dbo.FNABuildNameValueXML(@template_params, '<JOB_RUN_DATE>', @date); --replace template fields
  83. SET @template_params = dbo.FNABuildNameValueXML(@template_params, '<JOB_STATUS>', 'Failure Job Step:' + @message);
  84.  
  85. --PRINT @source
  86. --PRINT @label
  87. --PRINT @template_params
  88. --PRINT @email
  89. --PRINT @process_id
  90.  
  91. --INSERT INTO EmailNotes(
  92. -- NotesobjectName,
  93. -- notessubject,
  94. -- notestext,
  95. -- sendfrom,
  96. -- sendto,
  97. -- sendstatus,isactive,
  98. -- addedby,AddedOn,processid)
  99. -- VALUES (@source,@label,@template_params,@email, @Email,0,1,'Admin',GETDATE(),@process_id)
  100.  
  101. SET @subject = 'Tech Error found while batch processing of ' + @Module;
  102. --EXEC msdb.dbo.sp_send_dbmail
  103. -- @profile_name=@mail_profile,
  104. -- @recipients=@email,
  105. -- @copy_recipients = @send_cc,
  106. -- @blind_copy_recipients = @send_bcc,
  107. -- @subject = @Subject,
  108. -- @body = @message,
  109. -- @body_format = 'HTML';
  110.  
  111.  
  112.  
  113. RETURN;
  114. END;
  115. ELSE
  116.  
  117. --IF @returnvalue = 0
  118. --BEGIN
  119. -- SET @spa='Select 1'
  120. --END
  121.  
  122. IF @run_type = 123
  123. BEGIN
  124.  
  125. --SET @process_id = dbo.FNAGetNewID()
  126. SET @master_process_id = dbo.FNAGetNewID();
  127. SET @proc_desc = 'Automated Job Process';
  128. SET @job_name = @proc_desc + '_' + @process_id;
  129.  
  130. IF @isschedule = 0
  131. BEGIN
  132. EXEC usp_process_as_job @job_name,
  133. @spa,
  134. @proc_desc,
  135. @user_login_id,
  136. 'TSQL',
  137. @run_type,
  138. @master_process_id,
  139. @process_id,
  140. @date,
  141. @exec_only_this_step,
  142. @Module,
  143. @returnvalue;
  144. END;
  145. ELSE IF @isschedule = 1
  146. BEGIN
  147. EXEC usp_process_as_job_schedule @job_name,
  148. @spa,
  149. @proc_desc,
  150. @user_login_id,
  151. 'TSQL',
  152. @run_type,
  153. @master_process_id,
  154. @process_id,
  155. @date,
  156. @next_run_type,
  157. @starttime,
  158. NULL,
  159. NULL,
  160. NULL,
  161. NULL,
  162. NULL,
  163. NULL,
  164. NULL,
  165. NULL,
  166. @exec_only_this_step,
  167. @Module,
  168. @returnvalue;
  169. END;
  170.  
  171. IF @sendemail = 1
  172. BEGIN
  173. SET @subject = 'Batch Processing completed successfully for ' + @Module;
  174. --EXEC msdb.dbo.sp_send_dbmail
  175. -- @profile_name=@mail_profile,
  176. -- @recipients=@email,
  177. -- @copy_recipients = @send_cc,
  178. -- @blind_copy_recipients = @send_bcc,
  179. -- @subject = @Subject,
  180. -- @body = @message,
  181. -- @body_format = 'HTML';
  182.  
  183. END;
  184. RETURN;
  185. END;
  186. RETURN;
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
Advertisement
Add Comment
Please, Sign In to add comment