1 PACKAGE PO_LINES_SV as
2 /* $Header: POXPOL1S.pls 120.2 2005/08/17 06:55:20 arudas noship $ */
3
4 /*===========================================================================
5 PACKAGE NAME: PO_LINES_SV
6
7 DESCRIPTION: This package contains the server side Line level
8 Application Program Interfaces (APIs).
9
10 CLIENT/SERVER: Server
11
12 OWNER: Melissa Snyder
13
14 FUNCTION/PROCEDURE: get_line_num()
15 val_line_num_unique()
16 delete_line()
17 delete_all_lines()
18 delete_children()
19 val_delete()
20 val_update()
21 val_approval_status()
22 update_released_quantity()
23 ===========================================================================*/
24
25
26
27 /*===========================================================================
28 PROCEDURE NAME: delete_line()
29
30 DESCRIPTION: This procedure contains the necessary server side
31 Application Program Interfaces which verify deletion
32 is permitted on a line, deletes the line, and deletes the
33 children of that line.
34
35 PARAMETERS: X_type_lookup_code IN VARCHAR2
36 X_po_line_id IN NUMBER
37 X_row_id IN VARCHAR2
38 p_skip_validation IN VARCHAR2 DEFAULT NULL
39
40 DESIGN REFERENCES: ../POXPOMPO.doc
41 ../POXSCERQ.dd
42
43 ALGORITHM: Call the delete validation routines for
44 PO/RFQ/Quote lines.
45
46 Delete Line
47
48 Delete Children of line
49
50 NOTES:
51
52 OPEN ISSUES:
53
54 CLOSED ISSUES:
55
56 CHANGE HISTORY: Created 05-MAY-95 MSNYDER
57 ===========================================================================*/
58
59 PROCEDURE delete_line
60 (X_type_lookup_code IN VARCHAR2,
61 X_po_line_id IN NUMBER,
62 X_row_id IN VARCHAR2,
63 p_skip_validation IN VARCHAR2 DEFAULT NULL);----<HTML Agreements R12>
64
65 /*===========================================================================
66 PROCEDURE NAME: delete_all_lines()
67
68 DESCRIPTION: This procedure deletes all children of a selected line.
69
70 PARAMETERS: X_po_header_id IN NUMBER
71 p_type_lookup_code IN VARCHAR2
72
73 DESIGN REFERENCES: ../POXPOMPO.doc
74 ../POXSCERQ.dd
75
76 ALGORITHM:
77
78 NOTES:
79
80 OPEN ISSUES:
81
82 CLOSED ISSUES:
83
84 CHANGE HISTORY: Created 08-MAY-95 MSNYDER
85 ===========================================================================*/
86
87 PROCEDURE delete_all_lines( X_po_header_id IN NUMBER
88 ,p_type_lookup_code IN VARCHAR2);
89
90 /*===========================================================================
91 PROCEDURE NAME: delete_children()
92
93 DESCRIPTION: This procedure deletes all children of a selected line.
94
95 PARAMETERS: X_type_lookup_code IN VARCHAR2
96 X_po_line_id IN NUMBER
97
98 DESIGN REFERENCES: ../POXPOMPO.doc
99 ../POXSCERQ.dd
100
101 ALGORITHM:
102
103 NOTES:
104
105 OPEN ISSUES:
106
107 CLOSED ISSUES:
108
109 CHANGE HISTORY: Created 05-MAY-95 MSNYDER
110 ===========================================================================*/
111
112 PROCEDURE delete_children
113 (X_type_lookup_code IN VARCHAR2,
114 X_po_line_id IN NUMBER);
115
116 /*===========================================================================
117 PROCEDURE NAME: check_line_deletion_allowed()
118
119 DESCRIPTION: This procedure is a delete validation routine for
120 Purchase Orders. It checks if there are any
121 approved or previously approved shipments for the
122 line, or if there are any encumbered shipments. If
123 any shipment meets these criterium, error messages
124 are placed on the stack.
125
126 PARAMETERS: X_po_line_id IN NUMBER,
127 X_allow_delete IN OUT VARCHAR2
128 p_token IN VARCHAR2 DEFAULT NULL,
129 p_token_value IN VARCHAR2 DEFAULT NULL
130
131 NOTES: This is the same procedure as val_line_delete, except exceptions
132 are not raised.
133
134 OPEN ISSUES:
135
136 CLOSED ISSUES:
137
138 CHANGE HISTORY: Created 09-MAY-95 MSNYDER
139 ===========================================================================*/
140
141
142 PROCEDURE check_line_deletion_allowed
143 (X_po_line_id IN NUMBER,
144 X_allow_delete IN OUT NOCOPY VARCHAR2,
145 p_token IN VARCHAR2 DEFAULT NULL,
146 p_token_value IN VARCHAR2 DEFAULT NULL,
147 x_message_text OUT NOCOPY VARCHAR2);
148
149 /*===========================================================================
150 PROCEDURE NAME: val_delete()
151
152 DESCRIPTION: This procedure is a delete validation routine for
153 Purchase Orders. It checks if there are any
154 approved or previously approved shipments for the
155 line, or if there are any encumbered shipments. If
156 any shipment meets these criterium, the line cannot
157 be deleted.
158
159 PARAMETERS: X_po_line_id IN NUMBER,
160 X_allow_delete IN OUT VARCHAR2
161
162 DESIGN REFERENCES: ../POXPOMPO.doc
163
164 ALGORITHM:
165
166 NOTES:
167
168 OPEN ISSUES:
169
170 CLOSED ISSUES:
171
172 CHANGE HISTORY: Created 09-MAY-95 MSNYDER
173 ===========================================================================*/
174
175
176 PROCEDURE test_val_line_delete(X_po_line_id IN NUMBER);
177
178 PROCEDURE val_line_delete
179 (X_po_line_id IN NUMBER,
180 X_allow_delete IN OUT NOCOPY VARCHAR2,
181 p_token IN VARCHAR2 DEFAULT NULL, -- Bug 3453216
182 p_token_value IN VARCHAR2 DEFAULT NULL); -- Bug 3453216
183 /*===========================================================================
184 PROCEDURE NAME: val_update()
185
186 DESCRIPTION: This procedure calls the shipment level procedure,
187 val_schedule_released_qty. Based on the value
188 of returned parameters, this procedure will display
189 a message to the user informing them they cannot
190 reduce the quantity ordered to less than what has
191 already been released.
192
193 PARAMETERS: X_po_line_id IN NUMBER,
194 X_quantity_ordered IN NUMBER
195
196 DESIGN REFERENCES: ../POXPOMPO.doc
197
198 ALGORITHM:
199
200 NOTES:
201
202 OPEN ISSUES:
203
204 CLOSED ISSUES:
205
206 CHANGE HISTORY: Created 09-MAY-95 MSNYDER
207 ===========================================================================*/
208
209 PROCEDURE val_update(X_po_line_id IN NUMBER,
210 X_quantity_ordered IN NUMBER);
211
212 /*===========================================================================
213 FUNCTION NAME: val_approval_status()
214
215 DESCRIPTION: Validates if the line needs to be unapproved.
216
217 PARAMETERS: X_po_line_id IN NUMBER,
218 X_type_lookup_code IN VARCHAR2,
219 X_unit_price IN NUMBER,
220 X_line_num IN NUMBER,
221 X_item_id IN NUMBER,
222 X_item_description IN VARCHAR2,
223 *MPO X_quantity IN NUMBER,
224 X_unit_meas_lookup_code IN VARCHAR2,
225 X_from_header_id IN NUMBER,
226 X_from_line_id IN NUMBER,
227 X_hazard_class_id IN NUMBER,
228 X_vendor_product_num IN VARCHAR2,
229 X_un_number_id IN NUMBER,
230 X_note_to_vendor IN VARCHAR2,
231 X_item_revision IN VARCHAR2,
232 X_category_id IN NUMBER,
233 X_price_type_lookup_code IN VARCHAR2,
234 X_not_to_exceed_price IN NUMBER,
235 *PAG X_quantity_committed IN NUMBER,
236 *PAG X_committed_amount IN NUMBER,
237 p_contract_id IN NUMBER, -- <GC FPJ>
238 -- <SERVICES FPJ START>
239 X_contractor_first_name IN VARCHAR2,
240 X_contractor_last_name IN VARCHAR2,
241 X_assignment_start_date IN DATE,
242 X_amount_db IN NUMBER
243 -- <SERVICES FPJ END>
244
245 RETURN VALUE: BOOLEAN
246
247 DESIGN REFERENCES: ../POXPOMPO.doc
248
249 ALGORITHM:
250
251 NOTES:
252
253 OPEN ISSUES:
254
255 CLOSED ISSUES:
256
257 CHANGE HISTORY: Created 09-MAY-95 MSNYDER
258 ===========================================================================*/
259
260 PROCEDURE test_val_approval_status
261 (X_po_line_id IN NUMBER,
262 X_type_lookup_code IN VARCHAR2,
263 X_unit_price IN NUMBER,
264 X_line_num IN NUMBER,
265 X_item_id IN NUMBER,
266 X_item_description IN VARCHAR2,
267 X_quantity IN NUMBER,
268 X_unit_meas_lookup_code IN VARCHAR2,
269 X_from_header_id IN NUMBER,
270 X_from_line_id IN NUMBER,
271 X_hazard_class_id IN NUMBER,
272 X_vendor_product_num IN VARCHAR2,
273 X_un_number_id IN NUMBER,
274 X_note_to_vendor IN VARCHAR2,
275 X_item_revision IN VARCHAR2,
276 X_category_id IN NUMBER,
277 X_price_type_lookup_code IN VARCHAR2,
278 X_not_to_exceed_price IN NUMBER,
279 X_quantity_committed IN NUMBER,
280 X_committed_amount IN NUMBER,
281 p_contract_id IN NUMBER -- <GC FPJ>
282 );
283
284 -- <GC FPJ>
285 -- Add Contract_ID and remove contract_num
286
287 FUNCTION val_approval_status
288 (X_po_line_id IN NUMBER,
289 X_type_lookup_code IN VARCHAR2,
290 X_unit_price IN NUMBER,
291 X_line_num IN NUMBER,
292 X_item_id IN NUMBER,
293 X_item_description IN VARCHAR2,
294 X_quantity IN NUMBER,
295 X_unit_meas_lookup_code IN VARCHAR2,
296 X_from_header_id IN NUMBER,
297 X_from_line_id IN NUMBER,
298 X_hazard_class_id IN NUMBER,
299 X_vendor_product_num IN VARCHAR2,
300 X_un_number_id IN NUMBER,
301 X_note_to_vendor IN VARCHAR2,
302 X_item_revision IN VARCHAR2,
303 X_category_id IN NUMBER,
304 X_price_type_lookup_code IN VARCHAR2,
305 X_not_to_exceed_price IN NUMBER,
306 X_quantity_committed IN NUMBER,
307 X_committed_amount IN NUMBER,
308 X_expiration_date IN DATE,
309 p_contract_id IN NUMBER,
310 X_contractor_first_name IN VARCHAR2 default null,
311 X_contractor_last_name IN VARCHAR2 default null,
312 X_assignment_start_date IN DATE default null,
313 X_amount_db IN NUMBER default null
314 ) RETURN BOOLEAN;
315
316 /*===========================================================================
317 PROCEDURE NAME: update_released_quantity()
318
319 DESCRIPTION: This procedure will adjust the line level
320 released quantity when a release shipment
321 is inserted, updated, or deleted.
322
323 PARAMETERS: X_event IN VARCHAR2,
324 X_shipment_type IN VARCHAR2,
325 X_po_line_id IN NUMBER,
326 X_original_quantity IN NUMBER,
327 X_quantity IN NUMBER
328
329 DESIGN REFERENCES: ../POXPOREL.doc
330
331 ALGORITHM:
332
333 NOTES:
334
335 OPEN ISSUES:
336
337 CLOSED ISSUES:
338
339 CHANGE HISTORY: Created 10-MAY-95 MSNYDER
340 ===========================================================================*/
341
342 PROCEDURE update_released_quantity
343 (X_event IN VARCHAR2,
344 X_shipment_type IN VARCHAR2,
345 X_po_line_id IN NUMBER,
346 X_original_quantity IN NUMBER,
347 X_quantity IN NUMBER);
348
349 END PO_LINES_SV;