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