Project

General

Profile

Bug #2916 » Rpt_HR_PY_WageTypeRecapV2_202407240951.sql

Tri Rizqiaty, 07/24/2024 10:42 AM

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

3
	 @landscape varchar(3),
4

5
	 @payrollGroupStart varchar(2),
6

7
	 @payrollGroupEnd varchar(2),
8

9
	 @CostCenterStart varchar(8),
10

11
	 @CostCenterEnd varchar(8),
12

13
	 @employee_idStart varchar(8),
14

15
	 @employee_idEnd varchar(8),
16

17
	 @payPeriod varchar(6)
18

19
AS
20

21

22

23

24

25
 --declare @landscape varchar(3) = N'100'
26

27
 --declare @payPeriod varchar(6) = '202403'
28

29
 --declare @employee_idStart varchar(8) = ''
30

31
 --declare @employee_idEnd varchar(8)=''
32

33
 --declare @payrollGroupStart varchar(2) ='11'
34

35
 --declare @payrollGroupEnd varchar(2)='11'
36

37
 --declare @CostCenterStart varchar(8)
38

39
 --declare @CostCenterEnd varchar(8)
40

41

42

43

44

45
--//-- Variable Declaration
46

47
DECLARE @payPeriodMonth varchar(2)
48

49
DECLARE @payPeriodYear varchar(4)
50

51
DECLARE @payPeriodStartDate varchar(8)
52

53
DECLARE @payPeriodEndDate varchar(8)
54

55
DECLARE @payPeriodEndDateDt datetime
56

57

58

59
DECLARE @employee_idMin varchar(8)
60

61
DECLARE @employee_idMax varchar(8)
62

63
DECLARE @PayrollGroupMin varchar(2)
64

65
DECLARE @PayrollGroupMax varchar(2)
66

67
DECLARE @CostCenterMin varchar(8)
68

69
DECLARE @CostCenterMax varchar(8)
70

71

72

73
--//-- Table Declaration
74

75
DECLARE @tbl_result TABLE
76

77
	(employee_id varchar(8),
78

79
	 employee_name varchar(50),
80

81
	 CostCenterGroup varchar(50),
82

83
	 CostCenterGroup_Abr varchar(50),
84

85
	 CostCenterGroup_Desc varchar(50),
86

87
	 CostCenter varchar(50),
88

89
	 CostCenter_Abr varchar(50),
90

91
	 CostCenter_Desc varchar(50),
92

93
	 WT0101 int,WT0102 int,WT0103 int,WT0104 int,WT0105 int,WT0106 int,WT0107 int,WT0108 int,WT0109 int,WT0110 int,WT0111 int,WT0112 int,WT0113 int,WT0114 int,WT0115 int,WT0116 int,WT0117 int,WT0118 int,WT0119 int,WT0120 int,WT0121 int,WT0122 int,WT0123 int,WT0124 int,WT0125 int,WT0126 int,WT0127 int,WT0128 int,WT0129 int,WT0130 int,WT0131 int,WT0132 int,WT0133 int,WT0134 int,WT0135 int,WT0136 int,WT0137 int,WT0138 int,WT0139 int,WT0140 int,WT0141 int,WT0142 int,WT0143 int,WT0144 int,WT0145 int,WT0146 int,WT0147 int,WT0148 int,WT0149 int,WT0150 int,
94

95
	 WT0201 int,WT0202 int,WT0203 int,WT0204 int,WT0205 int,WT0206 int,WT0207 int,WT0208 int,WT0209 int,WT0210 int,WT0211 int,WT0212 int,WT0213 int,WT0214 int,WT0215 int,WT0216 int,WT0217 int,WT0218 int,WT0219 int,WT0220 int,WT0221 int,WT0222 int,WT0223 int,WT0224 int,WT0225 int,WT0226 int,WT0227 int,WT0228 int,WT0229 int,WT0230 int,WT0231 int,WT0232 int,WT0233 int,WT0234 int,WT0235 int,WT0236 int,WT0237 int,WT0238 int,WT0239 int,WT0240 int,WT0241 int,WT0242 int,WT0243 int,WT0244 int,WT0245 int,WT0246 int,WT0247 int,WT0248 int,WT0249 int,WT0250 int,
96

97
	 WT0301 int,WT0302 int,WT0303 int,WT0304 int,WT0305 int,WT0306 int,WT0307 int,WT0308 int,WT0309 int,WT0310 int,WT0311 int,WT0312 int,WT0313 int,WT0314 int,WT0315 int,WT0316 int,WT0317 int,WT0318 int,WT0319 int,WT0320 int,WT0321 int,WT0322 int,WT0323 int,WT0324 int,WT0325 int,WT0326 int,WT0327 int,WT0328 int,WT0329 int,WT0330 int,WT0331 int,WT0332 int,WT0333 int,WT0334 int,WT0335 int,WT0336 int,WT0337 int,WT0338 int,WT0339 int,WT0340 int,WT0341 int,WT0342 int,WT0343 int,WT0344 int,WT0345 int,WT0346 int,WT0347 int,WT0348 int,WT0349 int,WT0350 int,
98

99
	 WT0401 int,WT0402 int,WT0403 int,WT0404 int,WT0405 int,WT0406 int,WT0407 int,WT0408 int,WT0409 int,WT0410 int,WT0411 int,WT0412 int,WT0413 int,WT0414 int,WT0415 int,WT0416 int,WT0417 int,WT0418 int,WT0419 int,WT0420 int,WT0421 int,WT0422 int,WT0423 int,WT0424 int,WT0425 int,WT0426 int,WT0427 int,WT0428 int,WT0429 int,WT0430 int,WT0431 int,WT0432 int,WT0433 int,WT0434 int,WT0435 int,WT0436 int,WT0437 int,WT0438 int,WT0439 int,WT0440 int,WT0441 int,WT0442 int,WT0443 int,WT0444 int,WT0445 int,WT0446 int,WT0447 int,WT0448 int,WT0449 int,WT0450 int)
100

101

102

103
DECLARE @tbl_employee TABLE
104

105
	(employee_id varchar(8),
106

107
	 employee_name varchar(50),
108

109
	 CCG varchar(50),
110

111
	 CCG_Abr varchar(50),
112

113
	 CCG_Desc varchar(50),
114

115
	 CC varchar(50),
116

117
	 CC_Abr varchar(50),
118

119
	 CC_Desc varchar(50))
120

121

122

123

124

125
DECLARE @tbl_employee2 TABLE
126

127
	(
128

129
		employee_id	varchar(250),
130

131
		employee_name	varchar(250),
132

133
		employee_area_id	varchar(250),
134

135
		employee_area_descr	varchar(250),
136

137
		employee_office_id	varchar(250),
138

139
		employee_office_descr	varchar(250),
140

141
		employee_status_id	varchar(250),
142

143
		employee_status_descr	varchar(250),
144

145
		employee_type_id	varchar(250),
146

147
		employee_type_descr	varchar(250),
148

149
		employee_sub_type_id	varchar(250),
150

151
		employee_sub_type_descr	varchar(250),
152

153
		payroll_group_id	varchar(250),
154

155
		payroll_group_descr	varchar(250),
156

157
		organization_id	varchar(250),
158

159
		organization_descr	varchar(250),
160

161
		cost_center_id	varchar(250),
162

163
		cost_center_abbr	varchar(250),
164

165
		cost_center_descr	varchar(250),
166

167
		cost_center_group_id	varchar(250),
168

169
		cost_center_group_abbr	varchar(250),
170

171
		cost_center_group_descr	varchar(250),
172

173
		position_id	varchar(250),
174

175
		position_descr	varchar(250),
176

177
		job_id	varchar(250),
178

179
		job_descr	varchar(250),
180

181
		pay_type_id	varchar(250),
182

183
		pay_type_descr	varchar(250),
184

185
		pay_class_id	varchar(250),
186

187
		pay_class_descr	varchar(250),
188

189
		pay_grade_id	varchar(250),
190

191
		pay_grade_descr	varchar(250),
192

193
		pay_area_id	varchar(250),
194

195
		pay_area_descr	varchar(250)
196

197
	 )
198

199

200

201
DECLARE @tbl_tr_enc TABLE
202

203
	(employee_id varchar(8),
204

205
	 payPeriodMonth varchar(2),
206

207
	 payPeriodYear varchar(4),
208

209
	 runPeriodMonth varchar(2),
210

211
	 runPeriodYear varchar(4),
212

213
	 wageType varchar(4),
214

215
	 amount varchar(250))
216

217

218

219
--DECLARE @tbl_tr_dec TABLE
220

221
--	(employee_id varchar(8),
222

223
--	 payPeriodMonth varchar(2),
224

225
--	 payPeriodYear varchar(4),
226

227
--	 runPeriodMonth varchar(2),
228

229
--	 runPeriodYear varchar(4),
230

231
--	 wageType varchar(4),
232

233
--	 amount int,
234

235
--	 column_name varchar(6))
236

237

238

239
DECLARE @hrtr0300 TABLE(
240

241
	[landscape] [VARCHAR](3) NOT NULL,
242

243
	[employee_id] [VARCHAR](8) NOT NULL,
244

245
	[pay_period_month] [VARCHAR](2) NOT NULL,
246

247
	[pay_period_year] [VARCHAR](4) NOT NULL,
248

249
	[run_period_month] [VARCHAR](2) NOT NULL,
250

251
	[run_period_year] [VARCHAR](4) NOT NULL,
252

253
	[split_indicator] [VARCHAR](1) NOT NULL,
254

255
	[start_date] [VARCHAR](8) NOT NULL,
256

257
	[end_date] [VARCHAR](8) NOT NULL,
258

259
	[data_status] [VARCHAR](1) NULL,
260

261
	[company_id] [VARCHAR](4) NULL,
262

263
	[cost_center] [VARCHAR](8) NULL,
264

265
	[employee_area] [VARCHAR](4) NOT NULL,
266

267
	[employee_office] [VARCHAR](4) NOT NULL,
268

269
	[employee_status] [VARCHAR](2) NOT NULL,
270

271
	[employee_type] [VARCHAR](2) NOT NULL,
272

273
	[employee_subtype] [VARCHAR](2) NOT NULL,
274

275
	[payroll_group] [VARCHAR](2) NOT NULL,
276

277
	[organization] [VARCHAR](8) NOT NULL,
278

279
	[position] [VARCHAR](8) NOT NULL,
280

281
	[job] [VARCHAR](8) NOT NULL,
282

283
	[pay_type] [VARCHAR](2) NULL,
284

285
	[pay_class] [VARCHAR](2) NULL,
286

287
	[pay_grade] [VARCHAR](2) NULL,
288

289
	[pay_area] [VARCHAR](2) NULL,
290

291
	[pay_curr] [VARCHAR](5) NULL,
292

293
	[pay_curr_rate] [DECIMAL](18, 7) NULL,
294

295
	[change_by] [VARCHAR](12) NOT NULL,
296

297
	[change_date] [VARCHAR](14) NOT NULL,
298

299
	[created_by] [VARCHAR](12) NOT NULL,
300

301
	[created_date] [VARCHAR](14) NOT NULL )
302

303

304

305
--//-- Setting variable
306

307
SET @payPeriodMonth = SUBSTRING(@payPeriod, 5, 2)
308

309
SET @payPeriodYear = SUBSTRING(@payPeriod, 1, 4)
310

311
SET @payPeriodStartDate = @payPeriod + '01'
312

313
SET @payPeriodEndDateDt = DATEADD(dd, -1, DATEADD(mm, 1, CONVERT(datetime, @payPeriodStartDate)))
314

315
SET @payPeriodEndDate = @payPeriod + CONVERT(varchar(2), DATEPART(dd, @payPeriodEndDateDt))
316

317

318

319
INSERT INTO @hrtr0300
320

321
SELECT DISTINCT * FROM hr_tr0300 WITH (NOLOCK) WHERE landscape = @landscape AND pay_period_year = run_period_year AND pay_period_month = run_period_month AND run_period_year = @payPeriodYear AND run_period_month = @payPeriodMonth
322

323

324

325
--//-- Set Filter
326

327
SELECT @employee_idMin = MIN(employee_id) FROM @hrtr0300 WHERE landscape = @landscape AND pay_period_year = run_period_year AND pay_period_month = run_period_month AND run_period_year = @payPeriodYear AND run_period_month = @payPeriodMonth
328

329
SELECT @employee_idMax = MAX(employee_id) FROM @hrtr0300  WHERE landscape = @landscape AND pay_period_year = run_period_year AND pay_period_month = run_period_month AND run_period_year = @payPeriodYear AND run_period_month = @payPeriodMonth
330

331
SELECT @CostCenterMin = MIN(cost_center) FROM @hrtr0300  WHERE landscape = @landscape AND pay_period_year = run_period_year AND pay_period_month = run_period_month AND run_period_year = @payPeriodYear AND run_period_month = @payPeriodMonth
332

333
SELECT @CostCenterMax = MAX(cost_center) FROM @hrtr0300 WHERE landscape = @landscape AND pay_period_year = run_period_year AND pay_period_month = run_period_month AND run_period_year = @payPeriodYear AND run_period_month = @payPeriodMonth
334

335
SELECT @PayrollGroupMin = MIN(payroll_group) FROM @hrtr0300  WHERE landscape = @landscape AND pay_period_year = run_period_year AND pay_period_month = run_period_month AND run_period_year = @payPeriodYear AND run_period_month = @payPeriodMonth
336

337
SELECT @PayrollGroupMax = MAX(payroll_group) FROM @hrtr0300 WHERE landscape = @landscape AND pay_period_year = run_period_year AND pay_period_month = run_period_month AND run_period_year = @payPeriodYear AND run_period_month = @payPeriodMonth
338

339

340

341
IF (LTRIM(RTRIM(@employee_idStart)) <> '')
342

343
BEGIN
344

345
	SET @employee_idMin = @employee_idStart
346

347
	IF (LTRIM(RTRIM(@employee_idEnd)) <> '')
348

349
		SET @employee_idMax = @employee_idEnd
350

351
	ELSE
352

353
		SET @employee_idMax = @employee_idStart
354

355
END
356

357

358

359
IF (LTRIM(RTRIM(@payrollGroupStart)) <> '')
360

361
BEGIN
362

363
	SET @PayrollGroupMin = @payrollGroupStart
364

365
	IF (LTRIM(RTRIM(@payrollGroupEnd)) <> '')
366

367
		SET @PayrollGroupMax = @payrollGroupEnd
368

369
	ELSE
370

371
		SET @PayrollGroupMax = @payrollGroupStart
372

373
END
374

375

376

377
IF (LTRIM(RTRIM(@CostCenterStart)) <> '')
378

379
BEGIN
380

381
	SET @CostCenterMin = @CostCenterStart
382

383
	IF (LTRIM(RTRIM(@CostCenterEnd)) <> '')
384

385
		SET @CostCenterMax = @CostCenterEnd
386

387
	ELSE
388

389
		SET @CostCenterMax = @CostCenterStart
390

391
END
392

393

394

395
----//-- Select Employee
396

397
INSERT INTO @tbl_employee
398

399
SELECT DISTINCT md01.emp_id, 
400

401
md01.full_name,
402

403
'' CG, --cg.object, 
404

405
'' CG_Abbr, --cg.abbreviation, 
406

407
'' CG_Desc, --cg.description, 
408

409
cc.abbreviation, 
410

411
cc.abbreviation, 
412

413
cc.description
414

415
--,md2.start_date, md2.end_date, md2.movement_type
416

417
FROM hr_md_emp_md0001 md01 WITH (NOLOCK) 
418

