Project

General

Profile

Bug #3783 » PRPTPYWTRECAPDETAIL_202508131131.sql

Tri Rizqiaty, 08/13/2025 11:32 AM

 
1
??USE [MinovaES_BIA_Prod]
2

3
GO
4

5
/****** Object:  StoredProcedure [dbo].[PRPTPYWTRECAPDETAIL]    Script Date: 11/08/2025 14.16.48 ******/
6

7
SET ANSI_NULLS ON
8

9
GO
10

11
SET QUOTED_IDENTIFIER ON
12

13
GO
14

15
ALTER PROCEDURE [dbo].[PRPTPYWTRECAPDETAIL]
16

17
    (
18

19
      @PayPeriod VARCHAR(6) ,
20

21
      @EmployeeIDFrom VARCHAR(8) ,
22

23
      @EmployeeIDTo VARCHAR(8) ,
24

25
      @PayrollGroupStart VARCHAR(8) ,
26

27
      @PayrollGroupEnd VARCHAR(8) ,
28

29
      @CostCenterStart VARCHAR(8) ,
30

31
      @CostCenterEnd VARCHAR(8) ,
32

33
      @ReportType VARCHAR(50) ,
34

35
      @UserID VARCHAR(MAX) ,
36

37
      @MenuID VARCHAR(10)
38

39
    )
40

41
AS 
42

43
--DECLARE @PayPeriod VARCHAR(6) = '202507'
44

45
--DECLARE @EmployeeIDFrom VARCHAR(8) = ''
46

47
--DECLARE @EmployeeIDTo VARCHAR(8)= ''
48

49
--DECLARE @PayrollGroupStart VARCHAR(4) = '1030'
50

51
--DECLARE @PayrollGroupEnd VARCHAR(4) = ''
52

53
--DECLARE @CostCenterStart VARCHAR(8) = ''
54

55
--DECLARE @CostCenterEnd VARCHAR(8) = ''
56

57
--DECLARE @ReportType VARCHAR(50) = '0001'
58

59
--DECLARE @UserID VARCHAR(MAX)= 'nando'
60

61
--DECLARE @MenuID VARCHAR(10) = 'PYAR03'
62

63
 
64

65
 --//-- Variable Declaration
66

67
DECLARE @PayPeriodMonth VARCHAR(2)
68

69
DECLARE @PayPeriodYear VARCHAR(4)
70

71
DECLARE @PayPeriodStartDate VARCHAR(8)
72

73
DECLARE @PayPeriodEndDate VARCHAR(8)
74

75
DECLARE @PayPeriodEndDateDt DATETIME
76

77

78

79
DECLARE @EmpIDMin VARCHAR(8)
80

81
DECLARE @EmpIDMax VARCHAR(8)
82

83
DECLARE @PayrollGroupMin VARCHAR(4)
84

85
DECLARE @PayrollGroupMax VARCHAR(4)
86

87
DECLARE @CostCenterMin VARCHAR(8)
88

89
DECLARE @CostCenterMax VARCHAR(8)
90

91

92

93
--//-- declare table-table
94

95

96

97
DECLARE @tbl_employee TABLE
98

99
    (
100

101
      EmpID VARCHAR(20) ,
102

103
      EmpName VARCHAR(250) ,
104

105
      CCG VARCHAR(250) ,
106

107
      CCGAbr VARCHAR(250) ,
108

109
      CCGDesc VARCHAR(250) ,
110

111
      CC VARCHAR(250) ,
112

113
      CCAbr VARCHAR(250) ,
114

115
      CCDesc VARCHAR(250)
116

117
    )
118

119

120

121
DECLARE @tbl_employee2 TABLE
122

123
    (
124

125
      employee_id VARCHAR(250) ,
126

127
      employee_name VARCHAR(250) ,
128

129
      employee_area_id VARCHAR(250) ,
130

131
      employee_area_descr VARCHAR(250) ,
132

133
      employee_office_id VARCHAR(250) ,
134

135
      employee_office_descr VARCHAR(250) ,
136

137
      employee_status_id VARCHAR(250) ,
138

139
      employee_status_descr VARCHAR(250) ,
140

141
      employee_type_id VARCHAR(250) ,
142

143
      employee_type_descr VARCHAR(250) ,
144

145
      employee_sub_type_id VARCHAR(250) ,
146

147
      employee_sub_type_descr VARCHAR(250) ,
148

149
      payroll_group_id VARCHAR(250) ,
150

151
      payroll_group_descr VARCHAR(250) ,
152

153
      organization_id VARCHAR(250) ,
154

155
      organization_descr VARCHAR(250) ,
156

157
      CostCenter VARCHAR(250) ,
158

159
      cost_center_abbr VARCHAR(250) ,
160

161
      cost_center_descr VARCHAR(250) ,
162

163
      cost_center_group_id VARCHAR(250) ,
164

165
      cost_center_group_abbr VARCHAR(250) ,
166

167
      cost_center_group_descr VARCHAR(250) ,
168

169
      position_id VARCHAR(250) ,
170

171
      position_descr VARCHAR(250) ,
172

173
      job_id VARCHAR(250) ,
174

175
      job_descr VARCHAR(250) ,
176

177
      pay_type_id VARCHAR(250) ,
178

179
      pay_type_descr VARCHAR(250) ,
180

181
      pay_class_id VARCHAR(250) ,
182

183
      pay_class_descr VARCHAR(250) ,
184

185
      pay_grade_id VARCHAR(250) ,
186

187
      pay_grade_descr VARCHAR(250) ,
188

189
      pay_area_id VARCHAR(250) ,
190

191
      pay_area_descr VARCHAR(250)
192

193
    )
194

195

196

197
DECLARE @tbl_tr_enc TABLE
198

199
    (
200

201
      employee_id VARCHAR(20) ,
202

203
      payPeriodMonth VARCHAR(2) ,
204

205
      payPeriodYear VARCHAR(4) ,
206

207
      runPeriodMonth VARCHAR(2) ,
208

209
      runPeriodYear VARCHAR(4) ,
210

211
      wageType VARCHAR(4) ,
212

213
      amount VARCHAR(250)
214

215
    )
216

217

218

219
--//-- Setting variable
220

221
SET @PayPeriodMonth = SUBSTRING(@PayPeriod, 5, 2)
222

223
SET @PayPeriodYear = SUBSTRING(@PayPeriod, 1, 4)
224

225
SET @PayPeriodStartDate = @PayPeriod + '01'
226

227
SET @PayPeriodEndDateDt = DATEADD(dd, -1,
228

229
                                  DATEADD(mm, 1,
230

231
                                          CONVERT(DATETIME, @PayPeriodStartDate)))
232

233
SET @PayPeriodEndDate = @PayPeriod + CONVERT(VARCHAR(2), DATEPART(dd,
234

235
                                                              @PayPeriodEndDateDt))
236

237

238

239
--//-- Set Filter
240

241

242

243
SELECT  @EmpIDMin = '00000000'
244

245
--MIN(EmployeeID) FROM dbo.PHRPYTR0300 WITH (NOLOCK) WHERE RunPeriodYear = @PayPeriodYear AND RunPeriodMonth = @PayPeriodMonth
246

247
SELECT  @EmpIDMax = '99999999'
248

249
--MAX(EmployeeID) FROM PHRPYTR0300 WITH (NOLOCK) WHERE RunPeriodYear = @PayPeriodYear AND RunPeriodMonth = @PayPeriodMonth
250

251
SELECT  @CostCenterMin = '00000000'
252

253
--MIN(CostCenter) FROM PHRPYTR0300 WITH (NOLOCK) WHERE RunPeriodYear = @PayPeriodYear AND RunPeriodMonth = @PayPeriodMonth
254

