You are on page 1of 37

RPT-00050 : FI_LD_RPT_DISBURSEMENT

RPT-00054 : FI_LD_RPT_LOAN_OUTSTANDING

RPT-00182 : FI_RPT_DAILY_CASH_BOOK

RPT-00117 : FI_LD_RPT_INTEREST_INCOME_COLLECT_FEE

RPT-00149 : FI_LD_LOANFEE

-- SUB_JRN_TXN_MFI_PRN_COLL '','KHR','2015.01.01','2018.03.05' CREATE PROC


SUB_JRN_TXN_MFI_PRN_COLL( @BranchCode nvarchar(10), @CCY nvarchar(10),
@DateFrom date, @DateTo date ) --FI--WITH ENCRYPTION AS DECLARE
@COA_MULTI_CCY nvarchar(10) , @BCCY nvarchar(10) SET @COA_MULTI_CCY =
(SELECT ConstValue FROM sysConstants WHERE ConstName ='COA_MULTI_CCY' AND
BranchCode ='GLOBAL') SET @BCCY = (SELECT CCY FROM tblCurrencies WHERE
BaseCurrency =1) SET @BCCY = CASE WHEN @COA_MULTI_CCY ='Yes' THEN @BCCY ELSE '%'
END CREATE TABLE #SUB_JRN_TXN_MFI_PRN_COLL ( RCPT_NO nvarchar(50) ,
LDID nvarchar(50) , MRID nvarchar(2) , CAT_ID nvarchar(30) , VALUE_DATE
date , REMARK nvarchar(500) , N_EX_RATE money , ORG_AMT money ,
BASE_AMT money , CCY nvarchar(10) , CLASS_NAME nvarchar(50) ,
BranchCode nvarchar(10) , IndOrd int , D_ACC_ID nvarchar(50) ,
C_ACC_ID nvarchar(50) , FormID nvarchar(30), FormName nvarchar(50),
FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit, Style_Show
nvarchar(1), ProjectName nvarchar(50) ); --Status Loan SELECT '1Y' AS
STATUS_Y, '(<= 1 Year)' AS StatusYear, 1 AS Y_ORD INTO #tmp_LD_PRN_COLL_STATUS
UNION SELECT '2Y' AS STATUS_Y, '(> 1 Year)' AS StatusYear, 2 AS Y_ORD; --Chart
of Accounts --LOAN_OS WITH TMP_A AS(--Default Setup SELECT APP_ID, OBJ_ID,
GL_TYPE, CCY, ACC_ID FROM tblAccDefaultCenterDetails WHERE CtrlName
IN('txt_los_1Y_1','txt_los_1Y_2','txt_los_1Y_3','txt_los_1Y_4','txt_los_2Y_1','txt_
los_2Y_2','txt_los_2Y_3','txt_los_2Y_4') AND APP_ID ='LOAN_OS' AND OBJ_ID LIKE
'DEFAULT_SET%' ) , TMP_C AS( SELECT A.category_id +'_'+ STATUS_Y AS
LINK_ID FROM tblCategories A , #tmp_LD_PRN_COLL_STATUS B WHERE
A.cate_type ='LD' ) , TMP_D AS(--Customized Setup SELECT OBJ_ID, GL_TYPE,
CCY, ACC_ID FROM tblAccDefaultCenterDetails WHERE APP_ID ='LOAN_OS' ) , TMP_E
AS( SELECT A.*, B.LINK_ID FROM TMP_D A INNER JOIN TMP_C B ON A.OBJ_ID
= LINK_ID ) SELECT A.APP_ID, A.GL_TYPE, A.CCY, B.LINK_ID, ISNULL(B.ACC_ID,
A.ACC_ID) AS ACC_ID INTO #tmp_COA_LDPRN_COLL_ORG FROM TMP_A A LEFT JOIN
TMP_E B ON A.GL_TYPE = B.GL_TYPE AND A.CCY = B.CCY; SELECT * INTO
#tmp_COA_LDPRN_COLL FROM #tmp_COA_LDPRN_COLL_ORG WHERE 1=2; IF @COA_MULTI_CCY
='Yes' BEGIN WITH TMP_A AS( SELECT * FROM #tmp_COA_LDPRN_COLL_ORG WHERE
CCY LIKE @BCCY ) INSERT INTO #tmp_COA_LDPRN_COLL SELECT A.APP_ID,
A.GL_TYPE, B.CCY, A.LINK_ID, A.ACC_ID FROM TMP_A A, tblCurrencies B; END
ELSE BEGIN INSERT INTO #tmp_COA_LDPRN_COLL SELECT * FROM
#tmp_COA_LDPRN_COLL_ORG; END; --
===================================================================================
===== --Saving WITH TMP_A AS( SELECT APP_ID, OBJ_ID, GL_TYPE, CCY,
ACC_ID FROM tblAccDefaultCenterDetails WHERE CtrlName ='txt_sav_1' AND APP_ID
='SAV' AND OBJ_ID LIKE 'DEFAULT_SET%' ) , TMP_B AS( SELECT A.category_id
AS LINK_ID, B.* FROM tblCategories A , TMP_A B WHERE A.cate_type ='SV'
) , TMP_C AS( SELECT OBJ_ID, GL_TYPE, CCY, ACC_ID FROM
tblAccDefaultCenterDetails WHERE APP_ID ='SAV' AND OBJ_ID NOT LIKE 'DEFAULT_SET%'
) SELECT A.APP_ID, A.GL_TYPE, A.CCY, A.LINK_ID, ISNULL(B.ACC_ID, A.ACC_ID) AS
ACC_ID INTO #tmp_COA_LDPRN_COLL_SAV_ORG FROM TMP_B A LEFT JOIN TMP_C B
ON A.LINK_ID = B.OBJ_ID AND A.GL_TYPE = B.GL_TYPE AND A.CCY = B.CCY; SELECT *
INTO #tmp_COA_LDPRN_COLL_SAV FROM #tmp_COA_LDPRN_COLL_SAV_ORG WHERE 1=2; IF
@COA_MULTI_CCY ='Yes' BEGIN WITH TMP_A AS( SELECT * FROM
#tmp_COA_LDPRN_COLL_SAV_ORG WHERE CCY LIKE @BCCY ) INSERT INTO
#tmp_COA_LDPRN_COLL_SAV SELECT A.APP_ID, A.GL_TYPE, B.CCY, A.LINK_ID, A.ACC_ID
FROM TMP_A A, tblCurrencies B; END ELSE BEGIN INSERT INTO
#tmp_COA_LDPRN_COLL_SAV SELECT * FROM #tmp_COA_LDPRN_COLL_SAV_ORG; END; --
===================================================================================
===== --
===================================================================================
================================== --Main Loan Info SELECT L.LDID, c.MRID,
L.disburse, L.period, L.loan_term, L.category_id, L.currency_id AS CCY,
c.class_name, c.class_id , CASE WHEN (loan_term <=12 and period ='M') or
(loan_term <=6 and period ='2M') or (loan_term <=52 and period ='W') or (loan_term
<=26 and period ='2W') or (loan_term <=17 and period ='3W') or (loan_term <=13 and
period ='4W') or (loan_term <=360 and period ='D') or (loan_term <=180 and period
='2D') or (loan_term <=120 and period ='3D') or (loan_term <=90 and period ='4D')
THEN '1Y' ELSE '2Y' END AS LdYear , l.BranchCode, c.AccountID INTO
#tblLD1_PRN_COLL FROM tbLLDLoans L INNER JOIN tblldClients c ON l.ldid=c.ldid
INNER JOIN sysBranches B ON L.branchCode = B.BranchCode WHERE (B.BranchCode LIKE
@BranchCode + '%' OR B.SubOfBranchCode LIKE @BranchCode + '%') AND L.disburse
<= @DateTo --AND (L.inactive IS NULL OR L.inactive>@DateTo) And l.currency_id
LIKE CASE WHEN ISNULL(@CCY,'') ='' THEN '%' ELSE @CCY END SELECT c.ldid,
c.mrid, a.class_id, MAX(c.Class_Date) AS Class_Date INTO #tblClass1_PRN_COLL
FROM #tblLD1_PRN_COLL a INNER JOIN tblLDLoanClasses c ON a.LDID = c.ldid AND
a.mrid=c.mrid WHERE c.Class_Date <= @DateTo GROUP BY c.ldid, c.mrid, a.class_id
SELECT DISTINCT a.*,b.class_name INTO #tblClass2_PRN_COLL FROM
#tblClass1_PRN_COLL a INNER JOIN tblLDLoanClasses b ON a.ldid = b.ldid AND
a.mrid = b.mrid AND a.Class_Date = b.Class_Date --
===================================================================================
================================== --Account Info SELECT A.AccountID,
A.currency_id, A.branchCode, A.category_id, B.LDID, B.MRID INTO
#tmpAccInfo_PRN_COLL FROM tblAccounts A INNER JOIN #tblLD1_PRN_COLL B ON
A.AccountID = B.AccountID --
===================================================================================
================================== --Main Loan OS SELECT a.LDID, a.MRID,
a.disburse, a.period, a.loan_term, a.LdYear , a.category_id AS LD_CAT ,
A.category_id +'_'+ A.LdYear AS LD_CAT_Y , A.CCY , ISNULL(b.class_name,
a.class_name) AS class_name , ISNULL(s.class_id, a.class_id) AS class_id,
ISNULL(s.class_type, 'I') AS class_type , s.int_pro_rate, s.prin_sp_rate,
s.prin_gen_rate, a.BranchCode, a.AccountID AS DRW_ACC_ID, C.category_id AS SV_CAT
, dbo.fi_getExchnageByDate(@DateTo, A.CCY) AS N_EX_RATE INTO #tblLD2_PRN_COLL
FROM #tblLD1_PRN_COLL a LEFT JOIN #tblClass2_PRN_COLL b ON a.ldid = b.ldid AND
a.MRID=b.MRID LEFT JOIN sysLoanClasses s ON b.class_name = s.class_name AND
b.class_id=s.class_id INNER JOIN #tmpAccInfo_PRN_COLL C ON A.AccountID =
C.AccountID AND a.ldid = C.ldid AND a.MRID = C.MRID; --
===================================================================================
================================== --Loan Payments WITH TMP_A AS( SELECT
A.LDID, A.MRID, A.value_date AS rcpt_date, A.receipt_no AS rcpt_no ,
ABS(SUM(A.trans_amount)) AS principal , ABS(SUM(A.BaseAmt)) AS B_principal
FROM tblTransactions A WHERE A.value_date BETWEEN @DateFrom AND @DateTo AND
A.trans_code IN('13','22') AND A.reversed =0 GROUP BY A.LDID, A.MRID,
A.value_date, A.receipt_no ) SELECT A.* , B.principal --,
dbo.GBL_CCY_Convert_2Based(A.CCY, B.principal, A.N_EX_RATE) AS B_principal ,
B.B_principal , B.rcpt_date, B.rcpt_no INTO #tmp_LD_PRN_COLL FROM
#tblLD2_PRN_COLL A INNER JOIN TMP_A B ON A.LDID = B.LDID AND A.MRID = B.MRID --
===================================================================================
================================== --Loan Principal Collect --Standard
INSERT INTO #SUB_JRN_TXN_MFI_PRN_COLL SELECT A.rcpt_no , A.LDID , A.MRID
, A.LD_CAT , A.rcpt_date AS VALUE_DATE , NULL AS REMARK ,
A.N_EX_RATE , A.principal , A.B_principal , A.CCY , A.class_name ,
A.branchCode AS BranchCode , 0 AS IndOrd , B.ACC_ID AS D_ACC_ID ,
C.ACC_ID AS C_ACC_ID --Form Info , NULL AS FormID , NULL AS
FormName , NULL AS FormCaption , NULL AS EXE_NAME , NULL AS IsBased ,
NULL AS Style_Show , NULL AS ProjectName FROM #tmp_LD_PRN_COLL A INNER JOIN
#tmp_COA_LDPRN_COLL_SAV B ON A.SV_CAT = B.LINK_ID AND A.CCY = B.CCY INNER JOIN
#tmp_COA_LDPRN_COLL C ON A.LD_CAT_Y = C.LINK_ID AND A.CCY = C.CCY WHERE
A.class_name ='STD1' AND C.GL_TYPE LIKE 'GL_LDSTD_%'; --Substandard
INSERT INTO #SUB_JRN_TXN_MFI_PRN_COLL SELECT A.rcpt_no , A.LDID , A.MRID
, A.LD_CAT , A.rcpt_date AS VALUE_DATE , NULL AS REMARK ,
A.N_EX_RATE , A.principal , A.B_principal , A.CCY , A.class_name ,
A.branchCode AS BranchCode , 0 AS IndOrd , B.ACC_ID AS D_ACC_ID ,
C.ACC_ID AS C_ACC_ID --Form Info , NULL AS FormID , NULL AS
FormName , NULL AS FormCaption , NULL AS EXE_NAME , NULL AS IsBased ,
NULL AS Style_Show , NULL AS ProjectName FROM #tmp_LD_PRN_COLL A INNER JOIN
#tmp_COA_LDPRN_COLL_SAV B ON A.SV_CAT = B.LINK_ID AND A.CCY = B.CCY INNER JOIN
#tmp_COA_LDPRN_COLL C ON A.LD_CAT_Y = C.LINK_ID AND A.CCY = C.CCY WHERE
A.class_name ='SSTD' AND C.GL_TYPE LIKE 'GL_LDSSTD_%'; --Doubtful INSERT
INTO #SUB_JRN_TXN_MFI_PRN_COLL SELECT A.rcpt_no , A.LDID , A.MRID ,
A.LD_CAT , A.rcpt_date AS VALUE_DATE , NULL AS REMARK , A.N_EX_RATE ,
A.principal , A.B_principal , A.CCY , A.class_name , A.branchCode AS
BranchCode , 0 AS IndOrd , B.ACC_ID AS D_ACC_ID , C.ACC_ID AS C_ACC_ID
--Form Info , NULL AS FormID , NULL AS FormName , NULL AS FormCaption ,
NULL AS EXE_NAME , NULL AS IsBased , NULL AS Style_Show , NULL AS
ProjectName
FROM #tmp_LD_PRN_COLL A INNER JOIN #tmp_COA_LDPRN_COLL_SAV B ON A.SV_CAT =
B.LINK_ID AND A.CCY = B.CCY INNER JOIN #tmp_COA_LDPRN_COLL C ON A.LD_CAT_Y =
C.LINK_ID AND A.CCY = C.CCY WHERE A.class_name ='DEF' AND C.GL_TYPE LIKE
'GL_LDDBF_%'; --Loss INSERT INTO #SUB_JRN_TXN_MFI_PRN_COLL SELECT A.rcpt_no
, A.LDID , A.MRID , A.LD_CAT , A.rcpt_date AS VALUE_DATE , NULL AS
REMARK , A.N_EX_RATE , A.principal , A.B_principal , A.CCY ,
A.class_name , A.branchCode AS BranchCode , 0 AS IndOrd , B.ACC_ID AS
D_ACC_ID , C.ACC_ID AS C_ACC_ID --Form Info , NULL AS FormID , NULL
AS FormName , NULL AS FormCaption , NULL AS EXE_NAME , NULL AS
IsBased , NULL AS Style_Show , NULL AS ProjectName FROM #tmp_LD_PRN_COLL A
INNER JOIN #tmp_COA_LDPRN_COLL_SAV B ON A.SV_CAT = B.LINK_ID AND A.CCY = B.CCY
INNER JOIN #tmp_COA_LDPRN_COLL C ON A.LD_CAT_Y = C.LINK_ID AND A.CCY = C.CCY
WHERE A.class_name ='LOS' AND C.GL_TYPE LIKE 'GL_LDLOSS_%'; --
===================================================================================
================================== SELECT * FROM #SUB_JRN_TXN_MFI_PRN_COLL;
-- SUB_JRN_TXN_MFI_PRN_COLL '','KHR','2015.01.01','2018.03.05'

==========================
-- fi_ld_loanFee '006','2022.10.01', '2022.10.31', 'KHR' CREATE PROC [dbo].
[fi_ld_loanFee] @pBranchCode NVARCHAR(6), @pDateFrm DATE, @pDateTo DATE,
@pCurrencyCode NVARCHAR(3) AS BEGIN Declare @vBranchName nvarchar(50) IF
@pBranchCode='ALL' BEGIN SET @pBranchCode='%' SET @vBranchName='ALL' END
ELSE BEGIN sET @vBranchName=isnull((select top 1 BranchName from sysBranches
where BranchCode =@pBranchCode),'') END Declare @varRpt nvarchar(150)
Declare @varCcy nvarchar(100) SET @varRpt='Selected Period From: ' +
upper(CONVERT(nvarchar(20),@pDateFrm,106)) +' To '+
upper(CONVERT(nvarchar(20),@pDateTo,106)) SET @varCcy='Selected Currency: ' +
ISNULL((select top 1 ShortName from tblCurrencies where CurrencyID =
@pCurrencyCode),'') --------------------------active client----------------
select c.LDID,MRID,c.CustomerID,r.local_surname+' '+r.local_Lastname as
ClientName ,c.AccountID ,l.category_id ,l.disburse ,l.branchCode ,c.class_id,
l.currency_id CCY , c.inactive, c.principal , isnull(c.class_name,'') WO,
c.flag into #tblActClient from tbLLDLoans l inner join tblLDClients c on
l.LDID =c.LDID inner join tblCustomers r on c.CustomerID=r.CustomerID where
l.disburse <=@pDateTo and l.currency_id like @pCurrencyCode+'%' and
l.branchCode LIKE @pBranchCode+'%' --select * from #tblActClient where
LDID='KCMLR0003291B' delete #tblActClient where flag=3 -----------------
open accrued Income------------- select c.LDID,c.MRID,sum(a.accrfeeNew) as
AccInc into #tblAccInc from #tblActClient c left join tblLDAccruedInterests a
on c.LDID=a.LDID and c.MRID =a.MRID --inner join sysLoanClasses s on
a.status=s.class_name and c.class_id=s.class_id where a.accrued_date < @pDateFrm
---and a.status='STD1' group by c.LDID,c.MRID ----------------- open accrued
Suspend------------- select c.LDID,c.MRID,sum(a.accrfeeNew) as AccSus into
#tblAccSus from #tblActClient c left join tblLDAccruedInterests a on
c.LDID=a.LDID and c.MRID =a.MRID --inner join sysLoanClasses s on
a.status=s.class_name and c.class_id=s.class_id where a.accrued_date < @pDateFrm
and a.status<>'STD1' group by c.LDID,c.MRID
----------------------------------- select a.LDID,a.MRID, isnull(i.AccInc,0) as
AccInc,ISNULL(s.AccSus,0) as AccSus into #tblAccure from #tblActClient a left
join #tblAccInc i on a.ldid=i.ldid and a.mrid=i.mrid left join #tblAccSus s on
a.ldid=s.ldid and a.mrid=s.mrid ----------------Open Collect------------- --
select c.LDID,c.MRID,isnull(sum(p.income),0) as IncCollect,isnull(sum(p.suspend),0)
as SusCollect --into #tblOpenCollect --from #tblActClient c left join
tblLDPayments p on c.LDID =p.LDID and c.MRID =p.MRID --where p.rcpt_date <
@pDateFrm and p.flag='0' --group by c.LDID,c.MRID ;with tmp_a as( select
LDID, MRID, SUM(Amount) as IncCollect from tblLDCollectByClass where TXN_TYPE ='N'
and date < @pDateFrm group by LDID, MRID ) select a.LDID, a.MRID,
isnull(b.IncCollect, 0) as IncCollect, 0 as SusCollect into #tblOpenCollect
from #tblActClient a left join tmp_a b on a.LDID = b.LDID and a.MRID = b.MRID
-----------------get Open Accrue-------------- select a.LDID,a.mrid,A.AccInc-
isnull(c.IncCollect,0) AS OpenInc,a.AccSus-ISNULL(c.SusCollect,0) as OpenSus into
#tblOpenAcrue from #tblAccure a left join #tblOpenCollect c on a.ldid=c.ldid and
a.mrid=c.mrid -------------------Current Accrued inc-------------- select
c.LDID,c.MRID ,sum(a.accrfeeNew) as CurAccInc into #tblCurInc from
#tblActClient c left join tblLDAccruedInterests a on c.LDID=a.LDID and c.MRID
=a.MRID --inner join sysLoanClasses s on a.status=s.class_name and
c.class_id=s.class_id where a.accrued_date>= @pDateFrm and a.accrued_date
<=@pDateTo --and a.status='STD1' group by c.LDID,c.MRID
-------------------Current Accrued susp-------------- select
c.LDID,c.MRID ,sum(a.accrfeeNew) as CurAccSus into #tblCurSus from
#tblActClient c left join tblLDAccruedInterests a on c.LDID=a.LDID and c.MRID
=a.MRID --inner join sysLoanClasses s on a.status=s.class_name and
c.class_id=s.class_id where a.accrued_date>=@pDateFrm and
a.accrued_date<=@pDateTo and a.status<>'STD1' group by c.LDID,c.MRID
-------------------Current Collect-------------- --select
c.LDID,c.MRID,isnull(sum(p.income),0) as ColInc,isnull(sum(p.suspend),0) as ColSus
--into #tblIncCollect --from #tblActClient c left join tblLDPayments p on c.LDID
=p.LDID and c.MRID =p.MRID --where p.rcpt_date>=@pDateFrm and
p.rcpt_date<=@pDateTo and p.flag=0 --group by c.LDID,c.MRID ;with tmp_a as(
select LDID, MRID, SUM(Amount) as ColInc from tblLDCollectByClass where TXN_TYPE
='N' and date >= @pDateFrm and date <= @pDateTo group by LDID, MRID ) select
a.LDID, a.MRID, isnull(b.ColInc, 0) as ColInc, 0 as ColSus into #tblIncCollect
from #tblActClient a left join tmp_a b on a.LDID = b.LDID and a.MRID = b.MRID
-----------------Write OFF---------------------- select
c.LDID,c.MRID,isnull(sum(p.interest),0) OpenWoInc ,isnull(sum(p.suspend),0) as
OpenWoSus ,isnull(sum(p.colfee),0) OpenWoColFee ,isnull(sum(p.newfee),0) as
OpenWonewfee , 'WO' StatusWO into #tblOpenWriteOff from #tblActClient c
left join tblLDWriteOffs p on c.LDID =p.LDID and c.MRID =p.MRID where
p.trans_date<=@pDateFrm ---and p.LDID not in ('KCMLR0003291B') group by
c.LDID,c.MRID --select * from #tblOpenWriteOff where LDID='KCMLR0003291B' --
select * from tblLDWriteOffs where LDID='KCMLR0003291B' --select * from
#tblActClient where LDID='KCMLR0003291B' select
c.LDID,c.MRID,isnull(sum(p.interest),0) WoInc ,isnull(sum(p.suspend),0) as WoSus
,isnull(sum(p.colfee),0) CurWoColFee ,isnull(sum(p.newfee),0) as CurWonewfee ,
'WO' StatusWO into #tblCurrWriteOff from #tblActClient c left join
tblLDWriteOffs p on c.LDID =p.LDID and c.MRID =p.MRID where p.trans_date>=
@pDateFrm and p.trans_date<=@pDateTo group by c.LDID,c.MRID
------------------------------------------- CREATE TABLE #tblIncomes([Branch]
[nvarchar](100) NULL,[LDID] [nvarchar](26) NULL,[MRID] [nvarchar](10) NULL,
[disburse] [nvarchar](20) NULL,[OpenInc] [nvarchar](50) NULL, [OpenSus]
[nvarchar](50) NULL,[AcrInc] [nvarchar](50) NULL,[AcrSus] [nvarchar](50) NULL,
[ColInc] [nvarchar](50) NULL,[ColSus] [nvarchar](50) NULL, [WoInc] [nvarchar](50)
NULL,[WoSus] [nvarchar](50) NULL,[EndInc] [nvarchar](50) NULL,[EndSus] [nvarchar]
(50) NULL,[Ord] [varchar](1) NULL,[Branchcode] [varchar](50) NULL, CCY
nvarchar(50), StatusWO nvarchar(50),PAYOFF nvarchar(50),Principal nvarchar(50) ,
WO nvarchar(50)) --CREATE TABLE #tblIncomes([Branch] [nvarchar](100) NULL,
[CustomerID] [nvarchar](15) NULL,[AccountID] [nvarchar](20) NULL,[ClientName]
[nvarchar](101) NULL, --[LDID] [nvarchar](26) NULL,[disburse] [nvarchar](20)
NULL,[OpenInt] [nvarchar](50) NULL,[OpenSus] [nvarchar](50) NULL,[AcrInt]
[nvarchar](50) NULL, --[AcrSus] [nvarchar](50) NULL,[ColInt] [nvarchar](50)
NULL,[ColSus] [nvarchar](50) NULL,[WoInt] [nvarchar](50) NULL,[WoSus] [nvarchar]
(50) NULL, --[EndInt] [nvarchar](50) NULL,[EndSus] [nvarchar](50) NULL,[Ord]
[varchar](1) NOT NULL) -------------------- insert into #tblIncomes ([Branch],
[Ord]) Values ('CALAMITY LOAN FEE','B') insert into #tblIncomes ([Branch],[Ord])
Values ('Branch Name: ' +@vBranchName,'D') insert into #tblIncomes ([Branch],
[Ord]) Values (@varRpt,'E') insert into #tblIncomes ([Branch],[Ord]) Values
(@varCcy,'G') insert into #tblIncomes ([Branch],[Ord]) Values (NULL,'I') insert
into #tblIncomes Values ('No','LD Number','Member ID','Disburse','Open Fee','Open
Suspen','Accrue Fee','Accrue Suspend','Collect Fee','Collect Suspend','WO Fee','WO
Suspend','End Fee','End Suspend','J','Branch Code','CCY','StatusWO', 'Inactive
Date','Principal','Status WO') --insert into #tblIncomes Values ('No','CIF','Acc
ID', 'Customer Name','LD Number','Disburse','Open Income','Open Suspen','Accrue
Income','Accrue Suspend','Collect Income','Collect Suspend','WO income','WO
Suspend','End Income','End Suspend','J') -------------------- select
dbo.GBL_Format_String( ROW_NUMBER() OVER(ORDER BY
c.branchcode,c.LDID,c.mrid),6,'0') as Branch,c.LDID ,c.MRID,
upper(CONVERT(nvarchar(20),c.disburse,13)) as disburse , isnull(o.OpenInc,0) as
OpenInc,isnull(o.OpenSus,0) as OpenSus, isnull(a.CurAccInc,0) as
AcrInc,isnull(s.CurAccSus,0) as AcrSus, ISNULL(l.ColInc,0) as
ColInc,ISNULL(l.ColSus,0) as ColSus, ISNULL(w.OpenWoInc,0) as
OpenWoInc,ISNULL(w.OpenWoSus,0) as OpenWoSus, ISNULL(m.WoInc,0) as
WoInc,ISNULL(m.WoSus,0) as WoSus, isnull(o.OpenInc,0) +isnull(a.CurAccInc,0)-
ISNULL(l.ColInc,0) as EndInc, isnull(o.OpenSus,0)+isnull(s.CurAccSus,0)-
ISNULL(l.ColSus,0)-ISNULL(w.OpenWoSus,0)-ISNULL(m.WoSus,0) as EndSus,'R' as
Ord , c.Branchcode,c.CCY ,case when isnull(m.StatusWO,'')='' then
isnull(w.StatusWO,'') else m.StatusWO end StatusWO ,
isnull(P.TRANS_DATE,c.inactive) TRANS_DATE , c.inactive, c.principal , case
when isnull(m.StatusWO,'')='' then isnull(w.StatusWO,'') else m.StatusWO end WO
into #tblint from #tblActClient c left join #tblOpenAcrue O on c.ldid=o.ldid
and c.mrid=o.mrid left join #tblCurInc a on c.ldid=a.ldid and a.mrid=c.mrid
left join #tblCurSus s on c.ldid=s.ldid and s.mrid=c.mrid left join
#tblIncCollect l on c.ldid=l.ldid and l.mrid=c.mrid left join #tblOpenWriteOff
w on c.ldid=w.ldid and c.mrid=w.mrid left join #tblCurrWriteOff m on
c.ldid=m.ldid and c.mrid=m.mrid LEFT JOIN tblLDPayOffs P on c.ldid=P.ldid and
P.mrid=c.mrid inner join sysBranches b on c.branchcode=b.BranchCode order by
c.LDID,c.MRID ------------------- --select * from #tblint where
LDID='KCMLR0003291B' --select * from #tblint where LDID='KCMLR0003291B' --
delete #tblint
where inactive is null --delete #tblint where EndInc=0 --select * from #tblint
where LDID='LD00037800703' SELECT LDID,MAX(MRID) MRID INTO #tmpGroup FROM
#tblint WHERE MRID>1 GROUP BY LDID --UPDATE #tblint SET LDID = LDID + '/' + MRID
WHERE LDID IN (SELECT LDID FROM #tmpGroup) insert into #tblIncomes
(Branch,disburse,OpenInc,OpenSus ,AcrInc ,AcrSus,ColInc ,ColSus ,WoInc ,WoSus ,EndI
nc ,EndSus,Ord) select
'999999','Total',SUM(OpenInc),SUM(OpenSus),SUM(AcrInc),SUM(AcrSus),SUM(ColInc),SUM(
ColSus),SUM(WoInc),SUM(WoSus), SUM(EndInc),SUM(EndSus),'X' from #tblint --
where OpenInc+AcrInc+ColInc+EndInc<>0 insert into #tblIncomes select
Branch,LDID,MRID,disburse,OpenInc,OpenSus ,AcrInc ,AcrSus,ColInc ,ColSus ,WoInc ,Wo
Sus ,EndInc ,EndSus,Ord,Branchcode,CCY,StatusWO,TRANS_DATE,Principal, WO from
#tblint where OpenInc+AcrInc+ColInc+OpenWoInc+EndInc<>0 select
c.Branch,c.LDID,c.MRID,c.disburse,c.Principal,c.OpenInc OpenFee,c.AcrInc AcrFee,
c.ColInc ColFee, c.EndInc EndFee,Branchcode,CCY,PAYOFF [Inactive Date], WO [Status
WO] from #tblIncomes c order by Ord,Branch --select
OrdNo,LDID,MRID,Disburse,Principal,OpenFee,FeeAccrued,FeeCollect,EndFee,CCY,Inactiv
eDate --from #LoanFee --ORDER BY ORD END

===============

--USE [Reports] --GO --/****** Object: StoredProcedure [dbo].


[fi_rpt_cmm_Collateral_os_List] Script Date: 12/7/2023 10:06:20 AM ******/ --
SET ANSI_NULLS ON --GO --SET QUOTED_IDENTIFIER ON --GO --exec
[fi_rpt_cmm_Collateral_os_List] '02', '2016-08-29', '' CREATE PROCedure [dbo].
[fi_rpt_cmm_Collateral_os_List] @pBranchCode nvarchar(20), @pDateTo DateTime,
@pOfficer NVARCHAR(15)='' , @pCCO NVARCHAR(15)='' , @pCurrencyCode nvarchar(3)
= '' as begin Declare @vBranchName nvarchar(50) IF @pBranchCode='ALL' BEGIN
SET @pBranchCode='%' SET @vBranchName='ALL' END ELSE BEGIN sET
@vBranchName=isnull((SELECT top 1 BranchShort FROM sysBranches WHERE BranchCode
=@pBranchCode),'') END IF @pCurrencyCode = '' OR @pCurrencyCode = 'All'
BEGIN SET @pCurrencyCode = '%' END declare @po nvarchar(max)='' IF
@pOfficer='' OR @pOfficer = '%' OR @pOfficer = 'ALL' BEGIN SET @pOfficer='%'
set @po='' END ELSE BEGIN SET @po=isnull((SELECT top 1 ID FROM sysofficers
WHERE id=@pOfficer),'') END --SELECT @po Declare @varRpt nvarchar(150)
Declare @varCcy nvarchar(100) SET @varRpt='Report Period End :' +
upper(CONVERT(nvarchar(20),@pDateTo,106)) SELECT ROW_NUMBER() OVER(PARTITION BY
CUSTOMERID ORDER BY CUSTOMERID ASC) ROW1,* INTO #ACCOUNTSAVING FROM tblAccounts
--SELECT * FROM #ACCOUNTSAVING DELETE FROM #ACCOUNTSAVING WHERE ROW1 >1
CREATE TABLE #tblCol1( [branchCode] [nvarchar](50) NULL, [id]
[nvarchar](50) NULL, [ld_id] [nvarchar](50) NULL, [MRID] [nvarchar]
(50) NULL, [customerid] [nvarchar](50) NULL, [Customer] [nvarchar](100)
NULL, [Owner] [nvarchar](50) NULL, [spouse] [nvarchar](50) NULL,
[Relation] [nvarchar](50) NULL, [deposit_date] [nvarchar](50) NULL,
[total_VALUES] [nvarchar](50) NULL, [currency_id] [nvarchar](50) NULL,
[Owner1] [nvarchar](50) NULL, [Owner_Ralation] [nvarchar](50) NULL,
[owner_partner] [nvarchar](50) NULL, [Owner_Ralation1] [nvarchar](50) NULL,
[book] [nvarchar](50) NULL, [page] [nvarchar](50) NULL, [officer_id]
[nvarchar](250) NULL, [LeaderID] [nvarchar](50) NULL) IF @pOfficer = '%'
BEGIN INSERT INTO #tblCol1 SELECT b.BranchShort as branchCode,
c.id , c.ld_id, cl.MRID, c.customerid ,
isnull(e.local_surname,' ') +' '+ isnull(e.local_Lastname,'') as
Customer ,c.is_owner as Owner, c.spouse, t.description as Relation,
c.deposit_date , c.total_VALUES , c.currency_id , c.owner as Owner1,
t1.description as Owner_Ralation , c.owner_partner , t2.description as
Owner_Ralation1 , c.book , c.page, AC.officer_id, q.LeaderID
FROM tblCollaterals c LEFT JOIN tblCustomers e on c.customerid =
e.CustomerID LEFT JOIN #ACCOUNTSAVING AC on c.customerid =
AC.CustomerID LEFT JOIN sysOfficers o on o.ID = AC.officer_id
LEFT JOIN sysTeamLeaders q on q.LeaderID = o.TeamLeader LEFT JOIN
sysRelationshipType t on c.spouse_relation_ship = t.id LEFT JOIN
sysRelationshipType t1 on c.relation_ship = t1.id LEFT JOIN
sysRelationshipType t2 on c.owner_partner_relation_ship = t2.id LEFT JOIN
sysBranches b on c.branchCode = b.BranchCode LEFT JOIN tblLDClients cl
ON c.ld_id=cl.LDID and c.customerid=cl.CustomerID WHERE (c.inactive is null or
c.inactive > @pDateTo) and c.deposit_date <= @pDateTo and c.branchCode
like @pBranchCode+'%' order by book ,page asc END ELSE BEGIN
INSERT INTO #tblCol1 SELECT b.BranchShort as branchCode, c.id ,
c.ld_id, cl.MRID, c.customerid , isnull(e.local_surname,'') +' '+
isnull(e.local_Lastname,'') as Customer ,c.is_owner as Owner,
c.spouse,t.description as Relation, c.deposit_date , c.total_VALUES ,
c.currency_id , c.owner as Owner1, t1.description as Owner_Ralation ,
c.owner_partner , t2.description as Owner_Ralation1 , c.book ,
c.page, AC.officer_id,q.LeaderID --cast(c.book as int)book ,cast(c.page as
int) page FROM tblCollaterals c LEFT JOIN tblCustomers e on
c.customerid = e.CustomerID LEFT JOIN #ACCOUNTSAVING AC on c.customerid
= AC.CustomerID LEFT JOIN sysOfficers o on o.ID = AC.officer_id
LEFT JOIN sysTeamLeaders q on q.LeaderID = o.TeamLeader LEFT JOIN
sysRelationshipType t on c.spouse_relation_ship = t.id LEFT JOIN
sysRelationshipType t1 on c.relation_ship = t1.id LEFT JOIN
sysRelationshipType t2 on c.owner_partner_relation_ship = t2.id LEFT JOIN
sysBranches b on c.branchCode = b.BranchCode LEFT JOIN tblLDClients cl
ON c.ld_id=cl.LDID and c.customerid=cl.CustomerID WHERE (c.inactive is null or
c.inactive > @pDateTo) and c.deposit_date <= @pDateTo and c.branchCode
like @pBranchCode+'%' and AC.officer_id Like @pOfficer+'%' and
q.LeaderID Like @pCCO+'%' order by book ,page asc END UPDATE
#tblCol1 SET ld_id =
(Replace(Replace(Replace(Replace(Replace(ld_id,'/1',''),'/2',''),'/3',''),'/
4',''),'/5','')) + '/' + MRID WHERE ld_id IN (SELECT ld_id FROM #tblCol1 WHERE
CONVERT(INT,MRID)>0) ------------------------ SELECT ROW_NUMBER ( ) OVER (order
by c.id asc) as OrNo ,c.*,t.eng_desc as
Collateral ,d.collateral_no ,d.issued_date ,d.issued_by ,d.collateral_VALUES ,d.oth
er_info INTO #tblCol2 FROM #tblCol1 c INNER JOIN tblCollateralDetails d on
c.id =d.id INNER JOIN sysCollateralTypes t on d.collateral_type_id =t.id
-------------- --SELECT MIN(orNo) as OrNo,id INTO #tblCol3 FROM #tblCol2 group by
id ---------------------- --UPDATE #tblCol2 set
ld_id='',id='',customerid='',customer='',Owner='',spouse=''
-- ,Relation='',deposit_date=null,total_VALUES=null,currency_id='',Owner1='',Ow
ner_ralation='',Owner_partner='',Owner_ralation1='',Book='',Page='' --FROM
#tblCol2 c1 INNER JOIN #tblCol3 c2 on c1.OrNo<>c2.OrNo and c1.id=c2.id
----------------------------------------- Declare @co nvarchar(50) = '' IF
@pCCo='' OR @pCCo = '%' OR @pCCo = 'ALL' BEGIN SET @pCCo='%' set
@co=isnull((SELECT top 1 leaderID FROM #tblCol1 WHERE officer_id =@pOfficer),'')
END else if @pCCo<>'' set @co=@pCCo ELSE BEGIN SET @co=isnull((SELECT
top 1 leaderID FROM #tblCol1 WHERE officer_id =@pOfficer),'') END
------------------------------------------------------------ CREATE TABLE
#tblColResult( [OrdNo] [nvarchar](50) NULL, [Branch] [nvarchar](50)
NULL, [id] [nvarchar](50) NULL, [ld_id] [nvarchar](50) NULL,
[customerid] [nvarchar](50) NULL, [Customer] [nvarchar](100) NULL,
[Owner] [nvarchar](50) NULL, [spouse] [nvarchar](50) NULL, [Relation]
[nvarchar](50) NULL, [deposit_date] [nvarchar](50) NULL, [total_VALUES]
[nvarchar](50) NULL, [currency_id] [nvarchar](50) NULL, [Owner1]
[nvarchar](50) NULL, [Owner_Ralation] [nvarchar](50) NULL, [owner_partner]
[nvarchar](50) NULL, [Owner_Ralation1] [nvarchar](50) NULL, [book]
[nvarchar](50) NULL, [page] [nvarchar](50) NULL, [Collateral]
[nvarchar](250) NULL, [collateral_no] [nvarchar](50) NULL, [issued_date]
[nvarchar](50) NULL, [issued_by] [nvarchar](50) NULL, [collateral_VALUES]
[nvarchar](50) NULL, [other_info] [nvarchar](100) NULL, [ORD]
[nvarchar](1) NULL) -------------------------- INSERT INTO #tblColResult
([ORDNO],ord) VALUES ('Branch : '+@vBranchName,'B') INSERT INTO #tblColResult
([ORDNO],ord) VALUES ('Report Name : Collateral Outstanding','D') INSERT INTO
#tblColResult ([ORDNO],ord) VALUES ('SELECT OfficerID :' +@pOfficer,'E') INSERT
INTO #tblColResult ([ORDNO],ord) VALUES ('SELECT CCO :' +@pCCO,'F') INSERT INTO
#tblColResult ([ORDNO],ord) VALUES (@varRpt,'H') INSERT INTO #tblColResult
([ORDNO],ord) VALUES (NULL,'I') ---------------- INSERT INTO #tblColResult
VALUES ('No','Branch','Serial No','LD','CIF','Client','Owner','Spouse','Relation
ship','Deposit Date','Total Value','CCY','Owner1','Owner R-ship1','Owner-
Partner','Relation ship','Book','Page','Collateral Type','Collater No','Issued
Date','Issued By','Value','Others','L') INSERT INTO #tblColResult SELECT
OrNo,branchCode,id ,ld_id ,customerid ,Customer,
Owner,spouse,Relation,deposit_date ,total_VALUES ,currency_id ,
Owner1,Owner_Ralation ,owner_partner ,Owner_Ralation1 ,book ,page, Collateral
,collateral_no ,issued_date ,issued_by ,collateral_VALUES ,other_info ,'P' FROM
#tblCol2 order by id SELECT [OrdNo], [Branch], [id], [ld_id],
[customerid], [Customer], [Owner], [spouse], [Relation],
[deposit_date], [total_VALUES], [currency_id], [Owner1],
[Owner_Ralation], [owner_partner], [Owner_Ralation1], [book],
[page], [Collateral], [collateral_no], [issued_date], [issued_by],
[collateral_VALUES], [other_info] FROM #tblColResult order by ORD asc,
[id] asc end
===========================

-- SUB_JRN_ALL_APPS '001','KHR','2022.01.01','2022.03.31' CREATE PROC [dbo].


[SUB_JRN_ALL_APPS]( @BranchCode nvarchar(10), @CCY nvarchar(10), @DateFrom
date, @DateTo date, @TypeList nvarchar(1000)='', @RPT_TYPE nvarchar(10)='' )
--FI--WITH ENCRYPTION AS DECLARE @COA_MULTI_CCY nvarchar(10) , @BCCY
nvarchar(10) , @L_Opening_Date date , @Inc_Date_From date SET
@COA_MULTI_CCY = (SELECT ConstValue FROM sysConstants WHERE ConstName
='COA_MULTI_CCY' AND BranchCode ='GLOBAL') SET @BCCY = (SELECT CCY FROM
tblCurrencies WHERE BaseCurrency =1) SET @BCCY = CASE WHEN @COA_MULTI_CCY ='Yes'
THEN @BCCY ELSE '%' END SET @L_Opening_Date = (SELECT OpeningDate FROM
tblAccCycles WHERE RecID = (SELECT MAX(RecID) FROM tblAccCycles)); IF @RPT_TYPE
='JRN' BEGIN SET @Inc_Date_From = @DateFrom; END ELSE BEGIN SET
@Inc_Date_From = @L_Opening_Date; END; SELECT A.* INTO #tmpAllChart FROM
dbo.GBL_CHART_ACC() A WHERE A.CCY LIKE @BCCY; SELECT * INTO #TMP_VARS FROM
dbo.GBL_SplitString(@TypeList,','); IF @TypeList='' BEGIN INSERT INTO
#TMP_VARS VALUES(0,''); END; CREATE TABLE #SUB_JRN_ALL_APPS ( CLASS
nvarchar(10) , BRANCH_CODE nvarchar(10) , IND_ORD int , SYSTEM_ID
nvarchar(50) , LINE# int , TXN_DATE date , DR_CR_MARKER nvarchar(1)
, ACCOUNT_ID nvarchar(50) , ACCOUNT_NAME nvarchar(max) , CCY nvarchar(10)
, AMT_FCY money , AMT_LCY money , REMARK nvarchar(max) , REF_TYPE
nvarchar(50) , REF_NO nvarchar(200) , ADJUSTMENT nvarchar(10) , PP_TYPE
nvarchar(10) , PP_ID nvarchar(30) , PP_NAME nvarchar(100) , FormID
nvarchar(30) , FormName nvarchar(50) , FormCaption nvarchar(100) ,
EXE_NAME nvarchar(50) , IsBased bit , Style_Show nvarchar(1) ,
ProjectName nvarchar(50) ); --Accounting IF EXISTS(SELECT * FROM #TMP_VARS
WHERE Item IN('','001')) BEGIN INSERT #SUB_JRN_ALL_APPS SELECT 'AAA' ,
A.BranchCode , A.IndOrd , A.BatchID , ROW_NUMBER() OVER(PARTITION BY
A.BatchID ORDER BY B.TxnCode DESC, B.AccountID) , A.ValueDate , B.TxnCode
, B.AccountID , C.AccountName , B.CCY , B.OrigAmt , B.BasedAmt
--, A.Memo , B.Remark , NULL , A.Reference , CASE WHEN
A.Adjustment =0 THEN 'NO' ELSE 'YES' END , 'ACC' , NULL , NULL
--Form Info , D.FormID , D.FormName , D.FormCaption ,
D.EXE_NAME , D.IsBased , D.Style_Show , D.ProjectName FROM
tblAccDocuments A INNER JOIN tblAccTxns B ON A.BatchID = B.BatchID INNER
JOIN dbo.GBL_CHART_ACC() C ON B.AccountID = C.AccountID AND B.CCY = C.CCY ,
dbo.GBL_FormInfo('FRM-00010') D WHERE A.ValueDate BETWEEN @DateFrom AND @DateTo
AND A.BranchCode LIKE CASE WHEN ISNULL(@BranchCode,'') ='' THEN '%' ELSE
@BranchCode END AND B.CCY LIKE CASE WHEN ISNULL(@CCY,'') ='' THEN '%' ELSE
@CCY END; INSERT #SUB_JRN_ALL_APPS SELECT 'ACT' , A.BranchCode ,
A.IndOrd , A.BatchID , ROW_NUMBER() OVER(PARTITION BY A.BatchID ORDER BY
B.TxnCode DESC, B.AccountID) , A.ValueDate , B.TxnCode , B.AccountID
, C.AccountName , B.CCY , B.OrigAmt , B.BasedAmt --, A.Memo
, B.Remark , NULL , A.Reference , CASE WHEN A.Adjustment =0 THEN
'NO' ELSE 'YES' END , 'ACC' , NULL , NULL --Form Info ,
D.FormID , D.FormName , D.FormCaption , D.EXE_NAME , D.IsBased
, D.Style_Show , D.ProjectName FROM tblAccDocumentsTill A INNER JOIN
tblAccTxnsTill B ON A.BatchID = B.BatchID INNER JOIN dbo.GBL_CHART_ACC() C ON
B.AccountID = C.AccountID AND B.CCY = C.CCY , dbo.GBL_FormInfo('FRM-00010') D
WHERE A.ValueDate BETWEEN @DateFrom AND @DateTo AND A.BranchCode LIKE CASE
WHEN ISNULL(@BranchCode,'') ='' THEN '%' ELSE @BranchCode END AND B.CCY LIKE
CASE WHEN ISNULL(@CCY,'') ='' THEN '%' ELSE @CCY END; END; --
===================================================================================
=================== --Advanced Payment CREATE TABLE #SUB_JRN_ALL_APPS_tmpB
( TxnID nvarchar(30), TxnDate date, PPID nvarchar(30), PP_Name nvarchar(100),
PPType nvarchar(1), CCY nvarchar(10), PrepaidAmt money, BasedAmt money, MethodID
nvarchar(10) , TillID nvarchar(10), BranchCode nvarchar(10), IndOrd int,
RefType nvarchar(50), RefNo nvarchar(50), Remark nvarchar(200), CusType
nvarchar(30), DrAcc nvarchar(50), CrAcc nvarchar(50) , FormID nvarchar(30),
FormName nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased
bit, Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT *
FROM #TMP_VARS WHERE Item IN('','002')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpB
EXEC SUB_JRN_ADV_PAY @BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side
INSERT #SUB_JRN_ALL_APPS SELECT 'AAB' , A.BranchCode , A.IndOrd ,
A.TxnID , 1 , A.TxnDate , 'D' , B.AccountID , B.AccountName
, A.CCY , A.PrepaidAmt , A.BasedAmt , A.Remark , A.RefType ,
A.RefNo , 'NO' , A.PPType , A.PPID , A.PP_Name , FormID,
FormName, FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpB A INNER JOIN #tmpAllChart B ON A.DrAcc = B.AccountID;
--Cr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAB' , A.BranchCode ,
A.IndOrd , A.TxnID , 2 , A.TxnDate , 'C' , B.AccountID ,
B.AccountName , A.CCY , A.PrepaidAmt , A.BasedAmt , A.Remark ,
A.RefType , A.RefNo , 'NO' , A.PPType , A.PPID ,
A.PP_Name , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName FROM #SUB_JRN_ALL_APPS_tmpB A INNER JOIN #tmpAllChart B ON
A.CrAcc = B.AccountID; --
===================================================================================
=================== --Customer Payment CREATE TABLE #SUB_JRN_ALL_APPS_tmpC
( PaidID nvarchar(30), PayDate date, PPID nvarchar(30), PP_Name nvarchar(100),
MethodID nvarchar(10), CCY nvarchar(10), BranchCode nvarchar(10), IndOrd int ,
ReceiptNo nvarchar(30), Remark nvarchar(200), TypeID nvarchar(30), TxnAmt money,
BasedAmt money, DrAcc nvarchar(50), CrAcc nvarchar(50) , FormID nvarchar(30),
FormName nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased
bit, Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT *
FROM #TMP_VARS WHERE Item IN('','003')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpC
EXEC SUB_JRN_CUS_PAY @BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side
INSERT #SUB_JRN_ALL_APPS SELECT 'AAC' , A.BranchCode , A.IndOrd ,
A.PaidID , 1 , A.PayDate , 'D' , B.AccountID , B.AccountName
, A.CCY , A.TxnAmt , A.BasedAmt , A.Remark , NULL , A.ReceiptNo
, 'NO' , 'C' , A.PPID , A.PP_Name , FormID, FormName, FormCaption,
EXE_NAME, IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpC A
INNER JOIN #tmpAllChart B ON A.DrAcc = B.AccountID; --Cr. Side INSERT
#SUB_JRN_ALL_APPS SELECT 'AAC' , A.BranchCode , A.IndOrd , A.PaidID
, 2 , A.PayDate , 'C' , B.AccountID , B.AccountName , A.CCY
, A.TxnAmt , A.BasedAmt , A.Remark , NULL , A.ReceiptNo , 'NO'
, 'C' , A.PPID , A.PP_Name , FormID, FormName, FormCaption, EXE_NAME,
IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpC A INNER JOIN
#tmpAllChart B ON A.CrAcc = B.AccountID; --
===================================================================================
=================== --Vendor Payment CREATE TABLE #SUB_JRN_ALL_APPS_tmpD (
PaidID nvarchar(30), PayDate date, PPID nvarchar(30), PP_Name nvarchar(100),
MethodID nvarchar(10), CCY nvarchar(10), BranchCode nvarchar(10), IndOrd int ,
ReceiptNo nvarchar(30), RefNo nvarchar(50), TypeID nvarchar(30), TxnAmt money,
BasedAmt money, DrAcc nvarchar(50), CrAcc nvarchar(50), Remark nvarchar(200) ,
FormID nvarchar(30), FormName nvarchar(50), FormCaption nvarchar(100), EXE_NAME
nvarchar(50), IsBased bit, Style_Show nvarchar(1), ProjectName nvarchar(50) );
IF EXISTS(SELECT * FROM #TMP_VARS WHERE Item IN('','004')) BEGIN INSERT
#SUB_JRN_ALL_APPS_tmpD EXEC SUB_JRN_SUP_PAY @BranchCode,@CCY,@DateFrom,@DateTo;
END; --Dr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAD' , A.BranchCode
, A.IndOrd , A.PaidID , 1 , A.PayDate , 'D' , B.AccountID ,
B.AccountName , A.CCY , A.TxnAmt , A.BasedAmt , A.Remark , NULL
, A.RefNo , 'NO' , 'V' , A.PPID , A.PP_Name , FormID, FormName,
FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpD A INNER JOIN #tmpAllChart B ON A.DrAcc = B.AccountID;
--Cr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAD' , A.BranchCode ,
A.IndOrd , A.PaidID , 2 , A.PayDate , 'C' , B.AccountID ,
B.AccountName , A.CCY , A.TxnAmt , A.BasedAmt , A.Remark , NULL
, A.RefNo , 'NO' , 'V' , A.PPID , A.PP_Name , FormID, FormName,
FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpD A INNER JOIN #tmpAllChart B ON A.CrAcc = B.AccountID;
--
===================================================================================
=================== --Teller CREATE TABLE #SUB_JRN_ALL_APPS_tmpF
( TT_ID nvarchar(30), TT_TYPE nvarchar(10), TxnCode int, DrCrMarker
nvarchar(1), CCY nvarchar(10), Account1 nvarchar(50), AccountTitle nvarchar(100),
Account2 nvarchar(50) , ValueDate date, Amt_FCY money, Amt_LCY money,
BranchCode nvarchar(10), IndOrd int, ChequeNo nvarchar(50), Remark
nvarchar(200), DrAcc nvarchar(50), CrAcc nvarchar(50) , FormID nvarchar(30),
FormName nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased
bit, Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT *
FROM #TMP_VARS WHERE Item IN('','005')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpF
EXEC SUB_JRN_TT_STSP @BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side
INSERT #SUB_JRN_ALL_APPS SELECT 'AAF' , A.BranchCode , A.IndOrd ,
A.TT_ID , 1 , A.ValueDate , 'D' , B.AccountID , B.AccountName
, A.CCY , A.Amt_FCY , A.Amt_LCY , A.Remark , NULL , A.ChequeNo
, 'NO' , A.TT_TYPE , A.Account1 , A.AccountTitle , FormID,
FormName, FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpF A INNER JOIN #tmpAllChart B ON A.DrAcc = B.AccountID;
--Cr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAF' , A.BranchCode ,
A.IndOrd , A.TT_ID , 2 , A.ValueDate , 'C' , B.AccountID ,
B.AccountName , A.CCY , A.Amt_FCY , A.Amt_LCY , A.Remark , NULL
, A.ChequeNo , 'NO' , A.TT_TYPE , A.Account1 , A.AccountTitle
, FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpF A INNER JOIN #tmpAllChart B ON A.CrAcc = B.AccountID;
--
===================================================================================
=================== --Fixed Assets CREATE TABLE #SUB_JRN_ALL_APPS_tmpG (
AssetID nvarchar(30), SupplierID nvarchar(30), PP_Name nvarchar(100), CategoryID
nvarchar(30), PurchaseDate date, Bill bit, MethodID nvarchar(10), CCY nvarchar(10)
, PurchaseValue money, BasedAmt money, TillID nvarchar(30), BranchCode
nvarchar(10), IndOrd int, RefNo nvarchar(50), Remark nvarchar(200), SupplierType
nvarchar(30) , DrAcc nvarchar(50), CrAcc nvarchar(50) , FormID
nvarchar(30), FormName nvarchar(50), FormCaption nvarchar(100), EXE_NAME
nvarchar(50), IsBased bit, Style_Show nvarchar(1), ProjectName nvarchar(50) );
IF EXISTS(SELECT * FROM #TMP_VARS WHERE Item IN('','006')) BEGIN INSERT
#SUB_JRN_ALL_APPS_tmpG EXEC SUB_JRN_TXN_FAS @BranchCode,@CCY,@DateFrom,@DateTo;
END; --Dr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAG' , A.BranchCode
, A.IndOrd , A.AssetID , 1 , A.PurchaseDate , 'D' , B.AccountID
, B.AccountName , A.CCY , A.PurchaseValue , A.BasedAmt , A.Remark
, NULL , A.RefNo , 'NO' , 'FA' , A.SupplierID , A.PP_Name ,
FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpG A INNER JOIN #tmpAllChart B ON A.DrAcc = B.AccountID;
--Cr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAG' , A.BranchCode ,
A.IndOrd , A.AssetID , 2 , A.PurchaseDate , 'C' , B.AccountID
, B.AccountName , A.CCY , A.PurchaseValue , A.BasedAmt , A.Remark
, NULL , A.RefNo , 'NO' , 'FA' , A.SupplierID , A.PP_Name
, FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpG A INNER JOIN #tmpAllChart B ON A.CrAcc = B.AccountID;
--
===================================================================================
=================== --Fixed Assets CREATE TABLE #SUB_JRN_ALL_APPS_tmpH (
AssetID nvarchar(30), CategoryID nvarchar(30), CCY nvarchar(10), BranchCode
nvarchar(10), IndOrd int, DrAcc nvarchar(50), CrAcc nvarchar(50), DepreDate date
, DepreAmt money, BasedDepreAmt money , FormID nvarchar(30), FormName
nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit,
Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM
#TMP_VARS WHERE Item IN('','007')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpH EXEC
SUB_JRN_DEP_FAS @BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side
INSERT #SUB_JRN_ALL_APPS SELECT 'AAH' , A.BranchCode , A.IndOrd ,
A.AssetID , 1 , A.DepreDate , 'D' , B.AccountID , B.AccountName
, A.CCY , A.DepreAmt , A.BasedDepreAmt , NULL , NULL , NULL
, 'NO' , 'FA' , NULL , NULL , FormID, FormName, FormCaption,
EXE_NAME, IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpH A
INNER JOIN #tmpAllChart B ON A.DrAcc = B.AccountID; --Cr. Side INSERT
#SUB_JRN_ALL_APPS SELECT 'AAH' , A.BranchCode , A.IndOrd , A.AssetID
, 2 , A.DepreDate , 'C' , B.AccountID , B.AccountName , A.CCY
, A.DepreAmt , A.BasedDepreAmt , NULL , NULL , NULL ,
'NO' , 'FA' , NULL , NULL , FormID, FormName, FormCaption,
EXE_NAME, IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpH A
INNER JOIN #tmpAllChart B ON A.CrAcc = B.AccountID; --
===================================================================================
=================== --Fixed Assets Sold or Dispose CREATE TABLE
#SUB_JRN_ALL_APPS_tmpI ( Class nvarchar(10), SystemID nvarchar(30),
ValueDate date, CustomerID nvarchar(30), PP_Name nvarchar(100), CCY nvarchar(10),
BranchCode nvarchar(10) , IndOrd int, Remark nvarchar(200), TypeID
nvarchar(30), AssetID nvarchar(30), Amt_FCY money, Amt_LCY money, CategoryID
nvarchar(30), AccID nvarchar(50), DrCrMark nvarchar(1) , FormID nvarchar(30),
FormName nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased
bit, Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT *
FROM #TMP_VARS WHERE Item IN('','008')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpI
EXEC SUB_JRN_FAS_SOLD_DISPOSE @BranchCode,@CCY,@DateFrom,@DateTo; END; --
Dr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAI' , A.BranchCode ,
A.IndOrd , A.SystemID , 1 , A.ValueDate , 'D' , B.AccountID
, B.AccountName , A.CCY , A.Amt_FCY , A.Amt_LCY , A.Remark ,
NULL , A.AssetID , 'NO' , 'DFA' , A.CustomerID ,
A.PP_Name , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName FROM #SUB_JRN_ALL_APPS_tmpI A INNER JOIN #tmpAllChart B ON
A.AccID = B.AccountID WHERE A.DrCrMark ='D'; --Cr. Side INSERT
#SUB_JRN_ALL_APPS SELECT 'AAI' , A.BranchCode , A.IndOrd , A.SystemID
, 2 , A.ValueDate , 'C' , B.AccountID , B.AccountName , A.CCY
, A.Amt_FCY , A.Amt_LCY , A.Remark , NULL , A.AssetID , 'NO'
, 'DFA' , A.CustomerID , A.PP_Name , FormID, FormName, FormCaption,
EXE_NAME, IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpI A
INNER JOIN #tmpAllChart B ON A.AccID = B.AccountID WHERE A.DrCrMark ='C'; --
===================================================================================
=================== --Fixed Assets Transferred CREATE TABLE
#SUB_JRN_ALL_APPS_tmpFASTF ( AssetID nvarchar(30), CategoryID nvarchar(30),
Txn_Date date, CCY nvarchar(10), O_Amt money, B_Amt money, BranchCode nvarchar(10),
IndOrd int , RefNo nvarchar(50), Remark nvarchar(100), Indcator nvarchar(1),
Acc_ID nvarchar(50) , FormID nvarchar(30), FormName nvarchar(50), FormCaption
nvarchar(100), EXE_NAME nvarchar(50), IsBased bit, Style_Show nvarchar(1),
ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM #TMP_VARS WHERE Item
IN('','009')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpFASTF EXEC SUB_JRN_TXN_FAS_TF
@BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side INSERT
#SUB_JRN_ALL_APPS SELECT 'FAS' AS CLASS , A.BranchCode AS BRANCH_CODE ,
A.IndOrd AS IND_ORD , A.AssetID AS SYSTEM_ID , 1 AS LINE# , A.Txn_Date AS
TXN_DATE , A.Indcator AS DR_CR_MARKER , B.AccountID AS ACCOUNT_ID ,
B.AccountName AS ACCOUNT_NAME , A.CCY , A.O_Amt AS AMT_FCY , A.B_Amt AS
AMT_LCY , A.REMARK AS REMARK , NULL AS REF_TYPE , A.RefNo AS REF_NO ,
'NO' AS ADJUSTMENT , NULL AS PP_TYPE , NULL AS PP_ID , NULL AS
PP_NAME , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName FROM #SUB_JRN_ALL_APPS_tmpFASTF A INNER JOIN #tmpAllChart B ON
A.Acc_ID = B.AccountID WHERE A.Indcator ='D'; --Cr. Side INSERT
#SUB_JRN_ALL_APPS SELECT 'FAS' AS CLASS , A.BranchCode AS BRANCH_CODE ,
A.IndOrd AS IND_ORD , A.AssetID AS SYSTEM_ID , 1 AS LINE# , A.Txn_Date AS
TXN_DATE , A.Indcator AS DR_CR_MARKER , B.AccountID AS ACCOUNT_ID ,
B.AccountName AS ACCOUNT_NAME , A.CCY , A.O_Amt AS AMT_FCY , A.B_Amt AS
AMT_LCY , A.REMARK AS REMARK , NULL AS REF_TYPE , A.RefNo AS REF_NO ,
'NO' AS ADJUSTMENT , NULL AS PP_TYPE , NULL AS PP_ID , NULL AS
PP_NAME , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName FROM #SUB_JRN_ALL_APPS_tmpFASTF A INNER JOIN #tmpAllChart B ON
A.Acc_ID = B.AccountID WHERE A.Indcator ='C'; --
===================================================================================
=================== --Expendable CREATE TABLE #SUB_JRN_ALL_APPS_tmpJ (
ExdID nvarchar(30), SupplierID nvarchar(30), PP_Name nvarchar(100), CategoryID
nvarchar(30), PurchaseDate date, Bill bit, MethodID nvarchar(10), CCY nvarchar(10)
, PurchaseValue money, BasedAmt money, TillID nvarchar(30), BranchCode
nvarchar(10), IndOrd int, RefNo nvarchar(50), Remark nvarchar(200), SupplierType
nvarchar(30) , DrAcc nvarchar(50), CrAcc nvarchar(50) , FormID
nvarchar(30), FormName nvarchar(50), FormCaption nvarchar(100), EXE_NAME
nvarchar(50), IsBased bit, Style_Show nvarchar(1), ProjectName nvarchar(50) );
IF EXISTS(SELECT * FROM #TMP_VARS WHERE Item IN('','010')) BEGIN INSERT
#SUB_JRN_ALL_APPS_tmpJ EXEC SUB_JRN_TXN_EXD @BranchCode,@CCY,@DateFrom,@DateTo;
END;
--Dr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAJ' ,
A.BranchCode , A.IndOrd , A.ExdID , 1 , A.PurchaseDate , 'D'
, B.AccountID , B.AccountName , A.CCY , A.PurchaseValue ,
A.BasedAmt , A.Remark , NULL , A.RefNo , 'NO' , 'EXD' ,
A.SupplierID , A.PP_Name , FormID, FormName, FormCaption, EXE_NAME,
IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpJ A INNER JOIN
#tmpAllChart B ON A.DrAcc = B.AccountID; --Cr. Side INSERT #SUB_JRN_ALL_APPS
SELECT 'AAJ' , A.BranchCode , A.IndOrd , A.ExdID , 2 ,
A.PurchaseDate , 'C' , B.AccountID , B.AccountName , A.CCY ,
A.PurchaseValue , A.BasedAmt , A.Remark , NULL , A.RefNo ,
'NO' , 'EXD' , A.SupplierID , A.PP_Name , FormID, FormName,
FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpJ A INNER JOIN #tmpAllChart B ON A.CrAcc = B.AccountID;
--
===================================================================================
=================== --Admin Stock In CREATE TABLE #SUB_JRN_ALL_APPS_tmpK (
TxnID nvarchar(30), TxnDate date, SupplierID nvarchar(30), PP_Name nvarchar(100),
SupplierType nvarchar(30), CCY nvarchar(10), Bill bit, MethodID nvarchar(30) ,
TillID nvarchar(30), BranchCode nvarchar(10), CategoryID nvarchar(30), OrigAmt
money, BasedAmt money, RefNo nvarchar(50), Remark nvarchar(200), DrAcc
nvarchar(50), CrAcc nvarchar(50), IndOrd int , FormID nvarchar(30), FormName
nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit,
Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM
#TMP_VARS WHERE Item IN('','011')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpK EXEC
SUB_JRN_TXN_STK @BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side
INSERT #SUB_JRN_ALL_APPS SELECT 'AAK' , A.BranchCode , A.IndOrd ,
A.TxnID , 1 , A.TxnDate , 'D' , B.AccountID , B.AccountName
, A.CCY , A.OrigAmt , A.BasedAmt , A.Remark , NULL , A.RefNo
, 'NO' , 'ADMSTK' , A.SupplierID , A.PP_Name , FormID, FormName,
FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpK A INNER JOIN #tmpAllChart B ON A.DrAcc = B.AccountID;
--Cr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAK' , A.BranchCode ,
A.IndOrd , A.TxnID , 2 , A.TxnDate , 'C' , B.AccountID ,
B.AccountName , A.CCY , A.OrigAmt , A.BasedAmt , A.Remark ,
NULL , A.RefNo , 'NO' , 'ADMSTK' , A.SupplierID , A.PP_Name
, FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpK A INNER JOIN #tmpAllChart B ON A.CrAcc = B.AccountID;
--
===================================================================================
=================== --Admin Stock Usage CREATE TABLE #SUB_JRN_ALL_APPS_tmpL
( BranchCode nvarchar(10), TxnID nvarchar(30), TxnDate date, IndOrd int, RefNo
nvarchar(50), TakeBy nvarchar(50), Remark nvarchar(200), ItemCode
nvarchar(30) , CategoryID nvarchar(30), CCY nvarchar(10), OrigAmt money,
BasedAmt money, DrAcc nvarchar(50), CrAcc nvarchar(50) , FormID nvarchar(30),
FormName nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased
bit, Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT *
FROM #TMP_VARS WHERE Item IN('','012')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpL
EXEC SUB_JRN_USE_STK @BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side
INSERT #SUB_JRN_ALL_APPS SELECT 'AAL' , A.BranchCode , A.IndOrd ,
A.TxnID , 1 , A.TxnDate , 'D' , B.AccountID , B.AccountName
, A.CCY , A.OrigAmt , A.BasedAmt , A.Remark , NULL , A.RefNo
, 'NO' , 'STKUSE' , NULL , A.TakeBy , FormID, FormName,
FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpL A INNER JOIN #tmpAllChart B ON A.DrAcc = B.AccountID;
--Cr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAL' , A.BranchCode ,
A.IndOrd , A.TxnID , 2 , A.TxnDate , 'C' , B.AccountID ,
B.AccountName , A.CCY , A.OrigAmt , A.BasedAmt , A.Remark ,
NULL , A.RefNo , 'NO' , 'STKUSE' , NULL , A.TakeBy ,
FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpL A INNER JOIN #tmpAllChart B ON A.CrAcc = B.AccountID;
--
===================================================================================
=================== --Expense CREATE TABLE #SUB_JRN_ALL_APPS_tmpM
( TxnID nvarchar(30), TxnDate date, SupplierID nvarchar(30), PP_Name
nvarchar(100), SupplierType nvarchar(30), CCY nvarchar(10), Bill bit, MethodID
nvarchar(10) , TillID nvarchar(30), BranchCode nvarchar(10), CategoryID
nvarchar(30), OrigAmt money, BasedAmt money, DrAcc nvarchar(50), CrAcc
nvarchar(50), IndOrd int , RefType nvarchar(30), RefNo nvarchar(50), Remark
nvarchar(200) , FormID nvarchar(30), FormName nvarchar(50), FormCaption
nvarchar(100), EXE_NAME nvarchar(50), IsBased bit, Style_Show nvarchar(1),
ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM #TMP_VARS WHERE Item
IN('','013')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpM EXEC SUB_JRN_TXN_EXP
@BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side INSERT
#SUB_JRN_ALL_APPS SELECT 'AAM' , A.BranchCode , A.IndOrd , A.TxnID
, 1 , A.TxnDate , 'D' , B.AccountID , B.AccountName , A.CCY
, A.OrigAmt , A.BasedAmt , A.Remark , A.RefType , A.RefNo ,
'NO' , 'EXP' , A.SupplierID , A.PP_Name , FormID, FormName,
FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpM A INNER JOIN #tmpAllChart B ON A.DrAcc = B.AccountID;
--Cr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAM' , A.BranchCode ,
A.IndOrd , A.TxnID , 2 , A.TxnDate , 'C' , B.AccountID ,
B.AccountName , A.CCY , A.OrigAmt , A.BasedAmt , A.Remark ,
NULL , A.RefNo , 'NO' , 'EXP' , A.SupplierID ,
A.PP_Name , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName FROM #SUB_JRN_ALL_APPS_tmpM A INNER JOIN #tmpAllChart B ON
A.CrAcc = B.AccountID; --
===================================================================================
=================== --Expendable Sold CREATE TABLE #SUB_JRN_ALL_APPS_tmpO
( InvoiceNo nvarchar(30), InvoiceDate date, [Type] nvarchar(10), CustomerID
nvarchar(30), PP_Name nvarchar(100), CCY nvarchar(10), BranchCode
nvarchar(10) , IndOrd int, Remark nvarchar(200), TypeID nvarchar(30), ItemCode
nvarchar(30), SubTotal money, BCCYSubTotal money, VAT_FCY money, VAT_LCY
money , CategoryID nvarchar(30), DrAcc nvarchar(50), CrAcc nvarchar(50),
CrAccVAT nvarchar(50) , FormID nvarchar(30), FormName nvarchar(50), FormCaption
nvarchar(100), EXE_NAME nvarchar(50), IsBased bit, Style_Show nvarchar(1),
ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM #TMP_VARS WHERE Item
IN('','014')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpO EXEC SUB_JRN_EXD_SOLD
@BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side(Acc. A/R) INSERT
#SUB_JRN_ALL_APPS SELECT 'AAO' , A.BranchCode , A.IndOrd ,
A.InvoiceNo , 1 , A.InvoiceDate , 'D' , B.AccountID ,
B.AccountName , A.CCY , A.SubTotal + VAT_FCY , A.BCCYSubTotal + VAT_LCY
, A.Remark , NULL , NULL , 'NO' , 'EXDS' , A.CustomerID ,
A.PP_Name , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName FROM #SUB_JRN_ALL_APPS_tmpO A INNER JOIN #tmpAllChart B ON
A.DrAcc = B.AccountID; --Cr. Side(Acc. Inc.) INSERT #SUB_JRN_ALL_APPS
SELECT 'AAO' , A.BranchCode , A.IndOrd , A.InvoiceNo , 2 ,
A.InvoiceDate , 'C' , B.AccountID , B.AccountName , A.CCY ,
A.SubTotal , A.BCCYSubTotal , A.Remark , NULL , NULL , 'NO'
, 'EXDS' , A.CustomerID , A.PP_Name , FormID, FormName, FormCaption,
EXE_NAME, IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpO A
INNER JOIN #tmpAllChart B ON A.CrAcc = B.AccountID; --Cr. Side(Acc. VAT)
INSERT #SUB_JRN_ALL_APPS SELECT 'AAO' , A.BranchCode , A.IndOrd ,
A.InvoiceNo , 3 , A.InvoiceDate , 'C' , B.AccountID ,
B.AccountName , A.CCY , A.VAT_FCY , A.VAT_LCY , A.Remark , NULL
, NULL , 'NO' , 'OINV' , A.CustomerID , A.PP_Name , FormID,
FormName, FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpO A INNER JOIN #tmpAllChart B ON A.CrAccVAT = B.AccountID
WHERE A.VAT_LCY <>0; --
===================================================================================
=================== --Inventory Bill CREATE TABLE #SUB_JRN_ALL_APPS_tmpR
( BillID nvarchar(30), Bill_Date date, BillType nvarchar(10), RefNo
nvarchar(30), TypeID nvarchar(30), SupplierID nvarchar(30), PP_Name nvarchar(100),
CCY nvarchar(10) , BranchCode nvarchar(10), IndOrd int, Remark nvarchar(200),
CategoryID nvarchar(30), ItemID nvarchar(30), AccID nvarchar(50), Indicator
nvarchar(1), Amount money , FormID nvarchar(30), FormName nvarchar(50),
FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit, Style_Show
nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM #TMP_VARS
WHERE Item IN('','015')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpR EXEC
SUB_JRN_BILL @BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side INSERT
#SUB_JRN_ALL_APPS SELECT 'AAR' , A.BranchCode
, A.IndOrd , A.BillID , 1 , A.Bill_Date , 'D' ,
B.AccountID , B.AccountName , A.CCY , A.Amount , A.Amount ,
A.Remark , NULL , A.RefNo , 'NO' , 'INV' , A.SupplierID ,
A.PP_Name , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName FROM #SUB_JRN_ALL_APPS_tmpR A INNER JOIN #tmpAllChart B ON
A.AccID = B.AccountID WHERE A.Indicator ='D'; --Cr. Side INSERT
#SUB_JRN_ALL_APPS SELECT 'AAR' , A.BranchCode , A.IndOrd , A.BillID
, 1 , A.Bill_Date , 'C' , B.AccountID , B.AccountName , A.CCY
, A.Amount , A.Amount , A.Remark , NULL , A.RefNo , 'NO' ,
'INV' , A.SupplierID , A.PP_Name , FormID, FormName, FormCaption,
EXE_NAME, IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpR A
INNER JOIN #tmpAllChart B ON A.AccID = B.AccountID WHERE A.Indicator ='C'; --
===================================================================================
=================== --Invoice CREATE TABLE #SUB_JRN_ALL_APPS_tmpS
( InvID nvarchar(30), Inv_Date date, InvType nvarchar(10), Inv_No nvarchar(30),
TypeID nvarchar(30), CusID nvarchar(30), PP_Name nvarchar(100), CCY nvarchar(10),
BranchCode nvarchar(10) , IndOrd int, Remark nvarchar(200), CategoryID
nvarchar(30), ItemID nvarchar(30), AccID nvarchar(50), Indicator nvarchar(1),
Amount money , FormID nvarchar(30), FormName nvarchar(50), FormCaption
nvarchar(100), EXE_NAME nvarchar(50), IsBased bit, Style_Show nvarchar(1),
ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM #TMP_VARS WHERE Item
IN('','016')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpS EXEC SUB_JRN_INV
@BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side INSERT
#SUB_JRN_ALL_APPS SELECT 'AAS' , A.BranchCode , A.IndOrd , A.InvID
, 1 , A.Inv_Date , 'D' , B.AccountID , B.AccountName , A.CCY
, A.Amount , A.Amount , A.Remark , NULL , A.Inv_No , 'NO' ,
'INV' , A.CusID , A.PP_Name , FormID, FormName, FormCaption, EXE_NAME,
IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpS A INNER JOIN
#tmpAllChart B ON A.AccID = B.AccountID WHERE A.Indicator ='D'; --Cr. Side
INSERT #SUB_JRN_ALL_APPS SELECT 'AAS' , A.BranchCode , A.IndOrd ,
A.InvID , 2 , A.Inv_Date , 'C' , B.AccountID , B.AccountName
, A.CCY , A.Amount , A.Amount , A.Remark , NULL ,
A.Inv_No , 'NO' , 'INV' , A.CusID , A.PP_Name , FormID,
FormName, FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpS A INNER JOIN #tmpAllChart B ON A.AccID = B.AccountID
WHERE A.Indicator ='C'; --
===================================================================================
=================== --Schedule Account Entry CREATE TABLE
#SUB_JRN_ALL_APPS_tmpV ( AccruedID nvarchar(30) , AccruedName
nvarchar(200) , DrAccID nvarchar(50) , CrAccID nvarchar(50) , SchDate
date , CCY nvarchar(10) , Amount money , Remark nvarchar(200) ,
BranchCode nvarchar(10) , IndOrd int , FormID nvarchar(30), FormName
nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit,
Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM
#TMP_VARS WHERE Item IN('','017')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpV EXEC
SUB_JRN_SCH_ACC @BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side INSERT
#SUB_JRN_ALL_APPS SELECT 'AAV' , A.BranchCode , A.IndOrd ,
A.AccruedID , 1 , A.SchDate , 'D' , B.AccountID , B.AccountName
, A.CCY , A.Amount , A.Amount , A.Remark , NULL , NULL ,
'NO' , NULL , NULL , NULL , FormID, FormName, FormCaption,
EXE_NAME, IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpV A
INNER JOIN #tmpAllChart B ON A.DrAccID = B.AccountID; --Cr. Side INSERT
#SUB_JRN_ALL_APPS SELECT 'AAV' , A.BranchCode , A.IndOrd ,
A.AccruedID , 2 , A.SchDate , 'C' , B.AccountID , B.AccountName
, A.CCY , A.Amount , A.Amount , A.Remark , NULL , NULL ,
'NO' , NULL , NULL , NULL , FormID, FormName, FormCaption,
EXE_NAME, IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpV A
INNER JOIN #tmpAllChart B ON A.CrAccID = B.AccountID; --
===================================================================================
=================== --Inter-Branches CREATE TABLE #SUB_JRN_ALL_APPS_tmpW (
ITB_ID nvarchar(30) , ValueDate date , CCY nvarchar(10) , OrigAmt money
, BasedAmt money , Txn_Type nvarchar(20) , RefNo nvarchar(50) , Remark
nvarchar(200) --, ToBranch nvarchar(10) , BranchCode nvarchar(10) ,
IndOrd int , D_ACC_ID nvarchar(50) , C_ACC_ID nvarchar(50) , IN_OUT
nvarchar(10) , FormID nvarchar(30), FormName nvarchar(50), FormCaption
nvarchar(100), EXE_NAME nvarchar(50), IsBased bit, Style_Show nvarchar(1),
ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM #TMP_VARS WHERE Item
IN('','018')) BEGIN INSERT #SUB_JRN_ALL_APPS_tmpW EXEC SUB_JRN_ITB
@BranchCode,@CCY,@DateFrom,@DateTo; END; --Dr. Side (Transfer Out) INSERT
#SUB_JRN_ALL_APPS SELECT 'ZAA' , A.BranchCode , A.IndOrd , A.ITB_ID
, 1 , A.ValueDate , 'D' , B.AccountID , B.AccountName , A.CCY
, A.OrigAmt , A.BasedAmt , A.Remark , NULL , A.RefNo , 'NO'
, 'ITB' , NULL , NULL , FormID, FormName, FormCaption, EXE_NAME,
IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpW A INNER JOIN
#tmpAllChart B ON A.D_ACC_ID = B.AccountID WHERE IN_OUT ='O'; --Cr. Side
(Transfer Out) INSERT #SUB_JRN_ALL_APPS SELECT 'ZAA' , A.BranchCode ,
A.IndOrd , A.ITB_ID , 2 , A.ValueDate , 'C' , B.AccountID ,
B.AccountName , A.CCY , A.OrigAmt , A.BasedAmt , A.Remark ,
NULL , A.RefNo , 'NO' , 'ITB' , NULL , NULL , FormID,
FormName, FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpW A INNER JOIN #tmpAllChart B ON A.C_ACC_ID = B.AccountID
WHERE IN_OUT ='O'; --Dr. Side (Transfer In) INSERT #SUB_JRN_ALL_APPS SELECT
'ZAB' , A.BranchCode , A.IndOrd , A.ITB_ID , 1 , A.ValueDate
, 'D' , B.AccountID , B.AccountName , A.CCY , A.OrigAmt ,
A.BasedAmt , A.Remark , NULL , A.RefNo , 'NO' , 'ITB' ,
NULL , NULL , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName FROM #SUB_JRN_ALL_APPS_tmpW A INNER JOIN #tmpAllChart B ON
A.D_ACC_ID = B.AccountID WHERE IN_OUT ='I'; --Cr. Side (Transfer In)
INSERT #SUB_JRN_ALL_APPS SELECT 'ZAB' , A.BranchCode , A.IndOrd ,
A.ITB_ID , 2 , A.ValueDate , 'C' , B.AccountID , B.AccountName
, A.CCY , A.OrigAmt , A.BasedAmt , A.Remark , NULL , A.RefNo
, 'NO' , 'ITB' , NULL , NULL , FormID, FormName, FormCaption,
EXE_NAME, IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpW A
INNER JOIN #tmpAllChart B ON A.C_ACC_ID = B.AccountID WHERE IN_OUT ='I'; --
===================================================================================
=================== --Inventory Adjustment CREATE TABLE #SUB_JRN_ALL_APPS_tmpZ
( Adj_ID nvarchar(30) , Adj_Date date , Adj_Type nvarchar(10) ,
RefNo nvarchar(50) , Memo nvarchar(200) , CCY nvarchar(10) , TxnAmt
money , BasedAmt money , DrAcc nvarchar(50) , CrAcc nvarchar(50) ,
ItemID nvarchar(30) , CategoryID nvarchar(30) , BranchCode nvarchar(10)
, IndOrd int , BookingCode nvarchar(30) , FormID nvarchar(30), FormName
nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit,
Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM
#TMP_VARS WHERE Item IN('','019')) BEGIN INSERT INTO #SUB_JRN_ALL_APPS_tmpZ
EXEC SUB_JRN_INV_LOST_FOUND @BranchCode, @CCY, @DateFrom, @DateTo; END; --Dr.
Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAZ' , A.BranchCode , A.IndOrd
, A.Adj_ID , 1 , A.Adj_Date , 'D' , B.AccountID , B.AccountName
, A.CCY , A.TxnAmt , A.BasedAmt , A.Memo AS Remark , NULL AS
RefType , A.RefNo , 'NO' , NULL AS PPType , NULL AS PPID , NULL
AS PP_Name , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName FROM #SUB_JRN_ALL_APPS_tmpZ A INNER JOIN #tmpAllChart B ON
A.DrAcc = B.AccountID; --Cr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'AAZ'
, A.BranchCode , A.IndOrd , A.Adj_ID , 2 , A.Adj_Date , 'C'
, B.AccountID , B.AccountName , A.CCY , A.TxnAmt , A.BasedAmt ,
A.Memo AS Remark , NULL AS RefType , A.RefNo , 'NO' , NULL AS
PPType , NULL AS PPID , NULL AS PP_Name , FormID, FormName,
FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpZ A INNER JOIN #tmpAllChart B ON A.CrAcc = B.AccountID;
--
===================================================================================
=================== --Petty Cash CREATE TABLE #SUB_JRN_ALL_APPS_tmpABA (
PTC_ID nvarchar(30) , PTC_DATE date , CategoryID nvarchar(30) , REF_NO
nvarchar(50) , CCY nvarchar(10) , PTC_AMT money , BasedAmt money ,
MethodID nvarchar(30) , REMARK nvarchar(200) , REMARK_LOCAL nvarchar(200)
, REQUESTED_BY nvarchar(50) , TillID nvarchar(30) , BranchCode nvarchar(10)
, IndOrd int
, DrAcc nvarchar(50) , CrAcc nvarchar(50) , FormID nvarchar(30), FormName
nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit,
Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM
#TMP_VARS WHERE Item IN('','020')) BEGIN INSERT INTO #SUB_JRN_ALL_APPS_tmpABA
EXEC SUB_JRN_PETTY_CASH @BranchCode, @CCY, @DateFrom, @DateTo; END; --Dr.
Side INSERT #SUB_JRN_ALL_APPS SELECT 'ABA' , A.BranchCode , A.IndOrd
, A.PTC_ID , 1 , A.PTC_DATE , 'D' , B.AccountID , B.AccountName
, A.CCY , A.PTC_AMT , A.BasedAmt , A.REMARK AS Remark , NULL AS
RefType , A.REF_NO , 'NO' , NULL AS PPType , NULL AS PPID ,
NULL AS PP_Name , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName FROM #SUB_JRN_ALL_APPS_tmpABA A INNER JOIN #tmpAllChart B ON
A.DrAcc = B.AccountID; --Cr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'ABA'
, A.BranchCode , A.IndOrd , A.PTC_ID , 2 , A.PTC_DATE , 'C'
, B.AccountID , B.AccountName , A.CCY , A.PTC_AMT ,
A.BasedAmt , A.REMARK AS Remark , NULL AS RefType , A.REF_NO , 'NO'
, NULL AS PPType , NULL AS PPID , NULL AS PP_Name , FormID, FormName,
FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpABA A INNER JOIN #tmpAllChart B ON A.CrAcc = B.AccountID;
--
===================================================================================
=================== --MFI Starting --Data Capture CREATE TABLE
#SUB_JRN_ALL_APPS_tmpMAA ( DC_ID nvarchar(30) , VALUE_DATE date ,
REF_NO nvarchar(50) , TXN_CODE nvarchar(30) , ACCOUNT_ID nvarchar(50) ,
CCY nvarchar(10) , EX_RATE money , N_EX_RATE money , GL_ACC_ID
nvarchar(50) , DC_INDICATOR nvarchar(1) , ORIG_AMT money , BASED_AMT
money , REMARK nvarchar(200) , BranchCode nvarchar(10) , IndOrd int
, DrAcc nvarchar(50) , CrAcc nvarchar(50) , FormID nvarchar(30), FormName
nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit,
Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT *
FROM #TMP_VARS WHERE Item IN('','021')) BEGIN INSERT INTO
#SUB_JRN_ALL_APPS_tmpMAA EXEC SUB_JRN_TXN_MFI_DCACC @BranchCode, @CCY,
@DateFrom, @DateTo; END; --Dr. Side (Direct Credit Customer Account) INSERT
#SUB_JRN_ALL_APPS SELECT 'MAA' AS CLASS , A.BranchCode AS BRANCH_CODE ,
A.IndOrd AS IND_ORD , A.DC_ID AS SYSTEM_ID , 1 AS LINE# , A.VALUE_DATE AS
TXN_DATE , 'D' AS DR_CR_MARKER , B.AccountID AS ACCOUNT_ID , B.AccountName
AS ACCOUNT_NAME , A.CCY , A.ORIG_AMT AS AMT_FCY , A.BASED_AMT AS AMT_LCY
, A.REMARK AS REMARK , NULL AS REF_TYPE , A.REF_NO , 'NO' AS ADJUSTMENT
, NULL AS PP_TYPE , NULL AS PP_ID , NULL AS PP_NAME , FormID, FormName,
FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpMAA A INNER JOIN #tmpAllChart B ON A.CrAcc = B.AccountID
WHERE A.DC_INDICATOR ='C'; ------Cr. Side (Direct Credit Customer Account)
--INSERT #SUB_JRN_ALL_APPS --SELECT 'MAA' AS CLASS -- , A.BranchCode AS
BRANCH_CODE -- , A.IndOrd AS IND_ORD -- , A.DC_ID AS SYSTEM_ID -- , 2 AS
LINE# -- , A.VALUE_DATE AS TXN_DATE -- , 'C' AS DR_CR_MARKER -- , B.AccountID
AS ACCOUNT_ID -- , B.AccountName AS ACCOUNT_NAME -- , A.CCY -- , A.ORIG_AMT
AS AMT_FCY -- , A.BASED_AMT AS AMT_LCY -- , A.REMARK AS REMARK -- , NULL AS
REF_TYPE -- , A.REF_NO -- , 'NO' AS ADJUSTMENT -- , NULL AS PP_TYPE -- ,
NULL AS PP_ID -- , NULL AS PP_NAME -- , FormID, FormName, FormCaption,
EXE_NAME, IsBased, Style_Show, ProjectName --FROM #SUB_JRN_ALL_APPS_tmpMAA A --
INNER JOIN #tmpAllChart B ON A.DrAcc = B.AccountID --WHERE A.DC_INDICATOR ='C';
--***** --Dr. Side (Direct Debit Customer Account) --INSERT #SUB_JRN_ALL_APPS
--SELECT 'MAA' AS CLASS -- , A.BranchCode AS BRANCH_CODE -- , A.IndOrd AS
IND_ORD -- , A.DC_ID AS SYSTEM_ID -- , 1 AS LINE# -- , A.VALUE_DATE AS
TXN_DATE -- , 'D' AS DR_CR_MARKER -- , B.AccountID AS ACCOUNT_ID -- ,
B.AccountName AS ACCOUNT_NAME -- , A.CCY -- , A.ORIG_AMT AS AMT_FCY -- ,
A.BASED_AMT AS AMT_LCY -- , A.REMARK AS REMARK -- , NULL AS REF_TYPE -- ,
A.REF_NO -- , 'NO' AS ADJUSTMENT -- , NULL AS PP_TYPE -- , NULL AS PP_ID --
, NULL AS PP_NAME -- , FormID, FormName, FormCaption, EXE_NAME, IsBased,
Style_Show, ProjectName --FROM #SUB_JRN_ALL_APPS_tmpMAA A -- INNER JOIN
#tmpAllChart B ON A.DrAcc = B.AccountID --WHERE A.DC_INDICATOR ='D'; --Cr.
Side (Direct Debit Customer Account) INSERT #SUB_JRN_ALL_APPS SELECT 'MAA' AS
CLASS , A.BranchCode AS BRANCH_CODE , A.IndOrd AS IND_ORD , A.DC_ID AS
SYSTEM_ID , 2 AS LINE# , A.VALUE_DATE AS TXN_DATE , 'C' AS DR_CR_MARKER
, B.AccountID AS ACCOUNT_ID , B.AccountName AS ACCOUNT_NAME , A.CCY ,
A.ORIG_AMT AS AMT_FCY , A.BASED_AMT AS AMT_LCY , A.REMARK AS REMARK , NULL
AS REF_TYPE , A.REF_NO , 'NO' AS ADJUSTMENT , NULL AS PP_TYPE , NULL AS
PP_ID , NULL AS PP_NAME , FormID, FormName, FormCaption, EXE_NAME, IsBased,
Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpMAA A INNER JOIN
#tmpAllChart B ON A.CrAcc = B.AccountID WHERE A.DC_INDICATOR ='D'; --
===================================================================================
=================== --Credit and Debit Till CREATE TABLE
#SUB_JRN_ALL_APPS_tmpMAB ( sysdocnum nvarchar(25) , customerid
nvarchar(15) , accountid nvarchar(20) , value_date date , trans_code
nvarchar(4) , trans_amount money , REMARK nvarchar(500) , trans_pair
nvarchar(25) , ex_buy_rate money , sell_rate money , mid_rate money
, N_EX_RATE money , BaseAmt money , BranchCode nvarchar(10) , IndOrd
int , CCY nvarchar(10) , category_id nvarchar(50) , DrAcc
nvarchar(50) , CrAcc nvarchar(50) , FormID nvarchar(30), FormName
nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit,
Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM
#TMP_VARS WHERE Item IN('','022')) BEGIN INSERT INTO #SUB_JRN_ALL_APPS_tmpMAB
EXEC SUB_JRN_TXN_MFI_OCTILL @BranchCode, @CCY, @DateFrom, @DateTo; END; --Dr.
Side INSERT #SUB_JRN_ALL_APPS SELECT 'MAB' AS CLASS , A.BranchCode AS
BRANCH_CODE , A.IndOrd AS IND_ORD , A.sysdocnum AS SYSTEM_ID , 1 AS LINE#
, A.VALUE_DATE AS TXN_DATE , 'D' AS DR_CR_MARKER , B.AccountID AS ACCOUNT_ID
, B.AccountName AS ACCOUNT_NAME , A.CCY , A.trans_amount AS AMT_FCY ,
A.BaseAmt AS AMT_LCY , A.REMARK AS REMARK , NULL AS REF_TYPE , NULL AS
REF_NO , 'NO' AS ADJUSTMENT , NULL AS PP_TYPE , NULL AS PP_ID , NULL AS
PP_NAME , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName FROM #SUB_JRN_ALL_APPS_tmpMAB A INNER JOIN #tmpAllChart B ON
A.DrAcc = B.AccountID; --Cr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'MAB' AS
CLASS , A.BranchCode AS BRANCH_CODE , A.IndOrd AS IND_ORD , A.sysdocnum AS
SYSTEM_ID , 2 AS LINE# , A.VALUE_DATE AS TXN_DATE , 'C' AS DR_CR_MARKER
, B.AccountID AS ACCOUNT_ID , B.AccountName AS ACCOUNT_NAME , A.CCY ,
A.trans_amount AS AMT_FCY , A.BaseAmt AS AMT_LCY , A.REMARK AS REMARK ,
NULL AS REF_TYPE , NULL AS REF_NO , 'NO' AS ADJUSTMENT , NULL AS PP_TYPE
, NULL AS PP_ID , NULL AS PP_NAME , FormID, FormName, FormCaption, EXE_NAME,
IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpMAB A INNER JOIN
#tmpAllChart B ON A.CrAcc = B.AccountID; --
===================================================================================
=================== --Cash deposit and withdrawal CREATE TABLE
#SUB_JRN_ALL_APPS_tmpMAC ( sysdocnum nvarchar(25) , customerid
nvarchar(15) , accountid nvarchar(20) , value_date date , trans_code
nvarchar(4) , trans_amount money , REMARK nvarchar(500) , trans_pair
nvarchar(25) , ex_buy_rate money , sell_rate money , mid_rate money
, N_EX_RATE money , BaseAmt money , BranchCode nvarchar(10) , IndOrd
int , CCY nvarchar(10) , category_id nvarchar(50) , GL_ACC_ID
nvarchar(50) , GL_INDICATOR nvarchar(1) , FormID nvarchar(30), FormName
nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit,
Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM
#TMP_VARS WHERE Item IN('','023')) BEGIN INSERT INTO #SUB_JRN_ALL_APPS_tmpMAC
EXEC SUB_JRN_TXN_MFI_DWACC @BranchCode, @CCY, @DateFrom, @DateTo; END; --Dr.
Side INSERT #SUB_JRN_ALL_APPS SELECT 'MAC' AS CLASS , A.BranchCode AS
BRANCH_CODE , A.IndOrd AS IND_ORD , A.trans_pair AS SYSTEM_ID , 1 AS LINE#
, A.VALUE_DATE AS TXN_DATE , A.GL_INDICATOR AS DR_CR_MARKER , B.AccountID AS
ACCOUNT_ID , B.AccountName AS ACCOUNT_NAME , A.CCY , A.trans_amount AS
AMT_FCY , A.BaseAmt AS AMT_LCY , A.REMARK AS REMARK , NULL AS
REF_TYPE , NULL AS REF_NO , 'NO' AS ADJUSTMENT , NULL AS PP_TYPE , NULL
AS PP_ID , NULL AS PP_NAME , FormID, FormName, FormCaption, EXE_NAME,
IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpMAC A INNER JOIN
#tmpAllChart B ON A.GL_ACC_ID = B.AccountID WHERE A.GL_INDICATOR ='D' ; --Cr.
Side INSERT #SUB_JRN_ALL_APPS SELECT 'MAC' AS CLASS , A.BranchCode AS
BRANCH_CODE , A.IndOrd AS IND_ORD , A.trans_pair AS SYSTEM_ID , 2 AS LINE#
, A.VALUE_DATE AS TXN_DATE , A.GL_INDICATOR AS DR_CR_MARKER , B.AccountID AS
ACCOUNT_ID , B.AccountName AS ACCOUNT_NAME , A.CCY , A.trans_amount AS
AMT_FCY , A.BaseAmt AS AMT_LCY , A.REMARK AS REMARK , NULL AS REF_TYPE
, NULL AS REF_NO , 'NO' AS ADJUSTMENT , NULL AS PP_TYPE , NULL AS PP_ID
, NULL AS PP_NAME , FormID, FormName, FormCaption, EXE_NAME, IsBased,
Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpMAC A INNER JOIN
#tmpAllChart B ON A.GL_ACC_ID = B.AccountID WHERE A.GL_INDICATOR ='C'; --Cash
deposit and withdrawal inter-branches (Received) CREATE TABLE
#SUB_JRN_ALL_APPS_tmpMAC_INB ( sysdocnum nvarchar(50) , customerid
nvarchar(50) , accountid nvarchar(50) , value_date date , trans_code
nvarchar(4) , trans_amount money , REMARK nvarchar(500) , trans_pair
nvarchar(50) , ex_buy_rate money , sell_rate money , mid_rate money
, N_EX_RATE money , BaseAmt money , BranchCode nvarchar(10) , IndOrd
int , CCY nvarchar(10) , category_id nvarchar(50) , GL_ACC_ID
nvarchar(50) , GL_INDICATOR nvarchar(1) , FormID nvarchar(30), FormName
nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit,
Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM
#TMP_VARS WHERE Item IN('','039')) BEGIN INSERT INTO
#SUB_JRN_ALL_APPS_tmpMAC_INB EXEC SUB_JRN_TXN_MFI_DWACC_INT_BOOK @BranchCode,
@CCY, @DateFrom, @DateTo; END; --select * from tblAccDefaultCenter where
Title like '%inter%' select * from tblAccDefaultCenter where appid='ITB' --select
* from tblAccDefaultCenterDetails where CtrlName='txt_acc_itb_1' --select * from
#SUB_JRN_ALL_APPS_tmpMAC_INB --select * from sys_VARIDs insert into sys_VARIDs
values ('039','Cash Deposit and Withdrawal Inter-Branch','Rpt_Acc',0,null,'') --
Dr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'INB' AS CLASS , A.BranchCode AS
BRANCH_CODE , A.IndOrd AS IND_ORD , A.trans_pair AS SYSTEM_ID , 1 AS LINE#
, A.VALUE_DATE AS TXN_DATE , A.GL_INDICATOR AS DR_CR_MARKER , B.AccountID AS
ACCOUNT_ID , B.AccountName AS ACCOUNT_NAME , A.CCY , A.trans_amount AS
AMT_FCY , A.BaseAmt AS AMT_LCY , A.REMARK AS REMARK , NULL AS
REF_TYPE , NULL AS REF_NO , 'NO' AS ADJUSTMENT , NULL AS PP_TYPE , NULL
AS PP_ID , NULL AS PP_NAME , FormID, FormName, FormCaption, EXE_NAME,
IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpMAC_INB A INNER
JOIN #tmpAllChart B ON A.GL_ACC_ID = B.AccountID WHERE A.GL_INDICATOR ='D';
--Cr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'INB' AS CLASS , A.BranchCode AS
BRANCH_CODE , A.IndOrd AS IND_ORD , A.trans_pair AS SYSTEM_ID , 2 AS LINE#
, A.VALUE_DATE AS TXN_DATE , A.GL_INDICATOR AS DR_CR_MARKER , B.AccountID AS
ACCOUNT_ID , B.AccountName AS ACCOUNT_NAME , A.CCY , A.trans_amount AS
AMT_FCY , A.BaseAmt AS AMT_LCY , A.REMARK AS REMARK , NULL AS
REF_TYPE , NULL AS REF_NO , 'NO' AS ADJUSTMENT , NULL AS PP_TYPE , NULL
AS PP_ID , NULL AS PP_NAME , FormID, FormName, FormCaption, EXE_NAME,
IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpMAC_INB A INNER
JOIN #tmpAllChart B ON A.GL_ACC_ID = B.AccountID WHERE A.GL_INDICATOR ='C';
--Cash deposit and withdrawal inter-branches (Received) CREATE TABLE
#SUB_JRN_ALL_APPS_tmpMAC_INBR ( sysdocnum nvarchar(50) , customerid
nvarchar(50) , accountid nvarchar(50) , value_date date , trans_code
nvarchar(4) , trans_amount money , REMARK nvarchar(500) , trans_pair
nvarchar(50) , ex_buy_rate money , sell_rate money , mid_rate money
, N_EX_RATE money , BaseAmt money , BranchCode nvarchar(10) , IndOrd
int , CCY nvarchar(10) , category_id nvarchar(50) , GL_ACC_ID
nvarchar(50) , GL_INDICATOR nvarchar(1) , FormID nvarchar(50), FormName
nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit,
Style_Show nvarchar(1), ProjectName nvarchar(50) ); IF EXISTS(SELECT * FROM
#TMP_VARS WHERE Item IN('','040')) BEGIN INSERT INTO
#SUB_JRN_ALL_APPS_tmpMAC_INBR EXEC SUB_JRN_TXN_MFI_DWACC_INT @BranchCode, @CCY,
@DateFrom, @DateTo; END; --select * from sys_VARIDs insert into sys_VARIDs
values ('040','Cash Deposit and Withdrawal Inter-Branch-R','Rpt_Acc',0,null,'') --
select * from #SUB_JRN_ALL_APPS_tmpMAC_INBR --Dr. Side INSERT #SUB_JRN_ALL_APPS
SELECT 'INR' AS CLASS , A.BranchCode AS BRANCH_CODE , A.IndOrd AS
IND_ORD , A.trans_pair AS SYSTEM_ID , 1 AS LINE# , A.VALUE_DATE AS
TXN_DATE , A.GL_INDICATOR AS DR_CR_MARKER , B.AccountID ACCOUNT_ID ,
B.AccountName ACCOUNT_NAME --, case when trans_code= 51 then -- (case when
A.IndOrd='101' then '296519002' -- when A.IndOrd='102' then '296519004' --
else B.AccountID end) -- else B.AccountID --end AS ACCOUNT_ID --, case
when trans_code= 51 then -- (case when A.IndOrd='101' then'Inter Branches
Clearings_Branch2' -- when A.IndOrd='102' then 'Inter Branches
Clearings_Branch4' -- else B.AccountName end) -- else B.AccountName --end
AS ACCOUNT_NAME , A.CCY , A.trans_amount AS AMT_FCY , A.BaseAmt AS
AMT_LCY , A.REMARK AS REMARK , NULL AS REF_TYPE , NULL AS REF_NO , 'NO'
AS ADJUSTMENT , NULL AS PP_TYPE , NULL AS PP_ID , NULL AS PP_NAME ,
FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpMAC_INBR A INNER JOIN #tmpAllChart B ON A.GL_ACC_ID =
B.AccountID WHERE A.GL_INDICATOR ='D'; --Cr. Side INSERT #SUB_JRN_ALL_APPS
SELECT 'INR' AS CLASS , A.BranchCode AS BRANCH_CODE , A.IndOrd AS
IND_ORD , A.trans_pair AS SYSTEM_ID , 2 AS LINE# , A.VALUE_DATE AS
TXN_DATE , A.GL_INDICATOR AS DR_CR_MARKER , B.AccountID AS ACCOUNT_ID ,
B.AccountName AS ACCOUNT_NAME --, case when trans_code= 52 then -- (case
when A.IndOrd='101' then '296519002' -- when A.IndOrd='102' then '296519004'
-- else B.AccountID end) -- else B.AccountID --end AS ACCOUNT_ID --,
case when trans_code= 52 then -- (case when A.IndOrd='101' then 'Inter Branches
Clearings_Branch2' -- when A.IndOrd='102' then 'Inter Branches
Clearings_Branch4' -- else B.AccountName end) -- else B.AccountName --end
AS ACCOUNT_NAME , A.CCY , A.trans_amount AS AMT_FCY , A.BaseAmt AS
AMT_LCY , A.REMARK AS REMARK , NULL AS REF_TYPE , NULL AS REF_NO , 'NO'
AS ADJUSTMENT , NULL AS PP_TYPE , NULL AS PP_ID , NULL AS PP_NAME ,
FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show, ProjectName FROM
#SUB_JRN_ALL_APPS_tmpMAC_INBR A INNER JOIN #tmpAllChart B ON A.GL_ACC_ID =
B.AccountID WHERE A.GL_INDICATOR ='C'; --================= end deposit-
withdrawal inter branch ----Cash deposit and withdrawal ----- Accounting Entry-
Till transaction (new) ====================== -- CREATE TABLE
#SUB_JRN_ALL_APPS_tmpMAC_ACE_TILL -- ( -- sysdocnum nvarchar(25) -- ,
customerid nvarchar(15) -- , accountid nvarchar(20) -- , value_date date --
, trans_code nvarchar(4) -- , trans_amount money -- , REMARK nvarchar(500)
-- , trans_pair nvarchar(25) -- , ex_buy_rate money -- , sell_rate money
-- , mid_rate money -- , N_EX_RATE money -- , BaseAmt money -- ,
BranchCode nvarchar(10) -- , IndOrd int -- , CCY nvarchar(10) -- ,
category_id nvarchar(50) -- , GL_ACC_ID nvarchar(50) -- , GL_INDICATOR
nvarchar(1) -- , FormID nvarchar(30), FormName nvarchar(50), FormCaption
nvarchar(100), EXE_NAME nvarchar(50), IsBased bit, Style_Show nvarchar(1),
ProjectName nvarchar(50) -- ); -- IF EXISTS(SELECT * FROM #TMP_VARS WHERE Item
IN('','023')) BEGIN -- INSERT INTO #SUB_JRN_ALL_APPS_tmpMAC_ACE_TILL -- EXEC
SUB_JRN_TXN_MFI_DWACC_ACE_TILL @BranchCode, @CCY, @DateFrom, @DateTo; -- END;
-- --Dr. Side -- INSERT #SUB_JRN_ALL_APPS -- SELECT 'ACT' AS CLASS -- ,
A.BranchCode AS BRANCH_CODE -- , A.IndOrd AS IND_ORD -- , A.trans_pair AS
SYSTEM_ID -- , 1 AS LINE# -- , A.VALUE_DATE AS TXN_DATE -- , A.GL_INDICATOR
AS DR_CR_MARKER -- , B.AccountID AS ACCOUNT_ID -- , B.AccountName AS
ACCOUNT_NAME -- , A.CCY -- , A.trans_amount AS AMT_FCY -- , A.BaseAmt AS
AMT_LCY -- , A.REMARK AS REMARK -- , NULL AS REF_TYPE -- , NULL AS REF_NO --
, 'NO' AS ADJUSTMENT -- , NULL AS PP_TYPE -- , NULL AS PP_ID -- , NULL AS
PP_NAME -- , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName -- FROM #SUB_JRN_ALL_APPS_tmpMAC_ACE_TILL A -- INNER JOIN
#tmpAllChart B ON A.GL_ACC_ID = B.AccountID -- WHERE A.GL_INDICATOR ='D' ; --
--Cr. Side -- INSERT #SUB_JRN_ALL_APPS -- SELECT 'ACT' AS CLASS -- ,
A.BranchCode AS BRANCH_CODE -- , A.IndOrd AS IND_ORD -- , A.trans_pair AS
SYSTEM_ID -- , 2 AS LINE# -- , A.VALUE_DATE AS TXN_DATE -- , A.GL_INDICATOR
AS DR_CR_MARKER -- , B.AccountID AS ACCOUNT_ID -- , B.AccountName AS
ACCOUNT_NAME -- , A.CCY -- , A.trans_amount AS AMT_FCY -- , A.BaseAmt AS
AMT_LCY -- , A.REMARK AS REMARK -- , NULL AS REF_TYPE -- , NULL AS REF_NO --
, 'NO' AS ADJUSTMENT -- , NULL AS PP_TYPE -- , NULL AS PP_ID -- , NULL AS
PP_NAME -- , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName -- FROM #SUB_JRN_ALL_APPS_tmpMAC_ACE_TILL A -- INNER JOIN
#tmpAllChart B ON A.GL_ACC_ID = B.AccountID -- WHERE A.GL_INDICATOR ='C'; --end
===Cash deposit and withdrawal ----- Accounting Entry- Till transaction (new)
====================== -- New code added 05-05-2022 --Suspend Account
(Shortage and Surplus) CREATE TABLE #SUB_JRN_ALL_APPS_tmpMAC_SUSPEND
( sysdocnum nvarchar(25) , customerid nvarchar(15) , accountid
nvarchar(20) , value_date date , trans_code nvarchar(4) , trans_amount
money , REMARK nvarchar(500) , trans_pair nvarchar(25) , ex_buy_rate
money , sell_rate
money , mid_rate money , N_EX_RATE money , BaseAmt money ,
BranchCode nvarchar(10) , IndOrd int , CCY nvarchar(10) , category_id
nvarchar(50) , GL_ACC_ID nvarchar(50) , GL_INDICATOR nvarchar(1) ,
FormID nvarchar(30), FormName nvarchar(50), FormCaption nvarchar(100), EXE_NAME
nvarchar(50), IsBased bit, Style_Show nvarchar(1), ProjectName nvarchar(50) );
INSERT INTO #SUB_JRN_ALL_APPS_tmpMAC_SUSPEND EXEC SUB_JRN_TXN_MFI_DWACC_SUS
@BranchCode, @CCY, @DateFrom, @DateTo; --Dr. Side INSERT #SUB_JRN_ALL_APPS
SELECT 'SUS' AS CLASS , A.BranchCode AS BRANCH_CODE , A.IndOrd AS
IND_ORD , A.trans_pair AS SYSTEM_ID , 1 AS LINE# , A.VALUE_DATE AS
TXN_DATE , A.GL_INDICATOR AS DR_CR_MARKER , B.AccountID AS ACCOUNT_ID ,
B.AccountName AS ACCOUNT_NAME , A.CCY , A.trans_amount AS AMT_FCY ,
A.BaseAmt AS AMT_LCY , A.REMARK AS REMARK , NULL AS REF_TYPE , NULL AS
REF_NO , 'NO' AS ADJUSTMENT , NULL AS PP_TYPE , NULL AS PP_ID , NULL AS
PP_NAME , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName FROM #SUB_JRN_ALL_APPS_tmpMAC_SUSPEND A INNER JOIN #tmpAllChart B
ON A.GL_ACC_ID = B.AccountID WHERE A.GL_INDICATOR ='D' ; --Cr. Side INSERT
#SUB_JRN_ALL_APPS SELECT 'SUS' AS CLASS , A.BranchCode AS BRANCH_CODE ,
A.IndOrd AS IND_ORD , A.trans_pair AS SYSTEM_ID , 2 AS LINE# ,
A.VALUE_DATE AS TXN_DATE , A.GL_INDICATOR AS DR_CR_MARKER , B.AccountID AS
ACCOUNT_ID , B.AccountName AS ACCOUNT_NAME , A.CCY , A.trans_amount AS
AMT_FCY , A.BaseAmt AS AMT_LCY , A.REMARK AS REMARK , NULL AS
REF_TYPE , NULL AS REF_NO , 'NO' AS ADJUSTMENT , NULL AS PP_TYPE , NULL
AS PP_ID , NULL AS PP_NAME , FormID, FormName, FormCaption, EXE_NAME,
IsBased, Style_Show, ProjectName FROM #SUB_JRN_ALL_APPS_tmpMAC_SUSPEND A INNER
JOIN #tmpAllChart B ON A.GL_ACC_ID = B.AccountID WHERE A.GL_INDICATOR ='C'; --
======================== end Suspend Account ========= --================ Cash
deposit and withdrawal (Transaction True money with TILL) --CREATE TABLE
#SUB_JRN_ALL_APPS_tmpMAC_TM_TILL -- ( -- sysdocnum nvarchar(25) -- ,
customerid nvarchar(15) -- , accountid nvarchar(20) -- , value_date date --
, trans_code nvarchar(4) -- , trans_amount money -- , REMARK nvarchar(500)
-- , trans_pair nvarchar(25) -- , ex_buy_rate money -- , sell_rate money
-- , mid_rate money -- , N_EX_RATE money -- , BaseAmt money -- ,
BranchCode nvarchar(10) -- , IndOrd int -- , CCY nvarchar(10) -- ,
category_id nvarchar(50) -- , GL_ACC_ID nvarchar(50) -- , GL_INDICATOR
nvarchar(1) -- , FormID nvarchar(30), FormName nvarchar(50), FormCaption
nvarchar(100), EXE_NAME nvarchar(50), IsBased bit, Style_Show nvarchar(1),
ProjectName nvarchar(50) -- ); --IF EXISTS(SELECT * FROM #TMP_VARS WHERE
Item IN('','036')) BEGIN -- INSERT INTO #SUB_JRN_ALL_APPS_tmpMAC_TM_TILL --
EXEC SUB_JRN_TXN_MFI_DWACC_TM @BranchCode, @CCY, @DateFrom, @DateTo; --END;
----Dr. Side --INSERT #SUB_JRN_ALL_APPS --SELECT 'MAC' AS CLASS -- ,
A.BranchCode AS BRANCH_CODE -- , A.IndOrd AS IND_ORD -- , A.trans_pair AS
SYSTEM_ID -- , 1 AS LINE# -- , A.VALUE_DATE AS TXN_DATE -- , A.GL_INDICATOR
AS DR_CR_MARKER -- , B.AccountID AS ACCOUNT_ID -- , B.AccountName AS
ACCOUNT_NAME -- , A.CCY -- , A.trans_amount AS AMT_FCY -- , A.BaseAmt AS
AMT_LCY -- , A.REMARK AS REMARK -- , NULL AS REF_TYPE -- , NULL AS REF_NO
-- , 'NO' AS ADJUSTMENT -- , NULL AS PP_TYPE -- , NULL AS PP_ID -- , NULL AS
PP_NAME -- , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName --FROM #SUB_JRN_ALL_APPS_tmpMAC_TM_TILL A -- INNER JOIN
#tmpAllChart B ON A.GL_ACC_ID = B.AccountID --WHERE A.GL_INDICATOR ='D' ;
----Cr. Side --INSERT #SUB_JRN_ALL_APPS --SELECT 'MAC' AS CLASS -- ,
A.BranchCode AS BRANCH_CODE -- , A.IndOrd AS IND_ORD -- , A.trans_pair AS
SYSTEM_ID -- , 2 AS LINE# -- , A.VALUE_DATE AS TXN_DATE -- , A.GL_INDICATOR
AS DR_CR_MARKER -- , B.AccountID AS ACCOUNT_ID -- , B.AccountName AS
ACCOUNT_NAME -- , A.CCY -- , A.trans_amount AS AMT_FCY -- , A.BaseAmt AS
AMT_LCY -- , A.REMARK AS REMARK -- , NULL AS REF_TYPE -- , NULL AS REF_NO
-- , 'NO' AS ADJUSTMENT -- , NULL AS PP_TYPE -- , NULL AS PP_ID -- , NULL AS
PP_NAME -- , FormID, FormName, FormCaption, EXE_NAME, IsBased, Style_Show,
ProjectName --FROM #SUB_JRN_ALL_APPS_tmpMAC_TM_TILL A -- INNER JOIN
#tmpAllChart B ON A.GL_ACC_ID = B.AccountID --WHERE A.GL_INDICATOR ='C';
----================ Cash deposit and withdrawal (Transaction True money direct)
CREATE TABLE #SUB_JRN_ALL_APPS_tmpMAC_TM ( sysdocnum nvarchar(25) ,
customerid nvarchar(15) , accountid nvarchar(20) , value_date date ,
trans_code nvarchar(4) , trans_amount money , REMARK nvarchar(500) ,
trans_pair nvarchar(25) , ex_buy_rate money , sell_rate money ,
mid_rate money , N_EX_RATE money , BaseAmt money , BranchCode
nvarchar(10) , IndOrd int , CCY nvarchar(10) , category_id
nvarchar(50) , GL_ACC_ID nvarchar(50) , GL_INDICATOR nvarchar(1) ,
FormID nvarchar(30), FormName nvarchar(50), FormCaption nvarchar(100), EXE_NAME
nvarchar(50), IsBased bit, Style_Show nvarchar(1), ProjectName nvarchar(50) );
IF EXISTS(SELECT * FROM #TMP_VARS WHERE Item IN('','037')) BEGIN INSERT INTO
#SUB_JRN_ALL_APPS_tmpMAC_TM EXEC SUB_JRN_TXN_MFI_DWACC_TM_N @BranchCode, @CCY,
@DateFrom, @DateTo; END; --select * from #SUB_JRN_ALL_APPS_tmpMAC_TM --
Dr. Side INSERT #SUB_JRN_ALL_APPS SELECT 'MAC' AS CLASS , A.BranchCode AS
BRANCH_CODE , A.IndOrd AS IND_ORD , A.trans_pair AS SYSTEM_ID , 1 AS LINE#
, A.VALUE_DATE AS TXN_DATE , A.GL_INDICATOR AS DR_CR_MARKER , B.AccountID AS
ACCOUNT_ID , B.AccountName AS ACCOUNT_NAME , A.CCY , A.trans_amount AS
AMT_FCY , A.BaseAmt AS AMT_LCY , A.REMARK AS REMARK , NULL AS R

====================

-- SUB_JRN_TXN_MFI_HR_TXN '001','USD','2022.05.12','2022.05.12' CREATE PROC [dbo].


[SUB_JRN_TXN_MFI_HR_TXN]( @BranchCode nvarchar(10), @CCY nvarchar(10),
@DateFrom date, @DateTo date ) --FI--WITH ENCRYPTION AS DECLARE
@COA_MULTI_CCY nvarchar(10) , @BCCY nvarchar(10) SET @COA_MULTI_CCY =
(SELECT ConstValue FROM sysConstants WHERE ConstName ='COA_MULTI_CCY' AND
BranchCode ='GLOBAL') SET @BCCY = (SELECT CCY FROM tblCurrencies WHERE
BaseCurrency =1) SET @BCCY = CASE WHEN @COA_MULTI_CCY ='Yes' THEN @BCCY ELSE '%'
END CREATE TABLE #SUB_JRN_TXN_MFI_DWACC ( sysdocnum nvarchar(25) ,
customerid nvarchar(15) , accountid nvarchar(20) , value_date date ,
trans_code nvarchar(4) , trans_amount money , REMARK nvarchar(500) ,
trans_pair nvarchar(25) , ex_buy_rate money , sell_rate money ,
mid_rate money , N_EX_RATE money , BaseAmt money , BranchCode
nvarchar(10) , IndOrd int , CCY nvarchar(10) , category_id
nvarchar(50) , D_AccID nvarchar(50), C_AccID nvarchar(50) , GL_ACC_ID
nvarchar(50) , GL_INDICATOR nvarchar(1) , FormID nvarchar(30), FormName
nvarchar(50), FormCaption nvarchar(100), EXE_NAME nvarchar(50), IsBased bit,
Style_Show nvarchar(1), ProjectName nvarchar(50) ); --Saving WITH
TMP_A AS( SELECT APP_ID, OBJ_ID, GL_TYPE, CCY, ACC_ID FROM
tblAccDefaultCenterDetails WHERE CtrlName ='txt_sav_1' AND APP_ID ='SAV' AND OBJ_ID
LIKE 'DEFAULT_SET%' ) , TMP_B AS( SELECT A.category_id AS LINK_ID, B.*
FROM tblCategories A , TMP_A B WHERE A.cate_type ='SV' ) , TMP_C
AS( SELECT OBJ_ID, GL_TYPE, CCY, ACC_ID FROM tblAccDefaultCenterDetails WHERE
APP_ID ='SAV' AND OBJ_ID NOT LIKE 'DEFAULT_SET%' ) SELECT A.APP_ID, A.GL_TYPE,
A.CCY, A.LINK_ID, ISNULL(B.ACC_ID, A.ACC_ID) AS ACC_ID INTO #tmpSAV_ORG FROM
TMP_B A LEFT JOIN TMP_C B ON A.LINK_ID = B.OBJ_ID AND A.GL_TYPE = B.GL_TYPE AND
A.CCY = B.CCY; SELECT * INTO #tmpSAV FROM #tmpSAV_ORG WHERE 1=2; IF
@COA_MULTI_CCY ='Yes' BEGIN WITH TMP_A AS( SELECT * FROM #tmpSAV_ORG WHERE
CCY LIKE @BCCY ) INSERT INTO #tmpSAV SELECT A.APP_ID, A.GL_TYPE, B.CCY,
A.LINK_ID, A.ACC_ID FROM TMP_A A, tblCurrencies B; END ELSE BEGIN INSERT
INTO #tmpSAV SELECT * FROM #tmpSAV_ORG; END; --
===================================================================================
===== --select * from #tmpSAV_ORG; --Till WITH TMP_A AS( SELECT APP_ID,
OBJ_ID, GL_TYPE, CCY, ACC_ID FROM tblAccDefaultCenterDetails WHERE CtrlName
='txt_vt_2' AND APP_ID ='VAULT_TILL' AND OBJ_ID LIKE 'DEFAULT_SET%' ) , TMP_B
AS( SELECT A.category_id AS LINK_ID, B.* FROM tblCategories A , TMP_A B
WHERE A.category_id ='7000' ) , TMP_C AS( SELECT OBJ_ID, GL_TYPE, CCY,
ACC_ID FROM tblAccDefaultCenterDetails WHERE APP_ID ='VAULT_TILL' AND OBJ_ID NOT
LIKE 'DEFAULT_SET%' ) SELECT A.APP_ID, A.GL_TYPE, A.CCY, A.LINK_ID,
ISNULL(B.ACC_ID, A.ACC_ID) AS ACC_ID INTO #tmpTILL_ORG FROM TMP_B A LEFT
JOIN TMP_C B ON A.LINK_ID = B.OBJ_ID AND A.GL_TYPE = B.GL_TYPE AND A.CCY = B.CCY;
SELECT * INTO #tmpTILL FROM #tmpTILL_ORG WHERE 1=2; IF @COA_MULTI_CCY ='Yes'
BEGIN WITH TMP_A AS( SELECT * FROM #tmpTILL_ORG WHERE CCY LIKE @BCCY )
INSERT INTO #tmpTILL SELECT A.APP_ID, A.GL_TYPE, B.CCY, A.LINK_ID, A.ACC_ID
FROM TMP_A A, tblCurrencies B; END ELSE BEGIN INSERT INTO #tmpTILL SELECT *
FROM #tmpTILL_ORG; END; select * into #StaffInfo from tblStaffInfos
declare @GLID_Staff nvarchar(50)='381100701' ,@GLID_Cus
nvarchar(50)='333100701' --select @AccID_Staff,@AccName_Staff --select * from
tblAccChartAccounts where AccountName like '%saving%' --select * from
tblAccChartAccounts where AccountName like '%short%' ; --Txn WITH TMP_A AS(
SELECT A.sysdocnum, A.customerid, A.accountid, A.trans_date as value_date,
A.ld_trans_type trans_code, ABS(A.trans_amount) AS trans_amount , CASE WHEN
A.comment IS NULL THEN A.narrative ELSE A.comment + CASE WHEN A.narrative IS NULL
THEN '' ELSE ': '+ A.narrative END END AS REMARK , A.trans_pair, A.ex_buy_rate,
A.sell_rate, A.mid_rate , dbo.fi_getExchnageByDate(@DateTo, B.currency_id) AS
N_EX_RATE , ABS(A.BaseAmt) AS BaseAmt , A.BranchCode, 0 AS IndOrd ,
B.currency_id AS CCY , B.category_id , C.GL_ACC_ID D_AccID , '' C_AccID
FROM tblTransactions A INNER JOIN tblAccounts B ON A.accountid = B.AccountID
inner join tblStaffItems_GL C on A.ld_trans_type=c.item_code WHERE A.BranchCode
LIKE CASE WHEN ISNULL(@BranchCode,'') ='' THEN '%' ELSE @BranchCode END AND
B.currency_id LIKE CASE WHEN ISNULL(@CCY,'') ='' THEN '%' ELSE @CCY END AND
A.value_date BETWEEN @DateFrom AND @DateTo AND A.trans_code IN ('900','901')
AND A.reversed =0 ) ---- select * from tblstaffitems select * from
tblStaffItems_GL @GLID_Staff, @GLID_Cus --select * from tblaccchartaccounts
where AccountName like '%expe%' --=============== Salary , TMP_B AS( SELECT
A.*, D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C
ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE A.trans_code IN ('I001')
UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS GL_INDICATOR FROM TMP_A A
left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN ('I001') --=============== Tax --UNION --SELECT A.*,
@GLID_Staff AS GL_ACC_ID, 'D' AS GL_INDICATOR -- FROM TMP_A A left JOIN #tmpTILL
C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY -- WHERE A.trans_code IN('I002')
--UNION -- SELECT A.*, D_AccID AS GL_ACC_ID, 'C' AS GL_INDICATOR -- FROM TMP_A
A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY -- WHERE
A.trans_code IN('I002') --=============== Incentive UNION SELECT A.*, D_AccID
AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON
A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE A.trans_code IN('I003')
UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS GL_INDICATOR FROM TMP_A A
left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN('I003') --=============== Over Times UNION SELECT A.*,
D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON
A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE A.trans_code IN('I004')
UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS GL_INDICATOR FROM TMP_A A
left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN('I004') --=============== Rental --UNION --SELECT A.*,
D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR -- FROM TMP_A A left JOIN #tmpTILL C ON
A.category_id = C.LINK_ID AND A.CCY = C.CCY -- WHERE A.trans_code IN('I005') --
UNION -- SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS GL_INDICATOR -- FROM
TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY --
WHERE A.trans_code IN('I005') --=============== Fuel UNION SELECT A.*,
D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON
A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE A.trans_code IN('I006')
UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS GL_INDICATOR FROM TMP_A A
left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN('I006') --=============== Company Pension Fund --UNION --
SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'D' AS GL_INDICATOR -- FROM TMP_A A left
JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY -- WHERE
A.trans_code IN('I007') --UNION -- SELECT A.*, D_AccID AS GL_ACC_ID, 'C' AS
GL_INDICATOR -- FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID
AND A.CCY = C.CCY -- WHERE A.trans_code IN('I007') --=============== Staff
Pension Fund UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR
FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY
WHERE A.trans_code IN('I008') UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C'
AS GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID
AND A.CCY = C.CCY WHERE A.trans_code IN('I008') --=============== Bonus New
Year UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A
A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN('I009') UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS
GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND
A.CCY = C.CCY WHERE A.trans_code IN('I009') --=============== Bonus Phum Ben
UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A left
JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN('I010') UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS
GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND
A.CCY = C.CCY WHERE A.trans_code IN('I010') --=============== Inflation --
UNION --SELECT A.*, D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR -- FROM TMP_A A
left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY -- WHERE
A.trans_code IN('I011') --UNION -- SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS
GL_INDICATOR -- FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID
AND A.CCY = C.CCY -- WHERE A.trans_code IN('I011') --=============== Clothing
--UNION --SELECT A.*, D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR -- FROM TMP_A A
left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY -- WHERE
A.trans_code IN('I012') --UNION -- SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS
GL_INDICATOR -- FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID
AND A.CCY = C.CCY -- WHERE A.trans_code IN('I012') --=============== Staff NSF
--UNION --SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'D' AS GL_INDICATOR -- FROM
TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY --
WHERE A.trans_code IN('I014') --UNION -- SELECT A.*, D_AccID AS GL_ACC_ID, 'C'
AS GL_INDICATOR -- FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID
AND A.CCY = C.CCY -- WHERE A.trans_code IN('I014') --=============== Premium
--UNION --SELECT A.*, D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR -- FROM TMP_A A
left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY -- WHERE
A.trans_code IN('I015') --UNION -- SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS
GL_INDICATOR -- FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID
AND A.CCY = C.CCY -- WHERE A.trans_code IN('I015') --=============== Advance
Salary UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM
TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY
WHERE A.trans_code IN('I016') UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'C' AS
GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND
A.CCY = C.CCY WHERE A.trans_code IN('I016') --=============== Baby allowance
UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A left
JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN('I017') UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS
GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND
A.CCY = C.CCY WHERE A.trans_code IN('I017') --=============== Annual Bonus
UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A left
JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN('I018') UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS
GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND
A.CCY = C.CCY WHERE A.trans_code IN('I018') --=============== Other Employee
Expense UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM
TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY
WHERE A.trans_code IN('I019') UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C'
AS GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID
AND A.CCY = C.CCY WHERE A.trans_code IN('I019') --I020 Annual Leave --I021
5% Serverance pay --I022 Deductions (Unpaid leave) --I023 Other Deduction --I024
Loan Payment --=============== Annual Leave UNION SELECT A.*, D_AccID AS
GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON
A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE A.trans_code IN('I020')
UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS GL_INDICATOR FROM TMP_A A
left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN('I020') --=============== 5% Serverance pay UNION SELECT A.*,
D_AccID AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON
A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE A.trans_code IN('I021')
UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'C' AS GL_INDICATOR FROM TMP_A A
left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN('I021') --=============== Deductions (Unpaid leave) UNION
SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A left JOIN
#tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE A.trans_code
IN('I022') UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'C' AS GL_INDICATOR FROM
TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY
WHERE A.trans_code IN('I022') --=============== Other Deduction UNION SELECT
A.*, @GLID_Staff AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A left JOIN
#tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE A.trans_code
IN('I023') UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'C' AS GL_INDICATOR FROM
TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY
WHERE A.trans_code IN('I023') --=============== Loan Payment UNION SELECT
A.*, @GLID_Staff AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A left JOIN
#tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE A.trans_code
IN('I024') UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'C' AS GL_INDICATOR FROM
TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY
WHERE A.trans_code IN('I024') --****** --=============== Salary deduction
UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A
left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN('I025') UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'C' AS
GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND
A.CCY = C.CCY WHERE A.trans_code IN('I025') --=============== Fuel deduction
UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A
left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN('I026') UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'C' AS
GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND
A.CCY = C.CCY WHERE A.trans_code IN('I026') --=============== Staff Penalty
UNION SELECT A.*, @GLID_Staff AS GL_ACC_ID, 'D' AS GL_INDICATOR FROM TMP_A A
left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE
A.trans_code IN('I027') UNION SELECT A.*, D_AccID AS GL_ACC_ID, 'C' AS
GL_INDICATOR FROM TMP_A A left JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND
A.CCY = C.CCY WHERE A.trans_code IN('I027') --- select * from tblstaffitems
select * from tblStaffItems_GL ) INSERT INTO #SUB_JRN_TXN_MFI_DWACC SELECT
A.* --Form Info , NULL AS FormID , NULL AS FormName , NULL AS
FormCaption , NULL AS EXE_NAME , NULL AS IsBased , NULL AS Style_Show
, NULL AS ProjectName FROM TMP_B A alter table #SUB_JRN_TXN_MFI_DWACC drop
column D_AccID alter table #SUB_JRN_TXN_MFI_DWACC drop column C_AccID
SELECT * FROM #SUB_JRN_TXN_MFI_DWACC;

==========================
CREATE FUNCTION [dbo].[GBL_CCY_Convert_2Based]( @CCY nvarchar(10), @Amount
float, @ExRate float )RETURNS money --FI--WITH ENCRYPTION AS BEGIN DECLARE
@ConvertType nvarchar(1), @AmtReturn money, @BCCY nvarchar(10); SET @ConvertType
= (SELECT ConvertType FROM tblCurrencies WHERE CCY = @CCY); SET @BCCY = (SELECT
CCY FROM tblCurrencies WHERE BaseCurrency =1); IF @ConvertType ='M' BEGIN
IF @ExRate = 0 BEGIN SET @AmtReturn = 0; END ELSE BEGIN SET @AmtReturn =
@Amount * @ExRate; END; END ELSE IF @ConvertType ='D' BEGIN SET @AmtReturn
= @Amount / @ExRate; END; SET @AmtReturn =
dbo.GBL_CCY_Round(@BCCY,@AmtReturn); RETURN @AmtReturn; END;
=============================

-- fi_sv_rpt_teller_transaction_new '000', '2022-08-01', '2022-08-01', 'KHR', ''


CREATE proc [dbo].[fi_sv_rpt_teller_transaction_new]( @pBranchCode nvarchar(20),
@pDateFrom DATE, @pDateTo DATE, @pCurrencyCode nvarchar(3), @pTillID
nvarchar(30) ) as begin select
a.trans_pair,a.value_date,a.accountid,a.trans_code, case when a.trans_code IN
(1,18,59,31,6,38,201) then abs(a.trans_amount) else 0 end as Debits, case when
a.trans_code IN (2,17,54,32,8,39,202) then abs(a.trans_amount) else 0 end as
Credits, a.comment ,case when trans_code not in (201,202) then
a.narrative else a.narrative end as narrative ,(a.trans_amount)*-1 as
Balance into #tmp_TillTrans from tblTransactions a inner join tblAccounts b
on a.accountid = b.AccountID where a.branchCode = @pBranchCode and b.currency_id
= @pCurrencyCode and a.trans_code IN(1,2,6,8,17,18,54,59,31,32,38,39,201,202)
and a.value_date between @pDateFrom and @pDateTo and b.category_id IN ('7000')
and isnull(a.accountid,'') like @pTillID +'%' --select * from #tmp_TillTrans --
select * from tblTransactions where trans_code in (201,202) select
a.trans_pair,a.value_date,a.accountid,a.trans_code, case when a.trans_code IN
(51) then abs(a.trans_amount) else 0 end as Debits, case when a.trans_code IN
(52) then abs(a.trans_amount) else 0 end as Credits, a.comment,a.narrative,
(a.trans_amount)*-1 as Balance into #tmp_TillTrans_INT_BRANCH from
tblTransactions a inner join tblAccounts b on a.accountid = b.AccountID where
a.IntBranchCode = @pBranchCode and b.currency_id = @pCurrencyCode and
a.trans_code IN(51,52) and a.value_date between @pDateFrom and @pDateTo and
b.category_id IN ('7000') and isnull(a.accountid,'') like @pTillID +'%' insert
into #tmp_TillTrans select * from #tmp_TillTrans_INT_BRANCH --select * from
#tmp_TillTrans_INT_BRANCH select a.trans_pair
sysdocnum,a.trans_pair,a.value_date,a.accountid,a.trans_code, case when
a.trans_code IN (6) then abs(a.trans_amount) else 0 end as Debits, case when
a.trans_code IN (8) then abs(a.trans_amount) else 0 end as Credits, a.comment,
a.narrative as narrative,(a.trans_amount)*-1 as Balance into #tmp_Till7001 from
tblTransactions a inner join tblAccounts b on a.accountid = b.AccountID where
a.branchCode = @pBranchCode and b.currency_id = @pCurrencyCode and a.trans_code
IN(6,8,31,32) and a.value_date between @pDateFrom and @pDateTo and b.category_id
IN ('7000') -- and b.sys_acc_id IN ('7001', '7005') --TILL T.SEREY & T.BUNTHOEUN
and isnull(a.accountid,'') like @pTillID +'%' --select * from tblTransactions
where trans_pair='20191121-002-917026' --select * from #tmp_Till7001 --select *
from tblTransactions where trans_date='2019-08-23' and trans_code='8' select
a.trans_pair,dbo.fi_acc_format(a.accountid) as AccountID,a.customerid,c.Surname + '
' + c.Last_Name as CustomerName into #tmp_CusTrans from tblTransactions a
inner join tblAccounts b on a.accountid = b.AccountID inner join tblCustomers c
on a.customerid = c.CustomerID where a.branchCode = @pBranchCode and
b.currency_id = @pCurrencyCode and a.trans_code IN(1,2) and a.value_date between
@pDateFrom and @pDateTo and b.acc_type = 'N' and isnull(a.accountid,'') like
@pTillID +'%' --select * from #tmp_CusTrans --SELECT * FROM #tmp_TillTrans
--update a set a.narrative = isnull(a.comment,'') + ': ' + b.AccountID + ': ' +
isnull(CustomerName,'') from #tmp_TillTrans a left join #tmp_CusTrans b on
a.trans_pair = b.trans_pair --where a.trans_code in (1,2) --SELECT * FROM
#tmp_TillTrans --update #tmp_TillTrans set narrative = case when narrative is
null then comment else narrative end alter table #tmp_TillTrans alter
column narrative nvarchar(max) alter table #tmp_TillTrans alter column comment
nvarchar(max) --******************** add transaction diret debit_credit --
insert into #tmp_TillTrans --select
a.trans_pair,a.value_date,a.accountid,trans_code -- ,case when
ld_trans_type='Direct Cr.' then abs(a.trans_amount) else 0 end as Debits
-- ,case when ld_trans_type='Direct Dr.' then abs(a.trans_amount) else 0 end as
Credits -- ,a.comment -- ,a.narrative -- ,abs(a.trans_amount) as Balance
--from tblTransactions a -- inner join tblAccounts b on a.accountid = b.AccountID
-- inner join tblCustomers c on a.customerid = c.CustomerID --where a.branchCode
= @pBranchCode and b.currency_id = @pCurrencyCode -- and a.trans_code IN(1,2) and
a.value_date between @pDateFrom and @pDateTo -- and b.acc_type = 'N' and
isnull(a.accountid,'') like @pTillID +'%' -- and a.ld_trans_type in ('Direct
Dr.','Direct Cr.') --select * from #tmp_TillTrans select case when trans_code
= 6 then '' when trans_code = 8 then 'X' end As sysdocnum, --sysdocnum,
value_date,trans_code, case when trans_code IN (6) then abs(SUM(Balance)) else 0
end as Debits, case when trans_code IN (8) then abs(SUM(Balance)) else 0 end as
Credits, case when trans_code = 6 then 'Open Till' when trans_code = 8 then
'Close Till' else '' end as narrative, SUM(Balance) As Balance into
#tmp_BETrans from #tmp_Till7001 where trans_code IN(6,8) group by
sysdocnum,value_date, trans_code order by value_date --select * from
#tmp_BETrans --select sysdocnum, -- @pDateTo value_date, -- trans_code,
-- Debits, -- Credits, -- narrative, -- Balance --into #tmp_BETrans --
from #tmp_BETrans1 --SELECT * FROM #tmp_TillTrans --======== add new GL
expense trans posted declare @LoginID nvarchar(50)= isnull((select login_id
from tblAccounts where AccountID=@pTillID),'') declare @UserName nvarchar(50)=
isnull((select top 1 LoginName from sysUserLogins where LoginName=@LoginID),'') --
select @LoginID,@UserName --select * from tblBookings select refcode,tablename,
max(recorddate)recorddate into #tblBookingMax from tblBookings where
inputtype='I' group by refcode,tablename select a.* into #tblBookings
from tblBookings a inner join #tblBookingMax b on a.refcode = b.refcode and
a.recorddate=b.recorddate select distinct b.UserName,b.TableName,c.AccountID
TillID,a.* into #AA from tblAccDocuments a inner join #tblBookings b on
a.BookingCode=b.RefCode inner join tblAccounts c on b.UserName = c.login_id
where a.BranchCode = @pBranchCode and b.UserName=@UserName and a.ValueDate between
@pDateFrom and @pDateTo --select * from #AA where batchid='2009-002-00066' --
SELECT * FROM #AA select b.AccountName,b.TypeID,a.* into #BB from tblAccTxns a
inner join tblAccChartAccounts b on a.AccountID=b.AccountID where a.BranchCode =
@pBranchCode --and b.TypeID in ('13','14','16','17','12','15') -- '12','15'
and a.BatchID in (select x.batchid from #AA x) --select * from #BB --select *
from tblAccAccountTypes ----select distinct a.* into #Credit ----from
tblAccTxns a inner join #BB b on a.BatchID=b.BatchID where a.TxnCode ='C' and
TypeID in ('13','14','16','17') ----select distinct a.* into #Debit ----from
tblAccTxns a inner join #BB b on a.BatchID=b.BatchID where a.TxnCode ='D' and
TypeID in ('13','14','16','17') --declare @AmtCredit money, @AmtDebit money --
select @AmtCredit=SUM(OrigAmt) from #Credit select @AmtDebit=SUM(OrigAmt) from
#Debit -- 44 records --select * from tblaccaccounttypes select a.* into
#ChkCash from tblAccTxns a inner join tblaccchartaccounts b on
a.accountid=b.accountid where a.accountid not in ('111100101') select
distinct a.*,c.ValueDate,c.Memo into #TxnCr from tblAccTxns a inner join #BB b on
a.BatchID=b.BatchID inner join tblaccdocuments c on a.BatchID=c.BatchID left
join tblaccchartaccounts ac on a.accountid = ac.accountid where a.TxnCode ='C'
and a.batchid not in (select x.batchid from #ChkCash x) order by TxnCode
select distinct a.*,c.ValueDate,c.Memo into #TxnDr from tblAccTxns a inner join
#BB b on a.BatchID=b.BatchID inner join tblaccdocuments c on a.BatchID=c.BatchID
left join tblaccchartaccounts ac on a.accountid = ac.accountid where a.TxnCode
='D' and a.batchid not in (select x.BatchID from #ChkCash x) order by TxnCode
--select * from #TxnCr --select * from #TxnDr ----------- select *,
'111100101' accountid into #FA_CASH_PAID1 from tblPayments a where
a.BranchCode = @pBranchCode and a.CCY= @pCurrencyCode and PayDate between
@pDateFrom and @pDateTo and a.MethodID='01' order by PayDate select --
a.*, ac.AccountName, ac.TypeID, RefNo BatchID,1 line,
a.BranchCode,a.CCY,a.accountid,'C' TxnCode, TxnAmt,BasedAmt,0 ExRate ,null
Type, null Num, null Remark, 0 IndOrd, PayDate into #FA_CASH_PAID from
#FA_CASH_PAID1 a left join tblaccchartaccounts ac on a.accountid = ac.accountid
--select * from #BB --select * from #FA_CASH_PAID --select * from
tblaccchartaccounts --select * from tblacctxns where accountid in
('111100101','111100102','111100103') select distinct a.*,c.ValueDate,c.Memo into
#TxnCr_Cash from tblAccTxns a inner join #BB b on a.BatchID=b.BatchID inner join
tblaccdocuments c on a.BatchID=c.BatchID left join tblaccchartaccounts ac on
a.accountid = ac.accountid where a.TxnCode ='C' and ac.accountid in
('111100101') and a.CCY=@pCurrencyCode order by TxnCode select distinct
a.*,c.ValueDate,c.Memo into #TxnDr_Cash from tblAccTxns a inner join #BB b on
a.BatchID=b.BatchID inner join tblaccdocuments c on a.BatchID=c.BatchID left
join tblaccchartaccounts ac on a.accountid = ac.accountid where a.TxnCode ='D'
and ac.accountid in ('111100101') and a.CCY=@pCurrencyCode order by TxnCode
alter table #FA_CASH_PAID alter column Remark nvarchar(max) insert into
#TxnCr_Cash select
BatchID,line,BranchCode,CCY,accountid,TxnCode,TxnAmt,BasedAmt,ExRate,Type,Num,isnul
l(Remark,'Fixed Asset-Paid by cash')Remark,IndOrd,
PayDate,isnull(Remark,'Fixed Asset-Paid by cash') Memo from #FA_CASH_PAID --
select * from #TxnCr_Cash --select * from #TxnDr_Cash select DC_ID BatchID,
0 Line , BranchCode, CCY, GL_ACC_ID, DC_INDICATOR,ORIG_AMT
OrigAmt,BASED_AMT,EX_RATE,null Type, null Num, REMARK,0 IndOrd,VALUE_DATE
ValueDate,REMARK MEMO into #TxnDC_Cash from tblAccDCs where GL_ACC_ID in
('111100101') and CCY=@pCurrencyCode and BranchCode = @pBranchCode and
VALUE_DATE between @pDateFrom and @pDateTo -- 2019-11-25 USD --SELECT * FROM
#tmp_TillTrans --select * from #TxnDC_Cash --select * from #TxnDC_Cash --
select * from #TxnCr_Cash --select * from #TxnDr_Cash alter table
#tmp_BETrans alter column sysdocnum nvarchar(150) --insert into #tmp_BETrans
values ('Acc.Entry Posted',@pDateTo,7,0,@AmtCredit,'Expense',0),('Acc.Entry
Posted',@pDateTo,7,@AmtDebit,0,'Income',0) --select @AmtCredit,@AmtDebit alter
table #TxnCr alter column Memo nvarchar(max) alter table #TxnDr alter column Memo
nvarchar(max) alter table #tmp_BETrans alter column narrative nvarchar(max)
insert into #tmp_BETrans select BatchID,ValueDate, 7,0,OrigAmt,Memo,0 from
#TxnCr union all select BatchID,ValueDate, 7,OrigAmt,0,Memo,0 from #TxnDr
order by BatchID alter table #TxnCr_Cash alter column Memo nvarchar(max)
alter table #TxnDr_Cash alter column Memo nvarchar(max) alter table #TxnDC_Cash
alter column Memo nvarchar(max) insert into #tmp_BETrans select
BatchID,ValueDate, 7,0,OrigAmt,Memo,0 from #TxnCr_Cash union all select
BatchID,ValueDate, 7,OrigAmt,0,Memo,0 from #TxnDr_Cash union all select
BatchID,ValueDate, 7,OrigAmt,0,Memo,0 from #TxnDC_Cash order by BatchID --
select * from #TxnCr_Cash --select * from #TxnDr_Cash ---======= end
============================= --select * from #tmp_BETrans delete from
#tmp_TillTrans where trans_code in (6,8) insert into #tmp_TillTrans select
sysdocnum,value_date,'' as accountid,trans_code,Debits,Credits,'' as
comment,narrative,Balance from #tmp_BETrans order by sysdocnum,value_date --
select * from #tmp_BETrans update #tmp_TillTrans set comment=N'Cash Receive'
--, narrative=N'បុរេប្ទានវគ្គសិក្សារបស់ប្ធាននាយកដ្ឋា នហិរញ្ញវត្ថុ' where trans_code='201'
update #tmp_TillTrans set comment=N'Cash Payment' --, narrative=N'បុរេប្ទានវគ្គសិក្សារបស់
ប្ធាននាយកដ្ឋា នហិរញ្ញវត្ថុ' where trans_code='202' --select * from #tmp_TillTrans
--select * from tblTransactions where sysdocnum in ('20220819-000-
2228320','20220819-000-2228323') create table #tmp_results ( PostDate
nvarchar(170), TransNo nvarchar(50), TransDesc nvarchar(200), Debits
nvarchar(50), Credits nvarchar(50), Balance nvarchar(50), narrative
nvarchar(max), TillID nvarchar(50), ORD nvarchar(5) ); if @pTillID is
not null begin Declare @TillCode nvarchar(50)= ' / Till ID: '+ @pTillID end
insert into #tmp_results(PostDate,narrative,Credits,Balance,ORD) select
'','','','','A' union all select 'L.E.D.A Capital Plc.',(select
(BranchNameLocal) from sysBranches where BranchCode=@pBranchCode),'Date:',
(+''+CONVERT(nvarchar(20),@pDateTo,106)),'B' union all --select 'Branch Code: '
+ @pBranchCode + ' '+ (select isnull(BranchName,BranchNameLocal) from sysBranches
where BranchCode=@pBranchCode) + @TillCode,'','','B' select 'Daily Teller
Transaction Details' ,'','Exchange Rate:',(SELECT TOP 1 CONVERT(nvarchar(20), Rate)
FROM tblCentralBankRates WHERE ExType='M' and
CONVERT(nvarchar(20),FORMAT(rate_date, 'yyyy-
MM'))=CONVERT(nvarchar(20),FORMAT(@pDateTo, 'yyyy-MM')) and CONVERT(nvarchar(20),
currency_id) = CONVERT(nvarchar(20), @pCurrencyCode, 106)),'B' union all --
select 'Date: '+CONVERT(nvarchar(20),@pDateTo,106),'','','B' SELECT 'Currency: '
+ @pCurrencyCode,'','','','B' union all select '','','','','B' insert into
#tmp_results select 'Post Date','Transaction
No','Noted','Debits','Credits','Balance','Transaction Description','Till ID','C'
--SELECT * FROM #tmp_TillTrans insert into
#tmp_results(PostDate,narrative,Debits,Credits,Balance,ORD) select '','Total
Balance', SUM(Debits), SUM(CASE WHEN trans_code!= '8' THEN Credits END) as
Credits, SUM(Debits) - SUM(CASE WHEN trans_code!= '8' THEN Credits END) as
Balance,'Z' from #tmp_TillTrans update #tmp_results set TransNo = '',ORD = 'E'
where TransNo = 'X' --transfer to vault --SELECT * FROM #tmp_TillTrans insert
into #tmp_results select value_date, trans_pair, case when
trans_code in (201,202,2) then isnull(comment,narrative) when trans_code in
(6,8,7) then narrative when trans_code in (1) then isnull(comment,narrative)
else comment end, Debits, Credits, Balance = SUM(Balance) OVER
(ORDER BY value_date,trans_pair), case when trans_code in (1) then
isnull(narrative,'Loan Repayment') else isnull( narrative,comment) end
narrative, AccountID,'D' from #tmp_TillTrans order by value_date --
SELECT * FROM #tmp_TillTrans select
PostDate,TransNo,narrative,Debits,Credits,Balance, TransDesc,TillID from
#tmp_results order by ORD end --GO --EXEC fi_sv_rpt_teller_transaction_new
'005', '2023-11-21', '2023-11-21', 'USD', ''

==================================

---- SUB_JRN_TXN_MFI_DWACC '000','KHR','2022.11.22','2022.11.22' CREATE PROC


[dbo].[SUB_JRN_TXN_MFI_DWACC]( @BranchCode nvarchar(10), @CCY nvarchar(10),
@DateFrom date, @DateTo date ) --FI--WITH ENCRYPTION AS DECLARE
@COA_MULTI_CCY nvarchar(10) , @BCCY nvarchar(10) SET @COA_MULTI_CCY =
(SELECT ConstValue FROM sysConstants WHERE ConstName ='COA_MULTI_CCY' AND
BranchCode ='GLOBAL') SET @BCCY = (SELECT CCY FROM tblCurrencies WHERE
BaseCurrency =1) SET @BCCY = CASE WHEN @COA_MULTI_CCY ='Yes' THEN @BCCY ELSE '%'
END CREATE TABLE #SUB_JRN_TXN_MFI_DWACC ( sysdocnum nvarchar(25) ,
customerid nvarchar(15) , accountid nvarchar(20) , value_date date ,
trans_code nvarchar(4) , trans_amount money , REMARK nvarchar(500) ,
trans_pair nvarchar(25) , ex_buy_rate money , sell_rate money ,
mid_rate money , N_EX_RATE money , BaseAmt money , BranchCode
nvarchar(10) , IndOrd int , CCY nvarchar(10) , category_id
nvarchar(50) , GL_ACC_ID nvarchar(50) , GL_INDICATOR nvarchar(1) ,
FormID nvarchar(30), FormName nvarchar(50), FormCaption nvarchar(100), EXE_NAME
nvarchar(50), IsBased bit, Style_Show nvarchar(1), ProjectName nvarchar(50) );
--Saving WITH TMP_A AS( SELECT APP_ID, OBJ_ID, GL_TYPE, CCY, ACC_ID FROM
tblAccDefaultCenterDetails WHERE CtrlName ='txt_sav_1' AND APP_ID ='SAV' AND OBJ_ID
LIKE 'DEFAULT_SET%' ) , TMP_B AS( SELECT A.category_id AS LINK_ID, B.*
FROM tblCategories A , TMP_A B WHERE A.cate_type ='SV' ) , TMP_C
AS( SELECT OBJ_ID, GL_TYPE, CCY, ACC_ID FROM tblAccDefaultCenterDetails WHERE
APP_ID ='SAV' AND OBJ_ID NOT LIKE 'DEFAULT_SET%' ) SELECT A.APP_ID, A.GL_TYPE,
A.CCY, A.LINK_ID, ISNULL(B.ACC_ID, A.ACC_ID) AS ACC_ID INTO #tmpSAV_ORG FROM
TMP_B A LEFT JOIN TMP_C B ON A.LINK_ID = B.OBJ_ID AND A.GL_TYPE = B.GL_TYPE AND
A.CCY = B.CCY; SELECT * INTO #tmpSAV FROM #tmpSAV_ORG WHERE 1=2; IF
@COA_MULTI_CCY ='Yes' BEGIN WITH TMP_A AS( SELECT * FROM #tmpSAV_ORG WHERE
CCY LIKE @BCCY ) INSERT INTO #tmpSAV SELECT A.APP_ID, A.GL_TYPE, B.CCY,
A.LINK_ID, A.ACC_ID FROM TMP_A A, tblCurrencies B; END ELSE BEGIN INSERT
INTO #tmpSAV SELECT * FROM #tmpSAV_ORG; END; --
===================================================================================
===== --select * from #tmpSAV_ORG; --Till WITH TMP_A AS( SELECT APP_ID,
OBJ_ID, GL_TYPE, CCY, ACC_ID FROM tblAccDefaultCenterDetails WHERE CtrlName
='txt_vt_2' AND APP_ID ='VAULT_TILL' AND OBJ_ID LIKE 'DEFAULT_SET%' ) , TMP_B
AS( SELECT A.category_id AS LINK_ID, B.* FROM tblCategories A , TMP_A B
WHERE A.category_id ='7000' ) , TMP_C AS( SELECT OBJ_ID, GL_TYPE, CCY,
ACC_ID FROM tblAccDefaultCenterDetails WHERE APP_ID ='VAULT_TILL' AND OBJ_ID NOT
LIKE 'DEFAULT_SET%' ) SELECT A.APP_ID, A.GL_TYPE, A.CCY, A.LINK_ID,
ISNULL(B.ACC_ID, A.ACC_ID) AS ACC_ID INTO #tmpTILL_ORG FROM TMP_B A LEFT
JOIN TMP_C B ON A.LINK_ID = B.OBJ_ID AND A.GL_TYPE = B.GL_TYPE AND A.CCY = B.CCY;
SELECT * INTO #tmpTILL FROM #tmpTILL_ORG WHERE 1=2; IF @COA_MULTI_CCY ='Yes'
BEGIN WITH TMP_A AS( SELECT * FROM #tmpTILL_ORG WHERE CCY LIKE @BCCY )
INSERT INTO #tmpTILL SELECT A.APP_ID, A.GL_TYPE, B.CCY, A.LINK_ID, A.ACC_ID
FROM TMP_A A, tblCurrencies B; END ELSE BEGIN INSERT INTO #tmpTILL SELECT *
FROM #tmpTILL_ORG; END; --
===================================================================================
===== --Txn WITH TMP_A AS( SELECT case when ld_trans_type in ('Direct
Cr.','Direct Dr.') then Referent else A.sysdocnum end sysdocnum , A.customerid,
A.accountid, A.trans_date as value_date, A.trans_code, ABS(A.trans_amount) AS
trans_amount , CASE WHEN A.comment IS NULL THEN A.narrative ELSE A.comment +
CASE WHEN A.narrative IS NULL THEN '' ELSE ': '+ A.narrative END END AS
REMARK , case when ld_trans_type in ('Direct Cr.','Direct Dr.') then Referent
else A.trans_pair end trans_pair, A.ex_buy_rate, A.sell_rate, A.mid_rate ,
dbo.fi_getExchnageByDate(@DateTo, B.currency_id) AS N_EX_RATE , ABS(A.BaseAmt)
AS BaseAmt , A.BranchCode, 0 AS IndOrd , B.currency_id AS CCY ,
B.category_id FROM tblTransactions A INNER JOIN tblAccounts B ON
A.accountid = B.AccountID WHERE A.BranchCode LIKE CASE WHEN
ISNULL(@BranchCode,'') ='' THEN '%' ELSE @BranchCode END AND B.currency_id LIKE
CASE WHEN ISNULL(@CCY,'') ='' THEN '%' ELSE @CCY END --AND A.VALUE_DATE BETWEEN
@DateFrom AND @DateTo /*LEDA has problem with trans_pair ='20171213-003-056612'*/
AND A.trans_date BETWEEN @DateFrom AND @DateTo AND A.trans_code
IN('1','2','101') AND A.reversed =0 and isnull(receipt_no,'') <> 'AT' --Check
with Sokneang 110318 and isnull(A.LDID,'') not in ('ACE_TILL_POST') ) ,
TMP_B AS( SELECT A.* , B.ACC_ID AS GL_ACC_ID , 'C' AS GL_INDICATOR
FROM TMP_A A INNER JOIN #tmpSAV B ON A.category_id = B.LINK_ID AND A.CCY =
B.CCY WHERE A.trans_code IN ('1','101')--Cash Deposit (Saving Acc) and excel
posted UNION SELECT A.* , C.ACC_ID AS GL_ACC_ID , 'D' AS GL_INDICATOR
FROM TMP_A A INNER JOIN #tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY =
C.CCY WHERE A.trans_code IN ('1','101')--Cash Deposit (Till Acc) UNION
SELECT A.* , B.ACC_ID AS GL_ACC_ID , 'D' AS GL_INDICATOR FROM TMP_A A
INNER JOIN #tmpSAV B ON A.category_id = B.LINK_ID AND A.CCY = B.CCY WHERE
A.trans_code IN('2')--Cash Witdrawal (Saving Acc) UNION SELECT A.* ,
C.ACC_ID AS GL_ACC_ID , 'C' AS GL_INDICATOR FROM TMP_A A INNER JOIN
#tmpTILL C ON A.category_id = C.LINK_ID AND A.CCY = C.CCY WHERE A.trans_code
IN('2')--Cash Witdrawal (Till Acc) ) INSERT INTO #SUB_JRN_TXN_MFI_DWACC
SELECT A.* --Form Info , NULL AS FormID , NULL AS FormName , NULL
AS FormCaption , NULL AS EXE_NAME , NULL AS IsBased , NULL AS
Style_Show , NULL AS ProjectName FROM TMP_B A SELECT * FROM
#SUB_JRN_TXN_MFI_DWACC;

======================================
CREATE PROCedure [dbo].[fi_sv_auth_trans] @pfrm_no nvarchar(20), @pTransID
nvarchar(30), @pRecNo nvarchar(20), @pInputter nvarchar(50), @pCheckUser
bit=0, @pAmt money=0, @pCCY nvarchar(10)='', @IsAutoAuth bit=0 as BEGIN
TRANSACTION OpenTill BEGIN TRY Declare @pAccoID nvarchar(20),@RefAccoID
nvarchar(20),@RefCate nvarchar(20),@RefCycle nvarchar(3) Declare @pSysDocNum
nvarchar(30) Declare @pValueDate Date Declare @varBaseAmt money Declare
@Varreverse_id nvarchar(30),@cheque_no nvarchar(50) declare @authNum
smallint,@num smallint,@TranAmt money,@Interst money declare @IsTheSameInputter
nvarchar(50),@ld_trans_type nvarchar(1) declare @CloseCode
nvarchar(4),@customerID nvarchar(10),@TxnCode nvarchar(10),@vTxnCode nvarchar(20)
declare @vAmount1 money SET @Interst=0 SET @RefAccoID='' SET
@num=ISNULL((SELECT TOP (1) r.num FROM dbo.tblAuthorizeFunc AS f
INNER JOIN dbo.tblRangeAuths AS r ON f.frm_no = r.frm_no WHERE
(f.frm_no = @pfrm_no) AND (f.is_auth = 1) AND (f.is_non_amt = 0) AND (@pAmt between
r.StartAmt and r.EndAmt) and (CurrencyCode =@pCCY)),0) if @IsAutoAuth=1 BEGIn
--goto en set @num=0 END IF @num >0 begin SET
@IsTheSameInputter=ISNULL((SELECT top 1 'Y' from tblBookings where RefCode=@pRecNo
and UserName=@pInputter),'N') SET @authNum=ISNULL((SELECT count(InputType) from
tblBookings where RefCode=@pRecNo and InputType='A' ),0)+1 if
@IsTheSameInputter ='Y' and @pCheckUser =1 begin SELECT 'You have no privilage
to authorize the transaction.','NoPrivilage' end else begin IF
@authNum>=@num and @pCheckUser =1 begin DECLARE v_cur1 CURSOR FOR
SELECT a.accountid,a.sysdocnum,a.value_date,isnull(a.reverse_id,'') as
reverse_id,a.trans_code,a.customerid,a.trans_amount,isnull(a.cheque_no,''),a.ld_tra
ns_type FROM tblTransactions_unauth a where trans_pair=@pTransID ORDER
BY a.sysdocnum OPEN v_cur1 FETCH NEXT FROM v_cur1 INTO
@pAccoID,@pSysDocNum,@pValueDate,@Varreverse_id,@CloseCode,@customerID,@TranAmt,@ch
eque_no,@ld_trans_type WHILE @@FETCH_STATUS = 0 BEGIN IF
@ld_trans_type='F' BEGIN IF @RefAccoID='' BEGIN select
@RefAccoID=b.AccountID,@RefCate=b.category_id,@RefCycle=b.fixed_cycle from
tblTransactions_unauth a inner join tblAccounts b on a.accountid=b.Accountid
where a.sysdocnum=@pTransID and b.acc_type='F'; END END
INSERT INTO [tblTransactions]([sysdocnum],[customerid],[accountid],[trans_date],
[value_date],[trans_code],[trans_amount],[online_bal],[is_print],[cheque_no],
[comment],[narrative],[trans_pair],[reversed],[trans_time],[branchCode],[LDID],
[ld_trans_type],[ex_buy_rate],[sell_rate],[mid_rate],[fcy_position],[lcy_position],
[gain_lost],[rec_no],[BaseAmt],[IntBranchCode],[IsNoNCash],[ref_acc_id],
[ref_cat_code],[FixedCycle],receipt_no,Referent,c_Account,d_Account) SELECT
[sysdocnum],[customerid],[accountid],[trans_date],[value_date],[trans_code],
[trans_amount],[online_bal],[is_print],[cheque_no],[comment],[narrative],
[trans_pair],[reversed],[trans_time],[branchCode],[LDID],[ld_trans_type],
[ex_buy_rate],[sell_rate],[mid_rate],[fcy_position],[lcy_position],[gain_lost],
[rec_no],[BaseAmt],[IntBranchCode],
[IsNoNCash],@RefAccoID,@RefCate,@RefCycle,receipt_no,Referent,c_Account,d_Account
FROM tblTransactions_unauth WHERE [sysdocnum]=@pSysDocNum
IF @Varreverse_id<>'' BEGIN SET @TxnCode=isnull((select top 1
trans_code from tblTransactions WHERE sysdocnum=@Varreverse_id ),0)
UPDATE tblTransactions SET reversed=1 where trans_pair =@Varreverse_id
END IF @CloseCode='19' BEGIN set @Interst=@TranAmt END
IF @CloseCode='30' BEGIN EXEC [fi_sv_set_capitalize_close_acc]
@pAccoID,@customerID,@pValueDate,@Interst END EXEC
[fi_sv_Refresh_Bal] @pAccoID,@pValueDate FETCH NEXT FROM v_cur1 INTO
@pAccoID,@pSysDocNum,@pValueDate,@Varreverse_id,@CloseCode,@customerID,@TranAmt,@ch
eque_no,@ld_trans_type END CLOSE v_cur1 DEALLOCATE v_cur1
Delete from tblTransactions_unauth where trans_pair=@pTransID SELECT
'Authorize completed.' ,'' end else begin IF @pCheckUser=0 BEGIN
SELECT 'Authorize required.','' END ELSE BEGIN SELECT 'Need another user
to authorize this transaction.','' eND end end end else begin
DECLARE v_cur2 CURSOR FOR SELECT
a.accountid,a.sysdocnum,a.value_date,isnull(a.reverse_id,'') as
reverse_id,a.trans_code,a.customerid,a.trans_amount,isnull(a.cheque_no,'') as
Cheque,a.ld_trans_type FROM tblTransactions_unauth a where trans_pair=@pTransID
ORDER BY a.sysdocnum OPEN v_cur2 FETCH NEXT FROM v_cur2 INTO
@pAccoID,@pSysDocNum,@pValueDate,@Varreverse_id,@CloseCode,@customerID,@TranAmt,@ch
eque_no,@ld_trans_type WHILE @@FETCH_STATUS = 0 BEGIN IF
@ld_trans_type='F' BEGIN IF @RefAccoID='' BEGIN select
@RefAccoID=b.AccountID,@RefCate=b.category_id,@RefCycle=b.fixed_cycle from
tblTransactions_unauth a inner join tblAccounts b on a.accountid=b.Accountid
where a.sysdocnum=@pTransID and b.acc_type='F'; END END INSERT
INTO [tblTransactions]([sysdocnum],[customerid],[accountid],[trans_date],
[value_date],[trans_code],[trans_amount],[online_bal],[is_print],[cheque_no],
[comment],[narrative],[trans_pair],[reversed],[trans_time],[branchCode],[LDID],
[ld_trans_type],[ex_buy_rate],[sell_rate],[mid_rate],[fcy_position],[lcy_position],
[gain_lost],[rec_no],[BaseAmt],[IntBranchCode],[IsNoNCash],[ref_acc_id],
[ref_cat_code],[FixedCycle],receipt_no,Referent,c_Account,d_Account) SELECT
[sysdocnum],[customerid],[accountid],[trans_date],[value_date],[trans_code],
[trans_amount],[online_bal],[is_print],[cheque_no],[comment],[narrative],
[trans_pair],[reversed],[trans_time],[branchCode],[LDID],[ld_trans_type],
[ex_buy_rate],[sell_rate],[mid_rate],[fcy_position],[lcy_position],[gain_lost],
[rec_no],[BaseAmt],[IntBranchCode],
[IsNoNCash],@RefAccoID,@RefCate,@RefCycle,receipt_no,Referent,c_Account,d_Account
FROM tblTransactions_unauth WHERE [sysdocnum]=@pSysDocNum IF
@Varreverse_id<>'' BEGIN SET @TxnCode=isnull((select top 1 trans_code from
tblTransactions WHERE sysdocnum=@Varreverse_id ),0) UPDATE tblTransactions SET
reversed=1 where trans_pair =@Varreverse_id END EXEC
[fi_sv_Refresh_Bal] @pAccoID,@pValueDate IF @CloseCode='19' BEGIN set
@Interst=@TranAmt END IF @CloseCode='30' BEGIN EXEC
[fi_sv_set_capitalize_close_acc] @pAccoID,@customerID,@pValueDate,@Interst END
FETCH NEXT FROM v_cur2 INTO
@pAccoID,@pSysDocNum,@pValueDate,@Varreverse_id,@CloseCode,@customerID,@TranAmt,@ch
eque_no,@ld_trans_type END CLOSE v_cur2 DEALLOCATE v_cur2 Delete
from tblTransactions_unauth where trans_pair=@pTransID end en: COMMIT
TRAN OpenTill; END TRY BEGIN CATCH ROLLBACK TRAN OpenTill; DECLARE
@ErrorMessage nvarchar(4000), @ErrorSeverity int, @ErrorState int; SELECT
@ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState =
ERROR_STATE(); RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState); Delete
from tblTransactions_unauth where trans_pair=@pTransID END CATCH;

====================

CREATE PROCedure [dbo].[fi_sv_add_trans_unauth] @psysdocnum nvarchar(25)


,@pcustomerid nvarchar(15) ,@paccountid nvarchar(20) ,@ptrans_date date
,@pvalue_date date ,@ptrans_code nvarchar(4) ,@ptrans_amount
money ,@pis_print bit =0 ,@pcheque_no nvarchar(30) =NULL ,@pnarrative
nvarchar(max) =NULL ,@ptrans_pair nvarchar(25) =NULL ,@preversed bit =0
,@pbranchCode nvarchar(15) =NULL ,@pLDID nvarchar(20)
=NULL ,@pld_trans_type nvarchar(10) =NULL ,@pex_buy_rate money
=NULL ,@psell_rate money =NULL ,@pmid_rate money =NULL ,@pfcy_position
money =NULL ,@plcy_position money =NULL ,@pgain_lost money
=NULL ,@prec_no nvarchar(20) =NULL ,@pmain bit =NULL ,@preverse_id
nvarchar(50)=null ,@pIntBranchCode nvarchar(20)=null ,@c_Account
nvarchar(100)=null ,@d_Account nvarchar(100)=NULL ,@IsNoNCash bit =null
,@receiptNo nvarchar(20)=null ,@referent nvarchar(30)=null ---FI---with
encryption as begin Declare @pcomment nvarchar(50) Declare @pSign
int declare @varBaseAmt money=0 ---------Get Exchange --------------
Declare @varType nvarchar(10) Declare @varCurrency_ID nvarchar(20),@BasedCCY
nvarchar(20) SET @varCurrency_ID=isnull((select currency_id from tblAccounts
where AccountID =@paccountid ),'') SEt @BasedCCY=isnull((select top 1 CurrencyID
from tblCurrencies where BaseCurrency=1),'') SET @pex_buy_rate=isnull((SELECT
top 1 Rate FROM tblExchangeRates where validFromDate<=@ptrans_date
and currency_id =@varCurrency_ID and exType='B' ORDER BY exCode desc),1)
SET @psell_rate=isnull((SELECT top 1 Rate FROM tblExchangeRates
where validFromDate<=@ptrans_date and currency_id =@varCurrency_ID and exType='S'
ORDER BY exCode desc),1) SET @pmid_rate=isnull((SELECT top 1 Rate FROM
tblExchangeRates where validFromDate<=@ptrans_date and currency_id
=@varCurrency_ID and exType='M' ORDER BY exCode desc),1)
SET @varType=isnull((select top 1 convertType from tblCurrencies where
CurrencyID=@varCurrency_ID),'') -- select * from tblCurrencies IF
@BasedCCY=@varCurrency_ID BEGIN SET @pmid_rate=1 SET @pex_buy_rate=1 SET
@psell_rate=1 END --------------------end exchange---------------------
SET @pSign=ISNULL((SELECT OperationSign FROM sysTransCode WHERE TransCode
=@ptrans_code),1) SET @pcomment=ISNULL((SELECT TransName FROM sysTransCode WHERE
TransCode =@ptrans_code),1) SET @ptrans_amount=@ptrans_amount*@pSign IF
@varType='D' BEGIN SET
@varBaseAmt=dbo.fiRound(@ptrans_amount/@pmid_rate,@BasedCCY) END ELSE BEGIN
SET @varBaseAmt=dbo.fiRound(@ptrans_amount*@pmid_rate,@BasedCCY) END IF
@ptrans_code in ('31','32') begin IF @BasedCCY<>@varCurrency_ID BEGIN SET
@varBaseAmt=@pfcy_position END SET @pfcy_position=0 end if
@ptrans_code in ('201','202') begin declare @vBuyRate Money=0 Declare
@vSellRate Money=0 Declare @vMidRate Money=0 select * into
#tblcentralbankrates from tblcentralbankrates where currency_id='USD'
set @vBuyRate=isnull((select top 1 Rate from #tblcentralbankrates where
currency_id=@varCurrency_ID and ExType='B' and rate_date <= @pvalue_date order by
id desc),0) set @vSellRate=isnull((select top 1 Rate from #tblcentralbankrates
where currency_id=@varCurrency_ID and ExType='S' and rate_date <= @pvalue_date
order by id desc),0) SET @vMidRate=(@vBuyRate+@vSellRate)/2 set
@pmid_rate=@vMidRate if isnull(@pmid_rate,0)= 0 begin set @pmid_rate=1
end --select @vBuyRate as buyRate,@vSellRate as SellRate,@vMidRate as MidRate
IF @varType='D' BEGIN SET
@varBaseAmt=dbo.fiRound(@ptrans_amount/@pmid_rate,@BasedCCY) END ELSE BEGIN
SET @varBaseAmt=dbo.fiRound(@ptrans_amount*@pmid_rate,@BasedCCY) END end
if @ptrans_code = '105' begin set
@pmid_rate=dbo.fi_get_exchange_rate(@pbranchCode,@varCurrency_ID,@pvalue_date)
SET @varBaseAmt= dbo.fiRound(@ptrans_amount*@pmid_rate,@varCurrency_ID) end
------------Evaluation TiLL------------- --select a.Accountid, ----
a.category_id, --LDID, --mrid, --a.currency_id, --a.branchcode, -- case
when trans_code in (1,2,6,8,31,32,51,52) then sum(trans_amount) else 0 end as
origtill, -- case when trans_code in (1,2,6,8,31,32,51,52) then sum(BaseAmt) else
0 end as posttill --into #tmpTill --from tblAccounts a --left join
tblTransactions b on a.accountid=b.accountid --where a.Accountid=@paccountid and
b.reversed =0 and b.value_date =@ptrans_date --group by
a.Accountid,LDID,mrid,trans_code,a.branchcode,a.currency_id select MAX(ExCode)
ExCode,currency_id into #tmpLastExc from dbo.tblExchangeRates where
ValidFromDate <= @ptrans_date and ExType='M' group by currency_id select
a.currency_id,a.Rate into #tmpExchange from dbo.tblExchangeRates a inner
join #tmpLastExc b on a.ExCode=b.ExCode where ValidFromDate = @ptrans_date
--select a.*,isnull(c.Rate,1) as evalrate,b.ConvertType --into #tmpBalExch --
from #tmpTill a inner join tblCurrencies b on a.currency_id=b.CurrencyID --
inner join #tmpExchange c on a.currency_id=c.currency_id --select
b.Accountid,b.BranchCode, --b.currency_id, ----b.category_id, --evalrate,
--b.origtill, --b.posttill, -- case -- when ConvertType='M' then
dbo.fiRound(b.origtill*evalrate,@BasedCCY) -- else
dbo.firound(b.origtill/evalrate,@BasedCCY) -- end as evaltill --into
#tmpEvalTill --from #tmpBalExch b if @pcustomerid is null or @pcustomerid =
'' begin set @pcustomerid = isnull((select top 1 customerID from tblaccounts
where AccountID = @paccountid),'') end --- tay close 12-04-2017----- IF
@ptrans_amount<>0 and @varBaseAmt <>0 begin INSERT INTO [tblTransactions_unauth]
([sysdocnum] ,[customerid] ,[accountid] ,[trans_date] ,
[value_date] ,[trans_code] ,[trans_amount] ,[online_bal]
,[is_print] ,[cheque_no] ,[comment] ,[narrative] ,
[trans_pair] ,[reversed] ,[trans_time] ,[branchCode] ,
[LDID] ,[ld_trans_type] ,[ex_buy_rate] ,[sell_rate] ,
[mid_rate] ,[fcy_position] ,[lcy_position] ,[gain_lost]
,[BaseAmt] ,[c_Account] ,[d_Account] ,[IsNoNCash] ,
[rec_no] ,[main] ,[reverse_id] ,
[IntBranchCode] ,receipt_no ,Referent) VALUES (@psysdocnum
,@pcustomerid ,@paccountid ,@ptrans_date ,@pvalue_date
,@ptrans_code ,@ptrans_amount ,0 ,@pis_print ,@pcheque_
no ,@pcomment ,@pnarrative ,@ptrans_pair ,@preversed
,GETDATE() ,@pbranchCode ,@pLDID ,@pld_trans_type ,@pex
_buy_rate ,@psell_rate ,@pmid_rate ,@pfcy_position ,@pl
cy_position ,@pgain_lost ,@varBaseAmt ,@c_Account ,@d_A
ccount ,@IsNoNCash ,@prec_no, @pmain, @preverse_id,
@pIntBranchCode, @receiptNo, @referent) end end

========================
CREATE PROCEDURE [dbo].[REPORT_TRACK_LOAN_DAILY_AREA_PRINT] @pBranchCode
nvarchar(10), @pCOID nvarchar(10), @pLdid nvarchar(250), @pDateFrom DateTime,
@pDateTo DateTime, @pCurrencyCode nvarchar(3) AS BEGIN IF
@pBranchCode='ALL' BEGIN SET @pBranchCode='%' END IF @pCurrencyCode='ALL'
BEGIN SET @pCurrencyCode='%' END IF @pCOID='ALL' BEGIN SET @pCOID='%'
END DECLARE @exchange_usd VARCHAR(100) DECLARE @exchange_thb VARCHAR(100)
SET @exchange_usd = isnull((SELECT rate FROM exchange WHERE exchange_type = 'M'
AND currency_id = 'USD'), 0); SET @exchange_thb = isnull((SELECT rate FROM
exchange WHERE exchange_type = 'M' AND currency_id = 'THB'), 0); SELECT no,
branch_code, ld_number, accountid, name, default_day, total_arrear,
currency, due_date, location, phone, co_name, CASE WHEN prin_os = 0
THEN '-' ELSE REPLACE(CONVERT(varchar(20), ROUND(prin_os, 0) , 1), '.00', '') END
prin_os, meet, customer_status, customer_rating, promise_payment_date,
number_of_repayments, action, promise_term, next_note, settle,
description FROM( SELECT ROW_NUMBER() OVER(ORDER BY a.branch_code, a.co_name)
no, a.branch_code, a.ld_number, a.accountid, a.name, a.default_day,
a.total_arrear, a.currency, a.due_date, a.location, a.phone, a.co_name,
CASE WHEN a.currency = 'KHR' THEN PARSE(a.os_prin AS MONEY) / PARSE(@exchange_usd
AS MONEY) WHEN a.currency = 'THB' THEN (PARSE(a.os_prin AS MONEY) *
PARSE(@exchange_thb AS MONEY)) / PARSE(@exchange_usd AS MONEY) WHEN
a.currency = 'USD' THEN PARSE(a.os_prin AS MONEY) END prin_os,
mm.name meet, cs.name customer_status, cr.name customer_rating,
tl.promise_payment_date, tl.number_of_repayments, aa.name [action], pt.name
promise_term, nn.name next_note, ss.name settle, tl.description FROM arrear a
LEFT JOIN track_loans tl ON a.ld_number = tl.ld_number and tl.inactive
is null LEFT JOIN meet mm ON tl.meet = mm.id and
mm.inactive is null LEFT JOIN customer_status cs ON tl.customer_status = cs.id
and cs.inactive is null LEFT JOIN customer_rating cr ON tl.customer_rating =
cr.id and cr.inactive is null LEFT JOIN [action] aa ON tl.action
= aa.id and aa.inactive is null LEFT JOIN promise_terms pt ON tl.promise_term
= pt.id and pt.inactive is null LEFT JOIN next_note nn ON tl.next_note
= nn.id and nn.inactive is null LEFT JOIN settle ss ON tl.settle
= ss.id and ss.inactive is null WHERE a.branch_code like @pBranchCode + '%' and
a.co_id like @pCOID + '%' ) T END --GO --EXEC
REPORT_TRACK_LOAN_DAILY_AREA_PRINT '', '', '', '', '', ''

=======================

CREATE PROCEDURE [dbo].[REPORT_TRACK_LOAN_TOTAL_AREA] @pBranchCode nvarchar(10),


@pCOID nvarchar(10), @pLdid nvarchar(250), @pDateFrom DateTime, @pDateTo
DateTime, @pCurrencyCode nvarchar(3) AS BEGIN IF @pBranchCode='ALL' BEGIN
SET @pBranchCode='%' END IF @pCurrencyCode='ALL' BEGIN SET
@pCurrencyCode='%' END IF @pCOID='ALL' BEGIN SET @pCOID='%' END
DECLARE @exchange_usd VARCHAR(100) DECLARE @exchange_thb VARCHAR(100) SET
@exchange_usd = isnull((SELECT rate FROM exchange WHERE exchange_type = 'M' AND
currency_id = 'USD'), 0); SET @exchange_thb = isnull((SELECT rate FROM exchange
WHERE exchange_type = 'M' AND currency_id = 'THB'), 0); SELECT no,
branch_code, ld_number, name, default_day, total_arrear, currency,
location, phone, CASE WHEN prin_os = 0 THEN '-' ELSE
REPLACE(CONVERT(varchar(20), ROUND(prin_os, 0) , 1), '.00', '') END prin_os,
disburse_amount, disburse_date, co_name, collateral, meet,
customer_status, customer_rating, promise_payment_date,
number_of_repayments, action, promise_term, next_note, settle,
description, status_call, reason, remark, new_phone_number,
created_at FROM( SELECT ROW_NUMBER() OVER(ORDER BY a.branch_code, a.co_name)
no, a.branch_code, a.ld_number, a.name, a.default_day, a.total_arrear,
a.currency, a.location, a.phone, CASE WHEN a.currency = 'KHR' THEN
PARSE(a.os_prin AS MONEY) / PARSE(@exchange_usd AS MONEY) WHEN a.currency
= 'THB' THEN (PARSE(a.os_prin AS MONEY) * PARSE(@exchange_thb AS MONEY)) /
PARSE(@exchange_usd AS MONEY) WHEN a.currency = 'USD' THEN PARSE(a.os_prin
AS MONEY) END prin_os, a.disburse_amount, a.disburse_date,
a.co_name, COL.COLLATERAL_TYPE collateral, mm.name meet, cs.name
customer_status, cr.name customer_rating, tl.promise_payment_date,
tl.number_of_repayments, aa.name [action], pt.name promise_term, nn.name next_note,
ss.name settle, tl.description, tc.status_call, tc.reason, tc.remark,
tc.new_phone_number, tc.created_at FROM arrear a LEFT JOIN track_loans tl
ON a.ld_number = tl.ld_number and tl.inactive is null LEFT JOIN meet
mm ON tl.meet = mm.id and mm.inactive is null LEFT JOIN
customer_status cs ON tl.customer_status = cs.id and cs.inactive is null LEFT
JOIN customer_rating cr ON tl.customer_rating = cr.id and cr.inactive is null
LEFT JOIN [action] aa ON tl.action = aa.id and aa.inactive is null
LEFT JOIN promise_terms pt ON tl.promise_term = pt.id and pt.inactive is null
LEFT JOIN next_note nn ON tl.next_note = nn.id and nn.inactive is null
LEFT JOIN settle ss ON tl.settle = ss.id and ss.inactive is null
LEFT JOIN track_calls tc ON tl.ld_number = tc.ld_number LEFT JOIN
tblCollateralInsertToTrackLoans col ON col.LDID = a.ld_number WHERE
a.branch_code like @pBranchCode + '%' and a.co_id like @pCOID + '%' ) T END

========================

-- exec fi_sv_get_acc_info '0005002672311', '000' CREATE PROCedure [dbo].


[fi_sv_get_acc_info] @pAccountId nvarchar(50), @pBranchCode nvarchar(30)='',
@pAcc_Type nvarchar(3)='' as begin declare @value_date date Declare
@UnAuthAmt Money Declare @balance Money Declare @LastAmt money Declare
@LastDate nvarchar(20) Declare @IntRate Money Declare @SysDocNum nvarchar(20)
SEt @value_date=(select top 1 sys_date from systemdate) SET @UnAuthAmt=0 SET
@balance=0 SET @LastAmt=0 SET @IntRate=0 set @SysDocNum=ISNULL((SELECT
MAX(SysDocNum) FROM [dbo].[tbltransactions] WHERE
accountid=@pAccountID AND value_date<=@value_date),'') --set
@balance=ISNULL((SELECT TOP 1 online_bal -- FROM [dbo].[tbltransactions]
-- WHERE accountid=@pAccountID AND value_date<=@value_date and sysdocnum
=@SysDocNum -- ORDER BY value_date DESC,sysdocnum DESC ),0) set
@balance=ISNULL((select sum(trans_amount) from [tbltransactions] where
accountid=@pAccountID),0) set @LastAmt=ISNULL((SELECT TOP 1 trans_amount
FROM [dbo].[tbltransactions] WHERE accountid=@pAccountID AND
value_date<=@value_date ORDER BY value_date DESC,sysdocnum DESC ),0)
set @LastDate=ISNULL((SELECT TOP 1 replace(CONVERT(nvarchar(20),trans_date,106),'
','-') FROM [dbo].[tbltransactions] WHERE
accountid=@pAccountID AND value_date<=@value_date ORDER BY value_date
DESC,sysdocnum DESC ),'') CREATE TABLE dbo.#tmpAccRate(AccountID
nvarchar(20),Rate Money,Tax Money) exec [dbo].[fi_sv_get_int_rate]
@pAccountID,@value_date SET @IntRate = ISNULL((SELECT TOP 1 Rate FROM
dbo.#tmpAccRate WHERE accountid=@pAccountID),0) ------------------------ if
isnull((select top 1 accountid from tblAccounts where AccountID=@pAccountID and
inactive is null),'') <>'' begin SELECT a.acc_eng_name,y.CurrencyID ,
y.ShortName,t.category_id,t.category_id +' '+ t.description as Category, c.title,
c.local_surname + ' ' +c.local_Lastname as CusName ,st.status as
CustomerStatus,ISNULL(p.LocalName,'') +' '+ ISNULL(d.LocalName,'') +' '+
ISNULL(cm.LocalName,'') +' '+ISNULL(v.LocalName,'') as Address,
c.CustomerID,c.phone ,@balance as Balance,@LastAmt as LastAmt,@LastDate as
LastTranDate,a.pass_book_no ,a.fixed_draw_down_acc ,a.acc_type ,a.open_date ,a.next
_line ,ISNULL(p.LocalName,'') as Province,ISNULL(d.LocalName,'') as
District,ISNULL(cm.LocalName,'') as Commune,ISNULL(v.LocalName,'') as Village,
@IntRate as IntRate, bs.BranchShort as BranchName ,a.branchCode FROM
tblCustomers AS c INNER JOIN tblAccounts AS a ON c.CustomerID = a.customerID
INNER JOIN tblCurrencies AS y ON a.currency_id = y.CurrencyID INNER JOIN
tblCategories AS t ON a.category_id = t.category_id LEFT JOIN tblCusStatus
st ON c.customer_status_id =st.statusid LEFT JOIN tblSubCountry p on
c.province_id =p.Code LEFT JOIN tblSubCountry d on c.district_id =d.Code
LEFT JOIN tblSubCountry cm on c.commune_id =cm.Code LEFT JOIN
tblSubCountry v on c.village_id =v.Code left join sysBranches bs on
a.branchCode=bs.BranchCode WHERE a.AccountID = @pAccountID and a.acc_type <>
@pAcc_Type and a.branchCode like @pBranchCode+'%' and a.inactive is null
end else begin RAISERROR ('Account ID already closed.',12,2); end end --
exec fi_sv_get_acc_info '0005002672311', '000'

===============================

CREATE FUNCTION [dbo].[fi_ld_get_penalty_late]( @pLDID NVARCHAR(16), @pMRID


NVARCHAR(1), @pDateTo DATE ) RETURNS Money AS BEGIN DECLARE
@varNumPenaltyDays TINYINT declare @pPenaltyRate float,@SmallestPenalty float
declare @pPenaltyType NVARCHAR(3) declare @pCurrency NVARCHAR(5) declare
@varSchNum int declare @varDisburseDate date declare @varDueDateNext
Date,@UsePenaltyList nvarchar(1),@PenaltyFrmStartAFGP nvarchar(1) DECLARE
@Shedule TABLE (RowNo INT, DueDate DATE, DueAmount MONEY) DECLARE @tblPen TABLE
(RowNo INT, OriDueDate DATE) DECLARE @Payment TABLE (RowNo INT, DocDate DATE,
DocAmount MONEY) DECLARE @PenaltyList TABLE (RowNo INT,DueDate DATE, DocDate
DATE, Amount MONEY,OriDueAmt Money,NumDay Int,Penalty Money,Grace Int,OriDueDate
Date) DECLARE @Penalty TABLE (RowNo int, Amount MONEY,Penalty Money, Collect
money,Remain Money) SET @varNumPenaltyDays =isnull((select top 1 ConstValue
from sysConstants where ConstName ='PenaltyLateCount'),0) SET @UsePenaltyList
=isnull((select top 1 ConstValue from sysConstants where ConstName
='USEPENALTYLIST'),'N') SET @PenaltyFrmStartAFGP =isnull((select top 1 ConstValue
from sysConstants where ConstName ='PenaltyFrmStartAFGP'),'N') select
@pPenaltyRate=ISNULL(penalty_rate,0),@pCurrency=currency_id,@varDisburseDate=disbur
se from tbLLDLoans where LDID=@pLDID select
@pPenaltyType=ISNULL(penalty_type,'P'),@pCurrency=currency_id,@varDisburseDate=disb
urse from tbLLDLoans where LDID=@pLDID --------------------------- IF
@pPenaltyRate>0 BEGIN SET @SmallestPenalty=isnull((select SmallestPenalty from
tblCurrencies where CurrencyID=@pCurrency),0) end; INSERT INTO @Shedule
SELECT ROW_NUMBER() OVER(ORDER BY a.duedate), a.duedate, a.[PRINCIPAL]+a.[INTEREST]
+a.[Colamt]+a.[Newamt] AS DueAmount FROM tblLDSchedules a inner join
tblLDClients b on a.LDID =b.LDID and a.MRID =b.MRID WHERE a.LDID=@pLDID AND
a.MRID=@pMRID AND duedate<=@pDateTo and (b.inactive is null or b.inactive
>=@pDateTo ) ORDER BY duedate ---------------------- INSERT INTO
@Payment SELECT ROW_NUMBER() OVER(ORDER BY rcpt_date), rcpt_date as DocDate,
[INTEREST]+[PRINCIPAL]+[Colfee]+[Newfee] AS DocAmount FROM tblLDPayments WHERE
LDID=@pLDID AND MRID=@pMRID AND rcpt_date<=@pDateTo AND FLAG=0 ORDER BY rcpt_date
--------------------- set @varSchNum=isnull((select COUNT(RowNo) from
@Shedule ),1) declare @varSchRowNo int declare @varPayDate Date declare
@varDueDate date declare @preDueAmt float declare @varDueAmt float declare
@varPayAmt float declare @varPenalty float declare @conDaysInYear float
Declare @DueDate Date declare @varNum int declare @PenCount int =0
declare @varCollect money set @preDueAmt=0; Set @varNum=1 SET
@varSchRowNo=1 SET @conDaysInYear = 360 set @pDateTo=dateadd(d,1,@pDateTo);
While @varSchRowNo <= @varSchNum BEGIN SET @varDueDate = (SELECT DueDate
FROM @Shedule WHERE RowNo = @varSchRowNo) SET @varDueAmt = (SELECT DueAmount
FROM @Shedule WHERE RowNo = @varSchRowNo) + @preDueAmt; SET @DueDate =
@varDueDate; SET @varDueDateNext= isnull((SELECT DueDate FROM @Shedule WHERE
RowNo = @varSchRowNo+1), @pDateTo) While @varDueDate < @varDueDateNext BEGIN
IF @varDueAmt > 0 BEGIN set @PenCount = 1 END ELSE BEGIN set
@PenCount = 0 END SET @varPayAmt = isnull((SELECT sum(DocAmount)
FROM @Payment WHERE DocDate = @varDueDate),0); SET @varPayDate = isnull((SELECT
top 1 DocDate FROM @Payment WHERE DocDate = @varDueDate),NULL); IF @varNum
<= @varNumPenaltyDays + 1 bEGIN insert into @PenaltyList values (@varNum,
@varDueDate, @varPayDate, @varPayAmt, @varDueAmt, @PenCount, 0, 1, @DueDate)
END ELSE BEGIN insert into @PenaltyList values (@varNum, @varDueDate,
@varPayDate, @varPayAmt, @varDueAmt, @PenCount, 0, 0, @DueDate) END
SET @varDueAmt=@varDueAmt-@varPayAmt SET @varPayAmt=0; SET
@varDueDate=dateAdd(D,1,@varDueDate) SET @varNum=@varNum+1; END; SET
@varNum=1 SET @preDueAmt=@varDueAmt; SET @varSchRowNo=@varSchRowNo+1; END
Delete from @PenaltyList where NumDay=0; ----------------Start Calc penalty from
start -------------------- IF @PenaltyFrmStartAFGP='Y' BEGIN Delete from
@PenaltyList where RowNo=1; insert into @tblPen select
Max(RowNo),OriDueDate as RowNo from @PenaltyList group by OriDueDate
Update @PenaltyList set Grace=0 from @PenaltyList a inner join @tblPen b on
a.OriDueDate=b.OriDueDate where b.RowNo>@varNumPenaltyDays ; END;
-------------------------------- Delete from @PenaltyList where Grace=1; IF
@UsePenaltyList='N' BEGIN IF @pPenaltyType='V' BEGIN UPDATE @PenaltyList SET
Penalty = @pPenaltyRate * NumDay where Numday > 0 END ELSE BEGIN UPDATE
@PenaltyList SET Penalty = (OriDueAmt * @pPenaltyRate / @conDaysInYear) * NumDay
where Numday > 0 END END ELSE BEGIN UPDATE @PenaltyList SET Penalty =
[dbo].[fi_ld_get_penalty_range](Numday, @pCurrency) END; --------------
IF @SmallestPenalty >0 BEGIN Declare @PenaltyList1 table (OriDueDate
Date,OriDueAmt Money,Penalty Money ) Insert into @PenaltyList1 select
OriDueDate, sum(OriDueAmt), sum(Penalty) FrOM @PenaltyList where Numday > 0
Group by OriDueDate having sum(OriDueAmt) > 0 update @PenaltyList1 set
Penalty = @SmallestPenalty where Penalty < @SmallestPenalty delete from
@PenaltyList ------------- insert into @Penalty SELECT
@varSchRowNo,sum(OriDueAmt),sum(Penalty),0,sum(Penalty) from @PenaltyList1
END --------------------- insert into @Penalty SELECT
@varSchRowNo,sum(OriDueAmt),sum(Penalty),0,sum(Penalty) FrOM @PenaltyList
where Numday>0 having sum(OriDueAmt) > 0 ----------------------------
SET @varCollect =isnull((select sum(amount) from tblLDPenalties where LDID
=@pLDID and MRID=@pMRID and rcpt_date <=@pDateTo),0) SET
@varPenalty = case when isnull((select SUM(Remain) from @Penalty),0) - @varCollect
> 0 then isnull((select SUM(Remain) from @Penalty),0) - @varCollect else 0 end
SET @varPenalty = dbo.firound(@varPenalty,@pCurrency) Return @varPenalty;
END

You might also like