419
	LEFT JOIN @hrtr0300 AS hr_tr0300
420

421
		ON md01.landscape = hr_tr0300.landscape
422

423
	LEFT JOIN hr_md_orm_object cc  WITH (NOLOCK)
424

425
		ON cc.landscape = @landscape
426

427
		AND cc.class = 'CC'
428

429
		AND cc.start_date <= @payPeriodEndDate
430

431
		AND cc.end_date >= @payPeriodEndDate
432

433
	--LEFT JOIN hr_md_orm_relationship ccg  WITH (NOLOCK)
434

435
	--	ON cc.object = ccg.object
436

437
	--	AND ccg.landscape = @landscape
438

439
	--	AND ccg.class = 'CC'
440

441
	--	AND ccg.start_date <= @payPeriodEndDate
442

443
	--	AND ccg.end_date >= @payPeriodEndDate			
444

445
	--	AND ccg.rel_class = 'CG'
446

447
	--	AND ccg.rel_dir = 'B'
448

449
	--	AND ccg.rel_type = '001'
450

451
	--LEFT JOIN hr_md_orm_object cg  WITH (NOLOCK)
452

453
	--	ON ccg.rel_object = cg.object
454

455
	--	AND cg.landscape = @landscape
456

457
	--	AND cg.class = 'CG'
458

459
	--	AND cg.start_date <= @payPeriodEndDate
460

461
	--	AND cg.end_date >= @payPeriodEndDate
462

463
WHERE (hr_tr0300.cost_center >= @CostCenterMin AND hr_tr0300.cost_center <= @CostCenterMax) 
464

465
	AND ( hr_tr0300.payroll_group >= @PayrollGroupMin AND hr_tr0300.payroll_group <= @PayrollGroupMax)
466

467
	AND md01.start_date <= @payPeriodEndDate
468

469
	AND md01.end_date >= @payPeriodEndDate 
470

471
	AND md01.emp_id >= @employee_idMin
472

473
	AND md01.emp_id <= @employee_idMax
474

475
	AND md01.emp_id = hr_tr0300.employee_id
476

477
	AND hr_tr0300.cost_center = cc.object
478

479
	--AND ( dbo.hr_tr0300.employee_type = @emp_type OR @emp_type = '')  
480

481
  
482

483
  
484

485
  DECLARE @employee_id varchar(8)
486

487
  DECLARE @employee_name varchar(50)
488

489
  DECLARE @CCG varchar(50)
490

491
  DECLARE @CCG_Abr varchar(50)
492

493
  DECLARE @CCG_Desc varchar(50)
494

495
  DECLARE @CC varchar(50)
496

497
  DECLARE @CC_Abr varchar(50)
498

499
  DECLARE @CC_Desc varchar(50)
500

501
	 
502

503
  
504

505
  DECLARE @tr0300 TABLE(
506

507
	[landscape] [varchar](3) NOT NULL,
508

509
	[employee_id] [varchar](8) NOT NULL,
510

511
	[pay_period_month] [varchar](2) NOT NULL,
512

513
	[pay_period_year] [varchar](4) NOT NULL,
514

515
	[run_period_month] [varchar](2) NOT NULL,
516

517
	[run_period_year] [varchar](4) NOT NULL,
518

519
	[split_indicator] [varchar](1) NOT NULL,
520

521
	[start_date] [varchar](8) NOT NULL,
522

523
	[end_date] [varchar](8) NOT NULL,
524

525
	[data_status] [varchar](1) NULL,
526

527
	[company_id] [varchar](4) NULL,
528

529
	[cost_center] [varchar](8) NULL,
530

531
	[employee_area] [varchar](4) NOT NULL,
532

533
	[employee_office] [varchar](4) NOT NULL,
534

535
	[employee_status] [varchar](2) NOT NULL,
536

537
	[employee_type] [varchar](2) NOT NULL,
538

539
	[employee_subtype] [varchar](2) NOT NULL,
540

541
	[payroll_group] [varchar](2) NOT NULL,
542

543
	[organization] [varchar](8) NOT NULL,
544

545
	[position] [varchar](8) NOT NULL,
546

547
	[job] [varchar](8) NOT NULL,
548

549
	[pay_type] [varchar](2) NULL,
550

551
	[pay_class] [varchar](2) NULL,
552

553
	[pay_grade] [varchar](2) NULL,
554

555
	[pay_area] [varchar](2) NULL,
556

557
	pay_curr  VARCHAR(5),
558

559
	pay_curr_rate DECIMAL(18,7),
560

561
	[change_by] [varchar](12) NOT NULL,
562

563
	[change_date] [varchar](14) NOT NULL,
564

565
	[created_by] [varchar](12) NOT NULL,
566

567
	[created_date] [varchar](14) NOT NULL
568

569
	)
570

571

572

573
  
574

575
  
576

577
declare @emp_id varchar (8) 
578

579
declare @pay_month varchar (2) 
580

581
set @pay_month = substring(@payPeriod,5,2)
582

583

584

585
declare @pay_year varchar (4) 
586

587
set @pay_year = substring(@payPeriod,1,4)
588

589

590

591

592

593
declare @start_date varchar (10)
594

595
declare @end_date varchar (10)
596

597
  
598

599
  
600

601
  
602

603
declare @pay_period_month varchar (4) 
604

605
declare @pay_period_year varchar(4)
606

607
declare @employe_id varchar (8)
608

609
declare @full_name varchar (250)
610

611
DECLARE @company_id varchar(4) 
612

613
DECLARE @cost_center   varchar (8) 
614

615
DECLARE @employee_area   varchar (250)  
616

617
DECLARE @employee_office   varchar (250) 
618

619
DECLARE @employee_status   varchar (250) 
620

621
DECLARE @employee_type   varchar (250)  
622

623
DECLARE @employee_subtype   varchar (250) 
624

625
DECLARE @payroll_group   varchar (250) 
626

627
DECLARE @organization   varchar (250) 
628

629
DECLARE @position   varchar (250) 
630

631
DECLARE @job   varchar (250) 
632

633
DECLARE @pay_type   varchar (250) 
634

635
DECLARE @pay_class   varchar (250) 
636

637
DECLARE @pay_grade   varchar (250)
638

639
DECLARE @pay_area   varchar (250) 
640

641
  
642

643
  --Get System Parameter
644

645
declare @is_encrypted varchar
646

647

648

649

650

651

652

653
		SELECT    @is_encrypted = val1
654

655
		FROM         dbo.base_cust_parameter
656

657
		where	landscape = @landscape and
658

659
				param = 'HR_PY_ENCRYPTED' and
660

661
				start_date <= @payPeriodEndDate and 
662

663
				end_date >= @payPeriodEndDate
664

665
  
666

667
  
668

669
  
670

671
  
672

673
  
674

675
  
676

677
  DECLARE cur_employee CURSOR FOR
678

679

680

681
Select * from @tbl_employee
682

683

684

685
 
686

687

688

689
OPEN cur_employee
690

691
 
692

693

694

695
FETCH cur_employee INTO 
696

697
				   @employee_id, 
698

699
				   @employee_name, 
700

701
				   @CCG, 
702

703
				   @CCG_Abr, 
704

705
				   @CCG_Desc, 
706

707
				   @CC, 
708

709
				   @CC_Abr, 
710

711
				   @CC_Desc 
712

713

714

715
 -- start the main processing loop.
716

717

718

719
WHILE @@Fetch_Status = 0
720

721

722

723
   BEGIN
724

725
  
726

727
  delete from @tr0300
728

729

730

731
set @emp_id = @employee_id
732

733

734

735

736

737

738

739
set @start_date = ''
740

741
set @end_date = ''
742

743

744

745
set @pay_period_month = ''
746

747
set @pay_period_year = ''
748

749
set @employe_id = ''
750

751
set @full_name = ''
752

753
set @company_id = ''
754

755
set @cost_center   = ''
756

