Project

General

Profile

Support #1821 » CBIATMTOPYCPOTARIF_20230106.sql

Tri Rizqiaty, 01/06/2023 09:53 AM

 
1
??ALTER PROCEDURE [dbo].[CBIATMTOPYCPOTARIF]
2

3
(
4

5
	@EmployeeID VARCHAR(20)
6

7
	,@StartDate VARCHAR(20)
8

9
	,@EndDate VARCHAR(20)
10

11
)
12

13
AS
14

15

16

17
--DECLARE @EmployeeID VARCHAR(20) = '06120011'
18

19
--DECLARE @StartDate VARCHAR(20) = '20221101'
20

21
--DECLARE @EndDate VARCHAR(20) = '20221130'
22

23

24

25
DECLARE @CTARIF TABLE
26

27
(
28

29
	EmployeeID VARCHAR(20)
30

31
	,TipeCPO VARCHAR(20)
32

33
	,PKS01 DECIMAL(22,2)
34

35
	,PKS02 DECIMAL(22,2)
36

37
	,PKS03 DECIMAL(22,2)
38

39
)
40

41

42

43
INSERT INTO @CTARIF
44

45
SELECT @EmployeeID, * FROM (SELECT TipeCPO, FieldName, Tarif FROM CTARIFCPO ) AS SourceTable
46

47
PIVOT (MAX(Tarif)
48

49
FOR FieldName IN
50

51
(	[PKS01],
52

53
	[PKS02],
54

55
	[PKS03])
56

57
) AS pvt
58

59

60

61
SELECT DISTINCT md.EmployeeID, md.CPORett,  md.CPO2Rett,  md.CPO3Rett 
62

63
				,md.PKS1Tersus * tarif.PKS01 AS TarifCPORett
64

65
				,md.PKS2Tersus * tarif.PKS02 AS TarifCPO2Rett
66

67
				,md.PKS3Tersus * tarif.PKS03 AS TarifCPO3Rett
68

69
FROM dbo.CUSPYDATACPO  AS md 
70

71
LEFT JOIN @CTARIF AS tarif
72

73
	ON md.EmployeeID = tarif.EmployeeID
74

75
WHERE  md.EmployeeID = @EmployeeID
76

77
	AND (md.StartDate BETWEEN @StartDate AND @EndDate)
78

79
	AND (md.NoUnit = TipeCPO)
(4-4/4)