255
SELECT  @CostCenterMax = '99999999'
256

257
--MAX(CostCenter) FROM PHRPYTR0300 WITH (NOLOCK) WHERE RunPeriodYear = @PayPeriodYear AND RunPeriodMonth = @PayPeriodMonth
258

259
SELECT  @PayrollGroupMin = '00'
260

261
--MIN(PayrollGroup) FROM PHRPYTR0300 WITH (NOLOCK)WHERE RunPeriodYear = @PayPeriodYear AND RunPeriodMonth = @PayPeriodMonth
262

263
SELECT  @PayrollGroupMax = '99'
264

265
--MAX(PayrollGroup) FROM PHRPYTR0300 WITH (NOLOCK)WHERE RunPeriodYear = @PayPeriodYear AND RunPeriodMonth = @PayPeriodMonth
266

267

268

269
IF ( LTRIM(RTRIM(@EmployeeIDFrom)) <> '' ) 
270

271
    BEGIN
272

273
        SET @EmpIDMin = @EmployeeIDFrom
274

275
        IF ( LTRIM(RTRIM(@EmployeeIDTo)) <> '' ) 
276

277
            SET @EmpIDMax = @EmployeeIDTo
278

279
        ELSE 
280

281
            SET @EmpIDMax = @EmployeeIDFrom
282

283
    END
284

285

286

287
IF ( LTRIM(RTRIM(@PayrollGroupStart)) <> '' ) 
288

289
    BEGIN
290

291
        SET @PayrollGroupMin = @PayrollGroupStart
292

293
        IF ( LTRIM(RTRIM(@PayrollGroupEnd)) <> '' ) 
294

295
            SET @PayrollGroupMax = @PayrollGroupEnd
296

297
        ELSE 
298

299
            SET @PayrollGroupMax = @PayrollGroupStart
300

301
    END
302

303

304

305
IF ( LTRIM(RTRIM(@CostCenterStart)) <> '' ) 
306

307
    BEGIN
308

309
        SET @CostCenterMin = @CostCenterStart
310

311
        IF ( LTRIM(RTRIM(@CostCenterEnd)) <> '' ) 
312

313
            SET @CostCenterMax = @CostCenterEnd
314

315
        ELSE 
316

317
            SET @CostCenterMax = @CostCenterStart
318

319
    END
320

321

322

323
------------------ // Get Otorisasi //---------------
324

325
   DECLARE @TableResult TABLE
326

327
	 ( 
328

329
		EmployeeID VARCHAR(20) )
330

331
		
332

333
INSERT INTO @TableResult
334

335
EXEC dbo.GETEMPIDAUTHBYMENU 
336

337
	@MenuID = @MenuID, -- varchar(max)
338

339
    @UserID = @UserID -- varchar(max)
340

341

342

343
------------------ // End Get Otorisasi //---------------
344

345

346

347

348

349
INSERT  INTO @tbl_employee
350

351
        SELECT DISTINCT
352

353
                md01.EmployeeID ,
354

355
                md01.FullName ,
356

357
                cg.ObjectID ,
358

359
                cg.Abbreviation ,
360

361
                cg.ObjectDescription ,
362

363
                cc.ObjectID ,
364

365
                cc.Abbreviation ,
366

367
                cc.ObjectDescription
368

369
        FROM    ( SELECT    md01.EmployeeID ,
370

371
                            md01.FullName
372

373
                  FROM      dbo.PHRPA0001 md01 WITH ( NOLOCK )
374

375
                  WHERE     md01.StartDate <= @PayPeriodEndDate
376

377
                            AND md01.EndDate >= @PayPeriodEndDate
378

379
                            AND md01.EmployeeID >= @EmpIDMin
380

381
                            AND md01.EmployeeID <= @EmpIDMax
382

383
                ) md01
384

385
                LEFT JOIN dbo.PHRPYTR0300 tr300 WITH ( NOLOCK ) ON md01.EmployeeID = tr300.EmployeeID
386

387
                                                              AND tr300.PayPeriodMonth = @PayPeriodMonth
388

389
                                                              AND tr300.PayPeriodYear = @PayPeriodYear
390

391
                                                              AND tr300.RunPeriodMonth = @PayPeriodMonth
392

393
                                                              AND tr300.RunPeriodYear = @PayPeriodYear
394

395
                INNER JOIN @TableResult AS TblAuth ON TblAuth.EmployeeID = tr300.EmployeeID
396

397
                LEFT JOIN dbo.PHROM0001 cc WITH ( NOLOCK ) ON tr300.CostCenter = cc.ObjectID
398

399
                                                              AND cc.ObjectClass = 'CC'
400

401
                                                              AND cc.StartDate <= @PayPeriodEndDate
402

403
                                                              AND cc.EndDate >= @PayPeriodEndDate
404

405
                LEFT JOIN dbo.PHROM0002 ccg WITH ( NOLOCK ) ON cc.ObjectID = ccg.ObjectID
406

407
                                                              AND ccg.ObjectClass = 'CC'
408

409
                                                              AND ccg.StartDate <= @PayPeriodEndDate
410

411
                                                              AND ccg.EndDate >= @PayPeriodEndDate
412

413
                                                              AND ccg.RelationshipClass = 'CG'
414

415
                                                              AND ccg.RelationshipDirectory = 'B'
416

417
                                                              AND ccg.RelationshipType = '001'
418

419
                LEFT JOIN PHROM0001 cg WITH ( NOLOCK ) ON ccg.RelationshipObject = cg.ObjectID
420

421
                                                          AND cg.ObjectClass = 'CG'
422

423
                                                          AND cg.StartDate <= @PayPeriodEndDate
424

425
                                                          AND cg.EndDate >= @PayPeriodEndDate
426

427
        WHERE   --(tr300.CostCenter >= @CostCenterMin AND tr300.CostCenter <= @CostCenterMax) 
428

429
                ( tr300.PayrollGroup >= @PayrollGroupMin
430

431
                  AND tr300.PayrollGroup <= @PayrollGroupMax
432

433
                )
434

435
                AND ( tr300.EmployeeID >= @EmpIDMin
436

437
                      AND tr300.EmployeeID <= @EmpIDMax
438

439
                    )
440

441

442

443
DECLARE @employee_id VARCHAR(8)
444

445
DECLARE @employee_name VARCHAR(50)
446

447
DECLARE @CCG VARCHAR(50)
448

449
DECLARE @CCG_Abr VARCHAR(50)
450

451
DECLARE @CCG_Desc VARCHAR(50)
452

453
DECLARE @CC VARCHAR(50)
454

455
DECLARE @CC_Abr VARCHAR(50)
456

457
DECLARE @CC_Desc VARCHAR(50)
458

459

460

461
DECLARE @tr0300 TABLE
462

463
    (
464

465
      [EmployeeID] [varchar](20) NOT NULL ,
466

467
      [PayPeriodMonth] [varchar](2) NOT NULL ,
468

469
      [PayPeriodYear] [varchar](4) NOT NULL ,
470

471
      [RunPeriodMonth] [varchar](2) NOT NULL ,
472

473
      [RunPeriodYear] [varchar](4) NOT NULL ,
474

475
      [SplitIndicator] [varchar](1) NOT NULL ,
476

477
      [StartDate] [varchar](8) NOT NULL ,
478

479
      [EndDate] [varchar](8) NOT NULL ,
480

481
      [DataStatus] [varchar](1) NULL ,
482

483
      [CompanyID] [varchar](4) NULL ,
484

485
      [CostCenter] [varchar](18) NULL ,
486

487
      [EmployeeArea] [varchar](4) NULL ,
488

489
      [EmployeeOffice] [varchar](4) NULL ,
490

491
      [EmployeeStatus] [varchar](4) NULL ,
492

493
      [EmployeeType] [varchar](4) NULL ,
494

495
      [EmployeeSubType] [varchar](4) NULL ,
496

497
      [PayrollGroup] [varchar](4) NULL ,
498

499
      [Organization] [varchar](18) NULL ,
500

501
      [Position] [varchar](18) NULL ,
502

503
      [Job] [varchar](18) NULL ,
504

505
      [PayrollType] [varchar](4) NULL ,
506

507
      [PayrollClass] [varchar](4) NULL ,
508

509
      [PayrollGrade] [varchar](4) NULL ,
510

511
      [PayrollArea] [varchar](4) NULL ,
512

513
      [PayrollCurrency] [varchar](4) NULL ,
514

515
      [PayrollCurrencyRate] [decimal](18, 7) NULL ,
516

517
      [CreateBy] [varchar](50) NULL ,
518

519
      [CreateDate] [varchar](14) NULL ,
520

521
      [ChangeBy] [varchar](50) NULL ,
522

523
      [ChangeDate] [varchar](14) NULL
524

525
    )
526

527
	
528

529
DECLARE @emp_id VARCHAR(10) 
530

531
DECLARE @pay_month VARCHAR(2) = ( SUBSTRING(@PayPeriod, 5, 2) )
532

533
DECLARE @pay_year VARCHAR(4) = ( SUBSTRING(@PayPeriod, 1, 4) )
534

535

536

537
DECLARE @start_date VARCHAR(10)
538

539
DECLARE @end_date VARCHAR(10)
540

541

542

543
DECLARE @pay_period_month VARCHAR(4) 
544

545
DECLARE @pay_period_year VARCHAR(4)
546

547
DECLARE @employe_id VARCHAR(8)
548

549
DECLARE @full_name VARCHAR(250)
550

551
DECLARE @company_id VARCHAR(4) 
552

553
DECLARE @cost_center VARCHAR(8) 
554

555
DECLARE @employee_area VARCHAR(250)  
556

557
DECLARE @employee_office VARCHAR(250) 
558

559
DECLARE @employee_status VARCHAR(250) 
560

561
DECLARE @employee_type VARCHAR(250)  
562

563
DECLARE @employee_subtype VARCHAR(250) 
564

565
DECLARE @payroll_group VARCHAR(250) 
566

567
DECLARE @organization VARCHAR(250) 
568

569
DECLARE @position VARCHAR(250) 
570

571
DECLARE @job VARCHAR(250) 
572

573
DECLARE @pay_type VARCHAR(250) 
574

575
DECLARE @pay_class VARCHAR(250) 
576

577
DECLARE @pay_grade VARCHAR(250)
578

579
DECLARE @pay_area VARCHAR(250)
580

581

582

583
--  --Get System Parameter
584

585
--DECLARE @is_encrypted VARCHAR
586

587

588

589
--SELECT * FROM dbo.PCMEPGENPARAM
590

591
--where	landscape = @landscape and
592

593
--		param = 'HR_PY_ENCRYPTED' and
594

595
--		start_date <= @payPeriodEndDate and 
596

597
--		end_date >= @payPeriodEndDate
598

599

600

601
DECLARE cur_employee CURSOR
602

603
FOR
604

605
    SELECT  *
606

607
    FROM    @tbl_employee
608

609
OPEN cur_employee
610

611
FETCH cur_employee INTO @employee_id, @employee_name, @CCG, @CCG_Abr,
612

613
    @CCG_Desc, @CC, @CC_Abr, @CC_Desc 
614

615
-- start the main processing loop.
616

617
WHILE @@Fetch_Status = 0 
618

619
    BEGIN 
620

621
        DELETE  FROM @tr0300
622

623
		
624

625
        SET @emp_id = @employee_id
626

627
        SET @start_date = ''
628

629
        SET @end_date = ''
630

631
        SET @pay_period_month = ''
632

633
        SET @pay_period_year = ''
634

635
        SET @employe_id = ''
636

637
        SET @full_name = ''
638

639
        SET @company_id = ''
640

641
        SET @cost_center = ''
642

643
        SET @employee_area = ''
644

645
        SET @employee_office = ''
646

647
        SET @employee_status = ''
648

649
        SET @employee_type = ''
650

651
        SET @employee_subtype = ''
652

653
        SET @payroll_group = ''
654

655
        SET @organization = ''
656

657
        SET @position = ''
658

659
        SET @job = ''
660

661
        SET @pay_type = ''
662

663
        SET @pay_class = ''
664

665
        SET @pay_grade = ''
666

667
        SET @pay_area = ''
668

669

670

671
        INSERT  INTO @tr0300
672

673
                SELECT  TOP 1 *
674

675
                FROM    dbo.PHRPYTR0300
676

677
                WHERE   EmployeeID = @emp_id
678

679
                        AND PayPeriodMonth = @pay_month
680

681
                        AND PayPeriodYear = @pay_year
682

683
                ORDER BY RunPeriodMonth DESC
684

685
			
686

687
        SELECT  @start_date = tr0300.StartDate ,
688

689
                @end_date = tr0300.EndDate
690

691
        FROM    @tr0300 AS tr0300
692

693

694

695
        SELECT  @pay_period_month = PayPeriodMonth ,
696

697
                @pay_period_year = PayPeriodYear
698

699
        FROM    @tr0300 AS tr0300 
700

701

702

703
        SELECT  @employe_id = md1.EmployeeID ,
704

705
                @full_name = md1.FullName
706

707
        FROM    dbo.PHRPA0001 AS md1
708

709
                INNER JOIN @tr0300 AS tr0300 ON md1.EmployeeID = tr0300.EmployeeID
710

711
                                                AND md1.StartDate <= @end_date
712

713
                                                AND md1.EndDate >= @end_date
714

715

716

717
        SELECT  @cost_center = obj.ObjectDescription
718

719
        FROM    @tr0300 AS tr0300
720

721
                LEFT JOIN dbo.PHROM0001 AS obj ON obj.ObjectID = tr0300.CostCenter
722

723
                                                  AND obj.ObjectClass = 'CC'
724

725
                                                  AND obj.StartDate <= @start_date
726

727
                                                  AND obj.EndDate >= @end_date
728

729
			
730

731
        SELECT  @employee_area = obj.EmployeeAreaDescription
732

733
        FROM    @tr0300 AS tr0300
734

735
                LEFT JOIN dbo.PCMEPEMPAREA AS obj ON obj.EmployeeArea = tr0300.EmployeeArea
736

737
			
738

739
        SELECT  @employee_office = obj.EmployeeOfficeDesc
740

741
        FROM    @tr0300 AS tr0300
742

743
                LEFT JOIN dbo.PCMEPEMPOFF AS obj ON obj.EmployeeOffice = tr0300.EmployeeOffice
744

745

746

747
        SELECT  @employee_status = obj.EmployeeStatusDescription
748

749
        FROM    @tr0300 AS tr0300
750

751
                LEFT JOIN dbo.PCMEPEMPSTAT AS obj ON obj.EmployeeStatus = tr0300.EmployeeStatus
752

753
			
754

755
        SELECT  @employee_type = obj.EmployeeTypeDescription
756

757
        FROM    @tr0300 AS tr0300
758

759
                LEFT JOIN dbo.PCMEPEMPTYP AS obj ON obj.EmployeeType = tr0300.EmployeeType
760

761

762