757
set @employee_area   = ''
758

759
set @employee_office   = ''
760

761
set @employee_status   = ''
762

763
set @employee_type   = ''
764

765
set @employee_subtype   = ''
766

767
set @payroll_group   = ''
768

769
set @organization   = ''
770

771
set @position   = ''
772

773
set @job   = ''
774

775
set @pay_type   = ''
776

777
set @pay_class   = ''
778

779
set @pay_grade   = ''
780

781
set @pay_area   = ''
782

783

784

785

786

787
insert  into @tr0300 
788

789
select top 1 *
790

791
from @hrtr0300
792

793
where	employee_id = @emp_id
794

795
	AND pay_period_month = @pay_month
796

797
	AND pay_period_year = @pay_year order by run_period_month desc
798

799

800

801
select @start_date = tr0300.start_date , @end_date = tr0300.end_date
802

803
from @tr0300 as tr0300
804

805

806

807
select @pay_period_month = pay_period_month, @pay_period_year = pay_period_year
808

809
from @tr0300 
810

811

812

813
select @employe_id = md1.emp_id, @full_name = md1.full_name
814

815
from hr_md_emp_md0001 as md1
816

817
inner join @tr0300 as tr0300
818

819
	on md1.emp_id = tr0300.employee_id
820

821
	and md1.start_date <= @end_date
822

823
	and md1.end_date >= @end_date
824

825

826

827
select @cost_center = object.description
828

829
from @tr0300 as tr0300
830

831
left join hr_md_orm_object as object
832

833
	on object.object = tr0300.cost_center
834

835
	and object.start_date <= @start_date
836

837
	and object.end_date >= @end_date
838

839
	and object.class = 'CC'
840

841

842

843
select @employee_area = object.description
844

845
from @tr0300 as tr0300
846

847
left join base_cust_ref_emp_area  as object
848

849
	on object.emp_area = tr0300.employee_area
850

851
	
852

853
select @employee_office = object.emp_subarea_description
854

855
from @tr0300 as tr0300
856

857
left join base_cust_ref_emp_office  as object
858

859
	on object.emp_subarea = tr0300.employee_office
860

861

862

863
select @employee_status = object.description
864

865
from @tr0300 as tr0300
866

867
left join base_cust_ref_emp_status  as object
868

869
	on object.emp_status = tr0300.employee_status
870

871

872

873
select @employee_type = object.description
874

875
from @tr0300 as tr0300
876

877
left join base_cust_ref_emp_type  as object
878

879
	on object.emp_type = tr0300.employee_type
880

881

882

883
select @employee_subtype = object.description
884

885
from @tr0300 as tr0300
886

887
left join base_cust_ref_emp_subtype  as object
888

889
	on object.emp_subtype = tr0300.employee_subtype
890

891

892

893
select @payroll_group = object.description
894

895
from @tr0300 as tr0300
896

897
left join base_cust_ref_payroll_group  as object
898

899
	on object.payroll_group = tr0300.payroll_group
900

901

902

903
select @organization = object.description
904

905
from @tr0300 as tr0300
906

907
left join hr_md_orm_object as object
908

909
	on object.object = tr0300.organization
910

911
	and object.start_date <= @end_date
912

913
	and object.end_date >= @end_date
914

915
	and object.class = 'O'
916

917

918

919
select @position = object.description
920

921
from @tr0300 as tr0300
922

923
left join hr_md_orm_object as object
924

925
	on object.object = tr0300.position
926

927
	and object.start_date <= @end_date
928

929
	and object.end_date >= @end_date
930

931
	and object.class = 'P'
932

933

934

935
select @job = object.description
936

937
from @tr0300 as tr0300
938

939
left join hr_md_orm_object as object
940

941
	on object.object = tr0300.job
942

943
	and object.start_date <= @end_date
944

945
	and object.end_date >= @end_date
946

947
	and object.class = 'J'
948

949

950

951
select @pay_type = object.description
952

953
from @tr0300 as tr0300
954

955
left join base_cust_ref_pay_type  as object
956

957
	on object.pay_type = tr0300.pay_type
958

959

960

961
select @pay_class = object.description
962

963
from @tr0300 as tr0300
964

965
left join base_cust_ref_pay_class  as object
966

967
	on object.pay_class = tr0300.pay_class
968

969

970

971
select @pay_grade = object.description
972

973
from @tr0300 as tr0300
974

975
left join base_cust_ref_pay_grade  as object
976

977
	on object.pay_grade = tr0300.pay_grade
978

979
	
980

981
select @pay_area = object.description
982

983
from @tr0300 as tr0300
984

985
left join base_cust_ref_pay_area  as object
986

987
	on object.pay_area = tr0300.pay_area
988

989

990

991

992

993

994

995

996

997
INSERT INTO @tbl_employee2
998

999
select
1000

1001
tr0300.employee_id	,
1002

1003
employee_name	,
1004

1005
tr0300.employee_area as employee_area_id	,
1006

1007
a.employee_area_descr	,
1008

1009
tr0300.employee_office as employee_office_id	,
1010

1011
a.employee_office_descr	,
1012

1013
tr0300.employee_status as employee_status_id	,
1014

1015
a.employee_status_descr	,
1016

1017
tr0300.employee_type as employee_type_id	,
1018

1019
a.employee_type_descr	,
1020

1021
tr0300.employee_subtype as employee_subtype_id	,
1022

1023
a.employee_subtype_descr	,
1024

1025
tr0300.payroll_group as payroll_group_id	,
1026

1027
a.payroll_group_descr	,
1028

1029
tr0300.organization as organization_id	,
1030

1031
a.organization_descr	,   
1032

1033
@CC, 
1034

1035
@CC_Abr, 
1036

1037
@CC_Desc ,
1038

1039
@CCG, 
1040

1041
@CCG_Abr, 
1042

1043
@CCG_Desc, 
1044

1045
tr0300.position as position_id	,
1046

1047
a.position_descr	,
1048

1049
tr0300.job as job_id	,
1050

1051
a.job_descr	,
1052

1053
tr0300.pay_type	as pay_type_id,
1054

1055
a.pay_type_descr	,
1056

1057
tr0300.pay_class as pay_class_id	,
1058

1059
a.pay_class_descr	,
1060

1061
tr0300.pay_grade as pay_grade_id	,
1062

1063
a.pay_grade_descr	,
1064

1065
tr0300.pay_area as pay_area_id	,
1066

1067
a.pay_area_descr	
1068

1069
 from(
1070

1071
select
1072

1073
	  @employe_id as employee_id
1074

1075
	 ,@pay_period_month as pay_period_month
1076

1077
	 ,@pay_period_year as pay_period_year
1078

1079
	 ,@full_name as employee_name
1080

1081
	 ,@cost_center as cost_center_descr
1082

1083
	 ,@employee_area as employee_area_descr
1084

1085
	 ,@employee_office as employee_office_descr
1086

1087
	 ,@employee_status as employee_status_descr
1088

1089
	 ,@employee_type as  employee_type_descr
1090

1091
	 ,@employee_subtype as employee_subtype_descr
1092

1093
	 ,@payroll_group as payroll_group_descr
1094

1095
	 ,@organization as organization_descr
1096

1097
	 ,@position as position_descr
1098

1099
	 ,@job as job_descr
1100

1101
	 ,@pay_type as pay_type_descr
1102

1103
	 ,@pay_class as pay_class_descr
1104

1105
	 ,@pay_grade as pay_grade_descr 
1106

1107
	 ,@pay_area as pay_area_descr
1108

1109
	 ) as a
1110

1111
	 inner join @tr0300 as tr0300 on a.employee_id = tr0300.employee_id
1112

1113
	 
1114

1115
  
1116

1117
		FETCH cur_employee INTO 
1118

1119
						   @employee_id, 
1120

1121
						   @employee_name, 
1122

1123
						   @CCG, 
1124

1125
						   @CCG_Abr, 
