Gwpks CreateRetailTlr

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 58

CREATE OR REPLACE PACKAGE BODY Gwpks_CreateRetailTlr AS

/*---------------------------------------------------------------------------------
-------------------
**
** File Name : Gwpks_CreateRetailTlr.sql
**
** Module : RT
**
** This source is part of the FLEXCUBE Software System and is copyrighted by
Oracle Financial Services Software Limited.

** All rights reserved. No part of this work may be reproduced, stored in a


retrieval system,
** adopted or transmitted in any form or by any means, electronic, mechanical,
photographic,
** graphic, optic recording or otherwise, translated in any language or
computer language, without
** the prior written permission of Oracle Financial Services Software Limited.

** Oracle Financial Services Software Limited.


** 10-11, SDF I, SEEPZ, Andheri (East),
** Mumbai - 400 096.
** India
** Copyright ? ** Copyright ? 2007 - 2015 by Oracle Financial Services Software
Limited.

-----------------------------------------------------------------------------------
-----------------

-----------------------------------------------------------------------------------
------------------------------

===================================================================================
==============================
**************************************** CHANGE HISTORY
*************************************************

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

DD-MON-RRRR SFR NO Tag Name DESCRIPTION


25-JUN-2008 FCUBS10.1 Branch Changes Added autoa uth
changes
04-NOV-2008 sfr 32 FCUBSIMPSUPP FC102IR Changes for
solving Problem in handling CLOB messages for Branch Retail Teller Operations
(Deposit, Withdrawal etc) and
for DD/TC transactions
02-JAN-2009 FC UBS 10.2.0.0.0.0.2 BM Changes Modified By
: Rohit
Modified On
: 02-jan-2009
Modified Reason
: Benchmark Performance changes PF-008
Retro Reference
: 10.2Emrel-SourceChangeTracker.xls/Change List/PF-008
Search String
: FC10 Performance Tuning PF-008
16-jan-2009 2 FC UBS 10.2.0.0.0.0.2 BM Changes Modified By :
Arup Kundu
Modified On : 16-jan-2009
Modified Reason : CLOB not handled properly
Search String : 10.2EMRELITR1RETROSFR-4
02-Feb-2009 10.3 Online Extensibility Changes Modified By
: Rohit
Modified On : 02-Feb-2009
Modified Reason : 10.3 Online Extensibility Changes
Search String : 10.3 Online Ext Changes
05-Feb-2009 10.3 WebBranch Changes Modified On : 05-
Feb-2009
Modified Reason
: 10.3 WebBranch Changes
Search String
: 10.3 WebBranch Changes
4/10/2009 5 FC103ITR2 SFR-202 Added Beneficiary details to
'Transaction-Details' block
09-06-2010 6 FCUBS11.1 Changes SFR#3808 Checker id updation
03-SEP-2010 FCUBS 11.2 CHANGES BY SURENDRA
MODIFIED REASON: NEW FIELDS ADDED FOR PROJECT UNIT DATA CAPTURE
SEARCH STRING : 9NT1428-FCUBS 11.2 changes by surendra
Modified Reason : NEFT/RTGS CHANGES To capture
PC Details
Search String : NEFT/RTGS CHANGES
To capture PC Details 1405

Changed By : Aslam Ershath


Changed On : 27/09/2010
Change Description : FCUBS 11.2 CHANGES FOR CREDIT CARD PAYMENTS
Search string : 9NT1428 CREDIT CARD PAYMENTS CHANGES BY ASLAM

Changed By : Aslam Ershath


Changed On : 04/11/2010
Change Description : 9NT1428 Kernel 11.2 SFR525 ITR1 Credit Card
Payment related changes
Search string : 9NT1428, ITR1, SFR#525

Changed By :Charchika Sahoo


Changed On :04-Nov-2010
Change Description :FCUBS11.2 ITR1 SFR#504 changes for Reject code
Search string :FCUBS11.2 ITR1 SFR#504 changes

Changed By : Monika Verma


Changed On : 04/11/2010
Change Description : FCUBS 11.2 SFR 521 CHANGES FOR STALE CHEQUE
Search string :fcubs11.2 stale cheque validation starts

Changed By : STALIN G
Changed On : 12-Nov-2010
Change Description : FCUBS_VUM_11.2.0.0 ITR1 SFR#722 CHANGES FOR
Advice includes branch name
Search string : FCUBS_VUM_11.2.0.0 ITR1 SFR#722

Changed By : Monika Verma


Changed On :16-Nov-2010
Change Description : FCUBS11.2 SFR 727 No of rejections validation
Search string : --fcubs11.2 it1 sfr 727

Changed By : Shang
Changed On :17-Nov-2010
Change Description : FCUBS11.2 SFR 1062 retail teller transactions
automatically getting rejected on save
: close of if condition for reject block is not proper...
Search string : FCUBS11.2 ITR1 SFR#1062

Changed By : Aslam Ershath


Changed On : 20/12/2010
Change Description : FCUBS11.2 SFR399 ITR2
Search string : FCUBS11.2 SFR399 ITR2

Modified By : Praveen
Modified On : 25-Apr-2011
Modified Reason : MBU22 - 11.2.0.1.0BOMLAE - ITR1 SFR#150
Search String : MBU22 SFR#150

Changed By :Tanmay Banerjee


Changed On : 07-JUl-2011,Release-FCUBS_VUM_11.2.0.0,Defect
stage-IMP,SFR-194
Description : Removed the validation for cheques as Validations
has to be fired based on check mandatory flag in TXN code..
Search string : BLR_11.2_IMP_BDTOBL_SFR#194

Changed By : Imp Supp


Changed On : 16-Aug-2011 DEFLT9084
Description : CQRC charges not updating the count in
sttm_cust_account for num_cheque_return.
Search string : AEDMBU DEFLT9084

Changed By : Praveen
Changed On : 24-Oct-2011
Description : Cheque rejection process is failing.
Search string : AEDMBU QAUATC UAT-C-104 CHANGES

Changed By : Suvhrajit
Changed On : 1-Aug-2012
Description : Cheque rejecttion count was getting wrongly
updated twice for Financial Cheque returns
Search string : DEFLT00020606 CHANGES

Changed By : ME Consulting
Changed On : 03-Nov-2014
Description : AN_FCUBS_11 2 0 0
0$BOMLAE_UAE_PGS_Changes_Release
Search string : AN_FCUBS_11 2 0 0
0$BOMLAE_UAE_PGS_Changes_Release

Modified by:: Asim


Modified on:: 01-Jun-2015
Modified Reason:: LOCH and 1013 changes - Overdraft allowed only for Cheque
Return cases
Search string:: 3-10841486111 changes - Return flag set to Y if Return
code is input
Modified by : Anjali
Modified On : 21-Jan-2015
Modified Reason : Virtual Accounts changes
Search String : FCUBS_11.0.2_$BOMLAE_Virtual_Accounts changes

MODIFIED BY : Ankit
MODIFIED ON : 14-JANUARY-2015
MODIFIED REASON : CODE ADDED TO FOR VIRTUAL ACCOUNT CHANGES.
SEARCH STRING : FCUBS 11.2_VIRTUAL_ACCOUNT

MODIFIED BY : Sangeetha
MODIFIED ON : 19-Oct-2015
MODIFIED REASON : Invoice number is not being passed during enrich
stage of teller screens.
SEARCH STRING : Defect 2493 changes

Modified by:: Arun Jagannathan.


Modified on:: 12-NOV-2015
Modified Reason:: LOCH cheque return cases its not updating the return
in check details.
Search string:: IN00092535 -changes

Modified by : Kusuma Priya T N


Modified On : 18-Jul-2016
Modified Reason : BOMLAE_R23_Third party Cash withdrawal
Search String : Changes for Third party Cash withdrawal

Modified by : asim
Modified On : 18-Jul-2016
Modified Reason : Train R2 - Credit card payment from interface default
function id CRAP
Search String : 24Aug2016 asim change

Modified by : vrashin
Modified On : 28-Mar-2017
Modified Reason : BOMALE ITM Changes
Search String : BOMALE ITM Changes

Modified by : Aravind S
Modified On : 24-Mar-2017
Modified Reason : Validations on ITM limits
Search String : AN-FCUBS_11 2_0_0_0$BOMLAE_R27_ITM Velocity Changes

Modified by : Alan James K


Modified On : 28-May-2017
Modified Reason : FCUBS_11.2.0.0.0$BOMLAE_Customer Choreography
Financial Transactions
Search String :
FCUBS_11.2.0.0.0$BOMLAE_Customer_Choreography_Financial_Transactions

Modified by : Aravind S
Modified by : 15-Jul-2017
Modified Reason : New fields in 1012 and 1013 screen
Search string : AN-FCUBS_11 2_0_0_0$BOMLAE_R29_13057_OnUs cheque
posting

Modified by : Devi Prasad


Modified by : 15-Nov-2017
Modified Reason : Credit card payment handling for TCR
Search string : PR00003076

Modified by : Preetika Chandel


Modified On : 21-Sep-2018
Modified Reason : FCUBS_11.2.0.0.0$BOMLAE_R33_Central Bank Changes in
ITM Cheque Withdrawal Screen
Search String : FCUBS_11.2.0.0.0$BOMLAE_R33_Central Bank Changes in
ITM Cheque Withdrawal Screen

Modified By : Durga
Modified on : 13-Nov-2018
Description : ID Value, Emirates ID should be mandatory for ITM3
screen
Search string : Defact#42908

Modified By : Gourab
Modified on : 02-JAN-2019
Description : TCR Accounting entries are not getting posted
Search string : PR00004416

Modified by : Preetika Chandel


Modified On : 07-04-2020
Modified Reason : Introduction of Business Group along with Segment Code
Search String : FCUBS_11.2.0.0.0$BOMLAE_R41_16044 ITM Velocity
Functionality

-----------------------------------------------------------------------------------
------------------------------
*/

g_cnt_lvl2 NUMBER := 0;
g_instr_code VARCHAR2(20); --fcubs11.2 it1 sfr 727

------------------------------------------------------------------------
PROCEDURE dbg(p_dbg IN VARCHAR2) IS
BEGIN
Debug.pr_debug('IF', '[DEBUG] ' || 'Gwpks_CreateRetailTlr :' || p_dbg);
END dbg;

PROCEDURE dbg(p_dbg_ind IN VARCHAR2, p_dbg IN VARCHAR2) IS


BEGIN
IF p_dbg_ind = 'E' THEN
Debug.pr_debug('IF',
'[ERROR] ' || 'Gwpks_CreateRetailTlr :' || p_dbg);
ELSE
Debug.pr_debug('IF',
'[DEBUG] ' || 'Gwpks_CreateRetailTlr :' || p_dbg);
END IF;
END Dbg;
------------------------------------------------------------------------
--MBU22 SFR#150 starts
Function fn_incrm_rejectcnt(p_trn_ref_no IN VARCHAR2,
p_err_code IN OUT VARCHAR2,
p_err_param IN OUT VARCHAR2) RETURN BOOLEAN;
--MBU22 SFR#150 ends
----------------------------------------------------------------------
FUNCTION fn_pop_plsql_tbl(p_node_name IN VARCHAR2,
p_dtf IN VARCHAR2,
p_tbl_name_val_pair IN OUT ty_recs_tbl,
p_ty_rtupld IN OUT
Depks_RetailTellerUpload.typ_retailTellerUpld_rec,
p_err_code IN OUT VARCHAR2,
p_err_param IN OUT VARCHAR2)
RETURN BOOLEAN IS

empty_table ty_recs_tbl;
l_chg_cnt NUMBER := 0;
l_bal_Dets cltb_account_master%rowtype;
--FCUBS V.UM 11.0.0.0.0.0.0 - 9NT1316 - Lokesh M start
l_component_name clvs_acc_comp_balances.component_name%Type;
g_amt_financed cltb_account_master.amount_financed%type;
l_account_number clvs_acc_comp_balances.account_number%Type;
--FCUBS V.UM 11.0.0.0.0.0.0 - 9NT1316 - Lokesh M end

-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release Start


l_fn_call_id NUMBER;
l_tbl_cluster_data global.ty_tb_cluster_data;
l_tbl_cluster_data_empty global.ty_tb_cluster_data;
-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release End
BEGIN
IF p_node_name IN ('Transaction-Details', 'Transaction-Details-IO') THEN
IF p_tbl_name_val_pair.EXISTS('SCODE') THEN
p_ty_rtupld.ty_upld_rtl_teller.scode := p_tbl_name_val_pair('SCODE')
.typ_var_value;
END IF;
dbg('[scode]=>' || p_ty_rtupld.ty_upld_rtl_teller.scode);

IF p_tbl_name_val_pair.EXISTS('FCCREF') THEN
p_ty_rtupld.ty_upld_rtl_teller.trn_ref_no := p_tbl_name_val_pair('FCCREF')
.typ_var_value;
END IF;
dbg('[trn_ref_no]=>' || p_ty_rtupld.ty_upld_rtl_teller.trn_ref_no);

/* IF p_tbl_name_val_pair.EXISTS('BATCHNO')
THEN
p_ty_rtupld.ty_upld_tlr_txn.batchno := p_tbl_name_val_pair('BATCHNO')
.typ_var_value;
END IF;
dbg('[batchno]=>' || p_ty_rtupld.ty_upld_tlr_txn.batchno);*/ --##????

/*IF p_tbl_name_val_pair.EXISTS('CALCHG')
THEN
p_ty_rtupld.ty_upld_tlr_txn.calchg := p_tbl_name_val_pair('CALCHG')
.typ_var_value;
END IF;
dbg('[calchg]=>' || p_ty_rtupld.ty_upld_tlr_txn.calchg);*/ --##????

/* IF p_tbl_name_val_pair.EXISTS('TXNDRCR')
THEN
p_ty_rtupld.ty_upld_rtl_teller.txndrcr := p_tbl_name_val_pair('TXNDRCR')
.typ_var_value;
END IF;
dbg('[txndrcr]=>' || p_ty_rtupld.ty_upld_tlr_txn.txndrcr);*/ --##????

/*IF p_tbl_name_val_pair.EXISTS('BOOKDATE')
THEN
p_ty_rtupld.ty_upld_rtl_teller.bookdate :=
to_date(p_tbl_name_val_pair('BOOKDATE')
.typ_var_value,
p_dtf);
END IF;
dbg('[bookdate]=>' || p_ty_rtupld.ty_upld_tlr_txn.bookdate);*/ --##????

/* IF p_tbl_name_val_pair.EXISTS('CLGBNK')
THEN
p_ty_rtupld.ty_upld_rtl_teller.clgbnk := p_tbl_name_val_pair('CLGBNK')
.typ_var_value;
END IF;
dbg('[clgbnk]=>' || p_ty_rtupld.ty_upld_tlr_txn.clgbnk);*/ --##????

/* IF p_tbl_name_val_pair.EXISTS('OFFSETLCYAMT')
THEN
p_ty_rtupld.ty_upld_rtl_teller.offsetlcyamt :=
p_tbl_name_val_pair('OFFSETLCYAMT')
.typ_var_value;
END IF;
dbg('[offsetlcyamt]=>' || p_ty_rtupld.ty_upld_tlr_txn.offsetlcyamt);

IF p_tbl_name_val_pair.EXISTS('TRANCOUNT')
THEN
p_ty_rtupld.ty_upld_rtl_teller.trancount :=
p_tbl_name_val_pair('TRANCOUNT')
.typ_var_value;
END IF;
dbg('[trancount]=>' || p_ty_rtupld.ty_upld_tlr_txn.trancount);

IF p_tbl_name_val_pair.EXISTS('SERIALNO')
THEN
p_ty_rtupld.ty_upld_rtl_teller.serialno := p_tbl_name_val_pair('SERIALNO')
.typ_var_value;
END IF;
dbg('[serialno]=>' || p_ty_rtupld.ty_upld_tlr_txn.serialno);*/ -- ##????
IF p_tbl_name_val_pair.EXISTS('FT') THEN
p_ty_rtupld.ty_upld_rtl_teller.FT := p_tbl_name_val_pair('FT')
.typ_var_value;
END IF;
dbg('[FT]=>' || p_ty_rtupld.ty_upld_rtl_teller.FT);

-----------------------------------------------------------------------
--- FC103ITR2 SFR-202 Starts
IF p_tbl_name_val_pair.EXISTS('BENFNAME') THEN
p_ty_rtupld.ty_upld_rtl_teller.BENEF_NAME :=
p_tbl_name_val_pair('BENFNAME')
.typ_var_value;
END IF;
dbg('[BENEF_NAME]=>' || p_ty_rtupld.ty_upld_rtl_teller.BENEF_NAME);

IF p_tbl_name_val_pair.EXISTS('BENFADDR1') THEN
p_ty_rtupld.ty_upld_rtl_teller.BENEF_ADDR1 :=
p_tbl_name_val_pair('BENFADDR1')
.typ_var_value;
END IF;
dbg('[BENEF_ADDR1]=>' || p_ty_rtupld.ty_upld_rtl_teller.BENEF_ADDR1);

IF p_tbl_name_val_pair.EXISTS('BENFADDR2') THEN
p_ty_rtupld.ty_upld_rtl_teller.BENEF_ADDR2 :=
p_tbl_name_val_pair('BENFADDR2')
.typ_var_value;
END IF;
dbg('[BENEF_ADDR2]=>' || p_ty_rtupld.ty_upld_rtl_teller.BENEF_ADDR2);

IF p_tbl_name_val_pair.EXISTS('BENFADDR3') THEN
p_ty_rtupld.ty_upld_rtl_teller.BENEF_ADDR3 :=
p_tbl_name_val_pair('BENFADDR3')
.typ_var_value;
END IF;
dbg('[BENEF_ADDR3]=>' || p_ty_rtupld.ty_upld_rtl_teller.BENEF_ADDR3);

IF p_tbl_name_val_pair.EXISTS('BENFADDR4') THEN
p_ty_rtupld.ty_upld_rtl_teller.BENEF_ADDR4 :=
p_tbl_name_val_pair('BENFADDR4')
.typ_var_value;
END IF;
dbg('[BENEF_ADDR4]=>' || p_ty_rtupld.ty_upld_rtl_teller.BENEF_ADDR4);

IF p_tbl_name_val_pair.EXISTS('OTHERDETLS1') THEN
p_ty_rtupld.ty_upld_rtl_teller.PASSPORTIC_NO :=
p_tbl_name_val_pair('OTHERDETLS1')
.typ_var_value;
END IF;
dbg('[PASSPORTIC_NO]=>' ||
p_ty_rtupld.ty_upld_rtl_teller.PASSPORTIC_NO);
--- FC103ITR2 SFR-202 Ends

-----------------------------------------------------------------------------------
-----------

IF p_tbl_name_val_pair.EXISTS('UTLBNF1') THEN
p_ty_rtupld.ty_msgdets.BENEF_INSTITUTION1 := p_tbl_name_val_pair('UTLBNF1')
.typ_var_value;
END IF;
dbg('[ultbnf1]=>' || p_ty_rtupld.ty_msgdets.BENEF_INSTITUTION1);

