Project

General

Profile

Bug #2883 » PRPTFIBUKUBESAR_202407151028.sql

Tri Rizqiaty, 07/15/2024 03:14 PM

 
1
??USE [MinovaES_Easy]
2

3
GO
4

5
/****** Object:  StoredProcedure [dbo].[PRPTFIBUKUBESAR]    Script Date: 15/07/2024 10.14.02 ******/
6

7
SET ANSI_NULLS ON
8

9
GO
10

11
SET QUOTED_IDENTIFIER ON
12

13
GO
14

15
ALTER PROCEDURE [dbo].[PRPTFIBUKUBESAR]
16

17
(
18

19
	@FiscalYear VARCHAR(20)
20

21
	,@FiscalPeriod VARCHAR(20)
22

23
	,@FiscalPeriodTo VARCHAR(20)
24

25
	,@CompanyID VARCHAR(20)
26

27
	,@GlAccount VARCHAR(20)
28

29
	,@BusinessUnit VARCHAR(20)
30

31
	,@AccountGroup VARCHAR(20)
32

33
	,@SubLedgerType VARCHAR(20)
34

35
	,@CostCenter VARCHAR(20)
36

37
	,@SubLedgerID VARCHAR(20)
38

39
)
40

41
AS
42

43

44

45
--DECLARE @FiscalYear VARCHAR(20) = '2023';
46

47
--DECLARE @FiscalPeriod VARCHAR(20) = '12';
48

49
--DECLARE @FiscalPeriodTo VARCHAR(20) = '12';
50

51
--DECLARE @CompanyID VARCHAR(20) = '';
52

53
--DECLARE @GlAccount VARCHAR(20) = '';
54

55
--DECLARE @BusinessUnit VARCHAR(20) = '';
56

57
--DECLARE @AccountGroup VARCHAR(20) = '';
58

59
--DECLARE @SubLedgerType VARCHAR(20) = '';
60

61
--DECLARE @CostCenter VARCHAR(20) = '';
62

63
--DECLARE @SubLedgerID VARCHAR(20) = '';
64

65

66

67
DECLARE @BeforePeriod VARCHAR(20)
68

69
    = SUBSTRING(CONVERT(NVARCHAR(8), DATEADD(d, -1, @FiscalYear + @FiscalPeriod + '01'), 112), 5, 2);
70

71
DECLARE @BeforeYear VARCHAR(20)
72

73
    = LEFT(CONVERT(NVARCHAR(8), DATEADD(d, -1, @FiscalYear + @FiscalPeriod + '01'), 112), 4);
74

75

76

77

78

79
DECLARE @TblSaldo TABLE
80

81
(
82

83
    RowNumber DECIMAL(18, 0),
84

85
    GLAccountID VARCHAR(30),
86

87
    GLAccounntDesc VARCHAR(250),
88

89
    DocNo VARCHAR(30),
90

91
    DocDesc VARCHAR(500),
92

93
    FiscalYear VARCHAR(20),
94

95
    FiscalPeriod VARCHAR(20),
96

97
    PostingDate VARCHAR(50),
98

99
    Currency VARCHAR(20),
100

101
    AmountDebet DECIMAL(30, 2),
102

103
    AmountCredit DECIMAL(30, 2),
104

105
    AmountBalance DECIMAL(30, 2),
106

107
    CompCurr VARCHAR(20),
108

109
    AmountDebetCompCurr DECIMAL(30, 2),
110

111
    AmountCreditCompCurr DECIMAL(30, 2),
112

113
    AmountBalanceCompCurr DECIMAL(30, 2),
114

115
    subledgertype VARCHAR(50),
116

117
    subledgerid VARCHAR(50),
118

119
    subledgerdesc VARCHAR(250),
120

121
    AccSubType VARCHAR(20),
122

123
    AccClass VARCHAR(20),
124

125
	ItemDesc VARCHAR(500)
126

127
);
128

129

130

131
DECLARE @TblSaldoAwal TABLE ---- buat peride initial balance
132

