Project

General

Profile

Feature #4015 » PRPTAIDATAHEADER.sql

Tri Rizqiaty, 11/21/2025 02:23 PM

 
1
ALTER PROCEDURE [dbo].[PRPTAIDATAHEADER] 
2
(
3
	@SelectionID VARCHAR(20)
4
	,@Year VARCHAR(20)
5
	,@Month VARCHAR(20)
6
)
7
AS
8

    
9
--DECLARE @SelectionID VARCHAR(20) = '0005'
10
--DECLARE @Year VARCHAR(20) = ''
11
--DECLARE @Month VARCHAR(20) = '01'
12

    
13
IF(@Month <> '' AND @Year <> '')
14
BEGIN
15
	SELECT dbo.fn_formatdatetime((@Year + @Month + '01'),'mmmm yyyy') AS PeriodStart, dbo.fn_formatdatetime((@Year + @Month + '01'),'mmmm yyyy') AS PeriodEnd 
16
			,* FROM AI_SELECTIONS
17
	WHERE Selection_ID = @SelectionID
18
END
19
ELSE
20
BEGIN
21
	DECLARE @TblRefAI VARCHAR(200)
22
	DECLARE @TblRefAIDesc VARCHAR(200)
23
	SELECT @TblRefAI = TableRefAI, @TblRefAIDesc = Selection_Description FROM AI_SELECTIONS
24
	WHERE Selection_ID = @SelectionID
25
	
26
	DECLARE @TblPeriod TABLE
27
	(	
28
		Period VARCHAR(50)
29
	)
30

    
31
	DECLARE @StrAI VARCHAR(MAX)
32
	SET @StrAI = 'SELECT DISTINCT Year+Month AS Period ' + ' FROM ' + @TblRefAI 
33
					+ ' WHERE (Year = ''' + @Year + ''' OR ''' + @Year + ''' = '''')'
34
					+ ' AND (Month = ''' + @Month + ''' OR ''' + @Month + ''' = '''')'
35
	--SELECT @StrAI
36
	INSERT INTO @TblPeriod
37
	EXEC(@StrAI)	
38
	SELECT dbo.fn_formatdatetime((MIN(Period)+'01'), 'mmmm yyyy') AS PeriodStart, dbo.fn_formatdatetime((MAX(Period)+'01'), 'mmmm yyyy') AS PeriodEnd
39
			,@TblRefAIDesc AS Selection_Description
40
	FROM @TblPeriod
41

    
42
END
(3-3/4)