1126

1127
						   @CCG_Desc, 
1128

1129
						   @CC, 
1130

1131
						   @CC_Abr, 
1132

1133
						   @CC_Desc  
1134

1135

1136

1137
   END
1138

1139

1140

1141
CLOSE cur_employee
1142

1143

1144

1145
DEALLOCATE cur_employee
1146

1147
  
1148

1149
  
1150

1151
  
1152

1153
  
1154

1155
  
1156

1157
  
1158

1159
  
1160

1161
  declare @hr_cust_py_report TABLE (
1162

1163
	[landscape] [varchar](4) NOT NULL,
1164

1165
	[rep_id] [varchar](50) NOT NULL,
1166

1167
	[row] [int] NOT NULL,
1168

1169
	[col_no] [int] NOT NULL,
1170

1171
	[seq_no] [int] NOT NULL,
1172

1173
	[wage_type] [varchar](5) NULL,
1174

1175
	[descr] [varchar](50) NULL
1176

1177
)
1178

1179
  
1180

1181
insert into @hr_cust_py_report
1182

1183
SELECT DISTINCT [landscape]
1184

1185
      ,[rep_id]
1186

1187
      ,[row]
1188

1189
      ,[col_no]
1190

1191
      ,[seq_no]
1192

1193
      ,[wage_type]
1194

1195
      ,[descr]
1196

1197
  FROM [dbo].[hr_cust_py_report] WITH (NOLOCK) WHERE start_date <= @payPeriodEndDate
1198

1199
  AND end_date >= @payPeriodEndDate and rep_id = 'WT01R'
1200

1201
  
1202

1203
     declare @hr_cust_py_report_col_name TABLE (
1204

1205
	[landscape] [varchar](4)  NULL,
1206

1207
	[rep_id] [varchar](50) NULL,
1208

1209
	[row] [int]  NULL,
1210

1211
	[col_no] [int]  NULL,
1212

1213
	column_name varchar(6))
1214

1215

1216

1217
insert into @hr_cust_py_report_col_name	
1218

1219
select *,
1220

1221
'WT' + right('00' + convert(varchar,(ROW_NUMBER () OVER (ORDER BY landscape, rep_id, row, col_no) + 49) / 50) ,2) 
1222

1223
+ right('00' + convert(varchar,((ROW_NUMBER () OVER (ORDER BY landscape, rep_id, row, col_no) -1) % 50)+1) ,2) as column_name
1224

1225
 from(
1226

1227
  select distinct landscape, rep_id, row, col_no from @hr_cust_py_report )a ORDER BY landscape, rep_id, row, col_no
1228

1229
  
1230

1231
  
1232

1233
	
1234

1235
  
1236

1237
--  insert into @hr_cust_py_report
1238

1239
--  select * 
1240

1241
--  from hr_cust_py_report 
1242

1243
  
1244

1245
  
1246

1247
  declare @row int
1248

1249
  declare @col int
1250

1251
  declare @column_name varchar(6)
1252

1253
  set @row = 0
1254

1255
  set @col = 0
1256

1257
  while @row < 4
1258

1259
  begin
1260

1261
  set @row = @row + 1
1262

1263
  set @col = 0
1264

1265
    while @col < 50
1266

1267
		begin
1268

1269
		set @col = @col + 1
1270

1271
		set @column_name = null
1272

1273
		
1274

1275
		select @column_name = column_name from @hr_cust_py_report_col_name 
1276

1277
		where column_name = 'WT' + right('00' + convert(varchar, @row),2) + right('00' + convert(varchar, @col),2)
1278

1279
		
1280

1281
if @column_name is null or @column_name = ''
1282

1283
begin
1284

1285
insert into @hr_cust_py_report_col_name
1286

1287
select @landscape,'',0,0,'WT' + right('00' + convert(varchar, @row),2) + right('00' + convert(varchar, @col),2)
1288

1289
end
1290

1291

1292

1293

1294

1295

1296

1297
		end
1298

1299
		
1300

1301
	end
1302

1303
	
1304

1305
	    declare @hr_cust_py_report_desc TABLE (
1306

1307
	[landscape] [varchar](4) NOT NULL,
1308

1309
	[rep_id] [varchar](50) NOT NULL,
1310

1311
	[row] [int] NOT NULL,
1312

1313
	[col_no] [int] NOT NULL,
1314

1315
	column_name varchar(6),
1316

1317
	[description] [varchar](50) NULL)
1318

1319
	
1320

1321
	insert into @hr_cust_py_report_desc
1322

1323
	select a.*, b.descr from @hr_cust_py_report_col_name as a
1324

1325
	left join(
1326

1327
	select MAX(landscape) as landscape, MAX(rep_id) as rep_id, MAX(row) as row, MAX(col_no) as col_no,MAX(descr) as descr
1328

1329
	 from @hr_cust_py_report group by landscape, rep_id, row,col_no)as b
1330

1331
	 on a.landscape =b.landscape and 
1332

1333
	 a.rep_id=b.rep_id and
1334

1335
	 a.row=b.row and
1336

1337
	 a.col_no=b.col_no
1338

1339

1340

1341

1342

1343
INSERT INTO @tbl_tr_enc
1344

1345
SELECT DISTINCT pr.employee_id, pr.pay_period_month, pr.pay_period_year, 
1346

1347
	pr.run_period_month, pr.run_period_year, pr.wage_type, pr.amount 
1348

1349
	--CASE WHEN (rep.[column] < 10)
1350

1351
	--THEN 'WT0' + CONVERT(varchar(1), rep.row) + '0' + CONVERT(varchar(1), rep.[column])
1352

1353
	--ELSE 'WT0' + CONVERT(varchar(1), rep.row) + CONVERT(varchar(2), rep.[column]) END
1354

1355
FROM hr_tr0301 pr  WITH (NOLOCK)
1356

1357
	INNER JOIN @tbl_employee emp
1358

1359
		ON pr.employee_id = emp.employee_id
1360

1361
	INNER JOIN hr_cust_py_report rep WITH (NOLOCK)
1362

1363
		ON pr.landscape = rep.landscape
1364

1365
WHERE pr.run_period_year = @payPeriodYear
1366

1367
	AND pr.run_period_month = @payPeriodMonth
1368

1369
	AND pr.pay_period_year = @payPeriodYear
1370

1371
	AND pr.pay_period_month = @payPeriodMonth
1372

1373
	AND pr.wage_type = rep.wage_type
1374

1375
	--AND pr.employee_id in (select employee_id from @tbl_employee)
1376

1377
	--and pr.wage_type in (select wage_type from @hr_cust_py_report)
1378

1379

1380

1381
INSERT INTO @tbl_tr_enc
1382

1383
SELECT DISTINCT pr.employee_id, pr.pay_period_month, pr.pay_period_year, 
1384

1385
	pr.run_period_month, pr.run_period_year, pr.wage_type, pr.amount 
1386

1387
	--CASE WHEN (rep.[column] < 10)
1388

1389
	--THEN 'WT0' + CONVERT(varchar(1), rep.row) + '0' + CONVERT(varchar(1), rep.[column])
1390

1391
	--ELSE 'WT0' + CONVERT(varchar(1), rep.row) + CONVERT(varchar(2), rep.[column]) END
1392

1393
FROM hr_tr0301_retro pr  WITH (NOLOCK)
1394

1395
	INNER JOIN @tbl_employee emp
1396

1397
		ON pr.employee_id = emp.employee_id
1398

1399
	INNER JOIN hr_cust_py_report rep WITH (NOLOCK) 
1400

1401
		ON pr.landscape = rep.landscape
1402

1403
WHERE pr.run_period_year = @payPeriodYear
1404

1405
	AND pr.run_period_month = @payPeriodMonth
1406

1407
	AND pr.pay_period_year = @payPeriodYear
1408

1409
	AND pr.pay_period_month = @payPeriodMonth
1410