133
(
134

135
    RowNumber DECIMAL(18, 0),
136

137
    GLAccountID VARCHAR(30),
138

139
    GLAccounntDesc VARCHAR(250),
140

141
    DocNo VARCHAR(30),
142

143
    DocDesc VARCHAR(500),
144

145
    FiscalYear VARCHAR(20),
146

147
    FiscalPeriod VARCHAR(20),
148

149
    PostingDate VARCHAR(50),
150

151
    Currency VARCHAR(20),
152

153
    AmountDebet DECIMAL(30, 2),
154

155
    AmountCredit DECIMAL(30, 2),
156

157
    AmountBalance DECIMAL(30, 2),
158

159
    CompCurr VARCHAR(20),
160

161
    AmountDebetCompCurr DECIMAL(30, 2),
162

163
    AmountCreditCompCurr DECIMAL(30, 2),
164

165
    AmountBalanceCompCurr DECIMAL(30, 2),
166

167
    subledgertype VARCHAR(50),
168

169
    subledgerid VARCHAR(50),
170

171
    subledgerdesc VARCHAR(250),
172

173
    AccSubType VARCHAR(20),
174

175
    AccClass VARCHAR(20),
176

177
	ItemDesc VARCHAR(500)
178

179
);
180

181

182

183
DECLARE @TblSaldoSum TABLE
184

185
(
186

187
    AccSubType VARCHAR(20),
188

189
    AccClass VARCHAR(20),
190

191
    GLAccountID VARCHAR(50),
192

193
    AmountDebet DECIMAL(30, 2),
194

195
    AmountCredit DECIMAL(30, 2),
196

197
    AmountBalance DECIMAL(30, 2),
198

199
    AmountDebetCompCurr DECIMAL(30, 2),
200

201
    AmountCreditCompCurr DECIMAL(30, 2),
202

203
    AmountBalanceCompCurr DECIMAL(30, 2)
204

205
);
206

207

208

209
DECLARE @TPosting TABLE
210

211
(
212

213
    rowno DECIMAL(18, 0),
214

215
    [DocNo] [VARCHAR](15) NOT NULL,
216

217
    [DocItemID] [BIGINT] NOT NULL,
218

219
    [DocType] [VARCHAR](5) NULL,
220

221
    [DocDate] [VARCHAR](8) NULL,
222

223
    [DocStatus] [VARCHAR](2) NULL,
224

225
    [FiscalYear] [VARCHAR](5) NULL,
226

227
    [FiscalPeriod] [VARCHAR](5) NULL,
228

229
    [CompanyID] [VARCHAR](5) NULL,
230

231
    [BusinessUnit] [VARCHAR](10) NULL,
232

233
    [CostCenter] [VARCHAR](10) NULL,
234

235
    [SLType] [VARCHAR](30) NULL,
236

237
    [SLID] [VARCHAR](30) NULL,
238

239
    [PostingDate] [VARCHAR](8) NULL,
240

241
    [GLAccountID] [VARCHAR](20) NULL,
242

243
    [Currency] [VARCHAR](5) NULL,
244

245
    [AmountDebet] [DECIMAL](18, 2) NULL,
246

247
    [AmountCredit] [DECIMAL](18, 2) NULL,
248

249
    [AmountDebetCompCurr] [DECIMAL](18, 2) NULL,
250

251
    [AmountCreditCompCurr] [DECIMAL](18, 2) NULL,
252

253
    [CreateBy] [VARCHAR](18) NULL,
254

255
    [CreateDate] [VARCHAR](14) NULL,
256

257
    [ChangeBy] [VARCHAR](18) NULL,
258

259
    [ChangeDate] [VARCHAR](18) NULL,
260

261
    [CompanyCurrency] [VARCHAR](5) NULL,
262

263
    [ItemStatus] [VARCHAR](2) NULL
264

265
	,CashActivityType  [VARCHAR](50) 
266

267
	,CashActivityDetail [VARCHAR](50)
268

269
);
270

271

272

273
INSERT INTO @TPosting
274

275
SELECT DISTINCT
276

277
       ROW_NUMBER() OVER (PARTITION BY post.GLAccountID ORDER BY post.PostingDate, post.GLAccountID ASC),
278

279
       *
280

281
FROM dbo.PTRFILOPOSTING AS post
282

283
WHERE post.FiscalYear = @FiscalYear
284

285
      --AND (CONVERT(DECIMAL(22,0),post.FiscalPeriod) BETWEEN CONVERT(DECIMAL(22,0),@FiscalPeriod) AND CONVERT(DECIMAL(22,0),@FiscalPeriodTo))
