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