Professional Documents
Culture Documents
Depks Retailtellerupload
Depks Retailtellerupload
/
*----------------------------------------------------------------------------------
-------
**
** File Name : depks_retailtellerupload.SQL
**
** Module : RT
**
** This source is part of the FLEXCUBE Corporate - Corporate Banking Software
System
** and is copyrighted by Oracle Financial Services Software Limited.
**
** All rights reserved. No part of it may be reproduced, stored in a retrival
system,
** adopted or transmitted in any form or by
means,electronical,mechanical,photographic,
** optic recording or otherwise,translated in any language or computer language,
** without prior written permission of Oracle Financial Services Software Limited.
**
**
** Oracle Financial Services Software Limited.
** 10-11, SDF I, SEEPZ, Andheri (East),
** Mumbai - 400096.
** India
**
** Copyright ? 2006 - 2015 by Oracle Financial Services Software Limited.
-----------------------------------------------------------------------------------
--*/
/
*----------------------------------------------------------------------------------
--
-: CHANGE HISTORY :-
**********************
19-DEC-06 FCC73ITR1 SFR 258 Code commeted becuase ofs_acc value was assigned to
ofs_branch
20-DEC-06 FCC73ITR1 SFR 319 Validation added to check suplicate xref value
23-DEC-06 FCC73ITR1 SFR 439 Waiver flag was not working properly
23-DEC-06 FCC73ITR1 SFR 471 Additinal argument p_source added to validate the
source of request
24-DEC-06 FCC73ITR1 SFR 492 IF Condition for MSGDETS is removed as it is not
mandatory in request
30-DEC-06 FCC73ITR2 SFR 58 Changes to insert into record log and to default the
values in case of FT transaction
11-JUN-2008 FCUBSV.UM_10.1.0.0.0.0.0 ILM Changes
25-JUN-08 FCUBS 10.1 Switch Interface Tuning Changes starts
26-SEP-2008 FC 10.2 24X7 ITR2
29-SEPT-2008 FCUBS10.2 RETRO Changes for SFR 284
06-Jan-2009 FC UBS 10.2.0.0.0.0.2 BM Changes Modified By : Sunil
Modified On : 06-Jan-2009
Modified Reason : Benchmark Performance changes PF-023
Search String : FC 10 Tuning PF-023
4/10/2009 FC103ITR2 SFR-202 Added Beneficiary details to
'Transaction-Details' block
29-OCT-2009 FCUBS11.0 9NT1316 Changes done for Mantas Integration
10-Mar-2010 FCUBS 11.1 Staff account changes Modified By :
Shubhanshu
Modified On : 10-Mar-2010
Modified Reason : Staff account restriction
Search String : Staff account restriction
Changed By : SURENDRA
Changed On : 13-09-2010
Changed Description : Project and Unit Data Capture
Search String : 9NT1428- FCUBS 11.2 CHANGES by Surendra
Changed By : Ravikuamr G
Changed On : 22-Nov-2010
Change Description : FCUBS11.2 SFR 1155 Cheque Issue date validation
based on the account open date.
Search string : fcubs11.2 itr1 sfr 1115
Changed By : Ravikumar G
Changed On : 07-Dec-2010
Description : 9NT1428 FCUBS 11.2 ITR#2 SFR No 67, 91 Done
the Cheque validations before proceeding with the accounting entries
Search string : 9NT1428 ITR#2 SFR No 67, 91
Changed By : Rajesh
Changed On : 19-April-2011
Description : MBU22 SFR#163
Search string : MBU22 SFR#163
Changed By : Arif N
Changed On : 10 Jul-2011
Description : MBU11 DEFLT00007844
Search string : DEFLT00007844
SFR No : DEFLT00011786
Modified on : 5-oct-2011
Description : pos trns are failing.
Search string : DEFLT00011786
Modified By : Praveen
Modified On : 29-Nov-2011
Modified Reason : Composite Mis details are not populating.
Search String : AEDMBU QAPROD SFR#AEDMBUFCC0005 changes
SFR No : prod-060
Modified on : 20-dec-2011
Description : change done to include all the branches for processing
retry transactions.
Search string : prod-060
Modified By : Prasad
Modified On : 08-Mar-2012
Modified Reason : Staff account restriction for retailteller.
Search String : DEFLT00015014 changes
Modified By : Madhu
Modified On : 12-Mar-2012
Modified Reason : Track Receivable enabling was failing for clearing
transactions.
Search String : DEFLT00015411 changes
Modified By : Jayakeerthana
Modified On : 05-April-2012
Modified Reason : BRANCH ID DEFAULT
Search string : MBU47-FCUBS_11.2.0.4.0BOMLAE BranchID
Default(1401,1001)
? MBU47-FCUBS_11.2.0.4.0BOMLAE BranchID
Default(1013)
Changed By : Arun
Changed On : 19-Aug-2012
Change Description : tuning changes
Search String : UAT_UAE_064 changes
Modified On : 24-Aug-2012
Change Description : Assignment of source code
Search String : DEFLT00022407 changes
Changed By : Fazil
Changed On : 23-SEP-2012
Description : PT CHANGES
Search string : FAZIL PT CHANGES
Modified By : Suresh
Modified On : 28-Mar-2013
Search String : DEFLT00025289 changes
** Modified By : Suresh
** Modified On : 7-APR-2013
** Search String : DEFLT00025704 Changes
** Modified By : Suresh
** Modified On : 24-APR-2013
** Modified reason : Commented the above fix as per business confirmation
** Search String : DEFLT00026265 Changes
** Modified By : Arun
** Modified On : 09-Oct-2013
** Search String : AEDMSQFCC0976_1 Changes
** Modified By : Mohan
** Modified On : 07-Dec-2014
** Search String : DEFLT00031687
Modified By :MOHAN
Modified on :12-fEB-2015
Modified Reason : Manual RT Track Creation adding 1007
Search String : Manual RT Track Creation Changes
Modified By :MOHAN
Modified on :03-MAR-2015
Modified Reason : FCUBS_11.2.0.0.0_$BOMLAE_R18 FCYatBranch
Search String : FCUBS_11.2.0.0.0_$BOMLAE_R18 FCYatBranch sanity testing
Defect ID : 3-10605742751
Modified By : Keerthi
Modified On : 18-Apr-2015
Search String : Post Golive changes <18-Apr-2015>
Modified By :MOHAN
Modified on :11-May-2015
Modified Reason : SD737680
Search String :SD737680
Modified By :Arun
Modified on :31-Aug-2015
Modified Reason : cash & cheque withdrawal should not be allowed for TD
accounts
Search String : PR0000606 - TD account changes
Changed By : Niraj Kayastha
Changed On : 10-jan -2015
Description : Virtual account change
Search string : FCUBS_11_2_WB_Virtual Accounts
Modified By : Sangeetha
Modified On : 28-Oct-2015
Modified Reason : Wrong parameter passed.. Account number passed instead
of account name.. Not able to save 1006 screen
Search String : Defect 2703 changes
Modified By : Keerthi
Modified On : 26-Nov-2015
Modified Reason : system is not validating the waiver flag,if charge
Amount is 0.00
Search String : PR00000805
Modified By : Saravana
Modified On : 26-Nov-2015
Search String : Saravana 26-Nov-2015 changes For Cover Ac balance
Modified By : Mohan
Modified On : 21-Dec-2015
Modify Reason : 1006 screen after User modifying the rateson click on
recaluclate it trowing error
"settlement Pick up Failed".
Search String : Defect 3971
Modified by : Vishnu A L
Modified On : 11-Jan-2015
Modified Reason : BOMLAE_R22 Sub Account changes
Search String : BOMLAE_R22_Sub_Account
Modified by : Mohan
Modified On : 20-MAR-2016
Modified Reason : T24 Deal -currency should not be equiated with deal
currency
Search String :4894
Modified by : Gourab
Modified On : 24-MAR-2016
Modified Reason : utilisation posted in Negotiated deal should be in DEAL
CCY, optimization changes are also included
Search String : 4093
** MODIFIED BY : Keerthi
** MODIFIED ON : 04-Apr-2016
** MODIFIED REASON : Country code restricion for Negotiated Deal ref no
** SEARCH STRING : 5026
Modified by : Gourab
Modified On : 03-APR-2016
Modified Reason : Amount precision fix for 8206 and 8207 screens
Search String : 5034 changes
Modified By : Gourab
Modified On : 25-Jun-2016
Modified Reason : T24 Special Deal changes for Phase 2
Search String : T24 Special Deal Phase 2
Modified by : Gourab
Modified On : 04-Sep-2016
Modified Reason : Negotiated deals cannot be used in FX Purchase and FX
sale screen
Search String : Gourab@04sep2016 changes
Modified by : Gourab
Modified On : 06-Sep-2016
Modified Reason : 1408 Failing as system is not deriving the txn acc
Search String : Gourab@06sep2016 changes
Modified by : Gourab
Modified On : 24-Sep-2016
Modified Reason : When deal ccy is sell currency ofs amount is not
converted
Search String : PR00001872 changes Fix for FCAT Sell ccy = deal ccy
Modified by : Raghavendra
Modified On : 02-Mar-2017
Modified Reason : BOMALE TCR Changes added 1402,CRCS functionid
Search String : BOMALE TCR Changes
Modified by : vrashin
Modified On : 28-Mar-2017
Modified Reason : BOMALE ITM Changes
Search String : BOMALE ITM Changes
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 : Varaprasad G
Modified on : 18-Oct-2017
Modified Reason : For EIDA Scan
Search string : For EIDA Scan
Modified by : Bala
Modified On : 7-Nov-2017
Modified Reason : RT_chags on same Fcy withdraw
Search String : release 3A changes
Modified by : Arun
Modified On : 22-May-2018
Modified Reason : credita card number validation
Search String :PR00003698
-----------------------------------------------------------------------------------
--*/
IS
TYPE TYP_STTB_ACC_REC IS RECORD(
TY_STTB_ACCOUNT STTBS_ACCOUNT%ROWTYPE);
TYPE TYP_TBL_STTB_ACCOUNT IS TABLE OF TYP_STTB_ACC_REC INDEX BY VARCHAR2(23); --
size depends on len(branch_code) + len(acc_no)
TBL_STTB_ACCOUNT TYP_TBL_STTB_ACCOUNT;
PKG_ARC_ROW IFTMS_ARC_MAINT%ROWTYPE; --FCUBS 10.1 Switch Interface Tuning
Changes starts
PKG_STTB_ACCOUNT STTBS_ACCOUNT%ROWTYPE; --9NT1428- FCUBS 11.2 Customer Group
CHANGES
------------------------------------------------------
--------------------------------------------------------------
FUNCTION FN_IS_AN_ERROR_RAISED(P_RET IN OUT NUMBER) RETURN BOOLEAN IS
L_ERR_TYPE ERTB_MSGS.TYPE%TYPE;
BEGIN
DBG('Inside fn_is_an_error_raised.. ');
-------------
FOR I IN 1 .. OVPKSS.GL_TBLERROR.COUNT LOOP
L_ERR_TYPE := OVPKSS.FN_GETTYPE(OVPKSS.GL_TBLERROR(I).ERR_CODE);
IF L_ERR_TYPE IN ('E', 'X') THEN
DBG('E', 'Error Found... ' || OVPKSS.GL_TBLERROR(I).ERR_CODE);
P_RET := -1;
RETURN TRUE;
END IF;
END LOOP;
-------------
DBG('finished fn_is_an_error_raised...returning false..');
RETURN FALSE;
EXCEPTION
WHEN OTHERS THEN
DBG('E',
'Unexpected error in fn_is_an_error_raised with SQLERRM :' ||
SQLERRM);
P_RET := -1;
RETURN FALSE;
END FN_IS_AN_ERROR_RAISED;
--------------------------------------------------------------
--FCUBS10.0LOT3 Flexbranch Integration added this funcvtion
P_TY_RETAIL_TELLER.BENEF_ADDR4 := P_TY_RETAILTLR_UPD.BENEF_ADDR4;
P_TY_RETAIL_TELLER.PASSPORTIC_NO := P_TY_RETAILTLR_UPD.PASSPORTIC_NO;
DBG('passport info: ' || P_TY_RETAIL_TELLER.PASSPORTIC_NO);
--- FC103ITR2 SFR-202 Ends
P_TY_RETAIL_TELLER.INSTR_DATE := P_TY_RETAILTLR_UPD.INSTR_DATE; --fcubs 10.5
SFR 3786 changes
P_TY_RETAIL_TELLER.NEGOTIATED_RATE := P_TY_RETAILTLR_UPD.NEGOTIATED_RATE; --
FCUBS11.1 ITR1 SFR-3669
P_TY_RETAIL_TELLER.NEGOTIATION_REF_NO := P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO;
-- FCUBS11.1 ITR1 SFR-3669
----9NT1428- FCUBS 11.2 CHANGES by Surendra Startz
DBG('p_ty_retailtlr_upd.Project_Name -->' ||
P_TY_RETAILTLR_UPD.PROJECT_NAME);
P_TY_RETAIL_TELLER.PROJECT_NAME := P_TY_RETAILTLR_UPD.PROJECT_NAME;
P_TY_RETAIL_TELLER.UNIT_PAYMENT := P_TY_RETAILTLR_UPD.UNIT_PAYMENT;
P_TY_RETAIL_TELLER.DEPOSIT_SLIP_NO := P_TY_RETAILTLR_UPD.DEPOSIT_SLIP_NO;
P_TY_RETAIL_TELLER.UNIT_ID := P_TY_RETAILTLR_UPD.UNIT_ID;
DBG('p_ty_retailtlr_upd.Deposit_Slip_No-->' ||
P_TY_RETAILTLR_UPD.DEPOSIT_SLIP_NO);
-----9NT1428- FCUBS 11.2 CHANGES by Surendra Endz
DBG('assigning msgdets');
DBG('g_viraccno::' || G_VIRACCNO);
P_TY_MSG_DETS.RCVR_CORRESP3 := P_TY_MSGDETS_UPD.RCVR_CORRESP3;
P_TY_MSG_DETS.RCVR_CORRESP4 := P_TY_MSGDETS_UPD.RCVR_CORRESP4;
P_TY_MSG_DETS.RCVR_CORRESP5 := P_TY_MSGDETS_UPD.RCVR_CORRESP5;
P_TY_MSG_DETS.ORDERING_INSTITUTION1 := P_TY_MSGDETS_UPD.ORDERING_INSTITUTION1;
P_TY_MSG_DETS.ORDERING_INSTITUTION2 := P_TY_MSGDETS_UPD.ORDERING_INSTITUTION2;
P_TY_MSG_DETS.ORDERING_INSTITUTION3 := P_TY_MSGDETS_UPD.ORDERING_INSTITUTION3;
P_TY_MSG_DETS.ORDERING_INSTITUTION4 := P_TY_MSGDETS_UPD.ORDERING_INSTITUTION4;
P_TY_MSG_DETS.ORDERING_INSTITUTION5 := P_TY_MSGDETS_UPD.ORDERING_INSTITUTION5;
P_TY_MSG_DETS.RCVR_CORRESP2 := P_TY_MSGDETS_UPD.RCVR_CORRESP2;
P_TY_MSG_DETS.XREF := P_TY_MSGDETS_UPD.XREF;
P_TY_MSG_DETS.ROUTE_CODE := P_TY_MSGDETS_UPD.ROUTE_CODE;
P_TY_MSG_DETS.ORDERING_CUSTOMER1 := P_TY_MSGDETS_UPD.ORDERING_CUSTOMER1;
P_TY_MSG_DETS.ORDERING_CUSTOMER2 := P_TY_MSGDETS_UPD.ORDERING_CUSTOMER2;
P_TY_MSG_DETS.ORDERING_CUSTOMER3 := P_TY_MSGDETS_UPD.ORDERING_CUSTOMER3;
P_TY_MSG_DETS.ORDERING_CUSTOMER4 := P_TY_MSGDETS_UPD.ORDERING_CUSTOMER4;
P_TY_MSG_DETS.ORDERING_CUSTOMER5 := P_TY_MSGDETS_UPD.ORDERING_CUSTOMER5;
P_TY_MSG_DETS.PAYMENT_DETAILS1 := P_TY_MSGDETS_UPD.PAYMENT_DETAILS1;
P_TY_MSG_DETS.PAYMENT_DETAILS2 := P_TY_MSGDETS_UPD.PAYMENT_DETAILS2;
P_TY_MSG_DETS.PAYMENT_DETAILS3 := P_TY_MSGDETS_UPD.PAYMENT_DETAILS3;
P_TY_MSG_DETS.PAYMENT_DETAILS4 := P_TY_MSGDETS_UPD.PAYMENT_DETAILS4;
P_TY_MSG_DETS.ACC_WITH_INSTN1 := P_TY_MSGDETS_UPD.ACC_WITH_INSTN1;
P_TY_MSG_DETS.ACC_WITH_INSTN2 := P_TY_MSGDETS_UPD.ACC_WITH_INSTN2;
P_TY_MSG_DETS.ACC_WITH_INSTN3 := P_TY_MSGDETS_UPD.ACC_WITH_INSTN3;
P_TY_MSG_DETS.ACC_WITH_INSTN4 := P_TY_MSGDETS_UPD.ACC_WITH_INSTN4;
P_TY_MSG_DETS.ACC_WITH_INSTN5 := P_TY_MSGDETS_UPD.ACC_WITH_INSTN5;
P_TY_MSG_DETS.INTERMEDIARY1 := P_TY_MSGDETS_UPD.INTERMEDIARY1;
P_TY_MSG_DETS.INTERMEDIARY2 := P_TY_MSGDETS_UPD.INTERMEDIARY2;
P_TY_MSG_DETS.INTERMEDIARY3 := P_TY_MSGDETS_UPD.INTERMEDIARY3;
P_TY_MSG_DETS.INTERMEDIARY4 := P_TY_MSGDETS_UPD.INTERMEDIARY4;
P_TY_MSG_DETS.INTERMEDIARY5 := P_TY_MSGDETS_UPD.INTERMEDIARY5;
P_TY_MSG_DETS.SNDR_TO_RCVR_INFO1 := P_TY_MSGDETS_UPD.SNDR_TO_RCVR_INFO1;
P_TY_MSG_DETS.SNDR_TO_RCVR_INFO2 := P_TY_MSGDETS_UPD.SNDR_TO_RCVR_INFO2;
P_TY_MSG_DETS.SNDR_TO_RCVR_INFO3 := P_TY_MSGDETS_UPD.SNDR_TO_RCVR_INFO3;
P_TY_MSG_DETS.SNDR_TO_RCVR_INFO4 := P_TY_MSGDETS_UPD.SNDR_TO_RCVR_INFO4;
P_TY_MSG_DETS.SNDR_TO_RCVR_INFO5 := P_TY_MSGDETS_UPD.SNDR_TO_RCVR_INFO5;
P_TY_MSG_DETS.SNDR_TO_RCVR_INFO6 := P_TY_MSGDETS_UPD.SNDR_TO_RCVR_INFO6;
P_TY_MSG_DETS.RCVR_CORRESP1 := P_TY_MSGDETS_UPD.RCVR_CORRESP1;
P_TY_MSG_DETS.BENEF_INSTITUTION1 := P_TY_MSGDETS_UPD.BENEF_INSTITUTION1;
P_TY_MSG_DETS.BENEF_INSTITUTION2 := P_TY_MSGDETS_UPD.BENEF_INSTITUTION2;
P_TY_MSG_DETS.BENEF_INSTITUTION3 := P_TY_MSGDETS_UPD.BENEF_INSTITUTION3;
P_TY_MSG_DETS.BENEF_INSTITUTION4 := P_TY_MSGDETS_UPD.BENEF_INSTITUTION4;
P_TY_MSG_DETS.BENEF_INSTITUTION5 := P_TY_MSGDETS_UPD.BENEF_INSTITUTION5;
P_TY_MSG_DETS.ULT_BENEFICIARY1 := P_TY_MSGDETS_UPD.ULT_BENEFICIARY1;
P_TY_MSG_DETS.ULT_BENEFICIARY2 := P_TY_MSGDETS_UPD.ULT_BENEFICIARY2;
P_TY_MSG_DETS.ULT_BENEFICIARY3 := P_TY_MSGDETS_UPD.ULT_BENEFICIARY3;
P_TY_MSG_DETS.ULT_BENEFICIARY4 := P_TY_MSGDETS_UPD.ULT_BENEFICIARY4;
P_TY_MSG_DETS.ULT_BENEFICIARY5 := P_TY_MSGDETS_UPD.ULT_BENEFICIARY5;
P_TY_MSG_DETS.INT_REIM_INST1 := P_TY_MSGDETS_UPD.INT_REIM_INST1;
P_TY_MSG_DETS.INT_REIM_INST2 := P_TY_MSGDETS_UPD.INT_REIM_INST2;
P_TY_MSG_DETS.INT_REIM_INST3 := P_TY_MSGDETS_UPD.INT_REIM_INST3;
P_TY_MSG_DETS.INT_REIM_INST4 := P_TY_MSGDETS_UPD.INT_REIM_INST4;
P_TY_MSG_DETS.INT_REIM_INST5 := P_TY_MSGDETS_UPD.INT_REIM_INST5;
P_TY_MSG_DETS.ERI_CCY := P_TY_MSGDETS_UPD.ERI_CCY;
P_TY_MSG_DETS.ERI_AMOUNT := P_TY_MSGDETS_UPD.ERI_AMOUNT;
P_TY_MSG_DETS.MSG_TYPE := P_TY_MSGDETS_UPD.MSG_TYPE;
P_TY_MSG_DETS.PAY_RECEIVE := P_TY_MSGDETS_UPD.PAY_RECEIVE;
P_TY_MSG_DETS.COUNTERPARTY := P_TY_MSGDETS_UPD.COUNTERPARTY;
P_TY_MSG_DETS.INSTRUMENT_TYPE := P_TY_MSGDETS_UPD.INSTRUMENT_TYPE;
P_TY_MSG_DETS.INSTRUMENT_NO := P_TY_MSGDETS_UPD.INSTRUMENT_NO;
P_TY_MSG_DETS.CHARGES_DETAILS := P_TY_MSGDETS_UPD.CHARGES_DETAILS;
P_TY_MSG_DETS.OUR_CORRESPONDENT := P_TY_MSGDETS_UPD.OUR_CORRESPONDENT;
P_TY_MSG_DETS.BENEF_INST1_FOR_COVER := P_TY_MSGDETS_UPD.BENEF_INST1_FOR_COVER;
P_TY_MSG_DETS.BENEF_INST2_FOR_COVER := P_TY_MSGDETS_UPD.BENEF_INST2_FOR_COVER;
P_TY_MSG_DETS.BENEF_INST3_FOR_COVER := P_TY_MSGDETS_UPD.BENEF_INST3_FOR_COVER;
P_TY_MSG_DETS.BENEF_INST4_FOR_COVER := P_TY_MSGDETS_UPD.BENEF_INST4_FOR_COVER;
P_TY_MSG_DETS.BENEF_INST5_FOR_COVER := P_TY_MSGDETS_UPD.BENEF_INST5_FOR_COVER;
P_TY_MSG_DETS.RECV_INTERMEDIARY1 := P_TY_MSGDETS_UPD.RECV_INTERMEDIARY1;
P_TY_MSG_DETS.RECV_INTERMEDIARY2 := P_TY_MSGDETS_UPD.RECV_INTERMEDIARY2;
P_TY_MSG_DETS.RECV_INTERMEDIARY3 := P_TY_MSGDETS_UPD.RECV_INTERMEDIARY3;
P_TY_MSG_DETS.RECV_INTERMEDIARY4 := P_TY_MSGDETS_UPD.RECV_INTERMEDIARY4;
P_TY_MSG_DETS.RECV_INTERMEDIARY5 := P_TY_MSGDETS_UPD.RECV_INTERMEDIARY5;
P_TY_MSG_DETS.RECEIVER := P_TY_MSGDETS_UPD.RECEIVER;
P_TY_MSG_DETS.ROUTE_DESC := P_TY_MSGDETS_UPD.ROUTE_DESC;
P_TY_MSG_DETS.COVER_REQUIRED := P_TY_MSGDETS_UPD.COVER_REQUIRED;
P_TY_MSG_DETS.PAYMENT_BY := P_TY_MSGDETS_UPD.PAYMENT_BY;
P_TY_MSG_DETS.TRANSFER_TYPE := P_TY_MSGDETS_UPD.TRANSFER_TYPE;
P_TY_MSG_DETS.SETTLEMENT_AMT := P_TY_MSGDETS_UPD.SETTLEMENT_AMT;
P_TY_MSG_DETS.BANK_OPER_CODE := P_TY_MSGDETS_UPD.BANK_OPER_CODE;
P_TY_MSG_DETS.INSTR_CODE := P_TY_MSGDETS_UPD.INSTR_CODE;
P_TY_MSG_DETS.TRAN_TYPE_CODE := P_TY_MSGDETS_UPD.TRAN_TYPE_CODE;
P_TY_MSG_DETS.REGULATORY_REP1 := P_TY_MSGDETS_UPD.REGULATORY_REP1;
P_TY_MSG_DETS.REGULATORY_REP2 := P_TY_MSGDETS_UPD.REGULATORY_REP2;
P_TY_MSG_DETS.REGULATORY_REP3 := P_TY_MSGDETS_UPD.REGULATORY_REP3;
P_TY_MSG_DETS.ENVELOPE_CONTENTS1 := P_TY_MSGDETS_UPD.ENVELOPE_CONTENTS1;
P_TY_MSG_DETS.ENVELOPE_CONTENTS2 := P_TY_MSGDETS_UPD.ENVELOPE_CONTENTS2;
P_TY_MSG_DETS.ENVELOPE_CONTENTS3 := P_TY_MSGDETS_UPD.ENVELOPE_CONTENTS3;
P_TY_MSG_DETS.ENVELOPE_CONTENTS4 := P_TY_MSGDETS_UPD.ENVELOPE_CONTENTS4;
P_TY_MSG_DETS.ENVELOPE_CONTENTS5 := P_TY_MSGDETS_UPD.ENVELOPE_CONTENTS5;
P_TY_MSG_DETS.CR_VALUE_DT := P_TY_MSGDETS_UPD.CR_VALUE_DT;
P_TY_MSG_DETS.DR_VALUE_DT := P_TY_MSGDETS_UPD.DR_VALUE_DT;
P_TY_MSG_DETS.COUNTRY_CODE := P_TY_MSGDETS_UPD.COUNTRY_CODE;
---
P_TY_MCKDETAILS.AMOUNT_TAG := P_TY_MCKDETAILS_UPD.AMOUNT_TAG;
P_TY_MCKDETAILS.TAG_CCY := P_TY_MCKDETAILS_UPD.TAG_CCY;
P_TY_MCKDETAILS.ACC_BRANCH := P_TY_MCKDETAILS_UPD.ACC_BRANCH;
P_TY_MCKDETAILS.ACCOUNT := P_TY_MCKDETAILS_UPD.ACCOUNT;
P_TY_MCKDETAILS.ACC_CCY := P_TY_MCKDETAILS_UPD.ACC_CCY;
P_TY_MCKDETAILS.EX_RATE := P_TY_MCKDETAILS_UPD.EX_RATE;
P_TY_MCKDETAILS.TRANSFER_TYPE := P_TY_MCKDETAILS_UPD.TRANSFER_TYPE;
P_TY_MCKDETAILS.INSTRUMENT_TYPE := P_TY_MCKDETAILS_UPD.INSTRUMENT_TYPE;
P_TY_MCKDETAILS.INSTRUMENT_NO := P_TY_MCKDETAILS_UPD.INSTRUMENT_NO;
P_TY_MCKDETAILS.ULT_BENEFICIARY1 := P_TY_MCKDETAILS_UPD.ULT_BENEFICIARY1;
P_TY_MCKDETAILS.ULT_BENEFICIARY2 := P_TY_MCKDETAILS_UPD.ULT_BENEFICIARY2;
P_TY_MCKDETAILS.ULT_BENEFICIARY3 := P_TY_MCKDETAILS_UPD.ULT_BENEFICIARY3;
P_TY_MCKDETAILS.ULT_BENEFICIARY4 := P_TY_MCKDETAILS_UPD.ULT_BENEFICIARY4;
P_TY_MCKDETAILS.ULT_BENEFICIARY5 := P_TY_MCKDETAILS_UPD.ULT_BENEFICIARY5;
P_TY_MCKDETAILS.CLEARING_NETWORK := P_TY_MCKDETAILS_UPD.CLEARING_NETWORK;
P_TY_MCKDETAILS.PAYMENT_BY := P_TY_MCKDETAILS_UPD.PAYMENT_BY;
P_TY_MCKDETAILS.OTHER_DETAILS1 := P_TY_MCKDETAILS_UPD.OTHER_DETAILS1;
P_TY_MCKDETAILS.OTHER_DETAILS2 := P_TY_MCKDETAILS_UPD.OTHER_DETAILS2;
P_TY_MCKDETAILS.OTHER_DETAILS3 := P_TY_MCKDETAILS_UPD.OTHER_DETAILS3;
P_TY_MCKDETAILS.OTHER_DETAILS4 := P_TY_MCKDETAILS_UPD.OTHER_DETAILS4;
P_TY_MCKDETAILS.OTHER_DETAILS5 := P_TY_MCKDETAILS_UPD.OTHER_DETAILS5;
P_TY_MCKDETAILS.OTHER_DETAILS6 := P_TY_MCKDETAILS_UPD.OTHER_DETAILS6;
P_TY_MCKDETAILS.OTHER_DETAILS_TYPE1 := P_TY_MCKDETAILS_UPD.OTHER_DETAILS_TYPE1;
P_TY_MCKDETAILS.OTHER_DETAILS_TYPE2 := P_TY_MCKDETAILS_UPD.OTHER_DETAILS_TYPE2;
P_TY_MCKDETAILS.OTHER_DETAILS_TYPE3 := P_TY_MCKDETAILS_UPD.OTHER_DETAILS_TYPE3;
P_TY_MCKDETAILS.OTHER_DETAILS_TYPE4 := P_TY_MCKDETAILS_UPD.OTHER_DETAILS_TYPE4;
P_TY_MCKDETAILS.OTHER_DETAILS_TYPE5 := P_TY_MCKDETAILS_UPD.OTHER_DETAILS_TYPE5;
P_TY_MCKDETAILS.OTHER_DETAILS_TYPE6 := P_TY_MCKDETAILS_UPD.OTHER_DETAILS_TYPE6;
P_TY_RETAIL_TELLER.VIR_ACC_NO := G_VIRACCNO; --FCUBS_11_2_WB_Virtual
Accounts
P_TY_RETAIL_TELLER.DR_VIR_ACC_NO := G_DRVIRACCNO; --Parul Changes
P_TY_RETAIL_TELLER.INVOICE_NO := G_INVOICENO; --phase2 chnages for
invoice number CHANGE
/*
p_ty_mckdetails.contract_ref_no:=p_ty_mckdetails_upd.contract_ref_no;
p_ty_mckdetails.event_seq_no :=p_ty_mckdetails_upd.event_seq_no;
p_ty_mckdetails.expiry_date :=p_ty_mckdetails_upd.expiry_date;
p_ty_mckdetails.generation_date:=p_ty_mckdetails_upd.generation_date;
p_ty_mckdetails.settlement_amt :=p_ty_mckdetails_upd.settlement_amt;
p_ty_mckdetails.printed_stationary_no
p_ty_mckdetails_upd.printed_stationary_no;
p_ty_mckdetails.payable_branch :=p_ty_mckdetails_upd.payable_branch;
p_ty_mckdetails.routing_no :=p_ty_mckdetails_upd.routing_no;
p_ty_mckdetails.issuing_bank :=p_ty_mckdetails_upd.issuing_bank;
*/
P_TY_RETAIL_TELLER.FRM_SUB_ACC := G_FRM_SUBACCNO; --BOMLAE_R22_Sub_Account
P_TY_RETAIL_TELLER.TO_SUB_ACC := G_TO_SUBACCNO; --BOMLAE_R22_Sub_Account
P_TY_RETAIL_TELLER.CHARGE_TYPE := G_CHARGETYPE; -- Changes for Third party Cash
withdrawal
/* --FCUBS_11.2.0.0.0$BOMLAE_Customer_Choreography_Financial_Transactions
start
P_TY_RETAIL_TELLER.UPLOAD_REF_NO := G_UPD_REF;
P_TY_RETAIL_TELLER.OTP_TEXT := G_OTP_TXT;
P_TY_RETAIL_TELLER.SEND_OTP_TO := G_SND_OTP;
P_TY_RETAIL_TELLER.SIGN_VERIFIED := G_SIG_VER;
P_TY_RETAIL_TELLER.ORIGINAL_VERIFIED := G_ORG_VER;
P_TY_RETAIL_TELLER.DOC_REF_NO := G_DOC_REF;
--FCUBS_11.2.0.0.0$BOMLAE_Customer_Choreography_Financial_Transactions end*/
END FN_COPY_UPLOAD_TO_BASE;
--copy from upload to base - end
--------------------------------------------------------------
PROCEDURE PR_REGISTER_OVD(P_XREF IN DETBS_RTL_TELLER.XREF%TYPE,
P_BRN IN DETBS_RTL_TELLER.BRANCH_CODE%TYPE,
P_TYP_ERR IN OVPKSS.TBL_ERROR,
P_RET IN OUT NUMBER) IS
L_ERR_TYPE ERTB_MSGS.TYPE%TYPE;
BEGIN
DBG('Inside pr_register_ovd.. ');
IF P_TYP_ERR.COUNT > 0 THEN
FOR OVR_CNT IN P_TYP_ERR.FIRST .. P_TYP_ERR.LAST LOOP
DBG('##### Error Code ' || P_TYP_ERR(OVR_CNT).ERR_CODE);
DBG('##### Error Parm ' || P_TYP_ERR(OVR_CNT).PARAMS);
L_ERR_TYPE := OVPKSS.FN_GETTYPE(P_TYP_ERR(OVR_CNT).ERR_CODE); -- QQQQQQQQ :
SSanjeev Temp
DBG('##### Error type ' || L_ERR_TYPE);
IF L_ERR_TYPE = 'O' THEN
IFPKSS_FIN_OVD.PR_SET_TRACKED_ENTITY(P_BRN,
P_XREF,
'MISC',
'N',
'DUMMY');
IFPKSS_FIN_OVD.PR_REGISTER_OVD(P_TYP_ERR(OVR_CNT).ERR_CODE);
END IF;
END LOOP;
END IF;
DBG('finished pr_register_ovd');
RETURN;
EXCEPTION
WHEN OTHERS THEN
DBG('E',
'Unexpected error in pr_register_ovd with SQLERRM :' || SQLERRM);
P_RET := -1;
END PR_REGISTER_OVD;
-------------------------------------------------------------------
PROCEDURE PR_RESOLVE_ROUTE(P_AWI IN VARCHAR2,
P_CCY IN VARCHAR2,
P_BRANCH IN VARCHAR2,
P_COUNTRY IN VARCHAR2,
P_ROUTE_CODE OUT VARCHAR2) IS
BEGIN
DBG('AWI ' || P_AWI || ' Ccy ' || P_CCY || ' Branch ' || P_BRANCH ||
' Country ' || P_COUNTRY);
BEGIN
SELECT ROUTE_CODE
INTO P_ROUTE_CODE
FROM CSTMS_AWI_TRANSFER_ROUTE
WHERE BRANCH_CODE = P_BRANCH
AND CCY_CODE = P_CCY
AND COUNTRY_CODE = P_COUNTRY
AND AWI_CODE = P_AWI
AND RECORD_STAT = 'O';
EXCEPTION
WHEN NO_DATA_FOUND THEN
BEGIN
SELECT ROUTE_CODE
INTO P_ROUTE_CODE
FROM CSTMS_AWI_TRANSFER_ROUTE
WHERE BRANCH_CODE = P_BRANCH
AND CCY_CODE = P_CCY
AND COUNTRY_CODE = P_COUNTRY
AND AWI_CODE = '*.*'
AND RECORD_STAT = 'O';
EXCEPTION
WHEN NO_DATA_FOUND THEN
P_ROUTE_CODE := NULL;
END;
END;
DBG('Got route code as ' || P_ROUTE_CODE);
END PR_RESOLVE_ROUTE;
----------------
IF P_CR_ACCOUNT IS NULL THEN
P_CR_ACCOUNT := L_ARC_SETTLE.CREDIT_ACCOUNT;
P_CR_BRANCH := L_ARC_SETTLE.CREDIT_ACCOUNT_BRANCH;
END IF;
----------------
DBG('The p_cr_account l_arc_settle.credit_account is :' ||
P_CR_ACCOUNT);
DBG('The p_cr_branch l_arc_settle.credit_account_branch is:' ||
P_CR_BRANCH);
----------------
--11-JUN-2008 FCUBSV.UM_10.1.0.0.0.0.0 ILM Changes start
IF P_CR_BRANCH IS NOT NULL AND P_CR_ACCOUNT IS NOT NULL THEN
BEGIN
-- FCC73ITR2 SFR 58
SELECT CUST_NO
INTO L_CUST
FROM STTMS_CUST_ACCOUNT
WHERE CUST_AC_NO = P_CR_ACCOUNT
AND BRANCH_CODE = P_CR_BRANCH;
SELECT BIC_CODE
INTO P_ARC_SETTLE.OUR_CORRESPONDENT
FROM ISTMS_BIC_DIRECTORY
WHERE CUSTOMER_NO = L_CUST;
EXCEPTION
WHEN OTHERS THEN
P_RET := -1;
OVPKSS.PR_APPENDTBL('GW-RTL-018', L_CUST);
DBG('E',
'In exception while in fn_arc_settle_pickup with sqlerrm : ' ||
SQLERRM);
RETURN FALSE;
END;
END IF;
--11-JUN-2008 FCUBSV.UM_10.1.0.0.0.0.0 ILM Changes end
----------------
DBG('The p_arc_settle.OUR_CORRESPONDENT is:' ||
P_ARC_SETTLE.OUR_CORRESPONDENT);
P_RET := 0;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
P_RET := -1;
OVPKSS.PR_APPENDTBL('GW-RTL-017', NULL);
DBG('E',
'In exception while in fn_arc_settle_pickup with sqlerrm : ' ||
SQLERRM);
RETURN FALSE;
END FN_ARC_SETTLE_PICKUP;
-----------------------------------------------------------------------------------
----
FUNCTION FN_ARC_SETTLE_SUPERSCRIBE(P_TY_RETAIL_TELLER IN OUT DETBS_RTL_TELLER
%ROWTYPE --typeconv typ_retail_teller_rec
,
P_ARC_SETTLE IN CSTBS_ARC_SETTLE
%ROWTYPE,
P_ARC_SETTLE_DEST IN OUT CSTBS_ARC_SETTLE
%ROWTYPE,
P_RET IN OUT NUMBER)
RETURN BOOLEAN IS
BEGIN
DBG('In Superscribe arc settle ');
--dbg('In Superscribe arc settle '||p_arc_settle_upld(1));
-- p_arc_settle_dest.xref := p_arc_settle.xref; -- FCC73ITR1 SFR 492
P_ARC_SETTLE_DEST.XREF := P_TY_RETAIL_TELLER.XREF;
P_ARC_SETTLE_DEST.ROUTE_CODE := P_ARC_SETTLE.ROUTE_CODE;
P_ARC_SETTLE_DEST.TRANSFER_TYPE := P_ARC_SETTLE.TRANSFER_TYPE;
P_ARC_SETTLE_DEST.BANK_OPER_CODE := P_ARC_SETTLE.BANK_OPER_CODE;
P_ARC_SETTLE_DEST.INSTR_CODE := P_ARC_SETTLE.INSTR_CODE;
P_ARC_SETTLE_DEST.TRAN_TYPE_CODE := P_ARC_SETTLE.TRAN_TYPE_CODE;
-------------------------
P_ARC_SETTLE_DEST.CR_VALUE_DT := P_ARC_SETTLE.CR_VALUE_DT;
DBG('In Superscribe arc settle calling depks_rtl_teller ');
DEPKS_RTL_TELLER.PR_SET_CR_VAL_DT(P_ARC_SETTLE_DEST.CR_VALUE_DT);
-------------------------
P_ARC_SETTLE_DEST.DR_VALUE_DT := P_ARC_SETTLE.DR_VALUE_DT;
DEPKS_RTL_TELLER.PR_SET_CR_VAL_DT(P_ARC_SETTLE_DEST.DR_VALUE_DT);
P_ARC_SETTLE_DEST.ACC_WITH_INSTN1 := NVL(P_ARC_SETTLE_DEST.ACC_WITH_INSTN1,
P_ARC_SETTLE.ACC_WITH_INSTN1);
P_ARC_SETTLE_DEST.ACC_WITH_INSTN2 := NVL(P_ARC_SETTLE_DEST.ACC_WITH_INSTN2,
P_ARC_SETTLE.ACC_WITH_INSTN2);
P_ARC_SETTLE_DEST.ACC_WITH_INSTN3 := NVL(P_ARC_SETTLE_DEST.ACC_WITH_INSTN3,
P_ARC_SETTLE.ACC_WITH_INSTN3);
P_ARC_SETTLE_DEST.ACC_WITH_INSTN4 := NVL(P_ARC_SETTLE_DEST.ACC_WITH_INSTN4,
P_ARC_SETTLE.ACC_WITH_INSTN4);
P_ARC_SETTLE_DEST.ACC_WITH_INSTN5 := NVL(P_ARC_SETTLE_DEST.ACC_WITH_INSTN5,
P_ARC_SETTLE.ACC_WITH_INSTN5);
P_ARC_SETTLE_DEST.COUNTRY_CODE := NVL(P_ARC_SETTLE_DEST.COUNTRY_CODE,
P_ARC_SETTLE.COUNTRY_CODE);
P_ARC_SETTLE_DEST.ACC_WITH_INSTN1);
P_ARC_SETTLE_DEST.BENEF_INST2_FOR_COVER :=
NVL(P_ARC_SETTLE_DEST.BENEF_INST2_FOR_COVER,
P_ARC_SETTLE_DEST.ACC_WITH_INSTN2);
P_ARC_SETTLE_DEST.BENEF_INST3_FOR_COVER :=
NVL(P_ARC_SETTLE_DEST.BENEF_INST3_FOR_COVER,
P_ARC_SETTLE_DEST.ACC_WITH_INSTN3);
P_ARC_SETTLE_DEST.BENEF_INST4_FOR_COVER :=
NVL(P_ARC_SETTLE_DEST.BENEF_INST4_FOR_COVER,
P_ARC_SETTLE_DEST.ACC_WITH_INSTN4);
P_ARC_SETTLE_DEST.BENEF_INST5_FOR_COVER :=
NVL(P_ARC_SETTLE_DEST.BENEF_INST5_FOR_COVER,
P_ARC_SETTLE_DEST.ACC_WITH_INSTN5);
END IF;
--nvl changes ends
--FCUBS11.0 9NT1316 MANTAS INTEGRATION CHANGES DONE ON 29-OCT-2009 BY P.BALAJI
STARTS
P_ARC_SETTLE_DEST.ACCT_WITH_INST_CTRY :=
NVL(P_ARC_SETTLE_DEST.ACCT_WITH_INST_CTRY,
P_ARC_SETTLE.ACCT_WITH_INST_CTRY);
P_ARC_SETTLE_DEST.INTERMEDIARY_CTRY :=
NVL(P_ARC_SETTLE_DEST.INTERMEDIARY_CTRY,
P_ARC_SETTLE.INTERMEDIARY_CTRY);
P_ARC_SETTLE_DEST.RECEIVER_CORRESP_CTRY :=
NVL(P_ARC_SETTLE_DEST.RECEIVER_CORRESP_CTRY,
P_ARC_SETTLE.RECEIVER_CORRESP_CTRY);
P_ARC_SETTLE_DEST.BEN_INST_CTRY := NVL(P_ARC_SETTLE_DEST.BEN_INST_CTRY,
P_ARC_SETTLE.BEN_INST_CTRY);
P_ARC_SETTLE_DEST.REIM_CTRY := NVL(P_ARC_SETTLE_DEST.REIM_CTRY,
P_ARC_SETTLE.REIM_CTRY);
P_ARC_SETTLE_DEST.RECVR_INTERMED_CTRY :=
NVL(P_ARC_SETTLE_DEST.RECVR_INTERMED_CTRY,
P_ARC_SETTLE.RECVR_INTERMED_CTRY);
P_ARC_SETTLE_DEST.BEN_INST_COVER_CTRY :=
NVL(P_ARC_SETTLE_DEST.BEN_INST_COVER_CTRY,
P_ARC_SETTLE.BEN_INST_COVER_CTRY);
--FCUBS11.0 9NT1316 MANTAS INTEGRATION CHANGES DONE ON 29-OCT-2009 BY P.BALAJI
ENDS
IF L_ROW = 1 THEN
P_DETB_RTL_TLR.MIS_HEAD_1 := P_TBL_CHGDETS(L_ROW).MIS_HEAD;
IF NVL(P_TBL_CHGDETS(L_ROW).WAIVER, 'N') = 'Y' THEN
-- FCC73ITR1 SFR 439
P_DETB_RTL_TLR.CHG_AMT := 0;
ELSE
P_DETB_RTL_TLR.CHG_AMT := P_TBL_CHGDETS(L_ROW).CHG_AMT;
END IF;
P_DETB_RTL_TLR.CHG_CCY := P_TBL_CHGDETS(L_ROW).COD_CHG_CCY;
P_DETB_RTL_TLR.CHG_GL := P_TBL_CHGDETS(L_ROW).CHG_GL;
P_DETB_RTL_TLR.TXN_CODE := P_TBL_CHGDETS(L_ROW).TXN_CODE;
P_DETB_RTL_TLR.NETTING_IND := NVL(P_TBL_CHGDETS(L_ROW).NETTING_IND,
'N');
-----------------------------------------------------------------------------------
----
/*
FUNCTION fn_validate_acc(p_account IN VARCHAR2,
p_branch IN VARCHAR2,
p_customer OUT VARCHAR2,
p_gl_type OUT VARCHAR2,
p_currency IN OUT VARCHAR2,
p_ret IN OUT NUMBER,
p_err_code IN OUT VARCHAR2,
p_err_param IN OUT VARCHAR2)
RETURN BOOLEAN
-- tbl_sttb_account(p_index).ty_sttb_account
*/
FUNCTION FN_VALIDATE_ACC(P_TY_RETAILTLR_UPD IN OUT DETB_UPLOAD_RTL_TELLER%ROWTYPE
--typeconv detbs_rtl_teller%ROWTYPE
,
P_STTB_ACCOUNT IN OUT STTB_ACCOUNT%ROWTYPE,
P_CURRENCY IN OUT VARCHAR2,
P_RET IN OUT NUMBER,
P_ERR_CODE IN OUT VARCHAR2,
P_ERR_PARAM IN OUT VARCHAR2) RETURN BOOLEAN IS
L_HEAD_OFFICE STTMS_BRANCH.BRANCH_CODE%TYPE;
LO_HO_RES GLTMS_GLMASTER.HO_RES%TYPE;
L_LCY_REC CVPKSS_UTILS.REC_BRNLCY;
L_BRN_LCY DETBS_RTL_TELLER.TXN_CCY%TYPE;
BEGIN
DBG('Inside fn_validate_acc');
DBG('Accout No :' || P_STTB_ACCOUNT.AC_GL_NO);
DBG('Branch Code :' || P_STTB_ACCOUNT.BRANCH_CODE);
IF NOT CVPKS_UTILS.GET_STTB_ACC(P_STTB_ACCOUNT.BRANCH_CODE,
P_STTB_ACCOUNT.AC_GL_NO,
P_STTB_ACCOUNT) THEN
DBG('failed while returning from Cvpks_Utils.get_sttb_acc');
OVPKSS.PR_APPENDTBL('DE-TUD-055', NULL);
RETURN FALSE;
END IF;
DBG('after getting sttb_acc');
-----------------------
IF L_BRN_LCY IS NULL THEN
CVPKS_UTILS.GET_BRANCH_LCY(P_TY_RETAILTLR_UPD.BRANCH_CODE, L_LCY_REC);
L_BRN_LCY := L_LCY_REC.BRN_LCY;
END IF;
-----------------------
--'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
/* FCC5.4 Reverting this. To disallow Posting into Cash GL for Transctions from
Web Branch / Retail Teller.
Funda is : To be able to Post into Cash GL in FCC, youll need to attach till
to the txn, which we
dont do for txns from branch. As for tracking purposes, the bank can
always open a Normal GL,
call it cash and map this onto RT products. Also, this flag in the
product maintenance shall be
done away with.
*/
DBG('gl_aclass_type' || P_STTB_ACCOUNT.GL_ACLASS_TYPE);
DBG('auth_stat' || P_STTB_ACCOUNT.AUTH_STAT);
DBG('ac_gl_rec_status' || P_STTB_ACCOUNT.AC_GL_REC_STATUS);
IF P_STTB_ACCOUNT.GL_ACLASS_TYPE = '5' -- For cash GL
OR P_STTB_ACCOUNT.AUTH_STAT <> 'A' OR
P_STTB_ACCOUNT.AC_GL_REC_STATUS <> 'O' THEN
DBG('failed while validating gl_aclass_type for cash GL');
OVPKSS.PR_APPENDTBL('DE-TUD-055', NULL);
RETURN FALSE;
END IF;
--'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
DBG('cheking if gl');
IF P_STTB_ACCOUNT.AC_OR_GL = 'G' THEN
L_HEAD_OFFICE := GLOBAL.HEAD_OFFICE;
BEGIN
SELECT A.HO_RES
INTO LO_HO_RES
FROM GLTMS_GLMASTER A
WHERE GL_CODE = P_STTB_ACCOUNT.AC_GL_NO
AND (A.HO_RES = 'A' OR (A.HO_RES = 'B' AND (P_STTB_ACCOUNT.BRANCH_CODE
<>
L_HEAD_OFFICE)) OR (A.HO_RES = 'H' AND (P_STTB_ACCOUNT.BRANCH_CODE =
L_HEAD_OFFICE)));
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBG('E', 'failed while validating gl branch code');
OVPKSS.PR_APPENDTBL('DE-TUD-049', NULL);
RETURN FALSE;
END;
--'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
IF P_STTB_ACCOUNT.AC_OPEN_DATE >
NVL(P_TY_RETAILTLR_UPD.VALUE_DT, GLOBAL.APPLICATION_DATE) THEN
P_ERR_CODE := 'GW-RTL-019';
P_ERR_PARAM := P_ERR_PARAM || GLOBAL.APPLICATION_DATE || '~' ||
P_STTB_ACCOUNT.AC_OPEN_DATE || '~' ||
P_STTB_ACCOUNT.AC_GL_NO || '~;'; -- Added by Gururaj CM for
Kernel Testing SFR #396.
DBG('VALUE DATE1 > OPENING DATE ' || P_ERR_PARAM);
OVPKSS.PR_APPENDTBL(P_ERR_CODE, P_ERR_PARAM);
RETURN FALSE;
END IF;
ELSE
IF P_CURRENCY IS NULL THEN
OVPKSS.PR_APPENDTBL('DE-TUD-026', NULL);
RETURN FALSE;
END IF;
END IF;
--'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
DBG('Successfully finished fn_validate_acc for ' ||
P_STTB_ACCOUNT.AC_GL_NO);
RETURN TRUE;
-------------------------------
EXCEPTION
WHEN OTHERS THEN
DBG('E',
'In exception while calling fn_validate_acc for ' ||
P_STTB_ACCOUNT.AC_GL_NO || ' with sqlerrm :' || SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-002', NULL);
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_ACC;
-------------------------------
-- FCC73ITR2 SFR 58 Start
FUNCTION FN_DEFAULT_FT_VALUES(P_TY_RETAIL_TELLER IN OUT DETBS_RTL_TELLER%ROWTYPE
--typeconv typ_retail_teller_rec
,
P_ARC_SETTLE IN OUT CSTBS_ARC_SETTLE%ROWTYPE,
P_RET IN OUT NUMBER)
RETURN BOOLEAN IS
L_ARC_SETTLE CSTMS_ARC_SETTLE%ROWTYPE;
L_ROUTECODE DETBS_RTL_TELLER.ROUTE_CODE%TYPE;
BEGIN
DBG('Inside fn_default_FT_values....');
L_ROUTECODE := P_TY_RETAIL_TELLER.ROUTE_CODE;
DBG('Received route code as ' || L_ROUTECODE);
IF L_ROUTECODE IS NULL THEN
IF L_ROUTECODE IS NULL THEN
PR_RESOLVE_ROUTE(P_ARC_SETTLE.ACC_WITH_INSTN1,
P_TY_RETAIL_TELLER.TXN_CCY,
P_TY_RETAIL_TELLER.BRANCH_CODE,
P_ARC_SETTLE.COUNTRY_CODE,
L_ROUTECODE);
END IF;
IF L_ROUTECODE IS NULL THEN
DBG('FT Problem');
OVPKSS.PR_APPENDTBL('FTARC001', NULL);
DBG('Could not resolve Transfer Route.');
P_RET := -1;
RETURN FALSE;
ELSE
DBG('Resolved route as ' || L_ROUTECODE);
END IF;
END IF;
-----------
BEGIN
SELECT *
INTO L_ARC_SETTLE
FROM CSTM_ARC_SETTLE
WHERE ROUTE_CODE = L_ROUTECODE;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
--p_ty_retail_teller.route_code := l_arc_settle.route_code; ----typeconv and
added
P_ARC_SETTLE.ROUTE_CODE := L_ROUTECODE;
BEGIN
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Exception caught in fn_validate_txn_ccy with : ' || SQLCODE || ':' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-001',
P_DETB_RTL_TLR.TXN_CCY || '~' ||
'Transaction Ccy' || '~');
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_TXN_CCY;
------------------------------------------------
FUNCTION FN_VALIDATE_OFS_CCY(P_DETB_RTL_TLR IN DETBS_RTL_TELLER%ROWTYPE,
P_RET IN OUT NUMBER) RETURN BOOLEAN IS
L_CNT NUMBER := 0;
BEGIN
DBG('Inside fn_validate_txn_ccy...');
BEGIN
SELECT 1
INTO L_CNT
FROM CYTMS_CCY_DEFN
WHERE CCY_CODE = P_DETB_RTL_TLR.OFS_CCY
AND RECORD_STAT = 'O'
AND AUTH_STAT = 'A';
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBG('Exception caught in fn_validate_txn_ccy with : ' || SQLCODE || ':' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-001',
P_DETB_RTL_TLR.OFS_CCY || '~' || 'Offset Ccy' || '~');
RETURN FALSE;
END;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Exception caught in fn_validate_ofs_ccy with : ' || SQLCODE || ':' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-001',
P_DETB_RTL_TLR.OFS_CCY || '~' || 'Offset Ccy' || '~');
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_OFS_CCY;
------------------------------------------------
-- FCC73ITR1 SFR 319 Start
FUNCTION FN_VALIDATE_XREF_NO(P_XREF_NO IN DETBS_RTL_TELLER.XREF%TYPE,
P_RET IN OUT NUMBER) RETURN BOOLEAN IS
L_ERR_CODE ERTBS_MSGS.ERR_CODE%TYPE;
L_ERR_PARAM VARCHAR2(200);
L_COUNT NUMBER := 0;
BEGIN
DBG('Inside fn_validate_xref_no...');
SELECT COUNT(1)
INTO L_COUNT
FROM DETB_RTL_TELLER
WHERE XREF = P_XREF_NO;
IF L_COUNT <> 0 THEN
DBG('duplicate xref found for xref : ' || P_XREF_NO);
OVPKSS.PR_APPENDTBL('GW-RTL-008', P_XREF_NO || '~');
P_RET := -1;
RETURN FALSE;
END IF;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Exception caught in fn_validate_branch_code with : ' || SQLCODE || ':'
||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-001', P_XREF_NO || '~');
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_XREF_NO;
-- FCC73ITR1 SFR 319 End
------------------------------------------------
-- VIRTUAL ACCOUNT CHANGE starts
FUNCTION FN_VALIDATE_VIRTUAL_ACC(P_VIR_ACC_NO IN DETBS_RTL_TELLER.VIR_ACC_NO
%TYPE,
P_DR_VIR_ACC_NO IN DETBS_RTL_TELLER.VIR_ACC_NO
%TYPE, --Parul Changes
--p_ty_upld_Rec DETB_UPLOAD_RTL_TELLER
%ROWTYPE,-- 1203_ITR1_18380572
P_TY_UPLD_REC IN OUT DETB_UPLOAD_RTL_TELLER
%ROWTYPE, -- 1203_ITR1_18380572
P_RET IN OUT NUMBER)
RETURN BOOLEAN IS
L_ERR_CODE ERTBS_MSGS.ERR_CODE%TYPE;
L_ERR_PARAM VARCHAR2(200);
-- l_vir_acc_no sttm_virtual_accounts.vir_acc_no%TYPE; -- Defect 2703
changes
L_VIR_ACC_NAME STTM_VIRTUAL_ACCOUNTS.VIR_ACC_NAME%TYPE; -- Defect 2703
changes
L_DR_VIR_ACC_NAME STTM_VIRTUAL_ACCOUNTS.VIR_ACC_NAME%TYPE; -- Parul Changes
L_SCR_VIR_ACC_NO STTM_VIRTUAL_ACCOUNTS.VIR_ACC_NO%TYPE;
L_SCR_VIR_TXN_CCY VARCHAR2(3);
L_ACTUAL_ACC_CCY VARCHAR2(3);
L_CUST_AC_NO STTM_CUST_ACCOUNT.CUST_AC_NO%TYPE;
L_DR_CUST_AC_NO STTM_CUST_ACCOUNT.CUST_AC_NO%TYPE;-- Parul Changes
L_BRANCH_CODE STTM_CUST_ACCOUNT.BRANCH_CODE%TYPE;
L_IS_VIRTUAL_ACC VARCHAR2(1) := 'N';
L_COUNT NUMBER := 0;
L_CCY VARCHAR2(3);
L_AC_OPEN_DT DATE;
L_STATUS VARCHAR2(1);
L_FLEXSWITCH_VIR BOOLEAN := FALSE; -- 1203_ITR1_18380572
-- Virtual Account Validation changes added starts
L_DEF_CCY VARCHAR2(3);
L_PHY_ACC STTM_VIRTUAL_ACCOUNTS.PHY_ACC%TYPE;
L_CNT1 NUMBER := 0;
L_TMP_CCY VARCHAR2(3);
L_CNT2 NUMBER := 0;
L_CNT3 NUMBER := 0;
-- Virtual Account Validation changes added ends
BEGIN
-- 1203_ITR1_18380572 STARTS
IF P_TY_UPLD_REC.SCODE = 'FLEXSWITCH' AND P_VIR_ACC_NO IS NOT NULL AND
P_TY_UPLD_REC.OFS_ACC IS NULL THEN
DBG('Came here when source is FLEXSWITCH');
L_FLEXSWITCH_VIR := TRUE;
L_CCY := G_VIRACCNO_CCY;
DBG('l_ccy :::: ' || L_CCY);
END IF;
-- 1203_ITR1_18380572 ENDS
IF P_TY_UPLD_REC.SCODE <> 'FLEXSWITCH' THEN
-- 1203_ITR1_18380572
-- Virtual Account Validation changes commented starts
/*
IF ( --nvl(gwpks_util.pkg_func, '***') = '1401' OR --After discuusion with
Donald if tran curency BHD and V/A account cccy is AED then it should convert
--Ankit changes because of 8207 transaction wil be tran so moved this in
other if
-- nvl(gwpks_util.pkg_func, '***') = '8207' OR
nvl(gwpks_util.pkg_func, '***') = '1006')
THEN
l_ccy := p_ty_upld_rec.ofs_ccy;
dbg('l_ccy after assign' || l_ccy);
END IF;
SELECT COUNT(1)
INTO L_CNT2
FROM STTM_VIRTUAL_ACCOUNTS
WHERE VIR_ACC_NO = P_VIR_ACC_NO
AND RECORD_STAT = 'O'
AND AUTH_STAT = 'A';
DBG('l_cnt2 := ' || L_CNT2);
BEGIN
SELECT COUNT(*)
INTO L_COUNT
FROM STTM_VIRTUAL_ACCOUNTS
WHERE VIR_ACC_NO = P_VIR_ACC_NO
AND CCY = L_CCY;
EXCEPTION
WHEN OTHERS THEN
DBG('In Exception: STTM_VIRTUAL_ACCOUNTS ' || P_VIR_ACC_NO);
END;
DBG('count is ---- > ' || L_COUNT);
DBG(' txn acc is ---- > ' || P_TY_UPLD_REC.TXN_ACC);
DBG(' ofs acc is ---- > ' || P_TY_UPLD_REC.OFS_ACC);
END IF;
SELECT COUNT(1)
INTO L_CNT2
FROM STTM_VIRTUAL_ACCOUNTS
WHERE VIR_ACC_NO = P_DR_VIR_ACC_NO
AND RECORD_STAT = 'O'
AND AUTH_STAT = 'A';
DBG('l_cnt2 := ' || L_CNT2);
BEGIN
SELECT COUNT(*)
INTO L_COUNT
FROM STTM_VIRTUAL_ACCOUNTS
WHERE VIR_ACC_NO = P_DR_VIR_ACC_NO
AND CCY = L_CCY;
EXCEPTION
WHEN OTHERS THEN
DBG('In Exception: STTM_VIRTUAL_ACCOUNTS ' || P_DR_VIR_ACC_NO);
END;
DBG('count is ---- > ' || L_COUNT);
DBG(' txn acc is ---- > ' || P_TY_UPLD_REC.TXN_ACC);
DBG(' ofs acc is ---- > ' || P_TY_UPLD_REC.OFS_ACC);
DBG(' going to resolve the virtual account as basic checks are done ');
IF NOT STPKS_VIRTUALACC_UTILS.FN_RESOLVE_VIR_ACC(P_DR_VIR_ACC_NO,
L_CCY,
L_BRANCH_CODE,
L_DR_CUST_AC_NO,
-- l_vir_acc_no, -- Defect
2703 changes
L_DR_VIR_ACC_NAME, -- Defect
2703 changes
L_IS_VIRTUAL_ACC,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('p_err_code :::::: ' || L_ERR_CODE ||
'::::: l_err_param ::::: ' || L_ERR_PARAM);
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
ROLLBACK TO BEFORE_UPLOAD;
RETURN FALSE;
ELSE
DBG('l_cust_ac_no is ->' || L_CUST_AC_NO);
DBG('Returned successfully from fn_resolve_vir_acc' || L_ERR_PARAM ||
L_CUST_AC_NO);
IF L_ERR_CODE IS NOT NULL THEN
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
RETURN FALSE;
END IF;
--p_ty_upld_Rec.txn_acc := l_cust_ac_no;
DBG('p_ty_upld_Rec.Xref' || P_TY_UPLD_REC.XREF);
-- END IF;
END IF;
END IF;
P_TY_UPLD_REC.TXN_ACC := G_DRVIRACCNO;
DBG('if txn_branch l_branch_code ' || L_BRANCH_CODE);
-- p_ty_upld_Rec.Ofs_Branch := l_branch_code;
DBG('p_ty_upld_Rec.txn_Branch' || P_TY_UPLD_REC.TXN_BRANCH);
END IF;
DBG('p_ty_upld_Rec.txn_acc set for switch is ' ||
P_TY_UPLD_REC.TXN_ACC);
DBG('p_ty_upld_Rec.txn_Branch set for switch is ' ||
P_TY_UPLD_REC.TXN_BRANCH);
END IF;
END IF;
-- 1203_ITR1_18380572 STARTS
IF (L_FLEXSWITCH_VIR) THEN
P_TY_UPLD_REC.OFS_ACC := L_CUST_AC_NO;
P_TY_UPLD_REC.OFS_BRANCH := L_BRANCH_CODE;
-- Code added by Niraj Start
--FCUBS_11_2_WB_Virtual Accounts start
IF L_IS_VIRTUAL_ACC = 'Y' THEN
DBG('INSIDE MY CODE NIRAJ ');
P_TY_UPLD_REC.OFS_CCY := L_CCY;
DBG(' p_ty_upld_Rec.ofs_cc ->' || P_TY_UPLD_REC.OFS_CCY);
P_TY_UPLD_REC.TXN_AMOUNT := P_TY_UPLD_REC.OFS_AMOUNT;
DBG(' p_ty_upld_Rec.txn_amount ->' || P_TY_UPLD_REC.TXN_AMOUNT);
P_TY_UPLD_REC.OFS_AMOUNT := NULL;
END IF;
-- Code added by Niraj End
--FCUBS_11_2_WB_Virtual Accounts end
DBG('p_ty_upld_Rec.ofs_acc set for switch is ' ||
P_TY_UPLD_REC.OFS_ACC);
DBG('p_ty_upld_Rec.Ofs_Branch set for switch is ' ||
P_TY_UPLD_REC.OFS_BRANCH);
END IF;
-- 1203_ITR1_18380572 ENDS
--Ankit start
DBG('Function id is->' || GWPKS_UTIL.PKG_FUNC);
-- Virtual Account changes temporarily commented
/*
IF GWPKS_UTIL.PKG_FUNC IN ('1401', '1408') AND -- ,'8207') AND
CSPKS_REQ_GLOBAL.G_HEADER('ACTION') IN ('INPUT', 'ENRICH') -- IN
('1006','1408','1401','8207')
THEN
-- P_TY_UPLD_REC.TXN_ACC := L_CUST_AC_NO;
P_TY_UPLD_REC.OFS_BRANCH := L_BRANCH_CODE;
IF L_CUST_AC_NO IS NULL THEN
DBG('If l_cust_ac_no is null g_viraccno' || G_VIRACCNO);
P_TY_UPLD_REC.TXN_ACC := G_VIRACCNO;
END IF;
DBG('l_cust_ac_no if virtual is not present' || L_CUST_AC_NO);
DBG('p_ty_upld_Rec.ofs_acc for 1401,1408,8207 ' ||
P_TY_UPLD_REC.OFS_ACC);
DBG('p_ty_upld_Rec.Ofs_Branch set for switch is ' ||
P_TY_UPLD_REC.OFS_BRANCH);
END IF;
*/
-- Virtual Account changes temporarily commented
-- Virtual Account changes added below starts
--IF GWPKS_UTIL.PKG_FUNC IN ('1401', '1408') AND --Gourab@06sep2016 changes
<<added 1408 also>>
-- IF GWPKS_UTIL.PKG_FUNC IN ('1401', '1402', '1408', 'CRCS') AND --BOMALE TCR
Changes added 1402 functionid
IF GWPKS_UTIL.PKG_FUNC IN
('1401', '1402', '1408', 'CRCS', 'ITM1', 'ITM4') AND --BOMALE TCR Changes
added 1402 functionid -- Added ITM1, ITM4 -- Fix for the issue 2420 changes added
ITM1 and ITM4
CSPKS_REQ_GLOBAL.G_HEADER('ACTION') IN ('INPUT', 'ENRICH') -- IN
('1006','1408','1401','8207')
THEN
P_TY_UPLD_REC.TXN_ACC := L_CUST_AC_NO;
-- P_TY_UPLD_REC.TXN_BRANCH := L_BRANCH_CODE -- Virtual Account changes
commented
P_TY_UPLD_REC.TXN_BRANCH := NVL(P_TY_UPLD_REC.TXN_BRANCH,
L_BRANCH_CODE); -- Virtual Account changes
added
IF L_CUST_AC_NO IS NULL THEN
DBG('If l_cust_ac_no is null g_viraccno' || G_VIRACCNO);
P_TY_UPLD_REC.TXN_ACC := G_VIRACCNO;
END IF;
DBG('l_cust_ac_no if virtual is not present' || L_CUST_AC_NO);
DBG('p_ty_upld_Rec.ofs_acc for 1401,1408,8207 ' ||
P_TY_UPLD_REC.OFS_ACC);
DBG('p_ty_upld_Rec.Ofs_Branch set for switch is ' ||
P_TY_UPLD_REC.OFS_BRANCH);
DBG('p_ty_upld_Rec.txn_acc for 1401,1408,8207 ' ||
P_TY_UPLD_REC.TXN_ACC);
DBG('p_ty_upld_Rec.txn_Branch set for switch is ' ||
P_TY_UPLD_REC.TXN_BRANCH);
END IF;
-- Virtual Account changes added ends
IF GWPKS_UTIL.PKG_FUNC IN ('1006') AND
CSPKS_REQ_GLOBAL.G_HEADER('ACTION') IN ('INPUT', 'ENRICH') THEN
P_TY_UPLD_REC.OFS_ACC := L_CUST_AC_NO;
-- p_ty_upld_Rec.Ofs_Branch := l_branch_code;
IF L_CUST_AC_NO IS NULL THEN
DBG('If l_cust_ac_no is null 1006 g_viraccno' || G_VIRACCNO);
P_TY_UPLD_REC.OFS_ACC := G_VIRACCNO;
DBG('if ofs_branch l_branch_code ' || L_BRANCH_CODE);
-- p_ty_upld_Rec.Ofs_Branch := l_branch_code;
DBG('p_ty_upld_Rec.Ofs_Branch' || P_TY_UPLD_REC.OFS_BRANCH);
END IF;
DBG('p_ty_upld_Rec.ofs_acc set for switch is ' ||
P_TY_UPLD_REC.OFS_ACC);
DBG('p_ty_upld_Rec.Ofs_Branch set for switch is ' ||
P_TY_UPLD_REC.OFS_BRANCH);
END IF;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Exception caught in fn_validate_branch_code with : ' || SQLCODE || ':'
||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-001', P_VIR_ACC_NO || '~');
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_VIRTUAL_ACC;
L_ERR_CODE ERTBS_MSGS.ERR_CODE%TYPE;
L_ERR_PARAM VARCHAR2(200);
BEGIN
DBG('Inside fn_validate_branch_code...');
IF NOT FN_VALIDATE_BRANCH(P_BRANCH_CODE, P_RET, L_ERR_CODE, L_ERR_PARAM) THEN
DBG('failed while validating branch_code :' || P_BRANCH_CODE);
OVPKSS.PR_APPENDTBL('DE-VAL-01', NULL);
RETURN FALSE;
END IF;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Exception caught in fn_validate_branch_code with : ' || SQLCODE || ':'
||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-001',
P_BRANCH_CODE || '~' || 'Transaction Branch Code' ||
'~');
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_BRANCH_CODE;
------------------------------------------------
L_ERR_CODE ERTBS_MSGS.ERR_CODE%TYPE;
L_ERR_PARAM VARCHAR2(200);
L_CHEQUE_BOOK_ISS_DATE DETBS_UPLOAD_RTL_TELLER.INSTR_DATE%TYPE; -- fcubs11.2
itr1 sfr 1115
L_STATUS VARCHAR(1); -- fcubs11.2 itr1 sfr 1115
BEGIN
DBG('Inside fn_validate_instr_date...' || P_TY_RETAILTLR_UPD.TRN_DT);
END IF;
END IF;
EXCEPTION
WHEN OTHERS THEN
DBG('In Exception: Cheuqe is not available hence l_cheque_book_iss_date
is : ' ||
L_CHEQUE_BOOK_ISS_DATE);
END;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Exception caught in fn_validate_instr_date with : ' || SQLCODE || ':' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-001', P_TY_RETAILTLR_UPD.XREF || '~');
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_INSTR_DATE;
IF NOT FN_VALIDATE_ACC(P_TY_RETAILTLR_UPD,
TBL_STTB_ACCOUNT(L_STTB_ACC_IDX).TY_STTB_ACCOUNT,
P_TY_RETAILTLR_UPD.OFS_CCY,
P_RET,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('failed while validating OFS Account ' ||
TBL_STTB_ACCOUNT(L_STTB_ACC_IDX)
.TY_STTB_ACCOUNT.AC_GL_NO);
P_RET := -1;
RETURN FALSE;
END IF;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Exception caught in fn_validate_ofs_acc with : ' || SQLCODE || ':' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-002', NULL);
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_OFS_ACC;
------------------------------------------------
FUNCTION FN_VALIDATE_TXN_ACC(P_TY_RETAILTLR_UPD IN OUT DETB_UPLOAD_RTL_TELLER
%ROWTYPE --typeconv detbs_rtl_teller%ROWTYPE
,
P_RET IN OUT NUMBER)
RETURN BOOLEAN IS
L_ERR_CODE ERTBS_MSGS.ERR_CODE%TYPE;
L_ERR_PARAM VARCHAR2(200);
L_STTB_ACC_IDX VARCHAR2(23); -- brn_code(3) + account_no(20)
BEGIN
DBG('Inside fn_validate_txn_acc...');
L_STTB_ACC_IDX := P_TY_RETAILTLR_UPD.TXN_BRANCH ||
P_TY_RETAILTLR_UPD.TXN_ACC;
TBL_STTB_ACCOUNT(L_STTB_ACC_IDX).TY_STTB_ACCOUNT.AC_GL_NO :=
P_TY_RETAILTLR_UPD.TXN_ACC;
TBL_STTB_ACCOUNT(L_STTB_ACC_IDX).TY_STTB_ACCOUNT.BRANCH_CODE :=
P_TY_RETAILTLR_UPD.TXN_BRANCH;
DBG('l_sttb_acc_idx:' || L_STTB_ACC_IDX);
IF NOT FN_VALIDATE_ACC(P_TY_RETAILTLR_UPD,
TBL_STTB_ACCOUNT(L_STTB_ACC_IDX).TY_STTB_ACCOUNT,
P_TY_RETAILTLR_UPD.TXN_CCY,
P_RET,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('failed while validating TXN Account ' ||
TBL_STTB_ACCOUNT(L_STTB_ACC_IDX)
.TY_STTB_ACCOUNT.AC_GL_NO);
P_RET := -1;
RETURN FALSE;
END IF;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Exception caught in fn_validate_txn_acc with : ' || SQLCODE || ':' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-002', NULL);
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_TXN_ACC;
------------------------------------------------
FUNCTION FN_VALIDATE_REL_CUSTOMER(P_REL_CUSTOMER IN DETBS_RTL_TELLER.REL_CUSTOMER
%TYPE,
P_RET IN OUT NUMBER)
RETURN BOOLEAN IS
L_CNT NUMBER;
L_ERR_CODE ERTBS_MSGS.ERR_CODE%TYPE;
L_ERR_PARAM VARCHAR2(200);
L_STTB_ACC_IDX VARCHAR2(23); -- brn_code(3) + account_no(20)
BEGIN
DBG('Inside fn_validate_rel_customer...');
BEGIN
SELECT 1
INTO L_CNT
FROM STTM_CUSTOMER
WHERE CUSTOMER_NO = P_REL_CUSTOMER
AND RECORD_STAT = 'O'
AND AUTH_STAT = 'A';
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBG('Exception caught in fn_validate_rel_customer with sqlerrm : ' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-001',
P_REL_CUSTOMER || '~' || 'Relative Customer' || '~');
P_RET := -1;
RETURN FALSE;
END;
DBG('Successfully finished fn_validate_rel_customer');
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Exception caught in fn_validate_rel_customer with : ' ||
SQLCODE || ':' || SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-002', NULL);
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_REL_CUSTOMER;
------------------------------------------------
FUNCTION FN_VALIDATE_TXN_AMT_LIMITS(P_PROD_CODE IN DETBS_RTL_TELLER.PRODUCT_CODE
%TYPE,
P_TXN_AMT IN NUMBER,
P_RET IN OUT NUMBER)
RETURN BOOLEAN IS
L_MODULE CSTMS_PRODUCT.MODULE%TYPE;
L_TXN_LIMIT NUMBER;
BEGIN
DBG('Inside fn_validate_txn_amt_limits...');
----------------
-- For Validating the txn_amount with the Txn_Amount_limit for the product
starts
BEGIN
SELECT MODULE
INTO L_MODULE
FROM CSTMS_PRODUCT
WHERE PRODUCT_CODE = P_PROD_CODE;
EXCEPTION
WHEN OTHERS THEN
DBG('E',
'In when others of selecting module from cstm_product' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('DE-TUD-070', NULL);
P_RET := -1;
RETURN FALSE;
END;
----------------
IF L_MODULE <> 'CG' THEN
------------
--Verifying for the txn amount greater than the txn limit
BEGIN
SELECT TXN_LIMIT
INTO L_TXN_LIMIT
FROM DETMS_RT_PREFERENCES
WHERE PRODUCT_CODE = P_PROD_CODE;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBG('E', 'No record for this product in detms_rt_preferences');
OVPKSS.PR_APPENDTBL('DE-TUD-069', NULL);
P_RET := -1;
RETURN FALSE;
WHEN OTHERS THEN
DBG('In when others of selecting Txn limit from detms_rt_preferences' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('DE-TUD-070', NULL);
P_RET := -1;
RETURN FALSE;
END;
------------
IF P_TXN_AMT > L_TXN_LIMIT THEN
DBG('failed while validating l_txn_limit : txn_amount > l_txn_limit');
OVPKSS.PR_APPENDTBL('DE-TUD-099', NULL);
P_RET := -1;
RETURN FALSE;
END IF;
------------
END IF;
----------------
DBG('Successfully finished fn_validate_txn_amt_limits');
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Exception caught in fn_validate_txn_amt_limits with : ' ||
SQLCODE || ':' || SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-002', NULL);
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_TXN_AMT_LIMITS;
------------------------------------------------
FUNCTION FN_VALIDATE_CHGDETS(P_TBL_CHGDETS IN TYP_TBLCHGDETS,
P_RET IN OUT NUMBER) RETURN BOOLEAN IS
BEGIN
DBG('Inside fn_validate_chgdets');
FOR I IN 1 .. P_TBL_CHGDETS.COUNT LOOP
DBG('Validation starts for charge component ' || I);
DBG('p_tbl_chgdets(i).waiver--->' || P_TBL_CHGDETS(I).WAIVER);
------------------
IF NVL(P_TBL_CHGDETS(I).WAIVER, 'N') = 'N' THEN
---9NT1428 SFR1293 ITR1
DEPKS_RTL_TELLER.PKG_CHG_DETS := GWPKS_UTIL.PKG_CHG_DETS;
--CHGCOMP~TYPE~WAIVER~CHGAMT~LCYCHG~XRATE~CHGCCY~TCYCHG~TCYXRATE~
GWPKS_UTIL.PKG_TEMP_CHG_DETS := GWPKS_UTIL.PKG_TEMP_CHG_DETS ||
P_TBL_CHGDETS(L_ROW)
.WAIVER || '~' || P_TBL_CHGDETS(L_ROW)
.COD_CHG_CCY || '~' || P_TBL_CHGDETS(L_ROW)
.CHG_AMT || '~' || '~' || '~' || '~~';
END LOOP;
END IF;
--FCUBS10.0LOT3 Flexbranch Intgeration changes ends
DBG('gwpks_util.pkg_chg_dets ' || GWPKS_UTIL.PKG_CHG_DETS);
DBG('Depks_Rtl_Teller.pkg_chg_dets ' || DEPKS_RTL_TELLER.PKG_CHG_DETS);
DBG('p_detb_rtl_tlr.rel_customer---> ' || P_DETB_RTL_TLR.REL_CUSTOMER); --
9NT1428- FCUBS 11.2 Customer Group CHANGES
CSPKSS_ARC.PR_GET_ARC_ROW(P_DETB_RTL_TLR.BRANCH_CODE,
P_DETB_RTL_TLR.PRODUCT_CODE,
'P',
P_DETB_RTL_TLR.REL_CUSTOMER,
--DEFLT00025704 Changes starts
P_DETB_RTL_TLR.TXN_CCY, -- DEFLT00026265 Changes
uncommented
-- p_detb_rtl_tlr.ofs_ccy, -- DEFLT00026265
Changes
--DEFLT00025704 Changes ends
L_ARC_MAINT,
L_ERR_CODE,
L_ERR_PARAM);
IF L_ERR_CODE IS NOT NULL THEN
L_ERR_CODE := NULL;
CSPKSS_ARC.PR_GET_ARC_ROW(P_DETB_RTL_TLR.BRANCH_CODE,
P_DETB_RTL_TLR.PRODUCT_CODE,
'P',
'*.*',
--DEFLT00025704 Changes starts
P_DETB_RTL_TLR.TXN_CCY, -- DEFLT00026265 Changes
uncommented
-- p_detb_rtl_tlr.ofs_ccy,-- DEFLT00026265
Changes
--DEFLT00025704 Changes Ends
L_ARC_MAINT,
L_ERR_CODE,
L_ERR_PARAM);
IF L_ERR_CODE IS NOT NULL THEN
DBG('Failed while fetching arc details....');
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
P_RET := -1;
RETURN FALSE;
END IF;
END IF;
PKG_ARC_ROW := L_ARC_MAINT;
IF L_TBL_CHGDETS(L_AROW)
.COD_CHG_DESC = P_TBL_CHGDETS(L_PROW).COD_CHG_DESC THEN
L_ROW_FOUND := TRUE;
IF P_TBL_CHGDETS(L_PROW).CHG_AMT IS NOT NULL THEN
L_TBL_CHGDETS(L_AROW).CHG_AMT := P_TBL_CHGDETS(L_PROW).CHG_AMT;
END IF;
IF P_TBL_CHGDETS(L_PROW).MIS_HEAD IS NOT NULL THEN
L_TBL_CHGDETS(L_AROW).MIS_HEAD := P_TBL_CHGDETS(L_PROW).MIS_HEAD;
END IF;
IF P_TBL_CHGDETS(L_PROW).COD_CHG_CCY IS NOT NULL THEN
L_TBL_CHGDETS(L_AROW).COD_CHG_CCY := P_TBL_CHGDETS(L_PROW)
.COD_CHG_CCY;
END IF;
IF P_TBL_CHGDETS(L_PROW).CHG_GL IS NOT NULL THEN
L_TBL_CHGDETS(L_AROW).CHG_GL := P_TBL_CHGDETS(L_PROW).CHG_GL;
END IF;
IF P_TBL_CHGDETS(L_PROW).TXN_CODE IS NOT NULL THEN
L_TBL_CHGDETS(L_AROW).TXN_CODE := P_TBL_CHGDETS(L_PROW).TXN_CODE;
END IF;
IF P_TBL_CHGDETS(L_PROW).NETTING_IND IS NOT NULL THEN
L_TBL_CHGDETS(L_AROW).NETTING_IND := P_TBL_CHGDETS(L_PROW)
.NETTING_IND;
END IF;
END IF;
END LOOP;
IF NOT L_ROW_FOUND THEN
P_RET := -1;
DBG('E',
'Wrong Charge component received : ' || P_TBL_CHGDETS(L_PROW)
.COD_CHG_DESC);
OVPKSS.PR_APPENDTBL('GW-RTL-009',
NVL(P_TBL_CHGDETS(L_PROW).COD_CHG_DESC, 'Nill') ||
'~');
RETURN FALSE;
END IF;
END LOOP;
P_TBL_CHGDETS := L_TBL_CHGDETS;
-- FCC73ITR1 SFR 328 End
------------------------------------------------
L_CCYCODE VARCHAR2(10);
L_CCY_AMOUNT NUMBER;
L_RET_AMOUNT NUMBER;
L_TOT_AMOUNT NUMBER := 0;
L_EXRATE CYTMS_RATES.MID_RATE%TYPE;
L_TILL_LIMIT NUMBER;
CURSOR C1 IS
SELECT CCYCODE, SUM(DENOMVAL * DENOMCOUNT)
FROM FBTB_TILL_DETAIL_CCY
WHERE BRANCHCODE = PBRN
AND TILL_ID = P_TILL_ID
GROUP BY TILL_ID, CCYCODE, BRANCHCODE;
BEGIN
DBG('Inside fn_validate_till_limit for ' || GWPKS_UTIL.G_TILL_ID);
SELECT NVL(TILL_LIMIT, 0)
INTO L_TILL_LIMIT
FROM STTM_BRANCH
WHERE BRANCH_CODE = PBRN;
END FN_VALIDATE_TILL_LIMIT;
-- MBU22 - 11.2.0.1.0BOMLAE?<changes end here>
L_CCYCODE VARCHAR2(10);
L_CCY_AMOUNT NUMBER;
L_RET_AMOUNT NUMBER;
L_TOT_AMOUNT NUMBER := 0;
L_EXRATE CYTMS_RATES.MID_RATE%TYPE;
L_TILL_LIMIT NUMBER;
CURSOR C1 IS
SELECT CCYCODE, SUM(DENOMVAL * DENOMCOUNT)
FROM FBTB_TILL_DETAIL_CCY
WHERE BRANCHCODE = PBRN
AND TILL_ID = P_TILL_ID
GROUP BY TILL_ID, CCYCODE, BRANCHCODE;
BEGIN
DBG('Inside fn_validate_till_limit for ' || GWPKS_UTIL.G_TILL_ID);
SELECT NVL(TILL_LIMIT, 0)
INTO L_TILL_LIMIT
FROM STTM_BRANCH
WHERE BRANCH_CODE = PBRN;
END FN_VALIDATE_TILL_LIMIT_NEW;
EXCEPTION
WHEN OTHERS THEN
DBG('In when Other exception fn_validate_User_Input_limit' ||
SQLERRM);
RETURN FALSE;
END FN_VALIDATE_USER_INPUT_LIMIT;
--AEDMBU UAT1 SFR#DEFLT00007527 Changes Ends
------------------------------------------------
FUNCTION FN_VALIDATE_RTL_TELLER_REC(P_TY_RETAILTLR_UPD IN OUT
DETB_UPLOAD_RTL_TELLER%ROWTYPE --typeconv typ_retail_teller_rec
,
P_RET IN OUT NUMBER)
RETURN BOOLEAN IS
L_TXN_LIMIT NUMBER;
L_MODULE CSTMS_PRODUCT.MODULE%TYPE;
L_STTB_TXN_ACC_IDX VARCHAR2(23);
L_STTB_OFS_ACC_IDX VARCHAR2(23);
L_ERR_CODE ERTBS_MSGS.ERR_CODE%TYPE;
L_ERR_PARAM ERTBS_MSGS.ERR_CODE%TYPE;
--FCUBS V.UM 11.0.0.0.0.0.0 - 9NT1316 - Lokesh M start
-- SFR 1291 l_rt_lend_flag detm_rt_preferences.retail_lending_product
%TYPE;
L_ACC STTB_ACCOUNT.AC_GL_NO%TYPE;
L_TXN_CNT NUMBER;
L_OFS_CNT NUMBER;
L_AC_OR_GL STTB_ACCOUNT.AC_OR_GL%TYPE;
L_AC_STAT_FROZEN STTM_CUST_ACCOUNT.AC_STAT_FROZEN%TYPE; --AEDMBU UATA
DEFLT00009177 Changes
L_TRACK_RECEIVABLE VARCHAR2(1); --DEFLT00015411 added
--FCUBS V.UM 11.0.0.0.0.0.0 - 9NT1316 - Lokesh M start
--FCUBS_11.2.0.0.0$BOMLAE_Customer_Choreography_Financial_Transactions start
l_otp_val BOOLEAN;
l_cust_no sttm_customer.customer_no%TYPE;
l_mob sttms_cust_personal.mobile_number%TYPE;
l_email sttms_cust_personal.e_mail%TYPE;
--FCUBS_11.2.0.0.0$BOMLAE_Customer_Choreography_Financial_Transactions end
BEGIN
DBG('Inside fn_validate_rtl_teller_rec...');
--''''''''''''''''''''''''''''''''''''''''''''''''
-- FCC73ITR1 SFR 319 Start :
IF NOT FN_VALIDATE_XREF_NO(P_TY_RETAILTLR_UPD.XREF, P_RET) THEN
P_RET := -1;
RETURN FALSE;
END IF;
-- FCC73ITR1 SFR 319 End :
--''''''''''''''''''''''''''''''''''''''''''''''''
IF P_TY_RETAILTLR_UPD.BRANCH_CODE IS NOT NULL THEN
DBG('Value received for p_ty_retail_teller.branch_code ' ||
P_TY_RETAILTLR_UPD.BRANCH_CODE);
IF NOT FN_VALIDATE_BRANCH_CODE(P_TY_RETAILTLR_UPD.BRANCH_CODE, P_RET) THEN
P_RET := -1;
END IF;
END IF;
--''''''''''''''''''''''''''''''''''''''''''''''''
END IF;
--MBU47-FCUBS_11.2.0.4.0BOMLAE BranchID Default(1013) END
--------------------------------------------------------------------------------
--FCUBS V.UM 11.0.0.0.0.0.0 - 9NT1316 - Lokesh M Validation for CL changes
start
BEGIN
DBG('Inside select for RT lending product flag');
SELECT NVL(RETAIL_LENDING_PRODUCT, 'N'), NVL(TRACK_RECEIVABLE, 'N') --
DEFLT00015411 added
INTO L_RT_LEND_FLAG, L_TRACK_RECEIVABLE --DEFLT00015411 added
FROM DETM_RT_PREFERENCES
WHERE PRODUCT_CODE = P_TY_RETAILTLR_UPD.PRODUCT_CODE;
EXCEPTION
WHEN OTHERS THEN
-----------------------------------------------------------------------------------
-
----lm2
/* dbg('Inside select for RT lending product flag');
select retail_lending_product into l_rt_lend_flag
from detm_rt_preferences where product_code =
p_ty_retailtlr_upd.product_code;
EXCEPTION
WHEN OTHERS THEN
dbg('l_rt_lend_flag' || l_rt_lend_flag);*/
IF P_TY_RETAILTLR_UPD.OFS_ACC IS NOT NULL THEN
L_ACC := P_TY_RETAILTLR_UPD.OFS_ACC;
DBG(' offset l_acc' || L_ACC);
BEGIN
DBG('inside select for loan product validation');
SELECT AC_OR_GL
INTO L_AC_OR_GL
FROM STTB_ACCOUNT
WHERE AC_GL_NO = L_ACC
AND BRANCH_CODE = P_TY_RETAILTLR_UPD.OFS_BRANCH;
EXCEPTION
--AEDMBU UATA DEFLT00009813 Changes start
WHEN NO_DATA_FOUND THEN
DBG('checking if it is an g.l');
BEGIN
-- Virtual Account Validation changes added begin
SELECT AC_OR_GL
INTO L_AC_OR_GL
FROM STTB_ACCOUNT
WHERE AC_GL_NO = L_ACC;
-- Virtual Account Validation changes added starts
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBG('Inside WNDF of ofs account');
SELECT COUNT(1)
INTO L_COUNT
FROM STTM_VIRTUAL_ACCOUNTS
WHERE VIR_ACC_NO = P_TY_RETAILTLR_UPD.OFS_ACC;
DBG('l_count value is : ' || L_COUNT);
IF L_COUNT > 0 THEN
DBG('Inside if of l_count>0');
IF NOT
STPKS_VIRTUALACC_UTILS.FN_RESOLVE_VIR_ACC(P_TY_RETAILTLR_UPD.OFS_ACC,
P_TY_RETAILTLR_UPD.OFS_CCY,
P_TY_RETAILTLR_UPD.OFS_BRANCH,
L_ACC,
L_VIR_ACC_NAME,
L_IS_VIR_ACC,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('Virtual Account Not Found');
END IF;
END IF;
END;
P_TY_RETAILTLR_UPD.OFS_ACC := L_ACC;
-- Virtual Account Validation changes added ends
--AEDMBU UATA DEFLT00009813 Changes end
STPKS_VIRTUALACC_UTILS.FN_RESOLVE_VIR_ACC(P_TY_RETAILTLR_UPD.TXN_ACC,
P_TY_RETAILTLR_UPD.TXN_CCY,
P_TY_RETAILTLR_UPD.TXN_BRANCH,
L_ACC,
L_VIR_ACC_NAME,
L_IS_VIR_ACC,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('Virtual Account Not Found');
END IF;
/* end if; --psakshi changes*/
END IF;
END;
P_TY_RETAILTLR_UPD.TXN_ACC := L_ACC;
-- Virtual Account Validation changes added ends
--AEDMBU UATA DEFLT00009813 Changes end
*/
--AEDMBU UATA DEFLT00009177 Changes ends
IF L_AC_OR_GL = 'L' THEN
BEGIN
----lm2
DBG('Inside select for RT lending product flag');
SELECT NVL(RETAIL_LENDING_PRODUCT, 'N')
INTO L_RT_LEND_FLAG
FROM DETM_RT_PREFERENCES
WHERE PRODUCT_CODE = P_TY_RETAILTLR_UPD.PRODUCT_CODE;
EXCEPTION
WHEN OTHERS THEN
DBG(' fails in select for RT lending product flag' || SQLERRM);
END;
DBG('l_rt_lend_flag2' || L_RT_LEND_FLAG);
IF L_RT_LEND_FLAG = 'N' THEN
DBG('l_rt_lend_flag' || L_RT_LEND_FLAG);
OVPKSS.PR_APPENDTBL('RT-CL-002', NULL);
P_RET := -1;
RETURN FALSE;
END IF;
END IF;
END IF;
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------
--Post Golive changes <18-Apr-2015> starts
IF CSPKS_REQ_GLOBAL.G_HEADER.EXISTS('FUNCTIONID') THEN
L_FUNCTIONID := CSPKS_REQ_GLOBAL.G_HEADER('FUNCTIONID');
ELSE
L_FUNCTIONID := 'XXXX';
END IF;
DBG('l_functionid----> ' || L_FUNCTIONID);
DBG('l_sourcecode----> ' || P_TY_RETAILTLR_UPD.SCODE);
--''''''''''''''''''''''''''''''''''''''''''''''''
-- if any error raised while validating branch code then further no need to
validate accounts
IF FN_IS_AN_ERROR_RAISED(P_RET) THEN
DBG('E', 'Error found in function fn_validate_rtl_teller_rec..');
RETURN FALSE;
END IF;
--''''''''''''''''''''''''''''''''''''''''''''''''
--FCUBS 10.1 Switch Interface Tuning Changes starts
--Validation is there in depks_rtl_teller
/*IF p_ty_retailtlr_upd.txn_acc IS NOT NULL
THEN
dbg('Value received for p_ty_retailtlr_upd.txn_acc ' ||
p_ty_retailtlr_upd.txn_acc);
IF NOT fn_validate_txn_acc(p_ty_retailtlr_upd, p_ret)
THEN
DBG('l_sttb_ofs_acc_idx==>' || l_sttb_ofs_acc_idx);
--dbg('failed while validating OFS Account ' ||
tbl_sttb_account(l_sttb_ofs_acc_idx).ty_sttb_account.ac_gl_no);
p_ret := -1;
--RETURN FALSE;
END IF;
END IF;
--''''''''''''''''''''''''''''''''''''''''''''''''
dbg('Validating ofs_acc');
dbg('p_ty_retailtlr_upd.ofs_acc ' || p_ty_retailtlr_upd.ofs_acc);
--IF p_ty_retailtlr_upd.ofs_acc IS NOT NULL --FCUBS10.0LOT3 changes
IF p_ty_retailtlr_upd.ofs_acc IS NOT NULL AND
p_ty_retailtlr_upd.ofs_branch IS NOT NULL
THEN
dbg('Value received for p_ty_retailtlr_upd.ofs_acc ' ||
p_ty_retailtlr_upd.ofs_acc);
IF NOT fn_validate_ofs_acc(p_ty_retailtlr_upd, p_ret)
THEN
dbg('failed while validating OFS Account ' ||
tbl_sttb_account(l_sttb_ofs_acc_idx).ty_sttb_account.ac_gl_no);
p_ret := -1;
--RETURN FALSE;
END IF;
END IF; */
--FCUBS 10.1 Switch Interface Tuning Changes ends
--''''''''''''''''''''''''''''''''''''''''''''''''
IF P_TY_RETAILTLR_UPD.REL_CUSTOMER IS NOT NULL THEN
IF NOT
FN_VALIDATE_REL_CUSTOMER(P_TY_RETAILTLR_UPD.REL_CUSTOMER, P_RET) THEN
DBG('E', 'Error found in function fn_validate_rtl_teller_rec..');
--RETURN FALSE;
END IF;
END IF;
--''''''''''''''''''''''''''''''''''''''''''''''''
--FCUBS10.2 RETRO Changes for sfr 284 Starts Here
DBG('p_ty_retailtlr_upd.amount-------->' ||
P_TY_RETAILTLR_UPD.OFS_AMOUNT);
IF P_TY_RETAILTLR_UPD.OFS_AMOUNT < 0 THEN
DBG('failed while validating l_txn_limit : txn_amount > l_txn_limit');
OVPKSS.PR_APPENDTBL('DE-TUD-100', NULL);
P_RET := -1;
RETURN FALSE;
END IF;
--FCUBS10.2 RETRO Changes for sfr 284 Ends Here
END IF;
DEPKS_RTLTELLERUPLOAD_CLUSTER.FN_VALIDATE_TILL_LIMIT_NEW(P_TY_RETAILTLR_UPD,
GLOBAL.CURRENT_BRANCH,
GWPKS_UTIL.G_TILL_ID,
L_FN_CALL_ID,
L_TB_CLUSTER_DATA,
L_ERR_CODE)
THEN
----------------------------------------------------
-- FCUBS_11.2.0.0.0$BOMLAE_Customer_Choreography_Financial_Transactions start
--IF gwpks_util.pkg_actType = 'SAVEAUTOAUTH' AND G_UPD_REF IS NOT NULL --
GWPKS_UTIL.PKG_FUNC IN ('1401') --AND gwpks_util.pkg_actType = 'ENRICH' THEN --IN
('1401',' ',' ')
--IF gwpks_util.pkg_actType in('SAVEAUTOAUTH','ENRICH') AND G_UPD_REF IS NOT
NULL -- For EIDA Scan
-- Commented the above condition and added below for EIDA Scan
IF (gwpks_util.pkg_actType in ('SAVEAUTOAUTH') AND
G_UPD_REF IS NOT NULL) Or
(gwpks_util.pkg_actType = 'ENRICH' And
(DEPKS_RETAILTELLERUPLOAD.G_SND_OTP = 'A' or
DEPKS_RTL_TELLER_CUSTOM.G_SND_OTP = 'A') and G_UPD_REF IS NOT NULL) THEN
dbg('In IF for EIDA SAVEAUTOAUTH check');
BEGIN
SELECT cust_no
INTO l_cust_no
FROM sttm_cust_account
WHERE cust_ac_no = P_TY_RETAILTLR_UPD.TXN_ACC
AND branch_code = P_TY_RETAILTLR_UPD.BRANCH_CODE;
EXCEPTION
WHEN OTHERS THEN
dbg('Failed in getting customer number');
END;
BEGIN
SELECT mobile_number, e_mail
INTO l_mob, l_email
FROM sttms_cust_personal
WHERE sttms_cust_personal.customer_no = L_CUST_NO;
dbg('Fetched mobile number :' || l_mob);
dbg('Fetched e-mail address :' || l_email);
EXCEPTION
WHEN OTHERS THEN
dbg('Failed in fetching mobile no and email');
END;
P_TY_RETAILTLR_UPD.Xref,
G_OTP_TXT,
L_ERR_CODE);
dbg('Done with cspks_otp_process.fn_validate_otp()');
IF NOT cspks_otp_process.fn_eida_operation_log(global.current_branch,
global.user_id,
G_UPD_REF,
P_TY_RETAILTLR_UPD.Xref,
GWPKS_UTIL.PKG_FUNC,
to_char(global.application_date,
'DD-MON-YY
HH:MI:SS AM'),
P_TY_RETAILTLR_UPD.TXN_ACC,
G_DOC_REF,
G_SND_OTP,
L_ERR_CODE) THEN
dbg('Failed in EIDA logging');
END IF;
dbg('Done with cspks_otp_process.fn_eida_operation_log()');*\
END IF;
IF G_UPD_REF IS NOT NULL AND G_OTP_GEN = 'A' THEN
--call Scan Functionality
dbg('Scan');
END IF;
IF NOT cspks_otp_process.fn_eida_operation_log(global.current_branch,
global.user_id,
G_UPD_REF,
P_TY_RETAILTLR_UPD.Xref,
GWPKS_UTIL.PKG_FUNC,
TO_DATE(TO_CHAR(SYSDATE,
'YYYY/MM/DD HH24:MI:SS'),
'YYYY/MM/DD
HH24:MI:SS'),
P_TY_RETAILTLR_UPD.TXN_ACC,
G_DOC_REF,
G_SND_OTP,
L_ERR_CODE) THEN
dbg('Failed in EIDA logging');
END IF;
dbg('Done with cspks_otp_process.fn_eida_operation_log()');
*/
BEGIN
INSERT INTO detb_rtl_teller_custom
(trn_ref_no,
upload_ref_no,
otp_text,
send_otp_to,
sign_verified,
original_verified,
doc_ref_no,
otp_generated,
cust_ac_no)
VALUES
(P_TY_RETAILTLR_UPD.Xref,
G_UPD_REF,
G_OTP_TXT,
G_SND_OTP,
G_SIG_VER,
G_ORG_VER,
G_DOC_REF,
G_OTP_GEN,
P_TY_RETAILTLR_UPD.TXN_ACC);
dbg('Cust table Insertion successful');
EXCEPTION
WHEN OTHERS THEN
dbg('Failed to insert into custom table');
END;
END IF;
IF NOT cspks_otp_process.fn_generate_otp(global.current_branch,
G_UPD_REF,
P_TY_RETAILTLR_UPD.TRN_REF_NO,
L_ERR_CODE)
THEN
dbg('Failed in OTP Gen');
END IF;
dbg('Done with cspks_otp_process.fn_generate_otp()');
END IF;
END IF;*/
-- FCUBS_11.2.0.0.0$BOMLAE_Customer_Choreography_Financial_Transactions end
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
UPDATE DETBS_RTL_TELLER_CUSTOM
SET TP_ID_TYPE = G_ID_TYPE,
TP_ID_VALUE = G_ID_VALUE,
TP_NATIONALITY = G_NATIONALITY,
TP_CUSTOMER_TYPE = G_CUST_TYPE,
TP_ACCOUNT_NO = G_ACCOUNT_NO
WHERE TRN_REF_NO = G_TRN_REF_NO;
dBG('Dup val on index..updated rows count :' || SQL%ROWCOUNT);
WHEN OTHERS THEN
dbg('Failed to insert into custom table ' || SQLERRM);
END;
END IF;
--AN-FCUBS_11 2_0_0_0$BOMLAE_R29_13057_OnUs cheque posting end
IF FN_IS_AN_ERROR_RAISED(P_RET) THEN
DBG('E', 'Error found in function fn_validate_rtl_teller_rec..');
RETURN FALSE;
END IF;
--''''''''''''''''''''''''''''''''''''''''''''''''
DBG('Successfully finished function fn_validate_rtl_teller_rec');
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Exception caught in fn_validate_rtl_teller_rec with sqlerrm : ' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-002', NULL);
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_RTL_TELLER_REC;
------------------------------------------------
FUNCTION FN_VALIDATE_INCOMING_DATA(P_TY_RETAILTLR_UPD IN OUT
DETB_UPLOAD_RTL_TELLER%ROWTYPE --typeconv typ_retail_teller_rec
,
P_TY_TBLCHGDETS IN OUT TYP_TBLCHGDETS,
P_RET IN OUT NUMBER)
RETURN BOOLEAN IS
L_ERR_CODE ERTBS_MSGS.ERR_CODE%TYPE;
L_ERR_PARAM ERTBS_MSGS.ERR_CODE%TYPE;
BEGIN
DBG('Inside fn_validate_incoming_data...');
-------------------
IF NOT FN_VALIDATE_RTL_TELLER_REC(P_TY_RETAILTLR_UPD, P_RET) THEN
DBG('Failed while validating p_ty_retail_teller record..');
P_RET := -1;
RETURN FALSE;
END IF;
-------------------
IF NOT FN_VALIDATE_CHGDETS(P_TY_TBLCHGDETS, P_RET) THEN
DBG('Failed while validating p_ty_retail_teller record..');
P_RET := -1;
RETURN FALSE;
END IF;
-------------------
DBG('Successfully finished fn_validate_incoming_data...');
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Exception caught in fn_validate_incoming_data with sqlerrm : ' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-002', NULL);
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_INCOMING_DATA;
------------------------------------------------
IF NOT CVPKS_UTILS.GET_STTB_ACC(P_BRANCH_CODE,
P_ACC_NO,
TBL_STTB_ACCOUNT(L_STTB_ACC_IDX)
.TY_STTB_ACCOUNT) THEN
RETURN FALSE;
END IF;
END IF;
-- ''''''''''''''''''''''''''''''
EXCEPTION
WHEN OTHERS THEN
DBG('E',
'Failed in function fn_is_acc_a_gl for Acc No :' || P_ACC_NO ||
' and branch_code :' || P_BRANCH_CODE || ' with error : ' ||
SQLERRM);
P_CCY := NULL;
RETURN FALSE;
END FN_IS_ACC_A_GL;
-----------------------------------------------------------------------------------
----
DBG('p_ty_mckdetails.ULT_BENEFICIARY1 in p_ty_mckdetails' ||
P_TY_MCKDETAILS.ULT_BENEFICIARY1);
BEGIN
INSERT INTO ISVWS_MCK_DETAILS VALUES P_TY_MCKDETAILS;
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
OVPKSS.PR_APPENDTBL('IF-DAT006', P_TY_RETAIL_TELLER.XREF || '~');
P_RET := -1;
RETURN FALSE;
WHEN OTHERS THEN
DBG(' Ora error occured during DE Cheque-Details insert' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('IF-DAT001', NULL);
P_RET := -1;
RETURN FALSE;
END;
---------------------
DBG('finished fn_upload_mckdetais successfully.');
P_RET := 0;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('In exception while executing fn_upload_mckdetais with sqlerrm : ' ||
SQLERRM);
P_RET := -1;
OVPKSS.PR_APPENDTBL('XXXX', NULL);
RETURN FALSE;
END;
P_TY_RETAILTLR_UPD.PRODUCT_CODE,
'NEW',
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('Falied in UDF Validation in
Uvpks_udf_upload.fn_Validate_Contract_Udf');
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
RETURN FALSE;
END IF;
END IF;
--~~~~~~~~~~~~~~~~~~~~~~~
DBG('Successfully fn_validate_subsystems.......');
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('E', 'Failed in function fn_upload with error : ' || SQLERRM);
dbg('Backtrace ' || dbms_utility.format_error_backtrace);
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_SUBSYSTEMS;
---------------------------------------------------------------
FUNCTION FN_PICKUP_SUBSYSTEMS(P_TY_RETAIL_TELLER IN DETBS_RTL_TELLER%ROWTYPE --
typeconv typ_retail_teller_rec
,
P_TBL_CHGDETS IN OUT TYP_TBLCHGDETS,
P_UPL_MIS_DET IN OUT
MITBS_UPLOAD_CLASS_MAPPING%ROWTYPE,
P_UPL_UDF_DET IN OUT
UVPKSS_UDF_UPLOAD.TY_UPL_CONT_UDF,
P_TY_MCKDETAILS IN OUT ISVW_MCK_DETAILS%ROWTYPE
--typeconv typ_mckdetails_fjb
,
P_TY_MSGDETS IN OUT CSTBS_ARC_SETTLE%ROWTYPE
--typeconv typ_msgdets_fjb
,
P_TBL_NODE_REC IN TYP_NODE_TBL,
P_RET IN OUT NUMBER)
RETURN BOOLEAN IS
L_ERR_CODE VARCHAR2(200);
L_ERR_PARAM VARCHAR2(2000);
BEGIN
DBG('Inside fn_pickup_subsystems.............');
IF P_TBL_NODE_REC.EXISTS('Mis-Details') THEN
DBG('Calling MIS Referral...');
IF NOT
MIPKSS_REFERRAL.FN_GET_CON_DEFAULT(P_TY_RETAIL_TELLER.BRANCH_CODE,
P_TY_RETAIL_TELLER.TRN_REF_NO,
P_TY_RETAIL_TELLER.REL_CUSTOMER, --
AEDMBU QAPROD SFR#AEDMBUFCC0005 changes
P_TY_RETAIL_TELLER.TXN_CCY, --AEDMBU
QAPROD SFR#AEDMBUFCC0005 changes
P_TY_RETAIL_TELLER.PRODUCT_CODE) THEN
--AEDMBU QAPROD SFR#AEDMBUFCC0005 changes - added product_code
DBG('mipkss_referral.fn_get_con_default');
OVPKSS.PR_APPENDTBL('RT-UPF-01', NULL);
RETURN FALSE;
END IF;
END IF;
--~~~~~~~~~~~~~~~~~~~~~~~
IF P_TBL_NODE_REC.EXISTS('Udf-Details') THEN
DBG('Pickup UDFDETAILS');
DBG('Calling UDF Defaulting...');
IF NOT UVPKSS_SERVICES.FN_DEFAULT_FROM_PRODUCT(P_TY_RETAIL_TELLER.TRN_REF_NO,
1, --Latest Version No
P_TY_RETAIL_TELLER.PRODUCT_CODE,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('uvpkss_services.fn_default_from_product');
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
RETURN FALSE;
END IF;
IF NOT UVPKSS_UDF_UPLOAD.FN_PICKUP_CONT_UDF(P_TY_RETAIL_TELLER.TRN_REF_NO,
'RT',
P_TY_RETAIL_TELLER.PRODUCT_CODE,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('uvpkss_services.fn_default_from_product');
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
RETURN FALSE;
END IF;
END IF;
--~~~~~~~~~~~~~~~~~~~~~~~
DBG('Successfully fn_validate_subsystems.......');
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('E', 'Failed in function fn_upload with error : ' || SQLERRM);
P_RET := -1;
RETURN FALSE;
END FN_PICKUP_SUBSYSTEMS;
---------------------------------------------------------------
FUNCTION FN_UPLOAD_SUBSYSTEMS(P_TY_RETAIL_TELLER IN DETBS_RTL_TELLER%ROWTYPE --
typeconv typ_retail_teller_rec
,
P_TBL_CHGDETS IN OUT TYP_TBLCHGDETS,
P_UPL_MIS_DET IN OUT
MITBS_UPLOAD_CLASS_MAPPING%ROWTYPE,
P_UPL_UDF_DET IN OUT
UVPKSS_UDF_UPLOAD.TY_UPL_CONT_UDF,
P_TY_MCKDETAILS IN OUT ISVW_MCK_DETAILS%ROWTYPE
--typeconv typ_mckdetails_fjb
,
P_TY_MSGDETS IN OUT CSTBS_ARC_SETTLE%ROWTYPE
--typeconv typ_msgdets_fjb
,
P_TBL_NODE_REC IN TYP_NODE_TBL,
P_RET IN OUT NUMBER)
RETURN BOOLEAN IS
L_ERR_CODE VARCHAR2(200);
L_ERR_PARAM VARCHAR2(2000);
-- l_pricing_currency VARCHAR2(3) := 'USD'; -- SS Temp
BEGIN
DBG('Inside fn_upload_subsystems.............');
-------------------
IF NOT FN_PICKUP_SUBSYSTEMS(P_TY_RETAIL_TELLER,
P_TBL_CHGDETS,
P_UPL_MIS_DET,
P_UPL_UDF_DET,
P_TY_MCKDETAILS,
P_TY_MSGDETS,
P_TBL_NODE_REC,
P_RET) THEN
DBG('error...');
END IF;
-------------------
IF P_TBL_NODE_REC.EXISTS('Mis-Details') THEN
DBG('Uploading Mis-Details');
IF NOT MIPKS_VALIDATE.FN_MIS_UPLOAD_TYPE(P_UPL_MIS_DET, -- IN OUT SHOULD BE
MADE IN AARON
P_TY_RETAIL_TELLER.TRN_REF_NO --
AARON
) THEN
DBG('Falied in Uvpks_udf_upload.fn_Contract_Udf_Upload_Type');
OVPKSS.PR_APPENDTBL('RT-UPF-01', NULL);
RETURN FALSE;
END IF;
END IF;
--~~~~~~~~~~~~~~~~~~~~~~~
IF P_TBL_NODE_REC.EXISTS('Udf-Details') THEN
DBG('Uploading Udfdetails');
DBG('Calling Uvpks_udf_upload.fn_Contract_Udf_Upload_Type for UDF Upload..');
IF NOT UVPKSS_UDF_UPLOAD.FN_CONTRACT_UDF_UPLOAD_TYPE('GWCRTRT',
P_TY_RETAIL_TELLER.XREF,
P_TY_RETAIL_TELLER.TRN_REF_NO,
1,
P_TY_RETAIL_TELLER.PRODUCT_CODE,
'NEW',
P_UPL_UDF_DET,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('Falied in Uvpks_udf_upload.fn_Contract_Udf_Upload_Type');
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
RETURN FALSE;
END IF;
END IF;
--~~~~~~~~~~~~~~~~~~~~~~~
DBG('Successfully fn_upload_subsystems.......');
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('E', 'Failed in function fn_upload with error : ' || SQLERRM);
P_RET := -1;
RETURN FALSE;
END FN_UPLOAD_SUBSYSTEMS;
BEGIN
END IF;
*/
--MBU47-FCUBS_11.2.0.4.0BOMLAE BranchID Default(1401,1001) END
-- ''''''''''''''''''
-- SSanjeev added : 10-NOV-06 Start : -- code added from gwpks_util_java
------------------------
-- QQQQQQ : what to do
--IF l_TransFields(1) = 'FCRH'
DBG('Sttting Online falg..............');
DBG('p_ty_msgdets .ORDERING_CUSTOMER1 3' ||
P_TY_MSGDETS.ORDERING_CUSTOMER1);
/* IF gwpkss_txn_control.g_from_branch
THEN
dbg('online flag set to TRUE1');
cspkss_tsupl_cont.set_online_flag(TRUE);
ELSE
IF p_ty_retail_teller.auth_stat = 'A'
THEN
dbg('online flag set to TRUE2');
cspkss_tsupl_cont.set_online_flag(TRUE);
ELSE
dbg('online flag set to FALSE3');
cspkss_tsupl_cont.set_online_flag(FALSE);
END IF;
END IF; */ --tempfix for SQA
END IF;
----9NT1428 CREDIT CARD PAYMENTS CHANGES BY ASLAM Endz
------------------------
-- QQQQQQQQQ : what to do for below condition...
DBG('ty_msgdets.ty_cstb_arc_settle.cr_value_dt = ' ||
P_TY_MSGDETS.CR_VALUE_DT);
IF P_TY_MSGDETS.CR_VALUE_DT IS NULL THEN
-- for VDATECR
P_TY_MSGDETS.CR_VALUE_DT := GLOBAL.APPLICATION_DATE;
--l_arc_settle(5) := to_char(global.application_date,l_dtf);
END IF;
DBG('p_ty_msgdets.dr_value_dt = ' || P_TY_MSGDETS.DR_VALUE_DT);
IF P_TY_MSGDETS.DR_VALUE_DT IS NULL THEN
-- for VDATEDR
P_TY_MSGDETS.DR_VALUE_DT := GLOBAL.APPLICATION_DATE;
--l_arc_settle(31) := to_char(global.application_date,l_dtf);
END IF;
-- END IF;
------------------------
-- QQQQQQQ : IS it req here
--IF NOT Cspks_Utils.fn_getproduct_details(l_Transfields(4))
------------------------
------------------------
pr_resolve_route( p_ty_retail_teller.awi1,
p_ty_retail_teller.txn_ccy,
p_ty_retail_teller.branch_code,
p_ty_retail_teller.country,
l_routecode);
END IF;
IF l_routecode IS NULL
THEN
dbg('FT Problem');
l_ftproblem := 'Y';
ovpkss.pr_appendtbl( 'FTARC001', NULL);
dbg('Could not resolve Transfer Route.');
p_ret := -1;
RETURN FALSE;
ELSE
dbg('Resolved route as '||l_routecode);
l_ftproblem := 'N';
END IF;
END IF;
*/
-- FCC73ITR2 SFR 58
EXCEPTION
WHEN OTHERS THEN
DBG('Not a FT Problem');
L_FTPROBLEM := 'N';
END;
------------------------
L_OFS_ACC := P_TY_RETAIL_TELLER.OFS_ACC;
--l_ofs_brn := p_ty_retail_teller.ofs_acc; -- FCC73ITR1 SFR 258 : code
commented ofs_branch added
L_OFS_BRN := P_TY_RETAIL_TELLER.OFS_BRANCH;
L_TXN_ACC := P_TY_RETAIL_TELLER.TXN_ACC;
L_TXN_BRN := NVL(P_TY_RETAIL_TELLER.TXN_BRANCH,
P_TY_RETAIL_TELLER.BRANCH_CODE);
BEGIN
SELECT CUSTOMER_NO
INTO L_CUST_NO
FROM SMTB_USER
WHERE USER_ID = L_USR;
EXCEPTION
-- ''''''''''''''''''
-----------------------------------------------------------------------------------
----
/*,p_ty_misdetails IN OUT typ_misdetails_fjb
,p_tbl_udfdetails IN OUT tbl_udfdetails_fjb*/
FUNCTION FN_VALIDATE(P_TY_RETAILTLR_UPD IN OUT DETB_UPLOAD_RTL_TELLER%ROWTYPE --
typeconv typ_retail_teller_rec
,
P_TBL_CHGDETS IN OUT TYP_TBLCHGDETS,
P_UPL_MIS_DET IN OUT MITBS_UPLOAD_CLASS_MAPPING
%ROWTYPE,
P_UPL_UDF_DET IN OUT UVPKSS_UDF_UPLOAD.TY_UPL_CONT_UDF,
P_TY_MCKDETAILS IN OUT ISTB_UPLOAD_CONTRACTIS%ROWTYPE --
typeconv typ_mckdetails_fjb
,
P_TY_MSGDETS IN OUT CSTB_UPLOAD_ARC_SETTLE%ROWTYPE --
typeconv typ_msgdets_fjb
,
P_TBL_NODE_REC IN TYP_NODE_TBL,
P_RET IN OUT NUMBER) RETURN BOOLEAN IS
--FCUBS_12.0.2_IDTKEKE_17420685 virtual starts
L_FN_CALL_ID NUMBER;
L_TBL_CLUSTER_DATA GLOBAL.TY_TB_CLUSTER_DATA;
L_TBL_CLUSTER_DATA_EMPTY GLOBAL.TY_TB_CLUSTER_DATA;
--FCUBS_12.0.2_IDTKEKE_17420685 virtual ends
BEGIN
DBG('Inside fn_validate....');
--FCUBS_12.0.2_IDTKEKE_17420685 virtual starts
/* IF cspks_req_global.g_release_type IN
(cspks_req_global.p_custom,cspks_req_global.p_cluster) THEN
l_fn_call_id := 2;
l_tbl_cluster_data := l_tbl_cluster_data_empty;
-- FCC73ITR2 SFR 58
FUNCTION FN_INSERT_FIELD_LOG(P_KEY_ID IN VARCHAR2,
P_MOD_NO IN NUMBER,
P_DETAIL_KEY IN VARCHAR2,
P_DETB_RTL_TLR IN DETB_RTL_TELLER%ROWTYPE,
P_RET IN OUT NUMBER) RETURN BOOLEAN IS
L_FUNCTION_ID VARCHAR2(20) := 'DEGRTTLR';
L_BLK_NAME VARCHAR2(20) := 'BLK_DETB_RTL_TELLER';
L_TABLE_NAME VARCHAR2(20) := 'DETBS_RTL_TELLER';
L_COUNT NUMBER := 0; -- SFR 58
BEGIN
DBG('Inside fn_insert_field_log....');
-- FC 10 Tuning PF-023
IF NOT CSPKS_FEATURE.FN_INSTALLED('DERECLOG') THEN
RETURN TRUE;
END IF;
-- FC 10 Tuning PF-023
IF NOT FN_INSERT_FIELD_LOG(P_KEY_ID,
P_MOD_NO,
P_KEY_ID,
P_DETB_RTL_TLR,
P_RET) THEN
DBG('E',
'Exception caught while uploading fn_insert_field_log with sqlerrm : ' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-015', NULL); -- Error while updating the Record
Log.
P_RET := -1;
RETURN FALSE;
END IF;
DBG('Successfully finished fn_insert_record_log....');
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('E',
'Exception caught while uploading fn_update_record_log with sqlerrm : '
||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-015', NULL); -- Error while updating the Record
Log.
P_RET := -1;
RETURN FALSE;
END FN_INSERT_RECORD_LOG;
L_RT_UPLD_TYP DEPKS_RETAILTELLERUPLOAD.TYP_RETAILTELLERUPLD_REC;
L_RETAIL_TLR_CUST DETB_RTL_TELLER_CUSTOM%ROWTYPE; --
FCUBS_11.2.0.0.0$BOMLAE_Customer_Choreography_Financial_Transactions
L_TY_RETAIL_TELLER DETB_RTL_TELLER%ROWTYPE;
L_TY_MSG_DETS CSTB_ARC_SETTLE%ROWTYPE;
L_TY_MCKDETAILS ISVW_MCK_DETAILS%ROWTYPE;
L_SERIAL_USELESS VARCHAR2(10); -- NO use. only used as parameter for a call
to trpkss.fn_get_product_refno
L_ERR_PARAM VARCHAR2(2000);
BEGIN
DBG('in the fxn to create an uninitialized rt txn');
L_RT_UPLD_TYP.TY_UPLD_RTL_TELLER := P_UPLD_RT_TYP;
IF NOT FN_COPY_UPLOAD_TO_BASE(L_RT_UPLD_TYP.TY_UPLD_RTL_TELLER,
--L_RETAIL_TLR_CUST, --
FCUBS_11.2.0.0.0$BOMLAE_Customer_Choreography_Financial_Transactions
L_RT_UPLD_TYP.TY_MSGDETS,
L_RT_UPLD_TYP.TY_MCKDETAILS,
L_TY_RETAIL_TELLER,
L_TY_MSG_DETS,
L_TY_MCKDETAILS,
P_ERR_CODE,
L_ERR_PARAM)
THEN
DBG('Failed in fn_copy_upload_to_base' || SQLERRM);
RETURN FALSE;
END IF;
--copying charges
IF P_TBL_CHGDETS.COUNT > 0 THEN
--DEFLT00011786 Added
IF NVL(P_TBL_CHGDETS(1).CHG_AMT, 0) > 0 --DEFLT00011786 ADDED
THEN
L_TY_RETAIL_TELLER.CHG_AMT := P_TBL_CHGDETS(1).CHG_AMT;
L_TY_RETAIL_TELLER.CHG_CCY := P_TBL_CHGDETS(1).COD_CHG_CCY;
L_TY_RETAIL_TELLER.CHG_DESC := P_TBL_CHGDETS(1).COD_CHG_DESC;
END IF; --DEFLT00011786 ADDED
IF NVL(P_TBL_CHGDETS(2).CHG_AMT, 0) > 0 --DEFLT00011786 ADDED
THEN
L_TY_RETAIL_TELLER.CHG_AMT_1 := P_TBL_CHGDETS(2).CHG_AMT;
L_TY_RETAIL_TELLER.CHG_CCY_1 := P_TBL_CHGDETS(2).COD_CHG_CCY;
L_TY_RETAIL_TELLER.CHG_DESC1 := P_TBL_CHGDETS(2).COD_CHG_DESC;
END IF; --DEFLT00011786 ADDED
END IF; --DEFLT00011786 Added
IF NOT TRPKSS.FN_GET_PRODUCT_REFNO(L_TY_RETAIL_TELLER.BRANCH_CODE,
L_TY_RETAIL_TELLER.PRODUCT_CODE,
GLOBAL.APPLICATION_DATE,
L_SERIAL_USELESS,
L_TY_RETAIL_TELLER.TRN_REF_NO,
P_ERR_CODE) THEN
DBG('Failed in generating prod ref no with p_err_code : ' ||
P_ERR_CODE);
RETURN FALSE;
END IF;
BEGIN
INSERT INTO DETBS_RTL_TELLER VALUES L_TY_RETAIL_TELLER;
DBG('l_ty_retail_teller.record_stat: ' ||
L_TY_RETAIL_TELLER.RECORD_STAT);
EXCEPTION
WHEN OTHERS THEN
DBG('failed to insert into detb_rtl_teller');
RETURN FALSE;
END;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DEBUG.PR_DEBUG('AC',
SUBSTR(DBMS_UTILITY.FORMAT_CALL_STACK, 87) || '^^' ||
DBMS_UTILITY.FORMAT_ERROR_STACK || '^^' ||
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
DBG('Failed, and in the WOT of uninitrttxn');
RETURN FALSE;
END FN_UNINITRTTXN;
---------------------------------------------------------------
--NEFT/RTGS CHANGES 1405
FUNCTION FN_UPLOAD_PC(P_TY_RETAIL_TELLER IN DETBS_RTL_TELLER%ROWTYPE,
P_TY_PCDETAILS IN OUT DETB_PCTRN%ROWTYPE,
P_RET IN OUT VARCHAR2) RETURN BOOLEAN IS
P_TY_RTUPLD VARCHAR2(20);
BEGIN
DBG('Inside FN_UPLOAD_PC details....');
P_TY_PCDETAILS.TRN_REF_NO := P_TY_RETAIL_TELLER.TRN_REF_NO;
DBG('fetched value for trans ref no!!!!!!!!' ||
P_TY_PCDETAILS.TRN_REF_NO);
P_TY_PCDETAILS.BRANCH := P_TY_RETAIL_TELLER.BRANCH_CODE;
DBG('returned after fetching values for branch!!!!!!!!!!!!!!!!!!!' ||
P_TY_PCDETAILS.BRANCH);
P_TY_PCDETAILS.XREF := P_TY_RETAIL_TELLER.XREF;
DBG('returned after fetching values for branch and xreff!!!!!!!!!!!!!!!!!!!' ||
P_TY_PCDETAILS.XREF);
DBG('returned after fetching values for branch and xreff!!!!!!!!!!!!!!!!!!!');
IF P_TY_PCDETAILS.BRANCH IS NOT NULL AND
P_TY_PCDETAILS.XREF IS NOT NULL THEN
INSERT INTO DETB_PCTRN
(BRANCH,
XREF,
TRN_REF_NO,
CUST_NAME,
CUST_ADDR1,
CUST_ADDR2,
CUST_ADDR3,
PC_BANK_CODE,
PC_ACCOUNT_NO,
PC_PROD_CAT,
PC_NETWORK_ID,
BEN_ACCT_TYPE,
BEN_NAME,
BEN_ADDR1,
BEN_ADDR2,
BEN_ADDR3,
SENDER_RECVR_INFO1,
SENDER_RECVR_INFO2,
SENDER_RECVR_INFO3,
COMM_MODE,
MOBILENO_EMAILID
--email_id
)
VALUES
(P_TY_PCDETAILS.BRANCH,
P_TY_PCDETAILS.XREF,
P_TY_PCDETAILS.TRN_REF_NO,
P_TY_PCDETAILS.CUST_NAME,
P_TY_PCDETAILS.CUST_ADDR1,
P_TY_PCDETAILS.CUST_ADDR2,
P_TY_PCDETAILS.CUST_ADDR3,
P_TY_PCDETAILS.PC_BANK_CODE,
P_TY_PCDETAILS.PC_ACCOUNT_NO,
P_TY_PCDETAILS.PC_PROD_CAT,
P_TY_PCDETAILS.PC_NETWORK_ID,
P_TY_PCDETAILS.BEN_ACCT_TYPE,
P_TY_PCDETAILS.BEN_NAME,
P_TY_PCDETAILS.BEN_ADDR1,
P_TY_PCDETAILS.BEN_ADDR2,
P_TY_PCDETAILS.BEN_ADDR3,
P_TY_PCDETAILS.SENDER_RECVR_INFO1,
P_TY_PCDETAILS.SENDER_RECVR_INFO2,
P_TY_PCDETAILS.SENDER_RECVR_INFO3,
P_TY_PCDETAILS.COMM_MODE,
P_TY_PCDETAILS.MOBILENO_EMAILID);
-- p_ty_pcdetails.email_id);
DBG('returned after inserting values into detb_pctrn
table!!!!!!!!!!!!!!!!!!');
DBG('returned after fetching values for branch and xreff.....' ||
P_TY_PCDETAILS.BRANCH);
DBG('returned after fetching values for branch and xreff.....' ||
P_TY_PCDETAILS.MOBILENO_EMAILID);
DBG('returned after fetching values for branch and xreff.....' ||
P_TY_PCDETAILS.PC_BANK_CODE);
END IF;
RETURN TRUE;
DBG('returned true after inserting all the values%%%%%%%%%%%%%%%%%%%%%%%%');
EXCEPTION
WHEN OTHERS THEN
DBG('E',
'Exception caught while uploading FN_UPLOAD_PC with sqlerrm : ' ||
SQLERRM);
OVPKSS.PR_APPENDTBL('GW-RTL-002', NULL); -- Failed in validating the request.
P_RET := -1;
RETURN FALSE;
END FN_UPLOAD_PC;
--NEFT/RTGS CHANGES 1405
---FCUBS11.2 Stale Cheque Validation
FUNCTION FN_VALIDATE_STALE_CHECK(P_RTL_TLR_UPD IN OUT DETB_UPLOAD_RTL_TELLER
%ROWTYPE,
P_ERR_CODE IN OUT ERTB_MSGS .ERR_CODE%TYPE,
P_ERR_PARAM IN OUT ERTB_MSGS.MESSAGE%TYPE)
RETURN BOOLEAN IS
L_ERR_CODE VARCHAR2(100);
L_ERR_PARAMS VARCHAR2(200);
L_ROW_CSTB_CLEARING_MASTER CSTB_CLEARING_MASTER%ROWTYPE; --tanushree
L_STALE_CHECK_DAYS NUMBER(4);
L_NO_OF_DAYS NUMBER(4);
OVERRIDE_EXCEPTION EXCEPTION;
P_OVERRIDE_FLAG VARCHAR2(1);
L_ACTION_ON_EXCEPTION VARCHAR2(2);
L_STATUS_ON_SAVE VARCHAR2(2);
L_WHAT_TO_DO VARCHAR2(2);
L_AUTH_STATUS VARCHAR2(2);
L_ERROR_CODE VARCHAR2(20);
L_ERROR_PARAMETER VARCHAR2(2);
P_ACTION_ON_OVERRIDE VARCHAR2(1) := 'Y';
P_ACTION_ON_UPLOAD_STATUS VARCHAR2(1);
BEGIN
DBG('In fn_validate_stale_check..');
--fcubs11.2 it1 sfr1219 starts
DBG(' GWPKS_UTIL.G_REJECTFLAG ' || GWPKS_UTIL.G_REJECTFLAG);
DBG('gwpks_util.pkg_acttype' || GWPKS_UTIL.PKG_ACTTYPE);
IF GWPKS_UTIL.PKG_ACTTYPE = 'INPUT' THEN
L_NO_OF_DAYS := ABS(TO_DATE(P_RTL_TLR_UPD.CHEQUE_ISSUE_DATE,
'dd/mm/yyyy') -
TO_DATE(P_RTL_TLR_UPD.INSTR_DATE,
'dd-mon-yyyy'));
DBG('L_NO_OF_DAYS' || L_NO_OF_DAYS);
DBG('L_NO_OF_DAYS' || L_NO_OF_DAYS);
DBG('l_stale_check_days' || L_STALE_CHECK_DAYS);
IF L_NO_OF_DAYS > L_STALE_CHECK_DAYS THEN
DBG('L_NO_OF_DAYS > l_stale_check_days');
P_ERR_CODE := 'CG-IO0115';
OVPKS.PR_APPENDTBL('CG-IO0115', NULL);
DBG('REGISTERD ');
DBG('**************');
IF NVL(GWPKS_UTIL.G_REJECTFLAG, 'N') = 'Y' AND
P_RTL_TLR_UPD.PRODUCT_CODE IN ('LOCH', 'CQWL') AND
GWPKS_UTIL.PKG_ACTTYPE = 'SAVEAUTOAUTH' THEN
IF P_RTL_TLR_UPD.REJECT_CODE IS NULL THEN
DBG('O',
'in fn_upload: failed while validating in reject code : Reject
Code is not input. Status of the cheque would be not used');
P_ERR_CODE := 'CG-REJE-001';
OVPKSS.PR_APPENDTBL('CG-REJE-001', NULL);
END IF;
END IF;
DBG('*********************');
END IF;
END IF;
END IF;
END IF; --fcubs11.2 it1 sfr1219
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('In When others of cgpks_upload_cg_create.fn_validate_stale_check..');
DBG(SQLERRM);
OVPKS.PR_APPENDTBL('CG-UPLD-001',
'fn_validate_stale_checkk~' || SQLCODE);
RETURN FALSE;
END FN_VALIDATE_STALE_CHECK;
---FCUBS11.2 Stale Cheque Validation
--fcubs11.2 it1 sfr 727 starts
FUNCTION FN_VALIDATE_NO_OF_REJECTIONS(P_SOURCE IN COTMS_SOURCE.SOURCE_CODE
%TYPE,
P_TY_CLG_REC IN REC_CSTB_CLG_REC,
P_RTL_TLR_UPD IN OUT DETB_UPLOAD_RTL_TELLER
%ROWTYPE,
P_CHECK_NO IN OUT VARCHAR2,
P_ERR_CODE IN OUT ERTB_MSGS .ERR_CODE
%TYPE,
P_ERR_PARAM IN OUT ERTB_MSGS.MESSAGE
%TYPE)
RETURN BOOLEAN IS
L_ERR_CODE VARCHAR2(100);
L_ERR_PARAMS VARCHAR2(200);
L_ROW_CSTB_CLEARING_MASTER CSTB_CLEARING_MASTER%ROWTYPE;
L_STALE_CHECK_DAYS NUMBER(4);
L_NO_OF_DAYS NUMBER(4);
OVERRIDE_EXCEPTION EXCEPTION;
P_OVERRIDE_FLAG VARCHAR2(1);
L_ACTION_ON_EXCEPTION VARCHAR2(2);
L_STATUS_ON_SAVE VARCHAR2(2);
L_WHAT_TO_DO VARCHAR2(2);
P_AUTH_STAT VARCHAR2(2);
L_AUTH_STATUS VARCHAR2(2);
L_ERROR_CODE VARCHAR2(20);
L_ERROR_PARAMETER VARCHAR2(2);
P_ACTION_ON_OVERRIDE VARCHAR2(1) := 'Y';
P_ACTION_ON_UPLOAD_STATUS VARCHAR2(1);
L_SOURCE COTMS_SOURCE.SOURCE_CODE%TYPE;
L_REFNO CSTB_CLEARING_MASTER.REFERENCE_NO%TYPE;
L_XREF CSTB_CLEARING_MASTER.XREF%TYPE;
L_TY_CLG_REC CGPKS_UPLOAD_CG_REJECT.REC_CSTB_CLG_REC;
L_MOD_NO NUMBER(3);
L_NO_CHEQUE_REJECTIONS NUMBER(4);
L_MAX_NO_CHEQUE_REJECTIONS NUMBER(4);
L_NO_OF_CHQ_REJ_RESET_ON DATE;
L_CHEQUE_BOOK_FACILITY STTMS_CUST_ACCOUNT.CHEQUE_BOOK_FACILITY%TYPE;
L_REJECT_CODE CSTB_CLEARING_MASTER.REJECT_CODE%TYPE;
L_INCLUDE_FOR_RETURN_COUNTER VARCHAR2(1);
L_COUNT1 NUMBER;
L_ERR_PARAM VARCHAR2(40);
L_R_VALUE VARCHAR2(1) := 'R';
L_RET_VAL VARCHAR2(30);
BEGIN
DBG('In cgpks_upload_cg_create.fn_validate_no_of_rejections');
DBG('check_no' || P_CHECK_NO);
DBG('p_ty_clg_rec.ty_clg_upld.rembranch' ||
P_TY_CLG_REC.TY_CLG_UPLD.REMBRANCH);
DBG('p_rtl_tlr_upd.txn_acc' || P_RTL_TLR_UPD.TXN_ACC);
DBG('p_rtl_tlr_upd.branch_code' || P_RTL_TLR_UPD.BRANCH_CODE);
END IF;
END IF;
--FCUBS11.2 ITR2 SFR#58 changes
--FCUBS11.2 SFR362 ITR2 Startz Commenting the below call
/* IF NOT cspkss_upload.fn_what_to_do(p_source,
'RT',
l_what_to_do,
l_auth_status,
l_err_code,
l_err_param) THEN
dbg('cspkss_upload.fn_what_to_do returned FALSE');
RETURN FALSE;
END IF;
dbg('l_what_to_do===>' || l_what_to_do);
dbg('l_auth_status===>' || l_auth_status);
p_auth_stat := l_auth_status;
IF (l_what_to_do = 'R') THEN
dbg('What to do has returned Reject Status. Hence exiting..');
RETURN FALSE;
BEGIN
SELECT INCLUDE_FOR_RETURN_COUNTER
INTO L_INCLUDE_FOR_RETURN_COUNTER
FROM CSTB_CLG_REJ_REASON
WHERE REASON_CODE = P_RTL_TLR_UPD.REJECT_CODE
AND AUTH_STAT = 'A'
AND RECORD_STAT = 'O';
DBG('l_INCLUDE_FOR_RETURN_COUNTER' ||
L_INCLUDE_FOR_RETURN_COUNTER);
EXCEPTION
WHEN OTHERS THEN
DBG('IN WHEN OTHERS OF CHEQUE_REJECTIONS' || SQLERRM ||
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END;
GLOBAL.APPLICATION_DATE,
P_RTL_TLR_UPD.TXN_ACC,
GLOBAL.USER_ID,
P_CHECK_NO,
'R',
P_ERR_CODE,
P_RTL_TLR_UPD.XREF);
DBG('returning from casapks.fn_update_check_status');
DBG('branch.' || P_RTL_TLR_UPD.BRANCH_CODE);
DBG('account.' || P_RTL_TLR_UPD.TXN_ACC);
BEGIN
SELECT MAX(MOD_NO)
INTO L_MOD_NO
FROM CATMS_CHECK_DETAILS
WHERE /*branch = p_rtl_tlr_upd.Branch_Code*/
BRANCH = P_RTL_TLR_UPD.TXN_BRANCH --AEDMBU PREUAT3 SFR#DEFLT00005936
Changes
AND ACCOUNT = P_RTL_TLR_UPD.TXN_ACC
AND CHECK_NO = P_CHECK_NO;
DBG('mod no' || L_MOD_NO);
EXCEPTION
WHEN OTHERS THEN
DBG('IN WHEN OTHERS OF CHEQUE_REJECTIONS' || SQLERRM ||
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END;
DBG('p_rtl_tlr_upd.txn_acc' || P_RTL_TLR_UPD.TXN_ACC);
DBG('p_rtl_tlr_upd.Branch_Code' || P_RTL_TLR_UPD.BRANCH_CODE);
UPDATE CATM_CHECK_DETAILS
SET REJECT_CODE = P_RTL_TLR_UPD.REJECT_CODE
WHERE /*branch = p_rtl_tlr_upd.Branch_Code*/
BRANCH = P_RTL_TLR_UPD.TXN_BRANCH --AEDMBU PREUAT3 SFR#DEFLT00005936
Changes
AND ACCOUNT = P_RTL_TLR_UPD.TXN_ACC
AND CHECK_NO = P_CHECK_NO
AND MOD_NO = L_MOD_NO;
DBG('l_reject_code---->' || P_RTL_TLR_UPD.REJECT_CODE);
DBG('p_rtl_tlr_upd.Branch_Code' || P_RTL_TLR_UPD.BRANCH_CODE);
DBG('p_rtl_tlr_upd.txn_acc' || P_RTL_TLR_UPD.TXN_ACC);
DBG(' check_no' || P_CHECK_NO);
DBG('Updated catms_check_details ::==========' || SQL%ROWCOUNT);
-- END IF;
DBG('PRESENTATION_DATE---->' ||
ADD_MONTHS(GLOBAL.APPLICATION_DATE, -12));
DBG('reject_code---->' || P_RTL_TLR_UPD.REJECT_CODE);
DBG('p_rtl_tlr_upd.txn_acc---->' || P_RTL_TLR_UPD.TXN_ACC);
DBG('p_rtl_tlr_upd.Branch_Code--->' || P_RTL_TLR_UPD.BRANCH_CODE);
DBG('PRESENTATION_DATE--IN NEW FOrmat' ||
TO_DATE(TO_CHAR(ADD_MONTHS(GLOBAL.APPLICATION_DATE, -12)),
'DD/MM/YY'));
BEGIN
/*SELECT COUNT(*)
INTO L_COUNT1
FROM CATMS_CHECK_DETAILS
WHERE ACCOUNT = p_rtl_tlr_upd.txn_acc
and BRANCH = p_rtl_tlr_upd.Branch_Code
AND STATUS = 'R'
and nvl(PRESENTATION_DATE, trunc(maker_dt_stamp, 'DDD')) >=
TO_DATE(TO_CHAR(add_months(global.application_date, -12)),
'DD/MM/YY')
and reject_code is not null;*/
EXCEPTION
WHEN OTHERS THEN
DBG('IN WHEN OTHERS OF CHEQUE_REJECTIONS' || SQLERRM ||
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END;
DBG('L_COUNT1' || L_COUNT1);
THEN
L_CHEQUE_BOOK_FACILITY := 'N';
END IF;
UPDATE STTM_CUST_ACCOUNT
SET NO_CHEQUE_REJECTIONS = L_NO_CHEQUE_REJECTIONS,
CHEQUE_BOOK_FACILITY = L_CHEQUE_BOOK_FACILITY
WHERE CUST_AC_NO = P_RTL_TLR_UPD.TXN_ACC
AND /*BRANCH_CODE = p_rtl_tlr_upd.Branch_Code;*/
BRANCH_CODE = P_RTL_TLR_UPD.TXN_BRANCH; --AEDMBU PREUAT3
SFR#DEFLT00005936 Changes
BEGIN
SELECT NO_CHEQUE_REJECTIONS,
MAX_NO_CHEQUE_REJECTIONS,
NO_OF_CHQ_REJ_RESET_ON,
CHEQUE_BOOK_FACILITY
INTO L_NO_CHEQUE_REJECTIONS,
L_MAX_NO_CHEQUE_REJECTIONS,
L_NO_OF_CHQ_REJ_RESET_ON,
L_CHEQUE_BOOK_FACILITY
FROM STTM_CUST_ACCOUNT
WHERE CUST_AC_NO = P_RTL_TLR_UPD.TXN_ACC
AND /*BRANCH_CODE = p_rtl_tlr_upd.Branch_Code;*/
BRANCH_CODE = P_RTL_TLR_UPD.TXN_BRANCH; --AEDMBU PREUAT3
SFR#DEFLT0000l Changes
EXCEPTION
WHEN OTHERS THEN
DBG('IN WHEN OTHERS OF CHEQUE_REJECTIONS' || SQLERRM ||
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END;
DBG('l_NO_CHEQUE_REJECTIONS' || L_NO_CHEQUE_REJECTIONS);
DBG(' L_MAX_NO_CHEQUE_REJECTIONS' || L_MAX_NO_CHEQUE_REJECTIONS);
DBG('l_cheque_book_facility' || L_CHEQUE_BOOK_FACILITY);
DBG('AFTER updation' || L_CHEQUE_BOOK_FACILITY);
END IF; --FCUBS11.2 ITR2 SFR#58 changes
END IF; --FCUBS 11.2 ITR1 SFR#1224 code changes
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
BEGIN
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('RT', 'Failed in fn_get_deal_customer' || SQLERRM);
RETURN FALSE;
END FN_GET_DEAL_CUSTOMER;
L_ACC STTM_CUST_DEAL_DETAILS.CUSTOMER_ACCOUNT%TYPE;
L_BUY_CCY STTM_CUST_DEAL_DETAILS.BUY_CURRENCY%TYPE;
L_SELL_CCY STTM_CUST_DEAL_DETAILS.SELL_CURRENCY%TYPE;
L_DEAL_CCY STTM_CUST_DEAL_DETAILS.DEAL_CURRENCY%TYPE;
L_VAL_DATE STTM_CUST_DEAL_DETAILS.DEAL_EXPIRY_DATE%TYPE;
L_DEAL_AMT STTM_CUST_DEAL_DETAILS.DEAL_AMOUNT%TYPE;
L_UTIL_AMT STTM_CUST_DEAL_DETAILS_MULTI.UTILIZED_AMOUNT%TYPE;
L_TXN_CUST_NO VARCHAR2(20);
L_CUST_NO VARCHAR2(20);
L_VALUE_DT_CNT NUMBER;
L_COUNTRY_CODE VARCHAR2(10);
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO,
'RT',
P_SOURCE,
GWPKS_UTIL.PKG_FUNC,
'NEW',
P_TY_RETAILTLR_UPD.TXN_ACC,
L_DR_CCY,
L_CR_CCY,
GLOBAL.APPLICATION_DATE,
L_TXN_AMT,
L_TXN_CCY,
P_TY_RETAILTLR_UPD.NEGOTIATED_RATE,
GLOBAL.CURRENT_BRANCH,
P_ERR_CODE,
P_ERR_PARAM);
L_ERR_TBL := OVPKSS.GL_TBLERROR;
FOR I IN 1 .. L_ERR_TBL.COUNT LOOP
L_ERR_TYPE := OVPKSS.FN_GETTYPE(L_ERR_TBL(I).ERR_CODE);
IF L_ERR_TYPE IN ('E', 'X') THEN
DBG('Error Found... ' || L_ERR_TBL(I).ERR_CODE);
L_FOUND_ERR := TRUE;
P_ERR_CODE := L_ERR_TBL(I).ERR_CODE;
P_ERR_PARAM := L_ERR_TBL(I).PARAMS;
OVPKSS.PR_APPENDTBL(P_ERR_CODE, P_ERR_PARAM);
RETURN FALSE;
ELSIF L_ERR_TYPE IN ('I', 'O') AND L_ERR_TBL(I)
.ERR_CODE = 'DE-NEG-050' THEN
P_ERR_CODE := L_ERR_TBL(I).ERR_CODE;
P_ERR_PARAM := L_ERR_TBL(I).PARAMS;
OVPKSS.PR_APPENDTBL(P_ERR_CODE, P_ERR_PARAM);
END IF;
END LOOP;
/*BEGIN
SELECT t.customer_account,
t.buy_currency,
t.sell_currency,
t.deal_currency,
t.deal_expiry_date,
t.deal_amount,
--4903 changes starts
t.tot_utilised_amount
--4903 changes ends
INTO l_acc,
l_buy_ccy,
l_sell_ccy,
l_deal_ccy,
l_val_date,
l_deal_amt,
--4903 changes starts
l_current_util
--4903 changes ends
FROM sttm_cust_deal_details t
WHERE t.internal_deal_ref_no =
p_ty_retailtlr_upd.negotiation_ref_no
AND t.auth_stat = 'A'
AND t.record_stat = 'O';
EXCEPTION
WHEN OTHERS THEN
dbg('RT',
'p_ty_retailtlr_upd.Negotiation_Ref_No : ' ||
p_ty_retailtlr_upd.negotiation_ref_no || ' : ' || SQLERRM);
ovpkss.pr_appendtbl('DL-NEG-012', NULL);
RETURN FALSE;
END;
--4903 changes starts
dbg('here to determine the deal utilisation amount based on ccy');
IF l_deal_ccy = p_ty_retailtlr_upd.txn_ccy THEN
dbg('deal ccy is same as txn ccy');
l_txn_amt := p_ty_retailtlr_upd.txn_amount;
ELSIF l_deal_ccy = p_ty_retailtlr_upd.ofs_ccy THEN
dbg('deal ccy is equal to ofs ccy');
l_txn_amt := p_ty_retailtlr_upd.ofs_amount;
END IF;
--4903 changes ends
--4903 changes starts
\*BEGIN
SELECT SUM(T.UTILIZED_AMOUNT)
INTO L_UTIL_AMT
FROM STTM_CUST_DEAL_DETAILS_MULTI T
WHERE T.INTERNAL_DEAL_REF_NO =
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO;
EXCEPTION
WHEN OTHERS THEN
L_UTIL_AMT := 0;
END;*\
--4903 changes ends
\* SELECT COUNT(T.VALUE_DATE)
INTO L_VALUE_DT_CNT
FROM STTM_CUST_DEAL_DETAILS_MULTI T
WHERE T.INTERNAL_DEAL_REF_NO =
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO
AND T.VALUE_DATE > GLOBAL.APPLICATION_DATE;*\
-- 4960 changes starts
IF l_val_date < global.application_date THEN
dbg('RT',
'Deal Expiry Date is less than application date for
Negotiation_Ref_No :' ||
p_ty_retailtlr_upd.negotiation_ref_no || ', Deal Date: ' ||
l_val_date);
ovpkss.pr_appendtbl('DE-NEG-050', NULL);
END IF;
-- 4960 changes ends
-- check if customer of deal account and customer of transaction account
are same
IF NOT fn_get_deal_customer(p_ty_retailtlr_upd.txn_acc,
p_ty_retailtlr_upd.txn_ccy,
l_txn_cust_no) THEN
dbg('Failed in fn_get_deal_customer');
l_txn_cust_no := NULL;
-- RETURN FALSE;
END IF;
ovpkss.pr_appendtbl('DL-NEG-013', NULL);
RETURN FALSE;
EXCEPTION
WHEN OTHERS THEN
dbg('P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO; : ' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO || ' ERRMSG : ' ||
SQLERRM);
dbg('Deal No. not available in T24 list for region other than UAE,
Hence Valid');
END;
END IF;*/
--4903 changes ends
END IF;
BEGIN
SELECT SUM(T.UTILIZED_AMOUNT)
INTO L_UTIL_AMT
FROM STTM_CUST_DEAL_DETAILS_MULTI T
WHERE T.INTERNAL_DEAL_REF_NO =
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO;
EXCEPTION
WHEN OTHERS THEN
L_UTIL_AMT := 0;
END;
\* SELECT COUNT(T.VALUE_DATE)
INTO L_VALUE_DT_CNT
FROM STTM_CUST_DEAL_DETAILS_MULTI T
WHERE T.INTERNAL_DEAL_REF_NO =
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO
AND T.VALUE_DATE > GLOBAL.APPLICATION_DATE;*\
IF NOT FN_GET_DEAL_CUSTOMER(P_TY_RETAILTLR_UPD.TXN_ACC,
P_TY_RETAILTLR_UPD.TXN_CCY,
L_TXN_CUST_NO) THEN
DBG('Failed in fn_get_deal_customer');
L_TXN_CUST_NO := NULL;
--RETURN FALSE;
END IF;
ovpkss.pr_appendtbl('DL-NEG-013', NULL);
RETURN FALSE;
EXCEPTION
WHEN OTHERS THEN
dbg('P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO; : ' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO || ' ERRMSG : ' ||
SQLERRM);
dbg('Deal No. not available in T24 list for region other than
UAE, Hence Valid');
END;
END IF;*\
--4903 changes ends
END IF;*/
--4903 changes ends;
-- Cash Deposit
--4903 changes starts
/*IF GWPKS_UTIL.PKG_FUNC IN ('1401') OR
UPPER(P_TY_RETAILTLR_UPD.PRODUCT_CODE) = 'CHDP' THEN
DBG('RT',
'p_ty_retailtlr_upd.Negotiation_Ref_No' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO);
BEGIN
SELECT SUM(T.UTILIZED_AMOUNT)
INTO L_UTIL_AMT
FROM STTM_CUST_DEAL_DETAILS_MULTI T
WHERE T.INTERNAL_DEAL_REF_NO =
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO;
EXCEPTION
WHEN OTHERS THEN
L_UTIL_AMT := 0;
END;
\* SELECT COUNT(T.VALUE_DATE)
INTO L_VALUE_DT_CNT
FROM STTM_CUST_DEAL_DETAILS_MULTI T
WHERE T.INTERNAL_DEAL_REF_NO =
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO
AND T.VALUE_DATE > GLOBAL.APPLICATION_DATE;*\
IF NOT FN_GET_DEAL_CUSTOMER(P_TY_RETAILTLR_UPD.TXN_ACC,
P_TY_RETAILTLR_UPD.TXN_CCY,
L_TXN_CUST_NO) THEN
DBG('Failed in fn_get_deal_customer');
L_TXN_CUST_NO := NULL;
--RETURN FALSE;
END IF;
ovpkss.pr_appendtbl('DL-NEG-013', NULL);
RETURN FALSE;
EXCEPTION
WHEN OTHERS THEN
dbg('P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO; : ' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO || ' ERRMSG : ' ||
SQLERRM);
dbg('Deal No. not available in T24 list for region other than
UAE, Hence Valid');
END;
END IF;*\
--4903 changes ends
END IF;*/
--4903 changes ends
-- Cash Withdrawal
--4903 changes starts
/*IF GWPKS_UTIL.PKG_FUNC IN ('1001') OR
UPPER(P_TY_RETAILTLR_UPD.PRODUCT_CODE) = 'CHWL' THEN
DBG('RT',
'p_ty_retailtlr_upd.Negotiation_Ref_No' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO);
BEGIN
SELECT SUM(T.UTILIZED_AMOUNT)
INTO L_UTIL_AMT
FROM STTM_CUST_DEAL_DETAILS_MULTI T
WHERE T.INTERNAL_DEAL_REF_NO =
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO;
EXCEPTION
WHEN OTHERS THEN
L_UTIL_AMT := 0;
END;
\*
IF (L_VAL_DATE < GLOBAL.APPLICATION_DATE) AND (L_UTIL_AMT >=
L_DEAL_AMT) --OR L_VALUE_DT_CNT > 0
THEN
DBG('RT',
'Deal expiry date less than application date for
Negotiation_Ref_No :' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO || ', Deal Date: ' ||
L_VAL_DATE);
OVPKSS.PR_APPENDTBL('DE-NEG-050', NULL);
RETURN FALSE;
END IF;*\
DBG('Failed in fn_get_deal_customer');
L_TXN_CUST_NO := NULL;
--RETURN FALSE;
END IF;
ovpkss.pr_appendtbl('DL-NEG-013', NULL);
RETURN FALSE;
EXCEPTION
WHEN OTHERS THEN
dbg('P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO; : ' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO || ' ERRMSG : ' ||
SQLERRM);
dbg('Deal No. not available in T24 list for region other than
UAE, Hence Valid');
END;
END IF;*\
--4903 changes ends
END IF;*/
--4903 changes ends
-- FX Purchase
--4903 changes starts
/*IF GWPKS_UTIL.PKG_FUNC IN ('8207') OR
UPPER(P_TY_RETAILTLR_UPD.PRODUCT_CODE) = 'FXPA' THEN
DBG('RT',
'p_ty_retailtlr_upd.Negotiation_Ref_No' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO);
BEGIN
SELECT SUM(T.UTILIZED_AMOUNT)
INTO L_UTIL_AMT
FROM STTM_CUST_DEAL_DETAILS_MULTI T
WHERE T.INTERNAL_DEAL_REF_NO =
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO;
EXCEPTION
WHEN OTHERS THEN
L_UTIL_AMT := 0;
END;
DBG('Failed in fn_get_deal_customer');
L_TXN_CUST_NO := NULL;
-- RETURN FALSE;
END IF;
ovpkss.pr_appendtbl('DL-NEG-013', NULL);
RETURN FALSE;
EXCEPTION
WHEN OTHERS THEN
dbg('P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO; : ' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO || ' ERRMSG : ' ||
SQLERRM);
dbg('Deal No. not available in T24 list for region other than
UAE, Hence Valid');
END;
END IF;*\
--4903 changes ends
END IF;*/
--4903 changes ends
-- FX Sale
--4903 changes starts
/*IF GWPKS_UTIL.PKG_FUNC IN ('8206') OR
UPPER(P_TY_RETAILTLR_UPD.PRODUCT_CODE) = 'FXSA' THEN
DBG('RT',
'p_ty_retailtlr_upd.Negotiation_Ref_No' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO);
BEGIN
SELECT SUM(T.UTILIZED_AMOUNT)
INTO L_UTIL_AMT
FROM STTM_CUST_DEAL_DETAILS_MULTI T
WHERE T.INTERNAL_DEAL_REF_NO =
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO;
EXCEPTION
WHEN OTHERS THEN
L_UTIL_AMT := 0;
END;
IF NOT FN_GET_DEAL_CUSTOMER(P_TY_RETAILTLR_UPD.TXN_ACC,
P_TY_RETAILTLR_UPD.TXN_CCY,
L_TXN_CUST_NO) THEN
DBG('Failed in fn_get_deal_customer');
L_TXN_CUST_NO := NULL;
--RETURN FALSE;
END IF;
ovpkss.pr_appendtbl('DL-NEG-013', NULL);
RETURN FALSE;
EXCEPTION
WHEN OTHERS THEN
dbg('P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO; : ' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO || ' ERRMSG : ' ||
SQLERRM);
dbg('Deal No. not available in T24 list for region other than
UAE, Hence Valid');
END;
END IF;*\
--4903 changes ends
END IF;*/
--4903 changes ends
-- 4903 changes starts <If condition for Deal cntry>
ELSE
DBG('Not a T24 deal enabled country');
BEGIN
SELECT T.CUSTOMER_ACCOUNT,
T.BUY_CURRENCY,
T.SELL_CURRENCY,
T.DEAL_CURRENCY,
T.DEAL_EXPIRY_DATE,
T.DEAL_AMOUNT
INTO L_ACC,
L_BUY_CCY,
L_SELL_CCY,
L_DEAL_CCY,
L_VAL_DATE,
L_DEAL_AMT
FROM STTM_CUST_DEAL_DETAILS T
WHERE T.INTERNAL_DEAL_REF_NO =
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO
AND T.AUTH_STAT = 'A'
AND T.RECORD_STAT = 'O';
OVPKSS.PR_APPENDTBL('DL-NEG-013', NULL);
RETURN FALSE;
EXCEPTION
WHEN OTHERS THEN
DBG('P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO; : ' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO || ' ERRMSG : ' ||
SQLERRM);
DBG('Deal No. not available in T24 list for region other than UAE, Hence
Valid');
END;
END IF;
-- 4903 changes ends <If condition for Deal cntry>
L_ERR_CODE VARCHAR2(50);
L_ERR_PARAM VARCHAR2(100);
L_DEAL_AMT STTM_CUST_DEAL_DETAILS.DEAL_AMOUNT%TYPE;
L_DEAL_STATUS STTM_CUST_DEAL_DETAILS.DEAL_STATUS%TYPE;
L_UTIL_AMT STTM_CUST_DEAL_DETAILS_MULTI.UTILIZED_AMOUNT%TYPE;
L_SERIAL_DEAL NUMBER;
--4903 changes starts
L_DEAL_CCY CYTM_RATES.CCY1%TYPE;
L_TXN_AMT DETB_RTL_TELLER.TXN_AMOUNT%TYPE;
L_UPD_UTIL DETB_RTL_TELLER.TXN_AMOUNT%TYPE;
--4903 changes ends
--T24 Special Deal Phase 2 changes starts
L_DR_AC VARCHAR2(20);
L_CR_AC VARCHAR2(20);
L_DR_CCY VARCHAR2(3);
L_CR_CCY VARCHAR2(3);
L_TXN_CCY VARCHAR2(3);
L_CHECKER_ID VARCHAR2(20);
--T24 Special Deal Phase 2 changes ends
BEGIN
DBG('Inside fn_insert_deal_util..');
BEGIN
SELECT T.DEAL_STATUS,
T.DEAL_AMOUNT,
NVL(T.TOT_UTILISED_AMOUNT, 0),
T.DEAL_CURRENCY
INTO L_DEAL_STATUS, L_DEAL_AMT, L_UTIL_AMT, L_DEAL_CCY
FROM STTM_CUST_DEAL_DETAILS T
WHERE T.INTERNAL_DEAL_REF_NO = P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO
AND T.AUTH_STAT = 'A'
AND T.RECORD_STAT = 'O';
EXCEPTION
WHEN OTHERS THEN
DBG('P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO : ' ||
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO || ' ERRMSG : ' ||
SQLERRM);
--4903 changes starts
P_RET := -1;
--4903 changes ends
RETURN FALSE;
END;
--4903 changes starts <taking the total utilised amount from master table>
/*BEGIN
SELECT SUM(T.UTILIZED_AMOUNT)
INTO L_UTIL_AMT
FROM STTM_CUST_DEAL_DETAILS_MULTI T
WHERE T.INTERNAL_DEAL_REF_NO = P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO;
EXCEPTION
WHEN OTHERS THEN
L_UTIL_AMT := NULL;
END;*/
--4903 changes end <taking the total utilised amount from master table>
-- Do not allow the deal to process if the status is not in (A) or (E with
partial utilisation)
-- at the time of authorisation
DBG('gwpks_util.pkg_func' || GWPKS_UTIL.PKG_FUNC);
-- Insert the utilised amount details if negotiation deal is used
--T24 Special Deal Phase 2 changes starts
IF GWPKS_UTIL.PKG_FUNC IN ('1408', '1401', '8207') THEN
L_CR_CCY := P_TY_RETAILTLR_UPD.TXN_CCY;
L_DR_CCY := P_TY_RETAILTLR_UPD.OFS_CCY;
L_DR_AC := P_TY_RETAILTLR_UPD.OFS_ACC;
L_CR_AC := P_TY_RETAILTLR_UPD.TXN_ACC;
ELSIF GWPKS_UTIL.PKG_FUNC IN ('1008', '1001', '8206') THEN
L_CR_CCY := P_TY_RETAILTLR_UPD.OFS_CCY;
L_DR_CCY := P_TY_RETAILTLR_UPD.TXN_CCY;
L_DR_AC := P_TY_RETAILTLR_UPD.TXN_ACC;
L_CR_AC := P_TY_RETAILTLR_UPD.OFS_ACC;
END IF;
CSPKS_SPECIAL_DEAL_UTILS.PR_UTILISATION(P_TY_RETAILTLR_UPD.TRN_REF_NO,
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO,
'RT',
P_SOURCE,
GWPKS_UTIL.PKG_FUNC,
'NEW',
L_DR_CCY,
L_CR_CCY,
L_DR_AC,
L_CR_AC,
GLOBAL.APPLICATION_DATE,
L_TXN_AMT,
L_TXN_CCY,
P_TY_RETAILTLR_UPD.EXCH_RATE,
GLOBAL.CURRENT_BRANCH,
'TFR_AMT',
GLOBAL.USER_ID, --maker
L_CHECKER_ID,
P_TY_RETAILTLR_UPD.XREF,
P_ERR_CODE,
P_ERR_PARAM);
ELSIF ((GWPKS_UTIL.PKG_FUNC IN ('1008', '1001', '8206') OR
UPPER(P_TY_RETAILTLR_UPD.PRODUCT_CODE) IN
('MSCD', 'CHWL', 'FXSA')) OR
P_SOURCE NOT IN ('FLEXBRANCH', 'FLEXCUBE', 'FLEXSWITCH')) AND
TRIM(P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO) IS NOT NULL THEN
DBG('gwpks_util.pkg_func' || GWPKS_UTIL.PKG_FUNC);
-- Insert the utilised amount details if negotiation deal is used
--T24 Special Deal Phase 2 changes starts
IF GWPKS_UTIL.PKG_FUNC IN ('1408', '1401', '8207') THEN
L_CR_CCY := P_TY_RETAILTLR_UPD.TXN_CCY;
L_DR_CCY := P_TY_RETAILTLR_UPD.OFS_CCY;
L_DR_AC := P_TY_RETAILTLR_UPD.OFS_ACC;
L_CR_AC := P_TY_RETAILTLR_UPD.TXN_ACC;
ELSIF GWPKS_UTIL.PKG_FUNC IN ('1008', '1001', '8206') OR
P_SOURCE NOT IN ('FLEXBRANCH', 'FLEXCUBE', 'FLEXSWITCH') THEN
DBG('Coming here in else for else part.... ');
L_CR_CCY := P_TY_RETAILTLR_UPD.OFS_CCY;
L_DR_CCY := P_TY_RETAILTLR_UPD.TXN_CCY;
L_DR_AC := P_TY_RETAILTLR_UPD.TXN_ACC;
L_CR_AC := P_TY_RETAILTLR_UPD.OFS_ACC;
END IF;
CSPKS_SPECIAL_DEAL_UTILS.PR_UTILISATION(P_TY_RETAILTLR_UPD.TRN_REF_NO,
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO,
'RT',
P_SOURCE,
GWPKS_UTIL.PKG_FUNC,
'NEW',
L_DR_CCY,
L_CR_CCY,
L_DR_AC,
L_CR_AC,
GLOBAL.APPLICATION_DATE,
L_TXN_AMT,
L_TXN_CCY,
P_TY_RETAILTLR_UPD.EXCH_RATE,
GLOBAL.CURRENT_BRANCH,
'TFR_AMT',
GLOBAL.USER_ID, --maker
L_CHECKER_ID,
P_TY_RETAILTLR_UPD.XREF,
L_ERR_CODE,
L_ERR_PARAM);
END IF;
/*INSERT INTO sttm_cust_deal_details_multi
(internal_deal_ref_no,
utilized_amount,
utilized_currency,
debit_account,
credit_account,
flexcube_module_id,
fc_ref_no,
SOURCE,
maker_id,
maker_dt_stamp,
checker_id,
checker_dt_stamp,
mod_no,
external_ref_no,
utilization_type,
value_date,
reval_flag,
multi_deal_ref_no \*,
unutilized_amount*\,
trnref_or_accountno) --aditya GX changes
VALUES
(p_ty_retailtlr_upd.negotiation_ref_no,
--4903 changes starts
\*P_TY_RETAILTLR_UPD.TXN_AMOUNT,
P_TY_RETAILTLR_UPD.TXN_CCY,*\
l_txn_amt,
l_deal_ccy,
--4903 changes starts
p_ty_retailtlr_upd.ofs_acc,
p_ty_retailtlr_upd.txn_acc,
nvl(p_ty_retailtlr_upd.module, 'RT'),
p_ty_retailtlr_upd.trn_ref_no,
p_ty_retailtlr_upd.scode,
p_ty_retailtlr_upd.maker_id,
\*P_TY_RETAILTLR_UPD.MAKER_DT_STAMP*\
global.application_date,
p_ty_retailtlr_upd.checker_id,
p_ty_retailtlr_upd.checker_dt_stamp,
p_ty_retailtlr_upd.mod_no,
p_ty_retailtlr_upd.xref,
'SYSTEM',
global.application_date,
'N',
l_serial_deal \*,
(SELECT z.tot_utilised_amount -
P_TY_RETAILTLR_UPD.TXN_AMOUNT
FROM
sttm_cust_deal_details z
WHERE
z.internal_deal_ref_no = P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO)*\,
p_ty_retailtlr_upd.trn_ref_no); --aditya GX changes*/
--T24 Special Deal Phase 2 changes ends
--T24 Special Deal Phase 2 changes starts
/* ELSIF ((gwpks_util.pkg_func IN ('1008', '1001', '8206') OR
upper(p_ty_retailtlr_upd.product_code) IN
('MSCD', 'CHWL', 'FXSA')) OR p_source not in ('FLEXBRANCH', 'FLEXCUBE',
'FLEXSWITCH')) AND
TRIM(p_ty_retailtlr_upd.negotiation_ref_no) IS NOT NULL THEN
dbg('gwpks_util.pkg_func' || gwpks_util.pkg_func);
--- tmp
UPDATE sttm_cust_deal_details_multi
SET unutilized_amount = l_deal_amt - l_upd_util \*l_util_amt*\ -- 4903
changes<l_util_amt change>
WHERE internal_deal_ref_no = p_ty_retailtlr_upd.negotiation_ref_no
AND fc_ref_no = p_ty_retailtlr_upd.trn_ref_no
AND SOURCE = p_ty_retailtlr_upd.scode;
-- tmp*/
--T24 Special Deal Phase 2 changes ends
DBG('Successfully completed fn_insert_deal_util..');
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('Failed in fn_insert_deal_util' || SQLERRM);
P_RET := -1;
RETURN FALSE;
END FN_INSERT_DEAL_UTIL;
L_COUNTRY_CODE VARCHAR2(10);
L_EXCH_RT_COUNT NUMBER;
L_DEAL_COUNT NUMBER;
l_tcr_count number := 0; --madhu added for TCR
L_TCR_ERR_CODE ERTB_MSGS.ERR_CODE%TYPE; --MADHU TCR CHANGES
L_TCR_ERR_TYPE VARCHAR2(1); --MADHU TCR CHANGES
END IF;
L_MSG := '
Reference No : ' || P_TY_RETAILTLR_UPD.XREF || '
Amount : ' || P_TY_RETAILTLR_UPD.TXN_AMOUNT; /*|| '
Denominations: ';*/
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBG('no data is found in cstb_user_alerts ');
WHEN OTHERS THEN
DBG('failed in raising alert message');
END;
-- UAT_UAE_064 changes start
END IF;
-- UAT_UAE_064 changes end
--MBU22 - 11.2.0.1.0BOMLAE?<<9021 ALERT MESSAGE CHANGE ENDS>>
---------------------
OVPKSS.PR_INITERRTBL;
---------------------
--FAZIL PT CHANGES
END IF;
END IF;
END IF;
--FAZIL PT CHANGES
p_ty_retailtlr_upd.dr_instrument_code,
p_ty_retailtlr_upd.txn_amount,
l_err_code,
l_err_param) THEN
ovpks.pr_appendtbl(l_err_code, l_err_param);
dbg('Failed in cgpks_upload_cg_create while validating the Cheque
Details :');
RETURN FALSE;
END IF;
END IF;
*/
--BLR_11.2_IMP_BDTOBL_SFR#194 ENDS
---9NT1428 ITR#2 SFR No 67, 91 Ends
--
******************************************************************************
END IF;
CASE
WHEN P_TY_RETAILTLR_UPD.PRODUCT_CODE = 'CHDP' THEN
GWPKS_UTIL.PKG_FUNC := '1401';
WHEN P_TY_RETAILTLR_UPD.PRODUCT_CODE = 'FTRQ' THEN
GWPKS_UTIL.PKG_FUNC := '1006';
WHEN P_TY_RETAILTLR_UPD.PRODUCT_CODE = 'LOCH' THEN
GWPKS_UTIL.PKG_FUNC := 'LOCH';
ELSE
NULL;
END CASE;
END IF;
--BOMLAE_R22_Sub_Account changes for RT Services end
IF NOT FN_COPY_UPLOAD_TO_BASE(P_TY_RETAILTLR_UPD,
P_TY_MSGDETS,
P_TY_MCKDETAILS,
L_TY_RETAIL_TELLER,
L_TY_MSG_DETS,
L_TY_MCKDETAILS,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('Failed in fn_copy_upload_to_base' || SQLERRM);
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
RETURN FALSE;
END IF;
--
******************************************************************************
IF NOT FN_DEFAULT_VALUES(L_TY_RETAIL_TELLER,
P_TBL_CHGDETS,
P_UPL_MIS_DET,
P_UPL_UDF_DET,
L_TY_MCKDETAILS,
L_TY_MSG_DETS,
P_TBL_NODE_REC,
P_TY_RETAILTLR_UPD.FT,
P_RET) THEN
DBG('E',
'Failed while returning from function fn_validate_incoming_data');
P_RET := -1;
RETURN FALSE;
END IF;
DBG('Ref No: ' || L_TY_RETAIL_TELLER.TRN_REF_NO);
--
******************************************************************************
IF L_TY_RETAIL_TELLER.TRN_REF_NO IS NULL OR
P_SOURCE NOT IN ('FLEXBRANCH', 'FLEXSWITCH') THEN
IF NOT TRPKSS.FN_GET_PRODUCT_REFNO(L_TY_RETAIL_TELLER.BRANCH_CODE,
L_TY_RETAIL_TELLER.PRODUCT_CODE,
GLOBAL.APPLICATION_DATE,
L_SERIAL_USELESS,
L_TY_RETAIL_TELLER.TRN_REF_NO,
L_ERR_CODE) THEN
DBG('Failed in generating prod ref no with p_err_code : ' ||
L_ERR_CODE);
OVPKSS.PR_APPENDTBL(L_ERR_CODE, NULL);
P_TYP_ERR := OVPKSS.GL_TBLERROR;
P_RET := -1;
RETURN FALSE;
END IF;
END IF;
DBG('Generated Ref No: ' || L_TY_RETAIL_TELLER.TRN_REF_NO);
P_TY_RETAILTLR_UPD.TRN_REF_NO := L_TY_RETAIL_TELLER.TRN_REF_NO; -- pass fcc ref
no :CM
L_TY_RETAIL_TELLER.SCODE := P_SOURCE; --FCUBS 10.1 Switch Interface Tuning
Changes starts
P_TY_RETAILTLR_UPD.SCODE := P_SOURCE; -- ''
--FCUBS10.0LOT3 starts
IF L_TY_RETAIL_TELLER.XREF IS NULL THEN
L_TY_RETAIL_TELLER.XREF := L_TY_RETAIL_TELLER.TRN_REF_NO;
END IF;
--FCUBS10.0LOT3 ends
--
******************************************************************************
-- FCC73ITR1 SFR 329 Start
P_TYP_ERR := OVPKSS.GL_TBLERROR;
IF FN_IS_AN_ERROR_RAISED(P_RET) THEN
DBG('E', 'Error found in function fn_upload..');
RETURN FALSE;
END IF;
-- FCC73ITR1 SFR 329 End
--
***********************************************************************************
*******
DBG('l_ty_retail_teller.xref : ' || L_TY_RETAIL_TELLER.XREF);
DBG('Inserting into detbs_rtl_teller');
/* BEGIN
select PARAM_VAL
into l_country_code
from cstb_param
where param_name = 'COUNTRY_CODE';
EXCEPTION
WHEN OTHERS THEN
l_country_code := NULL;
END;
SELECT COUNT(*)
INTO L_EXCH_RT_COUNT
FROM STTM_CUST_DEAL_DETAILS
WHERE ROUND(DEAL_RATE, 5) = ROUND(P_TY_RETAILTLR_UPD.EXCH_RATE, 5)
AND INTERNAL_DEAL_REF_NO = P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO;
IF L_EXCH_RT_COUNT = 0 THEN
OVPKS.PR_APPENDTBL('DL-NEG-014', NULL);
RETURN FALSE;
END IF;
END IF;
IF (GWPKS_UTIL.PKG_ACTTYPE = 'SAVEAUTOAUTH' OR
P_SOURCE NOT IN ('FLEXBRANCH', 'FLEXCUBE')) AND
P_TY_RETAILTLR_UPD.NEGOTIATION_REF_NO IS NOT NULL THEN
IF NOT FN_VALIDATE_NEGO_DEAL(P_TY_RETAILTLR_UPD,
P_RET,
P_TYP_ERR,
P_SOURCE,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('Failed in fn_validate_nego_deal');
OVPKS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
RETURN FALSE;
END IF;
END IF;
--------------- arif added -------------------
/* DBG('in fn_validate_nego_deal ACTION'||CSPKS_REQ_GLOBAL.G_HEADER('ACTION'));
DBG('in fn_validate_nego_deal P_SOURCE'||P_SOURCE);
DDPKS_UPLOAD_CONTRACT_CREATE.FN_CHECK_MANDATORY_VOUCHER(P_TY_RETAILTLR_UPD.TXN_BRAN
CH,
P_TY_RETAILTLR_UPD.TXN_ACC,
P_TY_RETAILTLR_UPD.TRN_REF_NO,
P_UPL_UDF_DET,
L_ERR_CODE,
L_ERR_PARAM) THEN
OVPKS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
DBG('Failed in cgpks_upload_cg_create while validating the Cheque
Details :');
RETURN FALSE;
END IF;
IF NOT
DDPKS_UPLOAD_CONTRACT_CREATE.FN_CHECK_MANDATORY_VOUCHER(P_TY_RETAILTLR_UPD.OFS_BRAN
CH,
P_TY_RETAILTLR_UPD.OFS_ACC,
P_TY_RETAILTLR_UPD.TRN_REF_NO,
P_UPL_UDF_DET,
L_ERR_CODE,
L_ERR_PARAM) THEN
OVPKS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
DBG('Failed in cgpks_upload_cg_create while validating the Cheque
Details :');
RETURN FALSE;
END IF;
--MBU22 - 11.2.0.1.0BOMLAE Mandatory Voucher Narrative End
--MBU22 sfr#163 ENDS
--FCUBS_11.2.0.0.0_$BOMLAE_R18 FCYatBranch sanity testing start
/*IF ((NVL(l_err_code,'xxx') <> 'DE-CUST-005' AND
gwpks_util.pkg_actType='INPUT') OR
(nvl(l_err_code,'xxx') <> 'DE-CUST-002' AND
gwpks_util.pkg_actType='INPUT')) THEN --FCUBS_11.2.0.0.0_$BOMLAE_R18 ITR1 SFR 1
ADDED THIS IF
*/
IF ((NVL(L_ERR_CODE, 'DE-CUST-005') <> 'DE-CUST-005' AND
GWPKS_UTIL.PKG_ACTTYPE = 'INPUT') OR
(NVL(L_ERR_CODE, 'DE-CUST-002') <> 'DE-CUST-002' AND
GWPKS_UTIL.PKG_ACTTYPE = 'INPUT')) THEN
--FCUBS_11.2.0.0.0_$BOMLAE_R18 FCYatBranch sanity testing end
IF NOT CSPKSS_UPLOAD.FN_WHAT_TO_DO(P_SOURCE,
'RT',
L_WHAT_TO_DO,
L_AUTH_STATUS,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('cspkss_upload.fn_what_to_do returned FALSE');
--ovpkss.pr_appendtbl(l_err_code, l_err_param || '');
RETURN FALSE;
END IF;
DBG('l_what_to_do===>' || L_WHAT_TO_DO);
DBG('l_auth_status===>' || L_AUTH_STATUS);
P_AUTH_STAT := L_AUTH_STATUS;
DBG('CHARCHIKA');
DBG(' GWPKS_UTIL.G_REJECTFLAG ' || GWPKS_UTIL.G_REJECTFLAG);
DBG('gwpks_util.pkg_acttype' || GWPKS_UTIL.PKG_ACTTYPE);
--- FCUBS11.2 ITR1 SFR#504 Reject Code changes starts
IF NVL(GWPKS_UTIL.G_REJECTFLAG, 'N') = 'Y' AND
P_TY_RETAILTLR_UPD.PRODUCT_CODE IN ('LOCH', 'CQWL')
-- if GWPKS_UTIL.PKG_FUNC in ('LOCH','1013')
AND GWPKS_UTIL.PKG_ACTTYPE = 'SAVEAUTOAUTH' THEN
DBG('Nothing is working');
DBG('p_ty_retailtlr_upd' || P_TY_RETAILTLR_UPD.REJECT_CODE);
IF P_TY_RETAILTLR_UPD.REJECT_CODE IS NULL THEN
DBG('O',
'in fn_upload: failed while validating in reject code : Reject Code is
not input. Status of the cheque would be not used');
--l_err_code := 'CG-REJE-001'; --FCUBS11.2 SFR362 ITR2
/*DEFLT00023674 CHANGES STARTS*/
/*ovpkss.pr_appendtbl('CG-REJE-001', NULL); */ --FCUBS11.2 ITR2 SFR#58
changes
OVPKSS.PR_APPENDTBL('CG-REJE-012', NULL);
/*DEFLT00023674 CHANGES ENDS*/
END IF;
--FCUBS11.2 SFR362 ITR2 Startz Commented the below call
/* --FCUBS11.2 ITR2 SFR#58 changes
IF NOT cspkss_upload.fn_what_to_do(p_source,
'RT',
l_what_to_do,
l_auth_status,
l_err_code,
l_err_param) THEN
dbg('cspkss_upload.fn_what_to_do returned FALSE');
--ovpkss.pr_appendtbl(l_err_code, l_err_param || '');
RETURN FALSE;
END IF;
dbg('l_what_to_do===>' || l_what_to_do);
dbg('l_auth_status===>' || l_auth_status);
p_auth_stat := l_auth_status;
END IF;
IF NOT DEPKSS_RTL_TELLER.FN_UPLOAD(L_TY_RETAIL_TELLER.XREF,
FALSE,
PKG_ARC_ROW,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('E', 'Error code is p_err_code :' || L_ERR_CODE);
IF L_ERR_CODE IS NULL THEN
L_ERR_CODE := 'IF-DAT013';
L_ERR_PARAM := L_TY_RETAIL_TELLER.XREF || '~';
END IF;
-- Virtual Account temp changes starts
IF L_ERR_CODE = 'FT-VALS-111;' AND INSTR(L_ERR_PARAM, ';', 1, 2) > 0 THEN
DBG('Inside ft-vals-111');
L_ERR_PARAM := SUBSTR(L_ERR_PARAM, 1, LENGTH(L_ERR_PARAM) - 1);
DBG('l_err_param := ' || L_ERR_PARAM);
END IF;
DBG('l_err_code' || L_ERR_CODE);
DBG('l_field_counter' || L_FIELD_COUNTER);
THEN
DBG('E', 'Error while calling fn_upload_pc');
P_RET := -1;
P_TYP_ERR := OVPKSS.GL_TBLERROR;
RETURN FALSE;
END IF;
-- AEDMSQFCC0976_1 Changes start
END IF;
-- AEDMSQFCC0976_1 Changes end
--NEFT/RTGS CHANGES 1405
--
***********************************************************************************
*******
DBG('l_auth_status===>' || L_AUTH_STATUS);
GLOBAL.PR_SET_AUTO_AUTH_STATUS(GLOBAL.USER_ID,
'DEGRTTLR',
GLOBAL.CURRENT_BRANCH);
DBG('done th dope');
SELECT T.AUTH_STAT
INTO L_AUTH_STATUS
FROM DETB_RTL_TELLER T
WHERE T.TRN_REF_NO = L_TY_RETAIL_TELLER.TRN_REF_NO;
--madhu starts
begin
SELECT count(1)
into l_tcr_count
from FBTB_TCR_TILL_DENOM
WHERE trn_ref_no = L_TY_RETAIL_TELLER.XREF
and action_CODE in ('SUBMIT', 'FINISH');
end;
DBG('FUNCTION ID >> ' || GWPKS_UTIL.PKG_FUNC);
DBG('l_tcr_count >> ' || l_tcr_count);
if l_tcr_count > 0 and
GWPKS_UTIL.PKG_FUNC IN ('1002', '1402', '1012', '8336', 'CRCS') then
end if;
--madhu ends
IF NOT CSPKSS_UPLOAD.FN_WHAT_TO_DO(P_SOURCE,
'RT',
L_WHAT_TO_DO,
L_AUTH_STATUS,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('cspkss_upload.fn_what_to_do returned FALSE');
--ovpkss.pr_appendtbl(l_err_code, l_err_param || '');
RETURN FALSE;
END IF;
DBG('l_what_to_do===>' || L_WHAT_TO_DO);
DBG('l_auth_status===>' || L_AUTH_STATUS);
P_AUTH_STAT := L_AUTH_STATUS;
-----------------------------------------------------------------------------------
--------------
----------------------------
L_ERR_CODE VARCHAR2(200);
L_ERR_PARAM VARCHAR2(2000);
L_SERIAL_USELESS VARCHAR2(10);
L_STATUS_ON_SAVE COTMS_SOURCE_PREF.UPLOADED_STATUS%TYPE;
L_ACTION_ON_EXCEPTION COTMS_SOURCE_PREF.ON_ERROR%TYPE;
L_ACTION_ON_OVERRIDE COTMS_SOURCE_PREF.ON_OVERRIDE%TYPE;
L_KEY STTBS_RECORD_LOG.KEY_ID%TYPE;
L_WHAT_TO_DO CHAR(1);
L_AUTH_STATUS CHAR(1);
OVERRIDE_EXCEPTION EXCEPTION;
FAILURE_EXCEPTION EXCEPTION;
L_TY_RETAIL_TELLER DETB_RTL_TELLER%ROWTYPE;
L_TY_MSG_DETS CSTB_ARC_SETTLE%ROWTYPE;
L_TY_MCKDETAILS ISVW_MCK_DETAILS%ROWTYPE;
L_DLDPAMNT DLPKS_DLDPAMNT_MAIN.TY_DLDPAMNT;
L_PREV_DLDPAMNT DLPKS_DLDPAMNT_MAIN.TY_DLDPAMNT;
L_WRK_DLDPAMNT DLPKS_DLDPAMNT_MAIN.TY_DLDPAMNT;
L_MULTI_TRIP_ID VARCHAR2(20);
L_SOURCE_OPERATION VARCHAR2(50);
BEGIN
DBG('Inside fn_uploadSDdetails.......');
---------------------
-- ovpkss.pr_initerrtbl;
---------------------
L_DLDPAMNT.V_DLVWS_CONTRACT_PAYMENT :=
P_TY_RTUPLD.TY_SAFEDEPODETAILS.TY_CONTRACT_PAY;
L_DLDPAMNT.V_DLVWS_PAYMENT_SUMMARY :=
P_TY_RTUPLD.TY_SAFEDEPODETAILS.TY_PAY_SUMMARY;
L_WRK_DLDPAMNT := L_DLDPAMNT;
THEN
DBG('Failed while calling dlpks_dldpamnt_Services.Fn_Upload_Db ');
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
RETURN FALSE;
END IF;
---------------------------------------------------------------
FUNCTION FN_VALIDATE_REVERSAL_REQ(P_XREF IN OUT VARCHAR2,
P_FCCREF IN OUT VARCHAR2) RETURN BOOLEAN IS
L_ERR_CODE VARCHAR2(50);
L_ERR_PARAM VARCHAR2(500);
L_END_OF_INPUT STTMS_BRANCH.END_OF_INPUT%TYPE;
L_RECORD_STAT VARCHAR2(1);
L_AUTH_STAT VARCHAR2(1);
L_TRN_DT DETB_RTL_TELLER.TRN_DT%TYPE; -- VA Enhancements Changes Added
L_VIR_ACC_NO DETB_RTL_TELLER.VIR_ACC_NO%TYPE; -- VA Enhancements Changes
Added
BEGIN
DBG('Inside fn_validate_reversal_req.......');
---------------------------
BEGIN
SELECT END_OF_INPUT
INTO L_END_OF_INPUT
FROM STTMS_BRANCH
WHERE BRANCH_CODE = GLOBAL.CURRENT_BRANCH;
EXCEPTION
WHEN OTHERS THEN
DBG('Unexpected failure while validating then branch status...');
OVPKSS.PR_APPENDTBL('GW-RTL-005', NULL);
RETURN FALSE;
END;
BEGIN
SELECT RECORD_STAT, AUTH_STAT, TRN_DT, VIR_ACC_NO -- VA Enhancements Changes
Added trn_dt, vir_acc_no
INTO L_RECORD_STAT, L_AUTH_STAT, L_TRN_DT, L_VIR_ACC_NO -- VA Enhancements
Changes Added
FROM DETBS_RTL_TELLER
WHERE TRN_REF_NO = P_FCCREF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
OVPKSS.PR_APPENDTBL('WB-TXN-001', NULL);
RETURN FALSE;
END;
EXCEPTION
WHEN OTHERS THEN
DBG('Unexpected failure while validating the reversal request...');
OVPKSS.PR_APPENDTBL('GW-RTL-005', NULL);
RETURN FALSE;
END FN_VALIDATE_REVERSAL_REQ;
FUNCTION FN_PARTIALREVERSE(P_XREF IN OUT VARCHAR2,
P_FCCREF IN OUT VARCHAR2,
P_REVAMOUNT IN OUT VARCHAR2,
P_SOURCE IN VARCHAR2,
P_OVERRIDE_FLAG OUT VARCHAR2,
P_AUTO_AUTH_FLAG OUT VARCHAR2,
P_TYP_ERR IN OUT OVPKSS.TBL_ERROR)
RETURN BOOLEAN IS
L_ERR_CODE VARCHAR2(50);
L_ERR_PARAM VARCHAR2(500);
L_WHAT_TO_DO CHAR(1);
L_AUTH_STATUS CHAR(1);
OVERRIDE_EXCEPTION EXCEPTION;
FAILURE_EXCEPTION EXCEPTION;
L_DETB_RTL_TELLER_REC DETBS_RTL_TELLER%ROWTYPE;
L_DAY_EXCH_RATE CYTMS_RATES.MID_RATE%TYPE;
L_RATEFLAG NUMBER;
-- AEDMBU UAT1 DEFLT00008365 Changes start
L_TXNACC VARCHAR2(20);
P_BAL NUMBER;
-- AEDMBU UAT1 DEFLT00008365 Changes END
BEGIN
DBG('Inside fn_partialreverse.......');
---------------------
OVPKSS.PR_INITERRTBL;
SAVEPOINT SP_BEFORE_PARTREV;
---------------------
--------------------
IF NOT FN_VALIDATE_REVERSAL_REQ(P_XREF, P_FCCREF) THEN
DBG('E', 'Failed while calling fn_validate_reversal_req.');
P_TYP_ERR := OVPKSS.GL_TBLERROR;
RETURN FALSE;
END IF;
---------------------
--Step1 - Initialising the teller type values for Step 3.
SELECT *
INTO L_DETB_RTL_TELLER_REC
FROM DETB_RTL_TELLER
WHERE TRN_REF_NO = P_FCCREF;
IF NOT CYPKS.FN_GETRATE(L_DETB_RTL_TELLER_REC.BRANCH_CODE,
L_DETB_RTL_TELLER_REC.TXN_CCY,
L_DETB_RTL_TELLER_REC.OFS_CCY,
L_DAY_EXCH_RATE,
L_RATEFLAG,
L_ERR_CODE) THEN
DBG('failed in fn_resolve_ref');
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
RETURN FALSE;
END IF;
L_DETB_RTL_TELLER_REC.TXN_AMOUNT := L_DETB_RTL_TELLER_REC.TXN_AMOUNT -
P_REVAMOUNT;
L_DETB_RTL_TELLER_REC.OFS_AMOUNT := L_DETB_RTL_TELLER_REC.OFS_AMOUNT -
(P_REVAMOUNT * L_DAY_EXCH_RATE);
L_DETB_RTL_TELLER_REC.LCY_AMOUNT := (L_DETB_RTL_TELLER_REC.TXN_AMOUNT *
L_DAY_EXCH_RATE);
---------------------
--Step 2 - Full reversal of existing contract
IF NOT DEPKSS_RTL_TELLER.FN_REVERSE(P_FCCREF, L_ERR_CODE, L_ERR_PARAM) THEN
ROLLBACK TO SP_BEFORE_PARTREV;
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
P_TYP_ERR := OVPKSS.GL_TBLERROR;
RETURN FALSE;
END IF;
---------------------
--Step 3 - Initiation of NEW contract with same FCCREF for the remaining amount
IF NOT DEPKS_RTL_TELLER.FN_SAVEPARTIALREV(L_DETB_RTL_TELLER_REC,
L_ERR_CODE,
L_ERR_PARAM) THEN
ROLLBACK TO SP_BEFORE_PARTREV;
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
P_TYP_ERR := OVPKSS.GL_TBLERROR;
RETURN FALSE;
END IF;
---------------------
IF NOT CSPKSS_UPLOAD.FN_WHAT_TO_DO(P_SOURCE,
'RT',
L_WHAT_TO_DO,
L_AUTH_STATUS,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('cspkss_upload.fn_what_to_do returned FALSE');
--ovpkss.pr_appendtbl(l_err_code, l_err_param || '');
RETURN FALSE;
END IF;
P_AUTO_AUTH_FLAG := L_AUTH_STATUS;
DBG('l_auth_status :' || P_AUTO_AUTH_FLAG);
DBG('l_what_to_do :' || P_AUTO_AUTH_FLAG);
IF (L_WHAT_TO_DO = 'R') THEN
DBG('What to do has returned Reject Status. Hence exiting..');
RETURN FALSE;
---------------------
DBG('Successfully finished fn_partialreverse....');
P_TYP_ERR := OVPKSS.GL_TBLERROR;
RETURN TRUE;
EXCEPTION
WHEN OVERRIDE_EXCEPTION THEN
DBG('in override_exception');
P_OVERRIDE_FLAG := 'Y';
RETURN TRUE;
WHEN OTHERS THEN
DBG('E',
'Exception caught in function fn_reverse with error : ' ||
SQLERRM);
ROLLBACK TO SP_BEFORE_REV;
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
P_TYP_ERR := OVPKSS.GL_TBLERROR;
RETURN FALSE;
END FN_PARTIALREVERSE;
--~~~~~~~~~~~~~~~~~~~~~~~~~~
BEGIN
DBG('Inside fn_reverse.......');
---------------------
OVPKSS.PR_INITERRTBL;
SAVEPOINT SP_BEFORE_REV;
---------------------
IF NOT FN_RESOLVE_REF(P_XREF, P_FCCREF, L_ERR_CODE, L_ERR_PARAM) THEN
DBG('failed in fn_resolve_ref');
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
RETURN FALSE;
END IF;
IF NOT CSPKSS_UPLOAD.FN_WHAT_TO_DO(P_SOURCE,
'RT',
L_WHAT_TO_DO,
L_AUTH_STATUS,
L_ERR_CODE,
L_ERR_PARAM) THEN
DBG('cspkss_upload.fn_what_to_do returned FALSE');
--ovpkss.pr_appendtbl(l_err_code, l_err_param || '');
RETURN FALSE;
END IF;
P_AUTO_AUTH_FLAG := L_AUTH_STATUS;
DBG('l_auth_status :' || P_AUTO_AUTH_FLAG);
DBG('l_what_to_do :' || L_WHAT_TO_DO);
---------------------
DBG('Successfully finished fn_reverse....');
P_TYP_ERR := OVPKSS.GL_TBLERROR;
RETURN TRUE;
EXCEPTION
WHEN OVERRIDE_EXCEPTION THEN
DBG('in override_exception');
P_OVERRIDE_FLAG := 'Y';
RETURN TRUE;
WHEN OTHERS THEN
DBG('E',
'Exception caught in function fn_reverse with error : ' ||
SQLERRM);
ROLLBACK TO SP_BEFORE_REV;
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
P_TYP_ERR := OVPKSS.GL_TBLERROR;
RETURN FALSE;
END FN_REVERSE;
---------------------------------------------------------------
-- FCC73ITR1 SFR 336
FUNCTION FN_VALIDATE_AUTHORIZATION_REQ(P_SOURCE IN VARCHAR2 -- FCC73ITR1 SFR 471
,
P_XREF IN OUT VARCHAR2 -- FCC73ITR2 SFR
58
,
P_FCCREF IN OUT VARCHAR2 -- FCC73ITR2 SFR
58
,
P_RET IN OUT NUMBER)
RETURN BOOLEAN IS
L_ERR_CODE VARCHAR2(50);
L_ERR_PARAM VARCHAR2(500);
L_END_OF_INPUT STTMS_BRANCH.END_OF_INPUT%TYPE;
L_AUTH_STAT DETBS_RTL_TELLER.AUTH_STAT%TYPE;
L_MAKER_ID DETBS_RTL_TELLER.MAKER_ID%TYPE;
BEGIN
---------------------------
BEGIN
SELECT END_OF_INPUT
INTO L_END_OF_INPUT
FROM STTMS_BRANCH
WHERE BRANCH_CODE = GLOBAL.CURRENT_BRANCH;
EXCEPTION
WHEN OTHERS THEN
DBG('Unexpected failure while validating then branch status...');
OVPKSS.PR_APPENDTBL('GW-RTL-005', NULL);
P_RET := -1;
RETURN FALSE;
END;
--FCUBS10.0LOT3 starts
IF NOT FN_RESOLVE_REF(P_XREF, P_FCCREF, L_ERR_CODE, L_ERR_PARAM) THEN
DBG('failed in fn_resolve_ref');
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
RETURN FALSE;
END IF;
BEGIN
SELECT MAKER_ID, AUTH_STAT
INTO L_MAKER_ID, L_AUTH_STAT
FROM DETBS_RTL_TELLER
WHERE TRN_REF_NO = P_FCCREF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
OVPKSS.PR_APPENDTBL('WB-TXN-001', NULL);
P_RET := -1;
RETURN FALSE;
END;
DBG('l_maker_id :' || L_MAKER_ID);
DBG('l_auth_stat :' || L_AUTH_STAT);
IF L_MAKER_ID = GLOBAL.USER_ID THEN
OVPKSS.PR_APPENDTBL('GW-AUT-03', NULL);
RETURN FALSE;
END IF;
EXCEPTION
WHEN OTHERS THEN
DBG('Unexpected failure while validating the reversal request...');
OVPKSS.PR_APPENDTBL('GW-RTL-005', NULL);
P_RET := -1;
RETURN FALSE;
END FN_VALIDATE_AUTHORIZATION_REQ;
--~~~~~~~~~~~~~~~~~~~~~~~~~~
-- FCC73ITR2 SFR 58
DBG('Successfully authorized transaction.....now updating log.');
L_KEY := '~' || 'DETB_RTL_TELLER~' || L_DETB_RTL_TLR.TRN_REF_NO || '~';
IF NOT FN_UPDATE_RECORD_LOG(L_KEY,
1,
L_DETB_RTL_TLR.BRANCH_CODE,
'DEGRTTLR',
'DETBS_RTL_TELLER',
NULL,
NULL,
GLOBAL.USER_ID,
TO_DATE(TO_CHAR(GLOBAL.APPLICATION_DATE,
'DD-MON-YYYY') || ' ' ||
TO_CHAR(FN_SYSDATE, 'HH24:MI:SS'),
'DD-MON-YYYY HH24:MI:SS'),
'N',
'A',
NULL,
P_RET) THEN
DBG('E', 'Error while calling fn_insert_record_log');
P_RET := -1;
RETURN FALSE;
END IF;
-- FCC73ITR2 SFR 58
DBG('Successfully finished fn_reverse....');
P_TYP_ERR := OVPKSS.GL_TBLERROR;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DBG('E',
'Exception caught in function fn_reverse with error : ' ||
SQLERRM);
ROLLBACK TO SP_BEFORE_REV;
OVPKSS.PR_APPENDTBL(L_ERR_CODE, L_ERR_PARAM);
P_RET := -1;
P_TYP_ERR := OVPKSS.GL_TBLERROR;
RETURN FALSE;
END FN_AUTHORIZE;
---------------------------------------------------------------
-- FCC73ITR1 SFR 336
L_ACT_EXT_REF DETBS_RTL_TELLER.XREF%TYPE;
L_ACT_FCC_REF DETBS_RTL_TELLER.TRN_REF_NO%TYPE;
L_COUNT NUMBER;
BEGIN
DBG('In fn_resolve_ref..Parameters are ');
DBG('p_Ext_Ref-->' || P_EXT_REF);
DBG('p_Fcc_Ref-->' || P_FCC_REF);
DBG('branch Code :' || GLOBAL.CURRENT_BRANCH);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBG('Transaction Not Found in FLEXCUBE..');
P_ERR_CODE := 'WB-TXN-001';
P_ERR_PARAMS := P_EXT_REF;
RETURN FALSE;
END;
DBG('FCC Ref No :' || L_ACT_FCC_REF);
IF NVL(P_FCC_REF, NVL(L_ACT_FCC_REF, '*')) <> NVL(L_ACT_FCC_REF, '*') THEN
DBG('Reference Numbers Sent Do Not Match with FLEXCUBE..' ||
P_EXT_REF || ':' || P_FCC_REF);
P_ERR_CODE := 'GW-RTL-021';
P_ERR_PARAMS := P_EXT_REF || '~' || P_FCC_REF;
RETURN FALSE;
END IF;
P_FCC_REF := L_ACT_FCC_REF;
ELSE
DBG('Both External Reference No and FCC Ref No are NULL..');
P_ERR_CODE := 'GW-RTL-020';
P_ERR_PARAMS := NULL;
RETURN FALSE;
END IF;
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
DEBUG.PR_DEBUG('**',
'In when others of
gwpks_queryretailteller.fn_resolve_ref ..');
DEBUG.PR_DEBUG('**', SQLERRM);
P_ERR_CODE := 'FT-OTHR-001';
P_ERR_PARAMS := NULL;
RETURN FALSE;
END FN_RESOLVE_REF;
--DEFLT00031687 start
-- l_functionid smtb_menu.function_id%type; -- atm transactions failing
because of length
L_FUNCTIONID VARCHAR2(50); -- atm transactions failing because of length
L_COD_MAIN_LEG IFTM_ARC_MAINT.COD_MAIN_LEG%TYPE;
L_DR_ACC_TYP IFTM_ARC_MAINT.DR_ACC%TYPE;
--DEFLT00031687 end
L_FCDB_RT_PROD NUMBER := 0; --SD737680
BEGIN
DBG('Inside fn_default_relcustomer');
DBG('p_detb_rtl_tlr.txn_acc----> ' || P_DETB_RTL_TLR.TXN_ACC);
DBG('p_detb_rtl_tlr.ofs_acc----> ' || P_DETB_RTL_TLR.OFS_ACC);
DBG('p_detb_rtl_tlr.txn_branch----> ' || P_DETB_RTL_TLR.TXN_BRANCH);
DBG('p_detb_rtl_tlr.ofs_branch----> ' || P_DETB_RTL_TLR.OFS_BRANCH);
--DEFLT00031687 start
DBG('p_detb_rtl_tlr.PRODUCT_CODE----> ' || P_DETB_RTL_TLR.PRODUCT_CODE);
IF CSPKS_REQ_GLOBAL.G_HEADER.EXISTS('FUNCTIONID') THEN
L_FUNCTIONID := CSPKS_REQ_GLOBAL.G_HEADER('FUNCTIONID');
ELSE
L_FUNCTIONID := 'XXXX';
END IF;
DBG('l_functionid----> ' || L_FUNCTIONID);
--SD737680 start
BEGIN
SELECT INSTR(PARAM_VAL, P_DETB_RTL_TLR.PRODUCT_CODE)
INTO L_FCDB_RT_PROD
FROM CSTB_PARAM
WHERE PARAM_NAME = 'REL_CUST_RT_PROD';
EXCEPTION
WHEN OTHERS THEN
L_FCDB_RT_PROD := 0;
END;
DBG('l_fcdb_rt_prod----> ' || L_FCDB_RT_PROD);
--SD737680 end
-- Manual RT Track Creation Changes start
--IF l_functionid = '1006' THEN
IF L_FUNCTIONID IN ('1006', '1007') OR L_FCDB_RT_PROD > 0 --SD737680
THEN
-- Manual RT Track Creation Changes end
BEGIN
SELECT COD_MAIN_LEG, DR_ACC
INTO L_COD_MAIN_LEG, L_DR_ACC_TYP
FROM IFTMS_ARC_MAINT
WHERE COD_PROD_ACC_CLS = P_DETB_RTL_TLR.PRODUCT_CODE
AND RECORD_STAT = 'O'
AND ROWNUM = 1;
EXCEPTION
WHEN OTHERS THEN
L_COD_MAIN_LEG := NULL;
L_DR_ACC_TYP := NULL;
END;
DBG('l_cod_main_leg----> ' || L_COD_MAIN_LEG);
DBG('l_dr_acc_typ----> ' || L_DR_ACC_TYP);
IF L_COD_MAIN_LEG = 'T' AND L_DR_ACC_TYP = 'TXN' THEN
IF P_DETB_RTL_TLR.TXN_ACC IS NOT NULL THEN
DBG('Transaction acc is not null');
IF NOT CVPKS_UTILS.GET_STTB_ACC(P_DETB_RTL_TLR.TXN_BRANCH,
P_DETB_RTL_TLR.TXN_ACC,
PKG_STTB_ACCOUNT) THEN
P_ERR_CODE := 'DE-TUD-055';
P_RET := -1;
RETURN FALSE;
END IF;
DBG('pkg_sttb_account.cust_no--->' || PKG_STTB_ACCOUNT.CUST_NO);
END IF;
ELSE
IF P_DETB_RTL_TLR.OFS_ACC IS NOT NULL THEN
DBG('Offset acc is not null1');
IF NOT CVPKS_UTILS.GET_STTB_ACC(P_DETB_RTL_TLR.OFS_BRANCH,
P_DETB_RTL_TLR.OFS_ACC,
PKG_STTB_ACCOUNT) THEN
P_ERR_CODE := 'DE-TUD-055';
P_RET := -1;
RETURN FALSE;
END IF;
DBG('pkg_sttb_account.cust_no--->' || PKG_STTB_ACCOUNT.CUST_NO);
END IF;
END IF;
ELSE
--DEFLT00031687 end
IF P_DETB_RTL_TLR.TXN_ACC IS NOT NULL THEN
DBG('Transaction acc is not null');
IF NOT CVPKS_UTILS.GET_STTB_ACC(P_DETB_RTL_TLR.TXN_BRANCH,
P_DETB_RTL_TLR.TXN_ACC,
PKG_STTB_ACCOUNT) THEN
P_ERR_CODE := 'DE-TUD-055';
P_RET := -1;
RETURN FALSE;
END IF;
DBG('pkg_sttb_account.cust_no--->' || PKG_STTB_ACCOUNT.CUST_NO);
END IF;
END IF;
--DEFLT00031687 start
END IF;
--DEFLT00031687 end
DBG('p_detb_rtl_tlr.rel_customer---> ' || P_DETB_RTL_TLR.REL_CUSTOMER);
DBG('Successfully Returning From fn_default_relcustomer');
RETURN TRUE;
END FN_DEFAULT_RELCUSTOMER;
END DEPKS_RETAILTELLERUPLOAD;