[Home] [Help]
PACKAGE BODY: APPS.GMA_SY_TEXT_TKN_PKG
Source
1 package body GMA_SY_TEXT_TKN_PKG AS
2 /* $Header: GMATKNB.pls 115.3 2002/11/20 18:09:07 appldev ship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out nocopy VARCHAR2,
5 X_TEXT_KEY in VARCHAR2,
6 X_LANG_CODE in VARCHAR2,
7 X_TEXT_CODE in NUMBER,
8 X_TOKEN_DESC in VARCHAR2,
9 X_CREATION_DATE in DATE,
10 X_CREATED_BY in NUMBER,
11 X_LAST_UPDATE_DATE in DATE,
12 X_LAST_UPDATED_BY in NUMBER,
13 X_LAST_UPDATE_LOGIN in NUMBER
14 ) is
15 cursor C is select ROWID from SY_TEXT_TKN_TL
16 where TEXT_KEY = X_TEXT_KEY
17 and LANG_CODE = X_LANG_CODE
18 and LANGUAGE = userenv('LANG')
19 ;
20 begin
21 insert into SY_TEXT_TKN_TL (
22 TEXT_KEY,
23 LANG_CODE,
24 TEXT_CODE,
25 TOKEN_DESC,
26 CREATION_DATE,
27 CREATED_BY,
28 LAST_UPDATE_DATE,
29 LAST_UPDATED_BY,
30 LAST_UPDATE_LOGIN,
31 LANGUAGE,
32 SOURCE_LANG
33 ) select
34 X_TEXT_KEY,
35 X_LANG_CODE,
36 X_TEXT_CODE,
37 X_TOKEN_DESC,
38 X_CREATION_DATE,
39 X_CREATED_BY,
40 X_LAST_UPDATE_DATE,
41 X_LAST_UPDATED_BY,
42 X_LAST_UPDATE_LOGIN,
43 L.LANGUAGE_CODE,
44 userenv('LANG')
45 from FND_LANGUAGES L
46 where L.INSTALLED_FLAG in ('I', 'B')
47 and not exists
48 (select NULL
49 from SY_TEXT_TKN_TL T
50 where T.TEXT_KEY = X_TEXT_KEY
51 and T.LANG_CODE = X_LANG_CODE
52 and T.LANGUAGE = L.LANGUAGE_CODE);
53
54 open c;
55 fetch c into X_ROWID;
56 if (c%notfound) then
57 close c;
58 raise no_data_found;
59 end if;
60 close c;
61
62 end INSERT_ROW;
63
64 procedure LOCK_ROW (
65 X_TEXT_KEY in VARCHAR2,
66 X_LANG_CODE in VARCHAR2,
67 X_TEXT_CODE in NUMBER,
68 X_TOKEN_DESC in VARCHAR2
69 ) is
70 cursor c1 is select
71 TEXT_CODE,
72 TOKEN_DESC,
73 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
74 from SY_TEXT_TKN_TL
75 where TEXT_KEY = X_TEXT_KEY
76 and LANG_CODE = X_LANG_CODE
77 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
78 for update of TEXT_KEY nowait;
79 begin
80 for tlinfo in c1 loop
81 if (tlinfo.BASELANG = 'Y') then
82 if ( (tlinfo.TOKEN_DESC = X_TOKEN_DESC)
83 AND ((tlinfo.TEXT_CODE = X_TEXT_CODE)
84 OR ((tlinfo.TEXT_CODE is null) AND (X_TEXT_CODE is null)))
85 ) then
86 null;
87 else
88 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
89 app_exception.raise_exception;
90 end if;
91 end if;
92 end loop;
93 return;
94 end LOCK_ROW;
95
96 procedure UPDATE_ROW (
97 X_TEXT_KEY in VARCHAR2,
98 X_LANG_CODE in VARCHAR2,
99 X_TEXT_CODE in NUMBER,
100 X_TOKEN_DESC in VARCHAR2,
101 X_LAST_UPDATE_DATE in DATE,
102 X_LAST_UPDATED_BY in NUMBER,
103 X_LAST_UPDATE_LOGIN in NUMBER
104 ) is
105 begin
106 update SY_TEXT_TKN_TL set
107 TEXT_CODE = X_TEXT_CODE,
108 TOKEN_DESC = X_TOKEN_DESC,
109 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
110 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
111 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
112 SOURCE_LANG = userenv('LANG')
113 where TEXT_KEY = X_TEXT_KEY
114 and LANG_CODE = X_LANG_CODE
115 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
116
117 if (sql%notfound) then
118 raise no_data_found;
119 end if;
120 end UPDATE_ROW;
121
122 procedure DELETE_ROW (
123 X_TEXT_KEY in VARCHAR2,
124 X_LANG_CODE in VARCHAR2
125 ) is
126 begin
127 delete from SY_TEXT_TKN_TL
128 where TEXT_KEY = X_TEXT_KEY
129 and LANG_CODE = X_LANG_CODE;
130
131 if (sql%notfound) then
132 raise no_data_found;
133 end if;
134
135 end DELETE_ROW;
136
137 procedure ADD_LANGUAGE
138 is
139 begin
140 update SY_TEXT_TKN_TL T set (
141 TOKEN_DESC
142 ) = (select
143 B.TOKEN_DESC
144 from SY_TEXT_TKN_TL B
145 where B.TEXT_KEY = T.TEXT_KEY
146 and B.LANG_CODE = T.LANG_CODE
147 and B.LANGUAGE = T.SOURCE_LANG)
148 where (
149 T.TEXT_KEY,
150 T.LANG_CODE,
151 T.LANGUAGE
152 ) in (select
153 SUBT.TEXT_KEY,
154 SUBT.LANG_CODE,
155 SUBT.LANGUAGE
156 from SY_TEXT_TKN_TL SUBB, SY_TEXT_TKN_TL SUBT
157 where SUBB.TEXT_KEY = SUBT.TEXT_KEY
158 and SUBB.LANG_CODE = SUBT.LANG_CODE
159 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
160 and (SUBB.TOKEN_DESC <> SUBT.TOKEN_DESC
161 ));
162
163 insert into SY_TEXT_TKN_TL (
164 TEXT_KEY,
165 LANG_CODE,
166 TEXT_CODE,
167 TOKEN_DESC,
168 CREATION_DATE,
169 CREATED_BY,
170 LAST_UPDATE_DATE,
171 LAST_UPDATED_BY,
172 LAST_UPDATE_LOGIN,
173 LANGUAGE,
174 SOURCE_LANG
175 ) select
176 B.TEXT_KEY,
177 B.LANG_CODE,
178 B.TEXT_CODE,
179 B.TOKEN_DESC,
180 B.CREATION_DATE,
181 B.CREATED_BY,
182 B.LAST_UPDATE_DATE,
183 B.LAST_UPDATED_BY,
184 B.LAST_UPDATE_LOGIN,
185 L.LANGUAGE_CODE,
186 B.SOURCE_LANG
187 from SY_TEXT_TKN_TL B, FND_LANGUAGES L
188 where L.INSTALLED_FLAG in ('I', 'B')
189 and B.LANGUAGE = userenv('LANG')
190 and not exists
191 (select NULL
192 from SY_TEXT_TKN_TL T
193 where T.TEXT_KEY = B.TEXT_KEY
194 and T.LANG_CODE = B.LANG_CODE
195 and T.LANGUAGE = L.LANGUAGE_CODE);
196 end ADD_LANGUAGE;
197
198
199 procedure TRANSLATE_ROW (
200 X_TEXT_KEY in VARCHAR2,
201 X_LANG_CODE in VARCHAR2,
202 X_TEXT_CODE in NUMBER,
203 X_TOKEN_DESC in VARCHAR2,
204 X_OWNER in VARCHAR2
205 ) IS
206 BEGIN
207
208 update SY_TEXT_TKN_TL set
209 TEXT_CODE = X_TEXT_CODE,
210 TOKEN_DESC = X_TOKEN_DESC,
211 SOURCE_LANG = userenv('LANG'),
212 LAST_UPDATE_DATE = sysdate,
213 LAST_UPDATED_BY = decode(X_OWNER,'SEED',1,0),
214 LAST_UPDATE_LOGIN = 0
215 where TEXT_KEY = X_TEXT_KEY
216 and LANG_CODE = X_LANG_CODE
217 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
218 end TRANSLATE_ROW;
219
220 procedure LOAD_ROW (
221 X_TEXT_KEY in VARCHAR2,
222 X_LANG_CODE in VARCHAR2,
223 X_TEXT_CODE in NUMBER,
224 X_TOKEN_DESC in VARCHAR2,
225 X_OWNER in VARCHAR2
226 ) IS
227 l_text_key number(10);
228 l_user_id number:=0;
229 l_row_id VARCHAR2(64);
230 BEGIN
231 IF (X_OWNER ='SEED') THEN
232 l_user_id :=1;
233 END IF;
234
235 SELECT text_key into l_text_key
236 FROM SY_TEXT_TKN_TL
237 WHERE TEXT_KEY = X_TEXT_KEY;
238
239
240 GMA_SY_TEXT_TKN_PKG.UPDATE_ROW ( X_TEXT_KEY => X_TEXT_KEY,
241 X_LANG_CODE => X_LANG_CODE,
242 X_TEXT_CODE => X_TEXT_CODE,
243 X_TOKEN_DESC => X_TOKEN_DESC,
244 X_LAST_UPDATE_DATE => sysdate,
245 X_LAST_UPDATED_BY => l_user_id,
246 X_LAST_UPDATE_LOGIN => 0
247 );
248
249
250
251
252 EXCEPTION
253 WHEN NO_DATA_FOUND THEN
254
255
256 GMA_SY_TEXT_TKN_PKG.INSERT_ROW ( X_ROWID => l_row_id,
257 X_TEXT_KEY => X_TEXT_KEY,
258 X_LANG_CODE => X_LANG_CODE,
259 X_TEXT_CODE => X_TEXT_CODE,
260 X_TOKEN_DESC => X_TOKEN_DESC,
261 X_CREATION_DATE => sysdate,
262 X_CREATED_BY => l_user_id,
263 X_LAST_UPDATE_DATE => sysdate,
264 X_LAST_UPDATED_BY => l_user_id,
265 X_LAST_UPDATE_LOGIN => 0
266 );
267 END LOAD_ROW;
268
269
270
271
272 end GMA_SY_TEXT_TKN_PKG;