IF p_tbl_name_val_pair.EXISTS('UTLBNF2') THEN
p_ty_rtupld.ty_msgdets.BENEF_INSTITUTION2 := p_tbl_name_val_pair('UTLBNF2')
.typ_var_value;
END IF;
dbg('[ultbnf1]=>' || p_ty_rtupld.ty_msgdets.BENEF_INSTITUTION2);

IF p_tbl_name_val_pair.EXISTS('UTLBNF3') THEN
p_ty_rtupld.ty_msgdets.BENEF_INSTITUTION3 := p_tbl_name_val_pair('UTLBNF3')
.typ_var_value;
END IF;
dbg('[UTLBNF3]=>' || p_ty_rtupld.ty_msgdets.BENEF_INSTITUTION3);
IF p_tbl_name_val_pair.EXISTS('UTLBNF4') THEN
p_ty_rtupld.ty_msgdets.BENEF_INSTITUTION4 := p_tbl_name_val_pair('UTLBNF4')
.typ_var_value;
END IF;
dbg('[UTLBNF4]=>' || p_ty_rtupld.ty_msgdets.BENEF_INSTITUTION4);
IF p_tbl_name_val_pair.EXISTS('UTLBNF5') THEN
p_ty_rtupld.ty_msgdets.BENEF_INSTITUTION5 := p_tbl_name_val_pair('UTLBNF5')
.typ_var_value;
END IF;
dbg('[UTLBNF5]=>' || p_ty_rtupld.ty_msgdets.BENEF_INSTITUTION5);
IF p_tbl_name_val_pair.EXISTS('AWI1') THEN
p_ty_rtupld.ty_msgdets.ACC_WITH_INSTN1 := p_tbl_name_val_pair('AWI1')
.typ_var_value;
END IF;
dbg('[AWI1]=>' || p_ty_rtupld.ty_msgdets.ACC_WITH_INSTN1);
IF p_tbl_name_val_pair.EXISTS('AWI2') THEN
p_ty_rtupld.ty_msgdets.ACC_WITH_INSTN2 := p_tbl_name_val_pair('AWI2')
.typ_var_value;
END IF;
dbg('[AWI2]=>' || p_ty_rtupld.ty_msgdets.ACC_WITH_INSTN2);
IF p_tbl_name_val_pair.EXISTS('AWI3') THEN
p_ty_rtupld.ty_msgdets.ACC_WITH_INSTN3 := p_tbl_name_val_pair('AWI3')
.typ_var_value;
END IF;
dbg('[AWI3]=>' || p_ty_rtupld.ty_msgdets.ACC_WITH_INSTN3);
IF p_tbl_name_val_pair.EXISTS('AWI4') THEN
p_ty_rtupld.ty_msgdets.ACC_WITH_INSTN4 := p_tbl_name_val_pair('AWI4')
.typ_var_value;
END IF;
dbg('[AWI4]=>' || p_ty_rtupld.ty_msgdets.ACC_WITH_INSTN4);
IF p_tbl_name_val_pair.EXISTS('AWI5') THEN
p_ty_rtupld.ty_msgdets.ACC_WITH_INSTN5 := p_tbl_name_val_pair('AWI5')
.typ_var_value;
END IF;
dbg('[AWI5]=>' || p_ty_rtupld.ty_msgdets.ACC_WITH_INSTN5);

IF p_tbl_name_val_pair.EXISTS('COUNTRY') THEN
p_ty_rtupld.ty_msgdets.COUNTRY_CODE := p_tbl_name_val_pair('COUNTRY')
.typ_var_value;
END IF;
dbg('[COUNTRY]=>' || p_ty_rtupld.ty_msgdets.COUNTRY_CODE);
/* IF p_tbl_name_val_pair.EXISTS('LCYTOTCHGA')
THEN
p_ty_rtupld.ty_upld_tlr_txn.lcytotchgamt :=
p_tbl_name_val_pair('LCYTOTCHGA')
.typ_var_value;
END IF;
dbg('[lcytotchgamt]=>' || p_ty_rtupld.ty_upld_tlr_txn.lcytotchgamt);*/ --
##????
/*IF p_tbl_name_val_pair.EXISTS('DENMCCY1')
THEN
p_ty_rtupld.ty_upld_tlr_txn.offsetlcyamt := p_tbl_name_val_pair('DENMCCY1')
.typ_var_value;
END IF;
dbg('[offsetlcyamt]=>' || p_ty_rtupld.ty_upld_tlr_txn.offsetlcyamt);*/
/* IF p_tbl_name_val_pair.EXISTS('DENMCCY1')
THEN
p_ty_rtupld.ty_upld_tlr_txn.DENMCCY1 := p_tbl_name_val_pair('DENMCCY1')
.typ_var_value;
END IF;
dbg('[DENMCCY1]=>' || p_ty_rtupld.ty_upld_tlr_txn.DENMCCY1);

IF p_tbl_name_val_pair.EXISTS('DENMAMT1')
THEN
p_ty_rtupld.ty_upld_tlr_txn.DENMAMT1 := p_tbl_name_val_pair('DENMAMT1')
.typ_var_value;
END IF;
dbg('[DENMAMT1]=>' || p_ty_rtupld.ty_upld_tlr_txn.DENMAMT1);
IF p_tbl_name_val_pair.EXISTS('DENMCCY2')
THEN
p_ty_rtupld.ty_upld_tlr_txn.DENMCCY2 := p_tbl_name_val_pair('DENMCCY2')
.typ_var_value;
END IF;
dbg('[DENMCCY2]=>' || p_ty_rtupld.ty_upld_tlr_txn.DENMCCY2);
IF p_tbl_name_val_pair.EXISTS('DENMAMT2')
THEN
p_ty_rtupld.ty_upld_tlr_txn.DENMAMT2 := p_tbl_name_val_pair('DENMAMT2')
.typ_var_value;
END IF;
dbg('[DENMAMT2]=>' || p_ty_rtupld.ty_upld_tlr_txn.DENMAMT2);

IF p_tbl_name_val_pair.EXISTS('CUST_ID')
THEN
p_ty_rtupld.ty_upld_tlr_txn.CUST_ID := p_tbl_name_val_pair('CUST_ID')
.typ_var_value;
END IF;
dbg('[offsetlcyamt]=>' || p_ty_rtupld.ty_upld_tlr_txn.CUST_ID);

IF p_tbl_name_val_pair.EXISTS('ACCTITLE1')
THEN
p_ty_rtupld.ty_upld_tlr_txn.ACCTITLE1 := p_tbl_name_val_pair('ACCTITLE1')
.typ_var_value;
END IF;
dbg('[ACCTITLE1]=>' || p_ty_rtupld.ty_upld_tlr_txn.ACCTITLE1);

IF p_tbl_name_val_pair.EXISTS('ACCTITLE2')
THEN
p_ty_rtupld.ty_upld_tlr_txn.ACCTITLE2 := p_tbl_name_val_pair('ACCTITLE2')
.typ_var_value;
END IF;
dbg('[ACCTITLE2]=>' || p_ty_rtupld.ty_upld_tlr_txn.ACCTITLE2);

IF p_tbl_name_val_pair.EXISTS('ACTAMT')
THEN
p_ty_rtupld.ty_upld_tlr_txn.ACTAMT := p_tbl_name_val_pair('ACTAMT')
.typ_var_value;
END IF;
dbg('[ACTAMT]=>' || p_ty_rtupld.ty_upld_tlr_txn.ACTAMT);*/ --##????

--9NT1620_1203_INTERNAL_18272320 virtual starts


/* IF p_tbl_name_val_pair.EXISTS('ACCTITLE1') THEN
p_ty_rtupld.ty_upld_rtl_teller.ACCTITLE1 :=
p_tbl_name_val_pair('ACCTITLE1')
.typ_var_value;
END IF;
dbg('[ACCTITLE1 stored in global]=>' ||
depkss_retailtellerupload.g_acctitle1);

IF p_tbl_name_val_pair.EXISTS('ACCTITLE2') THEN
p_ty_rtupld.ty_upld_rtl_teller.acctitle2 :=
p_tbl_name_val_pair('ACCTITLE2')
.typ_var_value;
END IF;
dbg('[ACCTITLE2 stored in global ]=>' ||
depkss_retailtellerupload.g_acctitle2);*/
--9NT1620_1203_INTERNAL_18272320 virtual ends

IF p_tbl_name_val_pair.EXISTS('XREF') THEN
p_ty_rtupld. ty_upld_rtl_teller.XREF := p_tbl_name_val_pair('XREF')
.typ_var_value;
END IF;
dbg('[XREF]=>' || p_ty_rtupld. ty_upld_rtl_teller.XREF);

IF p_tbl_name_val_pair.EXISTS('PRD') THEN
p_ty_rtupld.ty_upld_rtl_teller.product_code := p_tbl_name_val_pair('PRD')
.typ_var_value;
END IF;
dbg('[p_ty_rtupld.ty_upld_rtl_teller.product_code]=>' ||
p_ty_rtupld.ty_upld_rtl_teller.product_code);

-- FCUBS 11.2_VIRTUAL_ACCOUNT changes starts


IF p_tbl_name_val_pair.EXISTS('VIRACCNO') THEN
Depks_RetailTellerUpload.g_viraccno := p_tbl_name_val_pair('VIRACCNO')
.typ_var_value;
END IF;
dbg('[Depks_RetailTellerUpload.g_viraccno]=>' ||
Depks_RetailTellerUpload.g_viraccno);
--FCUBS 11.2_VIRTUAL_ACCOUNTchanges ends

-- Defect 2493 changes starts


IF p_tbl_name_val_pair.EXISTS('INVOICENO') THEN
Depks_RetailTellerUpload.g_invoiceno := p_tbl_name_val_pair('INVOICENO')
.typ_var_value;
END IF;
dbg('[Depks_RetailTellerUpload.g_invoiceno]=>' ||
Depks_RetailTellerUpload.g_invoiceno);
-- Defect 2493 changes ends

---Changes for Third party Cash withdrawal starts-------


IF p_tbl_name_val_pair.EXISTS('CHARGE_TYPE') THEN
DBG('CHARGE_TYPE 1 -->' || p_tbl_name_val_pair('CHARGE_TYPE')
.typ_var_value);
Depks_RetailTellerUpload.g_chargetype := p_tbl_name_val_pair('CHARGE_TYPE')
.typ_var_value;
END IF;
dbg('[Depks_RetailTellerUpload.g_chargetype]=>' ||
Depks_RetailTellerUpload.g_chargetype);
---Changes for Third party Cash withdrawal Ends-------

--9NT1620_1203_INTERNAL_18272320 virtual starts


/* IF p_tbl_name_val_pair.EXISTS('ACCTYPE') THEN
Depks_RetailTellerUpload.g_acctype := p_tbl_name_val_pair('ACCTYPE')
.typ_var_value;
END IF;
dbg('[Depks_RetailTellerUpload.g_acctype]=>' ||
Depks_RetailTellerUpload.g_acctype);*/
--9NT1620_1203_INTERNAL_18272320 virtual ends

IF p_tbl_name_val_pair.EXISTS('BRN') THEN
p_ty_rtupld.ty_upld_rtl_teller.branch_code := p_tbl_name_val_pair('BRN')
.typ_var_value;
END IF;
dbg('[branch_code]=>' || p_ty_rtupld.ty_upld_rtl_teller.branch_code);

IF p_tbl_name_val_pair.EXISTS('TXNACC') THEN
p_ty_rtupld.ty_upld_rtl_teller.txn_acc := p_tbl_name_val_pair('TXNACC')
.typ_var_value;
END IF;
dbg('[txn_acc]=>' || p_ty_rtupld.ty_upld_rtl_teller.txn_acc);

----9NT1428 CREDIT CARD PAYMENTS CHANGES BY ASLAM Startz


IF p_tbl_name_val_pair.EXISTS('CREDITCARDNO') THEN
p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD8 :=
p_tbl_name_val_pair('CREDITCARDNO')
.typ_var_value;
END IF;
dbg('[CREDITCARDNO]=>' ||
p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD8);
--24Aug2016 asim change starts - Credit card payment from interface
dbg('[SCODE]=>' || p_ty_rtupld.ty_upld_rtl_teller.scode);
IF p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD8 is not null and
p_ty_rtupld.ty_upld_rtl_teller.product_code = 'CRAC'
/* and p_rec_msg_header.SOURCE not in ('FLEXCUBE','FLEXBRANCH')*/
and nvl(p_ty_rtupld.ty_upld_rtl_teller.scode, '####') not in
('FLEXCUBE', 'FLEXBRANCH', '####') then
gwpks_util.pkg_func := 'CRAP';
END IF;
dbg('[gwpks_util.pkg_func]=>' || gwpks_util.pkg_func);
--24Aug2016 asim change ends
---9NT1428, ITR1, SFR#525 Startz

IF gwpks_util.pkg_func IN ('CRCP', 'CRAP', 'CRCM', 'ITM4', 'CRCS') THEN


--PR00003076
--BOMALE ITM Changes ADDS
p_ty_rtupld.ty_upld_rtl_teller.BENEF_ADDR4 :=
p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD8;
dbg('benf address in credit no is : ' ||
p_ty_rtupld.ty_upld_rtl_teller.BENEF_ADDR4);
--FCUBS_VUM_11.2.0.0 ITR1 SFR#722 Start
begin
select branch_name
into p_ty_rtupld.ty_upld_rtl_teller.PASSPORTIC_NO
from sttm_branch
where branch_code = p_ty_rtupld.ty_upld_rtl_teller.branch_code;
exception
WHEN NO_DATA_FOUND THEN
p_ty_rtupld.ty_upld_rtl_teller.PASSPORTIC_NO := '';
END;
dbg('OTHERDETLS1 is : ' ||
p_ty_rtupld.ty_upld_rtl_teller.PASSPORTIC_NO);
--FCUBS_VUM_11.2.0.0 ITR1 SFR#722 End
END IF;
----9NT1428, ITR1, SFR#525 Endz

IF p_tbl_name_val_pair.EXISTS('CREDITCARDNAME') THEN
p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD9 :=
p_tbl_name_val_pair('CREDITCARDNAME')
.typ_var_value;
END IF;
dbg('[CREDITCARDNAME]=>' ||
p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD9);

---9NT1428 CREDIT CARD PAYMENTS CHANGES BY ASLAM Endz

IF p_tbl_name_val_pair.EXISTS('TXNCCY') THEN
p_ty_rtupld.ty_upld_rtl_teller.txn_ccy := p_tbl_name_val_pair('TXNCCY')
.typ_var_value;
END IF;
dbg('[txn_ccy]=>' || p_ty_rtupld.ty_upld_rtl_teller.txn_ccy);

IF p_tbl_name_val_pair.EXISTS('TXNAMT') THEN
p_ty_rtupld.ty_upld_rtl_teller.txn_amount :=
to_number(p_tbl_name_val_pair('TXNAMT')
.typ_var_value);
END IF;
dbg('[txn_amount]=>' || p_ty_rtupld.ty_upld_rtl_teller.txn_amount);

IF p_tbl_name_val_pair.EXISTS('TXNBRN') THEN
p_ty_rtupld.ty_upld_rtl_teller.txn_branch := p_tbl_name_val_pair('TXNBRN')
.typ_var_value;
END IF;
dbg('[txn_branch]=>' || p_ty_rtupld.ty_upld_rtl_teller.txn_branch);

IF p_tbl_name_val_pair.EXISTS('OFFSETACC') THEN
p_ty_rtupld.ty_upld_rtl_teller.ofs_acc := p_tbl_name_val_pair('OFFSETACC')
.typ_var_value;
END IF;
dbg('[ofs_acc]=>' || p_ty_rtupld.ty_upld_rtl_teller.ofs_acc);

IF p_tbl_name_val_pair.EXISTS('OFFSETCCY') THEN
p_ty_rtupld.ty_upld_rtl_teller.ofs_ccy := p_tbl_name_val_pair('OFFSETCCY')
.typ_var_value;
END IF;
dbg('[ofs_ccy]=>' || p_ty_rtupld.ty_upld_rtl_teller.ofs_ccy);

IF p_tbl_name_val_pair.EXISTS('OFFSETAMT') THEN
p_ty_rtupld.ty_upld_rtl_teller.ofs_amount :=
to_number(p_tbl_name_val_pair('OFFSETAMT')
.typ_var_value);
END IF;
dbg('[ofs_amount]=>' || p_ty_rtupld.ty_upld_rtl_teller.ofs_amount);

IF p_tbl_name_val_pair.EXISTS('OFFSETBRN') THEN
p_ty_rtupld.ty_upld_rtl_teller.ofs_branch :=
p_tbl_name_val_pair('OFFSETBRN')
.typ_var_value;
END IF;
dbg('[ofs_branch]=>' || p_ty_rtupld.ty_upld_rtl_teller.ofs_branch);

IF p_tbl_name_val_pair.EXISTS('XRATE') THEN
p_ty_rtupld.ty_upld_rtl_teller.exch_rate :=
to_number(p_tbl_name_val_pair('XRATE')
.typ_var_value);
END IF;
dbg('[exch_rate]=>' || p_ty_rtupld.ty_upld_rtl_teller.exch_rate);

IF p_tbl_name_val_pair.EXISTS('LCYAMT') THEN
p_ty_rtupld.ty_upld_rtl_teller.lcy_amount := p_tbl_name_val_pair('LCYAMT')
.typ_var_value;
END IF;
dbg('[lcy_amount]=>' || p_ty_rtupld.ty_upld_rtl_teller.lcy_amount);

IF p_tbl_name_val_pair.EXISTS('TXNDATE') THEN
p_ty_rtupld.ty_upld_rtl_teller.trn_dt :=
to_date(p_tbl_name_val_pair('TXNDATE')
.typ_var_value,
p_dtf);
END IF;
dbg('[trn_dt]=>' || p_ty_rtupld.ty_upld_rtl_teller.trn_dt);
--tempfix
if p_ty_rtupld.ty_upld_rtl_teller.trn_dt is NULL then
p_ty_rtupld.ty_upld_rtl_teller.trn_dt := global.application_date;
end if;

IF p_tbl_name_val_pair.EXISTS('VALDATE') THEN
p_ty_rtupld.ty_upld_rtl_teller.value_dt :=
to_date(p_tbl_name_val_pair('VALDATE')
.typ_var_value,
p_dtf);
END IF;
dbg('[value_dt]=>' || p_ty_rtupld.ty_upld_rtl_teller.value_dt);