763
        SELECT  @employee_subtype = obj.EmployeeSubTypeDesc
764

765
        FROM    @tr0300 AS tr0300
766

767
                LEFT JOIN dbo.PCMEPEMPSTYP AS obj ON obj.EmployeeSubType = tr0300.EmployeeSubType
768

769
		
770

771
        SELECT  @payroll_group = obj.PayrollGroupDescription
772

773
        FROM    @tr0300 AS tr0300
774

775
                LEFT JOIN dbo.PHRPYPGRUP AS obj ON obj.PayrollGroup = tr0300.PayrollGroup
776

777
		
778

779
        SELECT  @organization = obj.ObjectDescription
780

781
        FROM    @tr0300 AS tr0300
782

783
                LEFT JOIN dbo.PHROM0001 AS obj ON obj.ObjectID = tr0300.Organization
784

785
                                                  AND obj.ObjectClass = 'O'
786

787
                                                  AND obj.StartDate <= @end_date
788

789
                                                  AND obj.EndDate >= @end_date
790

791

792

793
        SELECT  @position = obj.ObjectDescription
794

795
        FROM    @tr0300 AS tr0300
796

797
                LEFT JOIN dbo.PHROM0001 AS obj ON obj.ObjectID = tr0300.Position
798

799
                                                  AND obj.ObjectClass = 'P'
800

801
                                                  AND obj.StartDate <= @end_date
802

803
                                                  AND obj.EndDate >= @end_date
804

805
			
806

807
        SELECT  @job = obj.ObjectDescription
808

809
        FROM    @tr0300 AS tr0300
810

811
                LEFT JOIN dbo.PHROM0001 AS obj ON obj.ObjectID = tr0300.Job
812

813
                                                  AND obj.ObjectClass = 'J'
814

815
                                                  AND obj.StartDate <= @end_date
816

817
                                                  AND obj.EndDate >= @end_date
818

819
			
820

821
        SELECT  @pay_type = obj.PayrollTypeDescription
822

823
        FROM    @tr0300 AS tr0300
824

825
                LEFT JOIN dbo.PHRPYPTYP AS obj ON obj.PayrollType = tr0300.PayrollType
826

827

828

829
        SELECT  @pay_class = obj.PayrollClassDescription
830

831
        FROM    @tr0300 AS tr0300
832

833
                LEFT JOIN dbo.PHRPYPCLASS AS obj ON obj.PayrollClass = tr0300.PayrollClass
834

835
			
836

837
        SELECT  @pay_grade = obj.PayrollGradeDescription
838

839
        FROM    @tr0300 AS tr0300
840

841
                LEFT JOIN dbo.PHRPYPGRAD AS obj ON obj.PayrollGrade = tr0300.PayrollGrade
842

843
			
844

845
        SELECT  @pay_area = obj.PayrollAreaDescription
846

847
        FROM    @tr0300 AS tr0300
848

849
                LEFT JOIN dbo.PHRPYPAREA AS obj ON obj.PayrollArea = tr0300.PayrollArea
850

851
			
852

853
        INSERT  INTO @tbl_employee2
854

855
                SELECT  tr0300.EmployeeID ,
856

857
                        employee_name ,
858

859
                        tr0300.EmployeeArea AS employee_area_id ,
860

861
                        a.employee_area_descr ,
862

863
                        tr0300.EmployeeOffice AS employee_office_id ,
864

865
                        a.employee_office_descr ,
866

867
                        tr0300.EmployeeStatus AS employee_status_id ,
868

869
                        a.employee_status_descr ,
870

871
                        tr0300.EmployeeType AS employee_type_id ,
872

873
                        a.employee_type_descr ,
874

875
                        tr0300.EmployeeSubtype AS employee_subtype_id ,
876

877
                        a.employee_subtype_descr ,
878

879
                        tr0300.PayrollGroup AS payroll_group_id ,
880

881
                        a.payroll_group_descr ,
882

883
                        tr0300.Organization AS organization_id ,
884

885
                        a.organization_descr ,
886

887
                        @CC ,
888

889
                        @CC_Abr ,
890

891
                        @CC_Desc ,
892

893
                        @CCG ,
894

895
                        @CCG_Abr ,
896

897
                        @CCG_Desc ,
898

899
                        tr0300.Position AS position_id ,
900

901
                        a.position_descr ,
902

903
                        tr0300.Job AS job_id ,
904

905
                        a.job_descr ,
906

907
                        tr0300.PayrollType AS pay_type_id ,
908

909
                        a.pay_type_descr ,
910

911
                        tr0300.PayrollClass AS pay_class_id ,
912

913
                        a.pay_class_descr ,
914

915
                        tr0300.PayrollGrade AS pay_grade_id ,
916

917
                        a.pay_grade_descr ,
918

919
                        tr0300.PayrollArea AS pay_area_id ,
920

921
                        a.pay_area_descr
922

923
                FROM    ( SELECT    @employe_id AS employee_id ,
924

925
                                    @pay_period_month AS pay_period_month ,
926

927
                                    @pay_period_year AS pay_period_year ,
928

929
                                    @full_name AS employee_name ,
930

931
                                    @cost_center AS cost_center_descr ,
932

933
                                    @employee_area AS employee_area_descr ,
934

935
                                    @employee_office AS employee_office_descr ,
936

937
                                    @employee_status AS employee_status_descr ,
938

939
                                    @employee_type AS employee_type_descr ,
940

941
                                    @employee_subtype AS employee_subtype_descr ,
942

943
                                    @payroll_group AS payroll_group_descr ,
944

945
                                    @organization AS organization_descr ,
946

947
                                    @position AS position_descr ,
948

949
                                    @job AS job_descr ,
950

951
                                    @pay_type AS pay_type_descr ,
952

953
                                    @pay_class AS pay_class_descr ,
954

955
                                    @pay_grade AS pay_grade_descr ,
956

957
                                    @pay_area AS pay_area_descr
958

959
                        ) AS a
960

961
                        INNER JOIN @tr0300 AS tr0300 ON a.employee_id = tr0300.EmployeeID
962

963
	  
964

965
        FETCH cur_employee INTO @employee_id, @employee_name, @CCG, @CCG_Abr,
966

967
            @CCG_Desc, @CC, @CC_Abr, @CC_Desc  
968

969
    END
970

971
CLOSE cur_employee
972

973
DEALLOCATE cur_employee
974

975
	
976

977

978

979
DECLARE @hr_cust_py_report TABLE
980

981
    (
982

983
      [StartDate] [varchar](8) NOT NULL ,
984

985
      [EndDate] [varchar](8) NOT NULL ,
986

987
      [ReportType] [varchar](4) NOT NULL ,
988

989
      [Row] [varchar](4) NOT NULL ,
990

991
      [Col] [varchar](4) NOT NULL ,
992

993
      [Seq] [varchar](4) NOT NULL ,
994

995
      [Wagetype] [varchar](4) NULL ,
996

997
      [WagetypeDesc] [varchar](50) NULL ,
998

999
      [IsActive] [varchar](4) NULL ,
1000

1001
      [Notes] [varchar](14) NULL ,
1002

1003
      [CreateBy] [varchar](18) NULL ,
1004

1005
      [CreateDate] [varchar](14) NULL ,
1006

1007
      [ChangeBy] [varchar](18) NULL ,
1008

1009
      [ChangeDate] [varchar](14) NULL
1010

1011
    )
1012

1013
  
1014

1015
INSERT  INTO @hr_cust_py_report
1016

1017
        SELECT  [StartDate] ,
1018

1019
                [EndDate] ,
1020

1021
                [ReportType] ,
1022

1023
                [Row] ,