286

287
      AND (post.FiscalPeriod
288

289
      BETWEEN @FiscalPeriod AND @FiscalPeriodTo
290

291
          )
292

293
      AND
294

295
      (
296

297
          post.GLAccountID = @GlAccount
298

299
          OR @GlAccount = ''
300

301
      )
302

303
      AND
304

305
      (
306

307
          post.CostCenter = @CostCenter
308

309
          OR @CostCenter = ''
310

311
      )
312

313
      AND
314

315
      (
316

317
          post.CompanyID = @CompanyID
318

319
          OR @CompanyID = ''
320

321
      );
322

323

324

325

326

327
INSERT INTO @TblSaldo
328

329
SELECT DISTINCT
330

331
       docpost.rowno,
332

333
       gl.GlAccount,
334

335
       gl.Description,
336

337
       docpost.DocNo,
338

339
       dochead.Description AS DocDesc,
340

341
       docpost.FiscalYear,
342

343
       docpost.FiscalPeriod,
344

345
       dbo.fn_formatdatetime_indonesia(docpost.PostingDate, 'dd/mm/yyyy') AS PostingDate,
346

347
       curr.CurrencyDescription,
348

349
       docpost.AmountDebet,
350

351
       docpost.AmountCredit,
352

353
       0,
354

355
       compcurr.CurrencyDescription,
356

357
       docpost.AmountDebetCompCurr,
358

359
       docpost.AmountCreditCompCurr,
360

361
       0,
362

363
       fltyp.Description AS subledgertype,
364

365
       fintem.SubLedgerID AS subledgerid,
366

367
       SL.[Description] AS subledgerdesc,
368

369
       gl.AccountSubTyp,
370

371
       gl.AccountClass,   
372

373
	   fintem.Description itemdesc
374

375
FROM dbo.PCMFILOCOAGL AS gl
376

377
    LEFT JOIN @TPosting AS docpost
378

379
        ON gl.GlAccount = docpost.GLAccountID
380

381
    LEFT JOIN dbo.PTRFINANCEHEAD AS dochead
382

383
        ON dochead.DocNo = docpost.DocNo
384

385
           AND
386

387
           (
388

389
               docpost.FiscalYear = @FiscalYear
390

391
               OR @FiscalYear = ''
392

393
           )
394

395
           AND (CONVERT(DECIMAL(22, 0), docpost.FiscalPeriod) >= CONVERT(DECIMAL(22, 0), @FiscalPeriod))
396

397
		   --LEFT JOIN PTRFINANCEITEM AS docitem WITH (NOLOCK) ON dochead.DocNo = docitem.DocNo
398

399
		   --	and docitem.GLAccountID =  gl.GlAccount
400

401
    LEFT JOIN dbo.PHRPYCURR AS curr
402

403
        ON curr.Currency = docpost.Currency
404

405
    LEFT JOIN dbo.PHRPYCURR AS compcurr
406

407
        ON compcurr.Currency = docpost.CompanyCurrency
408

409
    LEFT JOIN dbo.PTRFINANCEITEM AS fintem
410

411
        ON fintem.DocNo = dochead.DocNo
412

413
           AND fintem.GLAccountID = gl.GlAccount AND docpost.DocItemID = fintem.DocItemID
414

415
    LEFT JOIN PCMFILOSLTYPE AS fltyp
416

417
        ON fintem.SubLedgerType = fltyp.SubLedgerType
418

419
           AND fintem.GLAccountID = gl.GlAccount
420

421
    LEFT JOIN PMDSL0001 AS SL
422

423
        ON SL.SubLedgerID = fintem.SubLedgerID
424

425
WHERE (
426

427
          gl.AccountClass = @AccountGroup
428

429
          OR @AccountGroup = ''
430

431
      )
432

433
      AND
434

435
      (
436

437
          gl.GlAccount = @GlAccount
438

439
          OR @GlAccount = ''
440

441
      )
442

443
      AND
444

445
      (
446

447
          fintem.SubLedgerType = @SubLedgerType
448

449
          OR @SubLedgerType = ''
450

451
      )
452

453
	  AND
454

455
      (
456

457
          fintem.SubLedgerID = @SubLedgerID
458

459
          OR @SubLedgerID = ''
460

461
      )
