DBA Data[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;