1024

1025
                [Col] ,
1026

1027
                [Seq] ,
1028

1029
                [Wagetype] ,
1030

1031
                [WagetypeDesc] ,
1032

1033
                [IsActive] ,
1034

1035
                [Notes] ,
1036

1037
                [CreateBy] ,
1038

1039
                [CreateDate] ,
1040

1041
                [ChangeBy] ,
1042

1043
                [ChangeDate]
1044

1045
        FROM    dbo.PHRPYWTRCPDETAIL
1046

1047
        WHERE   StartDate <= @PayPeriodEndDate
1048

1049
                AND EndDate >= @PayPeriodEndDate
1050

1051
                AND ReportType = @ReportType				  
1052

1053

1054

1055
DECLARE @hr_cust_py_report_col_name TABLE
1056

1057
    (
1058

1059
      [rep_id] [varchar](50) NULL ,
1060

1061
      [row] [int] NULL ,
1062

1063
      [col_no] [int] NULL ,
1064

1065
      column_name VARCHAR(6)
1066

1067
    )
1068

1069

1070

1071
INSERT  INTO @hr_cust_py_report_col_name
1072

1073
        SELECT  * ,
1074

1075
                'WT' + RIGHT('00'
1076

1077
                             + CONVERT(VARCHAR, ( ROW_NUMBER() OVER ( ORDER BY ReportType, [Row], Col )
1078

1079
                                                  + 49 ) / 50), 2)
1080

1081
                + RIGHT('00'
1082

1083
                        + CONVERT(VARCHAR, ( ( ROW_NUMBER() OVER ( ORDER BY ReportType, [Row], Col )
1084

1085
                                               - 1 ) % 50 ) + 1), 2) AS ColName
1086

1087
        FROM    ( SELECT DISTINCT
1088

1089
                            ReportType ,
1090

1091
                            [Row] ,
1092

1093
                            Col
1094

1095
                  FROM      @hr_cust_py_report
1096

1097
                ) a
1098

1099
        ORDER BY ReportType ,
1100

1101
                [Row] ,
1102

1103
                Col
1104

1105

1106

1107

1108

1109
DECLARE @row INT
1110

1111
DECLARE @col INT
1112

1113
DECLARE @column_name VARCHAR(6)
1114

1115
SET @row = 0
1116

1117
SET @col = 0
1118

1119
WHILE @row < 4 
1120

1121
    BEGIN
1122

1123
        SET @row = @row + 1
1124

1125
        SET @col = 0
1126

1127
        WHILE @col < 50 
1128

1129
            BEGIN
1130

1131
                SET @col = @col + 1
1132

1133
                SET @column_name = NULL
1134

1135
		
1136

1137
                SELECT  @column_name = column_name
1138

1139
                FROM    @hr_cust_py_report_col_name
1140

1141
                WHERE   column_name = 'WT' + RIGHT('00'
1142

1143
                                                   + CONVERT(VARCHAR, @row), 2)
1144

1145
                        + RIGHT('00' + CONVERT(VARCHAR, @col), 2)
1146

1147
		
1148

1149
                IF @column_name IS NULL
1150

1151
                    OR @column_name = '' 
1152

1153
                    BEGIN
1154

1155
                        INSERT  INTO @hr_cust_py_report_col_name
1156

1157
                                SELECT  '' ,
1158

1159
                                        0 ,
1160

1161
                                        0 ,
1162

1163
                                        'WT' + RIGHT('00'
1164

1165
                                                     + CONVERT(VARCHAR, @row),
1166

1167
                                                     2) + RIGHT('00'
1168

1169
                                                              + CONVERT(VARCHAR, @col),
1170

1171
                                                              2)
1172

1173
                    END
1174

1175
            END
1176

1177
    END
1178

1179

1180

1181
DECLARE @hr_cust_py_report_desc TABLE
1182

1183
    (
1184

1185
      [rep_id] [varchar](50) NOT NULL ,
1186

1187
      [row] [int] NOT NULL ,
1188

1189
      [col_no] [int] NOT NULL ,
1190

1191
      column_name VARCHAR(6) ,
1192

1193
      [description] [varchar](50) NULL
1194

1195
    )
1196

1197

1198

1199
INSERT  INTO @hr_cust_py_report_desc
1200

1201
        SELECT  a.* ,
1202

1203
                b.WagetypeDesc
1204

1205
        FROM    @hr_cust_py_report_col_name AS a
1206

1207
                LEFT JOIN ( SELECT  MAX(ReportType) AS rep_id ,
1208

1209
                                    MAX([Row]) AS [row] ,
1210

1211
                                    MAX(Col) AS col_no ,
1212

1213
                                    MAX(WagetypeDesc) AS WagetypeDesc
1214

1215
                            FROM    @hr_cust_py_report
1216

1217
                            GROUP BY ReportType ,
1218

1219
                                    [Row] ,
1220

1221
                                    Col
1222

1223
                          ) AS b ON a.rep_id = b.rep_id
1224

1225
                                    AND a.[row] = b.[row]
1226

1227
                                    AND a.col_no = b.col_no
1228

1229

1230

1231
INSERT  INTO @tbl_tr_enc
1232

1233
        SELECT DISTINCT
1234

1235
                pr.EmployeeID ,
1236

1237
                pr.PayPeriodMonth ,
1238

1239
                pr.PayPeriodYear ,
1240

1241
                pr.RunPeriodMonth ,
1242

1243
                pr.RunPeriodYear ,
1244

1245
                pr.WageType ,
1246

1247
                pr.Amount
1248

1249
        FROM    dbo.PHRPYTR0301 pr WITH ( NOLOCK )
1250

1251
                INNER JOIN @tbl_employee emp ON pr.EmployeeID = emp.EmpID
1252

1253
                INNER JOIN dbo.PHRPYWTRCPDETAIL rep ON pr.WageType = rep.Wagetype
1254

1255
        WHERE   pr.RunPeriodYear = @payPeriodYear
1256

1257
                AND pr.RunPeriodMonth = @payPeriodMonth
1258

1259
                AND pr.PayPeriodYear = @payPeriodYear
1260

1261
                AND pr.PayPeriodMonth = @payPeriodMonth
1262

1263
	
1264

1265
INSERT  INTO @tbl_tr_enc
1266

1267
        SELECT DISTINCT
1268

1269
                pr.EmployeeID ,
1270

1271
                pr.PayPeriodMonth ,
1272

1273
                pr.PayPeriodYear ,
1274

1275
                pr.RunPeriodMonth ,
1276

1277
                pr.RunPeriodYear ,
1278

1279
                pr.WageType ,
1280

1281
                pr.Amount
1282

1283
        FROM    dbo.PHRPYTR0301RET pr WITH ( NOLOCK )
1284

1285
                INNER JOIN @tbl_employee emp ON pr.EmployeeID = emp.EmpID
1286

1287
                INNER JOIN dbo.PHRPYWTRCPDETAIL rep ON pr.WageType = rep.Wagetype
1288

1289
        WHERE   pr.RunPeriodYear = @payPeriodYear
1290

1291
                AND pr.RunPeriodMonth = @payPeriodMonth
1292

1293
                AND pr.PayPeriodYear = @payPeriodYear
1294

1295
                AND pr.PayPeriodMonth = @payPeriodMonth
1296

1297
	
1298

1299
DECLARE @tbl_tr_dec TABLE
1300

1301
    (
1302

1303
      col_no INT ,
1304

1305
      employee_id VARCHAR(20) ,
1306

1307
      amount BIGINT
1308

1309
    )
1310

1311
	
1312

1313
INSERT  INTO @tbl_tr_dec
1314