1411
	AND pr.wage_type = rep.wage_type
1412

1413
	AND (rep.wage_type NOT IN ('5000','5001')) --AND (rep.wage_type NOT IN ('MT','MIT','MRT','5000','5001')) 
1414

1415
	--AND pr.employee_id in (select employee_id from @tbl_employee)
1416

1417
	--and pr.wage_type in (select wage_type from @hr_cust_py_report)
1418

1419

1420

1421

1422

1423
DECLARE @tbl_tr_dec TABLE
1424

1425
	(col_no int,
1426

1427
	 employee_id varchar(8),
1428

1429
	 amount decimal(20,2))
1430

1431
	 
1432

1433
insert into @tbl_tr_dec
1434

1435
select col_no, employee_id, SUM(amount) as amount from(
1436

1437
select b.col_no,  c.employee_id, 
1438

1439
CASE @is_encrypted when '0' then convert(decimal(18, 2),amount) else convert(decimal(18, 2),dbo.SDE(amount, N'M!N0V@2010')) end as amount
1440

1441

1442

1443
  from @hr_cust_py_report_desc as b
1444

1445
inner  join @hr_cust_py_report as a on 
1446

1447
a.landscape = b.landscape and 
1448

1449
a.col_no = b.col_no and
1450

1451
a.rep_id = b.rep_id and
1452

1453
a.row = b.row 
1454

1455
inner join @tbl_tr_enc c on 
1456

1457
a.wage_type = c.wageType ) as d
1458

1459
group by col_no, employee_id
1460

1461

1462

1463
SELECT  employee_id	,
1464

1465
		employee_name	,
1466

1467
		employee_area_id	,
1468

1469
		employee_area_descr	,
1470

1471
		employee_office_id	,
1472

1473
		employee_office_descr	,
1474

1475
		employee_status_id	,
1476

1477
		employee_status_descr	,
1478

1479
		employee_type_id	,
1480

1481
		employee_type_descr	,
1482

1483
		employee_sub_type_id	,
1484

1485
		employee_sub_type_descr	,
1486

1487
		payroll_group_id	,
1488

1489
		payroll_group_descr	,
1490

1491
		organization_id	,
1492

1493
		organization_descr	,
1494

1495
		cost_center_id	,
1496

1497
		cost_center_abbr	,
1498

1499
		cost_center_descr	,
1500

1501
		cost_center_group_id	,
1502

1503
		cost_center_group_abbr	,
1504

1505
		cost_center_group_descr	,
1506

1507
		position_id	,
1508

1509
		position_descr	,
1510

1511
		job_id	,
1512

1513
		job_descr	,
1514

1515
		pay_type_id	,
1516

1517
		pay_type_descr	,
1518

1519
		pay_class_id	,
1520

1521
		pay_class_descr	,
1522

1523
		pay_grade_id	,
1524

1525
		pay_grade_descr	,
1526

1527
		pay_area_id	,
1528

1529
		pay_area_descr,
1530

1531
	Max([WT0101]) as [WT0101],
1532

1533
Max([WT0102]) as [WT0102],
1534

1535
Max([WT0103]) as [WT0103],
1536

1537
Max([WT0104]) as [WT0104],
1538

1539
Max([WT0105]) as [WT0105],
1540

1541
Max([WT0106]) as [WT0106],
1542

1543
Max([WT0107]) as [WT0107],
1544

1545
Max([WT0108]) as [WT0108],
1546

1547
Max([WT0109]) as [WT0109],
1548

1549
Max([WT0110]) as [WT0110],
1550

1551
Max([WT0111]) as [WT0111],
1552

1553
Max([WT0112]) as [WT0112],
1554

1555
Max([WT0113]) as [WT0113],
1556

1557
Max([WT0114]) as [WT0114],
1558

1559
Max([WT0115]) as [WT0115],
1560

1561
Max([WT0116]) as [WT0116],
1562

1563
Max([WT0117]) as [WT0117],
1564

1565
Max([WT0118]) as [WT0118],
1566

1567
Max([WT0119]) as [WT0119],
1568

1569
Max([WT0120]) as [WT0120],
1570

1571
Max([WT0121]) as [WT0121],
1572

1573
Max([WT0122]) as [WT0122],
1574

1575
Max([WT0123]) as [WT0123],
1576

1577
Max([WT0124]) as [WT0124],
1578

1579
Max([WT0125]) as [WT0125],
1580

1581
Max([WT0126]) as [WT0126],
1582

1583
Max([WT0127]) as [WT0127],
1584

1585
Max([WT0128]) as [WT0128],
1586

1587
Max([WT0129]) as [WT0129],
1588

1589
Max([WT0130]) as [WT0130],
1590

1591
Max([WT0131]) as [WT0131],
1592

1593
Max([WT0132]) as [WT0132],
1594

1595
Max([WT0133]) as [WT0133],
1596

1597
Max([WT0134]) as [WT0134],
1598

1599
Max([WT0135]) as [WT0135],
1600

1601
Max([WT0136]) as [WT0136],
1602

1603
Max([WT0137]) as [WT0137],
1604

1605
Max([WT0138]) as [WT0138],
1606

1607
Max([WT0139]) as [WT0139],
1608

1609
Max([WT0140]) as [WT0140],
1610

1611
Max([WT0141]) as [WT0141],
1612

1613
Max([WT0142]) as [WT0142],
1614

1615
Max([WT0143]) as [WT0143],
1616

1617
Max([WT0144]) as [WT0144],
1618

1619
Max([WT0145]) as [WT0145],
1620

1621
Max([WT0146]) as [WT0146],
1622

1623
Max([WT0147]) as [WT0147],
1624

1625
Max([WT0148]) as [WT0148],
1626

1627
Max([WT0149]) as [WT0149],
1628

1629
Max([WT0150]) as [WT0150],
1630

1631
Max([WT0201]) as [WT0201],
1632

1633
Max([WT0202]) as [WT0202],
1634

1635
Max([WT0203]) as [WT0203],
1636

1637
Max([WT0204]) as [WT0204],
1638

1639
Max([WT0205]) as [WT0205],
1640

1641
Max([WT0206]) as [WT0206],
1642

1643
Max([WT0207]) as [WT0207],
1644

1645
Max([WT0208]) as [WT0208],
1646

1647
Max([WT0209]) as [WT0209],
1648

1649
Max([WT0210]) as [WT0210],
1650

1651
Max([WT0211]) as [WT0211],
1652

1653
Max([WT0212]) as [WT0212],
1654

1655
Max([WT0213]) as [WT0213],
1656

1657
Max([WT0214]) as [WT0214],
1658

1659
Max([WT0215]) as [WT0215],
1660

1661
Max([WT0216]) as [WT0216],
1662

1663
Max([WT0217]) as [WT0217],
1664

1665
Max([WT0218]) as [WT0218],
1666

1667
Max([WT0219]) as [WT0219],
1668

1669
Max([WT0220]) as [WT0220],
1670

1671
Max([WT0221]) as [WT0221],
1672

1673
Max([WT0222]) as [WT0222],
1674

1675
Max([WT0223]) as [WT0223],
1676

1677
Max([WT0224]) as [WT0224],
1678

1679
Max([WT0225]) as [WT0225],
1680

1681
Max([WT0226]) as [WT0226],
1682

1683
Max([WT0227]) as [WT0227],
1684

1685
Max([WT0228]) as [WT0228],
1686

1687
Max([WT0229]) as [WT0229],
1688

1689
Max([WT0230]) as [WT0230],
1690

1691
Max([WT0231]) as [WT0231],
1692

1693
Max([WT0232]) as [WT0232],
1694

1695
Max([WT0233]) as [WT0233],
1696

1697
Max([WT0234]) as [WT0234],
1698

1699
Max([WT0235]) as [WT0235],
1700

1701
Max([WT0236]) as [WT0236],
1702

1703
Max([WT0237]) as [WT0237],
1704

