DBA Data[Home] [Help]

PACKAGE BODY: APPS.JG_PO_EXTENSION_PKG

Source


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