16:
17: p_text xtr_sys_languages_vl.text%TYPE;
18:
19: BEGIN
20: IF xtr_risk_debug_pkg.g_Debug THEN
21: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.LOG_ERRORS');
22: END IF;
23:
24: if G_Source is null then
17: p_text xtr_sys_languages_vl.text%TYPE;
18:
19: BEGIN
20: IF xtr_risk_debug_pkg.g_Debug THEN
21: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.LOG_ERRORS');
22: END IF;
23:
24: if G_Source is null then
25: xtr_import_deal_data.log_interface_errors(p_ext_deal_id,
68:
69: APP_EXCEPTION.raise_exception;
70: end if;
71:
72: IF xtr_risk_debug_pkg.g_Debug THEN
73: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.LOG_ERRORS');
74: END IF;
75:
76: END LOG_ERRORS;
69: APP_EXCEPTION.raise_exception;
70: end if;
71:
72: IF xtr_risk_debug_pkg.g_Debug THEN
73: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.LOG_ERRORS');
74: END IF;
75:
76: END LOG_ERRORS;
77:
93:
94: v_type VARCHAR2(7);
95:
96: BEGIN
97: IF xtr_risk_debug_pkg.g_Debug THEN
98: xtr_risk_debug_pkg.dpush('get_actual_action_code: ' || 'XTR_EXP_TRANSFERS.GET_ACT_ACTION_CODE');
99: END IF;
100:
101: open get_type;
94: v_type VARCHAR2(7);
95:
96: BEGIN
97: IF xtr_risk_debug_pkg.g_Debug THEN
98: xtr_risk_debug_pkg.dpush('get_actual_action_code: ' || 'XTR_EXP_TRANSFERS.GET_ACT_ACTION_CODE');
99: END IF;
100:
101: open get_type;
102: fetch get_type into v_type;
101: open get_type;
102: fetch get_type into v_type;
103: close get_type;
104:
105: IF xtr_risk_debug_pkg.g_Debug THEN
106: xtr_risk_debug_pkg.dpop('get_actual_action_code: ' || 'XTR_EXP_TRANSFERS.GET_ACT_ACTION_CODE');
107: END IF;
108: return v_type;
109:
102: fetch get_type into v_type;
103: close get_type;
104:
105: IF xtr_risk_debug_pkg.g_Debug THEN
106: xtr_risk_debug_pkg.dpop('get_actual_action_code: ' || 'XTR_EXP_TRANSFERS.GET_ACT_ACTION_CODE');
107: END IF;
108: return v_type;
109:
110: END get_actual_action_code;
123:
124: v_deal_type VARCHAR2(7);
125:
126: BEGIN
127: IF xtr_risk_debug_pkg.g_Debug THEN
128: xtr_risk_debug_pkg.dpush('get_actual_deal_type: ' || 'XTR_EXP_TRANSFERS.GET_ACT_DEAL_TYPE');
129: END IF;
130:
131: open deal_type;
124: v_deal_type VARCHAR2(7);
125:
126: BEGIN
127: IF xtr_risk_debug_pkg.g_Debug THEN
128: xtr_risk_debug_pkg.dpush('get_actual_deal_type: ' || 'XTR_EXP_TRANSFERS.GET_ACT_DEAL_TYPE');
129: END IF;
130:
131: open deal_type;
132: fetch deal_type into v_deal_type;
131: open deal_type;
132: fetch deal_type into v_deal_type;
133: close deal_type;
134:
135: IF xtr_risk_debug_pkg.g_Debug THEN
136: xtr_risk_debug_pkg.dpop('get_actual_deal_type: ' || 'XTR_EXP_TRANSFERS.GET_ACT_DEAL_TYPE');
137: END IF;
138: return v_deal_type;
139:
132: fetch deal_type into v_deal_type;
133: close deal_type;
134:
135: IF xtr_risk_debug_pkg.g_Debug THEN
136: xtr_risk_debug_pkg.dpop('get_actual_deal_type: ' || 'XTR_EXP_TRANSFERS.GET_ACT_DEAL_TYPE');
137: END IF;
138: return v_deal_type;
139:
140: END get_actual_deal_type;
156:
157: v_deal_subtype VARCHAR2(7);
158:
159: BEGIN
160: IF xtr_risk_debug_pkg.g_Debug THEN
161: xtr_risk_debug_pkg.dpush('get_actual_deal_subtype: ' || 'XTR_EXP_TRANSFERS.GET_ACT_DEAL_SUBT');
162: END IF;
163:
164: open deal_subtype;
157: v_deal_subtype VARCHAR2(7);
158:
159: BEGIN
160: IF xtr_risk_debug_pkg.g_Debug THEN
161: xtr_risk_debug_pkg.dpush('get_actual_deal_subtype: ' || 'XTR_EXP_TRANSFERS.GET_ACT_DEAL_SUBT');
162: END IF;
163:
164: open deal_subtype;
165: fetch deal_subtype into v_deal_subtype;
164: open deal_subtype;
165: fetch deal_subtype into v_deal_subtype;
166: close deal_subtype;
167:
168: IF xtr_risk_debug_pkg.g_Debug THEN
169: xtr_risk_debug_pkg.dpop('get_actual_deal_subtype: ' || 'XTR_EXP_TRANSFERS.GET_ACT_DEAL_SUBT');
170: END IF;
171: return v_deal_subtype;
172:
165: fetch deal_subtype into v_deal_subtype;
166: close deal_subtype;
167:
168: IF xtr_risk_debug_pkg.g_Debug THEN
169: xtr_risk_debug_pkg.dpop('get_actual_deal_subtype: ' || 'XTR_EXP_TRANSFERS.GET_ACT_DEAL_SUBT');
170: END IF;
171: return v_deal_subtype;
172:
173: END get_actual_deal_subtype;
185:
186: v_count NUMBER;
187:
188: BEGIN
189: IF xtr_risk_debug_pkg.g_Debug THEN
190: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_COMPANY_CODE');
191: END IF;
192:
193: OPEN company_code;
186: v_count NUMBER;
187:
188: BEGIN
189: IF xtr_risk_debug_pkg.g_Debug THEN
190: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_COMPANY_CODE');
191: END IF;
192:
193: OPEN company_code;
194: FETCH company_code INTO v_count;
193: OPEN company_code;
194: FETCH company_code INTO v_count;
195: CLOSE company_code;
196:
197: IF xtr_risk_debug_pkg.g_Debug THEN
198: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_COMPANY_CODE');
199: END IF;
200:
201: IF v_count=0 THEN
194: FETCH company_code INTO v_count;
195: CLOSE company_code;
196:
197: IF xtr_risk_debug_pkg.g_Debug THEN
198: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_COMPANY_CODE');
199: END IF;
200:
201: IF v_count=0 THEN
202: RETURN FALSE;
213: ------------------------------------------------------------------------*/
214: function VALID_STATUS_CODE(p_status_code IN VARCHAR2) return boolean IS
215:
216: BEGIN
217: IF xtr_risk_debug_pkg.g_Debug THEN
218: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_STATUS_CODE');
219: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_STATUS_CODE');
220: END IF;
221:
214: function VALID_STATUS_CODE(p_status_code IN VARCHAR2) return boolean IS
215:
216: BEGIN
217: IF xtr_risk_debug_pkg.g_Debug THEN
218: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_STATUS_CODE');
219: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_STATUS_CODE');
220: END IF;
221:
222: IF p_status_code='CURRENT' THEN
215:
216: BEGIN
217: IF xtr_risk_debug_pkg.g_Debug THEN
218: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_STATUS_CODE');
219: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_STATUS_CODE');
220: END IF;
221:
222: IF p_status_code='CURRENT' THEN
223: RETURN TRUE;
241:
242: v_count NUMBER;
243:
244: BEGIN
245: IF xtr_risk_debug_pkg.g_Debug THEN
246: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_EXPOSURE_TYPE');
247: END IF;
248:
249: OPEN exposure_type;
242: v_count NUMBER;
243:
244: BEGIN
245: IF xtr_risk_debug_pkg.g_Debug THEN
246: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_EXPOSURE_TYPE');
247: END IF;
248:
249: OPEN exposure_type;
250: FETCH exposure_type INTO v_count;
249: OPEN exposure_type;
250: FETCH exposure_type INTO v_count;
251: CLOSE exposure_type;
252:
253: IF xtr_risk_debug_pkg.g_Debug THEN
254: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_EXPOSURE_TYPE');
255: END IF;
256:
257: IF v_count=0 THEN
250: FETCH exposure_type INTO v_count;
251: CLOSE exposure_type;
252:
253: IF xtr_risk_debug_pkg.g_Debug THEN
254: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_EXPOSURE_TYPE');
255: END IF;
256:
257: IF v_count=0 THEN
258: RETURN FALSE;
286:
287: v_count NUMBER;
288:
289: BEGIN
290: IF xtr_risk_debug_pkg.g_Debug THEN
291: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_DEAL_SUBTYPE');
292: xtr_risk_debug_pkg.dlog('VALID_DEAL_SUBTYPE: ' || 'p_deal_type',p_deal_type);
293: xtr_risk_debug_pkg.dlog('VALID_DEAL_SUBTYPE: ' || 'p_deal_subtype',p_deal_subtype);
294: END IF;
287: v_count NUMBER;
288:
289: BEGIN
290: IF xtr_risk_debug_pkg.g_Debug THEN
291: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_DEAL_SUBTYPE');
292: xtr_risk_debug_pkg.dlog('VALID_DEAL_SUBTYPE: ' || 'p_deal_type',p_deal_type);
293: xtr_risk_debug_pkg.dlog('VALID_DEAL_SUBTYPE: ' || 'p_deal_subtype',p_deal_subtype);
294: END IF;
295: OPEN deal_subtype;
288:
289: BEGIN
290: IF xtr_risk_debug_pkg.g_Debug THEN
291: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_DEAL_SUBTYPE');
292: xtr_risk_debug_pkg.dlog('VALID_DEAL_SUBTYPE: ' || 'p_deal_type',p_deal_type);
293: xtr_risk_debug_pkg.dlog('VALID_DEAL_SUBTYPE: ' || 'p_deal_subtype',p_deal_subtype);
294: END IF;
295: OPEN deal_subtype;
296: FETCH deal_subtype INTO v_count;
289: BEGIN
290: IF xtr_risk_debug_pkg.g_Debug THEN
291: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_DEAL_SUBTYPE');
292: xtr_risk_debug_pkg.dlog('VALID_DEAL_SUBTYPE: ' || 'p_deal_type',p_deal_type);
293: xtr_risk_debug_pkg.dlog('VALID_DEAL_SUBTYPE: ' || 'p_deal_subtype',p_deal_subtype);
294: END IF;
295: OPEN deal_subtype;
296: FETCH deal_subtype INTO v_count;
297: CLOSE deal_subtype;
294: END IF;
295: OPEN deal_subtype;
296: FETCH deal_subtype INTO v_count;
297: CLOSE deal_subtype;
298: IF xtr_risk_debug_pkg.g_Debug THEN
299: xtr_risk_debug_pkg.dlog('VALID_DEAL_SUBTYPE: ' || 'v_count',v_count);
300: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_DEAL_SUBTYPE');
301: END IF;
302:
295: OPEN deal_subtype;
296: FETCH deal_subtype INTO v_count;
297: CLOSE deal_subtype;
298: IF xtr_risk_debug_pkg.g_Debug THEN
299: xtr_risk_debug_pkg.dlog('VALID_DEAL_SUBTYPE: ' || 'v_count',v_count);
300: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_DEAL_SUBTYPE');
301: END IF;
302:
303: IF v_count=0 THEN
296: FETCH deal_subtype INTO v_count;
297: CLOSE deal_subtype;
298: IF xtr_risk_debug_pkg.g_Debug THEN
299: xtr_risk_debug_pkg.dlog('VALID_DEAL_SUBTYPE: ' || 'v_count',v_count);
300: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_DEAL_SUBTYPE');
301: END IF;
302:
303: IF v_count=0 THEN
304: RETURN FALSE;
324:
325: v_count NUMBER;
326:
327: BEGIN
328: IF xtr_risk_debug_pkg.g_Debug THEN
329: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_PORTFOLIO');
330: END IF;
331:
332: OPEN portfolio;
325: v_count NUMBER;
326:
327: BEGIN
328: IF xtr_risk_debug_pkg.g_Debug THEN
329: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_PORTFOLIO');
330: END IF;
331:
332: OPEN portfolio;
333: FETCH portfolio INTO v_count;
332: OPEN portfolio;
333: FETCH portfolio INTO v_count;
334: CLOSE portfolio;
335:
336: IF xtr_risk_debug_pkg.g_Debug THEN
337: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_PORTFOLIO');
338: END IF;
339:
340: IF v_count=0 THEN
333: FETCH portfolio INTO v_count;
334: CLOSE portfolio;
335:
336: IF xtr_risk_debug_pkg.g_Debug THEN
337: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_PORTFOLIO');
338: END IF;
339:
340: IF v_count=0 THEN
341: RETURN FALSE;
361:
362: v_count NUMBER;
363:
364: BEGIN
365: IF xtr_risk_debug_pkg.g_Debug THEN
366: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_ACTION');
367: END IF;
368:
369: OPEN action;
362: v_count NUMBER;
363:
364: BEGIN
365: IF xtr_risk_debug_pkg.g_Debug THEN
366: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_ACTION');
367: END IF;
368:
369: OPEN action;
370: FETCH action INTO v_count;
369: OPEN action;
370: FETCH action INTO v_count;
371: CLOSE action;
372:
373: IF xtr_risk_debug_pkg.g_Debug THEN
374: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_ACTION');
375: END IF;
376:
377: IF v_count=0 THEN
370: FETCH action INTO v_count;
371: CLOSE action;
372:
373: IF xtr_risk_debug_pkg.g_Debug THEN
374: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_ACTION');
375: END IF;
376:
377: IF v_count=0 THEN
378: RETURN FALSE;
396:
397: v_count NUMBER;
398:
399: BEGIN
400: IF xtr_risk_debug_pkg.g_Debug THEN
401: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_CURRENCY');
402: END IF;
403:
404: OPEN currency;
397: v_count NUMBER;
398:
399: BEGIN
400: IF xtr_risk_debug_pkg.g_Debug THEN
401: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_CURRENCY');
402: END IF;
403:
404: OPEN currency;
405: FETCH currency INTO v_count;
404: OPEN currency;
405: FETCH currency INTO v_count;
406: CLOSE currency;
407:
408: IF xtr_risk_debug_pkg.g_Debug THEN
409: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_CURRENCY');
410: END IF;
411:
412: IF v_count=0 THEN
405: FETCH currency INTO v_count;
406: CLOSE currency;
407:
408: IF xtr_risk_debug_pkg.g_Debug THEN
409: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_CURRENCY');
410: END IF;
411:
412: IF v_count=0 THEN
413: RETURN FALSE;
435:
436: v_count NUMBER;
437:
438: BEGIN
439: IF xtr_risk_debug_pkg.g_Debug THEN
440: xtr_risk_debug_pkg.dpush('VALID_COMP_ACCT: ' || 'XTR_EXP_TRANSFERS.VALID_COMP_ACT');
441: END IF;
442:
443: OPEN comp_acct;
436: v_count NUMBER;
437:
438: BEGIN
439: IF xtr_risk_debug_pkg.g_Debug THEN
440: xtr_risk_debug_pkg.dpush('VALID_COMP_ACCT: ' || 'XTR_EXP_TRANSFERS.VALID_COMP_ACT');
441: END IF;
442:
443: OPEN comp_acct;
444: FETCH comp_acct INTO v_count;
443: OPEN comp_acct;
444: FETCH comp_acct INTO v_count;
445: CLOSE comp_acct;
446:
447: IF xtr_risk_debug_pkg.g_Debug THEN
448: xtr_risk_debug_pkg.dpop('VALID_COMP_ACCT: ' || 'XTR_EXP_TRANSFERS.VALID_COMP_ACT');
449: END IF;
450:
451: IF v_count=0 THEN
444: FETCH comp_acct INTO v_count;
445: CLOSE comp_acct;
446:
447: IF xtr_risk_debug_pkg.g_Debug THEN
448: xtr_risk_debug_pkg.dpop('VALID_COMP_ACCT: ' || 'XTR_EXP_TRANSFERS.VALID_COMP_ACT');
449: END IF;
450:
451: IF v_count=0 THEN
452: RETURN FALSE;
467: p_error BOOLEAN := TRUE;
468: v_deal_subtype VARCHAR2(7);
469:
470: BEGIN
471: IF xtr_risk_debug_pkg.g_Debug THEN
472: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_SETTLE_ACTION');
473: END IF;
474:
475: v_deal_subtype := get_actual_deal_subtype('EXP',p_deal_subtype);
468: v_deal_subtype VARCHAR2(7);
469:
470: BEGIN
471: IF xtr_risk_debug_pkg.g_Debug THEN
472: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_SETTLE_ACTION');
473: END IF;
474:
475: v_deal_subtype := get_actual_deal_subtype('EXP',p_deal_subtype);
476: --xtr_risk_debug_pkg.dlog('p_settle_action',p_settle_action);
472: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_SETTLE_ACTION');
473: END IF;
474:
475: v_deal_subtype := get_actual_deal_subtype('EXP',p_deal_subtype);
476: --xtr_risk_debug_pkg.dlog('p_settle_action',p_settle_action);
477: --xtr_risk_debug_pkg.dlog('p_deal_subtype',p_deal_subtype||'-');
478: --xtr_risk_debug_pkg.dlog('p_act_amount',p_act_amount);
479: --xtr_risk_debug_pkg.dlog('p_act_date',p_act_date);
480: --xtr_risk_debug_pkg.dlog('p_cparty_code',p_cparty_code);
473: END IF;
474:
475: v_deal_subtype := get_actual_deal_subtype('EXP',p_deal_subtype);
476: --xtr_risk_debug_pkg.dlog('p_settle_action',p_settle_action);
477: --xtr_risk_debug_pkg.dlog('p_deal_subtype',p_deal_subtype||'-');
478: --xtr_risk_debug_pkg.dlog('p_act_amount',p_act_amount);
479: --xtr_risk_debug_pkg.dlog('p_act_date',p_act_date);
480: --xtr_risk_debug_pkg.dlog('p_cparty_code',p_cparty_code);
481: if p_settle_action = 'Y' THEN
474:
475: v_deal_subtype := get_actual_deal_subtype('EXP',p_deal_subtype);
476: --xtr_risk_debug_pkg.dlog('p_settle_action',p_settle_action);
477: --xtr_risk_debug_pkg.dlog('p_deal_subtype',p_deal_subtype||'-');
478: --xtr_risk_debug_pkg.dlog('p_act_amount',p_act_amount);
479: --xtr_risk_debug_pkg.dlog('p_act_date',p_act_date);
480: --xtr_risk_debug_pkg.dlog('p_cparty_code',p_cparty_code);
481: if p_settle_action = 'Y' THEN
482: if p_deal_subtype <> 'FIRM' THEN
475: v_deal_subtype := get_actual_deal_subtype('EXP',p_deal_subtype);
476: --xtr_risk_debug_pkg.dlog('p_settle_action',p_settle_action);
477: --xtr_risk_debug_pkg.dlog('p_deal_subtype',p_deal_subtype||'-');
478: --xtr_risk_debug_pkg.dlog('p_act_amount',p_act_amount);
479: --xtr_risk_debug_pkg.dlog('p_act_date',p_act_date);
480: --xtr_risk_debug_pkg.dlog('p_cparty_code',p_cparty_code);
481: if p_settle_action = 'Y' THEN
482: if p_deal_subtype <> 'FIRM' THEN
483: p_error := FALSE;
476: --xtr_risk_debug_pkg.dlog('p_settle_action',p_settle_action);
477: --xtr_risk_debug_pkg.dlog('p_deal_subtype',p_deal_subtype||'-');
478: --xtr_risk_debug_pkg.dlog('p_act_amount',p_act_amount);
479: --xtr_risk_debug_pkg.dlog('p_act_date',p_act_date);
480: --xtr_risk_debug_pkg.dlog('p_cparty_code',p_cparty_code);
481: if p_settle_action = 'Y' THEN
482: if p_deal_subtype <> 'FIRM' THEN
483: p_error := FALSE;
484: end if;
481: if p_settle_action = 'Y' THEN
482: if p_deal_subtype <> 'FIRM' THEN
483: p_error := FALSE;
484: end if;
485: --xtr_risk_debug_pkg.dlog('After checking DST p_error',p_error);
486: if p_act_amount is null or p_act_date is null
487: or p_cparty_code is null then
488: p_error := FALSE;
489: end if;
488: p_error := FALSE;
489: end if;
490: end if;
491:
492: IF xtr_risk_debug_pkg.g_Debug THEN
493: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_SETTLE_ACTION');
494: END IF;
495: return p_error;
496: END VALID_SETTLE_ACTION;
489: end if;
490: end if;
491:
492: IF xtr_risk_debug_pkg.g_Debug THEN
493: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_SETTLE_ACTION');
494: END IF;
495: return p_error;
496: END VALID_SETTLE_ACTION;
497:
515:
516: v_count NUMBER;
517:
518: BEGIN
519: IF xtr_risk_debug_pkg.g_Debug THEN
520: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_CPARTY_CODE');
521: xtr_risk_debug_pkg.dlog('VALID_CPARTY_CODE: ' || 'p_cparty',p_cparty);
522: xtr_risk_debug_pkg.dlog('VALID_CPARTY_CODE: ' || 'p_comp',p_comp);
523: END IF;
516: v_count NUMBER;
517:
518: BEGIN
519: IF xtr_risk_debug_pkg.g_Debug THEN
520: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_CPARTY_CODE');
521: xtr_risk_debug_pkg.dlog('VALID_CPARTY_CODE: ' || 'p_cparty',p_cparty);
522: xtr_risk_debug_pkg.dlog('VALID_CPARTY_CODE: ' || 'p_comp',p_comp);
523: END IF;
524: OPEN cparty_code;
517:
518: BEGIN
519: IF xtr_risk_debug_pkg.g_Debug THEN
520: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_CPARTY_CODE');
521: xtr_risk_debug_pkg.dlog('VALID_CPARTY_CODE: ' || 'p_cparty',p_cparty);
522: xtr_risk_debug_pkg.dlog('VALID_CPARTY_CODE: ' || 'p_comp',p_comp);
523: END IF;
524: OPEN cparty_code;
525: FETCH cparty_code INTO v_count;
518: BEGIN
519: IF xtr_risk_debug_pkg.g_Debug THEN
520: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_CPARTY_CODE');
521: xtr_risk_debug_pkg.dlog('VALID_CPARTY_CODE: ' || 'p_cparty',p_cparty);
522: xtr_risk_debug_pkg.dlog('VALID_CPARTY_CODE: ' || 'p_comp',p_comp);
523: END IF;
524: OPEN cparty_code;
525: FETCH cparty_code INTO v_count;
526: CLOSE cparty_code;
524: OPEN cparty_code;
525: FETCH cparty_code INTO v_count;
526: CLOSE cparty_code;
527:
528: IF xtr_risk_debug_pkg.g_Debug THEN
529: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_CPARTY_CODE');
530: END IF;
531:
532: IF v_count=0 THEN
525: FETCH cparty_code INTO v_count;
526: CLOSE cparty_code;
527:
528: IF xtr_risk_debug_pkg.g_Debug THEN
529: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_CPARTY_CODE');
530: END IF;
531:
532: IF v_count=0 THEN
533: RETURN FALSE;
555:
556: v_count NUMBER;
557:
558: BEGIN
559: IF xtr_risk_debug_pkg.g_Debug THEN
560: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_CPARTY_REF');
561: END IF;
562:
563: OPEN cparty_ref;
556: v_count NUMBER;
557:
558: BEGIN
559: IF xtr_risk_debug_pkg.g_Debug THEN
560: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_CPARTY_REF');
561: END IF;
562:
563: OPEN cparty_ref;
564: FETCH cparty_ref INTO v_count;
563: OPEN cparty_ref;
564: FETCH cparty_ref INTO v_count;
565: CLOSE cparty_ref;
566:
567: IF xtr_risk_debug_pkg.g_Debug THEN
568: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_CPARTY_REF');
569: END IF;
570:
571: IF v_count=0 THEN
564: FETCH cparty_ref INTO v_count;
565: CLOSE cparty_ref;
566:
567: IF xtr_risk_debug_pkg.g_Debug THEN
568: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_CPARTY_REF');
569: END IF;
570:
571: IF v_count=0 THEN
572: RETURN FALSE;
612:
613: v_count NUMBER;
614:
615: BEGIN
616: IF xtr_risk_debug_pkg.g_Debug THEN
617: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_DEAL_LINK_CODE');
618: END IF;
619:
620: OPEN deal_link_code;
613: v_count NUMBER;
614:
615: BEGIN
616: IF xtr_risk_debug_pkg.g_Debug THEN
617: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALID_DEAL_LINK_CODE');
618: END IF;
619:
620: OPEN deal_link_code;
621: FETCH deal_link_code INTO v_count;
620: OPEN deal_link_code;
621: FETCH deal_link_code INTO v_count;
622: CLOSE deal_link_code;
623:
624: IF xtr_risk_debug_pkg.g_Debug THEN
625: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_DEAL_LINK_CODE');
626: END IF;
627:
628: IF v_count=0 THEN
621: FETCH deal_link_code INTO v_count;
622: CLOSE deal_link_code;
623:
624: IF xtr_risk_debug_pkg.g_Debug THEN
625: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALID_DEAL_LINK_CODE');
626: END IF;
627:
628: IF v_count=0 THEN
629: RETURN FALSE;
653: --
654: v_hce_amount NUMBER;
655:
656: begin
657: IF xtr_risk_debug_pkg.g_Debug THEN
658: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.CALC_HCE_AMOUNT');
659: END IF;
660:
661: if p_actual_amount is not null then
654: v_hce_amount NUMBER;
655:
656: begin
657: IF xtr_risk_debug_pkg.g_Debug THEN
658: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.CALC_HCE_AMOUNT');
659: END IF;
660:
661: if p_actual_amount is not null then
662: v_hce_amount := p_actual_amount/p_hce_rate;
665: else
666: v_hce_amount := 0;
667: end if;
668:
669: IF xtr_risk_debug_pkg.g_Debug THEN
670: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.CALC_HCE_AMOUNT');
671: END IF;
672: RETURN v_hce_amount;
673:
666: v_hce_amount := 0;
667: end if;
668:
669: IF xtr_risk_debug_pkg.g_Debug THEN
670: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.CALC_HCE_AMOUNT');
671: END IF;
672: RETURN v_hce_amount;
673:
674: end CALC_HCE_AMOUNT;
694: v_home_curr VARCHAR2(20);
695: v_fx_rate NUMBER;
696:
697: BEGIN
698: IF xtr_risk_debug_pkg.g_Debug THEN
699: xtr_risk_debug_pkg.dpush('QRM_PA_AGGREGATION_P.GET_FX_RATE');
700: END IF;
701:
702: open get_home_currency;
695: v_fx_rate NUMBER;
696:
697: BEGIN
698: IF xtr_risk_debug_pkg.g_Debug THEN
699: xtr_risk_debug_pkg.dpush('QRM_PA_AGGREGATION_P.GET_FX_RATE');
700: END IF;
701:
702: open get_home_currency;
703: fetch get_home_currency into v_home_curr;
710: IF v_home_curr = p_curr THEN
711: v_fx_rate := 1;
712: END IF;
713:
714: IF xtr_risk_debug_pkg.g_Debug THEN
715: xtr_risk_debug_pkg.dpop('QRM_PA_AGGREGATION_P.GET_FX_RATE');
716: END IF;
717:
718: RETURN v_fx_rate;
711: v_fx_rate := 1;
712: END IF;
713:
714: IF xtr_risk_debug_pkg.g_Debug THEN
715: xtr_risk_debug_pkg.dpop('QRM_PA_AGGREGATION_P.GET_FX_RATE');
716: END IF;
717:
718: RETURN v_fx_rate;
719:
732:
733: v_fx_rate NUMBER;
734:
735: BEGIN
736: IF xtr_risk_debug_pkg.g_Debug THEN
737: xtr_risk_debug_pkg.dpush('COPY_FROM_INTERFACE_TO_EXP: ' || 'XTR_EXP_TRANSFERS.COPY_FROM_INT_TO_EXP');
738: END IF;
739:
740: p_error := FALSE;
733: v_fx_rate NUMBER;
734:
735: BEGIN
736: IF xtr_risk_debug_pkg.g_Debug THEN
737: xtr_risk_debug_pkg.dpush('COPY_FROM_INTERFACE_TO_EXP: ' || 'XTR_EXP_TRANSFERS.COPY_FROM_INT_TO_EXP');
738: END IF;
739:
740: p_error := FALSE;
741: v_fx_rate := get_fx_rate(ARec_Interface.company_code,
846: --Bug 2254853
847:
848: end if;
849:
850: IF xtr_risk_debug_pkg.g_Debug THEN
851: xtr_risk_debug_pkg.dpop('COPY_FROM_INTERFACE_TO_EXP: ' || 'XTR_EXP_TRANSFERS.COPY_FROM_INT_TO_EXP');
852: END IF;
853: END COPY_FROM_INTERFACE_TO_EXP;
854:
847:
848: end if;
849:
850: IF xtr_risk_debug_pkg.g_Debug THEN
851: xtr_risk_debug_pkg.dpop('COPY_FROM_INTERFACE_TO_EXP: ' || 'XTR_EXP_TRANSFERS.COPY_FROM_INT_TO_EXP');
852: END IF;
853: END COPY_FROM_INTERFACE_TO_EXP;
854:
855:
862: procedure COPY_TO_EXP
863: (ARec IN OUT NOCOPY XTR_EXPOSURE_TRANSACTIONS%rowtype) IS
864:
865: BEGIN
866: IF xtr_risk_debug_pkg.g_Debug THEN
867: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.COPY_TO_EXP');
868: END IF;
869:
870: --per request from One-Step API by Venil
863: (ARec IN OUT NOCOPY XTR_EXPOSURE_TRANSACTIONS%rowtype) IS
864:
865: BEGIN
866: IF xtr_risk_debug_pkg.g_Debug THEN
867: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.COPY_TO_EXP');
868: END IF;
869:
870: --per request from One-Step API by Venil
871: ARec.transaction_number := get_transaction_number;
950: g_main_rec.DUAL_AUTHORISATION_BY := g_user;
951: g_main_rec.DUAL_AUTHORISATION_ON := trunc(g_curr_date);
952: g_main_rec.CASH_POSITION_EXPOSURE := ARec.cash_position_exposure;
953:
954: IF xtr_risk_debug_pkg.g_Debug THEN
955: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.COPY_TO_EXP');
956: END IF;
957: END COPY_TO_EXP;
958:
951: g_main_rec.DUAL_AUTHORISATION_ON := trunc(g_curr_date);
952: g_main_rec.CASH_POSITION_EXPOSURE := ARec.cash_position_exposure;
953:
954: IF xtr_risk_debug_pkg.g_Debug THEN
955: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.COPY_TO_EXP');
956: END IF;
957: END COPY_TO_EXP;
958:
959:
967: procedure CHECK_MANDATORY_FIELDS(ARec_Interface IN XTR_DEALS_INTERFACE%rowtype
968: ,p_error OUT NOCOPY BOOLEAN) IS
969:
970: BEGIN
971: IF xtr_risk_debug_pkg.g_Debug THEN
972: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.CHECK_MANDATORY_FIELDS');
973: END IF;
974:
975: p_error := FALSE;
968: ,p_error OUT NOCOPY BOOLEAN) IS
969:
970: BEGIN
971: IF xtr_risk_debug_pkg.g_Debug THEN
972: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.CHECK_MANDATORY_FIELDS');
973: END IF;
974:
975: p_error := FALSE;
976:
979: ARec_Interface.deal_type,
980: 'CompanyCode','XTR_MANDATORY','ET.COMPANY_CODE');
981: p_error := TRUE;
982: end if;
983: IF xtr_risk_debug_pkg.g_Debug THEN
984: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'company_code',p_error);
985: END IF;
986: if ARec_Interface.exposure_type is null then
987: log_errors(ARec_Interface.external_deal_id,
980: 'CompanyCode','XTR_MANDATORY','ET.COMPANY_CODE');
981: p_error := TRUE;
982: end if;
983: IF xtr_risk_debug_pkg.g_Debug THEN
984: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'company_code',p_error);
985: END IF;
986: if ARec_Interface.exposure_type is null then
987: log_errors(ARec_Interface.external_deal_id,
988: ARec_Interface.deal_type,
988: ARec_Interface.deal_type,
989: 'ExposureType','XTR_MANDATORY','ET.EXPOSURE_TYPE');
990: p_error := TRUE;
991: end if;
992: IF xtr_risk_debug_pkg.g_Debug THEN
993: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'exposure_type',p_error);
994: END IF;
995: if ARec_Interface.deal_subtype is null then
996: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
989: 'ExposureType','XTR_MANDATORY','ET.EXPOSURE_TYPE');
990: p_error := TRUE;
991: end if;
992: IF xtr_risk_debug_pkg.g_Debug THEN
993: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'exposure_type',p_error);
994: END IF;
995: if ARec_Interface.deal_subtype is null then
996: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
997: 'DealSubtype','XTR_MANDATORY','ET.USER_DEAL_SUBTYPE');
996: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
997: 'DealSubtype','XTR_MANDATORY','ET.USER_DEAL_SUBTYPE');
998: p_error := TRUE;
999: end if;
1000: IF xtr_risk_debug_pkg.g_Debug THEN
1001: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'deal_subtype',p_error);
1002: END IF;
1003: if ARec_Interface.portfolio_code is null then
1004: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
997: 'DealSubtype','XTR_MANDATORY','ET.USER_DEAL_SUBTYPE');
998: p_error := TRUE;
999: end if;
1000: IF xtr_risk_debug_pkg.g_Debug THEN
1001: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'deal_subtype',p_error);
1002: END IF;
1003: if ARec_Interface.portfolio_code is null then
1004: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1005: 'PortfolioCode','XTR_MANDATORY','ET.PORTFOLIO_CODE');
1004: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1005: 'PortfolioCode','XTR_MANDATORY','ET.PORTFOLIO_CODE');
1006: p_error := TRUE;
1007: end if;
1008: IF xtr_risk_debug_pkg.g_Debug THEN
1009: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'portfolio_code',p_error);
1010: END IF;
1011: if ARec_Interface.action_code is null then
1012: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1005: 'PortfolioCode','XTR_MANDATORY','ET.PORTFOLIO_CODE');
1006: p_error := TRUE;
1007: end if;
1008: IF xtr_risk_debug_pkg.g_Debug THEN
1009: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'portfolio_code',p_error);
1010: END IF;
1011: if ARec_Interface.action_code is null then
1012: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1013: 'ActionCode','XTR_MANDATORY','ET.USER_ACTION_CODE');
1012: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1013: 'ActionCode','XTR_MANDATORY','ET.USER_ACTION_CODE');
1014: p_error := TRUE;
1015: end if;
1016: IF xtr_risk_debug_pkg.g_Debug THEN
1017: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'action_code',p_error);
1018: END IF;
1019: if ARec_Interface.currency_a is null then
1020: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1013: 'ActionCode','XTR_MANDATORY','ET.USER_ACTION_CODE');
1014: p_error := TRUE;
1015: end if;
1016: IF xtr_risk_debug_pkg.g_Debug THEN
1017: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'action_code',p_error);
1018: END IF;
1019: if ARec_Interface.currency_a is null then
1020: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1021: 'CurrencyA','XTR_MANDATORY','ET.CURRENCY');
1020: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1021: 'CurrencyA','XTR_MANDATORY','ET.CURRENCY');
1022: p_error := TRUE;
1023: end if;
1024: IF xtr_risk_debug_pkg.g_Debug THEN
1025: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'currency_a',p_error);
1026: END IF;
1027: if ARec_Interface.settle_action_reqd is null then
1028: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1021: 'CurrencyA','XTR_MANDATORY','ET.CURRENCY');
1022: p_error := TRUE;
1023: end if;
1024: IF xtr_risk_debug_pkg.g_Debug THEN
1025: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'currency_a',p_error);
1026: END IF;
1027: if ARec_Interface.settle_action_reqd is null then
1028: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1029: 'SettleActionReqd','XTR_MANDATORY','ET.SETTLE_ACTION_REQD');
1028: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1029: 'SettleActionReqd','XTR_MANDATORY','ET.SETTLE_ACTION_REQD');
1030: p_error := TRUE;
1031: end if;
1032: IF xtr_risk_debug_pkg.g_Debug THEN
1033: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'settle_action_reqd',p_error);
1034: END IF;
1035: if ARec_Interface.account_no_a is null then
1036: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1029: 'SettleActionReqd','XTR_MANDATORY','ET.SETTLE_ACTION_REQD');
1030: p_error := TRUE;
1031: end if;
1032: IF xtr_risk_debug_pkg.g_Debug THEN
1033: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'settle_action_reqd',p_error);
1034: END IF;
1035: if ARec_Interface.account_no_a is null then
1036: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1037: 'AccountNoA','XTR_MANDATORY','ET.ACCOUNT_NO');
1036: log_errors(ARec_Interface.external_deal_id,ARec_Interface.deal_type,
1037: 'AccountNoA','XTR_MANDATORY','ET.ACCOUNT_NO');
1038: p_error := TRUE;
1039: end if;
1040: IF xtr_risk_debug_pkg.g_Debug THEN
1041: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'account_no_a',p_error);
1042: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.CHECK_MANDATORY_FIELDS');
1043: END IF;
1044: END check_mandatory_fields;
1037: 'AccountNoA','XTR_MANDATORY','ET.ACCOUNT_NO');
1038: p_error := TRUE;
1039: end if;
1040: IF xtr_risk_debug_pkg.g_Debug THEN
1041: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'account_no_a',p_error);
1042: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.CHECK_MANDATORY_FIELDS');
1043: END IF;
1044: END check_mandatory_fields;
1045:
1038: p_error := TRUE;
1039: end if;
1040: IF xtr_risk_debug_pkg.g_Debug THEN
1041: xtr_risk_debug_pkg.dlog('CHECK_MANDATORY_FIELDS: ' || 'account_no_a',p_error);
1042: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.CHECK_MANDATORY_FIELDS');
1043: END IF;
1044: END check_mandatory_fields;
1045:
1046:
1057: v_err_segment VARCHAR2(30);
1058: p_cparty_error BOOLEAN := FALSE;
1059:
1060: BEGIN
1061: IF xtr_risk_debug_pkg.g_Debug THEN
1062: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALIDATE_DEALS');
1063: END IF;
1064:
1065: p_error := FALSE;
1058: p_cparty_error BOOLEAN := FALSE;
1059:
1060: BEGIN
1061: IF xtr_risk_debug_pkg.g_Debug THEN
1062: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.VALIDATE_DEALS');
1063: END IF;
1064:
1065: p_error := FALSE;
1066:
1261: 'XTR_INV_DESC_FLEX');
1262: end if;
1263: end if;
1264:
1265: IF xtr_risk_debug_pkg.g_Debug THEN
1266: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALIDATE_DEALS');
1267: END IF;
1268: END VALIDATE_DEALS;
1269:
1262: end if;
1263: end if;
1264:
1265: IF xtr_risk_debug_pkg.g_Debug THEN
1266: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.VALIDATE_DEALS');
1267: END IF;
1268: END VALIDATE_DEALS;
1269:
1270:
1278:
1279: v_trans_no NUMBER;
1280:
1281: BEGIN
1282: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.GET_TRANSACTION_NUMBER');
1283:
1284: open trans_no;
1285: fetch trans_no into v_trans_no;
1286: close trans_no;
1284: open trans_no;
1285: fetch trans_no into v_trans_no;
1286: close trans_no;
1287:
1288: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.GET_TRANSACTION_NUMBER');
1289: return v_trans_no;
1290: END get_transaction_number;
1291:
1292:
1307:
1308: v_cparty_account VARCHAR2(20);
1309:
1310: BEGIN
1311: IF xtr_risk_debug_pkg.g_Debug THEN
1312: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.GET_CPARTY_ACCOUNT');
1313: END IF;
1314:
1315: open REF_ACC;
1308: v_cparty_account VARCHAR2(20);
1309:
1310: BEGIN
1311: IF xtr_risk_debug_pkg.g_Debug THEN
1312: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.GET_CPARTY_ACCOUNT');
1313: END IF;
1314:
1315: open REF_ACC;
1316: fetch REF_ACC into v_cparty_account;
1315: open REF_ACC;
1316: fetch REF_ACC into v_cparty_account;
1317: close REF_ACC;
1318:
1319: IF xtr_risk_debug_pkg.g_Debug THEN
1320: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.GET_CPARTY_ACCOUNT');
1321: END IF;
1322: return v_cparty_account;
1323: END get_cparty_account;
1316: fetch REF_ACC into v_cparty_account;
1317: close REF_ACC;
1318:
1319: IF xtr_risk_debug_pkg.g_Debug THEN
1320: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.GET_CPARTY_ACCOUNT');
1321: END IF;
1322: return v_cparty_account;
1323: END get_cparty_account;
1324:
1339: l_dual_date DATE;
1340:
1341: BEGIN
1342:
1343: IF xtr_risk_debug_pkg.g_Debug THEN
1344: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.CREATE_EXP_DEAL');
1345: END IF;
1346:
1347: open FIND_USER(G_User_Id);
1340:
1341: BEGIN
1342:
1343: IF xtr_risk_debug_pkg.g_Debug THEN
1344: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.CREATE_EXP_DEAL');
1345: END IF;
1346:
1347: open FIND_USER(G_User_Id);
1348: fetch FIND_USER into l_user;
1519: WHERE deal_type = 'EXP'
1520: AND transaction_no = Arec_Exp.TRANSACTION_NUMBER;
1521: end if;
1522:
1523: IF xtr_risk_debug_pkg.g_Debug THEN
1524: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.CREATE_EXP_DEAL');
1525: END IF;
1526:
1527: --The following exception is handled in Transfer_Deals_Protected
1520: AND transaction_no = Arec_Exp.TRANSACTION_NUMBER;
1521: end if;
1522:
1523: IF xtr_risk_debug_pkg.g_Debug THEN
1524: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.CREATE_EXP_DEAL');
1525: END IF;
1526:
1527: --The following exception is handled in Transfer_Deals_Protected
1528: --and should not be handled here because the potential deal would
1562: v_cashflow_amount NUMBER;
1563: v_cparty_account_no VARCHAR2(20);
1564:
1565: BEGIN
1566: IF xtr_risk_debug_pkg.g_Debug THEN
1567: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.INS_DEAL_DATE_AMOUNTS');
1568: END IF;
1569:
1570: -- bug 1849281 select the dealer id
1563: v_cparty_account_no VARCHAR2(20);
1564:
1565: BEGIN
1566: IF xtr_risk_debug_pkg.g_Debug THEN
1567: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.INS_DEAL_DATE_AMOUNTS');
1568: END IF;
1569:
1570: -- bug 1849281 select the dealer id
1571: Open DEALER;
1669: v_dealer, v_comments);
1670: -- bug 1849281
1671: END IF;
1672:
1673: IF xtr_risk_debug_pkg.g_Debug THEN
1674: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.INS_DEAL_DATE_AMOUNTS');
1675: END IF;
1676: END INS_DEAL_DATE_AMOUNTS;
1677:
1670: -- bug 1849281
1671: END IF;
1672:
1673: IF xtr_risk_debug_pkg.g_Debug THEN
1674: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.INS_DEAL_DATE_AMOUNTS');
1675: END IF;
1676: END INS_DEAL_DATE_AMOUNTS;
1677:
1678:
1713: from xtr_dealer_codes_v
1714: where user_id = p_fnd_user;
1715:
1716: BEGIN
1717: IF xtr_risk_debug_pkg.g_Debug THEN
1718: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.TRANSFER_EXP_DEALS');
1719: END IF;
1720: --
1721: --Initialize variables
1714: where user_id = p_fnd_user;
1715:
1716: BEGIN
1717: IF xtr_risk_debug_pkg.g_Debug THEN
1718: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.TRANSFER_EXP_DEALS');
1719: END IF;
1720: --
1721: --Initialize variables
1722: --
1749: ARec_Interface.deal_type,
1750: ARec_Interface.company_code,
1751: user_error);
1752:
1753: IF xtr_risk_debug_pkg.g_Debug THEN
1754: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'user_error',user_error);
1755: END IF;
1756:
1757: if (user_error <> TRUE) then
1750: ARec_Interface.company_code,
1751: user_error);
1752:
1753: IF xtr_risk_debug_pkg.g_Debug THEN
1754: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'user_error',user_error);
1755: END IF;
1756:
1757: if (user_error <> TRUE) then
1758: --
1758: --
1759: --The following code does mandatory field validation specific to the deal
1760: --
1761: CHECK_MANDATORY_FIELDS(ARec_Interface,mandatory_error);
1762: IF xtr_risk_debug_pkg.g_Debug THEN
1763: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'mandatory_error',mandatory_error);
1764: END IF;
1765:
1766: if (mandatory_error <> TRUE) then
1759: --The following code does mandatory field validation specific to the deal
1760: --
1761: CHECK_MANDATORY_FIELDS(ARec_Interface,mandatory_error);
1762: IF xtr_risk_debug_pkg.g_Debug THEN
1763: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'mandatory_error',mandatory_error);
1764: END IF;
1765:
1766: if (mandatory_error <> TRUE) then
1767: --
1767: --
1768: -- The following code performs the business logic validation
1769: --
1770: VALIDATE_DEALS(ARec_Interface, validation_error);
1771: IF xtr_risk_debug_pkg.g_Debug THEN
1772: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'validation_error',validation_error);
1773: END IF;
1774:
1775: if (validation_error <> TRUE) then
1768: -- The following code performs the business logic validation
1769: --
1770: VALIDATE_DEALS(ARec_Interface, validation_error);
1771: IF xtr_risk_debug_pkg.g_Debug THEN
1772: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'validation_error',validation_error);
1773: END IF;
1774:
1775: if (validation_error <> TRUE) then
1776: --
1777: -- Copy to the temp. storage that will be used for inserting
1778: -- into the XTR_EXPOSURE_TRANSACTIONS table
1779: --
1780: COPY_FROM_INTERFACE_TO_EXP(ARec_Interface, validation_error);
1781: IF xtr_risk_debug_pkg.g_Debug THEN
1782: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'validation_error from COPY',validation_error);
1783: END IF;
1784:
1785: end if; --validation error
1778: -- into the XTR_EXPOSURE_TRANSACTIONS table
1779: --
1780: COPY_FROM_INTERFACE_TO_EXP(ARec_Interface, validation_error);
1781: IF xtr_risk_debug_pkg.g_Debug THEN
1782: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'validation_error from COPY',validation_error);
1783: END IF;
1784:
1785: end if; --validation error
1786: end if; --mandatory_error
1795: --
1796: --Insert deal
1797: --
1798: CREATE_EXP_DEAL(g_main_rec);
1799: IF xtr_risk_debug_pkg.g_Debug THEN
1800: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'After inserting to XTR_EXPOSURE_TRANSACTIONS');
1801: END IF;
1802: --
1803: --Also insert to XTR_DEAL_DATE_AMOUNTS_V
1796: --Insert deal
1797: --
1798: CREATE_EXP_DEAL(g_main_rec);
1799: IF xtr_risk_debug_pkg.g_Debug THEN
1800: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'After inserting to XTR_EXPOSURE_TRANSACTIONS');
1801: END IF;
1802: --
1803: --Also insert to XTR_DEAL_DATE_AMOUNTS_V
1804: --
1804: --
1805: INS_DEAL_DATE_AMOUNTS(g_main_rec);
1806:
1807: deal_num:=g_main_rec.transaction_number;
1808: IF xtr_risk_debug_pkg.g_Debug THEN
1809: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'After inserting to XTR_DEAL_DATE_AMOUNTS');
1810: END IF;
1811: COMMIT;
1812: --
1805: INS_DEAL_DATE_AMOUNTS(g_main_rec);
1806:
1807: deal_num:=g_main_rec.transaction_number;
1808: IF xtr_risk_debug_pkg.g_Debug THEN
1809: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'After inserting to XTR_DEAL_DATE_AMOUNTS');
1810: END IF;
1811: COMMIT;
1812: --
1813: --Since the insert is done, we can now delete the rows from the
1833: end if;
1834: end if;
1835:
1836: COMMIT;
1837: IF xtr_risk_debug_pkg.g_Debug THEN
1838: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.TRANSFER_EXP_DEALS');
1839: END IF;
1840:
1841: END TRANSFER_EXP_DEALS;
1834: end if;
1835:
1836: COMMIT;
1837: IF xtr_risk_debug_pkg.g_Debug THEN
1838: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.TRANSFER_EXP_DEALS');
1839: END IF;
1840:
1841: END TRANSFER_EXP_DEALS;
1842:
1865: from xtr_dealer_codes_v
1866: where user_id = p_fnd_user;
1867:
1868: BEGIN
1869: IF xtr_risk_debug_pkg.g_Debug THEN
1870: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.TRANSFER_EXP_DEALS');
1871: END IF;
1872:
1873: user_error := FALSE;
1866: where user_id = p_fnd_user;
1867:
1868: BEGIN
1869: IF xtr_risk_debug_pkg.g_Debug THEN
1870: xtr_risk_debug_pkg.dpush('XTR_EXP_TRANSFERS.TRANSFER_EXP_DEALS');
1871: END IF;
1872:
1873: user_error := FALSE;
1874: mandatory_error := FALSE;
1884: END IF;
1885: g_user_id := FND_GLOBAL.USER_ID;
1886: g_cparty_account := null;
1887: --Cash Positioning form pass their own created_by
1888: IF xtr_risk_debug_pkg.g_Debug THEN
1889: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'Arec.created_by', Arec.created_by);
1890: END IF;
1891: IF Arec.created_by IS NOT NULL THEN
1892: g_user := ARec.created_by;
1885: g_user_id := FND_GLOBAL.USER_ID;
1886: g_cparty_account := null;
1887: --Cash Positioning form pass their own created_by
1888: IF xtr_risk_debug_pkg.g_Debug THEN
1889: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'Arec.created_by', Arec.created_by);
1890: END IF;
1891: IF Arec.created_by IS NOT NULL THEN
1892: g_user := ARec.created_by;
1893: ELSE
1894: OPEN find_user(g_user_id);
1895: FETCH find_user INTO g_user;
1896: CLOSE find_user;
1897: END IF;
1898: IF xtr_risk_debug_pkg.g_Debug THEN
1899: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'g_user', g_user);
1900: END IF;
1901:
1902: COPY_TO_EXP(ARec);
1895: FETCH find_user INTO g_user;
1896: CLOSE find_user;
1897: END IF;
1898: IF xtr_risk_debug_pkg.g_Debug THEN
1899: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'g_user', g_user);
1900: END IF;
1901:
1902: COPY_TO_EXP(ARec);
1903: --
1903: --
1904: --Insert deal
1905: --
1906: CREATE_EXP_DEAL(g_main_rec);
1907: IF xtr_risk_debug_pkg.g_Debug THEN
1908: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'After inserting to XTR_EXPOSURE_TRANSACTIONS');
1909: END IF;
1910: --
1911: --Also insert to XTR_DEAL_DATE_AMOUNTS_V
1904: --Insert deal
1905: --
1906: CREATE_EXP_DEAL(g_main_rec);
1907: IF xtr_risk_debug_pkg.g_Debug THEN
1908: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'After inserting to XTR_EXPOSURE_TRANSACTIONS');
1909: END IF;
1910: --
1911: --Also insert to XTR_DEAL_DATE_AMOUNTS_V
1912: --
1910: --
1911: --Also insert to XTR_DEAL_DATE_AMOUNTS_V
1912: --
1913: INS_DEAL_DATE_AMOUNTS(g_main_rec);
1914: IF xtr_risk_debug_pkg.g_Debug THEN
1915: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'After inserting to XTR_DEAL_DATE_AMOUNTS');
1916: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.TRANSFER_EXP_DEALS');
1917: END IF;
1918: END TRANSFER_EXP_DEALS;
1911: --Also insert to XTR_DEAL_DATE_AMOUNTS_V
1912: --
1913: INS_DEAL_DATE_AMOUNTS(g_main_rec);
1914: IF xtr_risk_debug_pkg.g_Debug THEN
1915: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'After inserting to XTR_DEAL_DATE_AMOUNTS');
1916: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.TRANSFER_EXP_DEALS');
1917: END IF;
1918: END TRANSFER_EXP_DEALS;
1919:
1912: --
1913: INS_DEAL_DATE_AMOUNTS(g_main_rec);
1914: IF xtr_risk_debug_pkg.g_Debug THEN
1915: xtr_risk_debug_pkg.dlog('TRANSFER_EXP_DEALS: ' || 'After inserting to XTR_DEAL_DATE_AMOUNTS');
1916: xtr_risk_debug_pkg.dpop('XTR_EXP_TRANSFERS.TRANSFER_EXP_DEALS');
1917: END IF;
1918: END TRANSFER_EXP_DEALS;
1919:
1920: