[Home] [Help]
PACKAGE BODY: APPS.CSP_FORECAST_RULES_B_PKG
Source
1 PACKAGE BODY CSP_FORECAST_RULES_B_PKG as
2 /* $Header: csptpfrb.pls 115.8 2003/05/29 20:31:19 sunarasi ship $ */
3 -- Start of Comments
4 -- Package name : CSP_FORECAST_RULES_B_PKG
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSP_FORECAST_RULES_B_PKG';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csptpfrb.pls';
13
14 PROCEDURE Insert_Row(
15 px_FORECAST_RULE_ID IN OUT NOCOPY NUMBER,
16 p_CREATED_BY NUMBER,
17 p_CREATION_DATE DATE,
18 p_LAST_UPDATED_BY NUMBER,
19 p_LAST_UPDATE_DATE DATE,
20 p_LAST_UPDATE_LOGIN NUMBER,
21 p_FORECAST_RULE_NAME VARCHAR2,
22 p_PERIOD_TYPE VARCHAR2,
23 p_PERIOD_SIZE NUMBER,
24 p_FORECAST_PERIODS NUMBER,
25 p_FORECAST_METHOD VARCHAR2,
26 p_HISTORY_PERIODS NUMBER,
27 p_ALPHA NUMBER,
28 p_BETA NUMBER,
29 p_TRACKING_SIGNAL_CYCLE NUMBER,
30 p_WEIGHTED_AVG_PERIOD1 NUMBER,
31 p_WEIGHTED_AVG_PERIOD2 NUMBER,
32 p_WEIGHTED_AVG_PERIOD3 NUMBER,
33 p_WEIGHTED_AVG_PERIOD4 NUMBER,
34 p_WEIGHTED_AVG_PERIOD5 NUMBER,
35 p_WEIGHTED_AVG_PERIOD6 NUMBER,
36 p_WEIGHTED_AVG_PERIOD7 NUMBER,
37 p_WEIGHTED_AVG_PERIOD8 NUMBER,
38 p_WEIGHTED_AVG_PERIOD9 NUMBER,
39 p_WEIGHTED_AVG_PERIOD10 NUMBER,
40 p_WEIGHTED_AVG_PERIOD11 NUMBER,
41 p_WEIGHTED_AVG_PERIOD12 NUMBER,
42 p_ATTRIBUTE_CATEGORY VARCHAR2,
43 p_ATTRIBUTE1 VARCHAR2,
44 p_ATTRIBUTE2 VARCHAR2,
45 p_ATTRIBUTE3 VARCHAR2,
46 p_ATTRIBUTE4 VARCHAR2,
47 p_ATTRIBUTE5 VARCHAR2,
48 p_ATTRIBUTE6 VARCHAR2,
49 p_ATTRIBUTE7 VARCHAR2,
50 p_ATTRIBUTE8 VARCHAR2,
51 p_ATTRIBUTE9 VARCHAR2,
52 p_ATTRIBUTE10 VARCHAR2,
53 p_ATTRIBUTE11 VARCHAR2,
54 p_ATTRIBUTE12 VARCHAR2,
55 p_ATTRIBUTE13 VARCHAR2,
56 p_ATTRIBUTE14 VARCHAR2,
57 p_ATTRIBUTE15 VARCHAR2,
58 p_DESCRIPTION VARCHAR2)
59
60
61 IS
62 CURSOR C2 IS SELECT CSP_FORECAST_RULES_B_S1.nextval FROM sys.dual;
63 BEGIN
64 If (px_FORECAST_RULE_ID IS NULL) OR (px_FORECAST_RULE_ID = FND_API.G_MISS_NUM) then
65 OPEN C2;
66 FETCH C2 INTO px_FORECAST_RULE_ID;
67 CLOSE C2;
68 End If;
69 INSERT INTO CSP_FORECAST_RULES_B(
70 FORECAST_RULE_ID,
71 CREATED_BY,
72 CREATION_DATE,
73 LAST_UPDATED_BY,
74 LAST_UPDATE_DATE,
75 LAST_UPDATE_LOGIN,
76 FORECAST_RULE_NAME,
77 PERIOD_TYPE,
78 PERIOD_SIZE,
79 FORECAST_PERIODS,
80 FORECAST_METHOD,
81 HISTORY_PERIODS,
82 ALPHA,
83 BETA,
84 TRACKING_SIGNAL_CYCLE,
85 WEIGHTED_AVG_PERIOD1,
86 WEIGHTED_AVG_PERIOD2,
87 WEIGHTED_AVG_PERIOD3,
88 WEIGHTED_AVG_PERIOD4,
89 WEIGHTED_AVG_PERIOD5,
90 WEIGHTED_AVG_PERIOD6,
91 WEIGHTED_AVG_PERIOD7,
92 WEIGHTED_AVG_PERIOD8,
93 WEIGHTED_AVG_PERIOD9,
94 WEIGHTED_AVG_PERIOD10,
95 WEIGHTED_AVG_PERIOD11,
96 WEIGHTED_AVG_PERIOD12,
97 ATTRIBUTE_CATEGORY,
98 ATTRIBUTE1,
99 ATTRIBUTE2,
100 ATTRIBUTE3,
101 ATTRIBUTE4,
102 ATTRIBUTE5,
103 ATTRIBUTE6,
104 ATTRIBUTE7,
105 ATTRIBUTE8,
106 ATTRIBUTE9,
107 ATTRIBUTE10,
108 ATTRIBUTE11,
109 ATTRIBUTE12,
110 ATTRIBUTE13,
111 ATTRIBUTE14,
112 ATTRIBUTE15
113 ) VALUES (
114 px_FORECAST_RULE_ID,
115 decode( p_CREATED_BY, FND_API.G_MISS_NUM, NULL, p_CREATED_BY),
116 decode(p_CREATION_DATE,fnd_api.g_miss_date,to_date(null),p_creation_date),
117 decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATED_BY),
118 decode(p_last_update_date,fnd_api.g_miss_date,to_date(null),p_last_update_date),
119 decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATE_LOGIN),
120 decode( p_FORECAST_RULE_NAME, FND_API.G_MISS_CHAR, NULL, p_FORECAST_RULE_NAME),
121 decode( p_PERIOD_TYPE, FND_API.G_MISS_CHAR, NULL, p_PERIOD_TYPE),
122 decode( p_PERIOD_SIZE, FND_API.G_MISS_NUM, NULL, p_PERIOD_SIZE),
123 decode( p_FORECAST_PERIODS, FND_API.G_MISS_NUM, NULL, p_FORECAST_PERIODS),
124 decode( p_FORECAST_METHOD, FND_API.G_MISS_CHAR, NULL, p_FORECAST_METHOD),
125 decode( p_HISTORY_PERIODS, FND_API.G_MISS_NUM, NULL, p_HISTORY_PERIODS),
126 decode( p_ALPHA, FND_API.G_MISS_NUM, NULL, p_ALPHA),
127 decode( p_BETA, FND_API.G_MISS_NUM, NULL, p_BETA),
128 decode( p_TRACKING_SIGNAL_CYCLE, FND_API.G_MISS_NUM, NULL, p_TRACKING_SIGNAL_CYCLE),
129 decode( p_WEIGHTED_AVG_PERIOD1, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_AVG_PERIOD1),
130 decode( p_WEIGHTED_AVG_PERIOD2, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_AVG_PERIOD2),
131 decode( p_WEIGHTED_AVG_PERIOD3, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_AVG_PERIOD3),
132 decode( p_WEIGHTED_AVG_PERIOD4, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_AVG_PERIOD4),
133 decode( p_WEIGHTED_AVG_PERIOD5, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_AVG_PERIOD5),
134 decode( p_WEIGHTED_AVG_PERIOD6, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_AVG_PERIOD6),
135 decode( p_WEIGHTED_AVG_PERIOD7, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_AVG_PERIOD7),
136 decode( p_WEIGHTED_AVG_PERIOD8, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_AVG_PERIOD8),
137 decode( p_WEIGHTED_AVG_PERIOD9, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_AVG_PERIOD9),
138 decode( p_WEIGHTED_AVG_PERIOD10, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_AVG_PERIOD10),
139 decode( p_WEIGHTED_AVG_PERIOD11, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_AVG_PERIOD11),
140 decode( p_WEIGHTED_AVG_PERIOD12, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_AVG_PERIOD12),
141 decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE_CATEGORY),
142 decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE1),
143 decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE2),
144 decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE3),
145 decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE4),
146 decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE5),
147 decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE6),
148 decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE7),
149 decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE8),
150 decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE9),
151 decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE10),
152 decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE11),
153 decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE12),
154 decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE13),
155 decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE14),
156 decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE15));
157
158 insert into CSP_FORECAST_RULES_TL (
159 FORECAST_RULE_ID,
160 CREATED_BY,
161 CREATION_DATE,
162 LAST_UPDATED_BY,
163 LAST_UPDATE_DATE,
164 LAST_UPDATE_LOGIN,
165 DESCRIPTION,
166 LANGUAGE,
167 SOURCE_LANG
168 ) select
169 pX_FORECAST_RULE_ID,
170 p_CREATED_BY,
171 p_CREATION_DATE,
172 p_LAST_UPDATED_BY,
173 p_last_update_DATE,
174 p_LAST_UPDATE_LOGIN,
175 p_DESCRIPTION,
176 L.LANGUAGE_CODE,
177 userenv('LANG')
178 from FND_LANGUAGES L
179 where L.INSTALLED_FLAG in ('I', 'B')
180 and not exists
181 (select NULL
182 from CSP_FORECAST_RULES_TL T
183 where T.FORECAST_RULE_ID = pX_FORECAST_RULE_ID
184 and T.LANGUAGE = L.LANGUAGE_CODE);
185
186 End Insert_Row;
187
188 PROCEDURE Update_Row(
189 p_FORECAST_RULE_ID NUMBER,
190 p_CREATED_BY NUMBER,
191 p_CREATION_DATE DATE,
192 p_LAST_UPDATED_BY NUMBER,
193 p_LAST_UPDATE_DATE DATE,
194 p_LAST_UPDATE_LOGIN NUMBER,
195 p_FORECAST_RULE_NAME VARCHAR2,
196 p_PERIOD_TYPE VARCHAR2,
197 p_PERIOD_SIZE NUMBER,
198 p_FORECAST_PERIODS NUMBER,
199 p_FORECAST_METHOD VARCHAR2,
200 p_HISTORY_PERIODS NUMBER,
201 p_ALPHA NUMBER,
202 p_BETA NUMBER,
203 p_TRACKING_SIGNAL_CYCLE NUMBER,
204 p_WEIGHTED_AVG_PERIOD1 NUMBER,
205 p_WEIGHTED_AVG_PERIOD2 NUMBER,
206 p_WEIGHTED_AVG_PERIOD3 NUMBER,
207 p_WEIGHTED_AVG_PERIOD4 NUMBER,
208 p_WEIGHTED_AVG_PERIOD5 NUMBER,
209 p_WEIGHTED_AVG_PERIOD6 NUMBER,
210 p_WEIGHTED_AVG_PERIOD7 NUMBER,
211 p_WEIGHTED_AVG_PERIOD8 NUMBER,
212 p_WEIGHTED_AVG_PERIOD9 NUMBER,
213 p_WEIGHTED_AVG_PERIOD10 NUMBER,
214 p_WEIGHTED_AVG_PERIOD11 NUMBER,
215 p_WEIGHTED_AVG_PERIOD12 NUMBER,
216 p_ATTRIBUTE_CATEGORY VARCHAR2,
217 p_ATTRIBUTE1 VARCHAR2,
218 p_ATTRIBUTE2 VARCHAR2,
219 p_ATTRIBUTE3 VARCHAR2,
220 p_ATTRIBUTE4 VARCHAR2,
221 p_ATTRIBUTE5 VARCHAR2,
222 p_ATTRIBUTE6 VARCHAR2,
223 p_ATTRIBUTE7 VARCHAR2,
224 p_ATTRIBUTE8 VARCHAR2,
225 p_ATTRIBUTE9 VARCHAR2,
226 p_ATTRIBUTE10 VARCHAR2,
227 p_ATTRIBUTE11 VARCHAR2,
228 p_ATTRIBUTE12 VARCHAR2,
229 p_ATTRIBUTE13 VARCHAR2,
230 p_ATTRIBUTE14 VARCHAR2,
231 p_ATTRIBUTE15 VARCHAR2,
232 p_DESCRIPTION VARCHAR2)
233
234 IS
235 BEGIN
236 Update CSP_FORECAST_RULES_B
237 SET
238 CREATED_BY = decode( p_CREATED_BY, FND_API.G_MISS_NUM, CREATED_BY, p_CREATED_BY),
239 CREATION_DATE = decode(p_CREATION_DATE,fnd_api.g_miss_date,creation_date,p_creation_date),
240 LAST_UPDATED_BY = decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, LAST_UPDATED_BY, p_LAST_UPDATED_BY),
241 LAST_UPDATE_DATE = decode(p_last_update_DATE,fnd_api.g_miss_date,last_update_date,p_last_update_date),
242 LAST_UPDATE_LOGIN = decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, LAST_UPDATE_LOGIN, p_LAST_UPDATE_LOGIN),
243 FORECAST_RULE_NAME = decode( p_FORECAST_RULE_NAME, FND_API.G_MISS_CHAR, FORECAST_RULE_NAME, p_FORECAST_RULE_NAME),
244 PERIOD_TYPE = decode( p_PERIOD_TYPE, FND_API.G_MISS_CHAR, PERIOD_TYPE, p_PERIOD_TYPE),
245 PERIOD_SIZE = decode( p_PERIOD_SIZE, FND_API.G_MISS_NUM, PERIOD_SIZE, p_PERIOD_SIZE),
246 FORECAST_PERIODS = decode( p_FORECAST_PERIODS, FND_API.G_MISS_NUM, FORECAST_PERIODS, p_FORECAST_PERIODS),
247 FORECAST_METHOD = decode( p_FORECAST_METHOD, FND_API.G_MISS_CHAR, FORECAST_METHOD, p_FORECAST_METHOD),
248 HISTORY_PERIODS = decode( p_HISTORY_PERIODS, FND_API.G_MISS_NUM, HISTORY_PERIODS, p_HISTORY_PERIODS),
249 ALPHA = decode( p_ALPHA, FND_API.G_MISS_NUM, ALPHA, p_ALPHA),
250 BETA = decode( p_BETA, FND_API.G_MISS_NUM, BETA, p_BETA),
251 TRACKING_SIGNAL_CYCLE = decode( p_TRACKING_SIGNAL_CYCLE, FND_API.G_MISS_NUM, TRACKING_SIGNAL_CYCLE, p_TRACKING_SIGNAL_CYCLE),
252 WEIGHTED_AVG_PERIOD1 = decode( p_WEIGHTED_AVG_PERIOD1, FND_API.G_MISS_NUM, WEIGHTED_AVG_PERIOD1, p_WEIGHTED_AVG_PERIOD1),
253 WEIGHTED_AVG_PERIOD2 = decode( p_WEIGHTED_AVG_PERIOD2, FND_API.G_MISS_NUM, WEIGHTED_AVG_PERIOD2, p_WEIGHTED_AVG_PERIOD2),
254 WEIGHTED_AVG_PERIOD3 = decode( p_WEIGHTED_AVG_PERIOD3, FND_API.G_MISS_NUM, WEIGHTED_AVG_PERIOD3, p_WEIGHTED_AVG_PERIOD3),
255 WEIGHTED_AVG_PERIOD4 = decode( p_WEIGHTED_AVG_PERIOD4, FND_API.G_MISS_NUM, WEIGHTED_AVG_PERIOD4, p_WEIGHTED_AVG_PERIOD4),
256 WEIGHTED_AVG_PERIOD5 = decode( p_WEIGHTED_AVG_PERIOD5, FND_API.G_MISS_NUM, WEIGHTED_AVG_PERIOD5, p_WEIGHTED_AVG_PERIOD5),
257 WEIGHTED_AVG_PERIOD6 = decode( p_WEIGHTED_AVG_PERIOD6, FND_API.G_MISS_NUM, WEIGHTED_AVG_PERIOD6, p_WEIGHTED_AVG_PERIOD6),
258 WEIGHTED_AVG_PERIOD7 = decode( p_WEIGHTED_AVG_PERIOD7, FND_API.G_MISS_NUM, WEIGHTED_AVG_PERIOD7, p_WEIGHTED_AVG_PERIOD7),
259 WEIGHTED_AVG_PERIOD8 = decode( p_WEIGHTED_AVG_PERIOD8, FND_API.G_MISS_NUM, WEIGHTED_AVG_PERIOD8, p_WEIGHTED_AVG_PERIOD8),
260 WEIGHTED_AVG_PERIOD9 = decode( p_WEIGHTED_AVG_PERIOD9, FND_API.G_MISS_NUM, WEIGHTED_AVG_PERIOD9, p_WEIGHTED_AVG_PERIOD9),
261 WEIGHTED_AVG_PERIOD10 = decode( p_WEIGHTED_AVG_PERIOD10, FND_API.G_MISS_NUM, WEIGHTED_AVG_PERIOD10, p_WEIGHTED_AVG_PERIOD10),
262 WEIGHTED_AVG_PERIOD11 = decode( p_WEIGHTED_AVG_PERIOD11, FND_API.G_MISS_NUM, WEIGHTED_AVG_PERIOD11, p_WEIGHTED_AVG_PERIOD11),
263 WEIGHTED_AVG_PERIOD12 = decode( p_WEIGHTED_AVG_PERIOD12, FND_API.G_MISS_NUM, WEIGHTED_AVG_PERIOD12, p_WEIGHTED_AVG_PERIOD12),
264 ATTRIBUTE_CATEGORY = decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, ATTRIBUTE_CATEGORY, p_ATTRIBUTE_CATEGORY),
265 ATTRIBUTE1 = decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, ATTRIBUTE1, p_ATTRIBUTE1),
266 ATTRIBUTE2 = decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, ATTRIBUTE2, p_ATTRIBUTE2),
267 ATTRIBUTE3 = decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, ATTRIBUTE3, p_ATTRIBUTE3),
268 ATTRIBUTE4 = decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, ATTRIBUTE4, p_ATTRIBUTE4),
269 ATTRIBUTE5 = decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, ATTRIBUTE5, p_ATTRIBUTE5),
270 ATTRIBUTE6 = decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, ATTRIBUTE6, p_ATTRIBUTE6),
271 ATTRIBUTE7 = decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, ATTRIBUTE7, p_ATTRIBUTE7),
272 ATTRIBUTE8 = decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, ATTRIBUTE8, p_ATTRIBUTE8),
273 ATTRIBUTE9 = decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, ATTRIBUTE9, p_ATTRIBUTE9),
274 ATTRIBUTE10 = decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, ATTRIBUTE10, p_ATTRIBUTE10),
275 ATTRIBUTE11 = decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, ATTRIBUTE11, p_ATTRIBUTE11),
276 ATTRIBUTE12 = decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, ATTRIBUTE12, p_ATTRIBUTE12),
277 ATTRIBUTE13 = decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, ATTRIBUTE13, p_ATTRIBUTE13),
278 ATTRIBUTE14 = decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, ATTRIBUTE14, p_ATTRIBUTE14),
282 if (sql%notfound) then
279 ATTRIBUTE15 = decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, ATTRIBUTE15, p_ATTRIBUTE15)
280 where FORECAST_RULE_ID = p_FORECAST_RULE_ID;
281
283 raise no_data_found;
284 end if;
285
286 update CSP_FORECAST_RULES_TL set
287 DESCRIPTION = p_DESCRIPTION,
288 LAST_UPDATE_DATE = p_last_update_DATE,
289 LAST_UPDATED_BY = p_LAST_UPDATED_BY,
290 LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN,
291 SOURCE_LANG = userenv('LANG')
292 where FORECAST_RULE_ID = p_FORECAST_RULE_ID
293 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
294
295 if (sql%notfound) then
296 raise no_data_found;
297 end if;
298
299
300 END Update_Row;
301
302 PROCEDURE Delete_Row(
303 p_FORECAST_RULE_ID NUMBER)
304 IS
305 BEGIN
306 delete from CSP_FORECAST_RULES_TL
307 where FORECAST_RULE_ID = p_FORECAST_RULE_ID;
308
309 if (sql%notfound) then
310 raise no_data_found;
311 end if;
312
313 DELETE FROM CSP_FORECAST_RULES_B
314 WHERE FORECAST_RULE_ID = p_FORECAST_RULE_ID;
315 If (SQL%NOTFOUND) then
316 RAISE NO_DATA_FOUND;
317 End If;
318 END Delete_Row;
319
320 PROCEDURE Lock_Row(
321 p_FORECAST_RULE_ID NUMBER,
322 p_CREATED_BY NUMBER,
323 p_CREATION_DATE DATE,
324 p_LAST_UPDATED_BY NUMBER,
325 p_LAST_UPDATE_DATE DATE,
326 p_LAST_UPDATE_LOGIN NUMBER,
327 p_FORECAST_RULE_NAME VARCHAR2,
328 p_PERIOD_TYPE VARCHAR2,
329 p_PERIOD_SIZE NUMBER,
330 p_FORECAST_PERIODS NUMBER,
331 p_FORECAST_METHOD VARCHAR2,
332 p_HISTORY_PERIODS NUMBER,
333 p_ALPHA NUMBER,
334 p_BETA NUMBER,
335 p_TRACKING_SIGNAL_CYCLE NUMBER,
336 p_WEIGHTED_AVG_PERIOD1 NUMBER,
337 p_WEIGHTED_AVG_PERIOD2 NUMBER,
338 p_WEIGHTED_AVG_PERIOD3 NUMBER,
339 p_WEIGHTED_AVG_PERIOD4 NUMBER,
340 p_WEIGHTED_AVG_PERIOD5 NUMBER,
341 p_WEIGHTED_AVG_PERIOD6 NUMBER,
342 p_WEIGHTED_AVG_PERIOD7 NUMBER,
343 p_WEIGHTED_AVG_PERIOD8 NUMBER,
344 p_WEIGHTED_AVG_PERIOD9 NUMBER,
345 p_WEIGHTED_AVG_PERIOD10 NUMBER,
346 p_WEIGHTED_AVG_PERIOD11 NUMBER,
347 p_WEIGHTED_AVG_PERIOD12 NUMBER,
348 p_ATTRIBUTE_CATEGORY VARCHAR2,
349 p_ATTRIBUTE1 VARCHAR2,
350 p_ATTRIBUTE2 VARCHAR2,
351 p_ATTRIBUTE3 VARCHAR2,
352 p_ATTRIBUTE4 VARCHAR2,
353 p_ATTRIBUTE5 VARCHAR2,
354 p_ATTRIBUTE6 VARCHAR2,
355 p_ATTRIBUTE7 VARCHAR2,
356 p_ATTRIBUTE8 VARCHAR2,
357 p_ATTRIBUTE9 VARCHAR2,
358 p_ATTRIBUTE10 VARCHAR2,
359 p_ATTRIBUTE11 VARCHAR2,
360 p_ATTRIBUTE12 VARCHAR2,
361 p_ATTRIBUTE13 VARCHAR2,
362 p_ATTRIBUTE14 VARCHAR2,
363 p_ATTRIBUTE15 VARCHAR2,
364 p_DESCRIPTION VARCHAR2)
365
366 IS
367 CURSOR C IS
368 SELECT *
369 FROM CSP_FORECAST_RULES_B
370 WHERE FORECAST_RULE_ID = p_FORECAST_RULE_ID
371 FOR UPDATE of FORECAST_RULE_ID NOWAIT;
372
373 cursor c1 is select
374 DESCRIPTION,
375 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
376 from CSP_FORECAST_RULES_TL
377 where FORECAST_RULE_ID = p_FORECAST_RULE_ID
378 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
379 for update of FORECAST_RULE_ID nowait;
380
381 Recinfo C%ROWTYPE;
382 BEGIN
383 OPEN C;
384 FETCH C INTO Recinfo;
385 If (C%NOTFOUND) then
386 CLOSE C;
387 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
388 APP_EXCEPTION.RAISE_EXCEPTION;
389 End If;
390 CLOSE C;
391
392 if (
393 ( Recinfo.FORECAST_RULE_ID = p_FORECAST_RULE_ID)
394 AND ( ( Recinfo.CREATED_BY = p_CREATED_BY)
395 OR ( ( Recinfo.CREATED_BY IS NULL )
396 AND ( p_CREATED_BY IS NULL )))
397 AND ( ( Recinfo.CREATION_DATE = p_CREATION_DATE)
398 OR ( ( Recinfo.CREATION_DATE IS NULL )
399 AND ( p_CREATION_DATE IS NULL )))
400 AND ( ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
401 OR ( ( Recinfo.LAST_UPDATED_BY IS NULL )
402 AND ( p_LAST_UPDATED_BY IS NULL )))
403 AND ( ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
404 OR ( ( Recinfo.LAST_UPDATE_DATE IS NULL )
405 AND ( p_LAST_UPDATE_DATE IS NULL )))
406 AND ( ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
407 OR ( ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
408 AND ( p_LAST_UPDATE_LOGIN IS NULL )))
409 AND ( ( Recinfo.FORECAST_RULE_NAME = p_FORECAST_RULE_NAME)
410 OR ( ( Recinfo.FORECAST_RULE_NAME IS NULL )
411 AND ( p_FORECAST_RULE_NAME IS NULL )))
412 AND ( ( Recinfo.PERIOD_TYPE = p_PERIOD_TYPE)
413 OR ( ( Recinfo.PERIOD_TYPE IS NULL )
414 AND ( p_PERIOD_TYPE IS NULL )))
415 AND ( ( Recinfo.PERIOD_SIZE = p_PERIOD_SIZE)
416 OR ( ( Recinfo.PERIOD_SIZE IS NULL )
417 AND ( p_PERIOD_SIZE IS NULL )))
418 AND ( ( Recinfo.FORECAST_PERIODS = p_FORECAST_PERIODS)
419 OR ( ( Recinfo.FORECAST_PERIODS IS NULL )
420 AND ( p_FORECAST_PERIODS IS NULL )))
421 AND ( ( Recinfo.FORECAST_METHOD = p_FORECAST_METHOD)
422 OR ( ( Recinfo.FORECAST_METHOD IS NULL )
426 AND ( p_HISTORY_PERIODS IS NULL )))
423 AND ( p_FORECAST_METHOD IS NULL )))
424 AND ( ( Recinfo.HISTORY_PERIODS = p_HISTORY_PERIODS)
425 OR ( ( Recinfo.HISTORY_PERIODS IS NULL )
427 AND ( ( Recinfo.ALPHA = p_ALPHA)
428 OR ( ( Recinfo.ALPHA IS NULL )
429 AND ( p_ALPHA IS NULL )))
430 AND ( ( Recinfo.BETA = p_BETA)
431 OR ( ( Recinfo.BETA IS NULL )
432 AND ( p_BETA IS NULL )))
433 AND ( ( Recinfo.TRACKING_SIGNAL_CYCLE = p_TRACKING_SIGNAL_CYCLE)
434 OR ( ( Recinfo.TRACKING_SIGNAL_CYCLE IS NULL )
435 AND ( p_TRACKING_SIGNAL_CYCLE IS NULL )))
436 AND ( ( Recinfo.WEIGHTED_AVG_PERIOD1 = p_WEIGHTED_AVG_PERIOD1)
437 OR ( ( Recinfo.WEIGHTED_AVG_PERIOD1 IS NULL )
438 AND ( p_WEIGHTED_AVG_PERIOD1 IS NULL )))
439 AND ( ( Recinfo.WEIGHTED_AVG_PERIOD2 = p_WEIGHTED_AVG_PERIOD2)
440 OR ( ( Recinfo.WEIGHTED_AVG_PERIOD2 IS NULL )
441 AND ( p_WEIGHTED_AVG_PERIOD2 IS NULL )))
442 AND ( ( Recinfo.WEIGHTED_AVG_PERIOD3 = p_WEIGHTED_AVG_PERIOD3)
443 OR ( ( Recinfo.WEIGHTED_AVG_PERIOD3 IS NULL )
444 AND ( p_WEIGHTED_AVG_PERIOD3 IS NULL )))
445 AND ( ( Recinfo.WEIGHTED_AVG_PERIOD4 = p_WEIGHTED_AVG_PERIOD4)
446 OR ( ( Recinfo.WEIGHTED_AVG_PERIOD4 IS NULL )
447 AND ( p_WEIGHTED_AVG_PERIOD4 IS NULL )))
448 AND ( ( Recinfo.WEIGHTED_AVG_PERIOD5 = p_WEIGHTED_AVG_PERIOD5)
449 OR ( ( Recinfo.WEIGHTED_AVG_PERIOD5 IS NULL )
450 AND ( p_WEIGHTED_AVG_PERIOD5 IS NULL )))
451 AND ( ( Recinfo.WEIGHTED_AVG_PERIOD6 = p_WEIGHTED_AVG_PERIOD6)
452 OR ( ( Recinfo.WEIGHTED_AVG_PERIOD6 IS NULL )
453 AND ( p_WEIGHTED_AVG_PERIOD6 IS NULL )))
454 AND ( ( Recinfo.WEIGHTED_AVG_PERIOD7 = p_WEIGHTED_AVG_PERIOD7)
455 OR ( ( Recinfo.WEIGHTED_AVG_PERIOD7 IS NULL )
456 AND ( p_WEIGHTED_AVG_PERIOD7 IS NULL )))
457 AND ( ( Recinfo.WEIGHTED_AVG_PERIOD8 = p_WEIGHTED_AVG_PERIOD8)
458 OR ( ( Recinfo.WEIGHTED_AVG_PERIOD8 IS NULL )
459 AND ( p_WEIGHTED_AVG_PERIOD8 IS NULL )))
460 AND ( ( Recinfo.WEIGHTED_AVG_PERIOD9 = p_WEIGHTED_AVG_PERIOD9)
461 OR ( ( Recinfo.WEIGHTED_AVG_PERIOD9 IS NULL )
462 AND ( p_WEIGHTED_AVG_PERIOD9 IS NULL )))
463 AND ( ( Recinfo.WEIGHTED_AVG_PERIOD10 = p_WEIGHTED_AVG_PERIOD10)
464 OR ( ( Recinfo.WEIGHTED_AVG_PERIOD10 IS NULL )
465 AND ( p_WEIGHTED_AVG_PERIOD10 IS NULL )))
466 AND ( ( Recinfo.WEIGHTED_AVG_PERIOD11 = p_WEIGHTED_AVG_PERIOD11)
467 OR ( ( Recinfo.WEIGHTED_AVG_PERIOD11 IS NULL )
468 AND ( p_WEIGHTED_AVG_PERIOD11 IS NULL )))
469 AND ( ( Recinfo.WEIGHTED_AVG_PERIOD12 = p_WEIGHTED_AVG_PERIOD12)
470 OR ( ( Recinfo.WEIGHTED_AVG_PERIOD12 IS NULL )
471 AND ( p_WEIGHTED_AVG_PERIOD12 IS NULL )))
472 AND ( ( Recinfo.ATTRIBUTE_CATEGORY = p_ATTRIBUTE_CATEGORY)
473 OR ( ( Recinfo.ATTRIBUTE_CATEGORY IS NULL )
474 AND ( p_ATTRIBUTE_CATEGORY IS NULL )))
475 AND ( ( Recinfo.ATTRIBUTE1 = p_ATTRIBUTE1)
476 OR ( ( Recinfo.ATTRIBUTE1 IS NULL )
477 AND ( p_ATTRIBUTE1 IS NULL )))
478 AND ( ( Recinfo.ATTRIBUTE2 = p_ATTRIBUTE2)
479 OR ( ( Recinfo.ATTRIBUTE2 IS NULL )
480 AND ( p_ATTRIBUTE2 IS NULL )))
481 AND ( ( Recinfo.ATTRIBUTE3 = p_ATTRIBUTE3)
482 OR ( ( Recinfo.ATTRIBUTE3 IS NULL )
483 AND ( p_ATTRIBUTE3 IS NULL )))
484 AND ( ( Recinfo.ATTRIBUTE4 = p_ATTRIBUTE4)
485 OR ( ( Recinfo.ATTRIBUTE4 IS NULL )
486 AND ( p_ATTRIBUTE4 IS NULL )))
487 AND ( ( Recinfo.ATTRIBUTE5 = p_ATTRIBUTE5)
488 OR ( ( Recinfo.ATTRIBUTE5 IS NULL )
489 AND ( p_ATTRIBUTE5 IS NULL )))
490 AND ( ( Recinfo.ATTRIBUTE6 = p_ATTRIBUTE6)
491 OR ( ( Recinfo.ATTRIBUTE6 IS NULL )
492 AND ( p_ATTRIBUTE6 IS NULL )))
493 AND ( ( Recinfo.ATTRIBUTE7 = p_ATTRIBUTE7)
494 OR ( ( Recinfo.ATTRIBUTE7 IS NULL )
495 AND ( p_ATTRIBUTE7 IS NULL )))
496 AND ( ( Recinfo.ATTRIBUTE8 = p_ATTRIBUTE8)
497 OR ( ( Recinfo.ATTRIBUTE8 IS NULL )
498 AND ( p_ATTRIBUTE8 IS NULL )))
499 AND ( ( Recinfo.ATTRIBUTE9 = p_ATTRIBUTE9)
500 OR ( ( Recinfo.ATTRIBUTE9 IS NULL )
501 AND ( p_ATTRIBUTE9 IS NULL )))
502 AND ( ( Recinfo.ATTRIBUTE10 = p_ATTRIBUTE10)
503 OR ( ( Recinfo.ATTRIBUTE10 IS NULL )
504 AND ( p_ATTRIBUTE10 IS NULL )))
505 AND ( ( Recinfo.ATTRIBUTE11 = p_ATTRIBUTE11)
506 OR ( ( Recinfo.ATTRIBUTE11 IS NULL )
507 AND ( p_ATTRIBUTE11 IS NULL )))
508 AND ( ( Recinfo.ATTRIBUTE12 = p_ATTRIBUTE12)
509 OR ( ( Recinfo.ATTRIBUTE12 IS NULL )
510 AND ( p_ATTRIBUTE12 IS NULL )))
511 AND ( ( Recinfo.ATTRIBUTE13 = p_ATTRIBUTE13)
512 OR ( ( Recinfo.ATTRIBUTE13 IS NULL )
513 AND ( p_ATTRIBUTE13 IS NULL )))
514 AND ( ( Recinfo.ATTRIBUTE14 = p_ATTRIBUTE14)
515 OR ( ( Recinfo.ATTRIBUTE14 IS NULL )
516 AND ( p_ATTRIBUTE14 IS NULL )))
517 AND ( ( Recinfo.ATTRIBUTE15 = p_ATTRIBUTE15)
518 OR ( ( Recinfo.ATTRIBUTE15 IS NULL )
519 AND ( p_ATTRIBUTE15 IS NULL )))
520 ) then
521
522 null;
523 else
524 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
525 APP_EXCEPTION.RAISE_EXCEPTION;
526 End If;
527
528 for tlinfo in c1 loop
529 if (tlinfo.BASELANG = 'Y') then
533 null;
530 if ( ((tlinfo.DESCRIPTION = p_DESCRIPTION)
531 OR ((tlinfo.DESCRIPTION is null) AND (p_DESCRIPTION is null)))
532 ) then
534 else
535 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
536 app_exception.raise_exception;
537 end if;
538 end if;
539 end loop;
540 return;
541
542 END Lock_Row;
543
544 procedure ADD_LANGUAGE
545 is
546 begin
547 delete from CSP_FORECAST_RULES_TL T
548 where not exists
549 (select NULL
550 from CSP_FORECAST_RULES_B B
551 where B.FORECAST_RULE_ID = T.FORECAST_RULE_ID
552 );
553
554 update CSP_FORECAST_RULES_TL T set (
555 DESCRIPTION
556 ) = (select
557 B.DESCRIPTION
558 from CSP_FORECAST_RULES_TL B
559 where B.FORECAST_RULE_ID = T.FORECAST_RULE_ID
560 and B.LANGUAGE = T.SOURCE_LANG)
561 where (
562 T.FORECAST_RULE_ID,
563 T.LANGUAGE
564 ) in (select
565 SUBT.FORECAST_RULE_ID,
566 SUBT.LANGUAGE
567 from CSP_FORECAST_RULES_TL SUBB, CSP_FORECAST_RULES_TL SUBT
568 where SUBB.FORECAST_RULE_ID = SUBT.FORECAST_RULE_ID
569 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
570 and (SUBB.DESCRIPTION <> SUBT.DESCRIPTION
571 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
572 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
573 ));
574
575 insert into CSP_FORECAST_RULES_TL (
576 FORECAST_RULE_ID,
577 CREATED_BY,
578 CREATION_DATE,
579 LAST_UPDATED_BY,
580 LAST_UPDATE_DATE,
581 LAST_UPDATE_LOGIN,
582 DESCRIPTION,
583 LANGUAGE,
584 SOURCE_LANG
585 ) select
586 B.FORECAST_RULE_ID,
587 B.CREATED_BY,
588 B.CREATION_DATE,
589 B.LAST_UPDATED_BY,
590 B.LAST_UPDATE_DATE,
591 B.LAST_UPDATE_LOGIN,
592 B.DESCRIPTION,
593 L.LANGUAGE_CODE,
594 B.SOURCE_LANG
595 from CSP_FORECAST_RULES_TL B, FND_LANGUAGES L
596 where L.INSTALLED_FLAG in ('I', 'B')
597 and B.LANGUAGE = userenv('LANG')
598 and not exists
599 (select NULL
600 from CSP_FORECAST_RULES_TL T
601 where T.FORECAST_RULE_ID = B.FORECAST_RULE_ID
602 and T.LANGUAGE = L.LANGUAGE_CODE);
603 end ADD_LANGUAGE;
604
605 PROCEDURE Translate_Row
606 ( p_forecast_rule_id IN NUMBER
607 , p_description IN VARCHAR2
608 , p_owner IN VARCHAR2
609 )
610 IS
611 l_user_id NUMBER := 0;
612 BEGIN
613
614 if p_owner = 'SEED' then
615 l_user_id := 1;
616 end if;
617
618 UPDATE csp_forecast_rules_tl
619 SET description = p_description
620 , last_update_date = SYSDATE
621 , last_updated_by = l_user_id
622 , last_update_login = 0
623 , source_lang = userenv('LANG')
624 WHERE forecast_rule_id = p_forecast_rule_id
625 AND userenv('LANG') IN (language, source_lang);
626
627 EXCEPTION
628 WHEN OTHERS THEN
629 IF FND_MSG_PUB.Check_Msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
630 THEN
631 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, 'Translate_Row');
632 END IF;
633 RAISE;
634
635 END Translate_Row;
636
637 PROCEDURE Load_Row
638 ( p_forecast_rule_id IN NUMBER
639 , p_description IN VARCHAR2
640 , p_owner IN VARCHAR2
641 )
642 IS
643
644 l_forecast_rule_id NUMBER;
645 l_user_id NUMBER := 0;
646
647 BEGIN
648
649 -- assign user ID
650 if p_owner = 'SEED' then
651 l_user_id := 1; --SEED
652 end if;
653
654 BEGIN
655 -- update row if present
656 Update_Row(
657 p_forecast_rule_id => p_forecast_rule_id,
658 p_CREATED_BY => FND_API.G_MISS_NUM,
659 p_CREATION_DATE => FND_API.G_MISS_DATE,
660 p_LAST_UPDATED_BY => l_user_id,
661 p_LAST_UPDATE_DATE => SYSDATE,
662 p_LAST_UPDATE_LOGIN => 0,
663 p_forecast_rule_name => FND_API.G_MISS_CHAR,
664 p_period_type => FND_API.G_MISS_CHAR,
665 p_period_size => FND_API.G_MISS_NUM,
666 p_forecast_periods => FND_API.G_MISS_NUM,
667 p_forecast_method => FND_API.G_MISS_CHAR,
668 p_history_periods => FND_API.G_MISS_NUM,
669 p_alpha => FND_API.G_MISS_NUM,
670 p_beta => FND_API.G_MISS_NUM,
671 p_tracking_signal_cycle => FND_API.G_MISS_NUM,
672 p_weighted_avg_period1 => FND_API.G_MISS_NUM,
673 p_weighted_avg_period2 => FND_API.G_MISS_NUM,
674 p_weighted_avg_period3 => FND_API.G_MISS_NUM,
675 p_weighted_avg_period4 => FND_API.G_MISS_NUM,
676 p_weighted_avg_period5 => FND_API.G_MISS_NUM,
677 p_weighted_avg_period6 => FND_API.G_MISS_NUM,
678 p_weighted_avg_period7 => FND_API.G_MISS_NUM,
679 p_weighted_avg_period8 => FND_API.G_MISS_NUM,
680 p_weighted_avg_period9 => FND_API.G_MISS_NUM,
681 p_weighted_avg_period10 => FND_API.G_MISS_NUM,
682 p_weighted_avg_period11 => FND_API.G_MISS_NUM,
683 p_weighted_avg_period12 => FND_API.G_MISS_NUM,
684 p_ATTRIBUTE_CATEGORY => FND_API.G_MISS_CHAR,
685 p_ATTRIBUTE1 => FND_API.G_MISS_CHAR,
686 p_ATTRIBUTE2 => FND_API.G_MISS_CHAR,
690 p_ATTRIBUTE6 => FND_API.G_MISS_CHAR,
687 p_ATTRIBUTE3 => FND_API.G_MISS_CHAR,
688 p_ATTRIBUTE4 => FND_API.G_MISS_CHAR,
689 p_ATTRIBUTE5 => FND_API.G_MISS_CHAR,
691 p_ATTRIBUTE7 => FND_API.G_MISS_CHAR,
692 p_ATTRIBUTE8 => FND_API.G_MISS_CHAR,
693 p_ATTRIBUTE9 => FND_API.G_MISS_CHAR,
694 p_ATTRIBUTE10 => FND_API.G_MISS_CHAR,
695 p_ATTRIBUTE11 => FND_API.G_MISS_CHAR,
696 p_ATTRIBUTE12 => FND_API.G_MISS_CHAR,
697 p_ATTRIBUTE13 => FND_API.G_MISS_CHAR,
698 p_ATTRIBUTE14 => FND_API.G_MISS_CHAR,
699 p_ATTRIBUTE15 => FND_API.G_MISS_CHAR,
700 p_DESCRIPTION => p_description);
701 EXCEPTION
702 WHEN NO_DATA_FOUND THEN
703 -- insert row
704 Insert_Row(
705 px_forecast_rule_id => l_forecast_rule_id,
706 p_CREATED_BY => FND_API.G_MISS_NUM,
707 p_CREATION_DATE => FND_API.G_MISS_DATE,
708 p_LAST_UPDATED_BY => l_user_id,
709 p_LAST_UPDATE_DATE => SYSDATE,
710 p_LAST_UPDATE_LOGIN => 0,
711 p_forecast_rule_name => FND_API.G_MISS_CHAR,
712 p_period_type => FND_API.G_MISS_CHAR,
713 p_period_size => FND_API.G_MISS_NUM,
714 p_forecast_periods => FND_API.G_MISS_NUM,
715 p_forecast_method => FND_API.G_MISS_CHAR,
716 p_history_periods => FND_API.G_MISS_NUM,
717 p_alpha => FND_API.G_MISS_NUM,
718 p_beta => FND_API.G_MISS_NUM,
719 p_tracking_signal_cycle => FND_API.G_MISS_NUM,
720 p_weighted_avg_period1 => FND_API.G_MISS_NUM,
721 p_weighted_avg_period2 => FND_API.G_MISS_NUM,
722 p_weighted_avg_period3 => FND_API.G_MISS_NUM,
723 p_weighted_avg_period4 => FND_API.G_MISS_NUM,
724 p_weighted_avg_period5 => FND_API.G_MISS_NUM,
725 p_weighted_avg_period6 => FND_API.G_MISS_NUM,
726 p_weighted_avg_period7 => FND_API.G_MISS_NUM,
727 p_weighted_avg_period8 => FND_API.G_MISS_NUM,
728 p_weighted_avg_period9 => FND_API.G_MISS_NUM,
729 p_weighted_avg_period10 => FND_API.G_MISS_NUM,
730 p_weighted_avg_period11 => FND_API.G_MISS_NUM,
731 p_weighted_avg_period12 => FND_API.G_MISS_NUM,
732 p_ATTRIBUTE_CATEGORY => FND_API.G_MISS_CHAR,
733 p_ATTRIBUTE1 => FND_API.G_MISS_CHAR,
734 p_ATTRIBUTE2 => FND_API.G_MISS_CHAR,
735 p_ATTRIBUTE3 => FND_API.G_MISS_CHAR,
736 p_ATTRIBUTE4 => FND_API.G_MISS_CHAR,
737 p_ATTRIBUTE5 => FND_API.G_MISS_CHAR,
738 p_ATTRIBUTE6 => FND_API.G_MISS_CHAR,
739 p_ATTRIBUTE7 => FND_API.G_MISS_CHAR,
740 p_ATTRIBUTE8 => FND_API.G_MISS_CHAR,
741 p_ATTRIBUTE9 => FND_API.G_MISS_CHAR,
742 p_ATTRIBUTE10 => FND_API.G_MISS_CHAR,
743 p_ATTRIBUTE11 => FND_API.G_MISS_CHAR,
744 p_ATTRIBUTE12 => FND_API.G_MISS_CHAR,
745 p_ATTRIBUTE13 => FND_API.G_MISS_CHAR,
746 p_ATTRIBUTE14 => FND_API.G_MISS_CHAR,
747 p_ATTRIBUTE15 => FND_API.G_MISS_CHAR,
748 p_DESCRIPTION => p_description);
749 END;
750
751 EXCEPTION
752 WHEN OTHERS THEN
753 IF FND_MSG_PUB.Check_Msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
754 THEN
755 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, 'Load_Row');
756 END IF;
757 RAISE;
758
759 END Load_Row;
760
761 End CSP_FORECAST_RULES_B_PKG;