1315
        SELECT DISTINCT
1316

1317
                col_no ,
1318

1319
                employee_id ,
1320

1321
                SUM(amount) AS amount
1322

1323
        FROM    ( SELECT    b.col_no ,
1324

1325
                            c.employee_id ,
1326

1327
                            CAST(REPLACE(ISNULL(dbo.GetPEN(Amount), '0'), ',',
1328

1329
                                         '.') AS DECIMAL(22, 0)) AS Amount
1330

1331
                  FROM      @hr_cust_py_report_desc AS b
1332

1333
                            INNER JOIN @hr_cust_py_report AS a ON a.Col = b.col_no
1334

1335
                                                              AND a.ReportType = b.rep_id
1336

1337
                                                              AND a.Row = b.row
1338

1339
                            INNER JOIN @tbl_tr_enc c ON a.Wagetype = c.wageType
1340

1341
                ) AS d
1342

1343
        GROUP BY col_no ,
1344

1345
                employee_id
1346

1347

1348

1349
SELECT  employee_id ,
1350

1351
        employee_name ,
1352

1353
        employee_area_id ,
1354

1355
        employee_area_descr ,
1356

1357
        employee_office_id ,
1358

1359
        employee_office_descr ,
1360

1361
        employee_status_id ,
1362

1363
        employee_status_descr ,
1364

1365
        employee_type_id ,
1366

1367
        employee_type_descr ,
1368

1369
        employee_sub_type_id ,
1370

1371
        employee_sub_type_descr ,
1372

1373
        payroll_group_id ,
1374

1375
        payroll_group_descr ,
1376

1377
        organization_id ,
1378

1379
        organization_descr ,
1380

1381
        CostCenter ,
1382

1383
        cost_center_abbr ,
1384

1385
        cost_center_descr ,
1386

1387
        cost_center_group_id ,
1388

1389
        cost_center_group_abbr ,
1390

1391
        cost_center_group_descr ,
1392

1393
        position_id ,
1394

1395
        position_descr ,
1396

1397
        job_id ,
1398

1399
        job_descr ,
1400

1401
        pay_type_id ,
1402

1403
        pay_type_descr ,
1404

1405
        pay_class_id ,
1406

1407
        pay_class_descr ,
1408

1409
        pay_grade_id ,
1410

1411
        pay_grade_descr ,
1412

1413
        pay_area_id ,
1414

1415
        pay_area_descr ,
1416

1417
        MAX([WT0101]) AS [WT0101] ,
1418

1419
        MAX([WT0102]) AS [WT0102] ,
1420

1421
        MAX([WT0103]) AS [WT0103] ,
1422

1423
        MAX([WT0104]) AS [WT0104] ,
1424

1425
        MAX([WT0105]) AS [WT0105] ,
1426

1427
        MAX([WT0106]) AS [WT0106] ,
1428

1429
        MAX([WT0107]) AS [WT0107] ,
1430

1431
        MAX([WT0108]) AS [WT0108] ,
1432

1433
        MAX([WT0109]) AS [WT0109] ,
1434

1435
        MAX([WT0110]) AS [WT0110] ,
1436

1437
        MAX([WT0111]) AS [WT0111] ,
1438

1439
        MAX([WT0112]) AS [WT0112] ,
1440

1441
        MAX([WT0113]) AS [WT0113] ,
1442

1443
        MAX([WT0114]) AS [WT0114] ,
1444

1445
        MAX([WT0115]) AS [WT0115] ,
1446

1447
        MAX([WT0116]) AS [WT0116] ,
1448

1449
        MAX([WT0117]) AS [WT0117] ,
1450

1451
        MAX([WT0118]) AS [WT0118] ,
1452

1453
        MAX([WT0119]) AS [WT0119] ,
1454

1455
        MAX([WT0120]) AS [WT0120] ,
1456

1457
        MAX([WT0121]) AS [WT0121] ,
1458

1459
        MAX([WT0122]) AS [WT0122] ,
1460

1461
        MAX([WT0123]) AS [WT0123] ,
1462

1463
        MAX([WT0124]) AS [WT0124] ,
1464

1465
        MAX([WT0125]) AS [WT0125] ,
1466

1467
        MAX([WT0126]) AS [WT0126] ,
1468

1469
        MAX([WT0127]) AS [WT0127] ,
1470

1471
        MAX([WT0128]) AS [WT0128] ,
1472

1473
        MAX([WT0129]) AS [WT0129] ,
1474

1475
        MAX([WT0130]) AS [WT0130] ,
1476

1477
        MAX([WT0131]) AS [WT0131] ,
1478

1479
        MAX([WT0132]) AS [WT0132] ,
1480

1481
        MAX([WT0133]) AS [WT0133] ,
1482

1483
        MAX([WT0134]) AS [WT0134] ,
1484

1485
        MAX([WT0135]) AS [WT0135] ,
1486

1487
        MAX([WT0136]) AS [WT0136] ,
1488

1489
        MAX([WT0137]) AS [WT0137] ,
1490

1491
        MAX([WT0138]) AS [WT0138] ,
1492

1493
        MAX([WT0139]) AS [WT0139] ,
1494

1495
        MAX([WT0140]) AS [WT0140] ,
1496

1497
        MAX([WT0141]) AS [WT0141] ,
1498

1499
        MAX([WT0142]) AS [WT0142] ,
1500

1501
        MAX([WT0143]) AS [WT0143] ,
1502

1503
        MAX([WT0144]) AS [WT0144] ,
1504

1505
        MAX([WT0145]) AS [WT0145] ,
1506

1507
        MAX([WT0146]) AS [WT0146] ,
1508

1509
        MAX([WT0147]) AS [WT0147] ,
1510

1511
        MAX([WT0148]) AS [WT0148] ,
1512

1513
        MAX([WT0149]) AS [WT0149] ,
1514

1515
        MAX([WT0150]) AS [WT0150] ,
1516

1517
        MAX([WT0201]) AS [WT0201] ,
1518

1519
        MAX([WT0202]) AS [WT0202] ,
1520

1521
        MAX([WT0203]) AS [WT0203] ,
1522

1523
        MAX([WT0204]) AS [WT0204] ,
1524

1525
        MAX([WT0205]) AS [WT0205] ,
1526

1527
        MAX([WT0206]) AS [WT0206] ,
1528

1529
        MAX([WT0207]) AS [WT0207] ,
1530

1531
        MAX([WT0208]) AS [WT0208] ,
1532

1533
        MAX([WT0209]) AS [WT0209] ,
1534

1535
        MAX([WT0210]) AS [WT0210] ,
1536

1537
        MAX([WT0211]) AS [WT0211] ,
1538

1539
        MAX([WT0212]) AS [WT0212] ,
1540

1541
        MAX([WT0213]) AS [WT0213] ,
1542

1543
        MAX([WT0214]) AS [WT0214] ,
1544

1545
        MAX([WT0215]) AS [WT0215] ,
1546

1547
        MAX([WT0216]) AS [WT0216] ,
1548

1549
        MAX([WT0217]) AS [WT0217] ,
1550

1551
        MAX([WT0218]) AS [WT0218] ,
1552

1553
        MAX([WT0219]) AS [WT0219] ,
1554

1555
        MAX([WT0220]) AS [WT0220] ,
1556

1557
        MAX([WT0221]) AS [WT0221] ,
1558

1559
        MAX([WT0222]) AS [WT0222] ,
1560

1561
        MAX([WT0223]) AS [WT0223] ,
1562

1563
        MAX([WT0224]) AS [WT0224] ,
1564

1565
        MAX([WT0225]) AS [WT0225] ,
