DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMA_SY_PARA_CDS_PKG

Source


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