DBA Data[Home] [Help]

PACKAGE BODY: APPS.FND_TXK_TECH_INT_PKG

Source


1 PACKAGE BODY FND_TXK_TECH_INT_PKG AS
2 /* $Header: fndtxk01b.pls 120.1 2010/07/28 05:20:58 upinjark noship $*/
3 
4 
5 FUNCTION store_into_fnd_preference (p_file_id NUMBER)
6 RETURN NUMBER
7 IS
8   /*
9   ||  Created By : upinjark
10   ||  Created On : 17-Jun-2009
11   ||  Purpose :        Stores bpel preference.
12   ||  Known limitations, enhancements or remarks :
13   ||  Change History :
14   ||  Who              When              What
15   ||  (reverse chronological order - newest change first)
16   */
17 
18 BEGIN
19 
20   fnd_preference.put('#INTERNAL', 'BPEL_INT', 'TXK_BPEL_FILE_ID_' || p_file_id, 'EbsBpelGlobal.properties') ;
21   RETURN 1 ;
22 
23 EXCEPTION
24   WHEN OTHERS THEN
25      fnd_file.put_line(fnd_file.log, SQLERRM);
26      fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
27      fnd_message.set_token('NAME','FND_TXK_TECH_INT_PKG.store_into_fnd_preference');
28      fnd_file.put_line(fnd_file.log, fnd_message.get);
29      RETURN(NULL);
30 END store_into_fnd_preference;
31 
32 FUNCTION store_into_fnd_lob(p_args_table IN FND_TXK_BPEL_ARGS_TYPE )
33 RETURN NUMBER
34 IS
35   /*
36   ||  Created By : upinjark
37   ||  Created On : 17-Jun-2009
38   ||  Purpose :    stores the bpel parameters in fnd_lobs
39   ||  Known limitations, enhancements or remarks :
40   ||
41   ||  Change History :
42   ||  Who              When              What
43   ||  (reverse chronological order - newest change first)
44   */
45 
46    l_file_id NUMBER;
47    mime_type VARCHAR2(200);
48    l_loop_counter NUMBER;
49    args_count NUMBER ;
50 
51 BEGIN
52 
53   l_loop_counter := 0;
54   args_count := 0 ;
55 
56   mime_type := NVL(fnd_profile.value('FND_EXPORT_MIME_TYPE'), 'text/tab-separated-values');
57   l_file_id := fnd_gfm.file_create(content_type => mime_type,
58                                  file_name => 'EbsBpelGlobal.properties' ,
59                                  program_name => 'BPEL Integration');
60 
61      FOR i IN p_args_table.FIRST .. p_args_table.LAST
62      LOOP
63 	fnd_gfm.file_write_line(l_file_id, p_args_table(i));
64      END LOOP;
65 
66   l_file_id := fnd_gfm.file_close(l_file_id);
67 
68   RETURN (l_file_id);
69 
70 EXCEPTION
71   WHEN OTHERS THEN
72      fnd_file.put_line(fnd_file.log, SQLERRM);
73      fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
74      fnd_message.set_token('NAME','FND_TXK_TECH_INT_PKG.store_into_fnd_lob');
75 
76      RETURN(NULL);
77 END store_into_fnd_lob;
78 
79 
80 FUNCTION remove_bpel_info_if_exists
81 RETURN NUMBER
82 IS
83 /*
84 ||  Created By : upinjark
85 ||  Created On : 17-JUN-2009
86 ||  Purpose : TO remove bpel info from fnd_lobs and fnd_preference
87 ||  Known limitations, enhancements or remarks :
88 ||  Change History :
89 ||  Who             When            What
90 ||  (reverse chronological order - newest change first)
91 */
92 
93   l_bpel_count      NUMBER;
94   l_old_file_id     VARCHAR2(32);
95   l_retcode        NUMBER;
96 
97 BEGIN
98 
99    l_retcode            := 0;
100    l_old_file_id        := NULL;
101    l_bpel_count         := 0;
102 
103 
104    -- find out from fnd_preference if any fnd_preference exists ....
105    -- if fnd_preference exist, get the file ids
106 
107      BEGIN
108        select substr(preference_name,18) into l_old_file_id
109        from fnd_user_preferences
110        where PREFERENCE_NAME like 'TXK_BPEL_FILE_ID_%'
111        and PREFERENCE_VALUE = 'EbsBpelGlobal.properties'
112        and USER_NAME = '#INTERNAL' ;
113 
114       if l_old_file_id is not null then
115         -- delete fnd_lob rows for the file id and file_name = EbsBpelGlobal.properties ...
116         delete from fnd_lobs where file_id = l_old_file_id;
117         -- delete fnd_preference rows for
118         fnd_preference.remove('#INTERNAL', 'BPEL_INT', 'TXK_BPEL_FILE_ID_'|| l_old_file_id );
119       end if;
120 
121      EXCEPTION
122        when no_data_found then null;
123      END;
124 
125    return l_retcode;
126 
127 EXCEPTION
128    WHEN others THEN
129         ROLLBACK;
130         l_retcode := 2;
131         fnd_file.put_line(fnd_file.log, SQLERRM);
132 
133         fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
134         fnd_message.set_token('NAME','FND_TXK_TECH_INT_PKG.remove_bpel_info_if_exists');
135         fnd_message.set_token('ERRNO', SQLCODE);
136 	return l_retcode;
137 END  remove_bpel_info_if_exists;
138 
139 
140 PROCEDURE store_bpel_info ( errbuf            OUT NOCOPY VARCHAR2,
141                             retcode           OUT NOCOPY NUMBER,
142                             p_args_table      IN  FND_TXK_BPEL_ARGS_TYPE
143                           )
144 IS
145 
146 /*
147 ||  Created By : upinjark
148 ||  Created On : 17-JUN-2009
149 ||  Purpose : Main process which in turn calls fnd_lob and fnd_preference
150 ||  Known limitations, enhancements or remarks :
151 ||  Change History :
152 ||  Who             When            What
153 ||  (reverse chronological order - newest change first)
154 */
155 
156   l_file_id       NUMBER;
157   old_file_id     VARCHAR2(32);
158 
159 BEGIN
160    errbuf             := NULL;
161    retcode            := 0;
162    old_file_id        := NULL;
163 
164    retcode := remove_bpel_info_if_exists ;
165 
166    l_file_id := store_into_fnd_lob(p_args_table);
167    retcode := store_into_fnd_preference(l_file_id);
168 
169    -- COMMIT;
170 
171 EXCEPTION
172    WHEN others THEN
173         ROLLBACK;
174         retcode := 2;
175         fnd_file.put_line(fnd_file.log, SQLERRM);
176 
177         fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
178         fnd_message.set_token('NAME','FND_TXK_TECH_INT_PKG.store_bpel_info');
179         fnd_message.set_token('ERRNO', SQLCODE);
180         errbuf  := fnd_message.get;
181 END  store_bpel_info;
182 
183 END FND_TXK_TECH_INT_PKG;