|
1
|
ALTER PROCEDURE PRPTTVJURNALTRAVEL
|
|
2
|
(
|
|
3
|
@CompanyID VARCHAR(4)
|
|
4
|
,@CostCenter VARCHAR(8)
|
|
5
|
,@EmployeeID VARCHAR(8)
|
|
6
|
,@EmployeeArea VARCHAR(8)
|
|
7
|
,@RunPeriod VARCHAR(6)
|
|
8
|
)
|
|
9
|
AS
|
|
10
|
|
|
11
|
--DECLARE @CompanyID VARCHAR(4) = '1000'
|
|
12
|
--DECLARE @CostCenter VARCHAR(8) = ''
|
|
13
|
--DECLARE @EmployeeID VARCHAR(8) = '10000150'
|
|
14
|
--DECLARE @EmployeeArea VARCHAR(8) = ''
|
|
15
|
--DECLARE @RunPeriod VARCHAR(6) = '202601'
|
|
16
|
|
|
17
|
DECLARE @StartDate VARCHAR(8) = @RunPeriod + '01'
|
|
18
|
DECLARE @EndDateDt DATETIME = DATEADD(dd, -1,DATEADD(mm, 1,CONVERT(DATETIME, @StartDate)))
|
|
19
|
DECLARE @EndDate VARCHAR(8) = @RunPeriod + CONVERT(VARCHAR(2), DATEPART(dd,@EndDateDt))
|
|
20
|
|
|
21
|
DECLARE @TblEmp TABLE
|
|
22
|
(
|
|
23
|
EmployeeID VARCHAR(20)
|
|
24
|
,HeaderSequence DECIMAL(22,0)
|
|
25
|
,CostType VARCHAR(20)
|
|
26
|
,CostDesc VARCHAR(250)
|
|
27
|
,Rate VARCHAR(250)
|
|
28
|
,AmountPlan DECIMAL(22,2)
|
|
29
|
,AmountSettlement DECIMAL(22,2)
|
|
30
|
,AmountApproval DECIMAL(22,2)
|
|
31
|
,RateConversion DECIMAL(22,2)
|
|
32
|
,AmountApprovalConversion DECIMAL(22,2)
|
|
33
|
,Currency VARCHAR(20)
|
|
34
|
,CostCenter VARCHAR(20)
|
|
35
|
,CCDesc VARCHAR(250)
|
|
36
|
,CompID VARCHAR(20)
|
|
37
|
,CompDesc VARCHAR(250)
|
|
38
|
)
|
|
39
|
|
|
40
|
INSERT INTO @TblEmp
|
|
41
|
SELECT DISTINCT pa65.EmployeeID
|
|
42
|
,pa65.HeaderSequence
|
|
43
|
,pa65.CostType
|
|
44
|
,pa65.CostDescription
|
|
45
|
,pa65.Rate
|
|
46
|
,pa65.AmountPlan
|
|
47
|
,pa65.AmountSettlement
|
|
48
|
,pa65.AmountApproval
|
|
49
|
,pa65.RateConversion
|
|
50
|
,pa65.AmountApprovalConversion
|
|
51
|
,pa65.Currency
|
|
52
|
,pa65.CostCenter
|
|
53
|
,cc.ObjectDescription AS CCDesc
|
|
54
|
,pa2.CompanyID
|
|
55
|
,comp.CompanyDescription
|
|
56
|
FROM PHRPA0062 AS pa62
|
|
57
|
LEFT JOIN PHRPA0065 AS pa65
|
|
58
|
ON pa65.EmployeeID = pa62.EmployeeID
|
|
59
|
LEFT JOIN PHRPA0002 AS pa2
|
|
60
|
ON pa62.EmployeeID = pa2.EmployeeID
|
|
61
|
AND pa2.StartDate <= @EndDate AND pa2.EndDate >= @EndDate
|
|
62
|
LEFT JOIN dbo.PCMEPCOMPID AS comp
|
|
63
|
ON pa2.CompanyID = comp.CompanyID
|
|
64
|
LEFT JOIN dbo.PHROM0001 AS cc
|
|
65
|
ON cc.ObjectID = pa2.CostCenter
|
|
66
|
AND cc.ObjectClass = 'CC'
|
|
67
|
AND cc.StartDate <= @EndDate AND cc.EndDate >= @EndDate
|
|
68
|
WHERE (pa62.EmployeeID = @EmployeeID OR @EmployeeID = '')
|
|
69
|
AND (pa62.TravDocDate >= @StartDate AND pa62.TravDocDate <= @EndDate)
|
|
70
|
AND (pa2.CompanyID = @CompanyID OR @CompanyID = '')
|
|
71
|
AND (pa2.CostCenter = @CostCenter OR @CostCenter = '')
|
|
72
|
AND (pa2.EmployeeArea = @EmployeeArea OR @EmployeeArea = '')
|
|
73
|
AND (pa62.HeaderSequence = pa65.HeaderSequence)
|
|
74
|
|
|
75
|
DECLARE @TblGLAcc TABLE
|
|
76
|
(
|
|
77
|
CostType VARCHAR(20)
|
|
78
|
,CostTypeDesc VARCHAR(250)
|
|
79
|
,DebitAcc VARCHAR(20)
|
|
80
|
,CreditAcc VARCHAR(20)
|
|
81
|
,CE VARCHAR(20)
|
|
82
|
,GLAccount VARCHAR(20)
|
|
83
|
,CEDesc VARCHAR(250)
|
|
84
|
)
|
|
85
|
|
|
86
|
INSERT INTO @TblGLAcc
|
|
87
|
SELECT DISTINCT costtype.CostType
|
|
88
|
,costtype.CostTypeDesc
|
|
89
|
,costtype.DebitAcc
|
|
90
|
,'' AS CreditAcc
|
|
91
|
,CE.ObjectID AS CE
|
|
92
|
,CE.GLAccount
|
|
93
|
,CE_Desc.ObjectDescription AS CEDesc
|
|
94
|
FROM PHRTVCOSTYP AS costtype
|
|
95
|
LEFT JOIN dbo.PHROM0017 AS CE
|
|
96
|
ON CE.StartDate <= @EndDate
|
|
97
|
AND CE.EndDate >= @EndDate
|
|
98
|
AND CE.ObjectID = costtype.DebitAcc
|
|
99
|
LEFT JOIN dbo.PHROM0001 AS CE_Desc
|
|
100
|
ON CE_Desc.ObjectDescription = CE.ObjectID
|
|
101
|
AND CE_Desc.ObjectClass = 'CE'
|
|
102
|
AND CE_Desc.StartDate <= @EndDate
|
|
103
|
AND CE_Desc.EndDate >= @EndDate
|
|
104
|
WHERE costtype.DebitAcc <> ''
|
|
105
|
|
|
106
|
INSERT INTO @TblGLAcc
|
|
107
|
SELECT DISTINCT costtype.CostType
|
|
108
|
,costtype.CostTypeDesc
|
|
109
|
,'' AS DebitAcc
|
|
110
|
,costtype.CreditAcc AS CreditAcc
|
|
111
|
,CE.ObjectID AS CE
|
|
112
|
,CE.GLAccount
|
|
113
|
,CE_Desc.ObjectDescription AS CEDesc
|
|
114
|
FROM PHRTVCOSTYP AS costtype
|
|
115
|
LEFT JOIN dbo.PHROM0017 AS CE
|
|
116
|
ON CE.StartDate <= @EndDate
|
|
117
|
AND CE.EndDate >= @EndDate
|
|
118
|
AND CE.ObjectID = costtype.DebitAcc
|
|
119
|
LEFT JOIN dbo.PHROM0001 AS CE_Desc
|
|
120
|
ON CE_Desc.ObjectDescription = CE.ObjectID
|
|
121
|
AND CE_Desc.ObjectClass = 'CE'
|
|
122
|
AND CE_Desc.StartDate <= @EndDate
|
|
123
|
AND CE_Desc.EndDate >= @EndDate
|
|
124
|
WHERE costtype.CreditAcc <> ''
|
|
125
|
|
|
126
|
DECLARE @TblAmount TABLE
|
|
127
|
(
|
|
128
|
CostType VARCHAR(20)
|
|
129
|
,CostTypeDesc VARCHAR(250)
|
|
130
|
,GLAccount VARCHAR(20)
|
|
131
|
,DebitAmount DECIMAL(22,2)
|
|
132
|
,CreditAmount DECIMAL(22,2)
|
|
133
|
,CostCenter VARCHAR(20)
|
|
134
|
,CCDesc VARCHAR(250)
|
|
135
|
,CompID VARCHAR(20)
|
|
136
|
,CompDesc VARCHAR(250)
|
|
137
|
)
|
|
138
|
|
|
139
|
INSERT INTO @TblAmount
|
|
140
|
SELECT DISTINCT tblgl.CostType
|
|
141
|
,tblgl.CostTypeDesc
|
|
142
|
,tblgl.GLAccount
|
|
143
|
,tblemp.AmountApproval AS DebitAmount
|
|
144
|
,0 AS CreditAmount
|
|
145
|
,tblemp.CostCenter
|
|
146
|
,tblemp.CCDesc
|
|
147
|
,tblemp.CompID
|
|
148
|
,tblemp.CompDesc
|
|
149
|
FROM @TblGLAcc AS tblgl
|
|
150
|
LEFT JOIN @TblEmp AS tblemp
|
|
151
|
ON tblemp.CostType = tblgl.CostType
|
|
152
|
WHERE tblgl.DebitAcc <> '' AND tblemp.AmountApproval > 0
|
|
153
|
|
|
154
|
INSERT INTO @TblAmount
|
|
155
|
SELECT DISTINCT tblgl.CostType
|
|
156
|
,tblgl.CostTypeDesc
|
|
157
|
,tblgl.GLAccount
|
|
158
|
,0 AS DebitAmount
|
|
159
|
,tblemp.AmountApproval AS CreditAmount
|
|
160
|
,tblemp.CostCenter
|
|
161
|
,tblemp.CCDesc
|
|
162
|
,tblemp.CompID
|
|
163
|
,tblemp.CompDesc
|
|
164
|
FROM @TblGLAcc AS tblgl
|
|
165
|
LEFT JOIN @TblEmp AS tblemp
|
|
166
|
ON tblemp.CostType = tblgl.CostType
|
|
167
|
WHERE tblgl.CreditAcc <> '' AND tblemp.AmountApproval > 0
|
|
168
|
|
|
169
|
SELECT DISTINCT *
|
|
170
|
,dbo.fn_formatdatetime(@StartDate,'mmmm yyyy') AS PeriodDesc
|
|
171
|
,dbo.fn_formatdatetime(@StartDate,'dd/mmmm/yyyy') AS StartDateDesc
|
|
172
|
,dbo.fn_formatdatetime(@EndDate,'dd/mmmm/yyyy') AS EndDateDesc
|
|
173
|
FROM @TblAmount
|