DBA Data[Home] [Help]

PACKAGE BODY: APPS.FINANCIALS_PURGES_PKG

Source


1 PACKAGE BODY FINANCIALS_PURGES_PKG as
2 /* $Header: apifipub.pls 120.3 2004/10/28 00:02:56 pjena noship $ */
3 
4   PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2,
5 
6                        X_Purge_Name                     VARCHAR2,
7                        X_Creation_Date                  DATE,
8                        X_Created_By                     NUMBER,
9                        X_Last_Update_Date               DATE,
10                        X_Last_Updated_By                NUMBER,
11                        X_Last_Update_Login              NUMBER,
12                        X_Category                       VARCHAR2,
13                        X_Status                         VARCHAR2,
14                        X_Activity_Date                  DATE DEFAULT NULL,
15                        X_Ap_Checks                      NUMBER DEFAULT NULL,
16                        X_Ap_Invoice_Payments            NUMBER DEFAULT NULL,
17                        X_Ap_Payment_Schedules           NUMBER DEFAULT NULL,
18                        X_Ap_Recurring_Payments          NUMBER DEFAULT NULL,
19                        X_Ap_Trial_Balance               NUMBER DEFAULT NULL,
20                        X_Ap_Holds                       NUMBER DEFAULT NULL,
21                        X_Ap_Invoice_Distributions       NUMBER DEFAULT NULL,
22                        X_Ap_Batches                     NUMBER DEFAULT NULL,
23                        X_Ap_Invoices                    NUMBER DEFAULT NULL,
24                        X_Po_Requisition_Headers         NUMBER DEFAULT NULL,
25                        X_Po_Requisition_Lines           NUMBER DEFAULT NULL,
26                        X_Po_Req_Distributions           NUMBER DEFAULT NULL,
27                        X_Po_Approvals                   NUMBER DEFAULT NULL,
28                        X_Po_Headers                     NUMBER DEFAULT NULL,
29                        X_Po_Lines                       NUMBER DEFAULT NULL,
30                        X_Po_Line_Locations              NUMBER DEFAULT NULL,
31                        X_Po_Distributions               NUMBER DEFAULT NULL,
32                        X_Po_Releases                    NUMBER DEFAULT NULL,
33                        X_Po_Item_History                NUMBER DEFAULT NULL,
34                        X_Po_Acceptances                 NUMBER DEFAULT NULL,
35                        X_Po_Notes                       NUMBER DEFAULT NULL,
36                        X_Po_Note_References             NUMBER DEFAULT NULL,
37                        X_Po_Receipts                    NUMBER DEFAULT NULL,
38                        X_Po_Deliveries                  NUMBER DEFAULT NULL,
39                        X_Po_Quality_Inspections         NUMBER DEFAULT NULL,
40                        X_Po_Vendors                     NUMBER DEFAULT NULL,
41                        X_Po_Vendor_Sites                NUMBER DEFAULT NULL,
42                        X_Po_Vendor_Contacts             NUMBER DEFAULT NULL,
43                        X_Po_Headers_Archive             NUMBER DEFAULT NULL,
44                        X_Po_Lines_Archive               NUMBER DEFAULT NULL,
45                        X_Po_Line_Locations_Archive      NUMBER DEFAULT NULL,
46                        X_Po_Vendor_List_Headers         NUMBER DEFAULT NULL,
47                        X_Po_Vendor_List_Entries         NUMBER DEFAULT NULL,
48                        X_Po_Notifications               NUMBER DEFAULT NULL,
49                        X_Po_Accrual_Reconcile_Temp      NUMBER DEFAULT NULL,
50                        X_Po_Blanket_Items               NUMBER DEFAULT NULL,
51                        X_Po_Receipt_Headers             NUMBER DEFAULT NULL,
52                        X_Organization_Id                NUMBER DEFAULT NULL,
53                        X_Po_Approved_Supplier_List      NUMBER DEFAULT NULL,
54                        X_Po_Asl_Attributes              NUMBER DEFAULT NULL,
55                        X_Po_Asl_Documents               NUMBER DEFAULT NULL,
56                        X_Chv_Authorizations             NUMBER DEFAULT NULL,
57                        X_Chv_Cum_Adjustments            NUMBER DEFAULT NULL,
58                        X_Chv_Cum_Periods                NUMBER DEFAULT NULL,
59                        X_Chv_Cum_Period_Items           NUMBER DEFAULT NULL,
60                        X_Chv_Horizontal_Schedules       NUMBER DEFAULT NULL,
61                        X_Chv_Item_Orders                NUMBER DEFAULT NULL,
62                        X_Chv_Schedule_Headers           NUMBER DEFAULT NULL,
63                        X_Chv_Schedule_Items             NUMBER DEFAULT NULL,
64                        X_Mrp_Sr_Source_Org              NUMBER DEFAULT NULL,
65                        X_Mrp_Item_Sourcing              NUMBER DEFAULT NULL,
66                        X_Action                         VARCHAR2 DEFAULT NULL,
67 		       X_calling_sequence	IN	VARCHAR2,
68                        X_Org_Id                         NUMBER
69   ) IS
70     CURSOR C IS SELECT rowid FROM FINANCIALS_PURGES
71                  WHERE purge_name = X_Purge_Name;
72     current_calling_sequence	VARCHAR2(2000);
73     debug_info			VARCHAR2(100);
74    BEGIN
75 
76 --     Update the calling sequence
77 --
78        current_calling_sequence := 'FINANCIALS_PURGES_PKG.INSERT_ROW<-' ||
79                                     X_calling_sequence;
80 
81 
82        debug_info := 'Insert into FINANCIALS_PURGES';
83 
84        INSERT INTO FINANCIALS_PURGES(
85 
86               purge_name,
87               creation_date,
88               created_by,
89               last_update_date,
90               last_updated_by,
91               last_update_login,
92               category,
93               status,
94               activity_date,
95               ap_checks,
96               ap_invoice_payments,
97               ap_payment_schedules,
98               ap_recurring_payments,
99               ap_trial_balance,
100               ap_holds,
101               ap_invoice_distributions,
102               ap_batches,
103               ap_invoices,
104               po_requisition_headers,
105               po_requisition_lines,
106               po_req_distributions,
107               po_approvals,
108               po_headers,
109               po_lines,
110               po_line_locations,
111               po_distributions,
112               po_releases,
113               po_item_history,
114               po_acceptances,
115               po_notes,
116               po_note_references,
117               po_receipts,
118               po_deliveries,
119               po_quality_inspections,
120               po_vendors,
121               po_vendor_sites,
122               po_vendor_contacts,
123               po_headers_archive,
124               po_lines_archive,
125               po_line_locations_archive,
126               po_vendor_list_headers,
127               po_vendor_list_entries,
128               po_notifications,
129               po_accrual_reconcile_temp,
130               po_blanket_items,
131               po_receipt_headers,
132               Organization_Id,
133               Po_Approved_Supplier_List,
134               Po_Asl_Attributes,
135               Po_Asl_Documents,
136               Chv_Authorizations,
137               Chv_Cum_Adjustments,
138               Chv_Cum_Periods,
139               Chv_Cum_Period_Items,
140               Chv_Horizontal_Schedules,
141               Chv_Item_Orders,
142               Chv_Schedule_Headers,
143               Chv_Schedule_Items,
144               Mrp_Sr_Source_Org,
145               Mrp_Item_Sourcing,
146               action,
147               org_id
148              ) VALUES (
149 
150               X_Purge_Name,
151               X_Creation_Date,
152               X_Created_By,
153               X_Last_Update_Date,
154               X_Last_Updated_By,
155               X_Last_Update_Login,
156               X_Category,
157               X_Status,
158               X_Activity_Date,
159               X_Ap_Checks,
160               X_Ap_Invoice_Payments,
161               X_Ap_Payment_Schedules,
162               X_Ap_Recurring_Payments,
163               X_Ap_Trial_Balance,
164               X_Ap_Holds,
165               X_Ap_Invoice_Distributions,
166               X_Ap_Batches,
167               X_Ap_Invoices,
168               X_Po_Requisition_Headers,
169               X_Po_Requisition_Lines,
170               X_Po_Req_Distributions,
171               X_Po_Approvals,
172               X_Po_Headers,
173               X_Po_Lines,
174               X_Po_Line_Locations,
175               X_Po_Distributions,
176               X_Po_Releases,
177               X_Po_Item_History,
178               X_Po_Acceptances,
179               X_Po_Notes,
180               X_Po_Note_References,
181               X_Po_Receipts,
182               X_Po_Deliveries,
183               X_Po_Quality_Inspections,
184               X_Po_Vendors,
185               X_Po_Vendor_Sites,
186               X_Po_Vendor_Contacts,
187               X_Po_Headers_Archive,
188               X_Po_Lines_Archive,
189               X_Po_Line_Locations_Archive,
190               X_Po_Vendor_List_Headers,
191               X_Po_Vendor_List_Entries,
192               X_Po_Notifications,
193               X_Po_Accrual_Reconcile_Temp,
194               X_Po_Blanket_Items,
195               X_Po_Receipt_Headers,
196               X_Organization_Id,
197               X_Po_Approved_Supplier_List,
198               X_Po_Asl_Attributes,
199               X_Po_Asl_Documents,
200               X_Chv_Authorizations,
201               X_Chv_Cum_Adjustments,
202               X_Chv_Cum_Periods,
203               X_Chv_Cum_Period_Items,
204               X_Chv_Horizontal_Schedules,
205               X_Chv_Item_Orders,
206               X_Chv_Schedule_Headers,
207               X_Chv_Schedule_Items,
208               X_Mrp_Sr_Source_Org,
209               X_Mrp_Item_Sourcing,
210               X_Action,
211               X_Org_Id
212              );
213 
214     debug_info := 'Open cursor C';
215     OPEN C;
216 
217     debug_info := 'Fetch cursor C';
218     FETCH C INTO X_Rowid;
219     if (C%NOTFOUND) then
220       debug_info := 'Close cursor C - DATA NOTFOUND';
221       CLOSE C;
222       Raise NO_DATA_FOUND;
223     end if;
224     debug_info := 'Close cursor C';
225     CLOSE C;
226 
227 
228     EXCEPTION
229         WHEN OTHERS THEN
230            IF (SQLCODE <> -20001) THEN
231               FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
232               FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
233               FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
234               FND_MESSAGE.SET_TOKEN('PARAMETERS','ROWID = ' || X_Rowid ||
235                                     ', PURGE_NAME = ' || X_Purge_name);
236               FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
237            END IF;
238            APP_EXCEPTION.RAISE_EXCEPTION;
239 
240   END Insert_Row;
241 
242   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
243 
244                      X_Purge_Name                       VARCHAR2,
245                      X_Category                         VARCHAR2,
246                      X_Status                           VARCHAR2,
247                      X_Activity_Date                    DATE DEFAULT NULL,
248                      X_Ap_Checks                        NUMBER DEFAULT NULL,
249                      X_Ap_Invoice_Payments              NUMBER DEFAULT NULL,
250                      X_Ap_Payment_Schedules             NUMBER DEFAULT NULL,
251                      X_Ap_Recurring_Payments            NUMBER DEFAULT NULL,
252                      X_Ap_Trial_Balance                 NUMBER DEFAULT NULL,
253                      X_Ap_Holds                         NUMBER DEFAULT NULL,
254                      X_Ap_Invoice_Distributions         NUMBER DEFAULT NULL,
255                      X_Ap_Batches                       NUMBER DEFAULT NULL,
256                      X_Ap_Invoices                      NUMBER DEFAULT NULL,
257                      X_Po_Requisition_Headers           NUMBER DEFAULT NULL,
258                      X_Po_Requisition_Lines             NUMBER DEFAULT NULL,
259                      X_Po_Req_Distributions             NUMBER DEFAULT NULL,
260                      X_Po_Approvals                     NUMBER DEFAULT NULL,
261                      X_Po_Headers                       NUMBER DEFAULT NULL,
262                      X_Po_Lines                         NUMBER DEFAULT NULL,
263                      X_Po_Line_Locations                NUMBER DEFAULT NULL,
264                      X_Po_Distributions                 NUMBER DEFAULT NULL,
265                      X_Po_Releases                      NUMBER DEFAULT NULL,
266                      X_Po_Item_History                  NUMBER DEFAULT NULL,
267                      X_Po_Acceptances                   NUMBER DEFAULT NULL,
268                      X_Po_Notes                         NUMBER DEFAULT NULL,
269                      X_Po_Note_References               NUMBER DEFAULT NULL,
270                      X_Po_Receipts                      NUMBER DEFAULT NULL,
271                      X_Po_Deliveries                    NUMBER DEFAULT NULL,
272                      X_Po_Quality_Inspections           NUMBER DEFAULT NULL,
273                      X_Po_Vendors                       NUMBER DEFAULT NULL,
274                      X_Po_Vendor_Sites                  NUMBER DEFAULT NULL,
275                      X_Po_Vendor_Contacts               NUMBER DEFAULT NULL,
276                      X_Po_Headers_Archive               NUMBER DEFAULT NULL,
277                      X_Po_Lines_Archive                 NUMBER DEFAULT NULL,
278                      X_Po_Line_Locations_Archive        NUMBER DEFAULT NULL,
279                      X_Po_Vendor_List_Headers           NUMBER DEFAULT NULL,
280                      X_Po_Vendor_List_Entries           NUMBER DEFAULT NULL,
281                      X_Po_Notifications                 NUMBER DEFAULT NULL,
282                      X_Po_Accrual_Reconcile_Temp        NUMBER DEFAULT NULL,
283                      X_Po_Blanket_Items                 NUMBER DEFAULT NULL,
284                      X_Po_Receipt_Headers               NUMBER DEFAULT NULL,
285                      X_Organization_Id			NUMBER DEFAULT NULL,
286                      X_Po_Approved_Supplier_List	NUMBER DEFAULT NULL,
287                      X_Po_Asl_Attributes		NUMBER DEFAULT NULL,
288                      X_Po_Asl_Documents			NUMBER DEFAULT NULL,
289                      X_Chv_Authorizations		NUMBER DEFAULT NULL,
290                      X_Chv_Cum_Adjustments		NUMBER DEFAULT NULL,
291                      X_Chv_Cum_Periods			NUMBER DEFAULT NULL,
292                      X_Chv_Cum_Period_Items		NUMBER DEFAULT NULL,
293                      X_Chv_Horizontal_Schedules		NUMBER DEFAULT NULL,
294                      X_Chv_Item_Orders			NUMBER DEFAULT NULL,
295                      X_Chv_Schedule_Headers		NUMBER DEFAULT NULL,
296                      X_Chv_Schedule_Items		NUMBER DEFAULT NULL,
297                      X_Mrp_Sr_Source_Org		NUMBER DEFAULT NULL,
298                      X_Mrp_Item_Sourcing		NUMBER DEFAULT NULL,
299                      X_Action                           VARCHAR2 DEFAULT NULL,
300                      X_calling_sequence			VARCHAR2,
301                      X_Org_Id                           NUMBER
302   ) IS
303     CURSOR C IS
304         SELECT *
305         FROM   FINANCIALS_PURGES
306         WHERE  rowid = X_Rowid
307         FOR UPDATE of Purge_Name NOWAIT;
308     Recinfo C%ROWTYPE;
309 
310     current_calling_sequence	VARCHAR2(2000);
311     debug_info			VARCHAR2(100);
312 
313   BEGIN
314 --  Update the calling sequence
315 --
316     current_calling_sequence := 'FINANCIALS_PURGES_PKG.LOCK_ROW<-' ||
317                                  X_calling_sequence;
318 
319     debug_info := 'Open cursor C';
320     OPEN C;
321 
322     debug_info := 'Fetch cursor C';
323     FETCH C INTO Recinfo;
324 
325     if (C%NOTFOUND) then
326       debug_info := 'Close cursor C - DATA NOTFOUND';
327       CLOSE C;
328       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
329       APP_EXCEPTION.Raise_Exception;
330     end if;
331     debug_info := 'Close cursor C';
332     CLOSE C;
333     if (
334 
335                (Recinfo.purge_name =  X_Purge_Name)
336            AND (Recinfo.category =  X_Category)
337            AND (Recinfo.status =  X_Status)
338            AND (Recinfo.org_id =  X_Org_Id)
339            AND (   (Recinfo.activity_date =  X_Activity_Date)
343                 OR (    (Recinfo.ap_checks IS NULL)
340                 OR (    (Recinfo.activity_date IS NULL)
341                     AND (X_Activity_Date IS NULL)))
342            AND (   (Recinfo.ap_checks =  X_Ap_Checks)
344                     AND (X_Ap_Checks IS NULL)))
345            AND (   (Recinfo.ap_invoice_payments =  X_Ap_Invoice_Payments)
346                 OR (    (Recinfo.ap_invoice_payments IS NULL)
347                     AND (X_Ap_Invoice_Payments IS NULL)))
348            AND (   (Recinfo.ap_payment_schedules =  X_Ap_Payment_Schedules)
349                 OR (    (Recinfo.ap_payment_schedules IS NULL)
350                     AND (X_Ap_Payment_Schedules IS NULL)))
351            AND (   (Recinfo.ap_recurring_payments =  X_Ap_Recurring_Payments)
352                 OR (    (Recinfo.ap_recurring_payments IS NULL)
353                     AND (X_Ap_Recurring_Payments IS NULL)))
354            AND (   (Recinfo.ap_trial_balance =  X_Ap_Trial_Balance)
355                 OR (    (Recinfo.ap_trial_balance IS NULL)
356                     AND (X_Ap_Trial_Balance IS NULL)))
357            AND (   (Recinfo.ap_holds =  X_Ap_Holds)
358                 OR (    (Recinfo.ap_holds IS NULL)
359                     AND (X_Ap_Holds IS NULL)))
360            AND (   (Recinfo.ap_invoice_distributions =
361 						X_Ap_Invoice_Distributions)
362                 OR (    (Recinfo.ap_invoice_distributions IS NULL)
363                     AND (X_Ap_Invoice_Distributions IS NULL)))
364            AND (   (Recinfo.ap_batches =  X_Ap_Batches)
365                 OR (    (Recinfo.ap_batches IS NULL)
366                     AND (X_Ap_Batches IS NULL)))
367            AND (   (Recinfo.ap_invoices =  X_Ap_Invoices)
368                 OR (    (Recinfo.ap_invoices IS NULL)
369                     AND (X_Ap_Invoices IS NULL)))
370            AND (   (Recinfo.po_requisition_headers =  X_Po_Requisition_Headers)
371                 OR (    (Recinfo.po_requisition_headers IS NULL)
372                     AND (X_Po_Requisition_Headers IS NULL)))
373            AND (   (Recinfo.po_requisition_lines =  X_Po_Requisition_Lines)
374                 OR (    (Recinfo.po_requisition_lines IS NULL)
375                     AND (X_Po_Requisition_Lines IS NULL)))
376            AND (   (Recinfo.po_req_distributions =  X_Po_Req_Distributions)
377                 OR (    (Recinfo.po_req_distributions IS NULL)
378                     AND (X_Po_Req_Distributions IS NULL)))
379            AND (   (Recinfo.po_approvals =  X_Po_Approvals)
380                 OR (    (Recinfo.po_approvals IS NULL)
381                     AND (X_Po_Approvals IS NULL)))
382            AND (   (Recinfo.po_headers =  X_Po_Headers)
383                 OR (    (Recinfo.po_headers IS NULL)
384                     AND (X_Po_Headers IS NULL)))
385            AND (   (Recinfo.po_lines =  X_Po_Lines)
386                 OR (    (Recinfo.po_lines IS NULL)
387                     AND (X_Po_Lines IS NULL)))
388            AND (   (Recinfo.po_line_locations =  X_Po_Line_Locations)
389                 OR (    (Recinfo.po_line_locations IS NULL)
390                     AND (X_Po_Line_Locations IS NULL)))
391            AND (   (Recinfo.po_distributions =  X_Po_Distributions)
392                 OR (    (Recinfo.po_distributions IS NULL)
393                     AND (X_Po_Distributions IS NULL)))
394            AND (   (Recinfo.po_releases =  X_Po_Releases)
395                 OR (    (Recinfo.po_releases IS NULL)
396                     AND (X_Po_Releases IS NULL)))
397            AND (   (Recinfo.po_item_history =  X_Po_Item_History)
398                 OR (    (Recinfo.po_item_history IS NULL)
399                     AND (X_Po_Item_History IS NULL)))
400            AND (   (Recinfo.po_acceptances =  X_Po_Acceptances)
401                 OR (    (Recinfo.po_acceptances IS NULL)
402                     AND (X_Po_Acceptances IS NULL)))
403            AND (   (Recinfo.po_notes =  X_Po_Notes)
404                 OR (    (Recinfo.po_notes IS NULL)
405                     AND (X_Po_Notes IS NULL)))
406            AND (   (Recinfo.po_note_references =  X_Po_Note_References)
407                 OR (    (Recinfo.po_note_references IS NULL)
408                     AND (X_Po_Note_References IS NULL)))
409            AND (   (Recinfo.po_receipts =  X_Po_Receipts)
410                 OR (    (Recinfo.po_receipts IS NULL)
411                     AND (X_Po_Receipts IS NULL)))
412            AND (   (Recinfo.po_deliveries =  X_Po_Deliveries)
413                 OR (    (Recinfo.po_deliveries IS NULL)
414                     AND (X_Po_Deliveries IS NULL)))
415            AND (   (Recinfo.po_quality_inspections =  X_Po_Quality_Inspections)
416                 OR (    (Recinfo.po_quality_inspections IS NULL)
417                     AND (X_Po_Quality_Inspections IS NULL)))
418            AND (   (Recinfo.po_vendors =  X_Po_Vendors)
419                 OR (    (Recinfo.po_vendors IS NULL)
420                     AND (X_Po_Vendors IS NULL)))
421            AND (   (Recinfo.po_vendor_sites =  X_Po_Vendor_Sites)
422                 OR (    (Recinfo.po_vendor_sites IS NULL)
423                     AND (X_Po_Vendor_Sites IS NULL)))
424            AND (   (Recinfo.po_vendor_contacts =  X_Po_Vendor_Contacts)
425                 OR (    (Recinfo.po_vendor_contacts IS NULL)
426                     AND (X_Po_Vendor_Contacts IS NULL)))
427            AND (   (Recinfo.po_headers_archive =  X_Po_Headers_Archive)
428                 OR (    (Recinfo.po_headers_archive IS NULL)
429                     AND (X_Po_Headers_Archive IS NULL)))
433            AND (   (Recinfo.po_line_locations_archive =  X_Po_Line_Locations_Archive)
430            AND (   (Recinfo.po_lines_archive =  X_Po_Lines_Archive)
431                 OR (    (Recinfo.po_lines_archive IS NULL)
432                     AND (X_Po_Lines_Archive IS NULL)))
434                 OR (    (Recinfo.po_line_locations_archive IS NULL)
435                     AND (X_Po_Line_Locations_Archive IS NULL)))
436            AND (   (Recinfo.po_vendor_list_headers =  X_Po_Vendor_List_Headers)
437                 OR (    (Recinfo.po_vendor_list_headers IS NULL)
438                     AND (X_Po_Vendor_List_Headers IS NULL)))
439            AND (   (Recinfo.po_vendor_list_entries =  X_Po_Vendor_List_Entries)
440                 OR (    (Recinfo.po_vendor_list_entries IS NULL)
441                     AND (X_Po_Vendor_List_Entries IS NULL)))
442            AND (   (Recinfo.po_notifications =  X_Po_Notifications)
443                 OR (    (Recinfo.po_notifications IS NULL)
444                     AND (X_Po_Notifications IS NULL)))
445            AND (   (Recinfo.po_accrual_reconcile_temp =  X_Po_Accrual_Reconcile_Temp)
446                 OR (    (Recinfo.po_accrual_reconcile_temp IS NULL)
447                     AND (X_Po_Accrual_Reconcile_Temp IS NULL)))
448            AND (   (Recinfo.po_blanket_items =  X_Po_Blanket_Items)
449                 OR (    (Recinfo.po_blanket_items IS NULL)
450                     AND (X_Po_Blanket_Items IS NULL)))
451            AND (   (Recinfo.po_receipt_headers =  X_Po_Receipt_Headers)
452                 OR (    (Recinfo.po_receipt_headers IS NULL)
453                     AND (X_Po_Receipt_Headers IS NULL)))
454            AND (   (Recinfo.action =  X_Action)
455                 OR (    (Recinfo.action IS NULL)
456                     AND (X_Action IS NULL)))
457            AND (    (Recinfo.Organization_Id =   X_Organization_Id)
458                 OR (    (Recinfo.Organization_Id IS NULL)
459                     AND (X_Organization_Id IS NULL)))
460            AND (    (Recinfo.Po_Approved_Supplier_List =   X_Po_Approved_Supplier_List)
461                 OR (    (Recinfo.Po_Approved_Supplier_List IS NULL)
462                     AND (X_Po_Approved_Supplier_List IS NULL)))
463            AND (    (Recinfo.Po_Asl_Attributes =   X_Po_Asl_Attributes)
464                 OR (    (Recinfo.Po_Asl_Attributes IS NULL)
465                     AND (X_Po_Asl_Attributes IS NULL)))
466            AND (    (Recinfo.Po_Asl_Documents =   X_Po_Asl_Documents)
467                 OR (    (Recinfo.Po_Asl_Documents IS NULL)
468                     AND (X_Po_Asl_Documents IS NULL)))
469            AND (    (Recinfo.Chv_Authorizations =   X_Chv_Authorizations)
470                 OR (    (Recinfo.Chv_Authorizations IS NULL)
471                     AND (X_Chv_Authorizations IS NULL)))
472            AND (    (Recinfo.Chv_Cum_Adjustments =   X_Chv_Cum_Adjustments)
473                 OR (    (Recinfo.Chv_Cum_Adjustments IS NULL)
474                     AND (X_Chv_Cum_Adjustments IS NULL)))
475            AND (    (Recinfo.Chv_Cum_Periods =   X_Chv_Cum_Periods)
476                 OR (    (Recinfo.Chv_Cum_Periods IS NULL)
477                     AND (X_Chv_Cum_Periods IS NULL)))
478            AND (    (Recinfo.Chv_Cum_Period_Items =   X_Chv_Cum_Period_Items)
479                 OR (    (Recinfo.Chv_Cum_Period_Items IS NULL)
480                     AND (X_Chv_Cum_Period_Items IS NULL)))
481            AND (    (Recinfo.Chv_Horizontal_Schedules =   X_Chv_Horizontal_Schedules)
482                 OR (    (Recinfo.Chv_Horizontal_Schedules IS NULL)
483                     AND (X_Chv_Horizontal_Schedules IS NULL)))
484            AND (    (Recinfo.Chv_Item_Orders =   X_Chv_Item_Orders)
485                 OR (    (Recinfo.Chv_Item_Orders IS NULL)
486                     AND (X_Chv_Item_Orders IS NULL)))
487            AND (    (Recinfo.Chv_Schedule_Headers =   X_Chv_Schedule_Headers)
488                 OR (    (Recinfo.Chv_Schedule_Headers IS NULL)
489                     AND (X_Chv_Schedule_Headers IS NULL)))
490            AND (    (Recinfo.Chv_Schedule_Items =   X_Chv_Schedule_Items)
491                 OR (    (Recinfo.Chv_Schedule_Items IS NULL)
492                     AND (X_Chv_Schedule_Items IS NULL)))
493            AND (    (Recinfo.Mrp_Sr_Source_Org =   X_Mrp_Sr_Source_Org)
494                 OR (    (Recinfo.Mrp_Sr_Source_Org IS NULL)
495                     AND (X_Mrp_Sr_Source_Org IS NULL)))
496            AND (    (Recinfo.Mrp_Item_Sourcing =   X_Mrp_Item_Sourcing)
497                 OR (    (Recinfo.Mrp_Item_Sourcing IS NULL)
498                     AND (X_Mrp_Item_Sourcing IS NULL)))
499 
500 
501       ) then
502       return;
503     else
504       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
505       APP_EXCEPTION.Raise_Exception;
506     end if;
507 
508     EXCEPTION
509       WHEN OTHERS THEN
510          IF (SQLCODE <> -20001) THEN
511            IF (SQLCODE = -54) THEN
512              FND_MESSAGE.SET_NAME('SQLAP','AP_RESOURCE_BUSY');
513            ELSE
514              FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
515              FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
516              FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
517              FND_MESSAGE.SET_TOKEN('PARAMETERS','ROWID = ' || X_Rowid ||
518                                    ', PURGE_NAME = ' || X_Purge_name);
519              FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
520            END IF;
521 	 END IF;
522          APP_EXCEPTION.RAISE_EXCEPTION;
523 
524   END Lock_Row;
525 
526 
527   PROCEDURE Delete_Row(X_Rowid				VARCHAR2,
528 		       X_calling_sequence	IN	VARCHAR2
529   ) IS
530     current_calling_sequence	VARCHAR2(2000);
531     debug_info			VARCHAR2(100);
532   BEGIN
533 --  Update the calling sequence
534 --
535     current_calling_sequence := 'FINANCIALS_PURGES_PKG.DELETE_ROW<-' ||
536                                  X_calling_sequence;
537 
538     debug_info := 'Delete from FINANCIALS_PURGES';
539     DELETE FROM FINANCIALS_PURGES
540     WHERE rowid = X_Rowid;
541 
542     if (SQL%NOTFOUND) then
543       Raise NO_DATA_FOUND;
544     end if;
545 
546     EXCEPTION
547         WHEN OTHERS THEN
548            IF (SQLCODE <> -20001) THEN
549               FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
550               FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
551               FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
552               FND_MESSAGE.SET_TOKEN('PARAMETERS','ROWID = ' || X_Rowid);
553               FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
554            END IF;
555            APP_EXCEPTION.RAISE_EXCEPTION;
556 
557   END Delete_Row;
558 
559 
560 END FINANCIALS_PURGES_PKG;