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