462

463
          
464

465
--            AND ( docpost.FiscalYear = @FiscalYear OR @FiscalYear = '' )
466

467
--            AND ( docpost.FiscalPeriod = @FiscalPeriod OR @FiscalPeriod = '' )
468

469
--AND (docpost.CostCenter = @CostCenter OR @CostCenter = '')
470

471
ORDER BY gl.GlAccount;
472

473

474

475

476

477
DECLARE @TableGL TABLE
478

479
(
480

481
    GLAccountID VARCHAR(20) --, AccSubType VARCHAR(20), AccClass VARCHAR(20)
482

483
);
484

485

486

487
IF (@SubLedgerType <> '')
488

489
BEGIN
490

491
    INSERT INTO @TableGL
492

493
    SELECT DISTINCT
494

495
           GLAccountID --, AccSubType, AccClass
496

497
    FROM @TblSaldo;
498

499
END;
500

501
ELSE
502

503
BEGIN
504

505
    INSERT INTO @TableGL
506

507
    SELECT DISTINCT
508

509
           GlAccount --, AccountSubTyp, AccountClass
510

511
    FROM PCMFILOCOAGL;
512

513
END;
514

515

516

517
INSERT INTO @TblSaldoAwal ---- buat peride initial balance
518

519
SELECT DISTINCT
520

521
       '0',
522

523
       gl.GlAccount,
524

525
       gl.Description,
526

527
       '',
528

529
       'Saldo Awal',
530

531
       saldoawal.FiscalYear,
532

533
       saldoawal.FiscalPeriod,
534

535
       '',
536

537
       saldoawal.Currency,
538

539
       0,   --saldoawal.AmountDebet ,
540

541
       0,   --saldoawal.AmountCredit ,
542

543
       CASE
544

545
           WHEN gl.AccountType = 'PL'
546

547
                AND @FiscalPeriod = '01' THEN
548

549
               0
550

551
           ELSE
552

553
               ISNULL(saldoawal.AmountBalance, 0)
554

555
       END, --saldoawal.AmountBalance ,
556

557
       saldoawal.CompanyCurrency,
558

559
       0,   --saldoawal.AmountDebetCompCurr ,
560

561
       0,   --saldoawal.AmountCreditCompCurr ,
562

563
       CASE
564

565
           WHEN gl.AccountType = 'PL'
566

567
                AND @FiscalPeriod = '01' THEN
568

569
               0
570

571
           ELSE
572

573
               ISNULL(saldoawal.AmountBalanceCompCurr, 0)
574

575
       END, --saldoawal.AmountBalanceCompCurr ,
576

577
       '',
578

579
       '',
580

581
       '',
582

583
       gl.AccountSubTyp,
584

585
       gl.AccountClass,
586

587
	   ''
588

589
FROM dbo.PCMFILOCOAGL AS gl
590

591
    INNER JOIN @TableGL AS tgl
592

593
        ON gl.GlAccount = tgl.GLAccountID
594

595
    LEFT JOIN dbo.PTRFICOMPACCBALANCE AS saldoawal
596

597
        ON gl.GlAccount = saldoawal.GlAccount
598

599
           AND saldoawal.FiscalPeriod = @BeforePeriod
600

601
           AND saldoawal.FiscalYear = @BeforeYear
602

603
           AND
604

605
           (
606

607
               saldoawal.BusinessUnit = @BusinessUnit
608

609
               OR @BusinessUnit = ''
610

611
           )
612

613
           AND
614

615
           (
616

617
               saldoawal.CompanyID = @CompanyID
618

619
               OR @CompanyID = ''
620

621
           )
622

623
WHERE (
624

625
          gl.AccountClass = @AccountGroup
626

627
          OR @AccountGroup = ''
628

629
      )
630

631
      AND
632

633
      (
634

635
          gl.GlAccount = @GlAccount
636

637
          OR @GlAccount = ''
638

639
      )
640

641
      AND
642

643
      (
644

645
          saldoawal.CostCenter = @CostCenter
646

647
          OR @CostCenter = ''
648

649
      );
650

651

652

653
DECLARE @IsBeforePeriodExist DECIMAL(22,0) ---- buat peride initial balance
654

