USE Bravo8
GO
 
DECLARE @_FindText NVARCHAR(512) = N'usp_B30BizDocSO_AutoCreate_IssueOrderVouchers'
	,@_SearchDatabase BIT = 1, @_SearchLayout BIT = 1 -- @_SearchLayout chỉ áp dụng cho Bravo8 trở lên.
 
IF @_SearchDatabase = 1
BEGIN
	SELECT o.name, sm.definition, o.type, o.type_desc, o.create_date, o.modify_date
	FROM sys.objects AS o JOIN sys.sql_modules AS sm ON sm.[object_id] = o.[object_id]
	WHERE sm.definition LIKE '%' + @_FindText  + '%' -- AND [o].[type] = 'v'
	ORDER BY o.name ASC
END
 
IF @_SearchLayout = 1
BEGIN
	IF OBJECT_ID(N'Tempdb..#CtTmp') IS NOT NULL DROP TABLE #CtTmp
	SELECT Id, FormName INTO #CtTmp
	FROM dbo.B00Layout
 
	IF OBJECT_ID(N'Tempdb..#Layout') IS NOT NULL DROP TABLE #Layout
	SELECT a.Id, b.FormName AS CommandKey,
		dbo.ufn_sys_ToLayoutXml(a.LayoutData) AS LayoutSource,
		cmd.Text AS CommandText
	INTO #Layout
	FROM dbo.B00LayoutData a
		INNER JOIN #CtTmp b ON b.Id = a.Id
		INNER JOIN dbo.B00Command cmd ON cmd.CommandKey = b.FormName
 
	SELECT Id, CommandKey, CommandText FROM #Layout WHERE LayoutSource LIKE '%' + @_FindText + '%'
 
	DROP TABLE #CtTmp
	DROP TABLE #Layout
END