[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;