655
SELECT DISTINCT @IsBeforePeriodExist = FiscalPeriod FROM @TblSaldoAwal ---- buat peride initial balance
656

657

658

659
IF(@IsBeforePeriodExist IS NULL)  ---- buat peride initial balance
660

661
BEGIN
662

663
	INSERT INTO @TblSaldo
664

665
	SELECT DISTINCT
666

667
		   '0',
668

669
		   gl.GlAccount,
670

671
		   gl.Description,
672

673
		   '',
674

675
		   'Saldo Awal',
676

677
		   saldoawal.FiscalYear,
678

679
		   saldoawal.FiscalPeriod,
680

681
		   '',
682

683
		   saldoawal.Currency,
684

685
		   0,   --saldoawal.AmountDebet ,
686

687
		   0,   --saldoawal.AmountCredit ,
688

689
		   CASE
690

691
			   WHEN gl.AccountType = 'PL'
692

693
					AND @FiscalPeriod = '01' THEN
694

695
				   0
696

697
			   ELSE
698

699
				   ISNULL(saldoawal.AmountBalance, 0)
700

701
		   END, --saldoawal.AmountBalance ,
702

703
		   saldoawal.CompanyCurrency,
704

705
		   0,   --saldoawal.AmountDebetCompCurr ,
706

707
		   0,   --saldoawal.AmountCreditCompCurr ,
708

709
		   CASE
710

711
			   WHEN gl.AccountType = 'PL'
712

713
					AND @FiscalPeriod = '01' THEN
714

715
				   0
716

717
			   ELSE
718

719
				   ISNULL(saldoawal.AmountBalanceCompCurr, 0)
720

721
		   END, --saldoawal.AmountBalanceCompCurr ,
722

723
		   '',
724

725
		   '',
726

727
		   '',
728

729
		   gl.AccountSubTyp,
730

731
		   gl.AccountClass,
732

733
		   ''
734

735
	FROM dbo.PCMFILOCOAGL AS gl
736

737
		INNER JOIN @TableGL AS tgl
738

739
			ON gl.GlAccount = tgl.GLAccountID
740

741
		LEFT JOIN dbo.PTRFICOMPACCBALANCE AS saldoawal
742

743
			ON gl.GlAccount = saldoawal.GlAccount
744

745
			   AND saldoawal.FiscalPeriod = @FiscalPeriod
746

747
			   AND saldoawal.FiscalYear = @FiscalYear
748

749
			   AND
750

751
			   (
752

753
				   saldoawal.BusinessUnit = @BusinessUnit
754

755
				   OR @BusinessUnit = ''
756

757
			   )
758

759
			   AND
760

761
			   (
762

763
				   saldoawal.CompanyID = @CompanyID
764

765
				   OR @CompanyID = ''
766

767
			   )
768

769
	WHERE (
770

771
			  gl.AccountClass = @AccountGroup
772

773
			  OR @AccountGroup = ''
774

775
		  )
776

777
		  AND
778

779
		  (
780

781
			  gl.GlAccount = @GlAccount
782

783
			  OR @GlAccount = ''
784

785
		  )
786

787
		  AND
788

789
		  (
790

791
			  saldoawal.CostCenter = @CostCenter
792

793
			  OR @CostCenter = ''
794

795
		  );
796

797
END
798

799

800

801
INSERT INTO @TblSaldoSum
802

803
SELECT DISTINCT
804

805
       ts.AccSubType,
806

807
       ts.AccClass,
808

809
       ts.GLAccountID, --,ts.FiscalYear ,ts.FiscalPeriod
810

811
       SUM(ts.AmountDebet),
812

813
       SUM(ts.AmountCredit),
814

815
       SUM(ts.AmountBalance),
816

817
       SUM(ts.AmountDebetCompCurr),
818

819
       SUM(ts.AmountCreditCompCurr),
820

821
       SUM(ts.AmountBalanceCompCurr)
822

823
FROM @TblSaldo AS ts
824

825
GROUP BY ts.AccSubType,
826

827
         ts.AccClass,
828

829
         ts.GLAccountID; --,ts.FiscalYear ,ts.FiscalPeriod
830

831

832

833
INSERT INTO @TblSaldo
834

835
SELECT DISTINCT
836

837
       '9999999999999',
838

839
       saldoawal.GLAccountID,