1566

1567
        MAX([WT0226]) AS [WT0226] ,
1568

1569
        MAX([WT0227]) AS [WT0227] ,
1570

1571
        MAX([WT0228]) AS [WT0228] ,
1572

1573
        MAX([WT0229]) AS [WT0229] ,
1574

1575
        MAX([WT0230]) AS [WT0230] ,
1576

1577
        MAX([WT0231]) AS [WT0231] ,
1578

1579
        MAX([WT0232]) AS [WT0232] ,
1580

1581
        MAX([WT0233]) AS [WT0233] ,
1582

1583
        MAX([WT0234]) AS [WT0234] ,
1584

1585
        MAX([WT0235]) AS [WT0235] ,
1586

1587
        MAX([WT0236]) AS [WT0236] ,
1588

1589
        MAX([WT0237]) AS [WT0237] ,
1590

1591
        MAX([WT0238]) AS [WT0238] ,
1592

1593
        MAX([WT0239]) AS [WT0239] ,
1594

1595
        MAX([WT0240]) AS [WT0240] ,
1596

1597
        MAX([WT0241]) AS [WT0241] ,
1598

1599
        MAX([WT0242]) AS [WT0242] ,
1600

1601
        MAX([WT0243]) AS [WT0243] ,
1602

1603
        MAX([WT0244]) AS [WT0244] ,
1604

1605
        MAX([WT0245]) AS [WT0245] ,
1606

1607
        MAX([WT0246]) AS [WT0246] ,
1608

1609
        MAX([WT0247]) AS [WT0247] ,
1610

1611
        MAX([WT0248]) AS [WT0248] ,
1612

1613
        MAX([WT0249]) AS [WT0249] ,
1614

1615
        MAX([WT0250]) AS [WT0250] ,
1616

1617
        MAX([WT0301]) AS [WT0301] ,
1618

1619
        MAX([WT0302]) AS [WT0302] ,
1620

1621
        MAX([WT0303]) AS [WT0303] ,
1622

1623
        MAX([WT0304]) AS [WT0304] ,
1624

1625
        MAX([WT0305]) AS [WT0305] ,
1626

1627
        MAX([WT0306]) AS [WT0306] ,
1628

1629
        MAX([WT0307]) AS [WT0307] ,
1630

1631
        MAX([WT0308]) AS [WT0308] ,
1632

1633
        MAX([WT0309]) AS [WT0309] ,
1634

1635
        MAX([WT0310]) AS [WT0310] ,
1636

1637
        MAX([WT0311]) AS [WT0311] ,
1638

1639
        MAX([WT0312]) AS [WT0312] ,
1640

1641
        MAX([WT0313]) AS [WT0313] ,
1642

1643
        MAX([WT0314]) AS [WT0314] ,
1644

1645
        MAX([WT0315]) AS [WT0315] ,
1646

1647
        MAX([WT0316]) AS [WT0316] ,
1648

1649
        MAX([WT0317]) AS [WT0317] ,
1650

1651
        MAX([WT0318]) AS [WT0318] ,
1652

1653
        MAX([WT0319]) AS [WT0319] ,
1654

1655
        MAX([WT0320]) AS [WT0320] ,
1656

1657
        MAX([WT0321]) AS [WT0321] ,
1658

1659
        MAX([WT0322]) AS [WT0322] ,
1660

1661
        MAX([WT0323]) AS [WT0323] ,
1662

1663
        MAX([WT0324]) AS [WT0324] ,
1664

1665
        MAX([WT0325]) AS [WT0325] ,
1666

1667
        MAX([WT0326]) AS [WT0326] ,
1668

1669
        MAX([WT0327]) AS [WT0327] ,
1670

1671
        MAX([WT0328]) AS [WT0328] ,
1672

1673
        MAX([WT0329]) AS [WT0329] ,
1674

1675
        MAX([WT0330]) AS [WT0330] ,
1676

1677
        MAX([WT0331]) AS [WT0331] ,
1678

1679
        MAX([WT0332]) AS [WT0332] ,
1680

1681
        MAX([WT0333]) AS [WT0333] ,
1682

1683
        MAX([WT0334]) AS [WT0334] ,
1684

1685
        MAX([WT0335]) AS [WT0335] ,
1686

1687
        MAX([WT0336]) AS [WT0336] ,
1688

1689
        MAX([WT0337]) AS [WT0337] ,
1690

1691
        MAX([WT0338]) AS [WT0338] ,
1692

1693
        MAX([WT0339]) AS [WT0339] ,
1694

1695
        MAX([WT0340]) AS [WT0340] ,
1696

1697
        MAX([WT0341]) AS [WT0341] ,
1698

1699
        MAX([WT0342]) AS [WT0342] ,
1700

1701
        MAX([WT0343]) AS [WT0343] ,
1702

1703
        MAX([WT0344]) AS [WT0344] ,
1704

1705
        MAX([WT0345]) AS [WT0345] ,
1706

1707
        MAX([WT0346]) AS [WT0346] ,
1708

1709
        MAX([WT0347]) AS [WT0347] ,
1710

1711
        MAX([WT0348]) AS [WT0348] ,
1712

1713
        MAX([WT0349]) AS [WT0349] ,
1714

1715
        MAX([WT0350]) AS [WT0350] ,
1716

1717
        MAX([WT0401]) AS [WT0401] ,
1718

1719
        MAX([WT0402]) AS [WT0402] ,
1720

1721
        MAX([WT0403]) AS [WT0403] ,
1722

1723
        MAX([WT0404]) AS [WT0404] ,
1724

1725
        MAX([WT0405]) AS [WT0405] ,
1726

1727
        MAX([WT0406]) AS [WT0406] ,
1728

1729
        MAX([WT0407]) AS [WT0407] ,
1730

1731
        MAX([WT0408]) AS [WT0408] ,
1732

1733
        MAX([WT0409]) AS [WT0409] ,
1734

1735
        MAX([WT0410]) AS [WT0410] ,
1736

1737
        MAX([WT0411]) AS [WT0411] ,
1738

1739
        MAX([WT0412]) AS [WT0412] ,
1740

1741
        MAX([WT0413]) AS [WT0413] ,
1742

1743
        MAX([WT0414]) AS [WT0414] ,
1744

1745
        MAX([WT0415]) AS [WT0415] ,
1746

1747
        MAX([WT0416]) AS [WT0416] ,
1748

1749
        MAX([WT0417]) AS [WT0417] ,
1750

1751
        MAX([WT0418]) AS [WT0418] ,
1752

1753
        MAX([WT0419]) AS [WT0419] ,
1754

1755
        MAX([WT0420]) AS [WT0420] ,
1756

1757
        MAX([WT0421]) AS [WT0421] ,
1758

1759
        MAX([WT0422]) AS [WT0422] ,
1760

1761
        MAX([WT0423]) AS [WT0423] ,
1762

1763
        MAX([WT0424]) AS [WT0424] ,
1764

1765
        MAX([WT0425]) AS [WT0425] ,
1766

1767
        MAX([WT0426]) AS [WT0426] ,
1768

1769
        MAX([WT0427]) AS [WT0427] ,
1770

1771
        MAX([WT0428]) AS [WT0428] ,
1772

1773
        MAX([WT0429]) AS [WT0429] ,
1774

1775
        MAX([WT0430]) AS [WT0430] ,
1776

1777
        MAX([WT0431]) AS [WT0431] ,
1778

1779
        MAX([WT0432]) AS [WT0432] ,
1780

1781
        MAX([WT0433]) AS [WT0433] ,
1782

1783
        MAX([WT0434]) AS [WT0434] ,