IF p_tbl_name_val_pair.EXISTS('DRINSTCD') THEN
p_ty_rtupld.ty_upld_rtl_teller.dr_instrument_code :=
p_tbl_name_val_pair('DRINSTCD')
.typ_var_value;
END IF;
dbg('[dr_instrument_code]=>' ||
p_ty_rtupld.ty_upld_rtl_teller.dr_instrument_code);
--fcubs11.2 it1 sfr 727
g_instr_code := p_ty_rtupld.ty_upld_rtl_teller.dr_instrument_code;
dbg('[g_instr_code]=>' || g_instr_code);
--fcubs11.2 it1 sfr 727
IF p_tbl_name_val_pair.EXISTS('CRINSTCD') THEN
p_ty_rtupld.ty_upld_rtl_teller.cr_instrument_code :=
p_tbl_name_val_pair('CRINSTCD')
.typ_var_value;
END IF;
dbg('[cr_instrument_code]=>' ||
p_ty_rtupld.ty_upld_rtl_teller.cr_instrument_code);

IF p_tbl_name_val_pair.EXISTS('RELCUST') THEN
p_ty_rtupld.ty_upld_rtl_teller.rel_customer :=
p_tbl_name_val_pair('RELCUST')
.typ_var_value;
END IF;
dbg('[rel_customer]=>' ||
p_ty_rtupld.ty_upld_rtl_teller.rel_customer);

IF p_tbl_name_val_pair.EXISTS('CHRACC') THEN
p_ty_rtupld.ty_upld_rtl_teller.charge_account :=
p_tbl_name_val_pair('CHRACC')
.typ_var_value;
END IF;
dbg('[charge_account]=>' ||
p_ty_rtupld.ty_upld_rtl_teller.charge_account);
IF p_tbl_name_val_pair.EXISTS('NARRATIVE') THEN
p_ty_rtupld.ty_upld_rtl_teller.NARRATIVE :=
p_tbl_name_val_pair('NARRATIVE')
.typ_var_value;
END IF;
dbg('[narrative]=>' || p_ty_rtupld.ty_upld_rtl_teller.NARRATIVE);

IF p_tbl_name_val_pair.EXISTS('ROUTECODE') THEN
p_ty_rtupld.ty_upld_rtl_teller.ROUTE_CODE :=
p_tbl_name_val_pair('ROUTECODE')
.typ_var_value;
END IF;
dbg('[route_code]=>' || p_ty_rtupld.ty_upld_rtl_teller.ROUTE_CODE);
--fcubs11.2 stale cheque validation starts
IF p_tbl_name_val_pair.EXISTS('CHEQUE_ISSUE_DATE') THEN
p_ty_rtupld.ty_upld_rtl_teller.CHEQUE_ISSUE_DATE :=
to_date(p_tbl_name_val_pair('CHEQUE_ISSUE_DATE')
.typ_var_value,
p_dtf);
END IF;
dbg('[CHEQUEISSUEDATE]=>' ||
p_ty_rtupld.ty_upld_rtl_teller.CHEQUE_ISSUE_DATE);
--fcubs11.2 stale cheque validation ends

--FCUBS11.2 ITR1 SFR#504 changes starts


dbg('[REJECT_CODE]=>' || p_ty_rtupld.ty_upld_rtl_teller.ROUTE_CODE);
IF p_tbl_name_val_pair.EXISTS('REJECT_CODE') THEN
p_ty_rtupld.ty_upld_rtl_teller.REJECT_CODE :=
p_tbl_name_val_pair('REJECT_CODE')
.typ_var_value;
END IF;
dbg('[REJECT_CODE]=>' || p_ty_rtupld.ty_upld_rtl_teller.REJECT_CODE);

--FCUBS11.2 ITR1 SFR#504 changes ends

--FCUBS 10.5 SFR 3786 CHANGES STARTS

IF p_tbl_name_val_pair.EXISTS('INSTRDATE') --FCUBS 11.0 SFR 814


THEN
p_ty_rtupld.ty_upld_rtl_teller.INSTR_DATE :=
to_date(p_tbl_name_val_pair('INSTRDATE')
.typ_var_value,
p_dtf);
END IF;
dbg('[INSTR_DATE]=>' || p_ty_rtupld.ty_upld_rtl_teller.INSTR_DATE);

--FCUBS 10.5 CHANGES ENDS

--11.1 CHANGES STARTS THIS IS DONE TO CARRY THE REJECTFLAG ALONG WITH XML AS
HIDDEN FIELD

IF p_tbl_name_val_pair.EXISTS('REJECTFLAG') --FCUBS 11.0 SFR 814


THEN
GWPKS_UTIL.G_REJECTFLAG := p_tbl_name_val_pair('REJECTFLAG')
.typ_var_value;
END IF;
dbg('GWPKS_UTIL.G_REJECTFLAG =>' || GWPKS_UTIL.G_REJECTFLAG);

--3-10841486111 change starts


IF (p_ty_rtupld.ty_upld_rtl_teller.REJECT_CODE IS NOT NULL) THEN
GWPKS_UTIL.G_REJECTFLAG := 'Y';
END IF;
--3-10841486111 change ends
--11.1 CHANGES ENDS

--FCUBS 11.1 Negotiated Rate Changes Starts


IF p_tbl_name_val_pair.EXISTS('NEGOTRATE') THEN
p_ty_rtupld.ty_upld_rtl_teller.negotiated_rate :=
p_tbl_name_val_pair('NEGOTRATE')
.typ_var_value;
END IF;
dbg('[negotiated_rate]=>' ||
p_ty_rtupld.ty_upld_rtl_teller.negotiated_rate);

IF p_tbl_name_val_pair.EXISTS('NEGOTREFNO') THEN
p_ty_rtupld.ty_upld_rtl_teller.negotiation_ref_no :=
p_tbl_name_val_pair('NEGOTREFNO')
.typ_var_value;
END IF;
dbg('[negotiation_ref_no]=>' ||
p_ty_rtupld.ty_upld_rtl_teller.negotiation_ref_no);
--FCUBS 11.1 Negotiated Rate Changes Ends

--FCUBS 11.2 Cash till Changes Starts


dbg('>> g offset till or totill before 1:: ');
IF p_tbl_name_val_pair.EXISTS('TOTIL') THEN
dbg('>> g offset till or totill before 2:: ');
gwpks_util.G_OFFSET_TILL := p_tbl_name_val_pair('TOTIL')
.typ_var_value;
dbg('>> g offset till or totill :: ' || gwpks_util.G_OFFSET_TILL);
END IF;
--FCUBS 11.2 Cash till Changes Ends

--Parul changes starts


IF p_tbl_name_val_pair.EXISTS('DRVIRACCNO') THEN
Depks_RetailTellerUpload.g_drviraccno := p_tbl_name_val_pair('DRVIRACCNO')
.typ_var_value;
END IF;
dbg('[Depks_RetailTellerUpload.g_drviraccno]=>' ||
Depks_RetailTellerUpload.g_drviraccno);
--Parul changes ends

-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release Start


IF Cspks_Req_Global.g_Release_Type in
(Cspks_Req_Global.p_Cluster, Cspks_Req_Global.p_Custom) THEN
l_tbl_cluster_data := l_tbl_cluster_data_empty;
l_fn_call_id := 1;
dbg('Calling Gwpks_CreateRetailTlr_cluster.fn_pop_plsql_tbl');
IF NOT
gwpks_createretailtlr_cluster.fn_pop_plsql_tbl(p_node_name,
p_dtf,
p_tbl_name_val_pair,
p_ty_rtupld,
p_err_code,
p_err_param,
l_fn_call_id,
l_tbl_cluster_data) THEN
dbg('Failed in Gwpks_CreateRetailTlr_custom.fn_pop_plsql_tbl -->' ||
SQLERRM);
RETURN FALSE;
END IF;
END IF;
-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release End
-- END IF;
--- 9NT1620_1203_IPTBCIDR_18481473 Starts
/* IF l_tbl_cluster_data.EXISTS('DEALCODE') THEN
p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD49:=
l_tbl_cluster_data('DEALCODE');
dbg('p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD49:'||
p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD49);
END IF;
IF l_tbl_cluster_data.EXISTS('CARD_TRANSACTION') THEN
p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD52:=
l_tbl_cluster_data('CARD_TRANSACTION');
dbg('p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD52:'||
p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD52);
END IF;

IF l_tbl_cluster_data.EXISTS('CUSTNO') THEN
p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD80:=
l_tbl_cluster_data('CUSTNO');
dbg('p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD80:'||
p_ty_rtupld.ty_cstbs_ui_columns.CHAR_FIELD80);
END IF;*/
-- 9NT1620_1203_IPTBCIDR_18481473 Ends
-- END IF;
--9NT1525_1202_IALIZZ_17421599 Ends
-- 1203_ITR1_18325754 starts
/*IF p_tbl_name_val_pair.EXISTS('DENOM_VARIANCE') THEN
depks_retailtellerupload.g_denom_variance :=
p_tbl_name_val_pair('DENOM_VARIANCE').typ_var_value;
END IF;
dbg('[DENOM_VARIANCE]=>' || depks_retailtellerupload.g_denom_variance);*/
-- 1203_ITR1_18325754 ends

--FCUBS_11.0.2_$BOMLAE_Virtual_Accounts changes starts


/*IF p_tbl_name_val_pair.EXISTS('VIRACCNO')
THEN
dbg('p_tbl_name_val_pair(VIRACCNO).typ_var_value before'||
p_tbl_name_val_pair('VIRACCNO').typ_var_value);
Depks_RetailTellerUpload.g_viraccno := p_tbl_name_val_pair('VIRACCNO')
.typ_var_v
alue;
dbg('[VIRACCNO]=>' || p_ty_rtupld.ty_upld_rtl_teller.rel_customer );
p_ty_rtupld.
END IF;*/
--FCUBS_11.0.2_$BOMLAE_Virtual_Accounts changes ends
--Charge details population
ELSIF p_node_name = 'Charge-Details' THEN
dbg('Populating Charge-Details...');
l_chg_cnt := p_ty_rtupld.tbl_chgdets.COUNT + 1;

IF p_tbl_name_val_pair.EXISTS('CHGCOMP') THEN
p_ty_rtupld.tbl_chgdets(l_chg_cnt).cod_chg_desc :=
p_tbl_name_val_pair('CHGCOMP')
.typ_var_value;
END IF;
dbg('[cod_chg_desc]=>' || p_ty_rtupld.tbl_chgdets(l_chg_cnt)
.cod_chg_desc);

IF p_tbl_name_val_pair.EXISTS('WAIVER') THEN
p_ty_rtupld.tbl_chgdets(l_chg_cnt).WAIVER := p_tbl_name_val_pair('WAIVER')
.typ_var_value;
END IF;
dbg('[WAIVER]=>' || p_ty_rtupld.tbl_chgdets(l_chg_cnt).WAIVER);
IF p_tbl_name_val_pair.EXISTS('CHGAMT') THEN
p_ty_rtupld.tbl_chgdets(l_chg_cnt).chg_amt := p_tbl_name_val_pair('CHGAMT')
.typ_var_value;
END IF;
dbg('[chg_amt]=>' || p_ty_rtupld.tbl_chgdets(l_chg_cnt).chg_amt);

IF p_tbl_name_val_pair.EXISTS('CHGCCY') THEN
p_ty_rtupld.tbl_chgdets(l_chg_cnt).cod_chg_ccy :=
p_tbl_name_val_pair('CHGCCY')
.typ_var_value;
END IF;
dbg('[cod_chg_ccy]=>' || p_ty_rtupld.tbl_chgdets(l_chg_cnt)
.cod_chg_ccy);

IF p_tbl_name_val_pair.EXISTS('MISHEAD') THEN
p_ty_rtupld.tbl_chgdets(l_chg_cnt).mis_head :=
p_tbl_name_val_pair('MISHEAD')
.typ_var_value;
END IF;
dbg('[mis_head]=>' || p_ty_rtupld.tbl_chgdets(l_chg_cnt).mis_head);

IF p_tbl_name_val_pair.EXISTS('TXNCODE') THEN
p_ty_rtupld.tbl_chgdets(l_chg_cnt).txn_code :=
p_tbl_name_val_pair('TXNCODE')
.typ_var_value;
END IF;
dbg('[txn_code]=>' || p_ty_rtupld.tbl_chgdets(l_chg_cnt).txn_code);

IF p_tbl_name_val_pair.EXISTS('NTTINGIND') THEN
p_ty_rtupld.tbl_chgdets(l_chg_cnt).netting_ind :=
p_tbl_name_val_pair('NTTINGIND')
.typ_var_value;
END IF;
dbg('[netting_ind]=>' || p_ty_rtupld.tbl_chgdets(l_chg_cnt)
.netting_ind);

IF p_tbl_name_val_pair.EXISTS('CHGGL') THEN
p_ty_rtupld.tbl_chgdets(l_chg_cnt).chg_gl := p_tbl_name_val_pair('CHGGL')
.typ_var_value;
END IF;
dbg('[chg_gl]=>' || p_ty_rtupld.tbl_chgdets(l_chg_cnt).chg_gl);

--Message details population


ELSIF p_node_name IN ('Message-Details') then

/* IF p_tbl_name_val_pair.EXISTS('TYPE')
THEN
p_ty_rtupld.ty_msgdets .ty_cstb_arc_settle.TRANSFER_TYPE :=
p_tbl_name_val_pair('TYPE')
.typ_var_value;
END IF;
dbg('[TRANSFER_TYPE]=>' ||
p_ty_rtupld.ty_msgdets .ty_cstb_arc_settle.TRANSFER_TYPE); */
IF p_tbl_name_val_pair.EXISTS('TYPE') THEN
p_ty_rtupld.ty_msgdets.TRANSFER_TYPE := p_tbl_name_val_pair('TYPE')
.typ_var_value;
END IF;
dbg('[TRANSFER_TYPE]=>' || p_ty_rtupld.ty_msgdets.TRANSFER_TYPE);
IF p_tbl_name_val_pair.EXISTS('OPERCD') THEN
p_ty_rtupld.ty_msgdets.BANK_OPER_CODE := p_tbl_name_val_pair('OPERCD')
.typ_var_value;
END IF;
dbg('[BANK_OPER_CODE]=>' || p_ty_rtupld.ty_msgdets.BANK_OPER_CODE);
IF p_tbl_name_val_pair.EXISTS('INSTRCD') THEN
p_ty_rtupld.ty_msgdets .INSTR_CODE := p_tbl_name_val_pair('INSTRCD')
.typ_var_value;
END IF;
dbg('[INSTR_CODE]=>' || p_ty_rtupld.ty_msgdets.INSTR_CODE);
IF p_tbl_name_val_pair.EXISTS('TXNCD') THEN
p_ty_rtupld.ty_msgdets .TRAN_TYPE_CODE := p_tbl_name_val_pair('TXNCD')
.typ_var_value;
END IF;
dbg('[TRAN_TYPE_CODE]=>' || p_ty_rtupld.ty_msgdets.TRAN_TYPE_CODE);
IF p_tbl_name_val_pair.EXISTS('VDATECR') THEN
p_ty_rtupld.ty_msgdets .CR_VALUE_DT :=
to_date(p_tbl_name_val_pair('VDATECR')
.typ_var_value,
p_dtf);
END IF;
dbg('[CR_VALUE_DT]=>' || p_ty_rtupld.ty_msgdets.CR_VALUE_DT);
IF p_tbl_name_val_pair.EXISTS('ORDCUST1') THEN
p_ty_rtupld.ty_msgdets .ORDERING_CUSTOMER1 :=
p_tbl_name_val_pair('ORDCUST1')
.typ_var_value;
END IF;
dbg('[ORDERING_CUSTOMER1]=>' || p_ty_rtupld.ty_msgdets .
ORDERING_CUSTOMER1);
IF p_tbl_name_val_pair.EXISTS('ORDCUST2') THEN
p_ty_rtupld.ty_msgdets .ORDERING_CUSTOMER2 :=
p_tbl_name_val_pair('ORDCUST2')
.typ_var_value;
END IF;
dbg('[ORDERING_CUSTOMER2]=>' || p_ty_rtupld.ty_msgdets .
ORDERING_CUSTOMER2);
IF p_tbl_name_val_pair.EXISTS('ORDCUST3') THEN
p_ty_rtupld.ty_msgdets .ORDERING_CUSTOMER3 :=
p_tbl_name_val_pair('ORDCUST3')
.typ_var_value;
END IF;
dbg('[ORDERING_CUSTOMER3]=>' || p_ty_rtupld.ty_msgdets .
ORDERING_CUSTOMER3);
IF p_tbl_name_val_pair.EXISTS('ORDCUST4') THEN
p_ty_rtupld.ty_msgdets .ORDERING_CUSTOMER4 :=
p_tbl_name_val_pair('ORDCUST4')
.typ_var_value;
END IF;
dbg('[ORDERING_CUSTOMER4]=>' || p_ty_rtupld.ty_msgdets .
ORDERING_CUSTOMER4);
IF p_tbl_name_val_pair.EXISTS('ORDCUST5') THEN
p_ty_rtupld.ty_msgdets .ORDERING_CUSTOMER5 :=
p_tbl_name_val_pair('ORDCUST5')
.typ_var_value;
END IF;
dbg('[ORDERING_CUSTOMER5]=>' || p_ty_rtupld.ty_msgdets .
ORDERING_CUSTOMER5);
IF p_tbl_name_val_pair.EXISTS('RECEIVER') THEN
p_ty_rtupld.ty_msgdets .RECEIVER := p_tbl_name_val_pair('RECEIVER')
.typ_var_value;
END IF;
dbg('[RECEIVER]=>' || p_ty_rtupld.ty_msgdets . RECEIVER);
IF p_tbl_name_val_pair.EXISTS('PAYDET1') THEN
p_ty_rtupld.ty_msgdets .PAYMENT_DETAILS1 := p_tbl_name_val_pair('PAYDET1')
.typ_var_value;
END IF;
dbg('[PAYMENT_DETAILS1]=>' || p_ty_rtupld.ty_msgdets .
PAYMENT_DETAILS1);
IF p_tbl_name_val_pair.EXISTS('PAYDET2') THEN
p_ty_rtupld.ty_msgdets .PAYMENT_DETAILS2 := p_tbl_name_val_pair('PAYDET2')
.typ_var_value;
END IF;
dbg('[PAYMENT_DETAILS2]=>' || p_ty_rtupld.ty_msgdets .
PAYMENT_DETAILS2);
IF p_tbl_name_val_pair.EXISTS('PAYDET3') THEN
p_ty_rtupld.ty_msgdets .PAYMENT_DETAILS3 := p_tbl_name_val_pair('PAYDET3')
.typ_var_value;
END IF;
dbg('[PAYMENT_DETAILS3]=>' || p_ty_rtupld.ty_msgdets .
PAYMENT_DETAILS3);
IF p_tbl_name_val_pair.EXISTS('PAYDET4') THEN
p_ty_rtupld.ty_msgdets .PAYMENT_DETAILS4 := p_tbl_name_val_pair('PAYDET4')
.typ_var_value;
END IF;
dbg('[PAYMENT_DETAILS4]=>' || p_ty_rtupld.ty_msgdets .
PAYMENT_DETAILS4);
IF p_tbl_name_val_pair.EXISTS('SRI1') THEN
p_ty_rtupld.ty_msgdets .SNDR_TO_RCVR_INFO1 := p_tbl_name_val_pair('SRI1')
.typ_var_value;
END IF;
dbg('[SNDR_TO_RCVR_INFO1]=>' || p_ty_rtupld.ty_msgdets .
SNDR_TO_RCVR_INFO1);
IF p_tbl_name_val_pair.EXISTS('SRI2') THEN
p_ty_rtupld.ty_msgdets .SNDR_TO_RCVR_INFO2 := p_tbl_name_val_pair('SRI2')
.typ_var_value;
END IF;
dbg('[SNDR_TO_RCVR_INFO2]=>' || p_ty_rtupld.ty_msgdets .
SNDR_TO_RCVR_INFO2);
IF p_tbl_name_val_pair.EXISTS('SRI3') THEN
p_ty_rtupld.ty_msgdets .SNDR_TO_RCVR_INFO3 := p_tbl_name_val_pair('SRI3')
.typ_var_value;
END IF;
dbg('[SNDR_TO_RCVR_INFO3]=>' || p_ty_rtupld.ty_msgdets .
SNDR_TO_RCVR_INFO3);
IF p_tbl_name_val_pair.EXISTS('SRI4') THEN
p_ty_rtupld.ty_msgdets .SNDR_TO_RCVR_INFO4 := p_tbl_name_val_pair('SRI4')
.typ_var_value;
END IF;
dbg('[SNDR_TO_RCVR_INFO4]=>' || p_ty_rtupld.ty_msgdets .
SNDR_TO_RCVR_INFO4);
IF p_tbl_name_val_pair.EXISTS('SRI5') THEN
p_ty_rtupld.ty_msgdets .SNDR_TO_RCVR_INFO5 := p_tbl_name_val_pair('SRI5')
.typ_var_value;
END IF;
dbg('[SNDR_TO_RCVR_INFO5]=>' || p_ty_rtupld.ty_msgdets .
SNDR_TO_RCVR_INFO5);
IF p_tbl_name_val_pair.EXISTS('SRI6') THEN
p_ty_rtupld.ty_msgdets .SNDR_TO_RCVR_INFO6 := p_tbl_name_val_pair('SRI6')
.typ_var_value;
END IF;
dbg('[SNDR_TO_RCVR_INFO6]=>' || p_ty_rtupld.ty_msgdets .
SNDR_TO_RCVR_INFO6);
IF p_tbl_name_val_pair.EXISTS('CHGDET') THEN
p_ty_rtupld.ty_msgdets .CHARGES_DETAILS := p_tbl_name_val_pair('CHGDET')
.typ_var_value;
END IF;
dbg('[CHARGES_DETAILS]=>' || p_ty_rtupld.ty_msgdets .
CHARGES_DETAILS);
IF p_tbl_name_val_pair.EXISTS('REGREP1') THEN
p_ty_rtupld.ty_msgdets .REGULATORY_REP1 := p_tbl_name_val_pair('REGREP1')
.typ_var_value;
END IF;
dbg('[REGULATORY_REP1]=>' || p_ty_rtupld.ty_msgdets .
REGULATORY_REP1);
IF p_tbl_name_val_pair.EXISTS('REGREP2') THEN
p_ty_rtupld.ty_msgdets .REGULATORY_REP2 := p_tbl_name_val_pair('REGREP2')
.typ_var_value;
END IF;
dbg('[REGULATORY_REP2]=>' || p_ty_rtupld.ty_msgdets .
REGULATORY_REP2);
IF p_tbl_name_val_pair.EXISTS('REGREP3') THEN
p_ty_rtupld.ty_msgdets .REGULATORY_REP3 := p_tbl_name_val_pair('REGREP3')
.typ_var_value;
END IF;
dbg('[REGULATORY_REP3]=>' || p_ty_rtupld.ty_msgdets .
REGULATORY_REP3);
IF p_tbl_name_val_pair.EXISTS('ECONT1') THEN
p_ty_rtupld.ty_msgdets .ENVELOPE_CONTENTS1 := p_tbl_name_val_pair('ECONT1')
.typ_var_value;
END IF;
dbg('[ENVELOPE_CONTENTS1]=>' || p_ty_rtupld.ty_msgdets .
ENVELOPE_CONTENTS1);
IF p_tbl_name_val_pair.EXISTS('ECONT2') THEN
p_ty_rtupld.ty_msgdets .ENVELOPE_CONTENTS2 := p_tbl_name_val_pair('ECONT2')
.typ_var_value;
END IF;
dbg('[ENVELOPE_CONTENTS2]=>' || p_ty_rtupld.ty_msgdets .
ENVELOPE_CONTENTS2);
IF p_tbl_name_val_pair.EXISTS('ECONT3') THEN
p_ty_rtupld.ty_msgdets .ENVELOPE_CONTENTS3 := p_tbl_name_val_pair('ECONT3')
.typ_var_value;
END IF;
dbg('[ENVELOPE_CONTENTS3]=>' || p_ty_rtupld.ty_msgdets .
ENVELOPE_CONTENTS3);
IF p_tbl_name_val_pair.EXISTS('ECONT4') THEN
p_ty_rtupld.ty_msgdets .ENVELOPE_CONTENTS4 := p_tbl_name_val_pair('ECONT4')
.typ_var_value;
END IF;
dbg('[ENVELOPE_CONTENTS4]=>' || p_ty_rtupld.ty_msgdets .
ENVELOPE_CONTENTS4);
IF p_tbl_name_val_pair.EXISTS('ECONT5') THEN
p_ty_rtupld.ty_msgdets .ENVELOPE_CONTENTS5 := p_tbl_name_val_pair('ECONT5')
.typ_var_value;
END IF;
dbg('[ENVELOPE_CONTENTS5]=>' || p_ty_rtupld.ty_msgdets .
ENVELOPE_CONTENTS5);
IF p_tbl_name_val_pair.EXISTS('VDATEDR') THEN
p_ty_rtupld.ty_msgdets .DR_VALUE_DT :=
to_date(p_tbl_name_val_pair('VDATEDR')
.typ_var_value,
p_dtf);
END IF;
dbg('[DR_VALUE_DT]=>' || p_ty_rtupld.ty_msgdets.DR_VALUE_DT);