840

841
       saldoawal.GLAccounntDesc,
842

843
       '',
844

845
       'Saldo Akhir',
846

847
       @FiscalYear,
848

849
       @FiscalPeriodTo,
850

851
       '',
852

853
       saldoawal.Currency,
854

855
       saldosum.AmountDebet,
856

857
       saldosum.AmountCredit,
858

859
       --saldoawal.AmountBalance ,
860

861
       CASE
862

863
           WHEN saldoawal.AccSubType = 'AS' THEN
864

865
               ISNULL(saldoawal.AmountBalance, 0) + ISNULL(saldosum.AmountDebet, 0) - ISNULL(saldosum.AmountCredit, 0)
866

867
           WHEN saldoawal.AccSubType = 'LI' THEN
868

869
               CASE
870

871
                   WHEN saldoawal.AccClass = 'EQX' THEN
872

873
       (ISNULL(saldoawal.AmountBalance, 0) + ISNULL(saldosum.AmountCredit, 0) + ISNULL(saldosum.AmountDebet, 0))
874

875
                   ELSE
876

877
       (ISNULL(saldoawal.AmountBalance, 0) + ISNULL(saldosum.AmountCredit, 0) - ISNULL(saldosum.AmountDebet, 0)) * -1
878

879
               END
880

881
           WHEN saldoawal.AccSubType = 'IN' THEN
882

883
       (ISNULL(saldoawal.AmountBalance, 0) + ISNULL(saldosum.AmountCredit, 0) - ISNULL(saldosum.AmountDebet, 0)) * -1
884

885
           WHEN saldoawal.AccSubType = 'EX' THEN
886

887
               ISNULL(saldoawal.AmountBalance, 0) + ISNULL(saldosum.AmountDebet, 0) - ISNULL(saldosum.AmountCredit, 0)
888

889
       END AmountBalanceNew,
890

891
       saldoawal.CompCurr,
892

893
       saldosum.AmountDebetCompCurr,
894

895
       saldosum.AmountCreditCompCurr,
896

897
       --saldoawal.AmountBalanceCompCurr ,
898

899
       CASE
900

901
           WHEN saldoawal.AccSubType = 'AS' THEN
902

903
               ISNULL(saldoawal.AmountBalanceCompCurr, 0) + ISNULL(saldosum.AmountDebetCompCurr, 0)
904

905
               - ISNULL(saldosum.AmountCreditCompCurr, 0)
906

907
           WHEN saldoawal.AccSubType = 'LI' THEN
908

909
               CASE
910

911
                   WHEN saldoawal.AccClass = 'EQX' THEN
912

913
       (ISNULL(saldoawal.AmountBalanceCompCurr, 0) + ISNULL(saldosum.AmountCreditCompCurr, 0)
914

915
        + ISNULL(saldosum.AmountDebetCompCurr, 0)
916

917
       )
918

919
                   ELSE
920

921
       (ISNULL(saldoawal.AmountBalanceCompCurr, 0) + ISNULL(saldosum.AmountCreditCompCurr, 0)
922

923
        - ISNULL(saldosum.AmountDebetCompCurr, 0)
924

925
       ) * -1
926

927
               END
928

929
           WHEN saldoawal.AccSubType = 'IN' THEN
930

931
       (ISNULL(saldoawal.AmountBalanceCompCurr, 0) + ISNULL(saldosum.AmountCreditCompCurr, 0)
932

933
        - ISNULL(saldosum.AmountDebetCompCurr, 0)
934

935
       ) * -1
936

937
           WHEN saldoawal.AccSubType = 'EX' THEN
938

939
               ISNULL(saldoawal.AmountBalanceCompCurr, 0) + ISNULL(saldosum.AmountDebetCompCurr, 0)
940

941
               - ISNULL(saldosum.AmountCreditCompCurr, 0)
942

943
       END AmountBalanceCompCurrNew,
944

945
       '',
946

947
       '',
948

949
       '',
950

951
       saldoawal.AccSubType,
952

953
       saldoawal.AccClass,
954

955
	   saldoawal.ItemDesc
956

957
FROM @TblSaldo AS saldoawal
958

959
    LEFT JOIN @TblSaldoSum AS saldosum
960

961
        ON saldosum.AccSubType = saldoawal.AccSubType
