0% found this document useful (0 votes)
41 views37 pages

RPT-00050 Fi - LD - RPT - Disbursement

This document contains code for a stored procedure that generates journal entries for loan principal collections. It selects loan and account data, sets up temporary tables to store chart of account mappings, and inserts journal entry records into a final table with details of loan ID, payment amount, currency, account mappings, and other fields.

Uploaded by

Heang Chantha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views37 pages

RPT-00050 Fi - LD - RPT - Disbursement

This document contains code for a stored procedure that generates journal entries for loan principal collections. It selects loan and account data, sets up temporary tables to store chart of account mappings, and inserts journal entry records into a final table with details of loan ID, payment amount, currency, account mappings, and other fields.

Uploaded by

Heang Chantha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy