[Home] [Help]
PACKAGE BODY: APPS.ZPB_EXCH_RATES
Source
1 package body ZPB_EXCH_RATES AS
2 /* $Header: ZPBEXCRT.plb 120.0.12010.2 2005/12/23 06:00:05 appldev noship $ */
3
4 PROCEDURE LOAD_RATES (errbuf OUT NOCOPY VARCHAR2,
5 retcode OUT NOCOPY VARCHAR2,
6 p_gen_cross_rates IN VARCHAR2,
7 p_data_aw IN VARCHAR2,
8 p_code_aw IN VARCHAR2,
9 p_bus_area_id IN VARCHAR2
10 )
11 IS
12 is_attached VARCHAR2(1);
13 BEGIN
14
15 retcode := '0';
16 is_attached := 'N';
17
18 -- attach the required AW in approp mode
19 ZPB_AW.EXECUTE('aw attach ' || p_code_aw || ' ro');
20 ZPB_AW.EXECUTE('aw attach ' || p_data_aw || ' rw');
21 is_attached := 'Y';
22
23 -- call the OLAP prog for loading the rates
24 ZPB_AW.EXECUTE('call CM.LOADEXRATES(''' || p_gen_cross_rates ||''''||','||''''||p_bus_area_id||''')');
25
26 -- dettach the required AW in approp mode
27 ZPB_AW.EXECUTE('aw detach ' || p_code_aw );
28 ZPB_AW.EXECUTE('aw detach ' || p_data_aw );
29 is_attached := 'N';
30
31 EXCEPTION
32 WHEN OTHERS THEN
33 retcode :='2';
34 IF (is_attached = 'Y') THEN
35 ZPB_AW.EXECUTE('aw detach ' || p_code_aw );
36 ZPB_AW.EXECUTE('aw detach ' || p_data_aw );
37 END IF;
38
39 errbuf:= SUBSTR(sqlerrm, 1, 255);
40 raise;
41 END LOAD_RATES;
42
43 FUNCTION LOAD_RATES_CP (p_gen_cross_rates IN VARCHAR2,
44 p_bus_area_id IN VARCHAR2) RETURN NUMBER
45 IS
46 l_id number;
47 l_codeAW VARCHAR2(30);
48 l_DataAW VARCHAR2(30);
49 BEGIN
50 l_id := fnd_global.user_id;
51 l_codeAW := zpb_aw.get_schema||'.'|| zpb_aw.get_code_aw(l_id) ;
52 l_dataAW := zpb_aw.get_schema||'.'|| zpb_aw.get_shared_aw;
53
54 -- submit the concurrent request for loading the rates
55 l_id := FND_REQUEST.SUBMIT_REQUEST ('ZPB', 'ZPB_LOAD_EXCH_RATES', NULL, NULL, FALSE, p_gen_cross_rates, l_dataAW, l_codeAW, p_bus_area_id );
56 return l_id;
57
58 EXCEPTION
59 WHEN OTHERS THEN
60 NULL;
61 END LOAD_RATES_CP;
62
63 END ZPB_EXCH_RATES ;