ELSIF p_node_name IN ('Cheque-Details') THEN


/* IF p_tbl_name_val_pair.EXISTS('PAYBRN')
THEN p_ty_rtupld.ty_mckdetails.PAYABLE_BRANCH :=
p_tbl_name_val_pair('PAYBRN')
.typ_var_v
alue;
END IF;
dbg('[PAYABLE_BRANCH]=>' || p_ty_rtupld.ty_mckdetails.PAYABLE_BRANCH );*/ --
##????

IF p_tbl_name_val_pair.EXISTS('CHQNO') THEN
p_ty_rtupld.ty_mckdetails.INSTRUMENT_NO := p_tbl_name_val_pair('CHQNO')
.typ_var_value;
END IF;
dbg('[INSTRUMENT_NO]=>' || p_ty_rtupld.ty_mckdetails.INSTRUMENT_NO);

/* IF p_tbl_name_val_pair.EXISTS('EXPDT')
THEN p_ty_rtupld.ty_mckdetails.EXPIRY_DATE := p_tbl_name_val_pair('EXPDT')
.typ_var_v
alue;
END IF;
dbg('[EXPDT]=>' || p_ty_rtupld.ty_mckdetails.EXPIRY_DATE );*/ --##????

IF p_tbl_name_val_pair.EXISTS('BENFNAME') THEN
p_ty_rtupld.ty_mckdetails.ULT_BENEFICIARY1 :=
p_tbl_name_val_pair('BENFNAME')
.typ_var_value;
END IF;
dbg('[ULT_BENEFICIARY1]=>' ||
p_ty_rtupld.ty_mckdetails.ULT_BENEFICIARY1);

IF p_tbl_name_val_pair.EXISTS('BENFADDR1') THEN
p_ty_rtupld.ty_mckdetails.ULT_BENEFICIARY2 :=
p_tbl_name_val_pair('BENFADDR1')
.typ_var_value;
END IF;
dbg('[ULT_BENEFICIARY1]=>' ||
p_ty_rtupld.ty_mckdetails.ULT_BENEFICIARY2);

IF p_tbl_name_val_pair.EXISTS('BENFADDR2') THEN
p_ty_rtupld.ty_mckdetails.ULT_BENEFICIARY3 :=
p_tbl_name_val_pair('BENFADDR2')
.typ_var_value;
END IF;
dbg('[ULT_BENEFICIARY1]=>' ||
p_ty_rtupld.ty_mckdetails.ULT_BENEFICIARY3);

IF p_tbl_name_val_pair.EXISTS('BENFADDR3') THEN
p_ty_rtupld.ty_mckdetails.ULT_BENEFICIARY4 :=
p_tbl_name_val_pair('BENFADDR3')
.typ_var_value;
END IF;
dbg('[ULT_BENEFICIARY4]=>' ||
p_ty_rtupld.ty_mckdetails.ULT_BENEFICIARY4);

IF p_tbl_name_val_pair.EXISTS('BENFADDR4') THEN
p_ty_rtupld.ty_mckdetails.ULT_BENEFICIARY5 :=
p_tbl_name_val_pair('BENFADDR4')
.typ_var_value;
END IF;
dbg('[ULT_BENEFICIARY5]=>' ||
p_ty_rtupld.ty_mckdetails.ULT_BENEFICIARY5);

/*IF p_tbl_name_val_pair.EXISTS('ISB')
THEN p_ty_rtupld.ty_mckdetails.ISSUING_BANK := p_tbl_name_val_pair('ISB')
.typ_var_v
alue;
END IF;
dbg('[ISSUING_BANK]=>' || p_ty_rtupld.ty_mckdetails.ISSUING_BANK );*/ --
##????

IF p_tbl_name_val_pair.EXISTS('OTHERDETLS1') THEN
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS1 :=
p_tbl_name_val_pair('OTHERDETLS1')
.typ_var_value;
END IF;
dbg('[OTHER_DETAILS1]=>' || p_ty_rtupld.ty_mckdetails.OTHER_DETAILS1);

IF p_tbl_name_val_pair.EXISTS('OTHERDETLS2') THEN
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS2 :=
p_tbl_name_val_pair('OTHERDETLS2')
.typ_var_value;
END IF;
dbg('[OTHER_DETAILS2]=>' || p_ty_rtupld.ty_mckdetails.OTHER_DETAILS2);

IF p_tbl_name_val_pair.EXISTS('OTHERDETLS3') THEN
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS3 :=
p_tbl_name_val_pair('OTHERDETLS3')
.typ_var_value;
END IF;
dbg('[OTHER_DETAILS3]=>' || p_ty_rtupld.ty_mckdetails.OTHER_DETAILS3);

IF p_tbl_name_val_pair.EXISTS('OTHERDETLS4') THEN
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS4 :=
p_tbl_name_val_pair('OTHERDETLS4')
.typ_var_value;
END IF;
dbg('[OTHER_DETAILS4]=>' || p_ty_rtupld.ty_mckdetails.OTHER_DETAILS4);

IF p_tbl_name_val_pair.EXISTS('OTHERDETLS5') THEN
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS5 :=
p_tbl_name_val_pair('OTHERDETLS5')
.typ_var_value;
END IF;
dbg('[OTHER_DETAILS5]=>' || p_ty_rtupld.ty_mckdetails.OTHER_DETAILS5);

IF p_tbl_name_val_pair.EXISTS('OTHERDETLS6') THEN
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS6 :=
p_tbl_name_val_pair('OTHERDETLS6')
.typ_var_value;
END IF;
dbg('[OTHER_DETAILS6]=>' || p_ty_rtupld.ty_mckdetails.OTHER_DETAILS6);

IF p_tbl_name_val_pair.EXISTS('OTHERDETLSTYPE1') THEN
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS_TYPE1 :=
p_tbl_name_val_pair('OTHERDETLSTYPE1')
.typ_var_value;
END IF;
dbg('[OTHER_DETAILS_TYPE1]=>' ||
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS_TYPE1);

IF p_tbl_name_val_pair.EXISTS('OTHERDETLSTYPE2') THEN
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS_TYPE2 :=
p_tbl_name_val_pair('OTHERDETLSTYPE2')
.typ_var_value;
END IF;
dbg('[OTHER_DETAILS_TYPE2]=>' ||
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS_TYPE2);

IF p_tbl_name_val_pair.EXISTS('OTHERDETLSTYPE3') THEN
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS_TYPE3 :=
p_tbl_name_val_pair('OTHERDETLSTYPE3')
.typ_var_value;
END IF;
dbg('[OTHER_DETAILS_TYPE3]=>' ||
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS_TYPE3);

IF p_tbl_name_val_pair.EXISTS('OTHERDETLSTYPE4') THEN
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS_TYPE4 :=
p_tbl_name_val_pair('OTHERDETLSTYPE4')
.typ_var_value;
END IF;
dbg('[OTHER_DETAILS_TYPE4]=>' ||
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS_TYPE4);

IF p_tbl_name_val_pair.EXISTS('OTHERDETLSTYPE5') THEN
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS_TYPE5 :=
p_tbl_name_val_pair('OTHERDETLSTYPE5')
.typ_var_value;
END IF;
dbg('[OTHER_DETAILS_TYPE5]=>' ||
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS_TYPE5);

IF p_tbl_name_val_pair.EXISTS('OTHERDETLSTYPE6') THEN
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS_TYPE6 :=
p_tbl_name_val_pair('OTHERDETLSTYPE6')
.typ_var_value;
END IF;
dbg('[OTHER_DETAILS_TYPE6]=>' ||
p_ty_rtupld.ty_mckdetails.OTHER_DETAILS_TYPE6);

--FCUBS V.UM 11.0.0.0.0.0.0 - 9NT1316 - Lokesh M start


ELSIF p_node_name IN ('Balances') THEN
IF p_tbl_name_val_pair.EXISTS('ACCOUNT_NUMBER') THEN
l_account_number := p_tbl_name_val_pair('ACCOUNT_NUMBER')
.typ_var_value;

END IF;
dbg('[ACCOUNT_NUMBER]=>' || l_account_number);
--FCUBS V.UM 11.0.0.0.0.0.0 - 9NT1316 - Lokesh M end
--9NT1428-FCUBS 11.2 changes by surendra starts
dbg('Inside Project Details');
ELSIF p_node_name IN ('Project-Details') THEN

IF p_tbl_name_val_pair.EXISTS('PROJECTNAME') THEN
p_ty_rtupld.ty_upld_rtl_teller.PROJECT_NAME :=
p_tbl_name_val_pair('PROJECTNAME')
.typ_var_value;

END IF;
dbg('[PROJECT_NAME]=>' ||
p_ty_rtupld.ty_upld_rtl_teller.PROJECT_NAME);

IF p_tbl_name_val_pair.EXISTS('UNITPAYMENT') THEN
p_ty_rtupld.ty_upld_rtl_teller.UNIT_PAYMENT :=
p_tbl_name_val_pair('UNITPAYMENT')
.typ_var_value;

END IF;
dbg('[UNITPAYMENT]=>' || p_ty_rtupld.ty_upld_rtl_teller.UNIT_PAYMENT);

IF p_tbl_name_val_pair.EXISTS('UNITID') THEN
p_ty_rtupld.ty_upld_rtl_teller.UNIT_ID := p_tbl_name_val_pair('UNITID')
.typ_var_value;

END IF;
dbg('[UNIT_ID]=>' || p_ty_rtupld.ty_upld_rtl_teller.UNIT_ID);

IF p_tbl_name_val_pair.EXISTS('DEPOSITSLIPNO') THEN
p_ty_rtupld.ty_upld_rtl_teller.DEPOSIT_SLIP_NO :=
p_tbl_name_val_pair('DEPOSITSLIPNO')
.typ_var_value;

END IF;
dbg('[DEPOSIT_SLIP_NO]=>' ||
p_ty_rtupld.ty_upld_rtl_teller.DEPOSIT_SLIP_NO);
--9NT1428-FCUBS 11.2 changes by surendra ends
--11.1 WEB BRANCH CHANGES FOR SAFE DEPOSIT(3401) SCREEN STARTS

ELSIF p_node_name IN ('Safedeposit-Details') THEN


dbg('The node name has Safedeposit-Details');

IF p_tbl_name_val_pair.EXISTS('FCCREF') THEN
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.FCCREF :=
p_tbl_name_val_pair('FCCREF')
.typ_var_value;
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.FCCREF =>' ||
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.FCCREF);

IF p_tbl_name_val_pair.EXISTS('ESN') THEN
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.ESN :=
p_tbl_name_val_pair('ESN')
.typ_var_value;
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ESN =>' ||
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.ESN);
IF p_tbl_name_val_pair.EXISTS('CNTAMT') THEN
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CNTAMT :=
p_tbl_name_val_pair('CNTAMT')
.typ_var_value;
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CNTAMT =>' ||
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CNTAMT);

IF p_tbl_name_val_pair.EXISTS('CIFID') THEN
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CIFID :=
p_tbl_name_val_pair('CIFID')
.typ_var_value;
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CIFID =>' ||
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CIFID);

IF p_tbl_name_val_pair.EXISTS('CUST') THEN
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CUST :=
p_tbl_name_val_pair('CUST')
.typ_var_value;
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CUST =>' ||
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CUST);

IF p_tbl_name_val_pair.EXISTS('CNTCCY') THEN
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CNTCCY :=
p_tbl_name_val_pair('CNTCCY')
.typ_var_value;
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CNTCCY =>' ||
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CNTCCY);

IF p_tbl_name_val_pair.EXISTS('CURPMNT') THEN
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CURPMNT :=
p_tbl_name_val_pair('CURPMNT')
.typ_var_value;
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CURPMNT =>' ||
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.CURPMNT);

IF p_tbl_name_val_pair.EXISTS('TOTPMNT') THEN
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.TOTPMNT :=
p_tbl_name_val_pair('TOTPMNT')
.typ_var_value;
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ty_contract_pay.TOTPMNT =>' ||
p_ty_rtupld.ty_safedepodetails.ty_contract_pay.TOTPMNT);

IF p_tbl_name_val_pair.EXISTS('DUEDT') THEN
p_ty_rtupld.ty_safedepodetails.ty_pay_summary.DUEDT :=
to_date(p_tbl_name_val_pair('DUEDT')
.typ_var_val
ue,
p_dtf);

END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ty_pay_summary.DUEDT =>' ||
p_ty_rtupld.ty_safedepodetails.ty_pay_summary.DUEDT);
IF p_tbl_name_val_pair.EXISTS('NXTDUEDT') THEN
p_ty_rtupld.ty_safedepodetails.ty_pay_summary.NXTDUEDT :=
to_date(p_tbl_name_val_pair('NXTDUEDT')
.typ_var_
value,
p_dtf);
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ty_pay_summary.NXTDUEDT =>' ||
p_ty_rtupld.ty_safedepodetails.ty_pay_summary.NXTDUEDT);

