DBA Data[Home] [Help]

PACKAGE BODY: APPS.AS_INTERNAL_FORECASTS_PKG

Source


1 PACKAGE BODY AS_INTERNAL_FORECASTS_PKG as
2 /* $Header: asxtifob.pls 115.7 2004/01/13 10:08:37 gbatra ship $ */
3 -- Start of Comments
4 -- Package name     : AS_INTERNAL_FORECASTS_PKG
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 
10 
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AS_INTERNAL_FORECASTS_PKG';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asxtifob.pls';
13 
14 PROCEDURE Insert_Row(
15           px_FORECAST_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_REQUEST_ID    NUMBER,
22           p_PROGRAM_APPLICATION_ID    NUMBER,
23           p_PROGRAM_ID    NUMBER,
24           p_PROGRAM_UPDATE_DATE    DATE,
25           p_SUBMISSION_DATE    DATE,
26           p_PERIOD_NAME    VARCHAR2,
27           p_SALESFORCE_ID    NUMBER,
28           p_EMPLOYEE_PERSON_ID    NUMBER,
29           p_SALES_GROUP_ID    NUMBER,
30           p_PARTNER_ADDRESS_ID    NUMBER,
31           p_PARTNER_CUSTOMER_ID    NUMBER,
32           p_CURRENCY_CODE    VARCHAR2,
33           p_WORST_FORECAST_AMOUNT    NUMBER,
34           p_FORECAST_AMOUNT    NUMBER,
35           p_BEST_FORECAST_AMOUNT    NUMBER,
36           p_WEIGHTED_PIPELINE_AMOUNT    NUMBER,
37           p_PIPELINE_AMOUNT    NUMBER,
38           p_WON_PIPELINE_AMOUNT    NUMBER,
39           p_QUOTA_AMOUNT    NUMBER,
40           p_ORIGINAL_FORECAST_ID    NUMBER,
41           p_STATUS_CODE    VARCHAR2,
42           p_WORKSHEET_TYPE    VARCHAR2,
43           p_REVENUE_FLAG    VARCHAR2,
44           p_ATTRIBUTE_CATEGORY    VARCHAR2,
45           p_ATTRIBUTE1    VARCHAR2,
46           p_ATTRIBUTE2    VARCHAR2,
47           p_ATTRIBUTE3    VARCHAR2,
48           p_ATTRIBUTE4    VARCHAR2,
49           p_ATTRIBUTE5    VARCHAR2,
50           p_ATTRIBUTE6    VARCHAR2,
51           p_ATTRIBUTE7    VARCHAR2,
52           p_ATTRIBUTE8    VARCHAR2,
53           p_ATTRIBUTE9    VARCHAR2,
54           p_ATTRIBUTE10    VARCHAR2,
55           p_ATTRIBUTE11    VARCHAR2,
56           p_ATTRIBUTE12    VARCHAR2,
57           p_ATTRIBUTE13    VARCHAR2,
58           p_ATTRIBUTE14    VARCHAR2,
59           p_ATTRIBUTE15    VARCHAR2,
60           p_CREDIT_TYPE_ID    NUMBER,
61           p_WORST_FORECAST_AMOUNT_FLAG    VARCHAR2,
62           p_FORECAST_AMOUNT_FLAG    VARCHAR2,
63           p_BEST_FORECAST_AMOUNT_FLAG    VARCHAR2,
64           p_WTD_PIPE_AMOUNT_FLAG    VARCHAR2,
65           p_PIPELINE_AMOUNT_FLAG    VARCHAR2,
66           p_WON_PIPELINE_AMOUNT_FLAG    VARCHAR2,
67           p_QUOTA_AMOUNT_FLAG    VARCHAR2,
68           p_START_DATE_ACTIVE    DATE,
69           p_END_DATE_ACTIVE    DATE,
70           p_ACTIVE_FLAG    VARCHAR2,
71           p_FORECAST_CATEGORY_ID    NUMBER)
72 
73  IS
74    CURSOR C2 IS SELECT AS_INTERNAL_FORECASTS_S.nextval FROM sys.dual;
75 BEGIN
76    If (px_FORECAST_ID IS NULL) OR (px_FORECAST_ID = FND_API.G_MISS_NUM) then
77        OPEN C2;
78        FETCH C2 INTO px_FORECAST_ID;
79        CLOSE C2;
80    End If;
81    /*Bug# 1503400 requires that original forecast id should be forecast id
82    and not null*/
83 
84 
85    INSERT INTO AS_INTERNAL_FORECASTS(
86            FORECAST_ID,
87            CREATED_BY,
88            CREATION_DATE,
89            LAST_UPDATED_BY,
90            LAST_UPDATE_DATE,
91            LAST_UPDATE_LOGIN,
92            REQUEST_ID,
93            PROGRAM_APPLICATION_ID,
94            PROGRAM_ID,
95            PROGRAM_UPDATE_DATE,
96            SUBMISSION_DATE,
97            PERIOD_NAME,
98            SALESFORCE_ID,
99            EMPLOYEE_PERSON_ID,
100            SALES_GROUP_ID,
101            PARTNER_ADDRESS_ID,
102            PARTNER_CUSTOMER_ID,
103            CURRENCY_CODE,
104            WORST_FORECAST_AMOUNT,
105            FORECAST_AMOUNT,
106            BEST_FORECAST_AMOUNT,
107            WEIGHTED_PIPELINE_AMOUNT,
108            PIPELINE_AMOUNT,
109            WON_PIPELINE_AMOUNT,
110            QUOTA_AMOUNT,
111            ORIGINAL_FORECAST_ID,
112            STATUS_CODE,
113            WORKSHEET_TYPE,
114            REVENUE_FLAG,
115            ATTRIBUTE_CATEGORY,
116            ATTRIBUTE1,
117            ATTRIBUTE2,
118            ATTRIBUTE3,
119            ATTRIBUTE4,
120            ATTRIBUTE5,
121            ATTRIBUTE6,
122            ATTRIBUTE7,
123            ATTRIBUTE8,
124            ATTRIBUTE9,
125            ATTRIBUTE10,
126            ATTRIBUTE11,
127            ATTRIBUTE12,
128            ATTRIBUTE13,
129            ATTRIBUTE14,
130            ATTRIBUTE15,
131            CREDIT_TYPE_ID,
132            WORST_FORECAST_AMOUNT_FLAG,
133            FORECAST_AMOUNT_FLAG,
134            BEST_FORECAST_AMOUNT_FLAG,
135            WEIGHTED_PIPELINE_AMOUNT_FLAG,
136            PIPELINE_AMOUNT_FLAG,
137            WON_PIPELINE_AMOUNT_FLAG,
138            QUOTA_AMOUNT_FLAG,
139            START_DATE_ACTIVE,
140            END_DATE_ACTIVE,
141            ACTIVE_FLAG,
142            FORECAST_CATEGORY_ID
143           ) VALUES (
144            px_FORECAST_ID,
145            decode( p_CREATED_BY, FND_API.G_MISS_NUM, NULL, p_CREATED_BY),
146            decode( p_CREATION_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_CREATION_DATE),
147            decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATED_BY),
148            decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_LAST_UPDATE_DATE),
149            decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATE_LOGIN),
150            decode( p_REQUEST_ID, FND_API.G_MISS_NUM, NULL, p_REQUEST_ID),
151            decode( p_PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM, NULL, p_PROGRAM_APPLICATION_ID),
152            decode( p_PROGRAM_ID, FND_API.G_MISS_NUM, NULL, p_PROGRAM_ID),
153            decode( p_PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_PROGRAM_UPDATE_DATE),
154            decode( p_SUBMISSION_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_SUBMISSION_DATE),
155            decode( p_PERIOD_NAME, FND_API.G_MISS_CHAR, NULL, p_PERIOD_NAME),
156            decode( p_SALESFORCE_ID, FND_API.G_MISS_NUM, NULL, p_SALESFORCE_ID),
157            decode( p_EMPLOYEE_PERSON_ID, FND_API.G_MISS_NUM, NULL, p_EMPLOYEE_PERSON_ID),
158            decode( p_SALES_GROUP_ID, FND_API.G_MISS_NUM, NULL, p_SALES_GROUP_ID),
159            decode( p_PARTNER_ADDRESS_ID, FND_API.G_MISS_NUM, NULL, p_PARTNER_ADDRESS_ID),
160            decode( p_PARTNER_CUSTOMER_ID, FND_API.G_MISS_NUM, NULL, p_PARTNER_CUSTOMER_ID),
161            decode( p_CURRENCY_CODE, FND_API.G_MISS_CHAR, NULL, p_CURRENCY_CODE),
162            decode( p_WORST_FORECAST_AMOUNT, FND_API.G_MISS_NUM, NULL, p_WORST_FORECAST_AMOUNT),
163            decode( p_FORECAST_AMOUNT, FND_API.G_MISS_NUM, NULL, p_FORECAST_AMOUNT),
164            decode( p_BEST_FORECAST_AMOUNT, FND_API.G_MISS_NUM, NULL, p_BEST_FORECAST_AMOUNT),
165            decode( p_WEIGHTED_PIPELINE_AMOUNT, FND_API.G_MISS_NUM, NULL, p_WEIGHTED_PIPELINE_AMOUNT),
166            decode( p_PIPELINE_AMOUNT, FND_API.G_MISS_NUM, NULL, p_PIPELINE_AMOUNT),
167            decode( p_WON_PIPELINE_AMOUNT, FND_API.G_MISS_NUM, NULL, p_WON_PIPELINE_AMOUNT),
168            decode( p_QUOTA_AMOUNT, FND_API.G_MISS_NUM, NULL, p_QUOTA_AMOUNT),
169            decode( p_ORIGINAL_FORECAST_ID, FND_API.G_MISS_NUM, px_forecast_id,NULL,px_forecast_id, p_ORIGINAL_FORECAST_ID),
170            decode( p_STATUS_CODE, FND_API.G_MISS_CHAR, NULL, p_STATUS_CODE),
171            decode( p_WORKSHEET_TYPE, FND_API.G_MISS_CHAR, NULL, p_WORKSHEET_TYPE),
172            decode( p_REVENUE_FLAG, FND_API.G_MISS_CHAR, NULL, p_REVENUE_FLAG),
173            decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE_CATEGORY),
174            decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE1),
175            decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE2),
176            decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE3),
177            decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE4),
178            decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE5),
179            decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE6),
180            decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE7),
181            decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE8),
182            decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE9),
183            decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE10),
184            decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE11),
185            decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE12),
186            decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE13),
187            decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE14),
188            decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE15),
189            decode( p_CREDIT_TYPE_ID, FND_API.G_MISS_NUM, NULL, p_CREDIT_TYPE_ID),
190            decode( p_WORST_FORECAST_AMOUNT_FLAG, FND_API.G_MISS_CHAR, NULL, p_WORST_FORECAST_AMOUNT_FLAG),
191            decode( p_FORECAST_AMOUNT_FLAG, FND_API.G_MISS_CHAR, NULL, p_FORECAST_AMOUNT_FLAG),
192            decode( p_BEST_FORECAST_AMOUNT_FLAG, FND_API.G_MISS_CHAR, NULL, p_BEST_FORECAST_AMOUNT_FLAG),
193            decode( p_WTD_PIPE_AMOUNT_FLAG, FND_API.G_MISS_CHAR, NULL, p_WTD_PIPE_AMOUNT_FLAG),
194            decode( p_PIPELINE_AMOUNT_FLAG, FND_API.G_MISS_CHAR, NULL, p_PIPELINE_AMOUNT_FLAG),
195            decode( p_WON_PIPELINE_AMOUNT_FLAG, FND_API.G_MISS_CHAR, NULL, p_WON_PIPELINE_AMOUNT_FLAG),
196            decode( p_QUOTA_AMOUNT_FLAG, FND_API.G_MISS_CHAR, NULL, p_QUOTA_AMOUNT_FLAG),
197            decode( p_START_DATE_ACTIVE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_START_DATE_ACTIVE),
198            decode( p_END_DATE_ACTIVE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_END_DATE_ACTIVE),
199            decode( p_ACTIVE_FLAG, FND_API.G_MISS_CHAR, NULL, p_ACTIVE_FLAG),
200            decode( p_FORECAST_CATEGORY_ID, FND_API.G_MISS_NUM, NULL, p_FORECAST_CATEGORY_ID));
201 End Insert_Row;
202 
203 PROCEDURE Update_Row(
204           p_FORECAST_ID    NUMBER,
205           p_CREATED_BY    NUMBER,
206           p_CREATION_DATE    DATE,
207           p_LAST_UPDATED_BY    NUMBER,
208           p_LAST_UPDATE_DATE    DATE,
209           p_LAST_UPDATE_LOGIN    NUMBER,
210           p_REQUEST_ID    NUMBER,
211           p_PROGRAM_APPLICATION_ID    NUMBER,
212           p_PROGRAM_ID    NUMBER,
213           p_PROGRAM_UPDATE_DATE    DATE,
214           p_SUBMISSION_DATE    DATE,
215           p_PERIOD_NAME    VARCHAR2,
216           p_SALESFORCE_ID    NUMBER,
217           p_EMPLOYEE_PERSON_ID    NUMBER,
218           p_SALES_GROUP_ID    NUMBER,
219           p_PARTNER_ADDRESS_ID    NUMBER,
220           p_PARTNER_CUSTOMER_ID    NUMBER,
221           p_CURRENCY_CODE    VARCHAR2,
222           p_WORST_FORECAST_AMOUNT    NUMBER,
223           p_FORECAST_AMOUNT    NUMBER,
224           p_BEST_FORECAST_AMOUNT    NUMBER,
225           p_WEIGHTED_PIPELINE_AMOUNT    NUMBER,
226           p_PIPELINE_AMOUNT    NUMBER,
227           p_WON_PIPELINE_AMOUNT    NUMBER,
228           p_QUOTA_AMOUNT    NUMBER,
229           p_ORIGINAL_FORECAST_ID    NUMBER,
230           p_STATUS_CODE    VARCHAR2,
231           p_WORKSHEET_TYPE    VARCHAR2,
232           p_REVENUE_FLAG    VARCHAR2,
233           p_ATTRIBUTE_CATEGORY    VARCHAR2,
234           p_ATTRIBUTE1    VARCHAR2,
235           p_ATTRIBUTE2    VARCHAR2,
236           p_ATTRIBUTE3    VARCHAR2,
237           p_ATTRIBUTE4    VARCHAR2,
238           p_ATTRIBUTE5    VARCHAR2,
239           p_ATTRIBUTE6    VARCHAR2,
240           p_ATTRIBUTE7    VARCHAR2,
241           p_ATTRIBUTE8    VARCHAR2,
242           p_ATTRIBUTE9    VARCHAR2,
243           p_ATTRIBUTE10    VARCHAR2,
244           p_ATTRIBUTE11    VARCHAR2,
245           p_ATTRIBUTE12    VARCHAR2,
246           p_ATTRIBUTE13    VARCHAR2,
247           p_ATTRIBUTE14    VARCHAR2,
248           p_ATTRIBUTE15    VARCHAR2,
249           p_CREDIT_TYPE_ID    NUMBER,
250           p_WORST_FORECAST_AMOUNT_FLAG    VARCHAR2,
251           p_FORECAST_AMOUNT_FLAG    VARCHAR2,
252           p_BEST_FORECAST_AMOUNT_FLAG    VARCHAR2,
253           p_WTD_PIPE_AMOUNT_FLAG    VARCHAR2,
254           p_PIPELINE_AMOUNT_FLAG    VARCHAR2,
255           p_WON_PIPELINE_AMOUNT_FLAG    VARCHAR2,
256           p_QUOTA_AMOUNT_FLAG    VARCHAR2,
257           p_START_DATE_ACTIVE    DATE,
258           p_END_DATE_ACTIVE    DATE,
259           p_ACTIVE_FLAG    VARCHAR2,
260           p_FORECAST_CATEGORY_ID    NUMBER)
261 
262  IS
263  BEGIN
264     Update AS_INTERNAL_FORECASTS
265     SET object_version_number =  nvl(object_version_number,0) + 1,
266               CREATED_BY = decode( p_CREATED_BY, FND_API.G_MISS_NUM, CREATED_BY, p_CREATED_BY),
267               CREATION_DATE = decode( p_CREATION_DATE, FND_API.G_MISS_DATE, CREATION_DATE, p_CREATION_DATE),
268               LAST_UPDATED_BY = decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, LAST_UPDATED_BY, p_LAST_UPDATED_BY),
269               LAST_UPDATE_DATE = decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, LAST_UPDATE_DATE, p_LAST_UPDATE_DATE),
270               LAST_UPDATE_LOGIN = decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, LAST_UPDATE_LOGIN, p_LAST_UPDATE_LOGIN),
271               REQUEST_ID = decode( p_REQUEST_ID, FND_API.G_MISS_NUM, REQUEST_ID, p_REQUEST_ID),
272               PROGRAM_APPLICATION_ID = decode( p_PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM, PROGRAM_APPLICATION_ID, p_PROGRAM_APPLICATION_ID),
273               PROGRAM_ID = decode( p_PROGRAM_ID, FND_API.G_MISS_NUM, PROGRAM_ID, p_PROGRAM_ID),
274               PROGRAM_UPDATE_DATE = decode( p_PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE, PROGRAM_UPDATE_DATE, p_PROGRAM_UPDATE_DATE),
275 
276               SUBMISSION_DATE = decode( p_SUBMISSION_DATE, FND_API.G_MISS_DATE, SUBMISSION_DATE, p_SUBMISSION_DATE),
280               SALES_GROUP_ID = decode( p_SALES_GROUP_ID, FND_API.G_MISS_NUM, SALES_GROUP_ID, p_SALES_GROUP_ID),
277               PERIOD_NAME = decode( p_PERIOD_NAME, FND_API.G_MISS_CHAR, PERIOD_NAME, p_PERIOD_NAME),
278               SALESFORCE_ID = decode( p_SALESFORCE_ID, FND_API.G_MISS_NUM, SALESFORCE_ID, p_SALESFORCE_ID),
279               EMPLOYEE_PERSON_ID = decode( p_EMPLOYEE_PERSON_ID, FND_API.G_MISS_NUM, EMPLOYEE_PERSON_ID, p_EMPLOYEE_PERSON_ID),
281               PARTNER_ADDRESS_ID = decode( p_PARTNER_ADDRESS_ID, FND_API.G_MISS_NUM, PARTNER_ADDRESS_ID, p_PARTNER_ADDRESS_ID),
282               PARTNER_CUSTOMER_ID = decode( p_PARTNER_CUSTOMER_ID, FND_API.G_MISS_NUM, PARTNER_CUSTOMER_ID, p_PARTNER_CUSTOMER_ID),
283               CURRENCY_CODE = decode( p_CURRENCY_CODE, FND_API.G_MISS_CHAR, CURRENCY_CODE, p_CURRENCY_CODE),
284               WORST_FORECAST_AMOUNT = decode( p_WORST_FORECAST_AMOUNT, FND_API.G_MISS_NUM, WORST_FORECAST_AMOUNT, p_WORST_FORECAST_AMOUNT),
285               FORECAST_AMOUNT = decode( p_FORECAST_AMOUNT, FND_API.G_MISS_NUM, FORECAST_AMOUNT, p_FORECAST_AMOUNT),
286               BEST_FORECAST_AMOUNT = decode( p_BEST_FORECAST_AMOUNT, FND_API.G_MISS_NUM, BEST_FORECAST_AMOUNT, p_BEST_FORECAST_AMOUNT),
287               WEIGHTED_PIPELINE_AMOUNT = decode( p_WEIGHTED_PIPELINE_AMOUNT, FND_API.G_MISS_NUM, WEIGHTED_PIPELINE_AMOUNT, p_WEIGHTED_PIPELINE_AMOUNT),
288               PIPELINE_AMOUNT = decode( p_PIPELINE_AMOUNT, FND_API.G_MISS_NUM, PIPELINE_AMOUNT, p_PIPELINE_AMOUNT),
289               WON_PIPELINE_AMOUNT = decode( p_WON_PIPELINE_AMOUNT, FND_API.G_MISS_NUM, WON_PIPELINE_AMOUNT, p_WON_PIPELINE_AMOUNT),
290               QUOTA_AMOUNT = decode( p_QUOTA_AMOUNT, FND_API.G_MISS_NUM, QUOTA_AMOUNT, p_QUOTA_AMOUNT),
291               ORIGINAL_FORECAST_ID = decode( p_ORIGINAL_FORECAST_ID, FND_API.G_MISS_NUM, ORIGINAL_FORECAST_ID, p_ORIGINAL_FORECAST_ID),
292               STATUS_CODE = decode( p_STATUS_CODE, FND_API.G_MISS_CHAR, STATUS_CODE, p_STATUS_CODE),
293               WORKSHEET_TYPE = decode( p_WORKSHEET_TYPE, FND_API.G_MISS_CHAR, WORKSHEET_TYPE, p_WORKSHEET_TYPE),
294               REVENUE_FLAG = decode( p_REVENUE_FLAG, FND_API.G_MISS_CHAR, REVENUE_FLAG, p_REVENUE_FLAG),
295               ATTRIBUTE_CATEGORY = decode( p_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, ATTRIBUTE_CATEGORY, p_ATTRIBUTE_CATEGORY),
296               ATTRIBUTE1 = decode( p_ATTRIBUTE1, FND_API.G_MISS_CHAR, ATTRIBUTE1, p_ATTRIBUTE1),
297               ATTRIBUTE2 = decode( p_ATTRIBUTE2, FND_API.G_MISS_CHAR, ATTRIBUTE2, p_ATTRIBUTE2),
298               ATTRIBUTE3 = decode( p_ATTRIBUTE3, FND_API.G_MISS_CHAR, ATTRIBUTE3, p_ATTRIBUTE3),
299               ATTRIBUTE4 = decode( p_ATTRIBUTE4, FND_API.G_MISS_CHAR, ATTRIBUTE4, p_ATTRIBUTE4),
300               ATTRIBUTE5 = decode( p_ATTRIBUTE5, FND_API.G_MISS_CHAR, ATTRIBUTE5, p_ATTRIBUTE5),
301               ATTRIBUTE6 = decode( p_ATTRIBUTE6, FND_API.G_MISS_CHAR, ATTRIBUTE6, p_ATTRIBUTE6),
302               ATTRIBUTE7 = decode( p_ATTRIBUTE7, FND_API.G_MISS_CHAR, ATTRIBUTE7, p_ATTRIBUTE7),
303               ATTRIBUTE8 = decode( p_ATTRIBUTE8, FND_API.G_MISS_CHAR, ATTRIBUTE8, p_ATTRIBUTE8),
304               ATTRIBUTE9 = decode( p_ATTRIBUTE9, FND_API.G_MISS_CHAR, ATTRIBUTE9, p_ATTRIBUTE9),
305               ATTRIBUTE10 = decode( p_ATTRIBUTE10, FND_API.G_MISS_CHAR, ATTRIBUTE10, p_ATTRIBUTE10),
306               ATTRIBUTE11 = decode( p_ATTRIBUTE11, FND_API.G_MISS_CHAR, ATTRIBUTE11, p_ATTRIBUTE11),
307               ATTRIBUTE12 = decode( p_ATTRIBUTE12, FND_API.G_MISS_CHAR, ATTRIBUTE12, p_ATTRIBUTE12),
308               ATTRIBUTE13 = decode( p_ATTRIBUTE13, FND_API.G_MISS_CHAR, ATTRIBUTE13, p_ATTRIBUTE13),
309               ATTRIBUTE14 = decode( p_ATTRIBUTE14, FND_API.G_MISS_CHAR, ATTRIBUTE14, p_ATTRIBUTE14),
310               ATTRIBUTE15 = decode( p_ATTRIBUTE15, FND_API.G_MISS_CHAR, ATTRIBUTE15, p_ATTRIBUTE15),
311               CREDIT_TYPE_ID = decode( p_CREDIT_TYPE_ID, FND_API.G_MISS_NUM, CREDIT_TYPE_ID, p_CREDIT_TYPE_ID),
312               WORST_FORECAST_AMOUNT_FLAG = decode( p_WORST_FORECAST_AMOUNT_FLAG, FND_API.G_MISS_CHAR, WORST_FORECAST_AMOUNT_FLAG, p_WORST_FORECAST_AMOUNT_FLAG),
313               FORECAST_AMOUNT_FLAG = decode( p_FORECAST_AMOUNT_FLAG, FND_API.G_MISS_CHAR, FORECAST_AMOUNT_FLAG, p_FORECAST_AMOUNT_FLAG),
314               BEST_FORECAST_AMOUNT_FLAG = decode( p_BEST_FORECAST_AMOUNT_FLAG, FND_API.G_MISS_CHAR, BEST_FORECAST_AMOUNT_FLAG, p_BEST_FORECAST_AMOUNT_FLAG),
315               WEIGHTED_PIPELINE_AMOUNT_FLAG = decode( p_WTD_PIPE_AMOUNT_FLAG, FND_API.G_MISS_CHAR, WEIGHTED_PIPELINE_AMOUNT_FLAG, p_WTD_PIPE_AMOUNT_FLAG),
316               PIPELINE_AMOUNT_FLAG = decode( p_PIPELINE_AMOUNT_FLAG, FND_API.G_MISS_CHAR, PIPELINE_AMOUNT_FLAG, p_PIPELINE_AMOUNT_FLAG),
317               WON_PIPELINE_AMOUNT_FLAG = decode( p_WON_PIPELINE_AMOUNT_FLAG, FND_API.G_MISS_CHAR, WON_PIPELINE_AMOUNT_FLAG, p_WON_PIPELINE_AMOUNT_FLAG),
318               QUOTA_AMOUNT_FLAG = decode( p_QUOTA_AMOUNT_FLAG, FND_API.G_MISS_CHAR, QUOTA_AMOUNT_FLAG, p_QUOTA_AMOUNT_FLAG),
319               START_DATE_ACTIVE = decode( p_START_DATE_ACTIVE, FND_API.G_MISS_DATE, START_DATE_ACTIVE, p_START_DATE_ACTIVE),
320               END_DATE_ACTIVE = decode( p_END_DATE_ACTIVE, FND_API.G_MISS_DATE, END_DATE_ACTIVE, p_END_DATE_ACTIVE),
321               ACTIVE_FLAG = decode( p_ACTIVE_FLAG, FND_API.G_MISS_CHAR, ACTIVE_FLAG, p_ACTIVE_FLAG),
322               FORECAST_CATEGORY_ID = decode( p_FORECAST_CATEGORY_ID, FND_API.G_MISS_NUM, FORECAST_CATEGORY_ID, p_FORECAST_CATEGORY_ID)
323 
324               /*
325               CREATED_BY = decode( p_CREATED_BY, NULL,CREATED_BY, FND_API.G_MISS_NUM, NULL, p_CREATED_BY),
326               CREATION_DATE = decode( p_CREATION_DATE, NULL, CREATION_DATE,FND_API.G_MISS_DATE,NULL, p_CREATION_DATE),
327               LAST_UPDATED_BY = decode( p_LAST_UPDATED_BY, NULL, LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL,p_LAST_UPDATED_BY),
328               LAST_UPDATE_DATE = decode( p_LAST_UPDATE_DATE, NULL, LAST_UPDATE_DATE,FND_API.G_MISS_DATE,NULL,  p_LAST_UPDATE_DATE),
329               LAST_UPDATE_LOGIN = decode( p_LAST_UPDATE_LOGIN, NULL, LAST_UPDATE_LOGIN,FND_API.G_MISS_NUM,NULL,  p_LAST_UPDATE_LOGIN),
330               REQUEST_ID = decode( p_REQUEST_ID, NULL,REQUEST_ID, FND_API.G_MISS_NUM,NULL,  p_REQUEST_ID),
334               CURRENCY_CODE = decode( p_CURRENCY_CODE, NULL, CURRENCY_CODE,FND_API.G_MISS_CHAR,NULL,  p_CURRENCY_CODE),
331               PROGRAM_APPLICATION_ID = decode( p_PROGRAM_APPLICATION_ID, NULL,PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM,NULL,p_PROGRAM_APPLICATION_ID),
332               PROGRAM_ID = decode( p_PROGRAM_ID, NULL, PROGRAM_ID, FND_API.G_MISS_NUM, NULL, p_PROGRAM_ID),
333               PROGRAM_UPDATE_DATE = decode( p_PROGRAM_UPDATE_DATE, NULL, PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE,NULL, p_PROGRAM_UPDATE_DATE),
335               START_DATE_ACTIVE = decode( p_START_DATE_ACTIVE, NULL,START_DATE_ACTIVE, FND_API.G_MISS_DATE, NULL, p_START_DATE_ACTIVE),
336               END_DATE_ACTIVE = decode( p_END_DATE_ACTIVE, NULL, END_DATE_ACTIVE, FND_API.G_MISS_DATE, NULL, p_END_DATE_ACTIVE),
337               STATUS_CODE = decode( p_STATUS_CODE, NULL,  STATUS_CODE, FND_API.G_MISS_CHAR,NULL, p_STATUS_CODE),
338 
339               SUBMISSION_DATE = decode( p_SUBMISSION_DATE, NULL, SUBMISSION_DATE,FND_API.G_MISS_DATE,NULL, p_SUBMISSION_DATE),
340               --PARTNER_ADDRESS_ID = decode( p_PARTNER_ADDRESS_ID, FND_API.G_MISS_NUM, PARTNER_ADDRESS_ID, p_PARTNER_ADDRESS_ID),
341               --PARTNER_CUSTOMER_ID = decode( p_PARTNER_CUSTOMER_ID, FND_API.G_MISS_NUM, PARTNER_CUSTOMER_ID, p_PARTNER_CUSTOMER_ID),
342               WEIGHTED_PIPELINE_AMOUNT = decode( p_WEIGHTED_PIPELINE_AMOUNT, NULL, WEIGHTED_PIPELINE_AMOUNT, FND_API.G_MISS_NUM,NULL, p_WEIGHTED_PIPELINE_AMOUNT),
343               PIPELINE_AMOUNT = decode( p_PIPELINE_AMOUNT, NULL, PIPELINE_AMOUNT, FND_API.G_MISS_NUM,NULL, p_PIPELINE_AMOUNT),
344               WON_PIPELINE_AMOUNT = decode( p_WON_PIPELINE_AMOUNT, NULL, WON_PIPELINE_AMOUNT,FND_API.G_MISS_NUM, NULL, p_WON_PIPELINE_AMOUNT),
345               QUOTA_AMOUNT = decode( p_QUOTA_AMOUNT, NULL, QUOTA_AMOUNT,FND_API.G_MISS_NUM, NULL, p_QUOTA_AMOUNT),
346               ORIGINAL_FORECAST_ID = decode( p_ORIGINAL_FORECAST_ID, NULL, ORIGINAL_FORECAST_ID,FND_API.G_MISS_NUM,nULL,  p_ORIGINAL_FORECAST_ID),
347               --WORKSHEET_TYPE = decode( p_WORKSHEET_TYPE, FND_API.G_MISS_CHAR, WORKSHEET_TYPE, p_WORKSHEET_TYPE),
348               --REVENUE_FLAG = decode( p_REVENUE_FLAG, FND_API.G_MISS_CHAR, REVENUE_FLAG, p_REVENUE_FLAG),
349               WEIGHTED_PIPELINE_AMOUNT_FLAG = decode( p_WTD_PIPE_AMOUNT_FLAG, NULL, WEIGHTED_PIPELINE_AMOUNT_FLAG,FND_API.G_MISS_CHAR,NULL,  p_WTD_PIPE_AMOUNT_FLAG),
350               PIPELINE_AMOUNT_FLAG = decode( p_PIPELINE_AMOUNT_FLAG, NULL, PIPELINE_AMOUNT_FLAG,FND_API.G_MISS_CHAR,NULL,  p_PIPELINE_AMOUNT_FLAG),
351               WON_PIPELINE_AMOUNT_FLAG = decode( p_WON_PIPELINE_AMOUNT_FLAG, NULL, WON_PIPELINE_AMOUNT_FLAG,FND_API.G_MISS_CHAR,NULL,  p_WON_PIPELINE_AMOUNT_FLAG),
352               --QUOTA_AMOUNT_FLAG = decode( p_QUOTA_AMOUNT_FLAG, FND_API.G_MISS_CHAR, QUOTA_AMOUNT_FLAG, p_QUOTA_AMOUNT_FLAG),
353               --ACTIVE_FLAG = decode( p_ACTIVE_FLAG, FND_API.G_MISS_CHAR, ACTIVE_FLAG, p_ACTIVE_FLAG),
354 
355               ATTRIBUTE_CATEGORY = decode( p_ATTRIBUTE_CATEGORY, NULL,ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE_CATEGORY),
356               ATTRIBUTE1 = decode( p_ATTRIBUTE1, NULL, ATTRIBUTE1,FND_API.G_MISS_CHAR,NULL,  p_ATTRIBUTE1),
357               ATTRIBUTE2 = decode( p_ATTRIBUTE2, NULL, ATTRIBUTE2,FND_API.G_MISS_CHAR,nULL,  p_ATTRIBUTE2),
358               ATTRIBUTE3 = decode( p_ATTRIBUTE3, NULL, ATTRIBUTE3,FND_API.G_MISS_CHAR,NULL,  p_ATTRIBUTE3),
359               ATTRIBUTE4 = decode( p_ATTRIBUTE4, NULL, ATTRIBUTE4,FND_API.G_MISS_CHAR,NULL,  p_ATTRIBUTE4),
360               ATTRIBUTE5 = decode( p_ATTRIBUTE5, NULL, ATTRIBUTE5,FND_API.G_MISS_CHAR,NULL,  p_ATTRIBUTE5),
361               ATTRIBUTE6 = decode( p_ATTRIBUTE6, NULL, ATTRIBUTE6,FND_API.G_MISS_CHAR,NULL,  p_ATTRIBUTE6),
362               ATTRIBUTE7 = decode( p_ATTRIBUTE7, NULL, ATTRIBUTE7,FND_API.G_MISS_CHAR,NULL,  p_ATTRIBUTE7),
363               ATTRIBUTE8 = decode( p_ATTRIBUTE8, NULL, ATTRIBUTE8,FND_API.G_MISS_CHAR,NULL, p_ATTRIBUTE8),
364               ATTRIBUTE9 = decode( p_ATTRIBUTE9, NULL, ATTRIBUTE9,FND_API.G_MISS_CHAR,NULL, p_ATTRIBUTE9),
365               ATTRIBUTE10 = decode( p_ATTRIBUTE10, NULL,  ATTRIBUTE10,FND_API.G_MISS_CHAR, NULL, p_ATTRIBUTE10),
366               ATTRIBUTE11 = decode( p_ATTRIBUTE11, NULL, ATTRIBUTE11,FND_API.G_MISS_CHAR,NULL,  p_ATTRIBUTE11),
367               ATTRIBUTE12 = decode( p_ATTRIBUTE12, NULL, ATTRIBUTE12,FND_API.G_MISS_CHAR,NULL,  p_ATTRIBUTE12),
368               ATTRIBUTE13 = decode( p_ATTRIBUTE13, NULL, ATTRIBUTE13,FND_API.G_MISS_CHAR,NULL,  p_ATTRIBUTE13),
369               ATTRIBUTE14 = decode( p_ATTRIBUTE14, NULL, ATTRIBUTE14,FND_API.G_MISS_CHAR,NULL,  p_ATTRIBUTE14),
370               ATTRIBUTE15 = decode( p_ATTRIBUTE15, NULL, ATTRIBUTE15, FND_API.G_MISS_CHAR,NULL,  p_ATTRIBUTE15),
371 
372               SALESFORCE_ID = decode( p_SALESFORCE_ID, NULL, SALESFORCE_ID,FND_API.G_MISS_NUM,NULL,  p_SALESFORCE_ID),
373               SALES_GROUP_ID = decode( p_SALES_GROUP_ID, NULL, SALES_GROUP_ID,FND_API.G_MISS_NUM,NULL,  p_SALES_GROUP_ID),
374               EMPLOYEE_PERSON_ID = decode( p_EMPLOYEE_PERSON_ID, NULL, EMPLOYEE_PERSON_ID,FND_API.G_MISS_NUM, NULL, p_EMPLOYEE_PERSON_ID),
375               PERIOD_NAME = decode( p_PERIOD_NAME, NULL, PERIOD_NAME,FND_API.G_MISS_CHAR,NULL,  p_PERIOD_NAME),
376               CREDIT_TYPE_ID = decode( p_CREDIT_TYPE_ID, NULL, CREDIT_TYPE_ID,FND_API.G_MISS_NUM, NULL, p_CREDIT_TYPE_ID),
377               WORST_FORECAST_AMOUNT_FLAG = decode( p_WORST_FORECAST_AMOUNT_FLAG, NULL,WORST_FORECAST_AMOUNT_FLAG, FND_API.G_MISS_CHAR, NULL, p_WORST_FORECAST_AMOUNT_FLAG),
378               WORST_FORECAST_AMOUNT = decode( p_WORST_FORECAST_AMOUNT, NULL, WORST_FORECAST_AMOUNT,FND_API.G_MISS_NUM,NULL,  p_WORST_FORECAST_AMOUNT),
379               FORECAST_AMOUNT_FLAG = decode( p_FORECAST_AMOUNT_FLAG, FND_API.G_MISS_CHAR, FORECAST_AMOUNT_FLAG, p_FORECAST_AMOUNT_FLAG),
380               FORECAST_AMOUNT = decode( p_FORECAST_AMOUNT, NULL,FORECAST_AMOUNT, FND_API.G_MISS_NUM, NULL, p_FORECAST_AMOUNT),
381               BEST_FORECAST_AMOUNT_FLAG = decode( p_BEST_FORECAST_AMOUNT_FLAG, NULL, BEST_FORECAST_AMOUNT_FLAG,FND_API.G_MISS_CHAR,NULL,  p_BEST_FORECAST_AMOUNT_FLAG),
382               BEST_FORECAST_AMOUNT = decode( p_BEST_FORECAST_AMOUNT, NULL, BEST_FORECAST_AMOUNT,FND_API.G_MISS_NUM, NULL, p_BEST_FORECAST_AMOUNT),
383               FORECAST_ID = decode( p_FORECAST_ID, NULL, FORECAST_ID,FND_API.G_MISS_NUM,NULL,  p_FORECAST_ID),
387    where FORECAST_ID = p_FORECAST_ID;
384               FORECAST_CATEGORY_ID = decode( p_FORECAST_CATEGORY_ID, NULL,FORECAST_CATEGORY_ID, FND_API.G_MISS_NUM, NULL, p_FORECAST_CATEGORY_ID)
385             */
386 
388 
389     If (SQL%NOTFOUND) then
390         RAISE NO_DATA_FOUND;
391     End If;
392 END Update_Row;
393 
394 PROCEDURE Delete_Row(
395     p_FORECAST_ID  NUMBER)
396  IS
397  BEGIN
398    DELETE FROM AS_INTERNAL_FORECASTS
399     WHERE FORECAST_ID = p_FORECAST_ID;
400    If (SQL%NOTFOUND) then
401        RAISE NO_DATA_FOUND;
402    End If;
403  END Delete_Row;
404 
405 PROCEDURE Lock_Row(
406           p_FORECAST_ID    NUMBER,
407           p_CREATED_BY    NUMBER,
408           p_CREATION_DATE    DATE,
409           p_LAST_UPDATED_BY    NUMBER,
410           p_LAST_UPDATE_DATE    DATE,
411           p_LAST_UPDATE_LOGIN    NUMBER,
412           p_REQUEST_ID    NUMBER,
413           p_PROGRAM_APPLICATION_ID    NUMBER,
414           p_PROGRAM_ID    NUMBER,
415           p_PROGRAM_UPDATE_DATE    DATE,
416           p_SUBMISSION_DATE    DATE,
417           p_PERIOD_NAME    VARCHAR2,
418           p_SALESFORCE_ID    NUMBER,
419           p_EMPLOYEE_PERSON_ID    NUMBER,
420           p_SALES_GROUP_ID    NUMBER,
421           p_PARTNER_ADDRESS_ID    NUMBER,
422           p_PARTNER_CUSTOMER_ID    NUMBER,
423           p_CURRENCY_CODE    VARCHAR2,
424           p_WORST_FORECAST_AMOUNT    NUMBER,
425           p_FORECAST_AMOUNT    NUMBER,
426           p_BEST_FORECAST_AMOUNT    NUMBER,
427           p_WEIGHTED_PIPELINE_AMOUNT    NUMBER,
428           p_PIPELINE_AMOUNT    NUMBER,
429           p_WON_PIPELINE_AMOUNT    NUMBER,
430           p_QUOTA_AMOUNT    NUMBER,
431           p_ORIGINAL_FORECAST_ID    NUMBER,
432           p_STATUS_CODE    VARCHAR2,
433           p_WORKSHEET_TYPE    VARCHAR2,
434           p_REVENUE_FLAG    VARCHAR2,
435           p_ATTRIBUTE_CATEGORY    VARCHAR2,
436           p_ATTRIBUTE1    VARCHAR2,
437           p_ATTRIBUTE2    VARCHAR2,
438           p_ATTRIBUTE3    VARCHAR2,
439           p_ATTRIBUTE4    VARCHAR2,
440           p_ATTRIBUTE5    VARCHAR2,
441           p_ATTRIBUTE6    VARCHAR2,
442           p_ATTRIBUTE7    VARCHAR2,
443           p_ATTRIBUTE8    VARCHAR2,
444           p_ATTRIBUTE9    VARCHAR2,
445           p_ATTRIBUTE10    VARCHAR2,
446           p_ATTRIBUTE11    VARCHAR2,
447           p_ATTRIBUTE12    VARCHAR2,
448           p_ATTRIBUTE13    VARCHAR2,
449           p_ATTRIBUTE14    VARCHAR2,
450           p_ATTRIBUTE15    VARCHAR2,
451           p_CREDIT_TYPE_ID    NUMBER,
452           p_WORST_FORECAST_AMOUNT_FLAG    VARCHAR2,
453           p_FORECAST_AMOUNT_FLAG    VARCHAR2,
454           p_BEST_FORECAST_AMOUNT_FLAG    VARCHAR2,
455           p_WTD_PIPE_AMOUNT_FLAG    VARCHAR2,
456           p_PIPELINE_AMOUNT_FLAG    VARCHAR2,
457           p_WON_PIPELINE_AMOUNT_FLAG    VARCHAR2,
458           p_QUOTA_AMOUNT_FLAG    VARCHAR2,
459           p_START_DATE_ACTIVE    DATE,
460           p_END_DATE_ACTIVE    DATE,
461           p_ACTIVE_FLAG    VARCHAR2,
462           p_FORECAST_CATEGORY_ID    NUMBER)
463 
464  IS
465    CURSOR C IS
466         SELECT *
467          FROM AS_INTERNAL_FORECASTS
468         WHERE FORECAST_ID =  p_FORECAST_ID
469         FOR UPDATE of FORECAST_ID NOWAIT;
470    Recinfo C%ROWTYPE;
471  BEGIN
472     OPEN C;
473     FETCH C INTO Recinfo;
474     If (C%NOTFOUND) then
475         CLOSE C;
476         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
477         APP_EXCEPTION.RAISE_EXCEPTION;
478     End If;
479     CLOSE C;
480     if (
481            (      Recinfo.FORECAST_ID = p_FORECAST_ID)
482        AND (    ( Recinfo.CREATED_BY = p_CREATED_BY)
483             OR (    ( Recinfo.CREATED_BY IS NULL )
484                 AND (  p_CREATED_BY IS NULL )))
485        AND (    ( Recinfo.CREATION_DATE = p_CREATION_DATE)
486             OR (    ( Recinfo.CREATION_DATE IS NULL )
487                 AND (  p_CREATION_DATE IS NULL )))
488        AND (    ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
489             OR (    ( Recinfo.LAST_UPDATED_BY IS NULL )
490                 AND (  p_LAST_UPDATED_BY IS NULL )))
491        AND (    ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
492             OR (    ( Recinfo.LAST_UPDATE_DATE IS NULL )
493                 AND (  p_LAST_UPDATE_DATE IS NULL )))
494        AND (    ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
495             OR (    ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
496                 AND (  p_LAST_UPDATE_LOGIN IS NULL )))
497        AND (    ( Recinfo.REQUEST_ID = p_REQUEST_ID)
498             OR (    ( Recinfo.REQUEST_ID IS NULL )
499                 AND (  p_REQUEST_ID IS NULL )))
500        AND (    ( Recinfo.PROGRAM_APPLICATION_ID = p_PROGRAM_APPLICATION_ID)
504             OR (    ( Recinfo.PROGRAM_ID IS NULL )
501             OR (    ( Recinfo.PROGRAM_APPLICATION_ID IS NULL )
502                 AND (  p_PROGRAM_APPLICATION_ID IS NULL )))
503        AND (    ( Recinfo.PROGRAM_ID = p_PROGRAM_ID)
505                 AND (  p_PROGRAM_ID IS NULL )))
506        AND (    ( Recinfo.PROGRAM_UPDATE_DATE = p_PROGRAM_UPDATE_DATE)
507             OR (    ( Recinfo.PROGRAM_UPDATE_DATE IS NULL )
508                 AND (  p_PROGRAM_UPDATE_DATE IS NULL )))
509        AND (    ( Recinfo.SUBMISSION_DATE = p_SUBMISSION_DATE)
510             OR (    ( Recinfo.SUBMISSION_DATE IS NULL )
511                 AND (  p_SUBMISSION_DATE IS NULL )))
512        AND (    ( Recinfo.PERIOD_NAME = p_PERIOD_NAME)
513             OR (    ( Recinfo.PERIOD_NAME IS NULL )
514                 AND (  p_PERIOD_NAME IS NULL )))
515        AND (    ( Recinfo.SALESFORCE_ID = p_SALESFORCE_ID)
516             OR (    ( Recinfo.SALESFORCE_ID IS NULL )
517                 AND (  p_SALESFORCE_ID IS NULL )))
518        AND (    ( Recinfo.EMPLOYEE_PERSON_ID = p_EMPLOYEE_PERSON_ID)
519             OR (    ( Recinfo.EMPLOYEE_PERSON_ID IS NULL )
520                 AND (  p_EMPLOYEE_PERSON_ID IS NULL )))
521        AND (    ( Recinfo.SALES_GROUP_ID = p_SALES_GROUP_ID)
522             OR (    ( Recinfo.SALES_GROUP_ID IS NULL )
523                 AND (  p_SALES_GROUP_ID IS NULL )))
524        AND (    ( Recinfo.PARTNER_ADDRESS_ID = p_PARTNER_ADDRESS_ID)
525             OR (    ( Recinfo.PARTNER_ADDRESS_ID IS NULL )
526                 AND (  p_PARTNER_ADDRESS_ID IS NULL )))
527        AND (    ( Recinfo.PARTNER_CUSTOMER_ID = p_PARTNER_CUSTOMER_ID)
528             OR (    ( Recinfo.PARTNER_CUSTOMER_ID IS NULL )
529                 AND (  p_PARTNER_CUSTOMER_ID IS NULL )))
530        AND (    ( Recinfo.CURRENCY_CODE = p_CURRENCY_CODE)
531             OR (    ( Recinfo.CURRENCY_CODE IS NULL )
532                 AND (  p_CURRENCY_CODE IS NULL )))
533        AND (    ( Recinfo.WORST_FORECAST_AMOUNT = p_WORST_FORECAST_AMOUNT)
534             OR (    ( Recinfo.WORST_FORECAST_AMOUNT IS NULL )
535                 AND (  p_WORST_FORECAST_AMOUNT IS NULL )))
536        AND (    ( Recinfo.FORECAST_AMOUNT = p_FORECAST_AMOUNT)
537             OR (    ( Recinfo.FORECAST_AMOUNT IS NULL )
538                 AND (  p_FORECAST_AMOUNT IS NULL )))
539        AND (    ( Recinfo.BEST_FORECAST_AMOUNT = p_BEST_FORECAST_AMOUNT)
540             OR (    ( Recinfo.BEST_FORECAST_AMOUNT IS NULL )
541                 AND (  p_BEST_FORECAST_AMOUNT IS NULL )))
542        AND (    ( Recinfo.WEIGHTED_PIPELINE_AMOUNT = p_WEIGHTED_PIPELINE_AMOUNT)
543             OR (    ( Recinfo.WEIGHTED_PIPELINE_AMOUNT IS NULL )
544                 AND (  p_WEIGHTED_PIPELINE_AMOUNT IS NULL )))
545        AND (    ( Recinfo.PIPELINE_AMOUNT = p_PIPELINE_AMOUNT)
546             OR (    ( Recinfo.PIPELINE_AMOUNT IS NULL )
547                 AND (  p_PIPELINE_AMOUNT IS NULL )))
548        AND (    ( Recinfo.WON_PIPELINE_AMOUNT = p_WON_PIPELINE_AMOUNT)
549             OR (    ( Recinfo.WON_PIPELINE_AMOUNT IS NULL )
550                 AND (  p_WON_PIPELINE_AMOUNT IS NULL )))
551        AND (    ( Recinfo.QUOTA_AMOUNT = p_QUOTA_AMOUNT)
552             OR (    ( Recinfo.QUOTA_AMOUNT IS NULL )
553                 AND (  p_QUOTA_AMOUNT IS NULL )))
554        AND (    ( Recinfo.ORIGINAL_FORECAST_ID = p_ORIGINAL_FORECAST_ID)
555             OR (    ( Recinfo.ORIGINAL_FORECAST_ID IS NULL )
556                 AND (  p_ORIGINAL_FORECAST_ID IS NULL )))
557        AND (    ( Recinfo.STATUS_CODE = p_STATUS_CODE)
558             OR (    ( Recinfo.STATUS_CODE IS NULL )
559                 AND (  p_STATUS_CODE IS NULL )))
560        AND (    ( Recinfo.WORKSHEET_TYPE = p_WORKSHEET_TYPE)
561             OR (    ( Recinfo.WORKSHEET_TYPE IS NULL )
562                 AND (  p_WORKSHEET_TYPE IS NULL )))
563        AND (    ( Recinfo.REVENUE_FLAG = p_REVENUE_FLAG)
564             OR (    ( Recinfo.REVENUE_FLAG IS NULL )
565                 AND (  p_REVENUE_FLAG IS NULL )))
566        AND (    ( Recinfo.ATTRIBUTE_CATEGORY = p_ATTRIBUTE_CATEGORY)
567             OR (    ( Recinfo.ATTRIBUTE_CATEGORY IS NULL )
568                 AND (  p_ATTRIBUTE_CATEGORY IS NULL )))
569        AND (    ( Recinfo.ATTRIBUTE1 = p_ATTRIBUTE1)
570             OR (    ( Recinfo.ATTRIBUTE1 IS NULL )
571                 AND (  p_ATTRIBUTE1 IS NULL )))
572        AND (    ( Recinfo.ATTRIBUTE2 = p_ATTRIBUTE2)
573             OR (    ( Recinfo.ATTRIBUTE2 IS NULL )
574                 AND (  p_ATTRIBUTE2 IS NULL )))
575        AND (    ( Recinfo.ATTRIBUTE3 = p_ATTRIBUTE3)
576             OR (    ( Recinfo.ATTRIBUTE3 IS NULL )
577                 AND (  p_ATTRIBUTE3 IS NULL )))
578        AND (    ( Recinfo.ATTRIBUTE4 = p_ATTRIBUTE4)
579             OR (    ( Recinfo.ATTRIBUTE4 IS NULL )
580                 AND (  p_ATTRIBUTE4 IS NULL )))
581        AND (    ( Recinfo.ATTRIBUTE5 = p_ATTRIBUTE5)
582             OR (    ( Recinfo.ATTRIBUTE5 IS NULL )
583                 AND (  p_ATTRIBUTE5 IS NULL )))
584        AND (    ( Recinfo.ATTRIBUTE6 = p_ATTRIBUTE6)
585             OR (    ( Recinfo.ATTRIBUTE6 IS NULL )
586                 AND (  p_ATTRIBUTE6 IS NULL )))
587        AND (    ( Recinfo.ATTRIBUTE7 = p_ATTRIBUTE7)
591             OR (    ( Recinfo.ATTRIBUTE8 IS NULL )
588             OR (    ( Recinfo.ATTRIBUTE7 IS NULL )
589                 AND (  p_ATTRIBUTE7 IS NULL )))
590        AND (    ( Recinfo.ATTRIBUTE8 = p_ATTRIBUTE8)
592                 AND (  p_ATTRIBUTE8 IS NULL )))
593        AND (    ( Recinfo.ATTRIBUTE9 = p_ATTRIBUTE9)
594             OR (    ( Recinfo.ATTRIBUTE9 IS NULL )
595                 AND (  p_ATTRIBUTE9 IS NULL )))
596        AND (    ( Recinfo.ATTRIBUTE10 = p_ATTRIBUTE10)
597             OR (    ( Recinfo.ATTRIBUTE10 IS NULL )
598                 AND (  p_ATTRIBUTE10 IS NULL )))
599        AND (    ( Recinfo.ATTRIBUTE11 = p_ATTRIBUTE11)
600             OR (    ( Recinfo.ATTRIBUTE11 IS NULL )
601                 AND (  p_ATTRIBUTE11 IS NULL )))
602        AND (    ( Recinfo.ATTRIBUTE12 = p_ATTRIBUTE12)
603             OR (    ( Recinfo.ATTRIBUTE12 IS NULL )
604                 AND (  p_ATTRIBUTE12 IS NULL )))
605        AND (    ( Recinfo.ATTRIBUTE13 = p_ATTRIBUTE13)
606             OR (    ( Recinfo.ATTRIBUTE13 IS NULL )
607                 AND (  p_ATTRIBUTE13 IS NULL )))
608        AND (    ( Recinfo.ATTRIBUTE14 = p_ATTRIBUTE14)
609             OR (    ( Recinfo.ATTRIBUTE14 IS NULL )
610                 AND (  p_ATTRIBUTE14 IS NULL )))
611        AND (    ( Recinfo.ATTRIBUTE15 = p_ATTRIBUTE15)
612             OR (    ( Recinfo.ATTRIBUTE15 IS NULL )
613                 AND (  p_ATTRIBUTE15 IS NULL )))
614        AND (    ( Recinfo.CREDIT_TYPE_ID = p_CREDIT_TYPE_ID)
615             OR (    ( Recinfo.CREDIT_TYPE_ID IS NULL )
616                 AND (  p_CREDIT_TYPE_ID IS NULL )))
617        AND (    ( Recinfo.WORST_FORECAST_AMOUNT_FLAG = p_WORST_FORECAST_AMOUNT_FLAG)
618             OR (    ( Recinfo.WORST_FORECAST_AMOUNT_FLAG IS NULL )
619                 AND (  p_WORST_FORECAST_AMOUNT_FLAG IS NULL )))
620        AND (    ( Recinfo.FORECAST_AMOUNT_FLAG = p_FORECAST_AMOUNT_FLAG)
621             OR (    ( Recinfo.FORECAST_AMOUNT_FLAG IS NULL )
622                 AND (  p_FORECAST_AMOUNT_FLAG IS NULL )))
623        AND (    ( Recinfo.BEST_FORECAST_AMOUNT_FLAG = p_BEST_FORECAST_AMOUNT_FLAG)
624             OR (    ( Recinfo.BEST_FORECAST_AMOUNT_FLAG IS NULL )
625                 AND (  p_BEST_FORECAST_AMOUNT_FLAG IS NULL )))
626        AND (    ( Recinfo.WEIGHTED_PIPELINE_AMOUNT_FLAG = p_WTD_PIPE_AMOUNT_FLAG)
627             OR (    ( Recinfo.WEIGHTED_PIPELINE_AMOUNT_FLAG IS NULL )
628                 AND (  p_WTD_PIPE_AMOUNT_FLAG IS NULL )))
629        AND (    ( Recinfo.PIPELINE_AMOUNT_FLAG = p_PIPELINE_AMOUNT_FLAG)
630             OR (    ( Recinfo.PIPELINE_AMOUNT_FLAG IS NULL )
631                 AND (  p_PIPELINE_AMOUNT_FLAG IS NULL )))
632        AND (    ( Recinfo.WON_PIPELINE_AMOUNT_FLAG = p_WON_PIPELINE_AMOUNT_FLAG)
633             OR (    ( Recinfo.WON_PIPELINE_AMOUNT_FLAG IS NULL )
634                 AND (  p_WON_PIPELINE_AMOUNT_FLAG IS NULL )))
635        AND (    ( Recinfo.QUOTA_AMOUNT_FLAG = p_QUOTA_AMOUNT_FLAG)
636             OR (    ( Recinfo.QUOTA_AMOUNT_FLAG IS NULL )
637                 AND (  p_QUOTA_AMOUNT_FLAG IS NULL )))
638        AND (    ( Recinfo.START_DATE_ACTIVE = p_START_DATE_ACTIVE)
639             OR (    ( Recinfo.START_DATE_ACTIVE IS NULL )
640                 AND (  p_START_DATE_ACTIVE IS NULL )))
641        AND (    ( Recinfo.END_DATE_ACTIVE = p_END_DATE_ACTIVE)
642             OR (    ( Recinfo.END_DATE_ACTIVE IS NULL )
643                 AND (  p_END_DATE_ACTIVE IS NULL )))
644        AND (    ( Recinfo.ACTIVE_FLAG = p_ACTIVE_FLAG)
645             OR (    ( Recinfo.ACTIVE_FLAG IS NULL )
646                 AND (  p_ACTIVE_FLAG IS NULL )))
647        AND (    ( Recinfo.FORECAST_CATEGORY_ID = p_FORECAST_CATEGORY_ID)
648             OR (    ( Recinfo.FORECAST_CATEGORY_ID IS NULL )
649                 AND (  p_FORECAST_CATEGORY_ID IS NULL )))
650        ) then
651        return;
652    else
653        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
654        APP_EXCEPTION.RAISE_EXCEPTION;
655    End If;
656 END Lock_Row;
657 
658 End AS_INTERNAL_FORECASTS_PKG;