[Home] [Help]
PACKAGE BODY: APPS.CSI_COUNTER_TEMPLATE_PKG
Source
1 PACKAGE BODY CSI_COUNTER_TEMPLATE_PKG as
2 /* $Header: csitcttb.pls 120.3 2008/04/02 22:00:06 devijay ship $*/
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'CSI_COUNTER_TEMPLATE_PKG';
5 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csitcttb.pls';
6
7 PROCEDURE Insert_Row(
8 px_COUNTER_ID IN OUT NOCOPY NUMBER
9 ,p_GROUP_ID NUMBER
10 ,p_COUNTER_TYPE VARCHAR2
11 ,p_INITIAL_READING NUMBER
12 ,p_INITIAL_READING_DATE DATE
13 ,p_TOLERANCE_PLUS NUMBER
14 ,p_TOLERANCE_MINUS NUMBER
15 ,p_UOM_CODE VARCHAR2
16 ,p_DERIVE_COUNTER_ID NUMBER
17 ,p_DERIVE_FUNCTION VARCHAR2
18 ,p_DERIVE_PROPERTY_ID NUMBER
19 ,p_VALID_FLAG VARCHAR2
20 ,p_FORMULA_INCOMPLETE_FLAG VARCHAR2
21 ,p_FORMULA_TEXT VARCHAR2
22 ,p_ROLLOVER_LAST_READING NUMBER
23 ,p_ROLLOVER_FIRST_READING NUMBER
24 ,p_USAGE_ITEM_ID NUMBER
25 ,p_CTR_VAL_MAX_SEQ_NO NUMBER
26 ,p_START_DATE_ACTIVE DATE
27 ,p_END_DATE_ACTIVE DATE
28 ,p_OBJECT_VERSION_NUMBER NUMBER
29 ,p_SECURITY_GROUP_ID NUMBER
30 ,p_LAST_UPDATE_DATE DATE
31 ,p_LAST_UPDATED_BY NUMBER
32 ,p_CREATION_DATE DATE
33 ,p_CREATED_BY NUMBER
34 ,p_LAST_UPDATE_LOGIN NUMBER
35 ,p_ATTRIBUTE1 VARCHAR2
36 ,p_ATTRIBUTE2 VARCHAR2
37 ,p_ATTRIBUTE3 VARCHAR2
38 ,p_ATTRIBUTE4 VARCHAR2
39 ,p_ATTRIBUTE5 VARCHAR2
40 ,p_ATTRIBUTE6 VARCHAR2
41 ,p_ATTRIBUTE7 VARCHAR2
42 ,p_ATTRIBUTE8 VARCHAR2
43 ,p_ATTRIBUTE9 VARCHAR2
44 ,p_ATTRIBUTE10 VARCHAR2
45 ,p_ATTRIBUTE11 VARCHAR2
46 ,p_ATTRIBUTE12 VARCHAR2
47 ,p_ATTRIBUTE13 VARCHAR2
48 ,p_ATTRIBUTE14 VARCHAR2
49 ,p_ATTRIBUTE15 VARCHAR2
50 ,p_ATTRIBUTE16 VARCHAR2
51 ,p_ATTRIBUTE17 VARCHAR2
52 ,p_ATTRIBUTE18 VARCHAR2
53 ,p_ATTRIBUTE19 VARCHAR2
54 ,p_ATTRIBUTE20 VARCHAR2
55 ,p_ATTRIBUTE21 VARCHAR2
56 ,p_ATTRIBUTE22 VARCHAR2
57 ,p_ATTRIBUTE23 VARCHAR2
58 ,p_ATTRIBUTE24 VARCHAR2
59 ,p_ATTRIBUTE25 VARCHAR2
60 ,p_ATTRIBUTE26 VARCHAR2
61 ,p_ATTRIBUTE27 VARCHAR2
62 ,p_ATTRIBUTE28 VARCHAR2
63 ,p_ATTRIBUTE29 VARCHAR2
64 ,p_ATTRIBUTE30 VARCHAR2
65 ,p_ATTRIBUTE_CATEGORY VARCHAR2
66 ,p_MIGRATED_FLAG VARCHAR2
67 ,p_CUSTOMER_VIEW VARCHAR2
68 ,p_DIRECTION VARCHAR2
69 ,p_FILTER_TYPE VARCHAR2
70 ,p_FILTER_READING_COUNT NUMBER
71 ,p_FILTER_TIME_UOM VARCHAR2
72 ,p_ESTIMATION_ID NUMBER
73 ,p_ASSOCIATION_TYPE VARCHAR2
74 ,p_READING_TYPE NUMBER
75 ,p_AUTOMATIC_ROLLOVER VARCHAR2
76 ,p_DEFAULT_USAGE_RATE NUMBER
77 ,p_USE_PAST_READING NUMBER
78 ,p_USED_IN_SCHEDULING VARCHAR2
79 ,p_DEFAULTED_GROUP_ID NUMBER
80 ,p_STEP_VALUE NUMBER
81 ,p_NAME VARCHAR2
82 ,p_DESCRIPTION VARCHAR2
83 ,p_TIME_BASED_MANUAL_ENTRY VARCHAR2
84 ,p_EAM_REQUIRED_FLAG VARCHAR2
85 ) IS
86
87 CURSOR C1 IS
88 SELECT CSI_COUNTERS_B_S.nextval
89 FROM dual;
90 BEGIN
91 IF (px_COUNTER_ID IS NULL) OR (px_COUNTER_ID = FND_API.G_MISS_NUM) then
92 OPEN C1;
93 FETCH C1 INTO px_COUNTER_ID;
94 CLOSE C1;
95 END IF;
96
97 INSERT INTO CSI_COUNTER_TEMPLATE_B(
98 COUNTER_ID
99 ,GROUP_ID
100 ,COUNTER_TYPE
101 ,INITIAL_READING
102 ,INITIAL_READING_DATE
103 ,TOLERANCE_PLUS
104 ,TOLERANCE_MINUS
105 ,UOM_CODE
106 ,DERIVE_COUNTER_ID
107 ,DERIVE_FUNCTION
108 ,DERIVE_PROPERTY_ID
109 ,VALID_FLAG
110 ,FORMULA_INCOMPLETE_FLAG
111 ,FORMULA_TEXT
112 ,ROLLOVER_LAST_READING
113 ,ROLLOVER_FIRST_READING
114 ,USAGE_ITEM_ID
115 ,CTR_VAL_MAX_SEQ_NO
116 ,START_DATE_ACTIVE
117 ,END_DATE_ACTIVE
118 ,OBJECT_VERSION_NUMBER
119 ,SECURITY_GROUP_ID
120 ,LAST_UPDATE_DATE
121 ,LAST_UPDATED_BY
122 ,CREATION_DATE
123 ,CREATED_BY
124 ,LAST_UPDATE_LOGIN
125 ,ATTRIBUTE1
126 ,ATTRIBUTE2
127 ,ATTRIBUTE3
128 ,ATTRIBUTE4
129 ,ATTRIBUTE5
130 ,ATTRIBUTE6
131 ,ATTRIBUTE7
132 ,ATTRIBUTE8
133 ,ATTRIBUTE9
134 ,ATTRIBUTE10
135 ,ATTRIBUTE11
136 ,ATTRIBUTE12
137 ,ATTRIBUTE13
138 ,ATTRIBUTE14
139 ,ATTRIBUTE15
140 ,ATTRIBUTE16
141 ,ATTRIBUTE17
142 ,ATTRIBUTE18
143 ,ATTRIBUTE19
144 ,ATTRIBUTE20
145 ,ATTRIBUTE21
146 ,ATTRIBUTE22
147 ,ATTRIBUTE23
148 ,ATTRIBUTE24
149 ,ATTRIBUTE25
150 ,ATTRIBUTE26
151 ,ATTRIBUTE27
152 ,ATTRIBUTE28
153 ,ATTRIBUTE29
154 ,ATTRIBUTE30
155 ,ATTRIBUTE_CATEGORY
156 ,MIGRATED_FLAG
157 ,CUSTOMER_VIEW
158 ,DIRECTION
159 ,FILTER_TYPE
160 ,FILTER_READING_COUNT
161 ,FILTER_TIME_UOM
162 ,ESTIMATION_ID
163 ,ASSOCIATION_TYPE
164 ,READING_TYPE
165 ,AUTOMATIC_ROLLOVER
166 ,DEFAULT_USAGE_RATE
167 ,USE_PAST_READING
168 ,USED_IN_SCHEDULING
169 ,DEFAULTED_GROUP_ID
170 ,STEP_VALUE
171 ,TIME_BASED_MANUAL_ENTRY
172 ,EAM_REQUIRED_FLAG
173 )
174 VALUES(
175 px_COUNTER_ID
176 ,decode(p_GROUP_ID, FND_API.G_MISS_NUM, NULL,p_GROUP_ID)
177 ,decode(p_COUNTER_TYPE, FND_API.G_MISS_CHAR, NULL,p_COUNTER_TYPE)
178 ,decode(p_INITIAL_READING, FND_API.G_MISS_NUM, NULL,p_INITIAL_READING)
179 ,decode(p_INITIAL_READING_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL),p_INITIAL_READING_DATE)
180 ,decode(p_TOLERANCE_PLUS, FND_API.G_MISS_NUM, NULL,p_TOLERANCE_PLUS)
181 ,decode(p_TOLERANCE_MINUS, FND_API.G_MISS_NUM, NULL,p_TOLERANCE_MINUS)
182 ,decode(p_UOM_CODE, FND_API.G_MISS_CHAR, NULL,p_UOM_CODE)
183 ,decode(p_DERIVE_COUNTER_ID, FND_API.G_MISS_NUM, NULL,p_DERIVE_COUNTER_ID)
184 ,decode(p_DERIVE_FUNCTION, FND_API.G_MISS_CHAR, NULL,p_DERIVE_FUNCTION)
185 ,decode(p_DERIVE_PROPERTY_ID, FND_API.G_MISS_NUM, NULL,p_DERIVE_PROPERTY_ID)
186 ,decode(p_VALID_FLAG, FND_API.G_MISS_CHAR, NULL,p_VALID_FLAG)
187 ,decode(p_FORMULA_INCOMPLETE_FLAG, FND_API.G_MISS_CHAR, NULL,p_FORMULA_INCOMPLETE_FLAG)
188 ,decode(p_FORMULA_TEXT, FND_API.G_MISS_CHAR, NULL,p_FORMULA_TEXT)
189 ,decode(p_ROLLOVER_LAST_READING, FND_API.G_MISS_NUM, NULL,p_ROLLOVER_LAST_READING)
190 ,decode(p_ROLLOVER_FIRST_READING, FND_API.G_MISS_NUM, NULL,p_ROLLOVER_FIRST_READING)
191 ,decode(p_USAGE_ITEM_ID, FND_API.G_MISS_NUM, NULL,p_USAGE_ITEM_ID)
192 ,decode(p_CTR_VAL_MAX_SEQ_NO, FND_API.G_MISS_NUM, NULL,p_CTR_VAL_MAX_SEQ_NO)
193 ,decode(p_START_DATE_ACTIVE, FND_API.G_MISS_DATE, TO_DATE(NULL),p_START_DATE_ACTIVE)
194 ,decode(p_END_DATE_ACTIVE, FND_API.G_MISS_DATE, TO_DATE(NULL),p_END_DATE_ACTIVE)
195 ,decode(p_OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL,p_OBJECT_VERSION_NUMBER)
196 ,decode(p_SECURITY_GROUP_ID, FND_API.G_MISS_NUM, NULL,p_SECURITY_GROUP_ID)
197 ,decode(p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL),p_LAST_UPDATE_DATE)
198 ,decode(p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL,p_LAST_UPDATED_BY)
199 ,decode(p_CREATION_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL),p_CREATION_DATE)
200 ,decode(p_CREATED_BY, FND_API.G_MISS_NUM, NULL,p_CREATED_BY)
201 ,decode(p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL,p_LAST_UPDATE_LOGIN)
202 ,decode(p_ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE1)
203 ,decode(p_ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE2)
204 ,decode(p_ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE3)
205 ,decode(p_ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE4)
206 ,decode(p_ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE5)
207 ,decode(p_ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE6)
208 ,decode(p_ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE7)
209 ,decode(p_ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE8)
210 ,decode(p_ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE9)
211 ,decode(p_ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE10)
212 ,decode(p_ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE11)
213 ,decode(p_ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE12)
214 ,decode(p_ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE13)
215 ,decode(p_ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE14)
216 ,decode(p_ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE15)
217 ,decode(p_ATTRIBUTE16, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE16)
218 ,decode(p_ATTRIBUTE17, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE17)
219 ,decode(p_ATTRIBUTE18, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE18)
220 ,decode(p_ATTRIBUTE19, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE19)
221 ,decode(p_ATTRIBUTE20, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE20)
222 ,decode(p_ATTRIBUTE21, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE21)
223 ,decode(p_ATTRIBUTE22, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE22)
224 ,decode(p_ATTRIBUTE23, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE23)
225 ,decode(p_ATTRIBUTE24, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE24)
226 ,decode(p_ATTRIBUTE25, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE25)
227 ,decode(p_ATTRIBUTE26, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE26)
228 ,decode(p_ATTRIBUTE27, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE27)
229 ,decode(p_ATTRIBUTE28, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE28)
230 ,decode(p_ATTRIBUTE29, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE29)
231 ,decode(p_ATTRIBUTE30, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE30)
232 ,decode(p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL,p_ATTRIBUTE_CATEGORY)
233 ,decode(p_MIGRATED_FLAG, FND_API.G_MISS_CHAR, NULL,p_MIGRATED_FLAG)
234 ,decode(p_CUSTOMER_VIEW, FND_API.G_MISS_CHAR, NULL,p_CUSTOMER_VIEW)
235 ,decode(p_DIRECTION, FND_API.G_MISS_CHAR, NULL,p_DIRECTION)
236 ,decode(p_FILTER_TYPE, FND_API.G_MISS_CHAR, NULL,p_FILTER_TYPE)
237 ,decode(p_FILTER_READING_COUNT, FND_API.G_MISS_NUM, NULL,p_FILTER_READING_COUNT)
238 ,decode(p_FILTER_TIME_UOM, FND_API.G_MISS_CHAR, NULL,p_FILTER_TIME_UOM)
239 ,decode(p_ESTIMATION_ID, FND_API.G_MISS_NUM, NULL,p_ESTIMATION_ID)
240 ,decode(p_ASSOCIATION_TYPE, FND_API.G_MISS_CHAR, NULL,p_ASSOCIATION_TYPE)
241 ,decode(p_READING_TYPE, FND_API.G_MISS_NUM, NULL,p_READING_TYPE)
242 ,decode(p_AUTOMATIC_ROLLOVER, FND_API.G_MISS_CHAR, NULL,p_AUTOMATIC_ROLLOVER)
243 ,decode(p_DEFAULT_USAGE_RATE, FND_API.G_MISS_NUM, NULL,p_DEFAULT_USAGE_RATE)
244 ,decode(p_USE_PAST_READING, FND_API.G_MISS_NUM, NULL,p_USE_PAST_READING)
245 ,decode(p_USED_IN_SCHEDULING, FND_API.G_MISS_CHAR, NULL,p_USED_IN_SCHEDULING)
246 ,decode(p_DEFAULTED_GROUP_ID, FND_API.G_MISS_NUM, NULL,p_DEFAULTED_GROUP_ID)
247 ,decode(p_STEP_VALUE, FND_API.G_MISS_NUM, NULL,p_STEP_VALUE)
248 ,decode(p_TIME_BASED_MANUAL_ENTRY, FND_API.G_MISS_CHAR, NULL,p_TIME_BASED_MANUAL_ENTRY)
249 ,decode(p_EAM_REQUIRED_FLAG, FND_API.G_MISS_CHAR, NULL,p_EAM_REQUIRED_FLAG)
250 );
251
252 INSERT INTO CSI_COUNTER_TEMPLATE_TL(
253 COUNTER_ID
254 ,NAME
255 ,DESCRIPTION
256 ,LANGUAGE
257 ,SOURCE_LANG
258 ,CREATED_BY
259 ,CREATION_DATE
260 ,LAST_UPDATED_BY
261 ,LAST_UPDATE_DATE
262 ,LAST_UPDATE_LOGIN
263 )
264 SELECT px_counter_id
265 ,decode(p_name, fnd_api.g_miss_char, NULL, p_name)
266 ,decode(p_description, fnd_api.g_miss_char, NULL, p_description)
267 ,l.language_code
268 ,userenv('LANG')
269 ,decode(p_created_by, fnd_api.g_miss_num, NULL, p_created_by)
270 ,decode(p_creation_date, fnd_api.g_miss_date, to_date(NULL), p_creation_date)
271 ,decode(p_last_updated_by, fnd_api.g_miss_num, NULL, p_last_updated_by)
272 ,decode(p_last_update_date, fnd_api.g_miss_date, to_date(NULL), p_last_update_date)
273 ,decode(p_last_update_login, fnd_api.g_miss_num, NULL, p_last_update_login)
274 FROM fnd_languages l
275 WHERE l.installed_flag IN ('I','B')
276 AND NOT EXISTS (SELECT 'x'
277 FROM csi_counter_template_tl cct
278 WHERE cct.counter_id = px_counter_id
279 AND cct.language = l.language_code);
280 End Insert_Row;
281
282 PROCEDURE Update_Row(
283 p_COUNTER_ID NUMBER
284 ,p_GROUP_ID NUMBER
285 ,p_COUNTER_TYPE VARCHAR2
286 ,p_INITIAL_READING NUMBER
287 ,p_INITIAL_READING_DATE DATE
288 ,p_TOLERANCE_PLUS NUMBER
289 ,p_TOLERANCE_MINUS NUMBER
290 ,p_UOM_CODE VARCHAR2
291 ,p_DERIVE_COUNTER_ID NUMBER
292 ,p_DERIVE_FUNCTION VARCHAR2
293 ,p_DERIVE_PROPERTY_ID NUMBER
294 ,p_VALID_FLAG VARCHAR2
295 ,p_FORMULA_INCOMPLETE_FLAG VARCHAR2
296 ,p_FORMULA_TEXT VARCHAR2
297 ,p_ROLLOVER_LAST_READING NUMBER
298 ,p_ROLLOVER_FIRST_READING NUMBER
299 ,p_USAGE_ITEM_ID NUMBER
300 ,p_CTR_VAL_MAX_SEQ_NO NUMBER
301 ,p_START_DATE_ACTIVE DATE
302 ,p_END_DATE_ACTIVE DATE
303 ,p_OBJECT_VERSION_NUMBER NUMBER
304 ,p_SECURITY_GROUP_ID NUMBER
305 ,p_LAST_UPDATE_DATE DATE
306 ,p_LAST_UPDATED_BY NUMBER
307 ,p_CREATION_DATE DATE
308 ,p_CREATED_BY NUMBER
309 ,p_LAST_UPDATE_LOGIN NUMBER
310 ,p_ATTRIBUTE1 VARCHAR2
311 ,p_ATTRIBUTE2 VARCHAR2
312 ,p_ATTRIBUTE3 VARCHAR2
313 ,p_ATTRIBUTE4 VARCHAR2
314 ,p_ATTRIBUTE5 VARCHAR2
315 ,p_ATTRIBUTE6 VARCHAR2
316 ,p_ATTRIBUTE7 VARCHAR2
317 ,p_ATTRIBUTE8 VARCHAR2
318 ,p_ATTRIBUTE9 VARCHAR2
319 ,p_ATTRIBUTE10 VARCHAR2
320 ,p_ATTRIBUTE11 VARCHAR2
321 ,p_ATTRIBUTE12 VARCHAR2
322 ,p_ATTRIBUTE13 VARCHAR2
323 ,p_ATTRIBUTE14 VARCHAR2
324 ,p_ATTRIBUTE15 VARCHAR2
325 ,p_ATTRIBUTE16 VARCHAR2
326 ,p_ATTRIBUTE17 VARCHAR2
327 ,p_ATTRIBUTE18 VARCHAR2
328 ,p_ATTRIBUTE19 VARCHAR2
329 ,p_ATTRIBUTE20 VARCHAR2
330 ,p_ATTRIBUTE21 VARCHAR2
331 ,p_ATTRIBUTE22 VARCHAR2
332 ,p_ATTRIBUTE23 VARCHAR2
333 ,p_ATTRIBUTE24 VARCHAR2
334 ,p_ATTRIBUTE25 VARCHAR2
335 ,p_ATTRIBUTE26 VARCHAR2
336 ,p_ATTRIBUTE27 VARCHAR2
337 ,p_ATTRIBUTE28 VARCHAR2
338 ,p_ATTRIBUTE29 VARCHAR2
339 ,p_ATTRIBUTE30 VARCHAR2
340 ,p_ATTRIBUTE_CATEGORY VARCHAR2
341 ,p_MIGRATED_FLAG VARCHAR2
342 ,p_CUSTOMER_VIEW VARCHAR2
343 ,p_DIRECTION VARCHAR2
344 ,p_FILTER_TYPE VARCHAR2
345 ,p_FILTER_READING_COUNT NUMBER
346 ,p_FILTER_TIME_UOM VARCHAR2
347 ,p_ESTIMATION_ID NUMBER
348 ,p_ASSOCIATION_TYPE VARCHAR2
349 ,p_READING_TYPE NUMBER
350 ,p_AUTOMATIC_ROLLOVER VARCHAR2
351 ,p_DEFAULT_USAGE_RATE NUMBER
352 ,p_USE_PAST_READING NUMBER
353 ,p_USED_IN_SCHEDULING VARCHAR2
354 ,p_DEFAULTED_GROUP_ID NUMBER
355 ,p_STEP_VALUE NUMBER
356 ,p_NAME VARCHAR2
357 ,p_DESCRIPTION VARCHAR2
358 ,p_TIME_BASED_MANUAL_ENTRY VARCHAR2
359 ,p_EAM_REQUIRED_FLAG VARCHAR2) IS
360 BEGIN
361 UPDATE CSI_COUNTER_TEMPLATE_B
362 SET GROUP_ID = decode(p_GROUP_ID, NULL, GROUP_ID, FND_API.G_MISS_NUM, NULL, p_GROUP_ID)
363 ,COUNTER_TYPE = decode(p_COUNTER_TYPE, NULL, COUNTER_TYPE, FND_API.G_MISS_CHAR, NULL, p_COUNTER_TYPE)
367 ,TOLERANCE_MINUS = decode(p_TOLERANCE_MINUS, NULL, TOLERANCE_MINUS, FND_API.G_MISS_NUM, NULL, p_TOLERANCE_MINUS)
364 ,INITIAL_READING = decode(p_INITIAL_READING, NULL, INITIAL_READING, FND_API.G_MISS_NUM, NULL, p_INITIAL_READING)
365 ,INITIAL_READING_DATE = decode(p_INITIAL_READING_DATE, NULL, INITIAL_READING_DATE, FND_API.G_MISS_DATE, NULL, p_INITIAL_READING_DATE)
366 ,TOLERANCE_PLUS = decode(p_TOLERANCE_PLUS, NULL, TOLERANCE_PLUS, FND_API.G_MISS_NUM, NULL, p_TOLERANCE_PLUS)
368 ,UOM_CODE = decode(p_UOM_CODE, NULL, UOM_CODE, FND_API.G_MISS_CHAR, NULL, p_UOM_CODE)
369 ,DERIVE_COUNTER_ID = decode(p_DERIVE_COUNTER_ID, NULL, DERIVE_COUNTER_ID, FND_API.G_MISS_NUM, NULL, p_DERIVE_COUNTER_ID)
370 ,DERIVE_FUNCTION = decode(p_DERIVE_FUNCTION, NULL, DERIVE_FUNCTION, FND_API.G_MISS_CHAR, NULL, p_DERIVE_FUNCTION)
371 ,DERIVE_PROPERTY_ID = decode(p_DERIVE_PROPERTY_ID, NULL, DERIVE_PROPERTY_ID, FND_API.G_MISS_NUM, NULL, p_DERIVE_PROPERTY_ID)
372 ,VALID_FLAG = decode(p_VALID_FLAG, NULL, VALID_FLAG, FND_API.G_MISS_CHAR, NULL, p_VALID_FLAG)
373 ,FORMULA_INCOMPLETE_FLAG = decode(p_FORMULA_INCOMPLETE_FLAG, NULL, FORMULA_INCOMPLETE_FLAG, FND_API.G_MISS_CHAR, NULL, p_FORMULA_INCOMPLETE_FLAG)
374 ,FORMULA_TEXT = decode(p_FORMULA_TEXT, NULL, FORMULA_TEXT, FND_API.G_MISS_CHAR, NULL, p_FORMULA_TEXT)
375 ,ROLLOVER_LAST_READING = decode(p_ROLLOVER_LAST_READING, NULL, ROLLOVER_LAST_READING, FND_API.G_MISS_NUM, NULL, p_ROLLOVER_LAST_READING)
376 ,ROLLOVER_FIRST_READING = decode(p_ROLLOVER_FIRST_READING, NULL, ROLLOVER_FIRST_READING, FND_API.G_MISS_NUM, NULL, p_ROLLOVER_FIRST_READING)
377 ,USAGE_ITEM_ID = decode(p_USAGE_ITEM_ID, NULL, USAGE_ITEM_ID, FND_API.G_MISS_NUM, NULL, p_USAGE_ITEM_ID)
378 ,CTR_VAL_MAX_SEQ_NO = decode(p_CTR_VAL_MAX_SEQ_NO, NULL, CTR_VAL_MAX_SEQ_NO, FND_API.G_MISS_NUM, CTR_VAL_MAX_SEQ_NO, p_CTR_VAL_MAX_SEQ_NO)
379 ,START_DATE_ACTIVE = decode(p_START_DATE_ACTIVE, NULL, START_DATE_ACTIVE, FND_API.G_MISS_DATE, NULL, p_START_DATE_ACTIVE)
380 ,END_DATE_ACTIVE = decode(p_END_DATE_ACTIVE, NULL, END_DATE_ACTIVE, FND_API.G_MISS_DATE, NULL,p_END_DATE_ACTIVE)
381 ,OBJECT_VERSION_NUMBER = decode(p_OBJECT_VERSION_NUMBER, NULL, OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, NULL, p_OBJECT_VERSION_NUMBER)
382 ,SECURITY_GROUP_ID = decode(p_SECURITY_GROUP_ID, NULL, SECURITY_GROUP_ID, FND_API.G_MISS_NUM, NULL, p_SECURITY_GROUP_ID)
383 ,LAST_UPDATE_DATE = decode(p_LAST_UPDATE_DATE, NULL, LAST_UPDATE_DATE, FND_API.G_MISS_DATE, NULL,p_LAST_UPDATE_DATE)
384 ,LAST_UPDATED_BY = decode(p_LAST_UPDATED_BY, NULL,LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL,p_LAST_UPDATED_BY)
385 ,CREATION_DATE = decode(p_CREATION_DATE, NULL, CREATION_DATE, FND_API.G_MISS_DATE, CREATION_DATE, p_CREATION_DATE)
386 ,CREATED_BY = decode(p_CREATED_BY, NULL, CREATED_BY, FND_API.G_MISS_NUM, FND_GLOBAL.USER_ID, p_CREATED_BY)
387 ,LAST_UPDATE_LOGIN = decode(p_LAST_UPDATE_LOGIN, NULL,LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATE_LOGIN)
388 ,ATTRIBUTE1 = decode(p_ATTRIBUTE1, NULL, ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE1)
389 ,ATTRIBUTE2 = decode(p_ATTRIBUTE2, NULL, ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE2)
390 ,ATTRIBUTE3 = decode(p_ATTRIBUTE3, NULL, ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE3)
391 ,ATTRIBUTE4 = decode(p_ATTRIBUTE4, NULL, ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE4)
392 ,ATTRIBUTE5 = decode(p_ATTRIBUTE5, NULL, ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE5)
393 ,ATTRIBUTE6 = decode(p_ATTRIBUTE6, NULL, ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE6)
394 ,ATTRIBUTE7 = decode(p_ATTRIBUTE7, NULL, ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE7)
395 ,ATTRIBUTE8 = decode(p_ATTRIBUTE8, NULL, ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE8)
396 ,ATTRIBUTE9 = decode(p_ATTRIBUTE9, NULL, ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE9)
397 ,ATTRIBUTE10 = decode(p_ATTRIBUTE10, NULL, ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE10)
398 ,ATTRIBUTE11 = decode(p_ATTRIBUTE11, NULL, ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE11)
399 ,ATTRIBUTE12 = decode(p_ATTRIBUTE12, NULL, ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE12)
400 ,ATTRIBUTE13 = decode(p_ATTRIBUTE13, NULL, ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE13)
401 ,ATTRIBUTE14 = decode(p_ATTRIBUTE14, NULL, ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE14)
402 ,ATTRIBUTE15 = decode(p_ATTRIBUTE15, NULL, ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE15)
403 ,ATTRIBUTE16 = decode(p_ATTRIBUTE16, NULL, ATTRIBUTE16, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE16)
404 ,ATTRIBUTE17 = decode(p_ATTRIBUTE17, NULL, ATTRIBUTE17, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE17)
405 ,ATTRIBUTE18 = decode(p_ATTRIBUTE18, NULL, ATTRIBUTE18, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE18)
406 ,ATTRIBUTE19 = decode(p_ATTRIBUTE19, NULL, ATTRIBUTE19, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE19)
407 ,ATTRIBUTE20 = decode(p_ATTRIBUTE20, NULL, ATTRIBUTE20, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE20)
408 ,ATTRIBUTE21 = decode(p_ATTRIBUTE21, NULL, ATTRIBUTE21, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE21)
409 ,ATTRIBUTE22 = decode(p_ATTRIBUTE22, NULL, ATTRIBUTE22, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE22)
410 ,ATTRIBUTE23 = decode(p_ATTRIBUTE23, NULL, ATTRIBUTE23, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE23)
411 ,ATTRIBUTE24 = decode(p_ATTRIBUTE24, NULL, ATTRIBUTE24, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE24)
412 ,ATTRIBUTE25 = decode(p_ATTRIBUTE25, NULL, ATTRIBUTE25, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE25)
413 ,ATTRIBUTE26 = decode(p_ATTRIBUTE26, NULL, ATTRIBUTE26, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE26)
414 ,ATTRIBUTE27 = decode(p_ATTRIBUTE27, NULL, ATTRIBUTE27, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE27)
415 ,ATTRIBUTE28 = decode(p_ATTRIBUTE28, NULL, ATTRIBUTE28, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE28)
416 ,ATTRIBUTE29 = decode(p_ATTRIBUTE29, NULL, ATTRIBUTE29, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE29)
420 ,CUSTOMER_VIEW = decode(p_CUSTOMER_VIEW, NULL, CUSTOMER_VIEW, FND_API.G_MISS_CHAR,NULL, p_CUSTOMER_VIEW)
417 ,ATTRIBUTE30 = decode(p_ATTRIBUTE30, NULL, ATTRIBUTE30, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE30)
418 ,ATTRIBUTE_CATEGORY = decode(p_ATTRIBUTE_CATEGORY, NULL, ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE_CATEGORY)
419 ,MIGRATED_FLAG = decode(p_MIGRATED_FLAG, NULL, MIGRATED_FLAG, FND_API.G_MISS_CHAR, NULL, p_MIGRATED_FLAG)
421 ,DIRECTION = decode(p_DIRECTION, NULL, DIRECTION, FND_API.G_MISS_CHAR, NULL, p_DIRECTION)
422 ,FILTER_TYPE = decode(p_FILTER_TYPE, NULL, FILTER_TYPE, FND_API.G_MISS_CHAR, NULL, p_FILTER_TYPE)
423 ,FILTER_READING_COUNT = decode(p_FILTER_READING_COUNT, NULL, FILTER_READING_COUNT, FND_API.G_MISS_NUM,NULL, p_FILTER_READING_COUNT)
424 ,FILTER_TIME_UOM = decode(p_FILTER_TIME_UOM, NULL, FILTER_TIME_UOM, FND_API.G_MISS_CHAR, NULL, p_FILTER_TIME_UOM)
425 ,ESTIMATION_ID = decode(p_ESTIMATION_ID, NULL, ESTIMATION_ID, FND_API.G_MISS_NUM, NULL, p_ESTIMATION_ID)
426 ,ASSOCIATION_TYPE = decode(p_ASSOCIATION_TYPE, NULL, ASSOCIATION_TYPE, FND_API.G_MISS_CHAR, NULL, p_ASSOCIATION_TYPE)
427 ,READING_TYPE = decode(p_READING_TYPE, NULL, READING_TYPE, FND_API.G_MISS_NUM, NULL, p_READING_TYPE)
428 ,AUTOMATIC_ROLLOVER = decode(p_AUTOMATIC_ROLLOVER, NULL, AUTOMATIC_ROLLOVER, FND_API.G_MISS_CHAR,NULL, p_AUTOMATIC_ROLLOVER)
429 ,DEFAULT_USAGE_RATE = decode(p_DEFAULT_USAGE_RATE, NULL, DEFAULT_USAGE_RATE, FND_API.G_MISS_NUM,NULL, p_DEFAULT_USAGE_RATE)
430 ,USE_PAST_READING = decode(p_USE_PAST_READING, NULL, USE_PAST_READING, FND_API.G_MISS_NUM, NULL, p_USE_PAST_READING)
431 ,USED_IN_SCHEDULING = decode(p_USED_IN_SCHEDULING, NULL, USED_IN_SCHEDULING, FND_API.G_MISS_CHAR,NULL, p_USED_IN_SCHEDULING)
432 ,DEFAULTED_GROUP_ID = decode(p_DEFAULTED_GROUP_ID, NULL, DEFAULTED_GROUP_ID, FND_API.G_MISS_NUM, NULL, p_DEFAULTED_GROUP_ID)
433 ,STEP_VALUE = decode(p_STEP_VALUE, NULL, STEP_VALUE, FND_API.G_MISS_NUM, NULL, p_STEP_VALUE)
434 ,TIME_BASED_MANUAL_ENTRY = decode(p_TIME_BASED_MANUAL_ENTRY, NULL, TIME_BASED_MANUAL_ENTRY, FND_API.G_MISS_CHAR, NULL, p_TIME_BASED_MANUAL_ENTRY)
435 ,EAM_REQUIRED_FLAG = decode(p_EAM_REQUIRED_FLAG, NULL, EAM_REQUIRED_FLAG, FND_API.G_MISS_CHAR, NULL, p_EAM_REQUIRED_FLAG)
436 WHERE COUNTER_ID = p_COUNTER_ID;
437
438 UPDATE csi_counter_template_tl
439 SET source_lang = userenv('LANG'),
440 name = decode( p_name, NULL, name, fnd_api.g_miss_char, NULL, p_name),
441 description = decode( p_description, NULL, description, fnd_api.g_miss_char, NULL, p_description),
442 created_by = decode( p_created_by, NULL, created_by, fnd_api.g_miss_num, created_by, p_created_by),
443 creation_date = decode( p_creation_date, NULL, creation_date, fnd_api.g_miss_date, creation_date, p_creation_date),
444 last_updated_by = decode( p_last_updated_by, NULL, last_updated_by, fnd_api.g_miss_num, FND_GLOBAL.USER_ID, p_last_updated_by),
445 last_update_date = decode( p_last_update_date, NULL, last_update_date, fnd_api.g_miss_date, NULL, p_last_update_date),
446 last_update_login = decode( p_last_update_login, NULL, last_update_login, fnd_api.g_miss_num, FND_GLOBAL.USER_ID, p_last_update_login)
447 WHERE counter_id = p_counter_id
448 AND userenv('LANG') IN (LANGUAGE,SOURCE_LANG);
449
450 If (SQL%NOTFOUND) then
451 RAISE NO_DATA_FOUND;
452 End If;
453
454 END Update_Row;
455
456 PROCEDURE delete_row(p_COUNTER_ID NUMBER) IS
457 BEGIN
458 DELETE FROM CSI_COUNTER_TEMPLATE_B
459 WHERE COUNTER_ID = p_COUNTER_ID;
460 IF (SQL%NOTFOUND) then
461 RAISE NO_DATA_FOUND;
462 END IF;
463 END delete_row;
464
465 PROCEDURE lock_row(
466 p_COUNTER_ID NUMBER
467 ,p_GROUP_ID NUMBER
468 ,p_COUNTER_TYPE VARCHAR2
469 ,p_INITIAL_READING NUMBER
470 ,p_INITIAL_READING_DATE DATE
471 ,p_TOLERANCE_PLUS NUMBER
472 ,p_TOLERANCE_MINUS NUMBER
473 ,p_UOM_CODE VARCHAR2
474 ,p_DERIVE_COUNTER_ID NUMBER
475 ,p_DERIVE_FUNCTION VARCHAR2
476 ,p_DERIVE_PROPERTY_ID NUMBER
477 ,p_VALID_FLAG VARCHAR2
478 ,p_FORMULA_INCOMPLETE_FLAG VARCHAR2
479 ,p_FORMULA_TEXT VARCHAR2
480 ,p_ROLLOVER_LAST_READING NUMBER
481 ,p_ROLLOVER_FIRST_READING NUMBER
482 ,p_USAGE_ITEM_ID NUMBER
483 ,p_CTR_VAL_MAX_SEQ_NO NUMBER
484 ,p_START_DATE_ACTIVE DATE
485 ,p_END_DATE_ACTIVE DATE
486 ,p_OBJECT_VERSION_NUMBER NUMBER
487 ,p_SECURITY_GROUP_ID NUMBER
488 ,p_LAST_UPDATE_DATE DATE
489 ,p_LAST_UPDATED_BY NUMBER
490 ,p_CREATION_DATE DATE
491 ,p_CREATED_BY NUMBER
492 ,p_LAST_UPDATE_LOGIN NUMBER
493 ,p_ATTRIBUTE1 VARCHAR2
494 ,p_ATTRIBUTE2 VARCHAR2
495 ,p_ATTRIBUTE3 VARCHAR2
496 ,p_ATTRIBUTE4 VARCHAR2
497 ,p_ATTRIBUTE5 VARCHAR2
498 ,p_ATTRIBUTE6 VARCHAR2
499 ,p_ATTRIBUTE7 VARCHAR2
500 ,p_ATTRIBUTE8 VARCHAR2
501 ,p_ATTRIBUTE9 VARCHAR2
502 ,p_ATTRIBUTE10 VARCHAR2
503 ,p_ATTRIBUTE11 VARCHAR2
504 ,p_ATTRIBUTE12 VARCHAR2
505 ,p_ATTRIBUTE13 VARCHAR2
506 ,p_ATTRIBUTE14 VARCHAR2
507 ,p_ATTRIBUTE15 VARCHAR2
508 ,p_ATTRIBUTE16 VARCHAR2
509 ,p_ATTRIBUTE17 VARCHAR2
510 ,p_ATTRIBUTE18 VARCHAR2
511 ,p_ATTRIBUTE19 VARCHAR2
512 ,p_ATTRIBUTE20 VARCHAR2
513 ,p_ATTRIBUTE21 VARCHAR2
514 ,p_ATTRIBUTE22 VARCHAR2
515 ,p_ATTRIBUTE23 VARCHAR2
516 ,p_ATTRIBUTE24 VARCHAR2
517 ,p_ATTRIBUTE25 VARCHAR2
518 ,p_ATTRIBUTE26 VARCHAR2
519 ,p_ATTRIBUTE27 VARCHAR2
520 ,p_ATTRIBUTE28 VARCHAR2
521 ,p_ATTRIBUTE29 VARCHAR2
522 ,p_ATTRIBUTE30 VARCHAR2
523 ,p_ATTRIBUTE_CATEGORY VARCHAR2
524 ,p_MIGRATED_FLAG VARCHAR2
525 ,p_CUSTOMER_VIEW VARCHAR2
526 ,p_DIRECTION VARCHAR2
527 ,p_FILTER_TYPE VARCHAR2
528 ,p_FILTER_READING_COUNT NUMBER
529 ,p_FILTER_TIME_UOM VARCHAR2
530 ,p_ESTIMATION_ID NUMBER
531 ,p_ASSOCIATION_TYPE VARCHAR2
532 ,p_READING_TYPE NUMBER
533 ,p_AUTOMATIC_ROLLOVER VARCHAR2
534 ,p_DEFAULT_USAGE_RATE NUMBER
535 ,p_USE_PAST_READING NUMBER
536 ,p_USED_IN_SCHEDULING VARCHAR2
537 ,p_DEFAULTED_GROUP_ID NUMBER
538 ,p_STEP_VALUE NUMBER
539 ,p_NAME VARCHAR2
540 ,p_DESCRIPTION VARCHAR2
541 ,p_TIME_BASED_MANUAL_ENTRY VARCHAR2
542 ,p_EAM_REQUIRED_FLAG VARCHAR2) IS
543
544 CURSOR C1 IS
545 SELECT *
546 FROM CSI_COUNTER_TEMPLATE_B
547 WHERE COUNTER_ID = p_COUNTER_ID
548 FOR UPDATE of COUNTER_ID NOWAIT;
549 Recinfo C1%ROWTYPE;
550
551 CURSOR c2 IS
552 SELECT name,
553 description,
554 decode(language, userenv('LANG'), 'Y', 'N') baselang
555 FROM csi_counter_template_tl
556 WHERE counter_id = p_counter_id
557 AND userenv('LANG') IN (LANGUAGE, SOURCE_LANG)
558 FOR UPDATE OF counter_id NOWAIT;
559 BEGIN
560 OPEN c1;
561 FETCH c1 INTO recinfo;
562 IF (c1%notfound) THEN
563 CLOSE c1;
564 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
565 app_exception.raise_exception;
566 END IF;
567 CLOSE c1;
568
569
570 IF (recinfo.object_version_number=p_object_version_number)
571 THEN
572 RETURN;
573 ELSE
574 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
575 app_exception.raise_exception;
576 END IF;
577
578 FOR tlinfo IN c2 LOOP
579 IF (tlinfo.baselang = 'Y') THEN
580 IF ( (tlinfo.name = p_name)
581 AND ((tlinfo.description = p_description)
582 OR ((tlinfo.description IS NULL) AND (p_description IS NULL)))
583 ) THEN
584 NULL;
585 ELSE
586 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
587 app_exception.raise_exception;
588 END IF;
589 END IF;
590 END LOOP;
591 RETURN;
592 END lock_row;
593
594 PROCEDURE add_language IS
595 BEGIN
596 DELETE FROM csi_counter_template_tl t
597 WHERE NOT EXISTS (SELECT NULL
598 FROM csi_counter_template_b b
599 WHERE b.counter_id = t.counter_id);
600
601 UPDATE csi_counter_template_tl t
602 SET (name,description) = (SELECT b.name,
603 b.description
604 FROM csi_counter_template_tl b
605 WHERE b.counter_id = t.counter_id
606 AND b.language = t.source_lang)
607 WHERE (t.counter_id,t.language) IN (SELECT subt.counter_id,
608 subt.language
609 FROM csi_counter_template_tl subb, csi_counter_template_tl subt
610 WHERE subb.counter_id = subt.counter_id
611 AND subb.language = subt.source_lang
612 AND (subb.name <> subt.name
613 OR subb.description <> subt.description
614 OR (subb.description IS NULL AND subt.description IS NOT NULL)
615 OR (subb.description iS NOT NULL AND subt.description IS NULL)
616 )
617 );
618
619 INSERT INTO csi_counter_template_tl(
620 counter_id,
621 name,
622 description,
623 last_update_date,
624 last_updated_by,
625 creation_date,
626 created_by,
627 last_update_login,
628 language,
629 source_lang
630 )
631 SELECT b.counter_id,
632 b.name,
633 b.description,
634 b.last_update_date,
635 b.last_updated_by,
636 b.creation_date,
637 b.created_by,
638 b.last_update_login,
639 l.language_code,
640 b.source_lang
641 FROM csi_counter_template_tl b, fnd_languages l
642 WHERE l.installed_flag in ('I', 'B')
643 AND b.language = userenv('LANG')
644 AND NOT EXISTS (SELECT NULL
645 FROM csi_counter_template_tl t
646 WHERE t.counter_id = b.counter_id
647 AND t.language = l.language_code);
648 END add_language;
649
650 PROCEDURE translate_row (
651 p_counter_id IN NUMBER,
652 p_name IN VARCHAR2,
653 p_description IN VARCHAR2,
654 p_owner IN VARCHAR2) IS
655 BEGIN
656 UPDATE csi_counter_template_tl
657 SET name = p_name,
658 description = p_description,
659 last_update_date = sysdate,
660 last_updated_by = decode(p_owner, 'SEED', 1, 0),
661 last_update_login = 0,
662 source_lang = userenv('LANG')
663 WHERE counter_id = p_counter_id
664 AND userenv('LANG') IN (language, source_lang);
665 END translate_row;
666
667 End CSI_COUNTER_TEMPLATE_PKG;