1 PACKAGE AP_Acctg_Data_Fix_PKG AUTHID CURRENT_USER AS
2 /* $Header: apgdfals.pls 120.14.12020000.4 2012/10/16 11:12:40 vinerao ship $ */
3
4 TYPE Event_ID
5 IS TABLE OF
6 AP_ACCOUNTING_EVENTS_ALL.accounting_event_id%TYPE
7 INDEX BY BINARY_INTEGER;
8
9 TYPE Source_ID
10 IS TABLE OF
11 AP_ACCOUNTING_EVENTS_ALL.Source_id%TYPE
12 INDEX BY BINARY_INTEGER;
13 --Bug5073523
14 TYPE Accounting_date
15 is TABLE OF
16 AP_ACCOUNTING_EVENTS_ALL.Accounting_date%TYPE
17 INDEX BY BINARY_INTEGER;
18
19 TYPE SOB_ID
20 is TABLE OF
21 AP_INVOICE_DISTRIBUTIONS_ALL.set_of_books_id%TYPE
22 INDEX BY BINARY_INTEGER;
23
24 TYPE Source_Table
25 IS TABLE OF
26 AP_ACCOUNTING_EVENTS_ALL.Source_Table%TYPE
27 INDEX BY BINARY_INTEGER;
28
29 TYPE Org_ID
30 IS TABLE OF
31 AP_ACCOUNTING_EVENTS_ALL.org_id%TYPE
32 INDEX BY BINARY_INTEGER;
33
34 TYPE Period_Name
35 IS TABLE OF
36 VARCHAR2(15)
37 INDEX BY BINARY_INTEGER;
38
39 TYPE Header_ID
40 IS TABLE OF
41 NUMBER(15)
42 INDEX BY BINARY_INTEGER;
43
44 TYPE Group_ID
45 IS TABLE OF
46 NUMBER(15)
47 INDEX BY BINARY_INTEGER;
48
49 TYPE Vendor_Name
50 IS TABLE OF
51 PO_VENDORS.vendor_name%TYPE
52 INDEX BY BINARY_INTEGER;
53
54 TYPE Rejection_List_Tab_Typ
55 IS TABLE OF
56 VARCHAR2(1000)
57 INDEX BY BINARY_INTEGER;
58
59 TYPE Pay_Dist_Rec IS RECORD
60 (payment_hist_dist_id AP_PAYMENT_HIST_DISTS.PAYMENT_HIST_DIST_ID%TYPE,
61 accounting_event_id AP_PAYMENT_HIST_DISTS.ACCOUNTING_EVENT_ID%TYPE,
62 pay_dist_lookup_code AP_PAYMENT_HIST_DISTS.PAY_DIST_LOOKUP_CODE%TYPE,
63 invoice_distribution_id AP_PAYMENT_HIST_DISTS.INVOICE_DISTRIBUTION_ID%TYPE,
64 amount AP_PAYMENT_HIST_DISTS.AMOUNT%TYPE,
65 payment_history_id AP_PAYMENT_HIST_DISTS.PAYMENT_HISTORY_ID%TYPE,
66 invoice_payment_id AP_PAYMENT_HIST_DISTS.INVOICE_PAYMENT_ID%TYPE,
67 bank_curr_amount AP_PAYMENT_HIST_DISTS.BANK_CURR_AMOUNT%TYPE,
68 cleared_base_amount AP_PAYMENT_HIST_DISTS.CLEARED_BASE_AMOUNT%TYPE,
69 historical_flag AP_PAYMENT_HIST_DISTS.HISTORICAL_FLAG%TYPE,
70 invoice_dist_amount AP_PAYMENT_HIST_DISTS.INVOICE_DIST_AMOUNT%TYPE,
71 invoice_dist_base_amount AP_PAYMENT_HIST_DISTS.INVOICE_DIST_BASE_AMOUNT%TYPE,
72 invoice_adjustment_event_id AP_PAYMENT_HIST_DISTS.INVOICE_ADJUSTMENT_EVENT_ID%TYPE,
73 matured_base_amount AP_PAYMENT_HIST_DISTS.MATURED_BASE_AMOUNT%TYPE,
74 paid_base_amount AP_PAYMENT_HIST_DISTS.PAID_BASE_AMOUNT%TYPE,
75 rounding_amt AP_PAYMENT_HIST_DISTS.ROUNDING_AMT%TYPE,
76 reversal_flag AP_PAYMENT_HIST_DISTS.REVERSAL_FLAG%TYPE,
77 reversed_pay_hist_dist_id AP_PAYMENT_HIST_DISTS.REVERSED_PAY_HIST_DIST_ID%TYPE,
78 created_by AP_PAYMENT_HIST_DISTS.CREATED_BY%TYPE,
79 creation_date AP_PAYMENT_HIST_DISTS.CREATION_DATE%TYPE,
80 last_update_date AP_PAYMENT_HIST_DISTS.LAST_UPDATE_DATE%TYPE,
81 last_updated_by AP_PAYMENT_HIST_DISTS.LAST_UPDATED_BY%TYPE,
82 last_update_login AP_PAYMENT_HIST_DISTS.LAST_UPDATE_LOGIN%TYPE,
83 program_application_id AP_PAYMENT_HIST_DISTS.PROGRAM_APPLICATION_ID%TYPE,
84 program_id AP_PAYMENT_HIST_DISTS.PROGRAM_ID%TYPE,
85 program_login_id AP_PAYMENT_HIST_DISTS.PROGRAM_LOGIN_ID%TYPE,
86 program_update_date AP_PAYMENT_HIST_DISTS.PROGRAM_UPDATE_DATE%TYPE,
87 request_id AP_PAYMENT_HIST_DISTS.REQUEST_ID%TYPE,
88 awt_related_id AP_PAYMENT_HIST_DISTS.AWT_RELATED_ID%TYPE,
89 release_inv_dist_derived_from AP_PAYMENT_HIST_DISTS.RELEASE_INV_DIST_DERIVED_FROM%TYPE,
90 pa_addition_flag AP_PAYMENT_HIST_DISTS.PA_ADDITION_FLAG%TYPE,
91 amount_variance AP_PAYMENT_HIST_DISTS.AMOUNT_VARIANCE%TYPE,
92 invoice_base_amt_variance AP_PAYMENT_HIST_DISTS.INVOICE_BASE_AMT_VARIANCE%TYPE,
93 quantity_variance AP_PAYMENT_HIST_DISTS.QUANTITY_VARIANCE%TYPE,
94 invoice_base_qty_variance AP_PAYMENT_HIST_DISTS.INVOICE_BASE_QTY_VARIANCE%TYPE,
95 write_off_code_combination GL_CODE_COMBINATIONS.CODE_COMBINATION_ID%TYPE);
96
97
98 TYPE Pay_Dist_Tab_Typ IS TABLE OF Pay_Dist_Rec INDEX BY BINARY_INTEGER;
99
100 TYPE Prepay_Dist_Rec IS RECORD
101 (prepay_app_dist_id AP_PREPAY_APP_DISTS.PREPAY_APP_DIST_ID%TYPE,
102 prepay_dist_lookup_code AP_PREPAY_APP_DISTS.PREPAY_DIST_LOOKUP_CODE%TYPE,
103 invoice_distribution_id AP_PREPAY_APP_DISTS.INVOICE_DISTRIBUTION_ID%TYPE,
104 prepay_app_distribution_id AP_PREPAY_APP_DISTS.PREPAY_APP_DISTRIBUTION_ID%TYPE,
105 accounting_event_id AP_PREPAY_APP_DISTS.ACCOUNTING_EVENT_ID%TYPE,
106 prepay_history_id AP_PREPAY_APP_DISTS.PREPAY_HISTORY_ID%TYPE,
107 prepay_exchange_date AP_PREPAY_APP_DISTS.PREPAY_EXCHANGE_DATE%TYPE,
108 prepay_pay_exchange_date AP_PREPAY_APP_DISTS.PREPAY_PAY_EXCHANGE_DATE%TYPE,
109 prepay_clr_exchange_date AP_PREPAY_APP_DISTS.PREPAY_CLR_EXCHANGE_DATE%TYPE,
110 prepay_exchange_rate AP_PREPAY_APP_DISTS.PREPAY_EXCHANGE_RATE%TYPE,
111 prepay_pay_exchange_rate AP_PREPAY_APP_DISTS.PREPAY_PAY_EXCHANGE_RATE%TYPE,
112 prepay_clr_exchange_rate AP_PREPAY_APP_DISTS.PREPAY_CLR_EXCHANGE_RATE%TYPE,
113 prepay_exchange_rate_type AP_PREPAY_APP_DISTS.PREPAY_EXCHANGE_RATE_TYPE%TYPE,
114 prepay_pay_exchange_rate_type AP_PREPAY_APP_DISTS.PREPAY_PAY_EXCHANGE_RATE_TYPE%TYPE,
115 prepay_clr_exchange_rate_type AP_PREPAY_APP_DISTS.PREPAY_CLR_EXCHANGE_RATE_TYPE%TYPE,
116 reversed_prepay_app_dist_id AP_PREPAY_APP_DISTS.REVERSED_PREPAY_APP_DIST_ID%TYPE,
117 amount AP_PREPAY_APP_DISTS.AMOUNT%TYPE,
118 base_amt_at_prepay_xrate AP_PREPAY_APP_DISTS.BASE_AMT_AT_PREPAY_XRATE%TYPE,
119 base_amt_at_prepay_pay_xrate AP_PREPAY_APP_DISTS.BASE_AMT_AT_PREPAY_PAY_XRATE%TYPE,
120 base_amount AP_PREPAY_APP_DISTS.BASE_AMOUNT%TYPE,
121 base_amt_at_prepay_clr_xrate AP_PREPAY_APP_DISTS.BASE_AMT_AT_PREPAY_CLR_XRATE%TYPE,
122 rounding_amt AP_PREPAY_APP_DISTS.ROUNDING_AMT%TYPE,
123 round_amt_at_prepay_xrate AP_PREPAY_APP_DISTS.ROUND_AMT_AT_PREPAY_XRATE%TYPE,
124 round_amt_at_prepay_pay_xrate AP_PREPAY_APP_DISTS.ROUND_AMT_AT_PREPAY_PAY_XRATE%TYPE,
125 round_amt_at_prepay_clr_xrate AP_PREPAY_APP_DISTS.ROUND_AMT_AT_PREPAY_CLR_XRATE%TYPE,
126 last_updated_by AP_PREPAY_APP_DISTS.LAST_UPDATED_BY%TYPE,
127 last_update_date AP_PREPAY_APP_DISTS.LAST_UPDATE_DATE%TYPE,
128 last_update_login AP_PREPAY_APP_DISTS.LAST_UPDATE_LOGIN%TYPE,
129 created_by AP_PREPAY_APP_DISTS.CREATED_BY%TYPE,
130 creation_date AP_PREPAY_APP_DISTS.CREATION_DATE%TYPE,
131 program_application_id AP_PREPAY_APP_DISTS.PROGRAM_APPLICATION_ID%TYPE,
132 program_id AP_PREPAY_APP_DISTS.PROGRAM_ID%TYPE,
133 program_update_date AP_PREPAY_APP_DISTS.PROGRAM_UPDATE_DATE%TYPE,
134 request_id AP_PREPAY_APP_DISTS.REQUEST_ID%TYPE,
135 awt_related_id AP_PREPAY_APP_DISTS.AWT_RELATED_ID%TYPE,
136 release_inv_dist_derived_from AP_PREPAY_APP_DISTS.RELEASE_INV_DIST_DERIVED_FROM%TYPE,
137 pa_addition_flag AP_PREPAY_APP_DISTS.PA_ADDITION_FLAG%TYPE,
138 bc_event_id AP_PREPAY_APP_DISTS.BC_EVENT_ID%TYPE,
139 amount_variance AP_PREPAY_APP_DISTS.AMOUNT_VARIANCE%TYPE,
140 invoice_base_amt_variance AP_PREPAY_APP_DISTS.INVOICE_BASE_AMT_VARIANCE%TYPE,
141 quantity_variance AP_PREPAY_APP_DISTS.QUANTITY_VARIANCE%TYPE,
142 invoice_base_qty_variance AP_PREPAY_APP_DISTS.INVOICE_BASE_QTY_VARIANCE%TYPE,
143 write_off_code_combination GL_CODE_COMBINATIONS.CODE_COMBINATION_ID%TYPE);
144
145 TYPE Prepay_Dist_Tab_Typ IS TABLE OF Prepay_Dist_Rec INDEX BY BINARY_INTEGER;
146
147
148 G_Group_ID Group_ID;
149
150 G_Bug_Number NUMBER;
151 NAMES_FILE UTL_FILE.FILE_TYPE ;
152
153 /* Procedure to open the log files on the instance where the datafix
154 script is being run. The log file contains the log messages
155 and the report outputs written by the data fix scripts.
156 The file location is the environment's 'utl_file_dir' parameter. */
157 PROCEDURE Open_Log_Out_Files
158 (p_bug_number IN VARCHAR2,
159 p_file_location OUT NOCOPY VARCHAR2);
160
161
162 /* Procedure to close the log files on the instance once all the log
163 messages are written to it. */
164 PROCEDURE Close_Log_Out_Files;
165
166
167 /* Procedure to create temproary backup tables for the accounting */
168 PROCEDURE Create_Temp_Acctg_Tables
169 (p_bug_number IN NUMBER);
170
171
172 /* Procedure to get all the columns for a particular table.
173 This procedure gets called from Back_Up_Acctg procedure. */
174 PROCEDURE get_cols
175 (tab_name IN VARCHAR2,
176 ret_str OUT NOCOPY VARCHAR2);
177
178 /* Overload get_cols to handle the case where a schema needs to
179 be designated because the table exists in more than one schema. */
180 PROCEDURE get_cols
181 (tab_name IN VARCHAR2,
182 schema_name IN VARCHAR2,
183 ret_str OUT NOCOPY VARCHAR2);
184
185 /* Procedure to get the backup of all the Accounting (XLA) tables. */
186 PROCEDURE Back_Up_Acctg
187 (p_bug_number IN NUMBER,
188 P_Driver_Table in VARCHAR2 DEFAULT NULL,
189 P_Calling_Sequence in VARCHAR2 DEFAULT NULL
190 );
191
192
193 /* Procedure to print messages in the Log file */
194 PROCEDURE Print
195 (p_message IN VARCHAR2,
196 p_calling_sequence IN VARCHAR2 DEFAULT NULL);
197
198
199 /* Procedure to print the values in the table and column list
200 passed as parameters, in HTML table format, into the Log file. */
201 /* GSI Bug 9490277 : Added parameter p_print_in_output
202 If this is passed as TRUE then table will be printed in output file instead of being printed in log file */
203 PROCEDURE Print_Html_Table
204 (p_select_list IN VARCHAR2,
205 p_table_in IN VARCHAR2,
206 p_where_in IN VARCHAR2 DEFAULT NULL,
207 p_calling_sequence IN VARCHAR2 DEFAULT NULL,
208 p_print_in_output IN BOOLEAN DEFAULT FALSE /* GSI Bug 9490277 */
209 );
210
211
212 /* Procedure to backup the data from the source table to destination
213 table. It also takes in as input SELECT LIST which determine
214 the list of columns which will be backed up. The additional
215 WHERE caluse can also be passed in as input. */
216 PROCEDURE Backup_data
217 (p_source_table IN VARCHAR2,
218 p_destination_table IN VARCHAR2,
219 p_select_list IN VARCHAR2,
220 p_where_clause IN VARCHAR2,
221 p_calling_sequence IN VARCHAR2 DEFAULT NULL);
222
223 PROCEDURE apps_initialize
224 (p_user_name IN FND_USER.USER_NAME%TYPE,
225 p_resp_name IN FND_RESPONSIBILITY_TL.RESPONSIBILITY_NAME%TYPE,
226 p_calling_sequence IN VARCHAR2);
227
228 PROCEDURE check_period
229 (p_bug_no IN NUMBER,
230 p_driver_table IN VARCHAR2,
231 p_check_event_date IN VARCHAR2 DEFAULT 'Y',
232 p_check_sysdate IN VARCHAR2 DEFAULT 'N',
233 p_chk_proposed_undo_date IN VARCHAR2 DEFAULT 'N',
234 p_update_process_flag IN VARCHAR2,
235 P_calc_undo_date IN VARCHAR2,
236 p_commit_flag IN VARCHAR2 DEFAULT 'N',
237 p_calling_sequence IN VARCHAR2);
238
239 PROCEDURE check_ccid
240 (p_bug_no IN NUMBER,
241 p_driver_table IN VARCHAR2,
242 p_update_process_flag IN VARCHAR2,
243 p_commit_flag IN VARCHAR2 DEFAULT 'N',
244 p_calling_sequence IN VARCHAR2);
245
246
247 /* Procedure to undo Accounting for an invoice or payment
248 Parameters : p_source_table - Value is either AP_INVOICES or
249 AP_PAYMENTS
250 p_source_id - For AP_INVOICES it is invoice_id
251 for AP_PAYMENTS it is check_id
252 p_Event_id - It is a non-mandatory field
253 and is accounting event id
254 p_calling_sequence - Name of the package that
255 Calls Undo accounting
256 p_bug_id - Bug Id
257 */
258 PROCEDURE Undo_Accounting
259 (p_Source_Table IN VARCHAR2,
260 p_Source_Id IN NUMBER,
261 p_Event_Id IN NUMBER DEFAULT NULL,
262 p_skip_date_calc IN VARCHAR2 DEFAULT 'N',
263 p_undo_date IN DATE,
264 p_undo_period IN VARCHAR2,
265 p_bug_id IN NUMBER DEFAULT NULL,
266 p_Gl_Date IN DATE DEFAULT NULL, --Bug#8471406
267 p_rev_event_id OUT NOCOPY NUMBER,
268 p_new_event_id OUT NOCOPY NUMBER,
269 p_return_code OUT NOCOPY VARCHAR2,
270 p_calling_sequence IN VARCHAR2);
271
272
273 /* Procedure to undo Accounting for an invoice or payment
274 Parameters : p_source_table - Value is either AP_INVOICES or
275 AP_PAYMENTS
276 p_source_id - For AP_INVOICES it is invoice_id
277 for AP_PAYMENTS it is check_id
278 p_Event_id - It is a non-mandatory field
279 and is accounting event id
280 p_calling_sequence - Name of the package that
281 Calls Undo accounting
282 p_bug_id - Bug Id
283 */
284 PROCEDURE Undo_Accounting
285 (p_source_table IN VARCHAR2,
286 p_source_id IN NUMBER,
287 p_Event_id IN NUMBER DEFAULT NULL,
288 p_calling_sequence IN VARCHAR2 DEFAULT NULL,
289 p_bug_id IN NUMBER DEFAULT NULL,
290 p_GL_Date IN DATE DEFAULT NULL --Bug#8471406
291 );
292
293 PROCEDURE Del_Nonfinal_xla_entries
294 (p_event_id IN NUMBER,
295 p_delete_event IN VARCHAR2,
296 p_commit_flag IN VARCHAR2,
297 p_calling_sequence IN VARCHAR2);
298
299 PROCEDURE undo_acctg_entries
300 (p_bug_no IN NUMBER,
301 p_driver_table IN VARCHAR2,
302 p_calling_sequence IN VARCHAR2);
303
304 PROCEDURE push_error(p_error_code IN VARCHAR2,
305 p_error_stack IN OUT NOCOPY Rejection_List_Tab_Typ);
306
307 PROCEDURE final_pay_round_dfix
308 (p_invoice_id IN NUMBER,
309 p_op_event_id OUT NOCOPY NUMBER,
310 p_op_event_type OUT NOCOPY VARCHAR2,
311 p_return_status OUT NOCOPY BOOLEAN,
312 p_rejection_tab OUT NOCOPY Rejection_List_Tab_Typ,
313 p_rej_count OUT NOCOPY NUMBER,
314 p_error_msg OUT NOCOPY VARCHAR2,
315 p_pay_dist_tab OUT NOCOPY Pay_Dist_Tab_Typ,
316 p_prepay_dist_tab OUT NOCOPY Prepay_Dist_Tab_Typ,
317 p_commit_flag IN VARCHAR2,
318 p_calling_sequence IN VARCHAR2);
319
320
321 Function Is_period_open(P_Date IN date,
322 P_Org_Id IN number default mo_global.get_current_org_id) return varchar2;
323
324
325 Function get_open_period_start_date(P_Org_Id IN number) return date;
326
327 FUNCTION delete_cascade_adjustments
328 (p_source_type IN VARCHAR2,
329 p_source_id IN NUMBER,
330 p_related_event_id IN NUMBER DEFAULT NULL)
331 RETURN BOOLEAN;
332
333 PROCEDURE repop_prepay_dists
334 (p_bug_no IN NUMBER,
335 p_driver_table IN VARCHAR2,
336 p_calling_sequence IN VARCHAR2);
337
338 PROCEDURE del_cascade_adj_entries
339 (p_bug_no IN NUMBER,
340 p_driver_table IN VARCHAR2,
341 p_calling_sequence IN VARCHAR2);
342
343 /*Added Function UOM_CONVERT for Bug9756279*/
344 FUNCTION UOM_CONVERT
345 (from_unit in varchar2
346 ,to_unit in varchar2
347 ,item_id in number)
348 RETURN NUMBER;
349
350 -- Bug 10072990 start
351 PROCEDURE undo_inv_accounting(
352 p_source_table IN VARCHAR2,
353 p_source_id IN NUMBER,
354 p_event_id IN NUMBER DEFAULT NULL,
355 p_skip_date_calc IN VARCHAR2 DEFAULT 'N',
356 p_undo_date IN DATE,
357 p_undo_period IN VARCHAR2,
358 p_bug_id IN NUMBER DEFAULT NULL,
359 p_gl_date IN DATE DEFAULT NULL,
360 p_rev_event_id OUT NOCOPY NUMBER,
361 p_new_event_id OUT NOCOPY NUMBER,
362 p_return_code OUT NOCOPY VARCHAR2,
363 p_calling_sequence IN VARCHAR2 );
364
365 PROCEDURE undo_inv_accounting(
366 p_source_id IN NUMBER,
367 p_event_id IN NUMBER DEFAULT NULL,
368 p_calling_sequence IN VARCHAR2 DEFAULT NULL,
369 p_bug_id IN NUMBER DEFAULT NULL,
370 p_gl_date IN DATE DEFAULT NULL);
371 -- Bug 10072990 end
372
373 -- Bug11673966
374 FUNCTION get_net_prepay_app(p_event_id NUMBER)
375 RETURN NUMBER;
376
377 -- Bug11673966
378 FUNCTION get_net_prepay_acct(P_Event_ID NUMBER,
379 P_Ledger_ID NUMBER)
380 RETURN NUMBER;
381
382 -- Bug11673966
383 FUNCTION get_net_adj_acct(P_Event_ID NUMBER,
384 P_Ledger_ID NUMBER)
385 RETURN NUMBER;
386
387 -- Bug 10635312 start
388 FUNCTION po_vendor_contact_merge(new_vendor_contact_id NUMBER,
389 old_vendor_contact_id NUMBER)
390 RETURN NUMBER;
391 -- Bug 10635312 end
392
393 --Bug 13405297
394 FUNCTION po_vendor_contact_merge(p_driver_table IN VARCHAR2,
395 p_calling_sequence IN VARCHAR2)
396 RETURN NUMBER;
397
398 --Bug 14731725
399 FUNCTION send_mail_clob_impl(v_recipient VARCHAR2,
400 v_file_location VARCHAR2)
401 RETURN BOOLEAN;
402
403 END AP_Acctg_Data_Fix_PKG;