1 PACKAGE BODY JG_PO_EXTENSION_PKG AS
2 /* $Header: jggicxub.pls 120.2.12010000.8 2010/07/05 06:54:15 vspuli ship $ */
3
4 l_line VARCHAR2 (1999);
5 pg_debug_level NUMBER;
6
7 PROCEDURE DEBUG (p_line IN VARCHAR2)
8 IS
9 p_module_name VARCHAR2 (50);
10 g_log_statement_level NUMBER;
11 g_current_runtime_level NUMBER;
12 g_level_event CONSTANT NUMBER := fnd_log.level_event;
13 g_level_exception CONSTANT NUMBER := fnd_log.level_exception;
14 g_level_unexpected CONSTANT NUMBER := fnd_log.level_unexpected;
15 BEGIN
16 p_module_name := 'ICX: Global Package';
17 g_log_statement_level := fnd_log.level_statement;
18 pg_debug_level := fnd_log.level_procedure;
19 g_current_runtime_level := fnd_log.g_current_runtime_level;
20
21 IF (g_log_statement_level >= g_current_runtime_level)
22 THEN
23 IF LENGTHB (p_line) > 1999
24 THEN
25 l_line := SUBSTRB (p_line, 1, 1999);
26 ELSE
27 l_line := p_line;
28 END IF;
29
30 fnd_log.STRING (log_level => g_log_statement_level,
31 module => p_module_name,
32 MESSAGE => l_line
33 );
34 END IF;
35 EXCEPTION
36 WHEN OTHERS
37 THEN
38 IF (g_level_unexpected >= g_current_runtime_level)
39 THEN
40 fnd_log.STRING
41 (log_level => fnd_log.level_unexpected,
42 module => p_module_name,
43 MESSAGE => 'Unexpected Error When Logging Debug Messages.'
44 );
45 END IF;
46 END DEBUG;
47
48 -- Customize this procedure to add custom gloabalization defaulting logic for all the
49 -- attributes on a requisition header.
50 -- This is called when a new requisition gets created.
51 -- The attribute id's are passed as IN OUT NOCOPY parameters to this procedure and
52 -- can be modified to reflect any custom defaulting logic.
53 PROCEDURE custom_default_req_header (
54 req_header_id IN NUMBER, -- 1
55 old_req_header_id IN NUMBER, -- 2
56 req_num IN VARCHAR2, -- 3
57 preparer_id IN NUMBER, -- 4
58 x_req_type IN OUT NOCOPY VARCHAR2, -- 5
59 x_emergency_po_num IN OUT NOCOPY VARCHAR2, -- 6
60 x_approval_status_code IN OUT NOCOPY VARCHAR2, -- 7
61 x_cancel_flag IN OUT NOCOPY VARCHAR2, -- 8
62 x_closed_code IN OUT NOCOPY VARCHAR2, -- 9
63 x_org_id IN OUT NOCOPY NUMBER, -- 10
64 x_wf_item_type IN OUT NOCOPY VARCHAR2, -- 11
65 x_wf_item_key IN OUT NOCOPY VARCHAR2, -- 12
66 x_pcard_id IN OUT NOCOPY NUMBER, -- 13
67 x_attribute1 IN OUT NOCOPY VARCHAR2, -- 14
68 x_attribute2 IN OUT NOCOPY VARCHAR2, -- 15
69 x_attribute3 IN OUT NOCOPY VARCHAR2, -- 16
70 x_attribute4 IN OUT NOCOPY VARCHAR2, -- 17
71 x_attribute5 IN OUT NOCOPY VARCHAR2, -- 18
72 x_attribute6 IN OUT NOCOPY VARCHAR2, -- 19
73 x_attribute7 IN OUT NOCOPY VARCHAR2, -- 20
74 x_attribute8 IN OUT NOCOPY VARCHAR2, -- 21
75 x_attribute9 IN OUT NOCOPY VARCHAR2, -- 22
76 x_attribute10 IN OUT NOCOPY VARCHAR2, -- 23
77 x_attribute11 IN OUT NOCOPY VARCHAR2, -- 24
78 x_attribute12 IN OUT NOCOPY VARCHAR2, -- 25
79 x_attribute13 IN OUT NOCOPY VARCHAR2, -- 26
80 x_attribute14 IN OUT NOCOPY VARCHAR2, -- 27
81 x_attribute15 IN OUT NOCOPY VARCHAR2, -- 28
82 x_return_code OUT NOCOPY NUMBER, -- 29
83 x_error_msg OUT NOCOPY VARCHAR2 -- 30
84 )
85 IS
86 BEGIN
87 x_return_code := 0;
88 x_error_msg := '';
89 END custom_default_req_header;
90
91 -- Customize this procedure to add logic for validation related to globalization
92 -- of the attribute values
93 -- on a requisition header. This would be any custom validation, that would
94 -- be in addition to all the validations done for a requisition header.
95 -- The return_msg and the error_code can be used to return the results of
96 -- the validation
97 -- The return code can be used to indicate on which tab the error message
98 -- needs to be displayed on the Edit Lines page
99 -- If the result code is 1, error is displayed on the Delivery tab
100 -- If the result code is 2, error is displayed on the Billing tab
101 -- If the result code is 3, error is displayed on the Accounts tab
102 PROCEDURE custom_validate_req_header (
103 req_header_id IN NUMBER, -- 1
104 req_num IN VARCHAR2, -- 2
105 preparer_id IN NUMBER, -- 3
106 req_type IN VARCHAR2, -- 4
107 emergency_po_num IN VARCHAR2, -- 5
108 approval_status_code IN VARCHAR2, -- 6
109 cancel_flag IN VARCHAR2, -- 7
110 closed_code IN VARCHAR2, -- 8
111 org_id IN NUMBER, -- 9
112 wf_item_type IN VARCHAR2, -- 10
113 wf_item_key IN VARCHAR2, -- 11
114 pcard_id IN NUMBER, -- 12
115 attribute1 IN VARCHAR2, -- 13
116 attribute2 IN VARCHAR2, -- 14
117 attribute3 IN VARCHAR2, -- 15
118 attribute4 IN VARCHAR2, -- 16
119 attribute5 IN VARCHAR2, -- 17
120 attribute6 IN VARCHAR2, -- 18
121 attribute7 IN VARCHAR2, -- 19
122 attribute8 IN VARCHAR2, -- 20
123 attribute9 IN VARCHAR2, -- 21
124 attribute10 IN VARCHAR2, -- 22
125 attribute11 IN VARCHAR2, -- 23
126 attribute12 IN VARCHAR2, -- 24
127 attribute13 IN VARCHAR2, -- 25
128 attribute14 IN VARCHAR2, -- 26
129 attribute15 IN VARCHAR2, -- 27
130 x_return_code OUT NOCOPY NUMBER, -- 28
131 x_error_msg OUT NOCOPY VARCHAR2 -- 29
132 )
133 IS
134 BEGIN
135 x_return_code := 0;
136 x_error_msg := '';
137 END custom_validate_req_header;
138
139 -- Customize this procedure to add custom globalization defaulting logic for all the
140 -- attributes on a requisition line.
141 -- This is called when a new line gets added to the requisition.
142 -- The attribute id's are passed as IN OUT NOCOPY parameters to this procedure and
143 -- can be modified to reflect any custom defaulting logic.
144 -- The values corresponding to the id's are recalculated in the calling ReqLine
145 -- Java class
146 PROCEDURE custom_default_req_line (
147 -- READ ONLY data
148 req_header_id IN NUMBER, -- 1
149 req_line_id IN NUMBER, -- 2
150 old_req_line_id IN NUMBER, -- 3
151 line_num IN NUMBER, -- 4
152 -- header data
153 preparer_id IN NUMBER, -- 5
154 header_attribute_1 IN VARCHAR2, -- 6
155 header_attribute_2 IN VARCHAR2, -- 7
156 header_attribute_3 IN VARCHAR2, -- 8
157 header_attribute_4 IN VARCHAR2, -- 9
158 header_attribute_5 IN VARCHAR2, -- 10
159 header_attribute_6 IN VARCHAR2, -- 11
160 header_attribute_7 IN VARCHAR2, -- 12
161 header_attribute_8 IN VARCHAR2, -- 13
162 header_attribute_9 IN VARCHAR2, -- 14
163 header_attribute_10 IN VARCHAR2, -- 15
164 header_attribute_11 IN VARCHAR2, -- 16
165 header_attribute_12 IN VARCHAR2, -- 17
166 header_attribute_13 IN VARCHAR2, -- 18
167 header_attribute_14 IN VARCHAR2, -- 19
168 header_attribute_15 IN VARCHAR2, -- 20
169 -- line data: update any of the following parameters as default for line
170 x_line_type_id IN OUT NOCOPY NUMBER, -- 21
171 x_item_id IN OUT NOCOPY NUMBER, -- 22
172 x_item_revision IN OUT NOCOPY VARCHAR2, -- 23
173 x_category_id IN OUT NOCOPY NUMBER, -- 24
174 x_catalog_source IN OUT NOCOPY VARCHAR2, -- 25
175 x_catalog_type IN OUT NOCOPY VARCHAR2, -- 26
176 x_currency_code IN OUT NOCOPY VARCHAR2, -- 27
177 x_currency_unit_price IN OUT NOCOPY NUMBER, -- 28
178 x_manufacturer_name IN OUT NOCOPY VARCHAR2, -- 29
179 x_manufacturer_part_num IN OUT NOCOPY VARCHAR2, -- 30
180 x_deliver_to_loc_id IN OUT NOCOPY NUMBER, -- 31
181 x_deliver_to_org_id IN OUT NOCOPY NUMBER, -- 32
182 x_deliver_to_subinv IN OUT NOCOPY VARCHAR2, -- 33
183 x_destination_type_code IN OUT NOCOPY VARCHAR2, -- 34
184 x_requester_id IN OUT NOCOPY NUMBER, -- 35
185 x_encumbered_flag IN OUT NOCOPY VARCHAR2, -- 36
186 x_hazard_class_id IN OUT NOCOPY NUMBER, -- 37
187 x_modified_by_buyer IN OUT NOCOPY VARCHAR2, -- 38
188 x_need_by_date IN OUT NOCOPY DATE, -- 39
189 x_new_supplier_flag IN OUT NOCOPY VARCHAR2, -- 40
190 x_on_rfq_flag IN OUT NOCOPY VARCHAR2, -- 41
191 x_org_id IN OUT NOCOPY NUMBER, -- 42
192 x_parent_req_line_id IN OUT NOCOPY NUMBER, -- 43
193 x_po_line_loc_id IN OUT NOCOPY NUMBER, -- 44
194 x_qty_cancelled IN OUT NOCOPY NUMBER, -- 45
195 x_qty_delivered IN OUT NOCOPY NUMBER, -- 46
196 x_qty_ordered IN OUT NOCOPY NUMBER, -- 47
197 x_qty_received IN OUT NOCOPY NUMBER, -- 48
198 x_rate IN OUT NOCOPY NUMBER, -- 49
199 x_rate_date IN OUT NOCOPY DATE, -- 50
200 x_rate_type IN OUT NOCOPY VARCHAR2, -- 51
201 x_rfq_required IN OUT NOCOPY VARCHAR2, -- 52
202 x_source_type_code IN OUT NOCOPY VARCHAR2, -- 53
203 x_spsc_code IN OUT NOCOPY VARCHAR2, -- 54
204 x_other_category_code IN OUT NOCOPY VARCHAR2, -- 55
205 x_suggested_buyer_id IN OUT NOCOPY NUMBER, -- 56
206 x_source_doc_header_id IN OUT NOCOPY NUMBER, -- 57
207 x_source_doc_line_num IN OUT NOCOPY NUMBER, -- 58
208 x_source_doc_type_code IN OUT NOCOPY VARCHAR2, -- 59
209 x_supplier_duns IN OUT NOCOPY VARCHAR2, -- 60
210 x_supplier_item_num IN OUT NOCOPY VARCHAR2, -- 61
211 x_taxable_status IN OUT NOCOPY VARCHAR2, -- 62
212 x_unit_of_measure IN OUT NOCOPY VARCHAR2, -- 63
213 x_unit_price IN OUT NOCOPY NUMBER, -- 64
214 x_urgent IN OUT NOCOPY VARCHAR2, -- 65
215 x_supplier_contact_id IN OUT NOCOPY NUMBER, -- 66
216 x_supplier_id IN OUT NOCOPY NUMBER, -- 67
217 x_supplier_site_id IN OUT NOCOPY NUMBER, -- 68
218 x_cancel_date IN OUT NOCOPY DATE, -- 69
219 x_cancel_flag IN OUT NOCOPY VARCHAR2, -- 70
220 x_closed_code IN OUT NOCOPY VARCHAR2, -- 71
221 x_closed_date IN OUT NOCOPY DATE, -- 72
222 x_auto_receive_flag IN OUT NOCOPY VARCHAR2, -- 73
223 x_pcard_flag IN OUT NOCOPY VARCHAR2, -- 74
224 x_attribute1 IN OUT NOCOPY VARCHAR2, -- 75
225 x_attribute2 IN OUT NOCOPY VARCHAR2, -- 76
226 x_attribute3 IN OUT NOCOPY VARCHAR2, -- 77
227 x_attribute4 IN OUT NOCOPY VARCHAR2, -- 78
228 x_attribute5 IN OUT NOCOPY VARCHAR2, -- 79
229 x_attribute6 IN OUT NOCOPY VARCHAR2, -- 80
230 x_attribute7 IN OUT NOCOPY VARCHAR2, -- 81
231 x_attribute8 IN OUT NOCOPY VARCHAR2, -- 82
232 x_attribute9 IN OUT NOCOPY VARCHAR2, -- 83
233 x_attribute10 IN OUT NOCOPY VARCHAR2, -- 84
234 x_attribute11 IN OUT NOCOPY VARCHAR2, -- 85
235 x_attribute12 IN OUT NOCOPY VARCHAR2, -- 86
236 x_attribute13 IN OUT NOCOPY VARCHAR2, -- 87
237 x_attribute14 IN OUT NOCOPY VARCHAR2, -- 88
238 x_attribute15 IN OUT NOCOPY VARCHAR2, -- 89
239 x_return_code OUT NOCOPY NUMBER, -- 90
240 x_error_msg OUT NOCOPY VARCHAR2, -- 91
241 x_suppliercontact IN OUT NOCOPY VARCHAR2, -- 92
242 x_suppliercontactphone IN OUT NOCOPY VARCHAR2, -- 93
243 x_supplier IN OUT NOCOPY VARCHAR2, -- 94
244 x_suppliersite IN OUT NOCOPY VARCHAR2, -- 95
245 x_taxcodeid IN OUT NOCOPY NUMBER, -- 96
246 x_source_org_id IN OUT NOCOPY NUMBER, -- 97
247 x_txn_reason_code IN OUT NOCOPY VARCHAR2 -- 98
248 )
249 IS
250 sqlstmt VARCHAR2 (2000);
251 l_api_name CONSTANT VARCHAR2 (30) := 'CUSTOM_DEFAULT_REQ_LINE';
252 l_jl_installed VARCHAR2 (30);
253 BEGIN
254 x_return_code := 0; -- SQLCODE
255 x_error_msg := ''; -- SQLERRM
256 DEBUG ('create');
257 DEBUG ('txn code' || x_txn_reason_code);
258 DEBUG ('source type' || x_source_doc_type_code);
259 DEBUG ('source header' || x_source_doc_header_id);
260 DEBUG ('source line num' || x_source_doc_line_num);
261 DEBUG ('org id' || x_org_id);
262 DEBUG ('item id' || x_item_id);
263 DEBUG ('deliver org_id ' || x_deliver_to_org_id);
264 DEBUG ('create');
265
266 ---------------------------------------------------
267 -- Check whether the Regional Package is installed
268 ---------------------------------------------------
269 SELECT DISTINCT 'Package Installed'
270 INTO l_jl_installed
271 FROM user_objects
272 WHERE object_name = 'JG_GLOBE_UTIL_PKG'
273 AND object_type = 'PACKAGE BODY';
274
275 DEBUG ('installed');
276
277 -- defaulting if requisition is based on BPA.
278 -- As the field is non-editable, and populated when user selects an item,
279 -- no additional cases needs to be handled.
280 IF ( x_source_doc_type_code = 'BLANKET'
281 AND x_source_doc_header_id IS NOT NULL
282 AND x_source_doc_line_num IS NOT NULL
283 )
284 THEN
285 DEBUG ('blanket attached');
286
287 SELECT l.transaction_reason_code
288 INTO x_txn_reason_code
289 FROM po_headers_all h, po_lines_all l
290 WHERE h.po_header_id = l.po_header_id
291 AND h.po_header_id = x_source_doc_header_id
292 -- header id of BPA sourced
293 AND l.line_num = x_source_doc_line_num -- line id of BPA sourced
294 AND h.type_lookup_code = 'BLANKET';
295 -- Normal defaulting, based on item_id / PO System Options
296 ELSE
297 DEBUG ('inside else');
298 sqlstmt :=
299 'select JG_GLOBE_UTIL_PKG.process_icx_line_globe_event '
300 || ' (:p_org_id, :p_item_id, :p_dest_organization_id '
301 || ') from dual ';
302
303 EXECUTE IMMEDIATE sqlstmt
304 INTO x_txn_reason_code
305 USING IN x_org_id, x_item_id, x_deliver_to_org_id;
306 -- into x_txn_reason_code;
307 END IF;
308
309 DEBUG ('Returned Transaction Reason' || x_txn_reason_code);
310 EXCEPTION
311 WHEN NO_DATA_FOUND
312 THEN
313 DEBUG (SQLERRM);
314 WHEN OTHERS
315 THEN
316 x_return_code := SQLCODE;
317 x_error_msg := SQLERRM;
318 DEBUG (x_return_code);
319 DEBUG (x_error_msg);
320 RAISE;
321 END;
322
323 -- Customize this procedure to add logic for validation related to globalization of the attribute values
324 -- on a requisition line. This would be any custom validation, that would be
325 -- in addition to all the validations done for a requisition line
326 -- This is called whenever the requisition line gets updated and is called
327 -- on every page in the checkOUT NOCOPY flow.
328 -- The return_msg and the error_code can be used to return the results of
329 -- the validation
330 -- The return code can be used to indicate on which tab the error message
331 -- needs to be displayed on the Edit Lines page
332 -- If the result code is 1, error is displayed on the Delivery tab
333 -- If the result code is 2, error is displayed on the Billing tab
334 -- If the result code is 3, error is displayed on the Accounts tab
335 PROCEDURE custom_validate_req_line (
336 x_req_header_id IN NUMBER, -- 1
337 x_req_line_id IN NUMBER, -- 2
338 x_line_num IN NUMBER, -- 3
339 -- header data
340 preparer_id IN NUMBER, -- 4
341 header_attribute_1 IN VARCHAR2, -- 5
342 header_attribute_2 IN VARCHAR2, -- 6
343 header_attribute_3 IN VARCHAR2, -- 7
344 header_attribute_4 IN VARCHAR2, -- 8
345 header_attribute_5 IN VARCHAR2, -- 9
346 header_attribute_6 IN VARCHAR2, -- 10
347 header_attribute_7 IN VARCHAR2, -- 11
348 header_attribute_8 IN VARCHAR2, -- 12
349 header_attribute_9 IN VARCHAR2, -- 13
350 header_attribute_10 IN VARCHAR2, -- 14
351 header_attribute_11 IN VARCHAR2, -- 15
352 header_attribute_12 IN VARCHAR2, -- 16
353 header_attribute_13 IN VARCHAR2, -- 17
354 header_attribute_14 IN VARCHAR2, -- 18
355 header_attribute_15 IN VARCHAR2, -- 19
356 -- line data
357 line_type_id IN NUMBER, -- 20
358 item_id IN NUMBER, -- 21
359 item_revision IN VARCHAR2, -- 22
360 category_id IN NUMBER, -- 23
361 catalog_source IN VARCHAR2, -- 24
362 catalog_type IN VARCHAR2, -- 25
363 currency_code IN VARCHAR2, -- 26
364 currency_unit_price IN NUMBER, -- 27
365 manufacturer_name IN VARCHAR2, --28
366 manufacturer_part_num IN VARCHAR2, -- 29
367 deliver_to_loc_id IN NUMBER, -- 30
368 deliver_to_org_id IN NUMBER, -- 31
369 deliver_to_subinv IN VARCHAR2, -- 32
370 destination_type_code IN VARCHAR2, -- 33
371 requester_id IN NUMBER, -- 34
372 encumbered_flag IN VARCHAR2, -- 35
373 hazard_class_id IN NUMBER, -- 36
374 modified_by_buyer IN VARCHAR2, -- 37
375 need_by_date IN DATE, -- 38
376 new_supplier_flag IN VARCHAR2, -- 39
377 on_rfq_flag IN VARCHAR2, -- 40
378 org_id IN NUMBER, -- 41
379 parent_req_line_id IN NUMBER, -- 42
380 po_line_loc_id IN NUMBER, -- 43
381 qty_cancelled IN NUMBER, -- 44
382 qty_delivered IN NUMBER, -- 45
383 qty_ordered IN NUMBER, -- 46
384 qty_received IN NUMBER, -- 47
385 rate IN NUMBER, -- 48
386 rate_date IN DATE, -- 49
387 rate_type IN VARCHAR2, -- 50
388 rfq_required IN VARCHAR2, -- 51
389 source_type_code IN VARCHAR2, -- 52
390 spsc_code IN VARCHAR2, -- 53
391 other_category_code IN VARCHAR2, -- 54
392 suggested_buyer_id IN OUT NOCOPY NUMBER, -- 55
393 source_doc_header_id IN NUMBER, -- 56
394 source_doc_line_num IN NUMBER, -- 57
395 source_doc_type_code IN VARCHAR2, -- 58
396 supplier_duns IN VARCHAR2, -- 59
397 supplier_item_num IN VARCHAR2, -- 60
398 taxable_status IN VARCHAR2, -- 61
399 unit_of_measure IN VARCHAR2, -- 62
400 unit_price IN NUMBER, -- 63
401 urgent IN VARCHAR2, -- 64
402 supplier_contact_id IN NUMBER, -- 65
403 supplier_id IN NUMBER, -- 66
404 supplier_site_id IN NUMBER, -- 67
405 cancel_date IN DATE, -- 68
406 cancel_flag IN VARCHAR2, -- 69
407 closed_code IN VARCHAR2, -- 70
408 closed_date IN DATE, -- 71
409 auto_receive_flag IN VARCHAR2, -- 72
410 pcard_flag IN VARCHAR2, -- 73
411 attribute1 IN VARCHAR2, -- 74
412 attribute2 IN VARCHAR2, -- 75
413 attribute3 IN VARCHAR2, -- 76
414 attribute4 IN VARCHAR2, -- 77
415 attribute5 IN VARCHAR2, -- 78
416 attribute6 IN VARCHAR2, -- 79
417 attribute7 IN VARCHAR2, -- 80
418 attribute8 IN VARCHAR2, -- 81
419 attribute9 IN VARCHAR2, -- 82
420 attribute10 IN VARCHAR2, -- 83
421 attribute11 IN VARCHAR2, -- 84
422 attribute12 IN VARCHAR2, -- 85
423 attribute13 IN VARCHAR2, -- 86
424 attribute14 IN VARCHAR2, -- 87
425 attribute15 IN VARCHAR2, -- 88
426 x_taxcodeid IN NUMBER, -- 89
427 x_return_code OUT NOCOPY NUMBER, -- 90 no error
428 x_error_msg OUT NOCOPY VARCHAR2, -- 91
429 x_source_org_id IN NUMBER, -- 92
430 x_txn_reason_code IN VARCHAR2 -- 93
431 )
432 IS
433 BEGIN
434 x_return_code := 0;
435 x_error_msg := '';
436 DEBUG ('validate');
437 DEBUG ('Trx Reason code' || x_txn_reason_code);
438 DEBUG ('source doc type' || source_doc_type_code);
439 DEBUG ('source header' || source_doc_header_id);
440 DEBUG ('source line' || source_doc_line_num);
441 DEBUG ('item id' || item_id);
442 DEBUG ('validate');
443 END;
444
445 -- Customize this procedure to add custom globalization defaulting logic for all the
446 -- attributes on a requisition distribution.
447 -- This is called when a new distribution gets added to the requisition.
448 -- The attribute id's are passed as IN OUT NOCOPY parameters to this procedure and
449 -- can be modified to reflect any custom defaulting logic.
450 PROCEDURE custom_default_req_dist (
451 x_distribution_id IN NUMBER, -- 1
452 x_old_distribution_id IN NUMBER, -- 2
453 x_code_combination_id IN OUT NOCOPY NUMBER, -- 3
454 x_budget_account_id IN OUT NOCOPY NUMBER, -- 4
455 x_variance_account_id IN OUT NOCOPY NUMBER, -- 5
456 x_accrual_account_id IN OUT NOCOPY NUMBER, -- 6
457 project_id IN OUT NOCOPY NUMBER, -- 7
458 task_id IN OUT NOCOPY NUMBER, -- 8
459 expenditure_type IN OUT NOCOPY VARCHAR2, -- 9
460 expenditure_organization_id IN OUT NOCOPY NUMBER, -- 10
461 expenditure_item_date IN OUT NOCOPY DATE, -- 11
462 award_id IN OUT NOCOPY NUMBER, -- 12
463 gl_encumbered_date IN OUT NOCOPY DATE, -- 13
464 gl_period_name IN OUT NOCOPY VARCHAR2, -- 14
465 gl_cancelled_date IN OUT NOCOPY DATE, -- 15
466 gl_closed_date IN OUT NOCOPY DATE, --16
467 gl_date IN OUT NOCOPY DATE, --17
468 gl_encumbered_period IN OUT NOCOPY VARCHAR2, --18
469 recovery_rate IN OUT NOCOPY NUMBER, -- 19
470 tax_recovery_override_flag IN OUT NOCOPY VARCHAR2, -- 20
471 chart_of_accounts_id IN NUMBER, -- 21
472 category_id IN NUMBER, -- 22
473 catalog_source IN VARCHAR2, -- 23
474 catalog_type IN VARCHAR2, -- 24
475 destination_type_code IN VARCHAR2, -- 25
476 deliver_to_location_id IN NUMBER, -- 26
477 destination_organization_id IN NUMBER, -- 27
478 destination_subinventory IN VARCHAR2, -- 28
479 item_id IN NUMBER, -- 29
480 sob_id IN NUMBER, -- 30
481 currency_code IN VARCHAR2, -- 31
482 currency_unit_price IN NUMBER, -- 32
483 manufacturer_name IN VARCHAR2, -- 33
484 manufacturer_part_num IN VARCHAR2, -- 34
485 need_by_date IN DATE, -- 35
486 new_supplier_flag IN VARCHAR2, -- 36
487 business_org_id IN NUMBER, -- 37
488 org_id IN NUMBER, -- 38
489 employee_id IN NUMBER, -- 39
490 employee_org_id IN NUMBER, -- 40
491 default_code_combination_id IN NUMBER, -- 41
492 parent_req_line_id IN NUMBER, -- 42
493 qty_cancelled IN NUMBER, -- 43
494 qty_delivered IN NUMBER, -- 44
495 qty_ordered IN NUMBER, -- 45
496 qty_received IN NUMBER, -- 46
497 rate IN NUMBER, -- 47
498 rate_date IN DATE, -- 48
499 rate_type IN VARCHAR2, -- 49
500 source_type_code IN VARCHAR2, -- 50
501 spsc_code IN VARCHAR2, -- 51
502 suggested_buyer_id IN NUMBER, -- 52
503 source_doc_header_id IN NUMBER, -- 53
504 source_doc_line_num IN NUMBER, -- 54
505 source_doc_type_code IN VARCHAR2, -- 55
506 supplier_item_num IN VARCHAR2, -- 56
507 taxable_status IN VARCHAR2, -- 57
508 unit_of_measure IN VARCHAR2, -- 58
509 unit_price IN NUMBER, -- 59
510 supplier_contact_id IN NUMBER, -- 60
511 supplier_id IN NUMBER, -- 61
512 supplier_site_id IN NUMBER, -- 62
513 pcard_flag IN VARCHAR2, -- 63
514 line_type_id IN NUMBER, -- 64
515 taxcodeid IN NUMBER, -- 65
516 results_billable_flag IN VARCHAR2, -- 66
517 preparer_id IN NUMBER, -- 67
518 deliver_to_person_id IN NUMBER, -- 68
519 po_encumberance_flag IN VARCHAR2, -- 69
520 DATE_FORMAT IN VARCHAR2, -- 70
521 header_att1 IN VARCHAR2, -- 71
522 header_att2 IN VARCHAR2, -- 72
523 header_att3 IN VARCHAR2, -- 73
524 header_att4 IN VARCHAR2, -- 74
525 header_att5 IN VARCHAR2, -- 75
526 header_att6 IN VARCHAR2, -- 76
527 header_att7 IN VARCHAR2, -- 77
528 header_att8 IN VARCHAR2, -- 78
529 header_att9 IN VARCHAR2, -- 79
530 header_att10 IN VARCHAR2, -- 80
531 header_att11 IN VARCHAR2, -- 81
532 header_att12 IN VARCHAR2, -- 82
533 header_att13 IN VARCHAR2, -- 83
534 header_att14 IN VARCHAR2, -- 84
535 header_att15 IN VARCHAR2, -- 85
536 line_att1 IN VARCHAR2, -- 86
537 line_att2 IN VARCHAR2, -- 87
538 line_att3 IN VARCHAR2, -- 88
539 line_att4 IN VARCHAR2, -- 89
540 line_att5 IN VARCHAR2, -- 90
541 line_att6 IN VARCHAR2, -- 91
542 line_att7 IN VARCHAR2, -- 92
543 line_att8 IN VARCHAR2, -- 93
544 line_att9 IN VARCHAR2, -- 94
545 line_att10 IN VARCHAR2, -- 95
546 line_att11 IN VARCHAR2, -- 96
547 line_att12 IN VARCHAR2, -- 97
548 line_att13 IN VARCHAR2, -- 98
549 line_att14 IN VARCHAR2, -- 99
550 line_att15 IN VARCHAR2, -- 100
551 distribution_att1 IN OUT NOCOPY VARCHAR2, -- 101
552 distribution_att2 IN OUT NOCOPY VARCHAR2, -- 102
553 distribution_att3 IN OUT NOCOPY VARCHAR2, -- 103
554 distribution_att4 IN OUT NOCOPY VARCHAR2, -- 104
555 distribution_att5 IN OUT NOCOPY VARCHAR2, -- 105
556 distribution_att6 IN OUT NOCOPY VARCHAR2, -- 106
557 distribution_att7 IN OUT NOCOPY VARCHAR2, -- 107
558 distribution_att8 IN OUT NOCOPY VARCHAR2, -- 108
559 distribution_att9 IN OUT NOCOPY VARCHAR2, -- 109
560 distribution_att10 IN OUT NOCOPY VARCHAR2, -- 110
561 distribution_att11 IN OUT NOCOPY VARCHAR2, -- 111
562 distribution_att12 IN OUT NOCOPY VARCHAR2, -- 112
563 distribution_att13 IN OUT NOCOPY VARCHAR2, -- 113
564 distribution_att14 IN OUT NOCOPY VARCHAR2, -- 114
565 distribution_att15 IN OUT NOCOPY VARCHAR2, -- 115
566 result_code OUT NOCOPY NUMBER, -- 116
567 x_error_msg OUT NOCOPY VARCHAR2 -- 117
568 )
569 IS
570 BEGIN
571 result_code := 0;
572 x_error_msg := '';
573 END;
574
575 -- Customize this procedure to add logic for validation related to globalization of the attribute values
576 -- on a requisition distribution. This would be any custom validation, that
577 -- would be in addition to all the validations done for a requisition
578 -- distribution.
579 -- The return_msg and the error_code can be used to return the results of
580 -- the validation
581 -- The return code can be used to indicate on which tab the error message
582 -- needs to be displayed on the Edit Lines page
583 -- If the result code is 1, error is displayed on the Delivery tab
584 -- If the result code is 2, error is displayed on the Billing tab
585 -- If the result code is 3, error is displayed on the Accounts tab
586 PROCEDURE custom_validate_req_dist (
587 x_distribution_id IN NUMBER, -- 1
588 x_code_combination_id IN NUMBER, -- 2
589 x_budget_account_id IN NUMBER, -- 3
590 x_variance_account_id IN NUMBER, -- 4
591 x_accrual_account_id IN NUMBER, -- 5
592 project_id IN NUMBER, -- 6
593 task_id IN NUMBER, -- 7
594 expenditure_type IN VARCHAR2, -- 8
595 expenditure_organization_id IN NUMBER, -- 9
596 expenditure_item_date IN DATE, -- 10
597 award_id IN NUMBER, -- 11
598 gl_encumbered_date IN DATE, -- 12
599 gl_period_name IN VARCHAR2, -- 13
600 gl_cancelled_date IN DATE, -- 14
601 gl_closed_date IN DATE, --15
602 gl_date IN DATE, --16
603 gl_encumbered_period IN VARCHAR2, --17
604 recovery_rate IN NUMBER, -- 18
605 tax_recovery_override_flag IN VARCHAR2, -- 19
606 chart_of_accounts_id IN NUMBER, -- 20
607 category_id IN NUMBER, -- 21
608 catalog_source IN VARCHAR2, -- 22
609 catalog_type IN VARCHAR2, -- 23
610 destination_type_code IN VARCHAR2, -- 24
611 deliver_to_location_id IN NUMBER, -- 25
612 destination_organization_id IN NUMBER, -- 26
613 destination_subinventory IN VARCHAR2, -- 27
614 item_id IN NUMBER, -- 28
615 sob_id IN NUMBER, -- 29
616 currency_code IN VARCHAR2, -- 30
617 currency_unit_price IN NUMBER, -- 31
618 manufacturer_name IN VARCHAR2, -- 32
619 manufacturer_part_num IN VARCHAR2, -- 33
620 need_by_date IN DATE, -- 34
621 new_supplier_flag IN VARCHAR2, -- 35
622 business_org_id IN NUMBER, -- 36
623 org_id IN NUMBER, -- 37
624 employee_id IN NUMBER, -- 38
625 employee_org_id IN NUMBER, -- 39
626 default_code_combination_id IN NUMBER, -- 40
627 parent_req_line_id IN NUMBER, -- 41
628 qty_cancelled IN NUMBER, -- 42
629 qty_delivered IN NUMBER, -- 43
630 qty_ordered IN NUMBER, -- 44
631 qty_received IN NUMBER, -- 45
632 rate IN NUMBER, -- 46
633 rate_date IN DATE, -- 47
634 rate_type IN VARCHAR2, -- 48
635 source_type_code IN VARCHAR2, -- 49
636 spsc_code IN VARCHAR2, -- 50
637 suggested_buyer_id IN NUMBER, -- 51
638 source_doc_header_id IN NUMBER, -- 52
639 source_doc_line_num IN NUMBER, -- 53
640 source_doc_type_code IN VARCHAR2, -- 54
641 supplier_item_num IN VARCHAR2, -- 55
642 taxable_status IN VARCHAR2, -- 56
643 unit_of_measure IN VARCHAR2, -- 57
644 unit_price IN NUMBER, -- 58
645 supplier_contact_id IN NUMBER, -- 59
646 supplier_id IN NUMBER, -- 60
647 supplier_site_id IN NUMBER, -- 61
648 pcard_flag IN VARCHAR2, -- 62
649 line_type_id IN NUMBER, -- 63
650 taxcodeid IN NUMBER, -- 64
651 results_billable_flag IN VARCHAR2, -- 65
652 preparer_id IN NUMBER, -- 66
653 deliver_to_person_id IN NUMBER, -- 67
654 po_encumberance_flag IN VARCHAR2, -- 68
655 DATE_FORMAT IN VARCHAR2, -- 69
656 header_att1 IN VARCHAR2, -- 70
657 header_att2 IN VARCHAR2, -- 71
658 header_att3 IN VARCHAR2, -- 72
659 header_att4 IN VARCHAR2, -- 73
660 header_att5 IN VARCHAR2, -- 74
661 header_att6 IN VARCHAR2, -- 75
662 header_att7 IN VARCHAR2, -- 76
663 header_att8 IN VARCHAR2, -- 77
664 header_att9 IN VARCHAR2, -- 78
665 header_att10 IN VARCHAR2, -- 79
666 header_att11 IN VARCHAR2, -- 80
667 header_att12 IN VARCHAR2, -- 81
668 header_att13 IN VARCHAR2, -- 82
669 header_att14 IN VARCHAR2, -- 83
670 header_att15 IN VARCHAR2, -- 84
671 line_att1 IN VARCHAR2, -- 85
672 line_att2 IN VARCHAR2, -- 86
673 line_att3 IN VARCHAR2, -- 87
674 line_att4 IN VARCHAR2, -- 88
675 line_att5 IN VARCHAR2, -- 89
676 line_att6 IN VARCHAR2, -- 90
677 line_att7 IN VARCHAR2, -- 91
678 line_att8 IN VARCHAR2, -- 92
679 line_att9 IN VARCHAR2, -- 93
680 line_att10 IN VARCHAR2, -- 94
681 line_att11 IN VARCHAR2, -- 95
682 line_att12 IN VARCHAR2, -- 96
683 line_att13 IN VARCHAR2, -- 97
684 line_att14 IN VARCHAR2, -- 98
685 line_att15 IN VARCHAR2, -- 99
686 distribution_att1 IN VARCHAR2, -- 100
687 distribution_att2 IN VARCHAR2, -- 101
688 distribution_att3 IN VARCHAR2, -- 102
689 distribution_att4 IN VARCHAR2, -- 103
690 distribution_att5 IN VARCHAR2, -- 104
691 distribution_att6 IN VARCHAR2, -- 105
692 distribution_att7 IN VARCHAR2, -- 106
693 distribution_att8 IN VARCHAR2, -- 107
694 distribution_att9 IN VARCHAR2, -- 108
695 distribution_att10 IN VARCHAR2, -- 109
696 distribution_att11 IN VARCHAR2, -- 110
697 distribution_att12 IN VARCHAR2, -- 111
698 distribution_att13 IN VARCHAR2, -- 112
699 distribution_att14 IN VARCHAR2, -- 113
700 distribution_att15 IN VARCHAR2, -- 114
701 result_code OUT NOCOPY NUMBER, -- 115
702 x_error_msg OUT NOCOPY VARCHAR2 -- 116
703 )
704 IS
705 BEGIN
706 result_code := 0;
707 x_error_msg := '';
708 END;
709
710 END JG_PO_EXTENSION_PKG;
711