1705
Max([WT0238]) as [WT0238],
1706

1707
Max([WT0239]) as [WT0239],
1708

1709
Max([WT0240]) as [WT0240],
1710

1711
Max([WT0241]) as [WT0241],
1712

1713
Max([WT0242]) as [WT0242],
1714

1715
Max([WT0243]) as [WT0243],
1716

1717
Max([WT0244]) as [WT0244],
1718

1719
Max([WT0245]) as [WT0245],
1720

1721
Max([WT0246]) as [WT0246],
1722

1723
Max([WT0247]) as [WT0247],
1724

1725
Max([WT0248]) as [WT0248],
1726

1727
Max([WT0249]) as [WT0249],
1728

1729
Max([WT0250]) as [WT0250],
1730

1731
Max([WT0301]) as [WT0301],
1732

1733
Max([WT0302]) as [WT0302],
1734

1735
Max([WT0303]) as [WT0303],
1736

1737
Max([WT0304]) as [WT0304],
1738

1739
Max([WT0305]) as [WT0305],
1740

1741
Max([WT0306]) as [WT0306],
1742

1743
Max([WT0307]) as [WT0307],
1744

1745
Max([WT0308]) as [WT0308],
1746

1747
Max([WT0309]) as [WT0309],
1748

1749
Max([WT0310]) as [WT0310],
1750

1751
Max([WT0311]) as [WT0311],
1752

1753
Max([WT0312]) as [WT0312],
1754

1755
Max([WT0313]) as [WT0313],
1756

1757
Max([WT0314]) as [WT0314],
1758

1759
Max([WT0315]) as [WT0315],
1760

1761
Max([WT0316]) as [WT0316],
1762

1763
Max([WT0317]) as [WT0317],
1764

1765
Max([WT0318]) as [WT0318],
1766

1767
Max([WT0319]) as [WT0319],
1768

1769
Max([WT0320]) as [WT0320],
1770

1771
Max([WT0321]) as [WT0321],
1772

1773
Max([WT0322]) as [WT0322],
1774

1775
Max([WT0323]) as [WT0323],
1776

1777
Max([WT0324]) as [WT0324],
1778

1779
Max([WT0325]) as [WT0325],
1780

1781
Max([WT0326]) as [WT0326],
1782

1783
Max([WT0327]) as [WT0327],
1784

1785
Max([WT0328]) as [WT0328],
1786

1787
Max([WT0329]) as [WT0329],
1788

1789
Max([WT0330]) as [WT0330],
1790

1791
Max([WT0331]) as [WT0331],
1792

1793
Max([WT0332]) as [WT0332],
1794

1795
Max([WT0333]) as [WT0333],
1796

1797
Max([WT0334]) as [WT0334],
1798

1799
Max([WT0335]) as [WT0335],
1800

1801
Max([WT0336]) as [WT0336],
1802

1803
Max([WT0337]) as [WT0337],
1804

1805
Max([WT0338]) as [WT0338],
1806

1807
Max([WT0339]) as [WT0339],
1808

1809
Max([WT0340]) as [WT0340],
1810

1811
Max([WT0341]) as [WT0341],
1812

1813
Max([WT0342]) as [WT0342],
1814

1815
Max([WT0343]) as [WT0343],
1816

1817
Max([WT0344]) as [WT0344],
1818

1819
Max([WT0345]) as [WT0345],
1820

1821
Max([WT0346]) as [WT0346],
1822

1823
Max([WT0347]) as [WT0347],
1824

1825
Max([WT0348]) as [WT0348],
1826

1827
Max([WT0349]) as [WT0349],
1828

1829
Max([WT0350]) as [WT0350],
1830

1831
Max([WT0401]) as [WT0401],
1832

1833
Max([WT0402]) as [WT0402],
1834

1835
Max([WT0403]) as [WT0403],
1836

1837
Max([WT0404]) as [WT0404],
1838

1839
Max([WT0405]) as [WT0405],
1840

1841
Max([WT0406]) as [WT0406],
1842

1843
Max([WT0407]) as [WT0407],
1844

1845
Max([WT0408]) as [WT0408],
1846

1847
Max([WT0409]) as [WT0409],
1848

1849
Max([WT0410]) as [WT0410],
1850

1851
Max([WT0411]) as [WT0411],
1852

1853
Max([WT0412]) as [WT0412],
1854

1855
Max([WT0413]) as [WT0413],
1856

1857
Max([WT0414]) as [WT0414],
1858

1859
Max([WT0415]) as [WT0415],
1860

1861
Max([WT0416]) as [WT0416],
1862

1863
Max([WT0417]) as [WT0417],
1864

1865
Max([WT0418]) as [WT0418],
1866

1867
Max([WT0419]) as [WT0419],
1868

1869
Max([WT0420]) as [WT0420],
1870

1871
Max([WT0421]) as [WT0421],
1872

1873
Max([WT0422]) as [WT0422],
1874

1875
Max([WT0423]) as [WT0423],
1876

1877
Max([WT0424]) as [WT0424],
1878

1879
Max([WT0425]) as [WT0425],
1880

1881
Max([WT0426]) as [WT0426],
1882

1883
Max([WT0427]) as [WT0427],
1884

1885
Max([WT0428]) as [WT0428],
1886

1887
Max([WT0429]) as [WT0429],
1888

1889
Max([WT0430]) as [WT0430],
1890

1891
Max([WT0431]) as [WT0431],
1892

1893
Max([WT0432]) as [WT0432],
1894

1895
Max([WT0433]) as [WT0433],
1896

1897
Max([WT0434]) as [WT0434],
1898

1899
Max([WT0435]) as [WT0435],
1900

1901
Max([WT0436]) as [WT0436],
1902

1903
Max([WT0437]) as [WT0437],
1904

1905
Max([WT0438]) as [WT0438],
1906

1907
Max([WT0439]) as [WT0439],
1908

1909
Max([WT0440]) as [WT0440],
1910

1911
Max([WT0441]) as [WT0441],
1912

1913
Max([WT0442]) as [WT0442],
1914

1915
Max([WT0443]) as [WT0443],
1916

1917
Max([WT0444]) as [WT0444],
1918

1919
Max([WT0445]) as [WT0445],
1920

1921
Max([WT0446]) as [WT0446],
1922

1923
Max([WT0447]) as [WT0447],
1924

1925
Max([WT0448]) as [WT0448],
1926

1927
Max([WT0449]) as [WT0449],
1928

1929
Max([WT0450]) as [WT0450]
1930

1931
 from(
1932

1933
select d.*, c.column_name, c.description, c.landscape, c.rep_id, c.row from @hr_cust_py_report_desc as c left join
1934

1935
(
1936

1937

1938

1939
select b.*, a.col_no,a.amount from @tbl_tr_dec as a inner join
1940

1941
 @tbl_employee2 as b on a.employee_id = b.employee_id
1942

1943
 
1944

1945
 ) as d
1946

1947
 on c.col_no = d.col_no 
1948

1949
 )as SourceTable
1950

1951
 PIVOT
1952