IF p_tbl_name_val_pair.EXISTS('SETLCCY') THEN
p_ty_rtupld.ty_safedepodetails.ty_pay_summary.SETLCCY :=
p_tbl_name_val_pair('SETLCCY')
.typ_var_value;
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ty_pay_summary.SETLCCY =>' ||
p_ty_rtupld.ty_safedepodetails.ty_pay_summary.SETLCCY);

IF p_tbl_name_val_pair.EXISTS('SETLACC') THEN
p_ty_rtupld.ty_safedepodetails.ty_pay_summary.SETLACC :=
p_tbl_name_val_pair('SETLACC')
.typ_var_value;
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ty_pay_summary.SETLACC =>' ||
p_ty_rtupld.ty_safedepodetails.ty_pay_summary.SETLACC);

IF p_tbl_name_val_pair.EXISTS('SETLBRN') THEN
p_ty_rtupld.ty_safedepodetails.ty_pay_summary.SETLBRN :=
p_tbl_name_val_pair('SETLBRN')
.typ_var_value;
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ty_pay_summary.SETLBRN =>' ||
p_ty_rtupld.ty_safedepodetails.ty_pay_summary.SETLBRN);

IF p_tbl_name_val_pair.EXISTS('VALDT') THEN
p_ty_rtupld.ty_safedepodetails.ty_pay_summary.VALDT :=
to_date(p_tbl_name_val_pair('VALDT')
.typ_var_val
ue,
p_dtf);
END IF;
dbg('p_ty_rtupld.ty_safedepodetails.ty_pay_summary.VALDT =>' ||
p_ty_rtupld.ty_safedepodetails.ty_pay_summary.VALDT);

--11.1 WEB BRANCH CHANGES FOR SAFE DEPOSIT(3401) SCREEN ENDS

/* -- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release Start


ELSIF Cspks_Req_Global.g_Release_Type in
(Cspks_Req_Global.p_Cluster, Cspks_Req_Global.p_Custom) THEN
l_tbl_cluster_data := l_tbl_cluster_data_empty;
l_fn_call_id := 2;
dbg('Calling Gwpks_CreateRetailTlr_cluster.fn_pop_plsql_tbl');
IF NOT
gwpks_createretailtlr_cluster.fn_pop_plsql_tbl(p_node_name,
p_dtf,

p_tbl_name_val_pair,
p_ty_rtupld,
p_err_code,
p_err_param,
l_fn_call_id,
l_tbl_cluster_data)
THEN
dbg('Failed in Gwpks_CreateRetailTlr_custom.fn_pop_plsql_tbl -->' ||
SQLERRM);
RETURN FALSE;
END IF;
IF l_tbl_cluster_data.EXISTS('BENEF_ADDR4') THEN
p_ty_rtupld.ty_upld_rtl_teller.BENEF_ADDR4 :=
l_tbl_cluster_data('BENEF_ADDR4');
END IF;
-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release End

-- FCUBS_12.0.2.0.0_BANKAUDI_19142496 ends*/

--BOMLAE ITM Changes starts


--FCUBS_11.2.0.0.0$BOMLAE_R33_Central Bank Changes in ITM Cheque Withdrawal
Screen starts
ELSIF p_node_name IN ('Main') THEN
dbg('finally it comes here--');
IF p_tbl_name_val_pair.EXISTS('ITM_REF_NO') THEN
p_ty_rtupld.ty_itm_cust.ITM_REF_NO := p_tbl_name_val_pair('ITM_REF_NO')
.typ_var_value;

END IF;
dbg('[ITM_REF_NO]=>' || p_ty_rtupld.ty_itm_cust.ITM_REF_NO);

IF p_tbl_name_val_pair.EXISTS('ID_TYPE') THEN
p_ty_rtupld.ty_itm_cust.ID_TYPE := p_tbl_name_val_pair('ID_TYPE')
.typ_var_value;
DEPKS_RETAILTELLERUPLOAD.G_ITM3_ID_TYPE := P_TBL_NAME_VAL_PAIR('ID_TYPE')
.TYP_VAR_VALUE;

END IF;
dbg('[ID_TYPE]=>' || p_ty_rtupld.ty_itm_cust.ID_TYPE);

IF p_tbl_name_val_pair.EXISTS('EMIRATES_ID') THEN
p_ty_rtupld.ty_itm_cust.EMIRATES_ID :=
p_tbl_name_val_pair('EMIRATES_ID')
.typ_var_value;
DEPKS_RETAILTELLERUPLOAD.G_ITM3_ID_VALUE :=
P_TBL_NAME_VAL_PAIR('EMIRATES_ID')
.TYP_VAR_VALUE;

END IF;
dbg('[EMIRATES_ID]=>' || p_ty_rtupld.ty_itm_cust.EMIRATES_ID);

IF p_tbl_name_val_pair.EXISTS('PPT_NO') THEN
p_ty_rtupld.ty_itm_cust.PPT_NO := p_tbl_name_val_pair('PPT_NO')
.typ_var_value;

END IF;
dbg('[PPT_NO]=>' || p_ty_rtupld.ty_itm_cust.PPT_NO);

IF p_tbl_name_val_pair.EXISTS('RES_CNT') THEN
p_ty_rtupld.ty_itm_cust.RES_CNT := p_tbl_name_val_pair('RES_CNT')
.typ_var_value;
END IF;
dbg('[RES_CNT]=>' || p_ty_rtupld.ty_itm_cust.RES_CNT);

IF p_tbl_name_val_pair.EXISTS('NATIONALITY') THEN
p_ty_rtupld.ty_itm_cust.NATIONALITY :=
p_tbl_name_val_pair('NATIONALITY')
.typ_var_value;
DEPKS_RETAILTELLERUPLOAD.G_ITM3_NATIONALITY :=
P_TBL_NAME_VAL_PAIR('NATIONALITY')
.TYP_VAR_VALUE;
END IF;
dbg('[NATIONALITY]=>' || p_ty_rtupld.ty_itm_cust.NATIONALITY);

IF p_tbl_name_val_pair.EXISTS('EID_NO') THEN
p_ty_rtupld.ty_itm_cust.EID_NO := p_tbl_name_val_pair('EID_NO')
.typ_var_value;

END IF;
dbg('[EID_NO]=>' || p_ty_rtupld.ty_itm_cust.EID_NO);

IF p_tbl_name_val_pair.EXISTS('CONTACT_NO') THEN
p_ty_rtupld.ty_itm_cust.CONTACT_NO := p_tbl_name_val_pair('CONTACT_NO')
.typ_var_value;

END IF;
dbg('[CONTACT_NO]=>' || p_ty_rtupld.ty_itm_cust.CONTACT_NO);

IF p_tbl_name_val_pair.EXISTS('CUST_COPY') THEN
p_ty_rtupld.ty_itm_cust.CUST_COPY := p_tbl_name_val_pair('CUST_COPY')
.typ_var_value;

END IF;
dbg('[CUST_COPY]=>' || p_ty_rtupld.ty_itm_cust.CUST_COPY);

IF P_TBL_NAME_VAL_PAIR.exists('CUST_TYPE') THEN
p_ty_rtupld.ty_itm_cust.CUST_TYPE :=
p_tbl_name_val_pair('CUST_TYPE')
.typ_var_value;
DEPKS_RETAILTELLERUPLOAD.G_ITM3_CUST_TYPE :=
P_TBL_NAME_VAL_PAIR('CUST_TYPE')
.TYP_VAR_VALUE;
END IF;
dbg('[CUST_TYPE]=>' || p_ty_rtupld.ty_itm_cust.CUST_TYPE);

IF P_TBL_NAME_VAL_PAIR.exists('ACC_NO') THEN
p_ty_rtupld.ty_itm_cust.ACC_NO := p_tbl_name_val_pair('ACC_NO')
.typ_var_value;
DEPKS_RETAILTELLERUPLOAD.G_ITM3_ACCOUNT_NO := P_TBL_NAME_VAL_PAIR('ACC_NO')
.TYP_VAR_VALUE;
END IF;
dbg('[ACC_NO]=>' || p_ty_rtupld.ty_itm_cust.ACC_NO);
--FCUBS_11.2.0.0.0$BOMLAE_R33_Central Bank Changes in ITM Cheque Withdrawal
Screen ends
--BOMLAE ITM Changes ends