1784

1785
        MAX([WT0435]) AS [WT0435] ,
1786

1787
        MAX([WT0436]) AS [WT0436] ,
1788

1789
        MAX([WT0437]) AS [WT0437] ,
1790

1791
        MAX([WT0438]) AS [WT0438] ,
1792

1793
        MAX([WT0439]) AS [WT0439] ,
1794

1795
        MAX([WT0440]) AS [WT0440] ,
1796

1797
        MAX([WT0441]) AS [WT0441] ,
1798

1799
        MAX([WT0442]) AS [WT0442] ,
1800

1801
        MAX([WT0443]) AS [WT0443] ,
1802

1803
        MAX([WT0444]) AS [WT0444] ,
1804

1805
        MAX([WT0445]) AS [WT0445] ,
1806

1807
        MAX([WT0446]) AS [WT0446] ,
1808

1809
        MAX([WT0447]) AS [WT0447] ,
1810

1811
        MAX([WT0448]) AS [WT0448] ,
1812

1813
        MAX([WT0449]) AS [WT0449] ,
1814

1815
        MAX([WT0450]) AS [WT0450]
1816

1817
FROM    ( SELECT    d.* ,
1818

1819
                    c.column_name ,
1820

1821
                    c.description ,
1822

1823
                    c.rep_id ,
1824

1825
                    c.row
1826

1827
          FROM      @hr_cust_py_report_desc AS c
1828

1829
                    LEFT JOIN ( SELECT  b.* ,
1830

1831
                                        a.col_no ,
1832

1833
                                        a.amount
1834

1835
                                FROM    @tbl_tr_dec AS a
1836

1837
                                        INNER JOIN @tbl_employee2 AS b ON a.employee_id = b.employee_id
1838

1839
                              ) AS d ON c.col_no = d.col_no
1840

1841
        ) AS SourceTable PIVOT
1842

1843
( MAX(amount) FOR column_name IN ( [WT0101], [WT0102], [WT0103], [WT0104],
1844

1845
                                   [WT0105], [WT0106], [WT0107], [WT0108],
1846

1847
                                   [WT0109], [WT0110], [WT0111], [WT0112],
1848

1849
                                   [WT0113], [WT0114], [WT0115], [WT0116],
1850

1851
                                   [WT0117], [WT0118], [WT0119], [WT0120],
1852

1853
                                   [WT0121], [WT0122], [WT0123], [WT0124],
1854

1855
                                   [WT0125], [WT0126], [WT0127], [WT0128],
1856

1857
                                   [WT0129], [WT0130], [WT0131], [WT0132],
1858

1859
                                   [WT0133], [WT0134], [WT0135], [WT0136],
1860

1861
                                   [WT0137], [WT0138], [WT0139], [WT0140],
1862

1863
                                   [WT0141], [WT0142], [WT0143], [WT0144],
1864

1865
                                   [WT0145], [WT0146], [WT0147], [WT0148],
1866

1867
                                   [WT0149], [WT0150], [WT0201], [WT0202],
1868

1869
                                   [WT0203], [WT0204], [WT0205], [WT0206],
1870

1871
                                   [WT0207], [WT0208], [WT0209], [WT0210],
1872

1873
                                   [WT0211], [WT0212], [WT0213], [WT0214],
1874

1875
                                   [WT0215], [WT0216], [WT0217], [WT0218],
1876

1877
                                   [WT0219], [WT0220], [WT0221], [WT0222],
1878

1879
                                   [WT0223], [WT0224], [WT0225], [WT0226],
1880

1881
                                   [WT0227], [WT0228], [WT0229], [WT0230],
1882

1883
                                   [WT0231], [WT0232], [WT0233], [WT0234],
1884

1885
                                   [WT0235], [WT0236], [WT0237], [WT0238],
1886

1887
                                   [WT0239], [WT0240], [WT0241], [WT0242],
1888

1889
                                   [WT0243], [WT0244], [WT0245], [WT0246],
1890

1891
                                   [WT0247], [WT0248], [WT0249], [WT0250],
1892

1893
                                   [WT0301], [WT0302], [WT0303], [WT0304],
1894

1895
                                   [WT0305], [WT0306], [WT0307], [WT0308],
1896

1897
                                   [WT0309], [WT0310], [WT0311], [WT0312],
1898

1899
                                   [WT0313], [WT0314], [WT0315], [WT0316],
1900

1901
                                   [WT0317], [WT0318], [WT0319], [WT0320],
1902

1903
                                   [WT0321], [WT0322], [WT0323], [WT0324],
1904

1905
                                   [WT0325], [WT0326], [WT0327], [WT0328],
1906

1907
                                   [WT0329], [WT0330], [WT0331], [WT0332],
1908

1909
                                   [WT0333], [WT0334], [WT0335], [WT0336],
1910

1911
                                   [WT0337], [WT0338], [WT0339], [WT0340],
1912

1913
                                   [WT0341], [WT0342], [WT0343], [WT0344],
1914

1915
                                   [WT0345], [WT0346], [WT0347], [WT0348],
1916

1917
                                   [WT0349], [WT0350], [WT0401], [WT0402],
1918

1919
                                   [WT0403], [WT0404], [WT0405], [WT0406],
1920

1921
                                   [WT0407], [WT0408], [WT0409], [WT0410],
1922

1923
                                   [WT0411], [WT0412], [WT0413], [WT0414],
1924

1925
                                   [WT0415], [WT0416], [WT0417], [WT0418],
1926

1927
                                   [WT0419], [WT0420], [WT0421], [WT0422],
1928

1929
                                   [WT0423], [WT0424], [WT0425], [WT0426],
1930

1931
                                   [WT0427], [WT0428], [WT0429], [WT0430],
1932

1933
                                   [WT0431], [WT0432], [WT0433], [WT0434],
1934

1935
                                   [WT0435], [WT0436], [WT0437], [WT0438],
1936

1937
                                   [WT0439], [WT0440], [WT0441], [WT0442],
1938

1939
                                   [WT0443], [WT0444], [WT0445], [WT0446],
1940

1941
                                   [WT0447], [WT0448], [WT0449], [WT0450] ) )AS PivotTable
1942

1943
GROUP BY employee_id ,
1944

1945
        employee_name ,
1946

1947
        employee_area_id ,
1948

1949
        employee_area_descr ,
1950

1951
        employee_office_id ,
1952

1953
        employee_office_descr ,
1954

1955
        employee_status_id ,
1956

1957
        employee_status_descr ,
1958

1959
        employee_type_id ,
1960

1961
        employee_type_descr ,
1962

1963
        employee_sub_type_id ,
1964

1965
        employee_sub_type_descr ,
1966

1967
        payroll_group_id ,
1968

1969
        payroll_group_descr ,
1970

1971
        organization_id ,
1972

1973
        organization_descr ,
1974

1975
        CostCenter ,
1976

1977
        cost_center_abbr ,
1978

1979
        cost_center_descr ,
1980

1981
        cost_center_group_id ,
1982

1983
        cost_center_group_abbr ,
1984

1985
        cost_center_group_descr ,
1986

1987
        position_id ,
1988

1989
        position_descr ,
1990

1991
        job_id ,
1992

1993
        job_descr ,
1994

1995
        pay_type_id ,
1996

1997
        pay_type_descr ,
1998

1999
        pay_class_id ,
2000

2001
        pay_class_descr ,
2002

2003
        pay_grade_id ,
2004

2005
        pay_grade_descr ,
2006

2007
        pay_area_id ,
2008

2009
        pay_area_descr
2010

2011
HAVING  employee_id IS NOT NULL
(4-4/4)