1 PACKAGE BODY PO_SOURCING3_SV as
2 /* $Header: POXSCS3B.pls 115.2 2002/11/26 19:51:23 sbull ship $ */
3
4 /*============================= PO_SOURCING3_SV ===========================*/
5
6 /*===========================================================================
7
8 PROCEDURE NAME: get_catalog_startup_values()
9
10 ===========================================================================*/
11 PROCEDURE get_catalog_startup_values(X_functional_currency_code IN OUT NOCOPY VARCHAR2,
12 X_sob_id IN OUT NOCOPY NUMBER,
13 X_sob_short_name IN OUT NOCOPY VARCHAR2,
14 X_structure_id IN OUT NOCOPY NUMBER,
15 X_category_set_id IN OUT NOCOPY NUMBER,
16 X_instance_org_id IN OUT NOCOPY NUMBER,
17 X_instance_org_code IN OUT NOCOPY VARCHAR2,
18 X_instance_org_name IN OUT NOCOPY VARCHAR2,
19 X_display_find IN OUT NOCOPY VARCHAR2,
20 X_default_results IN OUT NOCOPY VARCHAR2,
21 X_display_inverse_rate IN OUT NOCOPY VARCHAR2,
22 X_employee_id IN OUT NOCOPY NUMBER,
23 X_employee_name IN OUT NOCOPY VARCHAR2,
24 X_def_deliver_to_loc_id IN OUT NOCOPY NUMBER,
25 X_def_deliver_to_loc_name IN OUT NOCOPY VARCHAR2,
26 X_def_deliver_to_org_id IN OUT NOCOPY NUMBER,
27 X_def_deliver_to_org_name IN OUT NOCOPY VARCHAR2,
28 X_def_deliver_to_org_code IN OUT NOCOPY VARCHAR2,
29 X_ship_for_del_loc_id IN OUT NOCOPY NUMBER,
30 X_ship_for_del_loc_name IN OUT NOCOPY VARCHAR2,
31 X_legal_requisition_option IN OUT NOCOPY VARCHAR2,
32 X_chart_of_accounts_id IN OUT NOCOPY NUMBER,
33 X_gl_date IN OUT NOCOPY DATE,
34 X_window_org_id IN OUT NOCOPY NUMBER,
35 X_window_org_name IN OUT NOCOPY VARCHAR2,
36 X_enforce_full_lot_control IN OUT NOCOPY VARCHAR2,
37 X_disposition_warning_flag IN OUT NOCOPY VARCHAR2,
38 X_item_cross_ref_type IN OUT NOCOPY VARCHAR2) IS
39
40 X_progress varchar2(3) := NULL;
41 X_period_name varchar2(15):= NULL;
42 X_employee_flag boolean;
43 X_is_emp boolean;
44 X_employee_is_buyer boolean;
45 X_loc_is_valid boolean;
46 X_multi_org_form boolean := FALSE;
47
48 BEGIN
49
50 /* Get category set and structure. */
51
52 X_progress := '010';
53 po_core_s.get_item_category_structure(X_category_set_id,
54 X_structure_id);
55
56 /* Get Catalog profile options. */
57
58 X_progress := '020';
59 X_display_find := po_sourcing2_sv.get_display_find_option;
60
61 X_progress := '030';
62 X_default_results := po_sourcing2_sv.get_default_results_option;
63
64 /* Get Legal Requisition Type profile option */
65
66 X_progress := '031';
67 fnd_profile.get('REQUISITION_TYPE', X_legal_requisition_option);
68
69 /* Get the menu title */
70
71 X_progress := '035';
72 po_core_s3.get_window_org_sob(X_multi_org_form,
73 X_window_org_id,
74 X_window_org_name);
75
76 /* Get the disposition message item cross reference type.
77 */
78
79 X_progress := '036';
80 fnd_profile.get('PO_ITEM_REFERENCE_WARNING', X_item_cross_ref_type);
81
82 /* Get working organization and set of books information.
83 ** Also obtain the disposition warning flag from the
84 ** purchasing options table.
85 */
86
87 X_progress := '040';
88
89 SELECT fsp.inventory_organization_id,
90 ood.organization_code,
91 ood.organization_name,
92 fsp.set_of_books_id,
93 gsb.short_name,
94 gsb.currency_code,
95 gsb.chart_of_accounts_id,
96 psp.disposition_warning_flag,
97 psp.enforce_full_lot_quantities
98 INTO X_instance_org_id,
99 X_instance_org_code,
100 X_instance_org_name,
101 X_sob_id,
102 X_sob_short_name,
103 X_functional_currency_code,
104 X_chart_of_accounts_id,
105 X_disposition_warning_flag,
106 X_enforce_full_lot_control
107 FROM financials_system_parameters fsp,
108 gl_sets_of_books gsb,
109 org_organization_definitions ood,
110 po_system_parameters psp
111 WHERE fsp.set_of_books_id = gsb.set_of_books_id
112 AND fsp.inventory_organization_id = ood.organization_id;
113
114
115 /* Get the GL Date for the set of books. */
116
117 X_progress := '041';
118 po_core_s.get_period_name(X_sob_id,
119 X_period_name,
120 X_gl_date);
121
122 /* Get current employee information for deliver-to defaults. */
123
124 X_progress := '050';
125 X_employee_flag := po_employees_sv.get_employee(X_employee_id,
126 X_employee_name,
127 X_def_deliver_to_loc_id,
128 X_def_deliver_to_loc_name,
129 X_employee_is_buyer,
130 X_is_emp);
131
132 /* Get default deliver-to organization information for the default
133 ** location.
134 */
135
136 X_progress := '060';
137 po_locations_s.get_loc_org(X_def_deliver_to_loc_id,
138 X_sob_id,
139 X_def_deliver_to_org_id,
140 X_def_deliver_to_org_code,
141 X_def_deliver_to_org_name);
142
143 /* Get the ship-to location associated with this deliver-to location.
144 */
145
146 X_progress := '065';
147 X_loc_is_valid := po_locations_s.get_ship_to_location(X_def_deliver_to_loc_id,
148 X_ship_for_del_loc_id);
149
150 /* Get the ship-to location name for this id. */
151
152 X_progress := '066';
153 po_locations_s.get_location_code(X_ship_for_del_loc_id,
154 X_ship_for_del_loc_name);
155
156
157 /* Get the inverse rate profile option.
158 ** DEBUG -- have my own call to fnd_profile.get because call to po_setup_s
159 ** function to do this is not working.
160 */
161
162 X_progress := '080';
163 fnd_profile.get('DISPLAY_INVERSE_RATE', X_display_inverse_rate);
164
165 EXCEPTION
166
167 when others then
168 po_message_s.sql_error('get_catalog_startup_values', X_progress, sqlcode);
169 raise;
170
171 END get_catalog_startup_values;
172
173 END PO_SOURCING3_SV;