DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMF_GL_GET_CONV_RATE

Source


1 PACKAGE BODY GMF_GL_GET_CONV_RATE AS
2 /* $Header: gmfcnvrb.pls 115.0 99/07/16 04:15:37 porting shi $ */
3 	CURSOR C_get_sob_curr ( porg_id	in NUMBER) IS
4 		SELECT ars.set_of_books_id,
5 			sob.currency_code
6 		FROM   ar_system_parameters_all ars,
7 			gl_sets_of_books sob
8 		WHERE
9 			NVL(ars.org_id,0)=NVL(porg_id, NVL(ars.org_id,0));
10 
11 	CURSOR C_get_conv_type  IS
12 		SELECT conversion_type
13 		FROM   gl_daily_conversion_types types,
14 			gl_srce_mst gmtype
15 		WHERE
16 			gmtype.rate_type_code = types.user_conversion_type
17 			AND   gmtype.trans_source_code = 'OP';
18 
19   FUNCTION get_conv_rate (cur_code VARCHAR2, porg_id NUMBER) RETURN NUMBER IS
20     conv_rate  NUMBER;
21     conv_date  DATE;
22     frm_cur_code  VARCHAR2(15);
23     to_cur_code  VARCHAR2(15);
24     set_of_books_id number;
25     conv_type varchar2(30);
26   BEGIN
27 
28     OPEN C_get_sob_curr (porg_id);
29     FETCH C_get_sob_curr INTO
30 	set_of_books_id,
31         to_cur_code;
32     CLOSE C_get_sob_curr;
33 
34     OPEN C_get_conv_type;
35     FETCH C_get_conv_type INTO conv_type;
36     CLOSE C_get_conv_type;
37 
38     conv_date := sysdate;
39     conv_rate := gl_currency_api.get_closest_rate (set_of_books_id, cur_code,
40 		conv_date, conv_type, 1000);
41 
42     return (conv_rate);
43 
44   EXCEPTION
45     WHEN others THEN
46       conv_rate := -1;
47 	-- DBMS_OUTPUT.PUT_LINE('SQL_CODE in GLCONVRT- ' || SQLCODE|| SQLERRM);
48       RETURN (conv_rate);
49   END;
50 
51 END GMF_GL_GET_CONV_RATE;