DBA Data[Home] [Help]

PACKAGE BODY: APPS.AS_PROD_WORKSHEET_LINES_PKG

Source


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