962

963
           AND saldosum.AccClass = saldoawal.AccClass
964

965
WHERE saldoawal.DocDesc = 'Saldo Awal'
966

967
      AND saldoawal.GLAccountID = saldosum.GLAccountID;
968

969

970

971
/*
972

973
INSERT  INTO @TblSaldo
974

975
        SELECT DISTINCT
976

977
                '9999999999999' ,
978

979
                gl.GlAccount ,
980

981
                gl.Description ,
982

983
                '' ,
984

985
                'Saldo Akhir' ,
986

987
                saldoawal.FiscalYear ,
988

989
                saldoawal.FiscalPeriod ,
990

991
                '' ,
992

993
                saldoawal.Currency ,
994

995
                saldoawal.AmountDebet ,
996

997
                saldoawal.AmountCredit ,
998

999
                saldoawal.AmountBalance ,
1000

1001
                saldoawal.CompanyCurrency ,
1002

1003
                saldoawal.AmountDebetCompCurr ,
1004

1005
                saldoawal.AmountCreditCompCurr ,
1006

1007
                saldoawal.AmountBalanceCompCurr ,
1008

1009
                '' ,
1010

1011
                '' ,
1012

1013
				''
1014

1015
        FROM    dbo.PCMFILOCOAGL AS gl
1016

1017
				INNER JOIN @TableGL AS tgl ON gl.GlAccount = tgl.GLAccountID
1018

1019
                LEFT JOIN dbo.PTRFICOMPACCBALANCE AS saldoawal ON gl.GlAccount = saldoawal.GlAccount
1020

1021
                                                              AND saldoawal.FiscalPeriod = @FiscalPeriod
1022

1023
                                                              AND saldoawal.FiscalYear = @FiscalYear
1024

1025
                                                              AND ( saldoawal.BusinessUnit = @BusinessUnit
1026

1027
                                                              OR @BusinessUnit = ''
1028

1029
                                                              )
1030

1031
                                                              AND ( saldoawal.CompanyID = @CompanyID
1032

1033
                                                              OR @CompanyID = ''
1034

1035
                                                              )
1036

1037
        WHERE  ( gl.AccountClass = @AccountGroup
1038

1039
                  OR @AccountGroup = ''
1040

1041
                )
1042

1043
                AND ( gl.GlAccount = @GlAccount
1044

1045
                      OR @GlAccount = ''
1046

1047
                    )
1048

1049
				AND (saldoawal.CostCenter = @CostCenter OR @CostCenter = '')
1050

1051
*/
1052

1053

1054

1055

1056

1057
SELECT DISTINCT
1058

1059
    --- *, a.subledgerid
1060

1061

1062

1063
       a.RowNumber,
1064

1065
       a.GLAccountID,
1066

1067
       a.GLAccounntDesc,
1068

1069
       a.DocNo,
1070

1071
       a.DocDesc,
1072

1073
       a.FiscalYear,
1074

1075
       a.FiscalPeriod,
1076

1077
       a.PostingDate,
1078

1079
       a.Currency,
1080

1081
       a.AmountDebet,
1082

1083
       a.AmountCredit,
1084

1085
       a.AmountBalance,
1086

1087
       a.CompCurr,
1088

1089
       a.AmountDebetCompCurr,
1090

1091
       a.AmountCreditCompCurr,
1092

1093
	   a.AmountBalanceCompCurr,
1094

1095
       --CASE WHEN a.AccSubType = 'IN' THEN a.AmountBalanceCompCurr  * -1 ELSE a.AmountBalanceCompCurr END AS AmountBalanceCompCurr,
1096

1097
       a.subledgertype,
1098

1099
       --a.subledgerid  ,
1100

1101

1102

1103
       CASE
1104

1105
           WHEN a.subledgerid IS NULL THEN
1106

1107
               ''
1108

1109
           ELSE
1110

1111
               a.subledgerid
1112

1113
       END AS subledgerid,
1114

1115
       a.subledgerdesc,
1116

1117
       a.AccSubType,
1118

1119
       a.AccClass,
1120

1121
	   a.ItemDesc
1122

1123
FROM @TblSaldo a
1124

1125
ORDER BY a.GLAccountID,
1126

1127
         a.RowNumber;
(1-1/6)