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