DBA Data[Home] [Help]

PACKAGE BODY: APPS.AS_FORECAST_WORKSHEETS_PKG

Source


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