1953
(
1954

1955
  max(amount)
1956

1957
  for column_name in  ([WT0101],[WT0102],[WT0103],[WT0104],[WT0105],[WT0106],[WT0107],[WT0108],[WT0109],[WT0110],[WT0111],[WT0112],[WT0113],[WT0114],[WT0115],[WT0116],[WT0117],[WT0118],[WT0119],[WT0120],[WT0121],[WT0122],[WT0123],[WT0124],[WT0125],[WT0126],[WT0127],[WT0128],[WT0129],[WT0130],[WT0131],[WT0132],[WT0133],[WT0134],[WT0135],[WT0136],[WT0137],[WT0138],[WT0139],[WT0140],[WT0141],[WT0142],[WT0143],[WT0144],[WT0145],[WT0146],[WT0147],[WT0148],[WT0149],[WT0150],
1958

1959
			[WT0201],[WT0202],[WT0203],[WT0204],[WT0205],[WT0206],[WT0207],[WT0208],[WT0209],[WT0210],[WT0211],[WT0212],[WT0213],[WT0214],[WT0215],[WT0216],[WT0217],[WT0218],[WT0219],[WT0220],[WT0221],[WT0222],[WT0223],[WT0224],[WT0225],[WT0226],[WT0227],[WT0228],[WT0229],[WT0230],[WT0231],[WT0232],[WT0233],[WT0234],[WT0235],[WT0236],[WT0237],[WT0238],[WT0239],[WT0240],[WT0241],[WT0242],[WT0243],[WT0244],[WT0245],[WT0246],[WT0247],[WT0248],[WT0249],[WT0250],
1960

1961
			[WT0301],[WT0302],[WT0303],[WT0304],[WT0305],[WT0306],[WT0307],[WT0308],[WT0309],[WT0310],[WT0311],[WT0312],[WT0313],[WT0314],[WT0315],[WT0316],[WT0317],[WT0318],[WT0319],[WT0320],[WT0321],[WT0322],[WT0323],[WT0324],[WT0325],[WT0326],[WT0327],[WT0328],[WT0329],[WT0330],[WT0331],[WT0332],[WT0333],[WT0334],[WT0335],[WT0336],[WT0337],[WT0338],[WT0339],[WT0340],[WT0341],[WT0342],[WT0343],[WT0344],[WT0345],[WT0346],[WT0347],[WT0348],[WT0349],[WT0350],
1962

1963
			[WT0401],[WT0402],[WT0403],[WT0404],[WT0405],[WT0406],[WT0407],[WT0408],[WT0409],[WT0410],[WT0411],[WT0412],[WT0413],[WT0414],[WT0415],[WT0416],[WT0417],[WT0418],[WT0419],[WT0420],[WT0421],[WT0422],[WT0423],[WT0424],[WT0425],[WT0426],[WT0427],[WT0428],[WT0429],[WT0430],[WT0431],[WT0432],[WT0433],[WT0434],[WT0435],[WT0436],[WT0437],[WT0438],[WT0439],[WT0440],[WT0441],[WT0442],[WT0443],[WT0444],[WT0445],[WT0446],[WT0447],[WT0448],[WT0449],[WT0450]))AS PivotTable
1964

1965
	group by employee_id	,
1966

1967
		employee_name	,
1968

1969
		employee_area_id	,
1970

1971
		employee_area_descr	,
1972

1973
		employee_office_id	,
1974

1975
		employee_office_descr	,
1976

1977
		employee_status_id	,
1978

1979
		employee_status_descr	,
1980

1981
		employee_type_id	,
1982

1983
		employee_type_descr	,
1984

1985
		employee_sub_type_id	,
1986

1987
		employee_sub_type_descr	,
1988

1989
		payroll_group_id	,
1990

1991
		payroll_group_descr	,
1992

1993
		organization_id	,
1994

1995
		organization_descr	,
1996

1997
		cost_center_id	,
1998

1999
		cost_center_abbr	,
2000

2001
		cost_center_descr	,
2002

2003
		cost_center_group_id	,
2004

2005
		cost_center_group_abbr	,
2006

2007
		cost_center_group_descr	,
2008

2009
		position_id	,
2010

2011
		position_descr	,
2012

2013
		job_id	,
2014

2015
		job_descr	,
2016

2017
		pay_type_id	,
2018

2019
		pay_type_descr	,
2020

2021
		pay_class_id	,
2022

2023
		pay_class_descr	,
2024

2025
		pay_grade_id	,
2026

2027
		pay_grade_descr	,
2028

2029
		pay_area_id	,
2030

2031
		pay_area_descr	
2032

2033
	having employee_id is not null
2034

2035
 
2036

2037
 
2038

2039

2040

2041
--inner join
2042

2043
-- @hr_cust_py_report_desc as b on a.landscape = b.landscape and
2044

2045
-- a.rep_id =b.rep_id 
2046

2047
  
2048

2049
--  select @companyname as companyname, @logo as logo, @payPeriodStr as payPeriodStr, 'Employee ID' as employee_id , 'Employee Name' as employee_name, 'Cost Center Group' as CostCenterGroup, 'Cost Center Group_Abr' as CostCenterGroup_Abr, 	 'Cost Center Group_Desc' as CostCenterGroup_Desc, 	 'Cost Center' as CostCenter, 	 'Cost Center_Abr' as CostCenter_Abr, 	 'Cost Center_Desc' as CostCenter_Desc,  * from (select column_name, description from @hr_cust_py_report_desc)as SourceTable
2050

2051
--PIVOT
2052

2053
--(
2054

2055
--  max(description)
2056

2057
--  for column_name in  ([WT0101],[WT0102],[WT0103],[WT0104],[WT0105],[WT0106],[WT0107],[WT0108],[WT0109],[WT0110],[WT0111],[WT0112],[WT0113],[WT0114],[WT0115],[WT0116],[WT0117],[WT0118],[WT0119],[WT0120],[WT0121],[WT0122],[WT0123],[WT0124],[WT0125],[WT0126],[WT0127],[WT0128],[WT0129],[WT0130],[WT0131],[WT0132],[WT0133],[WT0134],[WT0135],[WT0136],[WT0137],[WT0138],[WT0139],[WT0140],[WT0141],[WT0142],[WT0143],[WT0144],[WT0145],[WT0146],[WT0147],[WT0148],[WT0149],[WT0150],
2058

2059
--			[WT0201],[WT0202],[WT0203],[WT0204],[WT0205],[WT0206],[WT0207],[WT0208],[WT0209],[WT0210],[WT0211],[WT0212],[WT0213],[WT0214],[WT0215],[WT0216],[WT0217],[WT0218],[WT0219],[WT0220],[WT0221],[WT0222],[WT0223],[WT0224],[WT0225],[WT0226],[WT0227],[WT0228],[WT0229],[WT0230],[WT0231],[WT0232],[WT0233],[WT0234],[WT0235],[WT0236],[WT0237],[WT0238],[WT0239],[WT0240],[WT0241],[WT0242],[WT0243],[WT0244],[WT0245],[WT0246],[WT0247],[WT0248],[WT0249],[WT0250],
2060

2061
--			[WT0301],[WT0302],[WT0303],[WT0304],[WT0305],[WT0306],[WT0307],[WT0308],[WT0309],[WT0310],[WT0311],[WT0312],[WT0313],[WT0314],[WT0315],[WT0316],[WT0317],[WT0318],[WT0319],[WT0320],[WT0321],[WT0322],[WT0323],[WT0324],[WT0325],[WT0326],[WT0327],[WT0328],[WT0329],[WT0330],[WT0331],[WT0332],[WT0333],[WT0334],[WT0335],[WT0336],[WT0337],[WT0338],[WT0339],[WT0340],[WT0341],[WT0342],[WT0343],[WT0344],[WT0345],[WT0346],[WT0347],[WT0348],[WT0349],[WT0350],
2062

2063
--			[WT0401],[WT0402],[WT0403],[WT0404],[WT0405],[WT0406],[WT0407],[WT0408],[WT0409],[WT0410],[WT0411],[WT0412],[WT0413],[WT0414],[WT0415],[WT0416],[WT0417],[WT0418],[WT0419],[WT0420],[WT0421],[WT0422],[WT0423],[WT0424],[WT0425],[WT0426],[WT0427],[WT0428],[WT0429],[WT0430],[WT0431],[WT0432],[WT0433],[WT0434],[WT0435],[WT0436],[WT0437],[WT0438],[WT0439],[WT0440],[WT0441],[WT0442],[WT0443],[WT0444],[WT0445],[WT0446],[WT0447],[WT0448],[WT0449],[WT0450]))AS PivotTable;
2064

2065
  
2066

2067
  
2068

2069
  
2070

2071

2072

2073

2074

2075

2076

2077

(4-4/5)