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