--FCUBS_11.2.0.0.0$BOMLAE_Customer_Choreography_Financial_Transactions start
ELSIF p_node_name IN ('Eida-Details') THEN
dbg('In IF for EIDA');
IF P_TBL_NAME_VAL_PAIR.exists('UPLOAD_REF_NO') THEN
DBG('RT',
'UPLOAD_REF_NO -->' || P_TBL_NAME_VAL_PAIR('UPLOAD_REF_NO')
.TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_UPD_REF := P_TBL_NAME_VAL_PAIR('UPLOAD_REF_NO')
.TYP_VAR_VALUE;
END IF;
IF P_TBL_NAME_VAL_PAIR.exists('OTP_TEXT') THEN
DBG('RT',
'OTP_TEXT -->' || P_TBL_NAME_VAL_PAIR('OTP_TEXT').TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_OTP_TXT := P_TBL_NAME_VAL_PAIR('OTP_TEXT')
.TYP_VAR_VALUE;
END IF;
IF P_TBL_NAME_VAL_PAIR.exists('SEND_OTP_TO') THEN
DBG('RT',
'SEND_OTP_TO -->' || P_TBL_NAME_VAL_PAIR('SEND_OTP_TO')
.TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_SND_OTP := P_TBL_NAME_VAL_PAIR('SEND_OTP_TO')
.TYP_VAR_VALUE;
END IF;
IF P_TBL_NAME_VAL_PAIR.exists('SIGN_VERIFIED') THEN
DBG('RT',
'SIGN_VERIFIED -->' || P_TBL_NAME_VAL_PAIR('SIGN_VERIFIED')
.TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_SIG_VER := P_TBL_NAME_VAL_PAIR('SIGN_VERIFIED')
.TYP_VAR_VALUE;
END IF;
IF P_TBL_NAME_VAL_PAIR.exists('ORIGINAL_VERIFIED') THEN
DBG('RT',
'ORIGINAL_VERIFIED -->' ||
P_TBL_NAME_VAL_PAIR('ORIGINAL_VERIFIED').TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_ORG_VER :=
P_TBL_NAME_VAL_PAIR('ORIGINAL_VERIFIED')
.TYP_VAR_VALUE;
END IF;
IF P_TBL_NAME_VAL_PAIR.exists('DOC_REF_NO') THEN
DBG('RT',
'DOC_REF_NO -->' || P_TBL_NAME_VAL_PAIR('DOC_REF_NO')
.TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_DOC_REF := P_TBL_NAME_VAL_PAIR('DOC_REF_NO')
.TYP_VAR_VALUE;
END IF;
IF P_TBL_NAME_VAL_PAIR.exists('OTP_GEN') THEN
DBG('RT',
'OTP_GEN -->' || P_TBL_NAME_VAL_PAIR('OTP_GEN').TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_OTP_GEN := P_TBL_NAME_VAL_PAIR('OTP_GEN')
.TYP_VAR_VALUE;
-- END IF;
ELSIF P_TBL_NAME_VAL_PAIR.exists('OTP_GENERATED') THEN
DBG('RT',
'OTP_GENERATED -->' || P_TBL_NAME_VAL_PAIR('OTP_GENERATED')
.TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_OTP_GEN := P_TBL_NAME_VAL_PAIR('OTP_GENERATED')
.TYP_VAR_VALUE;
END IF;
--FCUBS_11.2.0.0.0$BOMLAE_Customer_Choreography_Financial_Transactions end

---AN-FCUBS_11 2_0_0_0$BOMLAE_R29_13057_OnUs cheque posting start


ELSIF p_node_name IN ('Tp-Details') THEN
dbg('In IF for TP');
DEPKS_RETAILTELLERUPLOAD.g_trn_ref_no :=
p_ty_rtupld.ty_upld_rtl_teller.trn_ref_no;
IF P_TBL_NAME_VAL_PAIR.exists('TP_ID_TYPE') THEN
DBG('RT',
'TP_ID_NAME -->' || P_TBL_NAME_VAL_PAIR('TP_ID_TYPE')
.TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_ID_TYPE := P_TBL_NAME_VAL_PAIR('TP_ID_TYPE')
.TYP_VAR_VALUE;
END IF;
IF P_TBL_NAME_VAL_PAIR.exists('TP_ID_VALUE') THEN
DBG('RT',
'TP_ID_VALUE -->' || P_TBL_NAME_VAL_PAIR('TP_ID_VALUE')
.TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_ID_VALUE := P_TBL_NAME_VAL_PAIR('TP_ID_VALUE')
.TYP_VAR_VALUE;
END IF;
IF P_TBL_NAME_VAL_PAIR.exists('TP_NATIONALITY') THEN
DBG('RT',
'TP_NATIONALITY -->' || P_TBL_NAME_VAL_PAIR('TP_NATIONALITY')
.TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_NATIONALITY :=
P_TBL_NAME_VAL_PAIR('TP_NATIONALITY')
.TYP_VAR_VALUE;
END IF;
IF P_TBL_NAME_VAL_PAIR.exists('TP_CUSTOMER_TYPE') THEN
DBG('RT',
'TP_CUSTOMER_TYPE -->' ||
P_TBL_NAME_VAL_PAIR('TP_CUSTOMER_TYPE').TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_CUST_TYPE :=
P_TBL_NAME_VAL_PAIR('TP_CUSTOMER_TYPE')
.TYP_VAR_VALUE;
END IF;
IF P_TBL_NAME_VAL_PAIR.exists('TP_ACCOUNT_NO') THEN
DBG('RT',
'TP_ACCOUNT_NO -->' || P_TBL_NAME_VAL_PAIR('TP_ACCOUNT_NO')
.TYP_VAR_VALUE);
DEPKS_RETAILTELLERUPLOAD.G_ACCOUNT_NO :=
P_TBL_NAME_VAL_PAIR('TP_ACCOUNT_NO')
.TYP_VAR_VALUE;
END IF;
--AN-FCUBS_11 2_0_0_0$BOMLAE_R29_13057_OnUs cheque posting end
END IF;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
dbg('In WOT of fn_pop_plsql_tbl ' || SQLERRM);
p_err_code := 'GW-ACC-100';
p_err_param := 'Type Conversion' || '~';
RETURN FALSE;
END fn_pop_plsql_tbl;
------------------------------------------------------------------------

/*----------------------------------------------------------------------------
Funciton/Procedure Description : This function builds the TS to type list for
for the PC details table (1405 screen)
*/
--------------------------------------------------------------------------------
--NEFT/RTGS CHANGES To capture PC Details 1405
FUNCTION fn_build_contract_pcdetails(pkey IN VARCHAR2,
pdata IN VARCHAR2,
p_tbl_pc_det IN OUT DETB_PCTRN%ROWTYPE,
p_err_code IN OUT VARCHAR2,
p_err_param IN OUT VARCHAR2)
RETURN BOOLEAN IS
j NUMBER := 1;
tlkey VARCHAR2(8000);
tldata VARCHAR2(8000);
BEGIN
dbg('PCDetails pkey is ' || pkey);
dbg('PCDetails pdata is ' || pdata);
tlkey := nvl(cspkes_misc.fn_getparam(pkey, j, '~'), '??');
WHILE tlkey <> 'EOPL' LOOP
tlkey := nvl(cspkes_misc.fn_getparam(pkey, j, '~'), '??');
tldata := cspkes_misc.fn_getparam(pdata, j, '~');
dbg('inside the fn : fn_build_contract_pcdetails');
dbg('tlkey is : ' || tlkey);
dbg('tldata is : ' || tldata);
/* IF tlkey = 'BRANCH'
THEN
p_tbl_pc_det.branch := tldata;
END IF;
IF tlkey = 'XREF'
THEN
p_tbl_pc_det.xref := tldata;
END IF;
IF tlkey = 'TRN_REF_NO'
THEN
p_tbl_pc_det.trn_ref_no := tldata;
END IF;*/
IF tlkey = 'CUST_NAME' THEN
p_tbl_pc_det.cust_name := tldata;
END IF;
IF tlkey = 'CUST_ADDR1' THEN
p_tbl_pc_det.cust_addr1 := tldata;
END IF;
IF tlkey = 'CUST_ADDR2' THEN
p_tbl_pc_det.cust_addr2 := tldata;
END IF;
IF tlkey = 'CUST_ADDR3' THEN
p_tbl_pc_det.cust_addr3 := tldata;
END IF;
IF tlkey = 'PC_BANK_CODE' THEN
p_tbl_pc_det.pc_bank_code := tldata;
END IF;
IF tlkey = 'PC_ACCOUNT_NO' THEN
p_tbl_pc_det.pc_account_no := tldata;
END IF;
IF tlkey = 'PC_PROD_CAT' THEN
p_tbl_pc_det.pc_prod_cat := tldata;
END IF;
IF tlkey = 'PC_NETWORK_ID' THEN
p_tbl_pc_det.pc_network_id := tldata;
END IF;

IF tlkey = 'BEN_ACCT_TYPE' THEN


dbg('tlkey is ::: ' || tlkey);
dbg('tldata is ::: ' || tldata);
p_tbl_pc_det.ben_acct_type := tldata;
END IF;
IF tlkey = 'BEN_NAME' THEN
p_tbl_pc_det.ben_Name := tldata;
END IF;
IF tlkey = 'BEN_ADDR1' THEN
p_tbl_pc_det.ben_addr1 := tldata;
END IF;
IF tlkey = 'BEN_ADDR2' THEN
p_tbl_pc_det.ben_addr2 := tldata;
END IF;
IF tlkey = 'BEN_ADDR3' THEN
p_tbl_pc_det.ben_addr3 := tldata;
END IF;
IF tlkey = 'SENDER_RECVR_INFO1 ' THEN
p_tbl_pc_det.sender_recvr_info1 := tldata;
END IF;
IF tlkey = 'SENDER_RECVR_INFO2' THEN
p_tbl_pc_det.sender_recvr_info2 := tldata;
END IF;
IF tlkey = 'SENDER_RECVR_INFO3' THEN
p_tbl_pc_det.sender_recvr_info3 := tldata;
END IF;
IF tlkey = 'COMM_MODE' THEN
p_tbl_pc_det.comm_mode := tldata;
END IF;
---FCUBS11.2 SFR399 ITR2 Startz
/*IF tlkey = 'MOBILENO_EMAILID'
THEN
p_tbl_pc_det.mobileno_emailid := tldata;
END IF;*/
IF p_tbl_pc_det.comm_mode = 'M' THEN
IF tlkey = 'MOBILE_NUMBER' THEN
p_tbl_pc_det.mobileno_emailid := tldata;
END IF;
ELSE
IF tlkey = 'EMAIL_ID' THEN
p_tbl_pc_det.mobileno_emailid := tldata;
END IF;
END IF;
--FCUBS11.2 SFR399 ITR2 Endz
/*IF tlkey = 'EMAIL_ID'
THEN
p_tbl_pc_det.email_id := tldata;
END IF;*/

dbg('SENT PCDETAILS GROUP IS ' || tlkey || ' ~ ' || tldata);

j := j + 1;
END LOOP;
RETURN TRUE;
dbg('fn_build_contract_pcdetails: About to return TRUE');
dbg('Returned Successfully from the Function fn_build_contract_pcdetails');
EXCEPTION
WHEN OTHERS THEN
dbg(SQLCODE || '~' || SQLERRM);
p_err_code := 'GW-SUBSYS01';
p_err_param := 'fn_build_contract_pcdetails-' || SQLCODE;
RETURN FALSE;
END fn_build_contract_pcdetails;
--NEFT/RTGS CHANGES To capture PC Details 1405

FUNCTION fn_ts_to_type(p_nodes_list IN VARCHAR2,


p_ts_tag_names IN VARCHAR2,
p_ts_tag_values IN VARCHAR2,
p_ts_clob_tag_names IN CLOB --SFR 32
,
p_ts_clob_tag_values IN CLOB --SFR 32
,
p_is_in_msg_clob IN VARCHAR2 -- SFR 32
,
p_ty_rtupld IN OUT
Depks_RetailTellerUpload.typ_retailTellerUpld_rec,
p_dtf IN VARCHAR2,
p_err_code IN OUT VARCHAR2,
p_err_param IN OUT VARCHAR2) RETURN BOOLEAN IS

l_tb_empty_tbl ty_recs_tbl;
l_tb_name_val_pair ty_recs_tbl;

l_ts_tag_values VARCHAR2(32767);
l_ts_tag_names VARCHAR2(32767);
l_node_name VARCHAR2(50);
l_curr_tag VARCHAR2(255);
l_p_cnt INTEGER;
l_cnt INTEGER;

-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release Start


l_Tb_Cluster_Data Global.Ty_Tb_Cluster_Data;
l_Tb_Cluster_Data_Empty Global.Ty_Tb_Cluster_Data;
l_fn_call_id NUMBER;
-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release End
--10.3 WebBranch Changes j NUMBER(3) := 1; -- SFR 32
BEGIN

dbg('Entered Into Procedure fn_ts_to_type');

l_p_cnt := 1;
-- SFR 32
--l_node_name := NVL(cspkes_misc.fn_GetParam(p_nodes_list, l_p_cnt, '>'),
-- '??');
l_node_name := nvl(cspkes_misc.fn_getparam(p_nodes_list,
NULL,
'N',
l_p_cnt,
'>'),
'??');
-- SFR 32
WHILE l_node_name <> 'EOPL' LOOP

dbg('Processing the node: ' || l_node_name);

IF NOT p_ty_rtupld.tbl_node.EXISTS(l_node_name) THEN


p_ty_rtupld.tbl_node(l_node_name).typ_node_var := l_node_name;
dbg('p_ty_rtupld.tbl_node(l_node_name) .typ_node_var:' ||
p_ty_rtupld.tbl_node(l_node_name).typ_node_var);
END IF;
l_tb_name_val_pair := l_tb_empty_tbl;
-- SFR 32
/*l_ts_tag_names := NVL(cspkes_misc.fn_GetParam(p_ts_tag_names,
l_p_cnt,
'>'),
'??'); -- Tag names present for the current node
l_ts_tag_values := NVL(cspkes_misc.fn_GetParam(p_ts_tag_values,
l_p_cnt,
'>'),
'??'); -- Tag values presnet for the current node
*/
l_ts_tag_names := nvl(cspkes_misc.fn_getparam(p_ts_tag_names,
p_ts_clob_tag_names,
p_is_in_msg_clob,
l_p_cnt,
'>'),
'??');
l_ts_tag_values := nvl(cspkes_misc.fn_getparam(p_ts_tag_values,
p_ts_clob_tag_values,
p_is_in_msg_clob,
l_p_cnt,
'>'),
'??');
-- SFR 32

IF l_node_name = 'Mis-Details' THEN


dbg('Inside Mis-Details');
dbg('Calling Gwpks_Subsystem_ts_typ.fn_build_misdetails_type');
IF NOT
gwpks_subsystem_ts_typ.fn_build_misdetails_type(l_ts_tag_names,
l_ts_tag_values,

p_ty_rtupld.ty_misdetails,
p_err_code,
p_err_param) THEN
dbg('Failed while populating the CREATE UPLOAD TYPE -> MISDETAILS');
RETURN FALSE;
END IF;

ELSIF l_node_name = 'Udf-Details' THEN


dbg('Inside UDFDETAILS Check');
dbg('Calling Gwpks_Subsystem_ts_typ.fn_build_contract_udf_type');
IF NOT
gwpks_subsystem_ts_typ.fn_build_contract_udf_type(l_ts_tag_names,
l_ts_tag_values,

p_ty_rtupld.tbl_udfdetails,
p_err_code,
p_err_param) THEN
dbg('Failed while populating the CREATE UPLOAD TYPE -> UDFDETAILS');
RETURN FALSE;
END IF;

-- NEFT/RTGS CHANGES To capture PC Details 1405


ELSIF l_node_name = 'Detb-Pctrn' THEN
dbg('Inside Pc-Details');
dbg('Calling fn_build_pcdetails_type');
IF NOT fn_build_contract_pcdetails(l_ts_tag_names,
l_ts_tag_values,
p_ty_rtupld.ty_pcdetails,
p_err_code,
p_err_param) THEN
dbg('Failed while populating the CREATE UPLOAD TYPE -> PCDETAILS');
RETURN FALSE;
END IF;

--NEFT/RTGS CHANGES To capture PC Details 1405

ELSE

l_cnt := 1;
l_curr_tag := cspkes_misc.fn_GetParam(l_ts_tag_names, l_cnt, '~');
dbg('Tilde Seperating the Node ' || l_node_name);
WHILE l_curr_tag <> 'EOPL' LOOP
l_tb_name_val_pair(l_curr_tag).typ_var_value :=
cspkes_misc.fn_GetParam(l_ts_tag_values,

l_cnt,

'~'); -- PL/SQL table with tags name value pair


dbg(l_curr_tag || ' :' || l_tb_name_val_pair(l_curr_tag)
.typ_var_value);
l_cnt := l_cnt + 1;
l_curr_tag := cspkes_misc.fn_GetParam(l_ts_tag_names, l_cnt, '~');
END LOOP;

IF NOT fn_pop_plsql_tbl(l_node_name,
p_dtf,
l_tb_name_val_pair,
p_ty_rtupld,
p_err_code,
p_err_param) THEN

RETURN FALSE;
END IF;
END IF;
l_p_cnt := l_p_cnt + 1;
l_node_name := NVL(cspkes_misc.fn_GetParam(p_nodes_list, l_p_cnt, '>'),
'??');

END LOOP;
dbg('Completed the data preparation into PL/SQL collection');

-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release Start


dbg('Calling gwpks_createddcontract_cluster.fn_ts_to_type_create');
IF Cspks_Req_Global.g_Release_Type IN
(Cspks_Req_Global.p_Cluster, Cspks_Req_Global.p_Custom) THEN
dbg('Going to call gwpks_createretailtlr_cluster.fn_ts_to_type');
l_tb_cluster_data := l_tb_cluster_data_empty;
l_fn_call_id := 1;
IF NOT gwpks_createretailtlr_cluster.fn_ts_to_type(p_nodes_list,
p_ts_tag_names,
p_ts_tag_values,
p_ts_clob_tag_names,
p_ts_clob_tag_values,
p_is_in_msg_clob,
p_ty_rtupld,
p_dtf,
l_fn_call_id,
l_tb_cluster_data,
p_err_code,
p_err_param) THEN
dbg('Failed in gwpks_createretailtlr_cluster.fn_ts_to_type -->' ||
SQLERRM);
RETURN FALSE;
END IF;
dbg('Succesfully returned from gwpks_createretailtlr_cluster.fn_ts_to_type
');
END IF;
-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release End

RETURN TRUE;

EXCEPTION
WHEN OTHERS THEN
dbg('Failed IN WHEN OTHERS OF fn_ts_to_type : ' || SQLERRM);
p_err_code := 'GW-ACC-100';
p_err_param := 'Tilde Seperating' || '~';

RETURN FALSE;
END fn_ts_to_type;
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--FCUBS 11.2_VIRTUAL_ACCOUNT changes starts
FUNCTION fn_ts_to_type_vir(prectype IN VARCHAR2,
pkey IN VARCHAR2,
pdata IN VARCHAR2,
pkey_clob IN CLOB,
pdata_clob IN CLOB,
p_is_in_msg_clob IN VARCHAR2,
p_scr_vir_acc_no IN OUT
sttm_virtual_accounts.vir_acc_no%TYPE,
p_scr_vir_txn_ccy IN OUT VARCHAR2,
p_err_code IN OUT VARCHAR2,
p_err_param IN OUT VARCHAR2)
RETURN BOOLEAN IS
l_rec VARCHAR2(30);
l_parent_counter NUMBER(3) := 1;
l_field_counter NUMBER(3) := 1;
l_curr_col VARCHAR2(8000);
l_curr_val VARCHAR2(8000);
lkey VARCHAR2(8000);
ldata VARCHAR2(8000);
BEGIN
dbg('Entered Into Procedure fn_ts_to_type for virtual ');
l_rec := nvl(cspkes_misc.fn_getparam(prectype,
NULL,
'N',
l_parent_counter,
'>'),
'??');
dbg('the l_rec is' || l_rec);
WHILE l_rec <> 'EOPL' LOOP
lkey := nvl(cspkes_misc.fn_getparam(pkey,
pkey_clob,
p_is_in_msg_clob,
l_parent_counter,
'>'),
'??');
ldata := nvl(cspkes_misc.fn_getparam(pdata,
pdata_clob,
p_is_in_msg_clob,
l_parent_counter,
'>'),
'??');
dbg('the lkey is' || lkey);
dbg('the ldata is' || ldata);
IF l_rec IN
('DD-Contract-Create-Req', 'DD-Contract-Create-Req-Full',
'Transaction-Details', 'Cheque-Details', 'Transaction-Details-IO') THEN

dbg('Inside the Parent Element DD-Contract-Create-Req');


dbg('Field Counter is ' || l_field_counter);
dbg('key for the parent element DD-Contract-Create-Req is --> ' || lkey);
WHILE nvl(cspkes_misc.fn_getparam(lkey, l_field_counter, '~'),
'EOPL') <> 'EOPL' LOOP
dbg('Inside the elements for DD-Contract-Create-Req--> Field Counter is--
> ' ||
l_field_counter);

l_curr_col := nvl(cspkes_misc.fn_getparam(lkey,
l_field_counter,
'~'),
'??');
dbg('Column for the ' || l_field_counter || 'Field is-->' ||
l_curr_col);
l_curr_val := nvl(cspkes_misc.fn_getparam(ldata,
l_field_counter,
'~'),
NULL);

dbg('Data for the ' || l_field_counter || 'Field is-->' ||


l_curr_val);

IF l_curr_col = 'VIRACCNO' THEN


p_scr_vir_acc_no := l_curr_val;
Dbg('the l_rec is VIRACCNO' || l_curr_val);
--9NT1620_1203_INTERNAL_18272320 starts
/*ELSIF l_curr_col = 'TXNCCY' THEN
p_scr_vir_txn_ccy := l_curr_val;
Dbg('the l_rec is OFFSETCCY' || l_curr_val);
END IF;
l_field_counter := l_field_counter + 1;*/

ELSIF l_curr_col = 'OFFSETCCY' and


(nvl(gwpks_util.pkg_func, '***') = '1401' /*or

nvl(gwpks_util.pkg_func, '***') = '8207'*/


or nvl(gwpks_util.pkg_func, '***') = '1006') THEN
p_scr_vir_txn_ccy := l_curr_val;
Dbg('the l_rec is OFFSETCCY' || l_curr_val);
ELSIF l_curr_col = 'TXNCCY' and
nvl(gwpks_util.pkg_func, '***') = '1408' THEN
p_scr_vir_txn_ccy := l_curr_val;
Dbg('the l_rec is TXNCCY' || l_curr_val);
--9NT1620_1203_INTERNAL_18272320 ends
END IF;
l_field_counter := l_field_counter + 1; --9NT1620_1203_INTERNAL_18358509
END LOOP;

END IF;
l_field_counter := 1;
l_Parent_Counter := l_Parent_Counter + 1;
l_Rec := Nvl(Cspkes_Misc.Fn_Getparam(Prectype,
l_Parent_Counter,
'>'),
'??');

END LOOP;

dbg('Completed the data preparation into PL/SQL collection');


RETURN TRUE;

EXCEPTION
WHEN OTHERS THEN
dbg('Failed IN WHEN OTHERS OF fn_ts_to_type_vir : ' || SQLERRM);
p_err_code := 'GW-ACC-100';
p_err_param := 'Tilde Seperating' || '~';

RETURN FALSE;
END fn_ts_to_type_vir;
--FCUBS 11.2_VIRTUAL_ACCOUNT changes ends

PROCEDURE pr_process_msg(p_is_in_msg_clob IN VARCHAR2


--,p_in_msg_str IN VARCHAR2-- FC10 Performance
Change PF-008
--,p_in_msg_clob IN CLOB-- FC10 Performance Change
PF-008
,
p_rec_msg_header IN
gwpkss_service_router.ty_biz_process_header,
p_is_out_msg_clob OUT VARCHAR2
--,p_out_msg_str OUT VARCHAR2-- FC10 Performance
Change PF-008
--,p_out_msg_clob OUT CLOB-- FC10 Performance Change
PF-008
,
p_instr_rec IN OUT
gwpkss_service_router.ty_processing_instructions,
p_flag IN OUT NUMBER,
p_err_code IN OUT VARCHAR2,
p_err_param IN OUT VARCHAR2) AS
l_is_in_msg_clob VARCHAR2(1) := p_is_in_msg_clob;
l_out_msg_str VARCHAR2(32767);
l_parents_list VARCHAR2(32767);
l_parents_format VARCHAR2(32767);
l_ts_tag_names VARCHAR2(32767);
l_ts_tag_values VARCHAR2(32767);
l_ts_tag_format VARCHAR2(32767);
l_ts_clob_tag_names CLOB;
l_ts_clob_tag_values CLOB;
l_ts_clob_tag_format CLOB;
l_xref VARCHAR2(30);

p_key VARCHAR2(32767);
p_data VARCHAR2(32767);
p_parent VARCHAR2(32767);
p_format VARCHAR2(32767);

error_exception EXCEPTION;
l_err_tbl ovpkss.tbl_error;

--sajeer
l_is_clob CHAR := 'N';
l_ty_rtupld Depks_RetailTellerUpload.typ_retailTellerUpld_rec;
l_dtf VARCHAR2(15) := 'RRRR-MM-DD';
l_parent_res VARCHAR2(105);
l_count NUMBER;

--Added for Flexbranch Transaction Control


l_rec_txn_ctrl gwpks_brntxn_control.typ_txn_ctrl;
l_seq_no NUMBER;
l_status_on_save CHAR;
l_auto_auth CHAR := 'N'; --11.1 CHANGES
l_auth_stat CHAR := 'A'; --fcubs11.2 it1 sfr 727
l_ty_clg_rec Depks_RetailTellerUpload.rec_cstb_clg_rec; --fcubs11.2 it1 sfr
727
L_START varchar2(15); --fcubs11.2 it1 sfr 727
L_START1 varchar2(15); --fcubs11.2 it1 sfr 727
L_START2 varchar2(15); --fcubs11.2 it1 sfr 727
L_VAR varchar2(15); --fcubs11.2 it1 sfr 727

-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release Start


l_fn_call_id NUMBER;
l_tbl_cluster_data global.ty_tb_cluster_data;
l_tbl_cluster_data_empty global.ty_tb_cluster_data;
l_flag NUMBER;
-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release End
----AN-FCUBS_11 2_0_0_0$BOMLAE_R27_ITM Velocity Changes start
l_seg_thres_count number;
l_seg_thres_amount number;
l_trn_count number;
l_trn_amount number;
l_itm_ref_no detb_rtl_teller_custom.itm_ref_no%TYPE;
l_date_difference VARCHAR2(1);
----AN-FCUBS_11 2_0_0_0$BOMLAE_R27_ITM Velocity Changes end

--PR00004416 TCR simulation changes starts


l_rt_txn_count Number(10);
--PR00004416 TCR simulation changes ends
BEGIN
p_flag := -1;
dbg('*********************************************************************');
dbg(' ' || p_rec_msg_header.functionid || ' ' ||
p_rec_msg_header.action);
dbg('*********************************************************************');
--dbg('Req====>' || p_in_msg_str); -- FC10 Performance Change PF-008 End
IF NOT gwpks_xml_parser.fn_xml_parser(p_rec_msg_header.SOURCE,
--p_in_msg_str,- FC10 Performance Change
PF-008
--p_in_msg_clob,- FC10 Performance Change
PF-008
l_parents_list,
l_parents_format,
l_ts_tag_names,
l_ts_tag_values,
l_ts_tag_format,
l_ts_clob_tag_names,
l_ts_clob_tag_values,
l_ts_clob_tag_format,
l_is_in_msg_clob,
l_is_clob,
p_err_code,
p_err_param) THEN

dbg('FAILED IN gwpks_xml_parser.fn_parse_xml');
ovpkss.pr_appendTbl(p_err_code, p_err_param);
RAISE error_exception;
END IF;

--
***********************************************************************************
*******
--Flexbranch Transaction Control
l_rec_txn_ctrl.proceed_with_txn := TRUE;
IF p_rec_msg_header.SOURCE = 'FLEXBRANCH' THEN
IF NOT gwpks_brntxn_control.fn_transaction_init(p_rec_msg_header,
l_rec_txn_ctrl,
p_err_code,
p_err_param) THEN
dbg('Failed in Transaction Control ');
ovpkss.pr_appendtbl(p_err_code, p_err_param);
RAISE error_exception;
END IF;
END IF;
SAVEPOINT BEFORE_UPLOAD;
--
***********************************************************************************
*******
dbg('Calling the function fn_ts_to_type ');
IF NOT fn_ts_to_type(l_parents_list,
l_ts_tag_names,
l_ts_tag_values,
-- SFR 32
l_ts_clob_tag_names,
l_ts_clob_tag_values,
l_is_in_msg_clob,
-- SFR 32
l_ty_rtupld,
l_dtf,
p_err_code,
p_err_param) THEN
ovpkss.pr_appendtbl(p_err_code, p_err_param);
RAISE error_exception;
END IF;
--
***********************************************************************************
*******

IF l_rec_txn_ctrl.proceed_with_txn then
-- 10.3 Online Ext Changes Start

IF NOT
gwpkss_ext_retailtellerservice.fn_pre_CreateTransaction(p_rec_msg_header,
p_instr_rec,
l_ty_rtupld,
p_err_code,
p_err_param) THEN
dbg('Function gwpkss_ext_retailtellerservice.fn_pre_CreateTransaction
returned FALSE');
ovpkss.pr_appendtbl(p_err_code, p_err_param);
RAISE error_exception;
END IF;

-- 10.3 Online Ext Changes End

--BOMALE ITM Changes starts


dbg('value for cust copy--' || l_ty_rtupld.ty_itm_cust.cust_copy);
/*IF l_ty_rtupld.ty_itm_cust.cust_copy is null
THEN
dbg('Customer copy obtained is not selected');
OVPKS.PR_APPENDTBL('IF-ITM-001', NULL);
RAISE error_exception;
END IF;*/

IF l_ty_rtupld.ty_itm_cust.cust_copy = 'N' and


gwpks_util.pkg_func IN ('ITM1', 'ITM2', 'ITM3', 'ITM4') THEN
dbg('Customer copy is not obtained');
OVPKS.PR_APPENDTBL('IF-ITM-002', NULL);

END IF;
--BOMALE ITM Changes ends

------AN-FCUBS_11 2_0_0_0$BOMLAE_R27_ITM Velocity Changes start


Dbg('Aravind product code ' ||
l_ty_rtupld.ty_upld_rtl_teller.product_code);

Dbg('l_ty_rtupld.ty_itm_cust.id_type :: ' ||
l_ty_rtupld.ty_itm_cust.id_type);
-- Defact#42908 changes starts
if gwpks_util.pkg_func IN ('ITM3') then

if DEPKS_RETAILTELLERUPLOAD.G_ITM3_ID_TYPE is null or
DEPKS_RETAILTELLERUPLOAD.G_ITM3_ID_VALUE is null or
DEPKS_RETAILTELLERUPLOAD.G_ITM3_NATIONALITY is null then
ovpks.pr_appendtbl('CS-ITM-001', NULL);
RAISE error_exception;
end if;
End If;
-- Defact#42908 changes ends
if gwpks_util.pkg_func IN ('ITM1', 'ITM2', 'ITM3', 'ITM4') then

if l_ty_rtupld.ty_itm_cust.id_type is null THEN

Dbg('Beneficiary wise limits will not be validated. Continue? ');


ovpks.pr_appendtbl('DE-VALS-106', NULL);

else

begin
select no_of_txns, threshold_amt
into l_seg_thres_count, l_seg_thres_amount
from DETMS_ITM_BEN_CUSTOM
where product_code =
l_ty_rtupld.ty_upld_rtl_teller.product_code
and ben_id = l_ty_rtupld.ty_itm_cust.id_type;

exception
when others then
dbg('Cannot pickup from product code ' || SQLERRM);
l_seg_thres_count := NULL;
l_seg_thres_amount := NULL;

end;

Dbg('Threshold count ' || l_seg_thres_count);


Dbg(' Thershold amount ' || l_seg_thres_amount);

/* --multiplying threshold by date difference start


begin
select nvl(today - prev_working_day, 1)
into l_date_difference
from sttm_dates
where branch_code = global.current_branch;
exception
when others then
dbg('Cannot pickup date difference from sttm_dates ');
l_date_difference := 1;
end;

l_seg_thres_count := l_date_difference * l_seg_thres_count;


l_seg_thres_amount := l_date_difference * l_seg_thres_amount;

Dbg('New Threshold count ' || l_seg_thres_count);


Dbg('New Thershold amount ' || l_seg_thres_amount);*/

if l_seg_thres_count IS NULL or l_seg_thres_amount IS NULL THEN


Dbg('ITM beneficiary details not maintained at the product level');
ovpks.pr_appendtbl('DE-VALS-107', NULL);
RAISE error_exception;
end if;

begin
/* select count(*), nvl(sum(lcy_amount), 0)
into l_trn_count, l_trn_amount
from actb_daily_log
where substr(trn_ref_no, 4, 4) =
l_ty_rtupld.ty_upld_rtl_teller.product_code
and ac_no = l_ty_rtupld.ty_upld_rtl_teller.txn_acc
and ac_branch = l_ty_rtupld.ty_upld_rtl_teller.BRANCH_CODE
and auth_stat = 'A';*/

/* select count(*), nvl(sum(lcy_amount), 0)


into l_trn_count, l_trn_amount
from detb_rtl_teller
where trn_dt = global.application_date
and xref in
(select xref
from fbtb_itm_cust_log
where id_type = l_ty_rtupld.ty_itm_cust.id_type)
and product_code =
l_ty_rtupld.ty_upld_rtl_teller.product_code
and txn_acc = l_ty_rtupld.ty_upld_rtl_teller.txn_acc
and branch_code = l_ty_rtupld.ty_upld_rtl_teller.BRANCH_CODE
and auth_stat = 'A';*/
DBG('l_ty_rtupld.ty_upld_rtl_teller.product_code' ||
l_ty_rtupld.ty_upld_rtl_teller.product_code ||
l_ty_rtupld.ty_upld_rtl_teller.txn_acc ||
l_ty_rtupld.ty_itm_cust.id_type ||
l_ty_rtupld.ty_upld_rtl_teller.BRANCH_CODE);
select count(*), nvl(sum(amount), 0)
into l_trn_count, l_trn_amount
from detb_limit_log_custom
where logged_date = to_date(SYSDATE)

and product_code =
l_ty_rtupld.ty_upld_rtl_teller.product_code
and account_no = l_ty_rtupld.ty_upld_rtl_teller.txn_acc
and ben_id = l_ty_rtupld.ty_itm_cust.id_type
and branch_code = l_ty_rtupld.ty_upld_rtl_teller.BRANCH_CODE;
EXCEPTION
WHEN OTHERS THEN
Dbg('Cannot pickup the transactions details from actb_daily_log ' ||
SQLERRM);
END;

Dbg('Transaction count ' || l_trn_count);


Dbg('Transaction amount ' || l_trn_amount);

if l_trn_count + 1 > l_seg_thres_count THEN


--doubt
dbg('Cumulative transaction count exceeding that maintained at
beneficiary wise limits in product level');
ovpks.pr_appendtbl('DE-VALS-108', NULL);
RAISE error_exception;
end if;

if l_trn_amount + l_ty_rtupld.ty_upld_rtl_teller.lcy_amount >


l_seg_thres_amount THEN
dbg('Cumulative transaction amount exceeding that maintained at
beneficiary wise limits in product level ');
ovpks.pr_appendtbl('DE-VALS-109', NULL);
RAISE error_exception;
end if;

end if;
end if;

----AN-FCUBS_11 2_0_0_0$BOMLAE_R27_ITM Velocity Changes end

IF NOT Depks_RetailTellerUpload.fn_upload(l_ty_rtupld.ty_upld_rtl_teller,
l_ty_rtupld.tbl_chgdets,
l_ty_rtupld.ty_misdetails,
l_ty_rtupld.tbl_udfdetails,
l_ty_rtupld.ty_pcdetails,
--NEFT/RTGS CHANGES To capture PC Details 1405
l_ty_rtupld.ty_mckdetails,
l_ty_rtupld.ty_msgdets,
l_ty_rtupld.tbl_node,
p_rec_msg_header.SOURCE,
l_rec_txn_ctrl.override_flag, --
Flexbranch Changes
l_status_on_save,
p_flag,
l_err_tbl) THEN
dbg('Failed while calling fn_upload');
ROLLBACK TO BEFORE_UPLOAD;
RAISE error_exception;
END IF;

--- 9NT1428 CREDIT CARD PAYMENTS CHANGES BY ASLAM Startz


IF gwpks_util.pkg_func IN ('CRCP', 'CRAP', 'CRCM', 'ITM4', 'CRCS') THEN
--BOMALE ITM Changes --Gourab added CRCS for TCR screen
dbg('Going to Call CSPKS_CC_PAYMENT.fn_Insert_rtdetails');
IF NOT CSPKS_CC_PAYMENT.fn_Insert_rtdetails(l_ty_rtupld, p_err_code) THEN
dbg('Failed while calling fn_Insert_rtdetails');
RAISE error_exception;
END IF;
END IF;
---- 9NT1428 CREDIT CARD PAYMENTS CHANGES BY ASLAM Endz

--ARAVIND R27 START


IF gwpks_util.pkg_func IN
('ITM1', 'ITM2', 'ITM3', 'ITM4', 'LOCH', '1006',
'1401', '1001', '1402', '1002') THEN --
FCUBS_11.2.0.0.0$BOMLAE_R41_16044 ITM Velocity Functionality
BEGIN
INSERT INTO DETB_LIMIT_LOG_CUSTOM
(XREF,
TRN_REF_NO,
PRODUCT_CODE,
BRANCH_CODE,
ACCOUNT_NO,
BUSINESS_GROUP, --FCUBS_11.2.0.0.0$BOMLAE_R41_16044 ITM
Velocity Functionality
SEGMENT_CODE,
BEN_ID,
AMOUNT,
LOGGED_DATE)
VALUES
(l_ty_rtupld.ty_upld_rtl_teller.Xref,
l_ty_rtupld.ty_upld_rtl_teller.trn_ref_no,
l_ty_rtupld.ty_upld_rtl_teller.product_code,
l_ty_rtupld.ty_upld_rtl_teller.branch_code,
depks_rtl_teller_custom.l_account,
depks_rtl_teller_custom.L_ACC_BUSS_GRP, --pc
depks_rtl_teller_custom.L_ACC_SEG_CODE,
l_ty_rtupld.ty_itm_cust.id_type,
l_ty_rtupld.ty_upld_rtl_teller.lcy_amount,
to_date(SYSDATE));

EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
dbg('dup val');
RAISE error_exception;
WHEN OTHERS THEN
dbg('err here--' || sqlerrm);
RAISE error_exception;
END;
END IF;
--ARAVIND R27 END

--BOMLAE ITM Changes starts


IF gwpks_util.pkg_func IN ('ITM1', 'ITM2', 'ITM3', 'ITM4') THEN
BEGIN

DBG('XREF =' || l_ty_rtupld.ty_upld_rtl_teller.Xref);

INSERT INTO FBTB_ITM_CUST_LOG


(XREF,
ITM_REF_NO,
id_type,
emirates_id,
ppt_no,
res_cnt,
nationality,
eid_no,
contact_no,
--FCUBS_11.2.0.0.0$BOMLAE_R33_Central Bank Changes in ITM Cheque
Withdrawal Screen starts
cust_copy,
acc_no,
cust_type
--FCUBS_11.2.0.0.0$BOMLAE_R33_Central Bank Changes in ITM Cheque
Withdrawal Screen ends
)
VALUES
(l_ty_rtupld.ty_upld_rtl_teller.Xref,
l_ty_rtupld.ty_itm_cust.ITM_REF_NO,
l_ty_rtupld.ty_itm_cust.id_type,
l_ty_rtupld.ty_itm_cust.emirates_id,
l_ty_rtupld.ty_itm_cust.ppt_no,
l_ty_rtupld.ty_itm_cust.res_cnt,
l_ty_rtupld.ty_itm_cust.nationality,
l_ty_rtupld.ty_itm_cust.eid_no,
l_ty_rtupld.ty_itm_cust.contact_no,
--FCUBS_11.2.0.0.0$BOMLAE_R33_Central Bank Changes in ITM Cheque
Withdrawal Screen starts
l_ty_rtupld.ty_itm_cust.cust_copy,
l_ty_rtupld.ty_itm_cust.acc_no,
l_ty_rtupld.ty_itm_cust.cust_type);
--FCUBS_11.2.0.0.0$BOMLAE_R33_Central Bank Changes in ITM Cheque
Withdrawal Screen ends
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
dbg('dup val');
RAISE error_exception;
WHEN OTHERS THEN
dbg('err here--' || sqlerrm);
RAISE error_exception;
END;
END IF;
--BOMLAE ITM Changes ends

--11.1 web branch changes starts for safedeposit


DBG('l_ty_rtupld.ty_safedepodetails.ty_contract_pay.FCCREF ' ||
l_ty_rtupld.ty_safedepodetails.ty_contract_pay.FCCREF);
IF (l_ty_rtupld.ty_safedepodetails.ty_contract_pay.FCCREF IS NOT NULL) THEN
dbg('WILL CALL Depks_RetailTellerUpload.fn_upload_SDdetails NOW');

IF NOT Depks_RetailTellerUpload.fn_upload_SDdetails(l_ty_rtupld,

p_rec_msg_header.SOURCE,

l_rec_txn_ctrl.override_flag, --Flexbranch Changes


l_status_on_save,
p_flag,
l_err_tbl) THEN
dbg('Failed while calling fn_upload');
ROLLBACK TO BEFORE_UPLOAD;
RAISE error_exception;
END IF;

END IF;
dbg('AFTER CALL TO Depks_RetailTellerUpload.fn_upload_SDdetails NOW');

--11.1 web branch changes ends for safedeposit


--AEDMBU QAUATC UAT-C-104 CHANGES STARTS
IF (l_ty_rtupld.ty_upld_rtl_teller.REJECT_CODE IS NOT NULL) THEN
GWPKS_UTIL.G_REJECTFLAG := 'Y';
END IF;
--AEDMBU QAUATC UAT-C-104 CHANGES ENDS
dbg('AFTER CALL TO Depks_RetailTellerUpload.fn_upload_SDdetails NOW1' ||
GWPKS_UTIL.G_REJECTFLAG);
--11.1 changes starts
DBG('GWPKS_UTIL.G_REJECTFLAG => ' || GWPKS_UTIL.G_REJECTFLAG);
IF NVL(GWPKS_UTIL.G_REJECTFLAG, 'N') = 'Y' THEN

--fcubs11.2 it1 sfr 727 starts


dbg('l_ts_tag_values' || l_ts_tag_values);

/* IF NOT depks_retailtellerupload.fn_validate_no_of_rejections('FLEXCUBE'
,
l_ty_clg_rec,
l_ty_rtupld.ty_upld_rtl_teller ,
g_instr_code , --fcubs11.2 it1 sfr 727
P_ERR_CODE ,
P_ERR_PARAM )THEN
DBG('FAILED WHILE CALLING
depks_retailtellerupload.fn_validate_no_of_rejections');
ROLLBACK TO BEFORE_UPLOAD;
RAISE error_exception;
END IF;*/ --BLR_11.2_IMP_BDTOBL_SFR#194 COMMENTED

DBG('REJECT ON CLICK OF REJECT BUTTON IS SUCCESSFULL ');


--END IF; -- FCUBS11.2 ITR1 SFR#1062 commented this if since reverse should
be within this if
--fcubs11.2 it1 sfr 727 ends
IF NOT
depks_retailtellerupload.fn_reverse(l_ty_rtupld.ty_upld_rtl_teller.XREF,

l_ty_rtupld.ty_upld_rtl_teller.trn_ref_no,
p_rec_msg_header.SOURCE,
l_rec_txn_ctrl.override_flag,
l_auto_auth,
l_err_tbl) THEN
DBG('FAILED WHILE CALLING depks_retailtellerupload.fn_reverse');
ROLLBACK TO BEFORE_UPLOAD;
RAISE error_exception;
END IF;
DBG('REVERSAL ON CLICK OF REJECT BUTTON IS SUCCESSFULL ');

--BLR_11.2_IMP_BDTOBL_SFR#194 STARTS
/*--AEDMBU DEFLT9084 Starts
IF NOT
depks_retailtellerupload.fn_validate_no_of_rejections('FLEXCUBE',
l_ty_clg_rec,

l_ty_rtupld.ty_upld_rtl_teller,
g_instr_code, --
fcubs11.2 it1 sfr 727
P_ERR_CODE,
P_ERR_PARAM)
THEN
DBG('FAILED WHILE CALLING
depks_retailtellerupload.fn_validate_no_of_rejections');
ROLLBACK TO BEFORE_UPLOAD;
RAISE error_exception;
END IF;
*/
--AEDMBU DEFLT9084 Ends
--BLR_11.2_IMP_BDTOBL_SFR#194 ENDS

--MBU22 SFR#150 starts


If not fn_incrm_rejectcnt(l_ty_rtupld.ty_upld_rtl_teller.TRN_REF_NO,
p_err_code,
p_err_param)

then
dbg('Error in incrementing count ');
End if;
--MBU22 SFR#150 ends
END IF; --FCUBS11.2 ITR1 SFR#1062
END IF;
--11.1 changes ENDS

-- 10.3 Online Ext Changes Start

--IF NOT gwpkss_ext_retailtellerservice.fn_pre_CreateTransaction --


FCUBS_12.0.2_RETRO_17420153
IF NOT
gwpkss_ext_retailtellerservice.fn_post_CreateTransaction --
FCUBS_12.0.2_RETRO_17420153
(p_rec_msg_header, p_instr_rec, l_ty_rtupld, p_err_code, p_err_param) THEN
dbg('Function gwpkss_ext_retailtellerservice.fn_pre_CreateTransaction
returned FALSE');
ovpkss.pr_appendtbl(p_err_code, p_err_param);
RAISE error_exception;
END IF;

-- 10.3 Online Ext Changes End

--
***********************************************************************************
*******
--Flexbranch Transaction Control

-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release Start


IF Cspks_Req_Global.g_Release_Type in
(Cspks_Req_Global.p_Cluster, Cspks_Req_Global.p_Custom) THEN
l_tbl_cluster_data := l_tbl_cluster_data_empty;
l_fn_call_id := 1;
dbg('Calling Gwpks_CreateRetailTlr_cluster.pr_process_msg');
gwpks_createretailtlr_cluster.pr_process_msg(p_is_in_msg_clob,
p_rec_msg_header,
p_is_out_msg_clob,
p_instr_rec,
l_ty_rtupld,
l_flag,
p_err_code,
p_err_param,
l_fn_call_id,
l_tbl_cluster_data);

IF l_flag = -2 THEN
dbg('gwpks_createretailtlr_cluster.pr_process_msg failed');
raise error_exception;
END IF;
END IF;
-- AN_FCUBS_11 2 0 0 0$BOMLAE_UAE_PGS_Changes_Release End
IF NOT gwpks_brntxn_control.fn_get_txn_status(l_rec_txn_ctrl,

l_ty_rtupld.ty_upld_rtl_teller.trn_ref_no,
p_rec_msg_header,
p_instr_rec.Multitrip_Reqd,
l_seq_no,
p_err_code,
p_err_param) THEN
dbg('fn_txn_status_check failed..');
ovpks.pr_appendtbl(p_err_code, p_err_param);
RAISE error_exception;
END IF;
--
***********************************************************************************
*******
--Flexbranch Transaction Control(Module Specific)
--FCUBS 10.1 Branch Changes
--IF l_rec_txn_ctrl.is_auth_required = 'Y' OR l_status_on_save='Y' --
l_status_on_save shud be "A"
IF l_rec_txn_ctrl.is_auth_required = 'Y' OR l_status_on_save = 'A' THEN
IF NOT
depkss_rtl_teller.fn_rtl_teller_auth(l_ty_rtupld.ty_upld_rtl_teller.branch_code,

l_ty_rtupld.ty_upld_rtl_teller.trn_ref_no,
nvl(gwpks_util.g_checkerid,
global.user_id), --FCUBS11.1
Changes SFR#3808
global.lcy,
p_err_code,
p_err_param) THEN
dbg('Auth returned false ' || p_err_code);
ovpkss.pr_appendtbl(p_err_code, p_err_param);
ROLLBACK TO BEFORE_UPLOAD;
RAISE error_exception;
END IF;

END IF;

--
***********************************************************************************
*******
IF substr(p_instr_rec.msg_xchange_pattern, 3, 2) = 'PK' THEN
--10.3 WebBranch Changes l_parent_res := 'Wbtbs-Transaction-Details-PK';
l_parent_res := 'Blk-Transaction-Details-PK';
IF NOT gwpks_queryretailteller.fn_build_pkreply(l_parent_res,

l_ty_rtupld.ty_upld_rtl_teller.trn_ref_no,
l_xref,
p_parent,
p_key,
p_data,
p_format,
p_err_code,
p_err_param) THEN
dbg('FAILED IN fn_build_FSReply');
ovpks.pr_appendtbl(p_err_code, p_err_param);
RAISE error_exception;
END IF;
ELSE
--10.3 WebBranch Changes l_parent_res := 'Wbtbs-Transaction-Details';
l_parent_res := 'Blk-Transaction-Details';
IF NOT gwpks_queryretailteller.fn_build_fsreply(p_rec_msg_header.SOURCE,
l_parent_res,

l_ty_rtupld.ty_upld_rtl_teller.trn_ref_no,
l_ty_rtupld, --9NT1428 CREDIT
CARD PAYMENTS CHANGES BY ASLAM
l_xref,
p_parent,
p_key,
p_data,
p_format,
p_err_code,
p_err_param) THEN
dbg('FAILED IN fn_build_FSReply');
ovpks.pr_appendtbl(p_err_code, p_err_param);
RAISE error_exception;
END IF;
END IF;

--
***********************************************************************************
*******
--Flexbranch Transaction Control
IF l_rec_txn_ctrl.is_rollback_req = 'Y' THEN
ROLLBACK TO BEFORE_UPLOAD;
ELSE
--PR00004416 TCR simulation changes starts
dbg('here to check the transactional success for func --> ' ||
gwpks_util.pkg_func);
dbg('here to check the external reference ' ||
l_ty_rtupld.ty_upld_rtl_teller.Xref);
dbg('The source is ' || p_rec_msg_header.SOURCE);
IF p_rec_msg_header.SOURCE = 'FLEXBRANCH' and
instr(cspks_os_param.get_param_val('BRN_TXNCHECK_FUNC'),
'~' || gwpks_util.pkg_func || '~') > 0 then
--delete from detb_rtl_teller where xref = 'FJB1828015008167';
select count(1)
into l_rt_txn_count
from detb_rtl_teller
where xref = l_ty_rtupld.ty_upld_rtl_teller.Xref;
dbg('The RT txn is not posted ??? ' || l_rt_txn_count);
If l_rt_txn_count = 0 then
OVPKS.PR_APPENDTBL('RT-POST-01', null);
RAISE error_exception;
else
--PR00004416 TCR simulation changes ends;
--fcubs 10.3 web branch changes
ovpks.pr_appendtbl('GW-SAV-01', NULL); --fcubs 10.3 web branch changes
--PR00004416 TCR simulation changes starts
end if;
else
ovpks.pr_appendtbl('GW-SAV-01', NULL); --fcubs 10.3 web branch changes
end if;
--PR00004416 TCR simulation changes starts
END IF;

IF p_rec_msg_header.SOURCE = 'FLEXBRANCH' THEN


IF NOT gwpks_brntxn_control.fn_post_txn_update(l_rec_txn_ctrl,
p_rec_msg_header.multitripid,

l_ty_rtupld.ty_upld_rtl_teller.trn_ref_no,
p_rec_msg_header.moduleid,
l_seq_no,
p_err_code,
p_err_param) THEN

dbg('FAILED IN fn_post_txn_update');
ovpks.pr_appendtbl(p_err_code, p_err_param);
RAISE error_exception;
END IF;
END IF;
--
***********************************************************************************
*******
-- ovpks.pr_appendtbl('GW-SAV-01', NULL); --fcubs 10.3 web branch changes
dbg('Calling gwpkss_xml_crtr.fn_xml_creator');
--10.2EMRELITR1RETROSFR-4 start
IF NVL(l_is_in_msg_clob, 'N') = 'Y' THEN
l_ts_clob_tag_names := p_key;
l_ts_clob_tag_values := p_data;
END IF;
--10.2EMRELITR1RETROSFR-4 end
IF NOT gwpkss_xml_crtr.fn_xml_creator(p_rec_msg_header,
p_instr_rec,
--p_in_msg_str,- FC10 Performance Change
PF-008
--p_in_msg_clob,- FC10 Performance Change
PF-008
p_is_in_msg_clob,
p_parent,
p_format,
p_key,
p_data,
l_ts_tag_format,
l_ts_clob_tag_names,
l_ts_clob_tag_values,
l_ts_clob_tag_format,
l_rec_txn_ctrl.process_status, --
Flexbranch Changes
--p_out_msg_str,-- FC10 Performance
Change PF-008
--p_out_msg_clob,-- FC10 Performance
Change PF-008
p_is_out_msg_clob) THEN
dbg('FAILED IN gwpkss_xml_crtr.fn_create_xml');
RAISE error_exception;
END IF;

--dbg('the messge is' || p_out_msg_str); -- FC10 Performance Change PF-008 End


p_flag := 0;
dbg('Succcessfully Returned from Function Handler : ' || p_flag);

RETURN;

EXCEPTION
WHEN error_exception THEN
Dbg('Inside error exception ' || SQLERRM);

--
***********************************************************************************
*******
--Flexbranch Transaction control
l_rec_txn_ctrl.ty_gwtb_txn_log.respstat := 'F';
l_rec_txn_ctrl.ty_gwtb_txn_log.currstat := 'X';
p_err_code := NULL;
--ROLLBACK TO BEFORE_UPLOAD; cannot put it here (fail if
fn_transaction_init raises error )
BEGIN
ROLLBACK TO BEFORE_UPLOAD; -- cannot put it here (fail if
fn_transaction_init raises error )
EXCEPTION
WHEN OTHERS THEN
NULL;
dbg('rollback exception ');
END;
IF p_rec_msg_header.SOURCE = 'FLEXBRANCH' THEN
IF NOT gwpks_brntxn_control.fn_post_txn_update(l_rec_txn_ctrl,

p_rec_msg_header.multitripid,

l_ty_rtupld.ty_upld_rtl_teller.trn_ref_no,
p_rec_msg_header.moduleid,
l_seq_no,
p_err_code,
p_err_param) THEN

dbg('FAILED IN fn_post_txn_update');
ovpks.pr_appendtbl(p_err_code, p_err_param);
RAISE error_exception;
END IF;
END IF;
--
***********************************************************************************
*******
IF NOT gwpkss_xml_crtr.fn_xml_creator(p_rec_msg_header,
p_instr_rec,
--p_in_msg_str,- FC10 Performance
Change PF-008
--p_in_msg_clob,- FC10 Performance
Change PF-008
p_is_in_msg_clob,
l_parents_list,
l_parents_format,
l_ts_tag_names,
l_ts_tag_values,
l_ts_tag_format,
l_ts_clob_tag_names,
l_ts_clob_tag_values,
l_ts_clob_tag_format,
'E',
--p_out_msg_str,- FC10 Performance
Change PF-008
--p_out_msg_clob,- FC10 Performance
Change PF-008
p_is_out_msg_clob) THEN
Dbg('Failed in gwpkss_xml_crtr.fn_xml_creator ');
END IF;
p_Flag := -1;

RETURN;
WHEN OTHERS THEN
Dbg('Inside error exception' || SQLERRM);
Ovpks.Pr_Appendtbl('GW-OTHR-001', SQLERRM || '~');
--
***********************************************************************************
*******
--Flexbranch Transaction control
l_rec_txn_ctrl.ty_gwtb_txn_log.respstat := 'F';
l_rec_txn_ctrl.ty_gwtb_txn_log.currstat := 'X';
p_err_code := NULL;
--ROLLBACK TO BEFORE_UPLOAD; cannot put it here (fail if
fn_transaction_init raises error )
BEGIN
ROLLBACK TO BEFORE_UPLOAD; -- cannot put it here (fail if
fn_transaction_init raises error )
EXCEPTION
WHEN OTHERS THEN
NULL;
dbg('rollback exception ');
END;
IF p_rec_msg_header.SOURCE = 'FLEXBRANCH' THEN
IF NOT gwpks_brntxn_control.fn_post_txn_update(l_rec_txn_ctrl,

p_rec_msg_header.multitripid,

l_ty_rtupld.ty_upld_rtl_teller.trn_ref_no,
p_rec_msg_header.moduleid,
l_seq_no,
p_err_code,
p_err_param) THEN

dbg('FAILED IN fn_post_txn_update');
ovpks.pr_appendtbl(p_err_code, p_err_param);
RAISE error_exception;
END IF;
END IF;

IF NOT gwpkss_xml_crtr.fn_xml_creator(p_rec_msg_header,
p_instr_rec,
--p_in_msg_str,- FC10 Performance
Change PF-008
--p_in_msg_clob,- FC10 Performance
Change PF-008
p_is_in_msg_clob,
l_parents_list,
l_parents_format,
l_ts_tag_names,
l_ts_tag_values,
l_ts_tag_format,
l_ts_clob_tag_names,
l_ts_clob_tag_values,
l_ts_clob_tag_format,
'E',
--p_out_msg_str,- FC10 Performance
Change PF-008
--p_out_msg_clob,- FC10 Performance
Change PF-008
p_is_out_msg_clob) THEN
Dbg('Failed in gwpkss_xml_crtr.fn_create_fcjxml ');
END IF;
p_Flag := -1;
END pr_process_msg;
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--MBU22 SFR#150 starts
Function fn_incrm_rejectcnt(p_trn_ref_no IN VARCHAR2,
p_err_code IN OUT VARCHAR2,
p_err_param IN OUT VARCHAR2) RETURN BOOLEAN IS

l_no_cheque_rejections number(4); --MBU22 SFR#150 changes


l_max_no_cheque_rejections number(4);
l_no_of_chq_rej_reset_on date; --MBU22 SFR#150 changes
l_count1 number;
l_include_for_return_counter varchar2(1);
l_reject_code cstb_clearing_master.reject_code%type;
l_cheque_book_facility sttms_cust_account.cheque_book_facility%type;
l_detb_rec detbs_rtl_teller%rowtype;
l_mod_no Number(3);
l_rej_reason cstbs_clg_rej_reason.reason_desc%type;

BEGIN
dbg('Selecting teller record');

Begin
dbg('p_trn_ref_no=' || p_trn_ref_no);
select *
into l_detb_rec
from detbs_rtl_teller
where trn_ref_no = p_trn_ref_no;
dbg('after rec select ');
select reason_desc
into l_rej_reason
from cstbs_clg_rej_reason
where reason_code = l_detb_rec.reject_code;
Exception
When no_data_found then
dbg('In no data found ');
End;

l_reject_code := l_detb_rec.reject_code;
dbg('After assignment:' || l_reject_code);

Begin
dbg('inserting into cstbs_addl_text ');
Insert into cstbs_addl_text
(reference_no, evnt_seq_no, addl_text)
values
(p_trn_ref_no,
(SELECT max(event_sr_no)
FROM acvw_all_ac_entries
where trn_ref_no = P_trn_ref_no),
l_rej_reason);
Exception
when others then
dbg('In when others ' || sqlerrm);
End;

dbg('reject reason ' || l_rej_reason);

BEGIN
dbg('txn_acc' || l_detb_rec.txn_acc);
dbg('txn_branch' || l_detb_rec.txn_branch);

SELECT MAX(mod_no)
INTO l_mod_no
FROM catms_check_details
WHERE branch = l_detb_rec.txn_branch
AND account = l_detb_rec.txn_acc
-- IN00092535 changes start
-- AND check_no = l_detb_rec.dr_instrument_code;
AND to_number(check_no) = to_number(l_detb_rec.dr_instrument_code);
-- N00092535 changes start
dbg('mod no' || l_mod_no);

/*--AEDMBU DEFLT9084 Starts


SELECT --nvl(NO_CHEQUE_REJECTIONS, 0), --MBU22 SFR#150 changes

nvl(MAX_NO_CHEQUE_REJECTIONS, 0),
--NO_OF_CHQ_REJ_RESET_ON, --MBU22 SFR#150 changes
nvl(Cheque_book_facility, 'N')
into --l_no_cheque_rejections, --MBU22 SFR#150 changes
l_max_no_cheque_rejections,
-- l_no_of_chq_rej_reset_on, --MBU22 SFR#150 changes
l_cheque_book_facility
FROM STTMS_CUST_ACCOUNT
where CUST_AC_NO = l_detb_rec.txn_acc
and BRANCH_CODE = l_detb_rec.txn_branch;
*/

SELECT nvl(NO_CHEQUE_REJECTIONS, 0),


nvl(MAX_NO_CHEQUE_REJECTIONS, 0),
NO_OF_CHQ_REJ_RESET_ON,
nvl(Cheque_book_facility, 'N')
INTO l_no_cheque_rejections,
l_max_no_cheque_rejections,
l_no_of_chq_rej_reset_on,
l_cheque_book_facility
FROM STTMS_CUST_ACCOUNT
WHERE CUST_AC_NO = l_detb_rec.txn_acc
AND BRANCH_CODE = l_detb_rec.txn_branch;

--AEDMBU DEFLT9084 Ends

dbg('l_NO_CHEQUE_REJECTIONS' || l_NO_CHEQUE_REJECTIONS);
dbg(' L_MAX_NO_CHEQUE_REJECTIONS' || L_MAX_NO_CHEQUE_REJECTIONS);
dbg('NO_OF_CHQ_RWHEN OTHERSEJ_RESET_ON' || L_NO_OF_CHQ_REJ_RESET_ON);

EXCEPTION
WHEN OTHERS THEN
dbg('IN WHEN OTHERS OF CHEQUE_REJECTIONS' || SQLERRM ||
Dbms_Utility.Format_Error_Backtrace);
END;

BEGIN
SELECT INCLUDE_FOR_RETURN_COUNTER
INTO l_INCLUDE_FOR_RETURN_COUNTER
FROM CSTB_CLG_REJ_REASON
WHERE REASON_CODE = l_reject_code
AND AUTH_STAT = 'A'
AND RECORD_STAT = 'O';
EXCEPTION
WHEN NO_DATA_FOUND THEN
dbg('Error in selecting INCLUDE FOR RETURN COUNTER' || SQLERRM);
RETURN FALSE;
END;

dbg('l_mod_no :' || l_mod_no);


dbg('inserting into catms_check_detail');

INSERT INTO catms_check_details


(branch,
account,
check_no,
check_book_no,
mod_no,
amount,
beneficiary,
presentation_date,
value_date,
status,
check_digit,
maker_id,
maker_dt_stamp,
checker_id,
checker_dt_stamp,
once_auth,
auth_stat,
record_stat,
reject_code --DEFLT00020606 CHANGES
)
SELECT branch,
account,
check_no,
check_book_no,
l_mod_no + 1,
l_detb_rec.txn_amount,
beneficiary,
l_detb_rec.instr_date,
l_detb_rec.trn_dt,
'R',
0,
GLOBAL.user_id,
cepkss_date.Fn_Get_Date_Time(Global.application_date),
GLOBAL.user_id,
cepkss_date.Fn_Get_Date_Time(Global.application_date),
'Y',
'A',
'O',
l_reject_code --DEFLT00020606 CHANGES
FROM catms_check_details
WHERE branch = l_detb_rec.txn_branch
AND account = l_detb_rec.txn_acc
-- IN00092535 changes start
-- AND check_no = l_detb_rec.dr_instrument_code
AND to_number(check_no) = to_number(l_detb_rec.dr_instrument_code)
-- IN00092535 changes end
AND mod_no = l_mod_no;

dbg('Updated catms_check_details ::' || SQL%ROWCOUNT);

IF l_INCLUDE_FOR_RETURN_COUNTER = 'Y' THEN


dbg('Updating Counter as include for return counter is Y');
--MBU22 SFR#150 starts

--DEFLT9084(Uncommented) Starts
dbg('Just before updation no of cheque rejections is---->' ||
l_NO_CHEQUE_REJECTIONS);

l_NO_CHEQUE_REJECTIONS := nvl(l_NO_CHEQUE_REJECTIONS, 0) + 1; --AEDMBU


DEFLT9084

dbg('After updation no of cheque rejections is---->' ||


l_NO_CHEQUE_REJECTIONS);
--DEFLT9084(Uncommented) Ends

----MBU22 SFR#150 ends


--DEFLT00020606 CHANGES STARTS
/*update catms_check_details
set REJECT_CODE = l_reject_code
where branch = l_detb_rec.txn_branch
AND account = l_detb_rec.txn_acc
AND check_no = l_detb_rec.dr_instrument_code

AND mod_no = l_mod_no + 1; -- Incremented the modification number to


update the reject code against the Rejected veriosn of cheque.
*/
--DEFLT00020606 CHANGES ENDS
END IF;

BEGIN

SELECT COUNT(*)
INTO L_COUNT1
FROM CATMS_CHECK_DETAILS x, CSTB_CLG_REJ_REASON y
WHERE x.REJECT_CODE = y.REASON_CODE
and y.INCLUDE_FOR_RETURN_COUNTER = 'Y'
and ACCOUNT = l_detb_rec.txn_acc
and BRANCH = l_detb_rec.txn_branch
and STATUS = 'R'
and nvl(PRESENTATION_DATE, trunc(x.maker_dt_stamp, 'DDD')) >=
TO_DATE(TO_CHAR(add_months(global.application_date, -12)),
'DD/MM/YY');

dbg('L_COUNT1' || L_COUNT1);
EXCEPTION
WHEN NO_DATA_FOUND THEN
l_count1 := 0;
dbg('failed to get count catm_check_details');
END;

dbg('Current no of cheque rejections' || L_COUNT1);


dbg('Maintained no of cheque rejections' || L_MAX_NO_CHEQUE_REJECTIONS);

If L_COUNT1 > L_MAX_NO_CHEQUE_REJECTIONS

Then
l_cheque_book_facility := 'N';
End If;

update STTM_CUST_ACCOUNT
set NO_CHEQUE_REJECTIONS = l_NO_CHEQUE_REJECTIONS, --AEDMBU DEFLT9084
CHEQUE_BOOK_FACILITY = l_cheque_book_facility
where CUST_AC_NO = l_detb_rec.txn_acc
and BRANCH_CODE = l_detb_rec.txn_branch;

RETURN TRUE;

EXCEPTION
WHEN OTHERS THEN
dbg('failed to insert in catm_check_details');
dbg(SQLERRM);
ovpks.pr_appendTbl('CG-REJE-006', '');
RETURN FALSE;
END;
--MBU22 SFR#150 ends
END Gwpks_CreateRetailTlr;

You might also like