[Home] [Help]
PACKAGE BODY: APPS.OE_LINE_SECURITY
Source
1 PACKAGE BODY OE_Line_Security AS
2 /* $Header: OEXXLINB.pls 120.8.12000000.5 2007/07/27 02:48:21 smusanna ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_Line_Security';
7
8 g_header_id NUMBER := FND_API.G_MISS_NUM;
9
10 -- LOCAL PROCEDURES
11
12 FUNCTION Is_Op_Constrained
13 ( p_operation IN VARCHAR2
14 , p_column_name IN VARCHAR2 DEFAULT NULL
15 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
16 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
17 ) RETURN NUMBER IS
18 l_constraint_id NUMBER;
19 l_grp NUMBER;
20 l_on_operation_action NUMBER;
21 l_result NUMBER;
22 l_column_name VARCHAR2(30);
23 l_audit_trail_enabled VARCHAR2(1) := OE_SYS_PARAMETERS.VALUE('AUDIT_TRAIL_ENABLE_FLAG');
24 l_code_level VARCHAR2(6) := OE_CODE_CONTROL.GET_CODE_RELEASE_LEVEL;
25 l_ctr NUMBER := OE_GLOBALS.OE_AUDIT_HISTORY_TBL.count;
26 l_ind NUMBER;
27 l_history_captured BOOLEAN; -- Is history captured for this line?
28
29 -- Variables for Integration Event Code
30 l_party_id Number;
31 l_party_site_id Number;
32 l_is_delivery_reqd Varchar2(1);
33 l_return_status Varchar2(30);
34 l_gen_xml Varchar2(1) := 'P';
35 --
36
37 --
38 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
39 --
40 BEGIN
41
42 -- Bug 1755817: if line belongs to a different order, then
43 -- clear the cached results so that the cache is reset for
44 -- the new order
45 IF p_record.header_id <> g_header_id THEN
46 OE_PC_Constraints_Admin_Pvt.Clear_Cached_Results;
47 g_header_id := p_record.header_id;
48 END IF;
49
50 l_result := OE_PC_Constraints_Admin_PVT.Is_OP_constrained
51 ( p_responsibility_id => nvl(fnd_global.resp_id, -1)
52 , p_application_id => nvl(fnd_global.resp_appl_id,-1) --added for bug3631547
53 , p_operation => p_operation
54 , p_qualifier_attribute => p_record.transaction_phase_code
55 , p_entity_id => OE_PC_GLOBALS.G_ENTITY_LINE
56 , p_column_name => p_column_name
57 , p_check_all_cols_constraint => g_check_all_cols_constraint
58 , p_is_caller_defaulting => g_is_caller_defaulting
59 , p_use_cached_results => 'Y'
60 , x_constraint_id => l_constraint_id
61 , x_constraining_conditions_grp => l_grp
62 , x_on_operation_action => x_on_operation_action
63 );
64
65 if l_result = OE_PC_GLOBALS.YES then
66
67 IF g_check_all_cols_constraint = 'Y'
68 AND (p_operation = OE_PC_GLOBALS.UPDATE_OP
69 OR p_operation = OE_PC_GLOBALS.CREATE_OP)
70 AND x_on_operation_action = 0
71 AND p_column_name IS NOT NULL THEN
72 SELECT column_name
73 INTO l_column_name
74 FROM oe_pc_constraints
75 WHERE constraint_id = l_constraint_id;
76 if l_column_name is null then
77 IF l_debug_level > 0 THEN
78 oe_debug_pub.add('There is an UPDATE constraint on all columns - Error',1);
79 END IF;
80 RAISE FND_API.G_EXC_ERROR;
81 end if;
82 END IF;
83
84 elsif l_result = OE_PC_GLOBALS.ERROR then
85
86 raise FND_API.G_EXC_UNEXPECTED_ERROR;
87
88 end if;
89
90 g_check_all_cols_constraint := 'N';
91
92 IF l_debug_level > 0 THEN
93 OE_DEBUG_PUB.add('Action performed code : '||x_on_operation_action,1);
94 END IF;
95
96 IF l_result = OE_PC_GLOBALS.YES THEN
97 IF x_on_operation_action IN (.05,.1,.2,.5,1) THEN
98 IF p_column_name = 'ORDERED_QUANTITY'
99 -- QUOTING change - set cancellation require reason flag only
100 -- for lines in fulfillment phase
101 AND nvl(p_record.transaction_phase_code,'F') = 'F'
102 THEN
103 IF l_debug_level > 0 THEN
104 oe_debug_pub.add('Setting Cancellation Flag to True',1);
105 END IF;
106 oe_sales_can_util.G_REQUIRE_REASON := TRUE;
107 END IF;
108 END IF;
109 END IF;
110
111 /* Start Versioning */
112 IF l_code_level >= '110510' AND
113 ( p_column_name = 'TRANSACTION_PHASE_CODE' OR
114 x_on_operation_action IN (.1,.2))THEN
115 OE_Versioning_Util.Check_Security(p_column_name => p_column_name,
116 p_on_operation_action => x_on_operation_action);
117 END IF;
118 /* End Versioning */
119
120
121 --Start Integration Framework Code
122
123 If l_code_level >= '110510' And
124 l_result = OE_PC_GLOBALS.YES And
125 x_on_operation_action = 3 And
126 nvl(p_record.transaction_phase_code,'F') = 'F'
127 Then
128 If p_record.order_source_id = 20 Then
129 OE_Acknowledgment_Pub.Is_Delivery_Required
130 (
131 p_customer_id => p_record.sold_to_org_id,
132 p_transaction_type => OE_Acknowledgment_Pub.G_TRANSACTION_TYPE,
133 p_transaction_subtype => OE_Acknowledgment_Pub.G_TRANSACTION_SSO,
134 x_party_id => l_party_id,
135 x_party_site_id => l_party_site_id,
136 x_is_delivery_required => l_is_delivery_reqd,
137 x_return_status => l_return_status
138 );
139
140 If l_return_status = FND_API.G_RET_STS_SUCCESS And
141 l_is_delivery_reqd = 'Y'
142 Then
143 l_gen_xml := 'B';
144 End If;
145 End If;
146
147 OE_delayed_requests_pvt.log_request
148 (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
149 p_entity_id => p_record.header_id,
150 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
151 p_requesting_entity_id => p_record.header_id,
152 p_request_type => OE_GLOBALS.G_GENERATE_XML_REQ_HDR,
153 p_request_unique_key1 => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
154 p_param1 => p_record.header_id,
155 p_param2 => p_record.order_source_id,
156 p_param3 => p_record.orig_sys_document_ref,
157 p_param4 => p_record.sold_to_org_id,
158 p_param5 => Null,
159 p_param6 => p_record.org_id,
160 p_param7 => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
161 p_param8 => Null,
162 p_param9 => p_record.sold_to_org_id,
163 p_param10 => l_party_site_id,
164 p_param11 => Null,
165 p_param12 => l_gen_xml,
166 x_return_status => l_return_status);
167
168 OE_delayed_requests_pvt.log_request
169 (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
170 p_entity_id => p_record.line_id,
171 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
172 p_requesting_entity_id => p_record.line_id,
173 p_request_type => OE_GLOBALS.G_GENERATE_XML_REQ_LN,
174 p_request_unique_key1 => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
175 p_param1 => p_record.header_id,
176 p_param2 => p_record.order_source_id,
177 p_param3 => p_record.orig_sys_document_ref,
178 p_param4 => p_record.sold_to_org_id,
179 p_param5 => Null,
180 p_param6 => p_record.org_id,
181 p_param7 => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
182 p_param8 => Null,
183 p_param9 => p_record.sold_to_org_id,
184 p_param10 => l_party_site_id,
185 x_return_status => l_return_status);
186
187 End If;
188
189 If l_code_level >= '110510' And
190 l_result = OE_PC_GLOBALS.YES And
191 x_on_operation_action = 0.05 And
192 nvl(p_record.transaction_phase_code,'F') = 'F'
193 Then
194 OE_Versioning_Util.Check_Security
195 (p_column_name => p_column_name,
196 p_on_operation_action => .1);
197
198 If p_record.order_source_id = 20 Then
199 OE_Acknowledgment_Pub.Is_Delivery_Required
200 (
201 p_customer_id => p_record.sold_to_org_id,
202 p_transaction_type => OE_Acknowledgment_Pub.G_TRANSACTION_TYPE,
203 p_transaction_subtype => OE_Acknowledgment_Pub.G_TRANSACTION_SSO,
204 x_party_id => l_party_id,
205 x_party_site_id => l_party_site_id,
206 x_is_delivery_required => l_is_delivery_reqd,
207 x_return_status => l_return_status
208 );
209
210 If l_return_status = FND_API.G_RET_STS_SUCCESS And
211 l_is_delivery_reqd = 'Y'
212 Then
213 l_gen_xml := 'B';
214 End IF;
215 End If;
216 OE_delayed_requests_pvt.log_request
217 (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
218 p_entity_id => p_record.header_id,
219 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
220 p_requesting_entity_id => p_record.header_id,
221 p_request_type => OE_GLOBALS.G_GENERATE_XML_REQ_HDR,
222 p_request_unique_key1 => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
223 p_param1 => p_record.header_id,
224 p_param2 => p_record.order_source_id,
225 p_param3 => p_record.orig_sys_document_ref,
226 p_param4 => p_record.sold_to_org_id,
227 p_param5 => Null,
228 p_param6 => p_record.org_id,
229 p_param7 => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
230 p_param8 => Null,
231 p_param9 => p_record.sold_to_org_id,
232 p_param10 => l_party_site_id,
233 p_param11 => Null,
234 p_param12 => l_gen_xml,
235 x_return_status => l_return_status);
236
237 OE_delayed_requests_pvt.log_request
238 (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
239 p_entity_id => p_record.line_id,
240 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
241 p_requesting_entity_id => p_record.line_id,
242 p_request_type => OE_GLOBALS.G_GENERATE_XML_REQ_LN,
243 p_request_unique_key1 => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
244 p_param1 => p_record.header_id,
245 p_param2 => 20,
246 p_param3 => p_record.orig_sys_document_ref,
247 p_param4 => p_record.sold_to_org_id,
248 p_param5 => Null,
249 p_param6 => p_record.org_id,
250 p_param7 => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
251 p_param8 => Null,
252 p_param9 => p_record.sold_to_org_id,
253 p_param10 => l_party_site_id,
254 x_return_status => l_return_status);
255
256 End If;
257
258 If l_code_level >= '110510' And
259 l_result = OE_PC_GLOBALS.YES And
260 x_on_operation_action = 0.5 And
261 nvl(p_record.transaction_phase_code,'F') = 'F'
262 Then
263
264 If g_is_caller_defaulting = 'N' And
265 nvl(l_audit_trail_enabled,'D') <> 'D' And
266 not OE_GLOBALS.G_HEADER_CREATED
267 Then
268 If l_audit_trail_enabled = 'B' Then
269 If p_record.booked_flag = 'Y' Then
270 l_history_captured := FALSE;
271 Begin
272 FOR l_ind in 1..l_ctr LOOP
273 IF OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr).LINE_ID = p_record.line_id THEN
274 l_history_captured := TRUE;
275 END IF;
276 END LOOP;
277 EXCEPTION WHEN OTHERS THEN
278 NULL;
279 END;
280 IF NOT l_history_captured THEN
281 OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).LINE_ID := p_record.line_id;
282 OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).HISTORY_TYPE := 'R';
283 OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
284 OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
285 END IF;
286 End If;
287 Else
288 l_history_captured := FALSE;
289 BEGIN
290 FOR l_ind in 1..l_ctr LOOP
291 IF OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr).LINE_ID = p_record.line_id THEN
292 l_history_captured := TRUE;
293 END IF;
294 END LOOP;
295 EXCEPTION WHEN OTHERS THEN
296 NULL;
297 END;
298 IF NOT l_history_captured THEN
299 OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).LINE_ID := p_record.line_id;
300 OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).HISTORY_TYPE := 'R';
301 OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
302 OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
303 END IF;
304 End If;
305 End If;
306
307 If p_record.order_source_id = 20 Then
308 OE_Acknowledgment_Pub.Is_Delivery_Required
309 (
310 p_customer_id => p_record.sold_to_org_id,
311 p_transaction_type => OE_Acknowledgment_Pub.G_TRANSACTION_TYPE,
312 p_transaction_subtype => OE_Acknowledgment_Pub.G_TRANSACTION_SSO,
313 x_party_id => l_party_id,
314 x_party_site_id => l_party_site_id,
315 x_is_delivery_required => l_is_delivery_reqd,
316 x_return_status => l_return_status
317 );
318
319 If l_return_status = FND_API.G_RET_STS_SUCCESS And
320 l_is_delivery_reqd = 'Y'
321 Then
322 l_gen_xml := 'B';
323 End If;
324 End If;
325 OE_delayed_requests_pvt.log_request
326 (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
327 p_entity_id => p_record.header_id,
328 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
329 p_requesting_entity_id => p_record.header_id,
330 p_request_type => OE_GLOBALS.G_GENERATE_XML_REQ_HDR,
331 p_request_unique_key1 => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
332 p_param1 => p_record.header_id,
333 p_param2 => p_record.order_source_id,
334 p_param3 => p_record.orig_sys_document_ref,
335 p_param4 => p_record.sold_to_org_id,
336 p_param5 => Null,
337 p_param6 => p_record.org_id,
338 p_param7 => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
339 p_param8 => Null,
340 p_param9 => p_record.sold_to_org_id,
341 p_param10 => l_party_site_id,
342 p_param11 => Null,
343 p_param12 => l_gen_xml,
344 x_return_status => l_return_status);
345
346 OE_delayed_requests_pvt.log_request
347 (p_entity_code => OE_GLOBALS.G_ENTITY_HEADER,
348 p_entity_id => p_record.line_id,
349 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_LINE,
350 p_requesting_entity_id => p_record.line_id,
351 p_request_type => OE_GLOBALS.G_GENERATE_XML_REQ_LN,
352 p_request_unique_key1 => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
353 p_param1 => p_record.header_id,
354 p_param2 => 20,
355 p_param3 => p_record.orig_sys_document_ref,
356 p_param4 => p_record.sold_to_org_id,
357 p_param5 => Null,
358 p_param6 => p_record.org_id,
359 p_param7 => OE_ACKNOWLEDGMENT_PUB.G_TRANSACTION_SSO,
360 p_param8 => Null,
361 p_param9 => p_record.sold_to_org_id,
362 p_param10 => l_party_site_id,
363 x_return_status => l_return_status);
364
365
366 End If;
367
368 -- End Integration Framework Code
369
370
371 /* Start AuditTrail */
372 -- Code level should be OM-H and
373 -- if Audit Trail enabled
374 IF g_is_caller_defaulting='N' THEN
375 IF l_code_level >= '110508' and nvl(l_audit_trail_enabled,'D') <> 'D' and
376 nvl(p_record.transaction_phase_code,'F') = 'F' and
377 not OE_GLOBALS.G_HEADER_CREATED THEN
378 IF l_debug_level > 0 THEN
379 OE_DEBUG_PUB.add('Audit Trail enabled ',5);
380 END IF;
381 IF l_audit_trail_enabled = 'B' THEN -- capture only for booked orders
382 IF l_debug_level > 0 THEN
383 OE_DEBUG_PUB.add('Audit Trail enabled for booked orders only ...',5);
384 END IF;
385 IF p_record.booked_flag = 'Y' THEN
386 IF l_result = OE_PC_GLOBALS.YES THEN
387 l_history_captured := FALSE;
388 IF x_on_operation_action = 1 THEN
389 BEGIN
390 FOR l_ind in 1..l_ctr LOOP
391 IF OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr).LINE_ID = p_record.line_id
392 AND OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr).HISTORY_TYPE = 'R' --5735600
393 THEN
394 l_history_captured := TRUE;
395 END IF;
396 END LOOP;
397 EXCEPTION WHEN OTHERS THEN
398 IF l_debug_level > 0 THEN
399 OE_DEBUG_PUB.add('While capturing history : '||sqlerrm,1);
400 END IF;
401 NULL;
402 END;
403 IF NOT l_history_captured THEN
404 OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).LINE_ID := p_record.line_id;
405 OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).HISTORY_TYPE := 'R';
406 IF l_debug_level > 0 THEN
407 oe_debug_pub.add('Line Security, attribute change requires reason',1);
408 END IF;
409 OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
410 OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
411 END IF;
412 ELSIF x_on_operation_action = 2 THEN
413 BEGIN
414 FOR l_ind in 1..l_ctr LOOP
415 IF OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr).LINE_ID = p_record.line_id THEN
416 l_history_captured := TRUE;
417 END IF;
418 END LOOP;
419 EXCEPTION WHEN OTHERS THEN
420 IF l_debug_level > 0 THEN
421 OE_DEBUG_PUB.add('While capturing history : '||sqlerrm,1);
422 END IF;
423 NULL;
424 END;
425 IF NOT l_history_captured THEN
426 OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).LINE_ID := p_record.line_id;
427 OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).HISTORY_TYPE := 'H';
428 IF l_debug_level > 0 THEN
429 oe_debug_pub.add('Line Security, attribute change requires history',7);
430 END IF;
431 IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG <> 'Y' then
432 IF l_debug_level > 0 THEN
433 oe_debug_pub.add('Line Security, attribute change requires history',7);
434 END IF;
435 OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'Y';
436 END IF;
437 END IF;
438 END IF;
439 END IF;
440 END IF;
441 ELSE -- capture audit for all orders
442 IF l_result = OE_PC_GLOBALS.YES THEN
443 l_history_captured := FALSE;
444 IF x_on_operation_action = 1 THEN
445 BEGIN
446 FOR l_ind in 1..l_ctr LOOP
447 IF OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr).LINE_ID = p_record.line_id
448 AND OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr).HISTORY_TYPE = 'R' --5735600
449 THEN
450 l_history_captured := TRUE;
451 END IF;
452 END LOOP;
453 EXCEPTION WHEN OTHERS THEN
454 IF l_debug_level > 0 THEN
455 OE_DEBUG_PUB.add('While capturing history : '||sqlerrm,1);
456 END IF;
457 NULL;
458 END;
459 IF NOT l_history_captured THEN
460 OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).LINE_ID := p_record.line_id;
461 OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).HISTORY_TYPE := 'R';
462 IF l_debug_level > 0 THEN
463 oe_debug_pub.add('Line Security, attribute change requires reason',1);
464 END IF;
465 OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG := 'Y';
466 OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'N';
467 END IF;
468 ELSIF x_on_operation_action = 2 THEN
469 BEGIN
470 FOR l_ind in 1..l_ctr LOOP
471 IF OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr).LINE_ID = p_record.line_id THEN
472 l_history_captured := TRUE;
473 END IF;
474 END LOOP;
475 EXCEPTION WHEN OTHERS THEN
476 IF l_debug_level > 0 THEN
477 OE_DEBUG_PUB.add('While capturing history : '||sqlerrm,1);
478 END IF;
479 NULL;
480 END;
481 IF NOT l_history_captured THEN
482 OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).LINE_ID := p_record.line_id;
483 OE_GLOBALS.OE_AUDIT_HISTORY_TBL(l_ctr+1).HISTORY_TYPE := 'H';
484 IF l_debug_level > 0 THEN
485 oe_debug_pub.add('Line Security, attribute change requires history',7);
486 END IF;
487 IF OE_GLOBALS.G_AUDIT_REASON_RQD_FLAG <> 'Y' then
488 IF l_debug_level > 0 THEN
489 oe_debug_pub.add('Line Security, attribute change requires history',7);
490 END IF;
491 OE_GLOBALS.G_AUDIT_HISTORY_RQD_FLAG := 'Y';
492 END IF;
493 END IF;
494 END IF;
495 END IF;
496 END IF;
497 ELSE
498 IF l_debug_level > 0 THEN
499 OE_DEBUG_PUB.add('Audit Trail is disabled..',5);
500 END IF;
501 END IF;
502 END IF;
503 IF g_operation_action is null THEN
504 g_operation_action := x_on_operation_action;
505 END IF;
506 IF x_on_operation_action > 0 THEN
507 l_result := OE_PC_GLOBALS.NO;
508 END IF;
509
510 /* End AuditTrail */
511 RETURN l_result;
512
513 END Is_Op_Constrained;
514
515 -- PUBLIC PROCEDURES
516
517 FUNCTION ACCOUNTING_RULE
518 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
519 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
520 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
521 ) RETURN NUMBER
522 IS
523 l_result NUMBER;
524 BEGIN
525
526 l_result := Is_OP_constrained
527 (p_operation => p_operation
528 ,p_column_name => 'ACCOUNTING_RULE_ID'
529 ,p_record => p_record
530 ,x_on_operation_action => x_on_operation_action
531 );
532
533 RETURN(l_result);
534
535 END ACCOUNTING_RULE;
536
537 FUNCTION ACCOUNTING_RULE_DURATION
538 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
539 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
540 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
541 ) RETURN NUMBER
542 IS
543 l_result NUMBER;
544 BEGIN
545
546 l_result := Is_OP_constrained
547 (p_operation => p_operation
548 ,p_column_name => 'ACCOUNTING_RULE_DURATION'
549 ,p_record => p_record
550 ,x_on_operation_action => x_on_operation_action
551 );
552
553 RETURN(l_result);
554
555 END ACCOUNTING_RULE_DURATION;
556
557 FUNCTION calculate_price_flag(p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
558 ,p_record IN oe_ak_order_lines_v%ROWTYPE
559 ,x_on_operation_action OUT NOCOPY NUMBER)
560 RETURN NUMBER IS
561 l_result NUMBER := 0;
562 BEGIN
563
564 l_result := is_op_constrained(p_operation => p_operation
565 ,p_column_name => 'CALCULATE_PRICE_FLAG'
566 ,p_record => p_record
567 ,x_on_operation_action => x_on_operation_action);
568 RETURN(l_result);
569
570 END calculate_price_flag;
571
572 ---bug#4399426
573
574 FUNCTION COMMITMENT_ID
575 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
576 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
577 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
578 ) RETURN NUMBER
579 IS
580 l_result NUMBER :=0;
581 BEGIN
582
583 l_result := Is_OP_constrained
584 (p_operation => p_operation
585 ,p_column_name => 'COMMITMENT_ID'
586 ,p_record => p_record
587 ,x_on_operation_action => x_on_operation_action
588 );
589 RETURN(l_result);
590
591 END COMMITMENT_ID;
592
593 FUNCTION AGREEMENT
594 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
595 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
596 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
597 ) RETURN NUMBER
598 IS
599 l_result NUMBER;
600 BEGIN
601
602 l_result := Is_OP_constrained
603 (p_operation => p_operation
604 ,p_column_name => 'AGREEMENT_ID'
605 ,p_record => p_record
606 ,x_on_operation_action => x_on_operation_action
607 );
608
609 RETURN(l_result);
610
611 END AGREEMENT;
612
613 FUNCTION AUTHORIZED_TO_SHIP
614 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
615 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
616 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
617 ) RETURN NUMBER
618 IS
619 l_result NUMBER;
620 BEGIN
621
622 l_result := Is_OP_constrained
623 (p_operation => p_operation
624 ,p_column_name => 'AUTHORIZED_TO_SHIP_FLAG'
625 ,p_record => p_record
626 ,x_on_operation_action => x_on_operation_action
627 );
628
629 RETURN(l_result);
630
631 END AUTHORIZED_TO_SHIP;
632
633 -- Start of fix #1459428 for function definition
634
635 FUNCTION ATTRIBUTE1
636 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
637 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
638 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
639 ) RETURN NUMBER
640 IS
641 l_result NUMBER;
642 BEGIN
643
644 l_result := Is_OP_constrained
645 (p_operation => p_operation
646 ,p_column_name => 'ATTRIBUTE1'
647 ,p_record => p_record
648 ,x_on_operation_action => x_on_operation_action
649 );
650
651 RETURN(l_result);
652
653 END ATTRIBUTE1;
654
655
656 FUNCTION ATTRIBUTE10
657 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
658 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
659 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
660 ) RETURN NUMBER
661 IS
662 l_result NUMBER;
663 BEGIN
664
665 l_result := Is_OP_constrained
666 (p_operation => p_operation
667 ,p_column_name => 'ATTRIBUTE10'
668 ,p_record => p_record
669 ,x_on_operation_action => x_on_operation_action
670 );
671
672 RETURN(l_result);
673
674 END ATTRIBUTE10;
675
676 FUNCTION ATTRIBUTE11
677 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
678 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
679 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
680 ) RETURN NUMBER
681 IS
682 l_result NUMBER;
683 BEGIN
684
685 l_result := Is_OP_constrained
686 (p_operation => p_operation
687 ,p_column_name => 'ATTRIBUTE11'
688 ,p_record => p_record
689 ,x_on_operation_action => x_on_operation_action
690 );
691
692 RETURN(l_result);
693
694 END ATTRIBUTE11;
695
696 FUNCTION ATTRIBUTE12
697 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
698 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
699 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
700 ) RETURN NUMBER
701 IS
702 l_result NUMBER;
703 BEGIN
704
705 l_result := Is_OP_constrained
706 (p_operation => p_operation
707 ,p_column_name => 'ATTRIBUTE12'
708 ,p_record => p_record
709 ,x_on_operation_action => x_on_operation_action
710 );
711
712 RETURN(l_result);
713
714 END ATTRIBUTE12;
715
716 FUNCTION ATTRIBUTE13
717 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
718 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
719 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
720 ) RETURN NUMBER
721 IS
722 l_result NUMBER;
723 BEGIN
724
725 l_result := Is_OP_constrained
726 (p_operation => p_operation
727 ,p_column_name => 'ATTRIBUTE13'
728 ,p_record => p_record
729 ,x_on_operation_action => x_on_operation_action
730 );
731
732 RETURN(l_result);
733
734 END ATTRIBUTE13;
735
736 FUNCTION ATTRIBUTE14
737 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
738 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
739 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
740 ) RETURN NUMBER
741 IS
742 l_result NUMBER;
743 BEGIN
744
745 l_result := Is_OP_constrained
746 (p_operation => p_operation
747 ,p_column_name => 'ATTRIBUTE14'
748 ,p_record => p_record
749 ,x_on_operation_action => x_on_operation_action
750 );
751
752 RETURN(l_result);
753
754 END ATTRIBUTE14;
755
756
757 FUNCTION ATTRIBUTE15
758 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
759 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
760 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
761 ) RETURN NUMBER
762 IS
763 l_result NUMBER;
764 BEGIN
765
766 l_result := Is_OP_constrained
767 (p_operation => p_operation
768 ,p_column_name => 'ATTRIBUTE15'
769 ,p_record => p_record
770 ,x_on_operation_action => x_on_operation_action
771 );
772
773 RETURN(l_result);
774
775 END ATTRIBUTE15;
776
777 -- For Bug 2184255
778 FUNCTION ATTRIBUTE16
779 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
780 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
781 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
782 ) RETURN NUMBER
783 IS
784 l_result NUMBER;
785 BEGIN
786
787 l_result := Is_OP_constrained
788 (p_operation => p_operation
789 ,p_column_name => 'ATTRIBUTE16'
790 ,p_record => p_record
791 ,x_on_operation_action => x_on_operation_action
792 );
793
794 RETURN(l_result);
795
796 END ATTRIBUTE16;
797
798 FUNCTION ATTRIBUTE17
799 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
800 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
801 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
802 ) RETURN NUMBER
803 IS
804 l_result NUMBER;
805 BEGIN
806
807 l_result := Is_OP_constrained
808 (p_operation => p_operation
809 ,p_column_name => 'ATTRIBUTE17'
810 ,p_record => p_record
811 ,x_on_operation_action => x_on_operation_action
812 );
813
814 RETURN(l_result);
815
816 END ATTRIBUTE17;
817
818 FUNCTION ATTRIBUTE18
819 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
820 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
821 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
822 ) RETURN NUMBER
823 IS
824 l_result NUMBER;
825 BEGIN
826
827 l_result := Is_OP_constrained
828 (p_operation => p_operation
829 ,p_column_name => 'ATTRIBUTE18'
830 ,p_record => p_record
831 ,x_on_operation_action => x_on_operation_action
832 );
833
834 RETURN(l_result);
835
836 END ATTRIBUTE18;
837
838 FUNCTION ATTRIBUTE19
839 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
840 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
841 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
842 ) RETURN NUMBER
843 IS
844 l_result NUMBER;
845 BEGIN
846
847 l_result := Is_OP_constrained
848 (p_operation => p_operation
849 ,p_column_name => 'ATTRIBUTE19'
850 ,p_record => p_record
851 ,x_on_operation_action => x_on_operation_action
852 );
853
854 RETURN(l_result);
855
856 END ATTRIBUTE19;
857
858 FUNCTION ATTRIBUTE2
859 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
860 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
861 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
862 ) RETURN NUMBER
863 IS
864 l_result NUMBER;
865 BEGIN
866
867 l_result := Is_OP_constrained
868 (p_operation => p_operation
869 ,p_column_name => 'ATTRIBUTE2'
870 ,p_record => p_record
871 ,x_on_operation_action => x_on_operation_action
872 );
873
874 RETURN(l_result);
875
876 END ATTRIBUTE2;
877
878 FUNCTION ATTRIBUTE20
879 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
880 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
881 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
882 ) RETURN NUMBER
883 IS
884 l_result NUMBER;
885 BEGIN
886
887 l_result := Is_OP_constrained
888 (p_operation => p_operation
889 ,p_column_name => 'ATTRIBUTE20'
890 ,p_record => p_record
891 ,x_on_operation_action => x_on_operation_action
892 );
893
894 RETURN(l_result);
895
896 END ATTRIBUTE20;
897
898 FUNCTION ATTRIBUTE3
899 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
900 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
901 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
902 ) RETURN NUMBER
903 IS
904 l_result NUMBER;
905 BEGIN
906
907 l_result := Is_OP_constrained
908 (p_operation => p_operation
909 ,p_column_name => 'ATTRIBUTE3'
910 ,p_record => p_record
911 ,x_on_operation_action => x_on_operation_action
912 );
913
914 RETURN(l_result);
915
916 END ATTRIBUTE3;
917
918 FUNCTION ATTRIBUTE4
919 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
920 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
921 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
922 ) RETURN NUMBER
923 IS
924 l_result NUMBER;
925 BEGIN
926
927 l_result := Is_OP_constrained
928 (p_operation => p_operation
929 ,p_column_name => 'ATTRIBUTE4'
930 ,p_record => p_record
931 ,x_on_operation_action => x_on_operation_action
932 );
933
934 RETURN(l_result);
935
936 END ATTRIBUTE4;
937
938 FUNCTION ATTRIBUTE5
939 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
940 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
941 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
942 ) RETURN NUMBER
943 IS
944 l_result NUMBER;
945 BEGIN
946
947 l_result := Is_OP_constrained
948 (p_operation => p_operation
949 ,p_column_name => 'ATTRIBUTE5'
950 ,p_record => p_record
951 ,x_on_operation_action => x_on_operation_action
952 );
953
954 RETURN(l_result);
955
956 END ATTRIBUTE5;
957
958 FUNCTION ATTRIBUTE6
959 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
960 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
961 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
962 ) RETURN NUMBER
963 IS
964 l_result NUMBER;
965 BEGIN
966
967 l_result := Is_OP_constrained
968 (p_operation => p_operation
969 ,p_column_name => 'ATTRIBUTE6'
970 ,p_record => p_record
971 ,x_on_operation_action => x_on_operation_action
972 );
973
974 RETURN(l_result);
975
976 END ATTRIBUTE6;
977
978 FUNCTION ATTRIBUTE7
979 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
980 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
981 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
982 ) RETURN NUMBER
983 IS
984 l_result NUMBER;
985 BEGIN
986
987 l_result := Is_OP_constrained
988 (p_operation => p_operation
989 ,p_column_name => 'ATTRIBUTE7'
990 ,p_record => p_record
991 ,x_on_operation_action => x_on_operation_action
992 );
993
994 RETURN(l_result);
995
996 END ATTRIBUTE7;
997
998 FUNCTION ATTRIBUTE8
999 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1000 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1001 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1002 ) RETURN NUMBER
1003 IS
1004 l_result NUMBER;
1005 BEGIN
1006
1007 l_result := Is_OP_constrained
1008 (p_operation => p_operation
1009 ,p_column_name => 'ATTRIBUTE8'
1010 ,p_record => p_record
1011 ,x_on_operation_action => x_on_operation_action
1012 );
1013
1014 RETURN(l_result);
1015
1016 END ATTRIBUTE8;
1017
1018 FUNCTION ATTRIBUTE9
1019 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1020 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1021 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1022 ) RETURN NUMBER
1023 IS
1024 l_result NUMBER;
1025 BEGIN
1026
1027 l_result := Is_OP_constrained
1028 (p_operation => p_operation
1029 ,p_column_name => 'ATTRIBUTE9'
1030 ,p_record => p_record
1031 ,x_on_operation_action => x_on_operation_action
1032 );
1033
1034 RETURN(l_result);
1035
1036 END ATTRIBUTE9;
1037
1038 FUNCTION CONTEXT
1039 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1040 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1041 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1042 ) RETURN NUMBER
1043 IS
1044 l_result NUMBER;
1045 BEGIN
1046
1047 l_result := Is_OP_constrained
1048 (p_operation => p_operation
1049 ,p_column_name => 'CONTEXT'
1050 ,p_record => p_record
1051 ,x_on_operation_action => x_on_operation_action
1052 );
1053
1054 RETURN(l_result);
1055
1056 END CONTEXT;
1057
1058 -- End of fix #1459428 for function definition
1059
1060 FUNCTION CREATED_BY
1061 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1062 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1063 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1064 ) RETURN NUMBER
1065 IS
1066 l_result NUMBER;
1067 BEGIN
1068
1069 l_result := Is_OP_constrained
1070 (p_operation => p_operation
1071 ,p_column_name => 'CREATED_BY'
1072 ,p_record => p_record
1073 ,x_on_operation_action => x_on_operation_action
1074 );
1075
1076 RETURN(l_result);
1077
1078 END CREATED_BY;
1079
1080
1081 FUNCTION CREDIT_INVOICE_LINE
1082 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1083 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1084 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1085 ) RETURN NUMBER
1086 IS
1087 l_result NUMBER;
1088 BEGIN
1089
1090 l_result := Is_OP_constrained
1091 (p_operation => p_operation
1092 ,p_column_name => 'CREDIT_INVOICE_LINE_ID'
1093 ,p_record => p_record
1094 ,x_on_operation_action => x_on_operation_action
1095 );
1096
1097 RETURN(l_result);
1098
1099 END CREDIT_INVOICE_LINE;
1100
1101
1102 FUNCTION CUSTOMER_LINE_NUMBER
1103 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1104 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1105 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1106 ) RETURN NUMBER
1107 IS
1108 l_result NUMBER;
1109 BEGIN
1110
1111 l_result := Is_OP_constrained
1112 (p_operation => p_operation
1113 ,p_column_name => 'CUSTOMER_LINE_NUMBER'
1114 ,p_record => p_record
1115 ,x_on_operation_action => x_on_operation_action
1116 );
1117
1118 RETURN(l_result);
1119
1120 END CUSTOMER_LINE_NUMBER;
1121
1122
1123 FUNCTION CUSTOMER_TRX_LINE
1124 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1125 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1126 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1127 ) RETURN NUMBER
1128 IS
1129 l_result NUMBER;
1130 BEGIN
1131
1132 l_result := Is_OP_constrained
1133 (p_operation => p_operation
1134 ,p_column_name => 'CUSTOMER_TRX_LINE_ID'
1135 ,p_record => p_record
1136 ,x_on_operation_action => x_on_operation_action
1137 );
1138
1139 RETURN(l_result);
1140
1141 END CUSTOMER_TRX_LINE;
1142
1143
1144 FUNCTION CUST_PO_NUMBER
1145 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1146 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1147 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1148 ) RETURN NUMBER
1149 IS
1150 l_result NUMBER;
1151 BEGIN
1152
1153 l_result := Is_OP_constrained
1154 (p_operation => p_operation
1155 ,p_column_name => 'CUST_PO_NUMBER'
1156 ,p_record => p_record
1157 ,x_on_operation_action => x_on_operation_action
1158 );
1159
1160 RETURN(l_result);
1161
1162 END CUST_PO_NUMBER;
1163
1164
1165 FUNCTION DELIVERY_LEAD_TIME
1166 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1167 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1168 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1169 ) RETURN NUMBER
1170 IS
1171 l_result NUMBER;
1172 BEGIN
1173
1174 l_result := Is_OP_constrained
1175 (p_operation => p_operation
1176 ,p_column_name => 'DELIVERY_LEAD_TIME'
1177 ,p_record => p_record
1178 ,x_on_operation_action => x_on_operation_action
1179 );
1180
1181 RETURN(l_result);
1182
1183 END DELIVERY_LEAD_TIME;
1184
1185
1186 FUNCTION DELIVER_TO_CONTACT
1187 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1188 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1189 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1190 ) RETURN NUMBER
1191 IS
1192 l_result NUMBER;
1193 BEGIN
1194
1195 l_result := Is_OP_constrained
1196 (p_operation => p_operation
1197 ,p_column_name => 'DELIVER_TO_CONTACT_ID'
1198 ,p_record => p_record
1199 ,x_on_operation_action => x_on_operation_action
1200 );
1201
1202 RETURN(l_result);
1203
1204 END DELIVER_TO_CONTACT;
1205
1206
1207 FUNCTION DELIVER_TO_ORG
1208 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1209 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1210 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1211 ) RETURN NUMBER
1212 IS
1213 l_result NUMBER;
1214 BEGIN
1215
1216 l_result := Is_OP_constrained
1217 (p_operation => p_operation
1218 ,p_column_name => 'DELIVER_TO_ORG_ID'
1219 ,p_record => p_record
1220 ,x_on_operation_action => x_on_operation_action
1221 );
1222
1223 RETURN(l_result);
1224
1225 END DELIVER_TO_ORG;
1226
1227
1228 FUNCTION DEMAND_CLASS
1229 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1230 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1231 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1232 ) RETURN NUMBER
1233 IS
1234 l_result NUMBER;
1235 BEGIN
1236
1237 l_result := Is_OP_constrained
1238 (p_operation => p_operation
1239 ,p_column_name => 'DEMAND_CLASS_CODE'
1240 ,p_record => p_record
1241 ,x_on_operation_action => x_on_operation_action
1242 );
1243
1244 RETURN(l_result);
1245
1246 END DEMAND_CLASS;
1247
1248
1249 FUNCTION DEP_PLAN_REQUIRED
1250 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1251 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1252 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1253 ) RETURN NUMBER
1254 IS
1255 l_result NUMBER;
1256 BEGIN
1257
1258 l_result := Is_OP_constrained
1259 (p_operation => p_operation
1260 ,p_column_name => 'DEP_PLAN_REQUIRED_FLAG'
1261 ,p_record => p_record
1262 ,x_on_operation_action => x_on_operation_action
1263 );
1264
1265 RETURN(l_result);
1266
1267 END DEP_PLAN_REQUIRED;
1268
1269
1270 FUNCTION EARLIEST_ACCEPTABLE_DATE
1271 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1272 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1273 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1274 ) RETURN NUMBER
1275 IS
1276 l_result NUMBER;
1277 BEGIN
1278
1279 l_result := Is_OP_constrained
1280 (p_operation => p_operation
1281 ,p_column_name => 'EARLIEST_ACCEPTABLE_DATE'
1282 ,p_record => p_record
1283 ,x_on_operation_action => x_on_operation_action
1284 );
1285
1286 RETURN(l_result);
1287
1288 END EARLIEST_ACCEPTABLE_DATE;
1289
1290 FUNCTION END_ITEM_UNIT_NUMBER
1291 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1292 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1293 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1294 ) RETURN NUMBER
1295 IS
1296 l_result NUMBER;
1297 BEGIN
1298
1299 l_result := Is_OP_constrained
1300 (p_operation => p_operation
1301 ,p_column_name => 'END_ITEM_UNIT_NUMBER'
1302 ,p_record => p_record
1303 ,x_on_operation_action => x_on_operation_action
1304 );
1305
1306 RETURN(l_result);
1307
1308 END END_ITEM_UNIT_NUMBER;
1309
1310
1311 FUNCTION FOB_POINT
1312 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1313 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1314 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1315 ) RETURN NUMBER
1316 IS
1317 l_result NUMBER;
1318 BEGIN
1319
1320 l_result := Is_OP_constrained
1321 (p_operation => p_operation
1322 ,p_column_name => 'FOB_POINT_CODE'
1323 ,p_record => p_record
1324 ,x_on_operation_action => x_on_operation_action
1325 );
1326
1327 RETURN(l_result);
1328
1329 END FOB_POINT;
1330
1331
1332 FUNCTION FREIGHT_CARRIER
1333 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1334 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1335 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1336 ) RETURN NUMBER
1337 IS
1338 l_result NUMBER;
1339 BEGIN
1340
1341 l_result := Is_OP_constrained
1342 (p_operation => p_operation
1343 ,p_column_name => 'FREIGHT_CARRIER_CODE'
1344 ,p_record => p_record
1345 ,x_on_operation_action => x_on_operation_action
1346 );
1347
1348 RETURN(l_result);
1349
1350 END FREIGHT_CARRIER;
1351
1352
1353 FUNCTION FREIGHT_TERMS
1354 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1355 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1356 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1357 ) RETURN NUMBER
1358 IS
1359 l_result NUMBER;
1360 BEGIN
1361
1362 l_result := Is_OP_constrained
1363 (p_operation => p_operation
1364 ,p_column_name => 'FREIGHT_TERMS_CODE'
1365 ,p_record => p_record
1366 ,x_on_operation_action => x_on_operation_action
1367 );
1368
1369 RETURN(l_result);
1370
1371 END FREIGHT_TERMS;
1372
1373
1374 FUNCTION FULFILLED_QUANTITY
1375 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1376 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1377 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1378 ) RETURN NUMBER
1379 IS
1380 l_result NUMBER;
1381 BEGIN
1382
1383 l_result := Is_OP_constrained
1384 (p_operation => p_operation
1385 ,p_column_name => 'FULFILLED_QUANTITY'
1386 ,p_record => p_record
1387 ,x_on_operation_action => x_on_operation_action
1388 );
1389
1390 RETURN(l_result);
1391
1392 END FULFILLED_QUANTITY;
1393
1394 -- INVCONV
1395
1396 FUNCTION FULFILLED_QUANTITY2
1397 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1398 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1399 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1400 ) RETURN NUMBER
1401 IS
1402 l_result NUMBER;
1403 BEGIN
1404
1405 l_result := Is_OP_constrained
1406 (p_operation => p_operation
1407 ,p_column_name => 'FULFILLED_QUANTITY2'
1408 ,p_record => p_record
1409 ,x_on_operation_action => x_on_operation_action
1410 );
1411
1412 RETURN(l_result);
1413
1414 END FULFILLED_QUANTITY2;
1415
1416
1417 FUNCTION INVENTORY_ITEM
1418 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1419 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1420 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1421 ) RETURN NUMBER
1422 IS
1423 l_result NUMBER;
1424 BEGIN
1425
1426 l_result := Is_OP_constrained
1427 (p_operation => p_operation
1428 ,p_column_name => 'INVENTORY_ITEM_ID'
1429 ,p_record => p_record
1430 ,x_on_operation_action => x_on_operation_action
1431 );
1432
1433 RETURN(l_result);
1434
1435 END INVENTORY_ITEM;
1436
1437 FUNCTION INVOICE_TO_CONTACT
1438 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1439 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1440 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1441 ) RETURN NUMBER
1442 IS
1443 l_result NUMBER;
1444 BEGIN
1445
1446 l_result := Is_OP_constrained
1447 (p_operation => p_operation
1448 ,p_column_name => 'INVOICE_TO_CONTACT_ID'
1449 ,p_record => p_record
1450 ,x_on_operation_action => x_on_operation_action
1451 );
1452
1453 RETURN(l_result);
1454
1455 END INVOICE_TO_CONTACT;
1456
1457
1458 FUNCTION INVOICE_TO_ORG
1459 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1460 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1461 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1462 ) RETURN NUMBER
1463 IS
1464 l_result NUMBER;
1465 BEGIN
1466
1467 l_result := Is_OP_constrained
1468 (p_operation => p_operation
1469 ,p_column_name => 'INVOICE_TO_ORG_ID'
1470 ,p_record => p_record
1471 ,x_on_operation_action => x_on_operation_action
1472 );
1473
1474 RETURN(l_result);
1475
1476 END INVOICE_TO_ORG;
1477
1478 FUNCTION INVOICING_RULE
1479 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1480 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1481 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1482 ) RETURN NUMBER
1483 IS
1484 l_result NUMBER;
1485 BEGIN
1486
1487 l_result := Is_OP_constrained
1488 (p_operation => p_operation
1489 ,p_column_name => 'INVOICING_RULE_ID'
1490 ,p_record => p_record
1491 ,x_on_operation_action => x_on_operation_action
1492 );
1493
1494 RETURN(l_result);
1495
1496 END INVOICING_RULE;
1497
1498 FUNCTION ITEM_REVISION
1499 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1500 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1501 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1502 ) RETURN NUMBER
1503 IS
1504 l_result NUMBER;
1505 BEGIN
1506
1507 l_result := Is_OP_constrained
1508 (p_operation => p_operation
1509 ,p_column_name => 'ITEM_REVISION'
1510 ,p_record => p_record
1511 ,x_on_operation_action => x_on_operation_action
1512 );
1513
1514 RETURN(l_result);
1515
1516 END ITEM_REVISION;
1517
1518
1519 FUNCTION ITEM_TYPE
1520 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1521 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1522 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1523 ) RETURN NUMBER
1524 IS
1525 l_result NUMBER;
1526 BEGIN
1527
1528 l_result := Is_OP_constrained
1529 (p_operation => p_operation
1530 ,p_column_name => 'ITEM_TYPE_CODE'
1531 ,p_record => p_record
1532 ,x_on_operation_action => x_on_operation_action
1533 );
1534
1535 RETURN(l_result);
1536
1537 END ITEM_TYPE;
1538
1539
1540 FUNCTION LATEST_ACCEPTABLE_DATE
1541 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1542 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1543 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1544 ) RETURN NUMBER
1545 IS
1546 l_result NUMBER;
1547 BEGIN
1548
1549 l_result := Is_OP_constrained
1550 (p_operation => p_operation
1551 ,p_column_name => 'LATEST_ACCEPTABLE_DATE'
1552 ,p_record => p_record
1553 ,x_on_operation_action => x_on_operation_action
1554 );
1555
1556 RETURN(l_result);
1557
1558 END LATEST_ACCEPTABLE_DATE;
1559
1560
1561 FUNCTION LINE_CATEGORY
1562 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1563 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1564 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1565 ) RETURN NUMBER
1566 IS
1567 l_result NUMBER;
1568 BEGIN
1569
1570 l_result := Is_OP_constrained
1571 (p_operation => p_operation
1572 ,p_column_name => 'LINE_CATEGORY_CODE'
1573 ,p_record => p_record
1574 ,x_on_operation_action => x_on_operation_action
1575 );
1576
1577 RETURN(l_result);
1578
1579 END LINE_CATEGORY;
1580
1581
1582 FUNCTION LINE_NUMBER
1583 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1584 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1585 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1586 ) RETURN NUMBER
1587 IS
1588 l_result NUMBER;
1589 BEGIN
1590
1591 l_result := Is_OP_constrained
1592 (p_operation => p_operation
1593 ,p_column_name => 'LINE_NUMBER'
1594 ,p_record => p_record
1595 ,x_on_operation_action => x_on_operation_action
1596 );
1597
1598 RETURN(l_result);
1599
1600 END LINE_NUMBER;
1601
1602
1603 FUNCTION LINE_TYPE
1604 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1605 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1606 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1607 ) RETURN NUMBER
1608 IS
1609 l_result NUMBER;
1610 BEGIN
1611
1612 l_result := Is_OP_constrained
1613 (p_operation => p_operation
1614 ,p_column_name => 'LINE_TYPE_ID'
1615 ,p_record => p_record
1616 ,x_on_operation_action => x_on_operation_action
1617 );
1618
1619 RETURN(l_result);
1620
1621 END LINE_TYPE;
1622
1623
1624 FUNCTION ORDERED_QUANTITY
1625 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1626 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1627 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1628 ) RETURN NUMBER
1629 IS
1630 l_result NUMBER;
1631 l_old_qty NUMBER;
1632 BEGIN
1633
1634 -- to fix #2312158
1635 oe_sales_can_util.G_REQUIRE_REASON := FALSE;
1636
1637 IF p_operation = OE_PC_GLOBALS.UPDATE_OP THEN
1638 SELECT Ordered_Quantity
1639 INTO l_old_qty
1640 FROM OE_ORDER_LINES
1641 WHERE line_id = p_record.line_id;
1642 END IF;
1643
1644 -- Added for #2871055, frontporting 3329897
1645 IF NVL(OE_LINE_SECURITY.g_record.line_id,-1) <> p_record.line_id then
1646 OE_LINE_SECURITY.g_record := p_record;
1647 END IF;
1648
1649 -- CHECK CONSTRAINTS FOR CANCEL OPERATION IF QUANTITY IS REDUCED
1650 -- QUOTING change - check for cancellation constraint only for
1651 -- lines in fulfillment phase, ordered quantity reduction on
1652 -- quote lines should only check for quantity UPDATE constraints.
1653 IF NVL(p_record.transaction_phase_code,'F') = 'F'
1654 AND p_operation = OE_PC_GLOBALS.UPDATE_OP
1655 AND nvl(p_record.ordered_quantity,0) < nvl(l_old_qty,0)
1656 AND NOT(p_record.split_action_code IS NOT NULL AND
1657 p_record.split_action_code <> FND_API.G_MISS_CHAR) THEN
1658 l_result := ORDERED_QUANTITY
1659 (p_operation => OE_PC_GLOBALS.CANCEL_OP
1660 ,p_record => p_record
1661 ,x_on_operation_action => x_on_operation_action
1662 );
1663 ELSIF p_operation = OE_PC_GLOBALS.UPDATE_OP
1664 AND (p_record.split_action_code IS NOT NULL AND
1665 p_record.split_action_code <> FND_API.G_MISS_CHAR AND
1666 p_record.split_action_code = 'SPLIT') THEN
1667 l_result := ORDERED_QUANTITY
1668 (p_operation => OE_PC_GLOBALS.SPLIT_OP
1669 ,p_record => p_record
1670 ,x_on_operation_action => x_on_operation_action
1671 );
1672 ELSE
1673 l_result := Is_OP_constrained
1674 (p_operation => p_operation
1675 ,p_column_name => 'ORDERED_QUANTITY'
1676 ,p_record => p_record
1677 ,x_on_operation_action => x_on_operation_action
1678 );
1679 END IF;
1680
1681 RETURN(l_result);
1682
1683 END ORDERED_QUANTITY;
1684
1685 -- OPM 1857167 start
1686
1687 FUNCTION ORDERED_QUANTITY2
1688 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1689 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1690 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1691 ) RETURN NUMBER
1692 IS
1693 l_result NUMBER;
1694 l_old_qty2 NUMBER;
1695 BEGIN
1696
1697 IF p_operation = OE_PC_GLOBALS.UPDATE_OP THEN
1698 SELECT Ordered_Quantity2
1699 INTO l_old_qty2
1700 FROM OE_ORDER_LINES
1701 WHERE line_id = p_record.line_id;
1702 END IF;
1703
1704 -- CHECK CONSTRAINTS FOR CANCEL OPERATION IF QUANTITY IS REDUCED
1705 IF p_operation = OE_PC_GLOBALS.UPDATE_OP
1706 AND nvl(p_record.ordered_quantity2,0) < nvl(l_old_qty2,0)
1707 AND NOT(p_record.split_action_code IS NOT NULL AND
1708 p_record.split_action_code <> FND_API.G_MISS_CHAR) THEN
1709 l_result := ORDERED_QUANTITY2
1710 (p_operation => OE_PC_GLOBALS.CANCEL_OP
1711 ,p_record => p_record
1712 ,x_on_operation_action => x_on_operation_action
1713 );
1714 ELSIF p_operation = OE_PC_GLOBALS.UPDATE_OP
1715 AND (p_record.split_action_code IS NOT NULL AND
1716 p_record.split_action_code <> FND_API.G_MISS_CHAR AND
1717 p_record.split_action_code = 'SPLIT') THEN
1718 l_result := ORDERED_QUANTITY2
1719 (p_operation => OE_PC_GLOBALS.SPLIT_OP
1720 ,p_record => p_record
1721 ,x_on_operation_action => x_on_operation_action
1722 );
1723 ELSE
1724 l_result := Is_OP_constrained
1725 (p_operation => p_operation
1726 ,p_column_name => 'ORDERED_QUANTITY2'
1727 ,p_record => p_record
1728 ,x_on_operation_action => x_on_operation_action
1729 );
1730 END IF;
1731
1732 RETURN(l_result);
1733
1734 END ORDERED_QUANTITY2;
1735
1736 -- OPM 1857167 end
1737
1738
1739 FUNCTION ORDER_QUANTITY_UOM
1740 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1741 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1742 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1743 ) RETURN NUMBER
1744 IS
1745 l_result NUMBER;
1746 BEGIN
1747
1748 l_result := Is_OP_constrained
1749 (p_operation => p_operation
1750 ,p_column_name => 'ORDER_QUANTITY_UOM'
1751 ,p_record => p_record
1752 ,x_on_operation_action => x_on_operation_action
1753 );
1754
1755 RETURN(l_result);
1756
1757 END ORDER_QUANTITY_UOM;
1758
1759
1760 FUNCTION ORIG_SYS_DOCUMENT_REF
1761 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1762 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1763 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1764 ) RETURN NUMBER
1765 IS
1766 l_result NUMBER;
1767 BEGIN
1768
1769 l_result := Is_OP_constrained
1770 (p_operation => p_operation
1771 ,p_column_name => 'ORIG_SYS_DOCUMENT_REF'
1772 ,p_record => p_record
1773 ,x_on_operation_action => x_on_operation_action
1774 );
1775
1776 RETURN(l_result);
1777
1778 END ORIG_SYS_DOCUMENT_REF;
1779
1780
1781 FUNCTION ORIG_SYS_LINE_REF
1782 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1783 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1784 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1785 ) RETURN NUMBER
1786 IS
1787 l_result NUMBER;
1788 BEGIN
1789
1790 l_result := Is_OP_constrained
1791 (p_operation => p_operation
1792 ,p_column_name => 'ORIG_SYS_LINE_REF'
1793 ,p_record => p_record
1794 ,x_on_operation_action => x_on_operation_action
1795 );
1796
1797 RETURN(l_result);
1798
1799 END ORIG_SYS_LINE_REF;
1800
1801
1802 FUNCTION OVER_SHIP_REASON
1803 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1804 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1805 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1806 ) RETURN NUMBER
1807 IS
1808 l_result NUMBER;
1809 BEGIN
1810
1811 l_result := Is_OP_constrained
1812 (p_operation => p_operation
1813 ,p_column_name => 'OVER_SHIP_REASON_CODE'
1814 ,p_record => p_record
1815 ,x_on_operation_action => x_on_operation_action
1816 );
1817
1818 RETURN(l_result);
1819
1820 END OVER_SHIP_REASON;
1821
1822
1823 FUNCTION OVER_SHIP_RESOLVED
1824 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1825 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1826 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1827 ) RETURN NUMBER
1828 IS
1829 l_result NUMBER;
1830 BEGIN
1831
1832 l_result := Is_OP_constrained
1833 (p_operation => p_operation
1834 ,p_column_name => 'OVER_SHIP_RESOLVED_FLAG'
1835 ,p_record => p_record
1836 ,x_on_operation_action => x_on_operation_action
1837 );
1838
1839 RETURN(l_result);
1840
1841 END OVER_SHIP_RESOLVED;
1842
1843 FUNCTION PACKING_INSTRUCTIONS
1844 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1845 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1846 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1847 ) RETURN NUMBER
1848 IS
1849 l_result NUMBER;
1850 BEGIN
1851
1852 l_result := Is_OP_constrained
1853 (p_operation => p_operation
1854 ,p_column_name => 'PACKING_INSTRUCTIONS'
1855 ,p_record => p_record
1856 ,x_on_operation_action => x_on_operation_action
1857 );
1858
1859
1860 RETURN(l_result);
1861
1862 END PACKING_INSTRUCTIONS;
1863
1864
1865 FUNCTION PAYMENT_TERM
1866 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1867 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1868 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1869 ) RETURN NUMBER
1870 IS
1871 l_result NUMBER;
1872 BEGIN
1873
1874 l_result := Is_OP_constrained
1875 (p_operation => p_operation
1876 ,p_column_name => 'PAYMENT_TERM_ID'
1877 ,p_record => p_record
1878 ,x_on_operation_action => x_on_operation_action
1879 );
1880
1881 RETURN(l_result);
1882
1883 END PAYMENT_TERM;
1884
1885 FUNCTION PLANNING_PRIORITY
1886 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1887 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1888 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1889 ) RETURN NUMBER
1890 IS
1891 l_result NUMBER;
1892 BEGIN
1893
1894 l_result := Is_OP_constrained
1895 (p_operation => p_operation
1896 ,p_column_name => 'PLANNING_PRIORITY'
1897 ,p_record => p_record
1898 ,x_on_operation_action => x_on_operation_action
1899 );
1900
1901 RETURN(l_result);
1902
1903 END PLANNING_PRIORITY;
1904
1905
1906 FUNCTION PRICE_LIST
1907 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1908 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1909 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1910 ) RETURN NUMBER
1911 IS
1912 l_result NUMBER;
1913 BEGIN
1914
1915 l_result := Is_OP_constrained
1916 (p_operation => p_operation
1917 ,p_column_name => 'PRICE_LIST_ID'
1918 ,p_record => p_record
1919 ,x_on_operation_action => x_on_operation_action
1920 );
1921
1922 RETURN(l_result);
1923
1924 END PRICE_LIST;
1925
1926
1927 FUNCTION PRICING_DATE
1928 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1929 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1930 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1931 ) RETURN NUMBER
1932 IS
1933 l_result NUMBER;
1934 BEGIN
1935
1936 l_result := Is_OP_constrained
1937 (p_operation => p_operation
1938 ,p_column_name => 'PRICING_DATE'
1939 ,p_record => p_record
1940 ,x_on_operation_action => x_on_operation_action
1941 );
1942
1943 RETURN(l_result);
1944
1945 END PRICING_DATE;
1946
1947
1948 FUNCTION PRICING_QUANTITY
1949 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1950 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1951 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1952 ) RETURN NUMBER
1953 IS
1954 l_result NUMBER;
1955 BEGIN
1956
1957 l_result := Is_OP_constrained
1958 (p_operation => p_operation
1959 ,p_column_name => 'PRICING_QUANTITY'
1960 ,p_record => p_record
1961 ,x_on_operation_action => x_on_operation_action
1962 );
1963
1964 RETURN(l_result);
1965
1966 END PRICING_QUANTITY;
1967
1968
1969 FUNCTION PRICING_QUANTITY_UOM
1970 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1971 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1972 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1973 ) RETURN NUMBER
1974 IS
1975 l_result NUMBER;
1976 BEGIN
1977
1978 l_result := Is_OP_constrained
1979 (p_operation => p_operation
1980 ,p_column_name => 'PRICING_QUANTITY_UOM'
1981 ,p_record => p_record
1982 ,x_on_operation_action => x_on_operation_action
1983 );
1984
1985 RETURN(l_result);
1986
1987 END PRICING_QUANTITY_UOM;
1988
1989
1990 FUNCTION PROJECT
1991 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
1992 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
1993 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
1994 ) RETURN NUMBER
1995 IS
1996 l_result NUMBER;
1997 BEGIN
1998
1999 l_result := Is_OP_constrained
2000 (p_operation => p_operation
2001 ,p_column_name => 'PROJECT_ID'
2002 ,p_record => p_record
2003 ,x_on_operation_action => x_on_operation_action
2004 );
2005
2006 RETURN(l_result);
2007
2008 END PROJECT;
2009
2010
2011 FUNCTION PROMISE_DATE
2012 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2013 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2014 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2015 ) RETURN NUMBER
2016 IS
2017 l_result NUMBER;
2018 BEGIN
2019
2020 l_result := Is_OP_constrained
2021 (p_operation => p_operation
2022 ,p_column_name => 'PROMISE_DATE'
2023 ,p_record => p_record
2024 ,x_on_operation_action => x_on_operation_action
2025 );
2026
2027 RETURN(l_result);
2028
2029 END PROMISE_DATE;
2030
2031 FUNCTION REFERENCE_CUST_TRX_LINE
2032 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2033 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2034 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2035 ) RETURN NUMBER
2036 IS
2037 l_result NUMBER;
2038 BEGIN
2039
2040 l_result := Is_OP_constrained
2041 (p_operation => p_operation
2042 ,p_column_name => 'REFERENCE_CUSTOMER_TRX_LINE_ID'
2043 ,p_record => p_record
2044 ,x_on_operation_action => x_on_operation_action
2045 );
2046
2047 RETURN(l_result);
2048
2049 END REFERENCE_CUST_TRX_LINE;
2050
2051 FUNCTION REFERENCE_TYPE
2052 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2053 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2054 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2055 ) RETURN NUMBER
2056 IS
2057 l_result NUMBER;
2058 BEGIN
2059
2060 l_result := Is_OP_constrained
2061 (p_operation => p_operation
2062 ,p_column_name => 'REFERENCE_TYPE'
2063 ,p_record => p_record
2064 ,x_on_operation_action => x_on_operation_action
2065 );
2066
2067 RETURN(l_result);
2068
2069 END REFERENCE_TYPE;
2070
2071
2072 FUNCTION REQUEST_DATE
2073 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2074 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2075 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2076 ) RETURN NUMBER
2077 IS
2078 l_result NUMBER;
2079 BEGIN
2080
2081 l_result := Is_OP_constrained
2082 (p_operation => p_operation
2083 ,p_column_name => 'REQUEST_DATE'
2084 ,p_record => p_record
2085 ,x_on_operation_action => x_on_operation_action
2086 );
2087
2088 RETURN(l_result);
2089
2090 END REQUEST_DATE;
2091
2092
2093 FUNCTION RETURN_REASON
2094 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2095 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2096 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2097 ) RETURN NUMBER
2098 IS
2099 l_result NUMBER;
2100 BEGIN
2101
2102 l_result := Is_OP_constrained
2103 (p_operation => p_operation
2104 ,p_column_name => 'RETURN_REASON_CODE'
2105 ,p_record => p_record
2106 ,x_on_operation_action => x_on_operation_action
2107 );
2108
2109 RETURN(l_result);
2110
2111 END RETURN_REASON;
2112
2113
2114 FUNCTION SALESREP
2115 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2116 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2117 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2118 ) RETURN NUMBER
2119 IS
2120 l_result NUMBER;
2121 BEGIN
2122
2123 l_result := Is_OP_constrained
2124 (p_operation => p_operation
2125 ,p_column_name => 'SALESREP_ID'
2126 ,p_record => p_record
2127 ,x_on_operation_action => x_on_operation_action
2128 );
2129
2130 RETURN(l_result);
2131
2132 END SALESREP;
2133
2134 FUNCTION SHIP_SET
2135 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2136 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2137 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2138 ) RETURN NUMBER
2139 IS
2140 l_result NUMBER;
2141 BEGIN
2142
2143 l_result := Is_OP_constrained
2144 (p_operation => p_operation
2145 ,p_column_name => 'SHIP_SET_ID'
2146 ,p_record => p_record
2147 ,x_on_operation_action => x_on_operation_action
2148 );
2149
2150 RETURN(l_result);
2151
2152 END SHIP_SET;
2153
2154 FUNCTION ARRIVAL_SET
2155 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2156 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2157 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2158 ) RETURN NUMBER
2159 IS
2160 l_result NUMBER;
2161 BEGIN
2162
2163 l_result := Is_OP_constrained
2164 (p_operation => p_operation
2165 ,p_column_name => 'ARRIVAL_SET_ID'
2166 ,p_record => p_record
2167 ,x_on_operation_action => x_on_operation_action
2168 );
2169
2170 RETURN(l_result);
2171
2172 END ARRIVAL_SET;
2173
2174
2175 FUNCTION SCHEDULE_ARRIVAL_DATE
2176 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2177 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2178 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2179 ) RETURN NUMBER
2180 IS
2181 l_result NUMBER;
2182 BEGIN
2183
2184 l_result := Is_OP_constrained
2185 (p_operation => p_operation
2186 ,p_column_name => 'SCHEDULE_ARRIVAL_DATE'
2187 ,p_record => p_record
2188 ,x_on_operation_action => x_on_operation_action
2189 );
2190
2191 RETURN(l_result);
2192
2193 END SCHEDULE_ARRIVAL_DATE;
2194
2195 FUNCTION SCHEDULE_SHIP_DATE
2196 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2197 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2198 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2199 ) RETURN NUMBER
2200 IS
2201 l_result NUMBER;
2202 BEGIN
2203
2204 l_result := Is_OP_constrained
2205 (p_operation => p_operation
2206 ,p_column_name => 'SCHEDULE_SHIP_DATE'
2207 ,p_record => p_record
2208 ,x_on_operation_action => x_on_operation_action
2209 );
2210
2211 RETURN(l_result);
2212
2213 END SCHEDULE_SHIP_DATE;
2214
2215
2216 FUNCTION SHIPMENT_NUMBER
2217 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2218 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2219 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2220 ) RETURN NUMBER
2221 IS
2222 l_result NUMBER;
2223 BEGIN
2224
2225 l_result := Is_OP_constrained
2226 (p_operation => p_operation
2227 ,p_column_name => 'SHIPMENT_NUMBER'
2228 ,p_record => p_record
2229 ,x_on_operation_action => x_on_operation_action
2230 );
2231
2232 RETURN(l_result);
2233
2234 END SHIPMENT_NUMBER;
2235
2236
2237 FUNCTION SHIPMENT_PRIORITY
2238 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2239 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2240 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2241 ) RETURN NUMBER
2242 IS
2243 l_result NUMBER;
2244 BEGIN
2245
2246 l_result := Is_OP_constrained
2247 (p_operation => p_operation
2248 ,p_column_name => 'SHIPMENT_PRIORITY_CODE'
2249 ,p_record => p_record
2250 ,x_on_operation_action => x_on_operation_action
2251 );
2252
2253 RETURN(l_result);
2254
2255 END SHIPMENT_PRIORITY;
2256
2257
2258 FUNCTION SHIPPED_QUANTITY
2259 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2260 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2261 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2262 ) RETURN NUMBER
2263 IS
2264 l_result NUMBER;
2265 BEGIN
2266
2267 l_result := Is_OP_constrained
2268 (p_operation => p_operation
2269 ,p_column_name => 'SHIPPED_QUANTITY'
2270 ,p_record => p_record
2271 ,x_on_operation_action => x_on_operation_action
2272 );
2273
2274 RETURN(l_result);
2275
2276 END SHIPPED_QUANTITY;
2277
2278 -- INVCONV
2279
2280 FUNCTION SHIPPED_QUANTITY2
2281 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2282 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2283 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2284 ) RETURN NUMBER
2285 IS
2286 l_result NUMBER;
2287 BEGIN
2288
2289 l_result := Is_OP_constrained
2290 (p_operation => p_operation
2291 ,p_column_name => 'SHIPPED_QUANTITY2'
2292 ,p_record => p_record
2293 ,x_on_operation_action => x_on_operation_action
2294 );
2295
2296 RETURN(l_result);
2297
2298 END SHIPPED_QUANTITY2;
2299
2300
2301 FUNCTION SHIPPING_INSTRUCTIONS
2302 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2303 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2304 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2305 ) RETURN NUMBER
2306 IS
2307 l_result NUMBER;
2308 BEGIN
2309
2310 l_result := Is_OP_constrained
2311 (p_operation => p_operation
2312 ,p_column_name => 'SHIPPING_INSTRUCTIONS'
2313 ,p_record => p_record
2314 ,x_on_operation_action => x_on_operation_action
2315 );
2316
2317 RETURN(l_result);
2318
2319 END SHIPPING_INSTRUCTIONS;
2320
2321
2322 FUNCTION SHIPPING_METHOD
2323 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2324 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2325 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2326 ) RETURN NUMBER
2327 IS
2328 l_result NUMBER;
2329 BEGIN
2330
2331 l_result := Is_OP_constrained
2332 (p_operation => p_operation
2333 ,p_column_name => 'SHIPPING_METHOD_CODE'
2334 ,p_record => p_record
2335 ,x_on_operation_action => x_on_operation_action
2336 );
2337
2338 RETURN(l_result);
2339
2340 END SHIPPING_METHOD;
2341
2342
2343 FUNCTION SHIPPING_QUANTITY
2344 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2345 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2346 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2347 ) RETURN NUMBER
2348 IS
2349 l_result NUMBER;
2350 BEGIN
2351
2352 l_result := Is_OP_constrained
2353 (p_operation => p_operation
2354 ,p_column_name => 'SHIPPING_QUANTITY'
2355 ,p_record => p_record
2356 ,x_on_operation_action => x_on_operation_action
2357 );
2358
2359 RETURN(l_result);
2360
2361 END SHIPPING_QUANTITY;
2362
2363 -- INVCONV
2364
2365 FUNCTION SHIPPING_QUANTITY2
2366 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2367 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2368 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2369 ) RETURN NUMBER
2370 IS
2371 l_result NUMBER;
2372 BEGIN
2373
2374 l_result := Is_OP_constrained
2375 (p_operation => p_operation
2376 ,p_column_name => 'SHIPPING_QUANTITY2'
2377 ,p_record => p_record
2378 ,x_on_operation_action => x_on_operation_action
2379 );
2380
2381 RETURN(l_result);
2382
2383 END SHIPPING_QUANTITY2;
2384
2385 FUNCTION SHIPPING_QUANTITY_UOM
2386 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2387 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2388 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2389 ) RETURN NUMBER
2390 IS
2391 l_result NUMBER;
2392 BEGIN
2393
2394 l_result := Is_OP_constrained
2395 (p_operation => p_operation
2396 ,p_column_name => 'SHIPPING_QUANTITY_UOM'
2397 ,p_record => p_record
2398 ,x_on_operation_action => x_on_operation_action
2399 );
2400
2401 RETURN(l_result);
2402
2403 END SHIPPING_QUANTITY_UOM;
2404
2405
2406
2407 -- INVCONV
2408
2409 FUNCTION SHIPPING_QUANTITY_UOM2
2410 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2411 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2412 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2413 ) RETURN NUMBER
2414 IS
2415 l_result NUMBER;
2416 BEGIN
2417
2418 l_result := Is_OP_constrained
2419 (p_operation => p_operation
2420 ,p_column_name => 'SHIPPING_QUANTITY_UOM2'
2421 ,p_record => p_record
2422 ,x_on_operation_action => x_on_operation_action
2423 );
2424
2425 RETURN(l_result);
2426
2427 END SHIPPING_QUANTITY_UOM2;
2428
2429
2430 FUNCTION SHIP_FROM_ORG
2431 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2432 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2433 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2434 ) RETURN NUMBER
2435 IS
2436 l_result NUMBER;
2437 BEGIN
2438
2439 l_result := Is_OP_constrained
2440 (p_operation => p_operation
2441 ,p_column_name => 'SHIP_FROM_ORG_ID'
2442 ,p_record => p_record
2443 ,x_on_operation_action => x_on_operation_action
2444 );
2445
2446 RETURN(l_result);
2447
2448 END SHIP_FROM_ORG;
2449
2450 FUNCTION SUBINVENTORY
2451 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2452 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2453 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2454 ) RETURN NUMBER
2455 IS
2456 l_result NUMBER;
2457 BEGIN
2458
2459 l_result := Is_OP_constrained
2460 (p_operation => p_operation
2461 ,p_column_name => 'SUBINVENTORY'
2462 ,p_record => p_record
2463 ,x_on_operation_action => x_on_operation_action
2464 );
2465
2466 RETURN(l_result);
2467
2468 END SUBINVENTORY;
2469
2470 FUNCTION SHIP_MODEL_COMPLETE
2471 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2472 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2473 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2474 ) RETURN NUMBER
2475 IS
2476 l_result NUMBER;
2477 BEGIN
2478
2479 l_result := Is_OP_constrained
2480 (p_operation => p_operation
2481 ,p_column_name => 'SHIP_MODEL_COMPLETE_FLAG'
2482 ,p_record => p_record
2483 ,x_on_operation_action => x_on_operation_action
2484 );
2485
2486 RETURN(l_result);
2487
2488 END SHIP_MODEL_COMPLETE;
2489
2490
2491 FUNCTION SHIP_TOLERANCE_ABOVE
2492 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2493 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2494 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2495 ) RETURN NUMBER
2496 IS
2497 l_result NUMBER;
2498 BEGIN
2499
2500 l_result := Is_OP_constrained
2501 (p_operation => p_operation
2502 ,p_column_name => 'SHIP_TOLERANCE_ABOVE'
2503 ,p_record => p_record
2504 ,x_on_operation_action => x_on_operation_action
2505 );
2506
2507 RETURN(l_result);
2508
2509 END SHIP_TOLERANCE_ABOVE;
2510
2511
2512 FUNCTION SHIP_TOLERANCE_BELOW
2513 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2514 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2515 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2516 ) RETURN NUMBER
2517 IS
2518 l_result NUMBER;
2519 BEGIN
2520
2521 l_result := Is_OP_constrained
2522 (p_operation => p_operation
2523 ,p_column_name => 'SHIP_TOLERANCE_BELOW'
2524 ,p_record => p_record
2525 ,x_on_operation_action => x_on_operation_action
2526 );
2527
2528 RETURN(l_result);
2529
2530 END SHIP_TOLERANCE_BELOW;
2531
2532
2533 FUNCTION SHIP_TO_CONTACT
2534 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2535 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2536 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2537 ) RETURN NUMBER
2538 IS
2539 l_result NUMBER;
2540 BEGIN
2541
2542 l_result := Is_OP_constrained
2543 (p_operation => p_operation
2544 ,p_column_name => 'SHIP_TO_CONTACT_ID'
2545 ,p_record => p_record
2546 ,x_on_operation_action => x_on_operation_action
2547 );
2548
2549 RETURN(l_result);
2550
2551 END SHIP_TO_CONTACT;
2552
2553
2554 FUNCTION SHIP_TO_ORG
2555 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2556 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2557 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2558 ) RETURN NUMBER
2559 IS
2560 l_result NUMBER;
2561 BEGIN
2562
2563 l_result := Is_OP_constrained
2564 (p_operation => p_operation
2565 ,p_column_name => 'SHIP_TO_ORG_ID'
2566 ,p_record => p_record
2567 ,x_on_operation_action => x_on_operation_action
2568 );
2569
2570 RETURN(l_result);
2571
2572 END SHIP_TO_ORG;
2573
2574
2575 FUNCTION SOLD_TO_ORG
2576 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2577 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2578 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2579 ) RETURN NUMBER
2580 IS
2581 l_result NUMBER;
2582 BEGIN
2583
2584 l_result := Is_OP_constrained
2585 (p_operation => p_operation
2586 ,p_column_name => 'SOLD_TO_ORG_ID'
2587 ,p_record => p_record
2588 ,x_on_operation_action => x_on_operation_action
2589 );
2590
2591 RETURN(l_result);
2592
2593 END SOLD_TO_ORG;
2594
2595
2596 FUNCTION SOURCE_DOCUMENT_TYPE
2597 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2598 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2599 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2600 ) RETURN NUMBER
2601 IS
2602 l_result NUMBER;
2603 BEGIN
2604
2605 l_result := Is_OP_constrained
2606 (p_operation => p_operation
2607 ,p_column_name => 'SOURCE_DOCUMENT_TYPE_ID'
2608 ,p_record => p_record
2609 ,x_on_operation_action => x_on_operation_action
2610 );
2611
2612 RETURN(l_result);
2613
2614 END SOURCE_DOCUMENT_TYPE;
2615
2616
2617 FUNCTION SOURCE_TYPE
2618 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2619 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2620 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2621 ) RETURN NUMBER
2622 IS
2623 l_result NUMBER;
2624 BEGIN
2625
2626 l_result := Is_OP_constrained
2627 (p_operation => p_operation
2628 ,p_column_name => 'SOURCE_TYPE_CODE'
2629 ,p_record => p_record
2630 ,x_on_operation_action => x_on_operation_action
2631 );
2632
2633 RETURN(l_result);
2634
2635 END SOURCE_TYPE;
2636
2637
2638 FUNCTION TASK
2639 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2640 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2641 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2642 ) RETURN NUMBER
2643 IS
2644 l_result NUMBER;
2645 BEGIN
2646
2647 l_result := Is_OP_constrained
2648 (p_operation => p_operation
2649 ,p_column_name => 'TASK_ID'
2650 ,p_record => p_record
2651 ,x_on_operation_action => x_on_operation_action
2652 );
2653
2654 RETURN(l_result);
2655
2656 END TASK;
2657
2658
2659 FUNCTION TAX
2660 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2661 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2662 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2663 ) RETURN NUMBER
2664 IS
2665 l_result NUMBER;
2666 BEGIN
2667
2668 l_result := Is_OP_constrained
2669 (p_operation => p_operation
2670 ,p_column_name => 'TAX_CODE'
2671 ,p_record => p_record
2672 ,x_on_operation_action => x_on_operation_action
2673 );
2674
2675 RETURN(l_result);
2676
2677 END TAX;
2678
2679
2680 FUNCTION TAX_DATE
2681 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2682 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2683 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2684 ) RETURN NUMBER
2685 IS
2686 l_result NUMBER;
2687 BEGIN
2688
2689 l_result := Is_OP_constrained
2690 (p_operation => p_operation
2691 ,p_column_name => 'TAX_DATE'
2692 ,p_record => p_record
2693 ,x_on_operation_action => x_on_operation_action
2694 );
2695
2696 RETURN(l_result);
2697
2698 END TAX_DATE;
2699
2700
2701 FUNCTION TAX_EXEMPT
2702 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2703 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2704 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2705 ) RETURN NUMBER
2706 IS
2707 l_result NUMBER;
2708 BEGIN
2709
2710 l_result := Is_OP_constrained
2711 (p_operation => p_operation
2712 ,p_column_name => 'TAX_EXEMPT_FLAG'
2713 ,p_record => p_record
2714 ,x_on_operation_action => x_on_operation_action
2715 );
2716
2717 RETURN(l_result);
2718
2719 END TAX_EXEMPT;
2720
2721
2722 FUNCTION TAX_EXEMPT_NUMBER
2723 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2724 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2725 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2726 ) RETURN NUMBER
2727 IS
2728 l_result NUMBER;
2729 BEGIN
2730
2731 l_result := Is_OP_constrained
2732 (p_operation => p_operation
2733 ,p_column_name => 'TAX_EXEMPT_NUMBER'
2734 ,p_record => p_record
2735 ,x_on_operation_action => x_on_operation_action
2736 );
2737
2738 RETURN(l_result);
2739
2740 END TAX_EXEMPT_NUMBER;
2741
2742
2743 FUNCTION TAX_EXEMPT_REASON
2744 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2745 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2746 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2747 ) RETURN NUMBER
2748 IS
2749 l_result NUMBER;
2750 BEGIN
2751
2752 l_result := Is_OP_constrained
2753 (p_operation => p_operation
2754 ,p_column_name => 'TAX_EXEMPT_REASON_CODE'
2755 ,p_record => p_record
2756 ,x_on_operation_action => x_on_operation_action
2757 );
2758
2759 RETURN(l_result);
2760
2761 END TAX_EXEMPT_REASON;
2762
2763
2764
2765
2766 FUNCTION UNIT_LIST_PRICE
2767 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2768 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2769 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2770 ) RETURN NUMBER
2771 IS
2772 l_result NUMBER;
2773 BEGIN
2774
2775 l_result := Is_OP_constrained
2776 (p_operation => p_operation
2777 ,p_column_name => 'UNIT_LIST_PRICE'
2778 ,p_record => p_record
2779 ,x_on_operation_action => x_on_operation_action
2780 );
2781
2782 RETURN(l_result);
2783
2784 END UNIT_LIST_PRICE;
2785
2786
2787
2788 FUNCTION UNIT_SELLING_PRICE
2789 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2790 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2791 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2792 ) RETURN NUMBER
2793 IS
2794 l_result NUMBER;
2795 BEGIN
2796
2797 l_result := Is_OP_constrained
2798 (p_operation => p_operation
2799 ,p_column_name => 'UNIT_SELLING_PRICE'
2800 ,p_record => p_record
2801 ,x_on_operation_action => x_on_operation_action
2802 );
2803
2804 RETURN(l_result);
2805
2806 END UNIT_SELLING_PRICE;
2807
2808
2809 FUNCTION SERVICE_REFERENCE_TYPE
2810 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2811 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2812 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2813 ) RETURN NUMBER
2814 IS
2815 l_result NUMBER;
2816 BEGIN
2817
2818 l_result := Is_OP_constrained
2819 (p_operation => p_operation
2820 ,p_column_name => 'SERVICE_REFERENCE_TYPE_CODE'
2821 ,p_record => p_record
2822 ,x_on_operation_action => x_on_operation_action
2823 );
2824
2825 RETURN(l_result);
2826
2827 END SERVICE_REFERENCE_TYPE;
2828
2829 FUNCTION SERVICE_REFERENCE_LINE
2830 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2831 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2832 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2833 ) RETURN NUMBER
2834 IS
2835 l_result NUMBER;
2836 BEGIN
2837
2838 l_result := Is_OP_constrained
2839 (p_operation => p_operation
2840 ,p_column_name => 'SERVICE_REFERENCE_LINE_ID'
2841 ,p_record => p_record
2842 ,x_on_operation_action => x_on_operation_action
2843 );
2844
2845 RETURN(l_result);
2846
2847 END SERVICE_REFERENCE_LINE;
2848
2849 FUNCTION SERVICE_REFERENCE_SYSTEM
2850 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2851 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2852 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2853 ) RETURN NUMBER
2854 IS
2855 l_result NUMBER;
2856 BEGIN
2857
2858 l_result := Is_OP_constrained
2859 (p_operation => p_operation
2860 ,p_column_name => 'SERVICE_REFERENCE_SYSTEM_ID'
2861 ,p_record => p_record
2862 ,x_on_operation_action => x_on_operation_action
2863 );
2864
2865 RETURN(l_result);
2866
2867 END SERVICE_REFERENCE_SYSTEM;
2868
2869 /* Fix to bug 2205900: Added constraints functions for
2870 some missing SERVICE fields */
2871 FUNCTION SERVICE_COTERMINATE
2872 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2873 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2874 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2875 ) RETURN NUMBER
2876 IS
2877 l_result NUMBER;
2878 BEGIN
2879
2880 l_result := Is_OP_constrained
2881 (p_operation => p_operation
2882 ,p_column_name => 'SERVICE_COTERMINATE_FLAG'
2883 ,p_record => p_record
2884 ,x_on_operation_action => x_on_operation_action
2885 );
2886
2887 RETURN(l_result);
2888
2889 END SERVICE_COTERMINATE;
2890
2891 FUNCTION SERVICE_DURATION
2892 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2893 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2894 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2895 ) RETURN NUMBER
2896 IS
2897 l_result NUMBER;
2898 BEGIN
2899
2900 l_result := Is_OP_constrained
2901 (p_operation => p_operation
2902 ,p_column_name => 'SERVICE_DURATION'
2903 ,p_record => p_record
2904 ,x_on_operation_action => x_on_operation_action
2905 );
2906
2907 RETURN(l_result);
2908
2909 END SERVICE_DURATION;
2910
2911 FUNCTION SERVICE_END_DATE
2912 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2913 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2914 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2915 ) RETURN NUMBER
2916 IS
2917 l_result NUMBER;
2918 BEGIN
2919
2920 l_result := Is_OP_constrained
2921 (p_operation => p_operation
2922 ,p_column_name => 'SERVICE_END_DATE'
2923 ,p_record => p_record
2924 ,x_on_operation_action => x_on_operation_action
2925 );
2926
2927 RETURN(l_result);
2928
2929 END SERVICE_END_DATE;
2930
2931 FUNCTION SERVICE_PERIOD
2932 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2933 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2934 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2935 ) RETURN NUMBER
2936 IS
2937 l_result NUMBER;
2938 BEGIN
2939
2940 l_result := Is_OP_constrained
2941 (p_operation => p_operation
2942 ,p_column_name => 'SERVICE_PERIOD'
2943 ,p_record => p_record
2944 ,x_on_operation_action => x_on_operation_action
2945 );
2946
2947 RETURN(l_result);
2948
2949 END SERVICE_PERIOD;
2950
2951 FUNCTION SERVICE_START_DATE
2952 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2953 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2954 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2955 ) RETURN NUMBER
2956 IS
2957 l_result NUMBER;
2958 BEGIN
2959
2960 l_result := Is_OP_constrained
2961 (p_operation => p_operation
2962 ,p_column_name => 'SERVICE_START_DATE'
2963 ,p_record => p_record
2964 ,x_on_operation_action => x_on_operation_action
2965 );
2966
2967 RETURN(l_result);
2968
2969 END SERVICE_START_DATE;
2970
2971 FUNCTION SERVICE_TXN_COMMENTS
2972 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2973 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2974 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2975 ) RETURN NUMBER
2976 IS
2977 l_result NUMBER;
2978 BEGIN
2979
2980 l_result := Is_OP_constrained
2981 (p_operation => p_operation
2982 ,p_column_name => 'SERVICE_TXN_COMMENTS'
2983 ,p_record => p_record
2984 ,x_on_operation_action => x_on_operation_action
2985 );
2986
2987 RETURN(l_result);
2988
2989 END SERVICE_TXN_COMMENTS;
2990
2991 FUNCTION SERVICE_TXN_REASON
2992 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
2993 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
2994 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
2995 ) RETURN NUMBER
2996 IS
2997 l_result NUMBER;
2998 BEGIN
2999
3000 l_result := Is_OP_constrained
3001 (p_operation => p_operation
3002 ,p_column_name => 'SERVICE_TXN_REASON_CODE'
3003 ,p_record => p_record
3004 ,x_on_operation_action => x_on_operation_action
3005 );
3006
3007 RETURN(l_result);
3008
3009 END SERVICE_TXN_REASON;
3010
3011 /*1449220*/
3012 FUNCTION ITEM_IDENTIFIER_TYPE
3013 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
3014 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
3015 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
3016 ) RETURN NUMBER
3017 IS
3018 l_result NUMBER;
3019 BEGIN
3020
3021 l_result := Is_OP_constrained
3022 (p_operation => p_operation
3023 ,p_column_name => 'ITEM_IDENTIFIER_TYPE'
3024 ,p_record => p_record
3025 ,x_on_operation_action => x_on_operation_action
3026 );
3027
3028 RETURN(l_result);
3029
3030 END ITEM_IDENTIFIER_TYPE;
3031 /*1449220*/
3032
3033 FUNCTION USER_ITEM_DESCRIPTION
3034
3035 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
3036 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
3037 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
3038 ) RETURN NUMBER
3039 IS
3040 l_result NUMBER;
3041 BEGIN
3042
3043 l_result := Is_OP_constrained
3044 (p_operation => p_operation
3045 ,p_column_name => 'USER_ITEM_DESCRIPTION'
3046 ,p_record => p_record
3047 ,x_on_operation_action => x_on_operation_action
3048 );
3049
3050 RETURN(l_result);
3051
3052 END USER_ITEM_DESCRIPTION;
3053
3054 FUNCTION BLANKET_NUMBER
3055 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
3056 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
3057 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
3058 ) RETURN NUMBER
3059 IS
3060 l_result NUMBER;
3061 BEGIN
3062
3063 l_result := Is_OP_constrained
3064 (p_operation => p_operation
3065 ,p_column_name => 'BLANKET_NUMBER'
3066 ,p_record => p_record
3067 ,x_on_operation_action => x_on_operation_action
3068 );
3069
3070 RETURN(l_result);
3071
3072 END BLANKET_NUMBER;
3073
3074 FUNCTION BLANKET_LINE_NUMBER
3075 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
3076 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
3077 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
3078 ) RETURN NUMBER
3079 IS
3080 l_result NUMBER;
3081 BEGIN
3082
3083 l_result := Is_OP_constrained
3084 (p_operation => p_operation
3085 ,p_column_name => 'BLANKET_LINE_NUMBER'
3086 ,p_record => p_record
3087 ,x_on_operation_action => x_on_operation_action
3088 );
3089
3090 RETURN(l_result);
3091
3092 END BLANKET_LINE_NUMBER;
3093
3094 FUNCTION CUSTOMER_SHIPMENT_NUMBER
3095 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
3096 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
3097 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
3098 ) RETURN NUMBER
3099 IS
3100 l_result NUMBER;
3101 BEGIN
3102
3103 l_result := Is_OP_constrained
3104 (p_operation => p_operation
3105 ,p_column_name => 'CUSTOMER_SHIPMENT_NUMBER'
3106 ,p_record => p_record
3107 ,x_on_operation_action => x_on_operation_action
3108 );
3109
3110 RETURN(l_result);
3111
3112 END CUSTOMER_SHIPMENT_NUMBER;
3113
3114
3115 PROCEDURE Entity
3116 ( p_LINE_rec IN OE_Order_PUB.LINE_Rec_Type
3117 , x_result OUT NOCOPY NUMBER /* file.sql.39 change */
3118 , x_return_status OUT NOCOPY VARCHAR2 /* file.sql.39 change */
3119 ) IS
3120 l_operation VARCHAR2(1);
3121 l_on_operation_action NUMBER;
3122 l_rowtype_rec OE_AK_ORDER_LINES_V%ROWTYPE;
3123 l_flow_status_code VARCHAR2(30);
3124 --
3125 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3126 --
3127 BEGIN
3128
3129 IF l_debug_level > 0 THEN
3130 oe_debug_pub.add('Enter OE_LINE_Security.Entity',1);
3131 END IF;
3132
3133 -- Initializing return status to SUCCESS
3134 x_return_status := FND_API.G_RET_STS_SUCCESS;
3135
3136 /* start of bug 2922204 */
3137
3138 IF l_debug_level > 0 THEN
3139 oe_debug_pub.add('hash before create operation');
3140 END IF;
3141
3142 IF p_LINE_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
3143
3144 IF l_debug_level > 0 THEN
3145 oe_debug_pub.add('hash in create operation');
3146 END IF;
3147
3148 IF p_Line_rec.item_type_code = 'SERVICE' AND
3149 p_line_rec.service_reference_type_code = 'ORDER' AND --3390589
3150 p_line_rec.service_reference_line_id IS NOT NULL THEN
3151 -- use p_line_rec.service_ref_line_id to get flow_status_code of parent
3152 BEGIN
3153 SELECT flow_status_code
3154 INTO l_flow_status_code
3155 FROM oe_order_lines
3156 WHERE line_id = p_line_rec.service_reference_line_id;
3157 END;
3158
3159 IF l_flow_status_code = 'CANCELLED' THEN
3160 IF l_debug_level > 0 THEN
3161 oe_debug_pub.add('hash flow status is cancelled..x_result is' || x_result);
3162 END IF;
3163 x_result := OE_PC_GLOBALS.YES;
3164 IF l_debug_level > 0 THEN
3165 oe_debug_pub.add('hash flow status is cancelled..x_result is' || x_result);
3166 END IF;
3167 -- Add msg to stack
3168 FND_MESSAGE.SET_NAME('ONT','OE_SVC_PROD_CANCELLED');
3169 OE_MSG_PUB.Add;
3170 RETURN;
3171 ELSE
3172 IF l_debug_level > 0 THEN
3173 oe_debug_pub.add('hash flow status is not cancelled');
3174 END IF;
3175 l_operation := OE_PC_GLOBALS.CREATE_OP;
3176 END IF; -- if cancelled
3177 ElSE
3178 IF l_debug_level > 0 THEN
3179 oe_debug_pub.add('hash not a service');
3180 END IF;
3181 l_operation := OE_PC_GLOBALS.CREATE_OP;
3182 END IF; -- end if service
3183
3184 --IF p_LINE_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
3185 -- l_operation := OE_PC_GLOBALS.CREATE_OP;
3186 /* end of bug 2922204 */
3187
3188
3189 ELSIF p_LINE_rec.operation = OE_GLOBALS.G_OPR_UPDATE THEN
3190 l_operation := OE_PC_GLOBALS.UPDATE_OP;
3191 ELSIF p_LINE_rec.operation = OE_GLOBALS.G_OPR_DELETE THEN
3192 l_operation := OE_PC_GLOBALS.DELETE_OP;
3193 ELSE
3194 IF l_debug_level > 0 THEN
3195 oe_debug_pub.add('Invalid operation',1);
3196 END IF;
3197 RAISE FND_API.G_EXC_ERROR;
3198 END IF;
3199
3200 OE_LINE_Util_Ext.API_Rec_To_Rowtype_Rec
3201 (p_LINE_rec => p_line_rec
3202 , x_rowtype_rec => l_rowtype_rec);
3203
3204 --Initialize security global record
3205 OE_LINE_SECURITY.g_record := l_rowtype_rec;
3206
3207 IF l_debug_level > 0 THEN
3208 oe_debug_pub.add('OEXXLINB operation is ' || p_line_rec.operation);
3209 END IF;
3210 IF (p_line_rec.split_from_line_id IS NOT NULL AND p_line_rec.operation = 'CREATE')
3211 THEN
3212 l_operation := OE_PC_GLOBALS.SPLIT_OP;
3213 END IF;
3214 x_result := Is_OP_constrained
3215 (p_operation => l_operation
3216 ,p_record => l_rowtype_rec
3217 ,x_on_operation_action => l_on_operation_action
3218 );
3219
3220
3221 IF l_debug_level > 0 THEN
3222 oe_debug_pub.add('Exit OE_LINE_Security.Entity',1);
3223 END IF;
3224 EXCEPTION
3225 WHEN FND_API.G_EXC_ERROR THEN
3226 x_return_status := FND_API.G_RET_STS_ERROR;
3227 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3228 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3229 WHEN OTHERS THEN
3230 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3231 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3232 OE_MSG_PUB.Add_Exc_Msg
3233 ( G_PKG_NAME
3234 , 'Entity'
3235 );
3236 END IF;
3237
3238 END Entity;
3239
3240 PROCEDURE Attributes
3241 ( p_LINE_rec IN OE_Order_PUB.LINE_Rec_Type
3242 , p_old_LINE_rec IN OE_Order_PUB.LINE_Rec_Type := OE_Order_PUB.G_MISS_LINE_REC
3243 , x_result OUT NOCOPY NUMBER /* file.sql.39 change */
3244 , x_return_status OUT NOCOPY VARCHAR2 /* file.sql.39 change */
3245 ) IS
3246 l_operation VARCHAR2(1);
3247 l_on_operation_action NUMBER;
3248 l_result NUMBER;
3249 l_rowtype_rec OE_AK_ORDER_LINES_V%ROWTYPE;
3250 l_column_name VARCHAR2(30);
3251 l_active_flag VARCHAR2(1);
3252 l_check_all_cols_constraint VARCHAR2(1);
3253 --
3254 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3255 --
3256 BEGIN
3257 IF l_debug_level > 0 THEN
3258 oe_debug_pub.add('Enter OE_LINE_Security.Attributes',1);
3259 END IF;
3260
3261 -- Initializing return status to SUCCESS
3262 x_return_status := FND_API.G_RET_STS_SUCCESS;
3263 -- Initialize g_operation_action to null
3264 g_operation_action := null;
3265
3266 -- Initializing out result to NOT CONSTRAINED
3267 x_result := OE_PC_GLOBALS.NO;
3268
3269 -- Get the operation code to be passed to the security framework API
3270 IF p_LINE_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
3271
3272 -- Bug 2639336 : if the order source is Copy then skip the Attribute
3273 -- level check
3274 -- Bug 3859436 : if the line is being split, skip attribute check.
3275 IF p_LINE_rec.source_document_type_id = OE_GLOBALS.G_ORDER_SOURCE_COPY
3276 OR p_line_rec.split_from_line_id <> FND_API.G_MISS_NUM
3277 THEN
3278 RETURN;
3279 ELSE
3280 l_operation := OE_PC_GLOBALS.CREATE_OP;
3281 END IF;
3282
3283 -- Bug 1755817: if there are no attribute-specific insert
3284 -- constraints, then no need to go further. Entity level
3285 -- security check for CREATE will be called again from
3286 -- process order after defaulting.
3287 IF NOT OE_PC_Constraints_Admin_PVT.Check_On_Insert_Exists
3288 (p_entity_id => OE_PC_GLOBALS.G_ENTITY_LINE
3289 ,p_responsibility_id => nvl(fnd_global.resp_id, -1)
3290 ,p_application_id => nvl(fnd_global.resp_appl_id,-1) --added for bug3631547
3291 )
3292 THEN
3293 RETURN;
3294 END IF;
3295
3296 ELSIF p_LINE_rec.operation = OE_GLOBALS.G_OPR_UPDATE THEN
3297 l_operation := OE_PC_GLOBALS.UPDATE_OP;
3298 ELSE
3299 IF l_debug_level > 0 THEN
3300 oe_debug_pub.add('Invalid operation',1);
3301 END IF;
3302 RAISE FND_API.G_EXC_ERROR;
3303 END IF;
3304
3305 OE_LINE_Util_Ext.API_Rec_To_Rowtype_Rec
3306 (p_LINE_rec => p_line_rec
3307 , x_rowtype_rec => l_rowtype_rec);
3308
3309 --Initialize security global record
3310 OE_LINE_SECURITY.g_record := l_rowtype_rec;
3311
3312 -- Compare the new and old entity records and
3313 -- check constraints for all the changed attributes.
3314
3315 IF p_line_rec.accounting_rule_id = FND_API.G_MISS_NUM THEN NULL;
3316 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.accounting_rule_id,p_old_line_rec.accounting_rule_id) THEN
3317
3318 l_result := ACCOUNTING_RULE
3319 (p_operation => l_operation
3320 ,p_record => l_rowtype_rec
3321 ,x_on_operation_action => l_on_operation_action
3322 );
3323
3324 IF l_result = OE_PC_GLOBALS.YES THEN
3325 -- set OUT result to CONSTRAINED
3326 x_result := OE_PC_GLOBALS.YES;
3327 END IF;
3328
3329 END IF;
3330
3331 IF p_line_rec.IB_OWNER = FND_API.G_MISS_CHAR THEN NULL;
3332 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.IB_OWNER,p_old_line_rec.IB_OWNER) THEN
3333
3334 l_result := IB_OWNER
3335 (p_operation => l_operation
3336 ,p_record => l_rowtype_rec
3337 ,x_on_operation_action => l_on_operation_action
3338 );
3339
3340 IF l_result = OE_PC_GLOBALS.YES THEN
3341 -- set OUT result to CONSTRAINED
3342 x_result := OE_PC_GLOBALS.YES;
3343 END IF;
3344
3345 END IF;
3346 IF p_line_rec.IB_CURRENT_LOCATION = FND_API.G_MISS_CHAR THEN NULL;
3347 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.IB_CURRENT_LOCATION,p_old_line_rec.IB_CURRENT_LOCATION) THEN
3348
3349 l_result := IB_CURRENT_LOCATION
3350 (p_operation => l_operation
3351 ,p_record => l_rowtype_rec
3352 ,x_on_operation_action => l_on_operation_action
3353 );
3354
3355 IF l_result = OE_PC_GLOBALS.YES THEN
3356 -- set OUT result to CONSTRAINED
3357 x_result := OE_PC_GLOBALS.YES;
3358 END IF;
3359
3360 END IF;
3361 IF p_line_rec.IB_INSTALLED_AT_LOCATION = FND_API.G_MISS_CHAR THEN NULL;
3362 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.IB_INSTALLED_AT_LOCATION,p_old_line_rec.IB_INSTALLED_AT_LOCATION) THEN
3363
3364 l_result := IB_INSTALLED_AT_LOCATION
3365 (p_operation => l_operation
3366 ,p_record => l_rowtype_rec
3367 ,x_on_operation_action => l_on_operation_action
3368 );
3369
3370 IF l_result = OE_PC_GLOBALS.YES THEN
3371 -- set OUT result to CONSTRAINED
3372 x_result := OE_PC_GLOBALS.YES;
3373 END IF;
3374
3375 END IF;
3376 IF p_line_rec.END_CUSTOMER_ID = FND_API.G_MISS_NUM THEN NULL;
3377 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.END_CUSTOMER_ID,p_old_line_rec.END_CUSTOMER_ID) THEN
3378
3379 l_result := END_CUSTOMER
3380 (p_operation => l_operation
3381 ,p_record => l_rowtype_rec
3382 ,x_on_operation_action => l_on_operation_action
3383 );
3384
3385 IF l_result = OE_PC_GLOBALS.YES THEN
3386 -- set OUT result to CONSTRAINED
3387 x_result := OE_PC_GLOBALS.YES;
3388 END IF;
3389
3390 END IF;
3391 IF p_line_rec.END_CUSTOMER_CONTACT_ID = FND_API.G_MISS_NUM THEN NULL;
3392 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.END_CUSTOMER_CONTACT_ID,p_old_line_rec.END_CUSTOMER_CONTACT_ID) THEN
3393
3394 l_result := END_CUSTOMER_CONTACT
3395 (p_operation => l_operation
3396 ,p_record => l_rowtype_rec
3397 ,x_on_operation_action => l_on_operation_action
3398 );
3399
3400 IF l_result = OE_PC_GLOBALS.YES THEN
3401 -- set OUT result to CONSTRAINED
3402 x_result := OE_PC_GLOBALS.YES;
3403 END IF;
3404
3405 END IF;
3406 IF p_line_rec.END_CUSTOMER_SITE_USE_ID = FND_API.G_MISS_NUM THEN NULL;
3407 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.END_CUSTOMER_SITE_USE_ID,p_old_line_rec.END_CUSTOMER_SITE_USE_ID) THEN
3408
3409 l_result := END_CUSTOMER_SITE_USE
3410 (p_operation => l_operation
3411 ,p_record => l_rowtype_rec
3412 ,x_on_operation_action => l_on_operation_action
3413 );
3414
3415 IF l_result = OE_PC_GLOBALS.YES THEN
3416 -- set OUT result to CONSTRAINED
3417 x_result := OE_PC_GLOBALS.YES;
3418 END IF;
3419
3420 END IF;
3421
3422 IF p_line_rec.accounting_rule_duration = FND_API.G_MISS_NUM THEN NULL;
3423 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.accounting_rule_duration,p_old_line_rec.accounting_rule_duration) THEN
3424
3425 l_result := ACCOUNTING_RULE_DURATION
3426 (p_operation => l_operation
3427 ,p_record => l_rowtype_rec
3428 ,x_on_operation_action => l_on_operation_action
3429 );
3430
3431 IF l_result = OE_PC_GLOBALS.YES THEN
3432 -- set OUT result to CONSTRAINED
3433 x_result := OE_PC_GLOBALS.YES;
3434 END IF;
3435
3436 END IF;
3437
3438 IF p_line_rec.agreement_id = FND_API.G_MISS_NUM THEN NULL;
3439 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.agreement_id,p_old_line_rec.agreement_id) THEN
3440
3441 l_result := AGREEMENT
3442 (p_operation => l_operation
3443 ,p_record => l_rowtype_rec
3444 ,x_on_operation_action => l_on_operation_action
3445 );
3446
3447 IF l_result = OE_PC_GLOBALS.YES THEN
3448 -- set OUT result to CONSTRAINED
3449 x_result := OE_PC_GLOBALS.YES;
3450 END IF;
3451
3452 END IF;
3453
3454 IF p_line_rec.commitment_id = FND_API.G_MISS_NUM THEN NULL;
3455 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.commitment_id,p_old_line_rec.commitment_id) THEN
3456
3457 l_result := COMMITMENT_ID
3458 (p_operation => l_operation
3459 ,p_record => l_rowtype_rec
3460 ,x_on_operation_action => l_on_operation_action
3461 );
3462
3463 IF l_result = OE_PC_GLOBALS.YES THEN
3464 -- set OUT result to CONSTRAINED
3465 x_result := OE_PC_GLOBALS.YES;
3466 END IF;
3467
3468 END IF;
3469
3470 IF p_line_rec.arrival_set_id = FND_API.G_MISS_NUM THEN NULL;
3471 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.arrival_set_id,p_old_line_rec.arrival_set_id)
3472 OR NOT OE_GLOBALS.EQUAL(p_line_rec.arrival_set,p_old_line_rec.arrival_set) THEN
3473
3474 l_result := ARRIVAL_SET
3475 (p_operation => l_operation
3476 ,p_record => l_rowtype_rec
3477 ,x_on_operation_action => l_on_operation_action
3478 );
3479
3480 IF l_result = OE_PC_GLOBALS.YES THEN
3481 -- set OUT result to CONSTRAINED
3482 x_result := OE_PC_GLOBALS.YES;
3483 END IF;
3484
3485 END IF;
3486
3487 IF p_line_rec.authorized_to_ship_flag = FND_API.G_MISS_CHAR THEN NULL;
3488 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.authorized_to_ship_flag,p_old_line_rec.authorized_to_ship_flag) THEN
3489
3490 l_result := AUTHORIZED_TO_SHIP
3491 (p_operation => l_operation
3492 ,p_record => l_rowtype_rec
3493 ,x_on_operation_action => l_on_operation_action
3494 );
3495
3496 IF l_result = OE_PC_GLOBALS.YES THEN
3497 -- set OUT result to CONSTRAINED
3498 x_result := OE_PC_GLOBALS.YES;
3499 END IF;
3500
3501 END IF;
3502
3503 IF p_line_rec.credit_invoice_line_id = FND_API.G_MISS_NUM THEN NULL;
3504 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.credit_invoice_line_id,p_old_line_rec.credit_invoice_line_id) THEN
3505
3506 l_result := CREDIT_INVOICE_LINE
3507 (p_operation => l_operation
3508 ,p_record => l_rowtype_rec
3509 ,x_on_operation_action => l_on_operation_action
3510 );
3511
3512 IF l_result = OE_PC_GLOBALS.YES THEN
3513 -- set OUT result to CONSTRAINED
3514 x_result := OE_PC_GLOBALS.YES;
3515 END IF;
3516
3517 END IF;
3518
3519 IF p_line_rec.customer_line_number = FND_API.G_MISS_CHAR THEN NULL;
3520 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.customer_line_number,p_old_line_rec.customer_line_number) THEN
3521
3522 l_result := CUSTOMER_LINE_NUMBER
3523 (p_operation => l_operation
3524 ,p_record => l_rowtype_rec
3525 ,x_on_operation_action => l_on_operation_action
3526 );
3527
3528 IF l_result = OE_PC_GLOBALS.YES THEN
3529 -- set OUT result to CONSTRAINED
3530 x_result := OE_PC_GLOBALS.YES;
3531 END IF;
3532
3533 END IF;
3534
3535 IF p_line_rec.customer_trx_line_id = FND_API.G_MISS_NUM THEN NULL;
3536 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.customer_trx_line_id,p_old_line_rec.customer_trx_line_id) THEN
3537
3538 l_result := CUSTOMER_TRX_LINE
3539 (p_operation => l_operation
3540 ,p_record => l_rowtype_rec
3541 ,x_on_operation_action => l_on_operation_action
3542 );
3543
3544 IF l_result = OE_PC_GLOBALS.YES THEN
3545 -- set OUT result to CONSTRAINED
3546 x_result := OE_PC_GLOBALS.YES;
3547 END IF;
3548
3549 END IF;
3550
3551 IF p_line_rec.cust_po_number = FND_API.G_MISS_CHAR THEN NULL;
3552 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.cust_po_number,p_old_line_rec.cust_po_number) THEN
3553
3554 l_result := CUST_PO_NUMBER
3555 (p_operation => l_operation
3556 ,p_record => l_rowtype_rec
3557 ,x_on_operation_action => l_on_operation_action
3558 );
3559
3560 IF l_result = OE_PC_GLOBALS.YES THEN
3561 -- set OUT result to CONSTRAINED
3562 x_result := OE_PC_GLOBALS.YES;
3563 END IF;
3564
3565 END IF;
3566
3567 IF p_line_rec.delivery_lead_time = FND_API.G_MISS_NUM THEN NULL;
3568 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.delivery_lead_time,p_old_line_rec.delivery_lead_time) THEN
3569
3570 l_result := DELIVERY_LEAD_TIME
3571 (p_operation => l_operation
3572 ,p_record => l_rowtype_rec
3573 ,x_on_operation_action => l_on_operation_action
3574 );
3575
3576 IF l_result = OE_PC_GLOBALS.YES THEN
3577 -- set OUT result to CONSTRAINED
3578 x_result := OE_PC_GLOBALS.YES;
3579 END IF;
3580
3581 END IF;
3582
3583 IF p_line_rec.deliver_to_contact_id = FND_API.G_MISS_NUM THEN NULL;
3584 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.deliver_to_contact_id,p_old_line_rec.deliver_to_contact_id) THEN
3585
3586 l_result := DELIVER_TO_CONTACT
3587 (p_operation => l_operation
3588 ,p_record => l_rowtype_rec
3589 ,x_on_operation_action => l_on_operation_action
3590 );
3591
3592 IF l_result = OE_PC_GLOBALS.YES THEN
3593 -- set OUT result to CONSTRAINED
3594 x_result := OE_PC_GLOBALS.YES;
3595 END IF;
3596
3597 END IF;
3598
3599 IF p_line_rec.deliver_to_org_id = FND_API.G_MISS_NUM THEN NULL;
3600 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.deliver_to_org_id,p_old_line_rec.deliver_to_org_id) THEN
3601
3602 l_result := DELIVER_TO_ORG
3603 (p_operation => l_operation
3604 ,p_record => l_rowtype_rec
3605 ,x_on_operation_action => l_on_operation_action
3606 );
3607
3608 IF l_result = OE_PC_GLOBALS.YES THEN
3609 -- set OUT result to CONSTRAINED
3610 x_result := OE_PC_GLOBALS.YES;
3611 END IF;
3612
3613 END IF;
3614
3615 IF p_line_rec.demand_class_code = FND_API.G_MISS_CHAR THEN NULL;
3616 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.demand_class_code,p_old_line_rec.demand_class_code) THEN
3617
3618 l_result := DEMAND_CLASS
3619 (p_operation => l_operation
3620 ,p_record => l_rowtype_rec
3621 ,x_on_operation_action => l_on_operation_action
3622 );
3623
3624 IF l_result = OE_PC_GLOBALS.YES THEN
3625 -- set OUT result to CONSTRAINED
3626 x_result := OE_PC_GLOBALS.YES;
3627 END IF;
3628
3629 END IF;
3630
3631 IF p_line_rec.dep_plan_required_flag = FND_API.G_MISS_CHAR THEN NULL;
3632 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.dep_plan_required_flag,p_old_line_rec.dep_plan_required_flag) THEN
3633
3634 l_result := DEP_PLAN_REQUIRED
3635 (p_operation => l_operation
3636 ,p_record => l_rowtype_rec
3637 ,x_on_operation_action => l_on_operation_action
3638 );
3639
3640 IF l_result = OE_PC_GLOBALS.YES THEN
3641 -- set OUT result to CONSTRAINED
3642 x_result := OE_PC_GLOBALS.YES;
3643 END IF;
3644
3645 END IF;
3646
3647 IF p_line_rec.earliest_acceptable_date = FND_API.G_MISS_DATE THEN NULL;
3648 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.earliest_acceptable_date,p_old_line_rec.earliest_acceptable_date) THEN
3649
3650 l_result := EARLIEST_ACCEPTABLE_DATE
3651 (p_operation => l_operation
3652 ,p_record => l_rowtype_rec
3653 ,x_on_operation_action => l_on_operation_action
3654 );
3655
3656 IF l_result = OE_PC_GLOBALS.YES THEN
3657 -- set OUT result to CONSTRAINED
3658 x_result := OE_PC_GLOBALS.YES;
3659 END IF;
3660
3661 END IF;
3662
3663 IF p_line_rec.end_item_unit_number = FND_API.G_MISS_CHAR THEN NULL;
3664 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.end_item_unit_number,p_old_line_rec.end_item_unit_number) THEN
3665
3666 l_result := END_ITEM_UNIT_NUMBER
3667 (p_operation => l_operation
3668 ,p_record => l_rowtype_rec
3669 ,x_on_operation_action => l_on_operation_action
3670 );
3671
3672 IF l_result = OE_PC_GLOBALS.YES THEN
3673 -- set OUT result to CONSTRAINED
3674 x_result := OE_PC_GLOBALS.YES;
3675 END IF;
3676
3677 END IF;
3678
3679 IF p_line_rec.fob_point_code = FND_API.G_MISS_CHAR THEN NULL;
3680 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.fob_point_code,p_old_line_rec.fob_point_code) THEN
3681
3682 l_result := FOB_POINT
3683 (p_operation => l_operation
3684 ,p_record => l_rowtype_rec
3685 ,x_on_operation_action => l_on_operation_action
3686 );
3687
3688 IF l_result = OE_PC_GLOBALS.YES THEN
3689 -- set OUT result to CONSTRAINED
3690 x_result := OE_PC_GLOBALS.YES;
3691 END IF;
3692
3693 END IF;
3694
3695 IF p_line_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN NULL;
3696 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.freight_terms_code,p_old_line_rec.freight_terms_code) THEN
3697
3698 l_result := FREIGHT_TERMS
3699 (p_operation => l_operation
3700 ,p_record => l_rowtype_rec
3701 ,x_on_operation_action => l_on_operation_action
3702 );
3703
3704 IF l_result = OE_PC_GLOBALS.YES THEN
3705 -- set OUT result to CONSTRAINED
3706 x_result := OE_PC_GLOBALS.YES;
3707 END IF;
3708
3709 END IF;
3710
3711 IF p_line_rec.fulfilled_quantity = FND_API.G_MISS_NUM THEN NULL;
3712 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.fulfilled_quantity,p_old_line_rec.fulfilled_quantity) THEN
3713
3714 l_result := FULFILLED_QUANTITY
3715 (p_operation => l_operation
3716 ,p_record => l_rowtype_rec
3717 ,x_on_operation_action => l_on_operation_action
3718 );
3719
3720 IF l_result = OE_PC_GLOBALS.YES THEN
3721 -- set OUT result to CONSTRAINED
3722 x_result := OE_PC_GLOBALS.YES;
3723 END IF;
3724
3725 END IF;
3726
3727 -- INVCONV
3728 IF p_line_rec.fulfilled_quantity2 = FND_API.G_MISS_NUM THEN NULL;
3729 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.fulfilled_quantity2,p_old_line_rec.fulfilled_quantity2) THEN
3730
3731 l_result := FULFILLED_QUANTITY2
3732 (p_operation => l_operation
3733 ,p_record => l_rowtype_rec
3734 ,x_on_operation_action => l_on_operation_action
3735 );
3736
3737 IF l_result = OE_PC_GLOBALS.YES THEN
3738 -- set OUT result to CONSTRAINED
3739 x_result := OE_PC_GLOBALS.YES;
3740 END IF;
3741
3742 END IF;
3743
3744 IF p_line_rec.inventory_item_id = FND_API.G_MISS_NUM THEN NULL;
3745 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.inventory_item_id,p_old_line_rec.inventory_item_id) THEN
3746
3747 l_result := INVENTORY_ITEM
3748 (p_operation => l_operation
3749 ,p_record => l_rowtype_rec
3750 ,x_on_operation_action => l_on_operation_action
3751 );
3752
3753 IF l_result = OE_PC_GLOBALS.YES THEN
3754 -- set OUT result to CONSTRAINED
3755 x_result := OE_PC_GLOBALS.YES;
3756 END IF;
3757
3758 END IF;
3759
3760 IF p_line_rec.invoice_to_contact_id = FND_API.G_MISS_NUM THEN NULL;
3761 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.invoice_to_contact_id,p_old_line_rec.invoice_to_contact_id) THEN
3762
3763 l_result := INVOICE_TO_CONTACT
3764 (p_operation => l_operation
3765 ,p_record => l_rowtype_rec
3766 ,x_on_operation_action => l_on_operation_action
3767 );
3768
3769 IF l_result = OE_PC_GLOBALS.YES THEN
3770 -- set OUT result to CONSTRAINED
3771 x_result := OE_PC_GLOBALS.YES;
3772 END IF;
3773
3774 END IF;
3775
3776 IF p_line_rec.invoice_to_org_id = FND_API.G_MISS_NUM THEN NULL;
3777 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.invoice_to_org_id,p_old_line_rec.invoice_to_org_id) THEN
3778
3779 l_result := INVOICE_TO_ORG
3780 (p_operation => l_operation
3781 ,p_record => l_rowtype_rec
3782 ,x_on_operation_action => l_on_operation_action
3783 );
3784
3785 IF l_result = OE_PC_GLOBALS.YES THEN
3786 -- set OUT result to CONSTRAINED
3787 x_result := OE_PC_GLOBALS.YES;
3788 END IF;
3789
3790 END IF;
3791
3792 IF p_line_rec.invoicing_rule_id = FND_API.G_MISS_NUM THEN NULL;
3793 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.invoicing_rule_id,p_old_line_rec.invoicing_rule_id) THEN
3794
3795 l_result := INVOICING_RULE
3796 (p_operation => l_operation
3797 ,p_record => l_rowtype_rec
3798 ,x_on_operation_action => l_on_operation_action
3799 );
3800
3801 IF l_result = OE_PC_GLOBALS.YES THEN
3802 -- set OUT result to CONSTRAINED
3803 x_result := OE_PC_GLOBALS.YES;
3804 END IF;
3805
3806 END IF;
3807
3808 IF p_line_rec.item_identifier_type = FND_API.G_MISS_CHAR THEN NULL;
3809 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.item_identifier_type,p_old_line_rec.item_identifier_type) THEN
3810
3811 l_result := ITEM_IDENTIFIER_TYPE
3812 (p_operation => l_operation
3813 ,p_record => l_rowtype_rec
3814 ,x_on_operation_action => l_on_operation_action
3815 );
3816
3817 IF l_result = OE_PC_GLOBALS.YES THEN
3818 -- set OUT result to CONSTRAINED
3819 x_result := OE_PC_GLOBALS.YES;
3820 END IF;
3821
3822 END IF;
3823
3824 IF p_line_rec.item_revision = FND_API.G_MISS_CHAR THEN NULL;
3825 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.item_revision,p_old_line_rec.item_revision) THEN
3826
3827 l_result := ITEM_REVISION
3828 (p_operation => l_operation
3829 ,p_record => l_rowtype_rec
3830 ,x_on_operation_action => l_on_operation_action
3831 );
3832
3833 IF l_result = OE_PC_GLOBALS.YES THEN
3834 -- set OUT result to CONSTRAINED
3835 x_result := OE_PC_GLOBALS.YES;
3836 END IF;
3837
3838 END IF;
3839
3840 IF p_line_rec.item_type_code = FND_API.G_MISS_CHAR THEN NULL;
3841 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.item_type_code,p_old_line_rec.item_type_code) THEN
3842
3843 l_result := ITEM_TYPE
3844 (p_operation => l_operation
3845 ,p_record => l_rowtype_rec
3846 ,x_on_operation_action => l_on_operation_action
3847 );
3848
3849 IF l_result = OE_PC_GLOBALS.YES THEN
3850 -- set OUT result to CONSTRAINED
3851 x_result := OE_PC_GLOBALS.YES;
3852 END IF;
3853
3854 END IF;
3855
3856 IF p_line_rec.latest_acceptable_date = FND_API.G_MISS_DATE THEN NULL;
3857 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.latest_acceptable_date,p_old_line_rec.latest_acceptable_date) THEN
3858
3859 l_result := LATEST_ACCEPTABLE_DATE
3860 (p_operation => l_operation
3861 ,p_record => l_rowtype_rec
3862 ,x_on_operation_action => l_on_operation_action
3863 );
3864
3865 IF l_result = OE_PC_GLOBALS.YES THEN
3866 -- set OUT result to CONSTRAINED
3867 x_result := OE_PC_GLOBALS.YES;
3868 END IF;
3869
3870 END IF;
3871
3872 IF p_line_rec.line_category_code = FND_API.G_MISS_CHAR THEN NULL;
3873 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.line_category_code,p_old_line_rec.line_category_code) THEN
3874
3875 l_result := LINE_CATEGORY
3876 (p_operation => l_operation
3877 ,p_record => l_rowtype_rec
3878 ,x_on_operation_action => l_on_operation_action
3879 );
3880
3881 IF l_result = OE_PC_GLOBALS.YES THEN
3882 -- set OUT result to CONSTRAINED
3883 x_result := OE_PC_GLOBALS.YES;
3884 END IF;
3885
3886 END IF;
3887
3888 IF p_line_rec.line_number = FND_API.G_MISS_NUM THEN NULL;
3889 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.line_number,p_old_line_rec.line_number) THEN
3890
3891 l_result := LINE_NUMBER
3892 (p_operation => l_operation
3893 ,p_record => l_rowtype_rec
3894 ,x_on_operation_action => l_on_operation_action
3895 );
3896
3897 IF l_result = OE_PC_GLOBALS.YES THEN
3898 -- set OUT result to CONSTRAINED
3899 x_result := OE_PC_GLOBALS.YES;
3900 END IF;
3901
3902 END IF;
3903
3904 IF p_line_rec.line_type_id = FND_API.G_MISS_NUM THEN NULL;
3905 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.line_type_id,p_old_line_rec.line_type_id) THEN
3906
3907 l_result := LINE_TYPE
3908 (p_operation => l_operation
3909 ,p_record => l_rowtype_rec
3910 ,x_on_operation_action => l_on_operation_action
3911 );
3912
3913 IF l_result = OE_PC_GLOBALS.YES THEN
3914 -- set OUT result to CONSTRAINED
3915 x_result := OE_PC_GLOBALS.YES;
3916 END IF;
3917
3918 END IF;
3919
3920 IF p_line_rec.ordered_quantity = FND_API.G_MISS_NUM THEN NULL;
3921 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ordered_quantity,p_old_line_rec.ordered_quantity) THEN
3922
3923 l_result := ORDERED_QUANTITY
3924 (p_operation => l_operation
3925 ,p_record => l_rowtype_rec
3926 ,x_on_operation_action => l_on_operation_action
3927 );
3928
3929 IF l_result = OE_PC_GLOBALS.YES THEN
3930 -- set OUT result to CONSTRAINED
3931 x_result := OE_PC_GLOBALS.YES;
3932 END IF;
3933
3934 END IF;
3935
3936 -- OPM 1857167 start
3937 IF p_line_rec.ordered_quantity2 = FND_API.G_MISS_NUM THEN NULL;
3938 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ordered_quantity2,p_old_line_rec.ordered_quantity2) THEN
3939
3940 l_result := ORDERED_QUANTITY2
3941 (p_operation => l_operation
3942 ,p_record => l_rowtype_rec
3943 ,x_on_operation_action => l_on_operation_action
3944 );
3945
3946 IF l_result = OE_PC_GLOBALS.YES THEN
3947 -- set OUT result to CONSTRAINED
3948 x_result := OE_PC_GLOBALS.YES;
3949 END IF;
3950
3951 END IF;
3952 -- OPM 1857167 end
3953
3954
3955
3956 IF p_line_rec.order_quantity_uom = FND_API.G_MISS_CHAR THEN NULL;
3957 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.order_quantity_uom,p_old_line_rec.order_quantity_uom) THEN
3958
3959 l_result := ORDER_QUANTITY_UOM
3960 (p_operation => l_operation
3961 ,p_record => l_rowtype_rec
3962 ,x_on_operation_action => l_on_operation_action
3963 );
3964
3965 IF l_result = OE_PC_GLOBALS.YES THEN
3966 -- set OUT result to CONSTRAINED
3967 x_result := OE_PC_GLOBALS.YES;
3968 END IF;
3969
3970 END IF;
3971
3972 IF p_line_rec.over_ship_reason_code = FND_API.G_MISS_CHAR THEN NULL;
3973 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.over_ship_reason_code,p_old_line_rec.over_ship_reason_code) THEN
3974
3975 l_result := OVER_SHIP_REASON
3976 (p_operation => l_operation
3977 ,p_record => l_rowtype_rec
3978 ,x_on_operation_action => l_on_operation_action
3979 );
3980
3981 IF l_result = OE_PC_GLOBALS.YES THEN
3982 -- set OUT result to CONSTRAINED
3983 x_result := OE_PC_GLOBALS.YES;
3984 END IF;
3985
3986 END IF;
3987
3988 IF p_line_rec.over_ship_resolved_flag = FND_API.G_MISS_CHAR THEN NULL;
3989 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.over_ship_resolved_flag,p_old_line_rec.over_ship_resolved_flag) THEN
3990
3991 l_result := OVER_SHIP_RESOLVED
3992 (p_operation => l_operation
3993 ,p_record => l_rowtype_rec
3994 ,x_on_operation_action => l_on_operation_action
3995 );
3996
3997 IF l_result = OE_PC_GLOBALS.YES THEN
3998 -- set OUT result to CONSTRAINED
3999 x_result := OE_PC_GLOBALS.YES;
4000 END IF;
4001
4002 END IF;
4003
4004 IF p_line_rec.packing_instructions = FND_API.G_MISS_CHAR THEN NULL;
4005 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.packing_instructions,p_old_line_rec.packing_instructions) THEN
4006
4007 l_result := PACKING_INSTRUCTIONS
4008 (p_operation => l_operation
4009 ,p_record => l_rowtype_rec
4010 ,x_on_operation_action => l_on_operation_action
4011 );
4012
4013 IF l_result = OE_PC_GLOBALS.YES THEN
4014 -- set OUT result to CONSTRAINED
4015 x_result := OE_PC_GLOBALS.YES;
4016 END IF;
4017
4018 END IF;
4019
4020 IF p_line_rec.payment_term_id = FND_API.G_MISS_NUM THEN NULL;
4021 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.payment_term_id,p_old_line_rec.payment_term_id) THEN
4022
4023 l_result := PAYMENT_TERM
4024 (p_operation => l_operation
4025 ,p_record => l_rowtype_rec
4026 ,x_on_operation_action => l_on_operation_action
4027 );
4028
4029 IF l_result = OE_PC_GLOBALS.YES THEN
4030 -- set OUT result to CONSTRAINED
4031 x_result := OE_PC_GLOBALS.YES;
4032 END IF;
4033
4034 END IF;
4035
4036 IF p_line_rec.planning_priority = FND_API.G_MISS_NUM THEN NULL;
4037 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.planning_priority,p_old_line_rec.planning_priority) THEN
4038
4039 l_result := PLANNING_PRIORITY
4040 (p_operation => l_operation
4041 ,p_record => l_rowtype_rec
4042 ,x_on_operation_action => l_on_operation_action
4043 );
4044
4045 IF l_result = OE_PC_GLOBALS.YES THEN
4046 -- set OUT result to CONSTRAINED
4047 x_result := OE_PC_GLOBALS.YES;
4048 END IF;
4049
4050 END IF;
4051
4052 IF p_line_rec.price_list_id = FND_API.G_MISS_NUM THEN NULL;
4053 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.price_list_id,p_old_line_rec.price_list_id) THEN
4054
4055 l_result := PRICE_LIST
4056 (p_operation => l_operation
4057 ,p_record => l_rowtype_rec
4058 ,x_on_operation_action => l_on_operation_action
4059 );
4060
4061 IF l_result = OE_PC_GLOBALS.YES THEN
4062 -- set OUT result to CONSTRAINED
4063 x_result := OE_PC_GLOBALS.YES;
4064 END IF;
4065
4066 END IF;
4067
4068 IF p_line_rec.pricing_date = FND_API.G_MISS_DATE THEN NULL;
4069 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.pricing_date,p_old_line_rec.pricing_date) THEN
4070
4071 l_result := PRICING_DATE
4072 (p_operation => l_operation
4073 ,p_record => l_rowtype_rec
4074 ,x_on_operation_action => l_on_operation_action
4075 );
4076
4077 IF l_result = OE_PC_GLOBALS.YES THEN
4078 -- set OUT result to CONSTRAINED
4079 x_result := OE_PC_GLOBALS.YES;
4080 END IF;
4081
4082 END IF;
4083
4084 IF p_line_rec.pricing_quantity = FND_API.G_MISS_NUM THEN NULL;
4085 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.pricing_quantity,p_old_line_rec.pricing_quantity) THEN
4086
4087 l_result := PRICING_QUANTITY
4088 (p_operation => l_operation
4089 ,p_record => l_rowtype_rec
4090 ,x_on_operation_action => l_on_operation_action
4091 );
4092
4093 IF l_result = OE_PC_GLOBALS.YES THEN
4094 -- set OUT result to CONSTRAINED
4095 x_result := OE_PC_GLOBALS.YES;
4096 END IF;
4097
4098 END IF;
4099
4100 IF p_line_rec.pricing_quantity_uom = FND_API.G_MISS_CHAR THEN NULL;
4101 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.pricing_quantity_uom,p_old_line_rec.pricing_quantity_uom) THEN
4102
4103 l_result := PRICING_QUANTITY_UOM
4104 (p_operation => l_operation
4105 ,p_record => l_rowtype_rec
4106 ,x_on_operation_action => l_on_operation_action
4107 );
4108
4109 IF l_result = OE_PC_GLOBALS.YES THEN
4110 -- set OUT result to CONSTRAINED
4111 x_result := OE_PC_GLOBALS.YES;
4112 END IF;
4113
4114 END IF;
4115
4116 IF p_line_rec.project_id = FND_API.G_MISS_NUM THEN NULL;
4117 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.project_id,p_old_line_rec.project_id) THEN
4118
4119 l_result := PROJECT
4120 (p_operation => l_operation
4121 ,p_record => l_rowtype_rec
4122 ,x_on_operation_action => l_on_operation_action
4123 );
4124
4125 IF l_result = OE_PC_GLOBALS.YES THEN
4126 -- set OUT result to CONSTRAINED
4127 x_result := OE_PC_GLOBALS.YES;
4128 END IF;
4129
4130 END IF;
4131
4132 IF p_line_rec.promise_date = FND_API.G_MISS_DATE THEN NULL;
4133 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.promise_date,p_old_line_rec.promise_date) THEN
4134
4135 l_result := PROMISE_DATE
4136 (p_operation => l_operation
4137 ,p_record => l_rowtype_rec
4138 ,x_on_operation_action => l_on_operation_action
4139 );
4140
4141 IF l_result = OE_PC_GLOBALS.YES THEN
4142 -- set OUT result to CONSTRAINED
4143 x_result := OE_PC_GLOBALS.YES;
4144 END IF;
4145
4146 END IF;
4147
4148 IF p_line_rec.request_date = FND_API.G_MISS_DATE THEN NULL;
4149 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.request_date,p_old_line_rec.request_date) THEN
4150
4151 l_result := REQUEST_DATE
4152 (p_operation => l_operation
4153 ,p_record => l_rowtype_rec
4154 ,x_on_operation_action => l_on_operation_action
4155 );
4156
4157 IF l_result = OE_PC_GLOBALS.YES THEN
4158 -- set OUT result to CONSTRAINED
4159 x_result := OE_PC_GLOBALS.YES;
4160 END IF;
4161
4162 END IF;
4163
4164 IF p_line_rec.return_reason_code = FND_API.G_MISS_CHAR THEN NULL;
4165 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.return_reason_code,p_old_line_rec.return_reason_code) THEN
4166
4167 l_result := RETURN_REASON
4168 (p_operation => l_operation
4169 ,p_record => l_rowtype_rec
4170 ,x_on_operation_action => l_on_operation_action
4171 );
4172
4173 IF l_result = OE_PC_GLOBALS.YES THEN
4174 -- set OUT result to CONSTRAINED
4175 x_result := OE_PC_GLOBALS.YES;
4176 END IF;
4177
4178 END IF;
4179
4180 IF p_line_rec.salesrep_id = FND_API.G_MISS_NUM THEN NULL;
4181 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.salesrep_id,p_old_line_rec.salesrep_id) THEN
4182
4183 l_result := SALESREP
4184 (p_operation => l_operation
4185 ,p_record => l_rowtype_rec
4186 ,x_on_operation_action => l_on_operation_action
4187 );
4188
4189 IF l_result = OE_PC_GLOBALS.YES THEN
4190 -- set OUT result to CONSTRAINED
4191 x_result := OE_PC_GLOBALS.YES;
4192 END IF;
4193
4194 END IF;
4195
4196 IF p_line_rec.schedule_arrival_date = FND_API.G_MISS_DATE THEN NULL;
4197 ELSIF NOT OE_GLOBALS.EQUAL(trunc(p_line_rec.schedule_arrival_date),trunc(p_old_line_rec.schedule_arrival_date)) THEN
4198
4199 l_result := SCHEDULE_ARRIVAL_DATE
4200 (p_operation => l_operation
4201 ,p_record => l_rowtype_rec
4202 ,x_on_operation_action => l_on_operation_action
4203 );
4204
4205 IF l_result = OE_PC_GLOBALS.YES THEN
4206 -- set OUT result to CONSTRAINED
4207 x_result := OE_PC_GLOBALS.YES;
4208 END IF;
4209
4210 END IF;
4211
4212 IF p_line_rec.schedule_ship_date = FND_API.G_MISS_DATE THEN NULL;
4213 ELSIF NOT OE_GLOBALS.EQUAL(trunc(p_line_rec.schedule_ship_date),trunc(p_old_line_rec.schedule_ship_date)) THEN
4214
4215 l_result := SCHEDULE_SHIP_DATE
4216 (p_operation => l_operation
4217 ,p_record => l_rowtype_rec
4218 ,x_on_operation_action => l_on_operation_action
4219 );
4220
4221 IF l_result = OE_PC_GLOBALS.YES THEN
4222 -- set OUT result to CONSTRAINED
4223 x_result := OE_PC_GLOBALS.YES;
4224 END IF;
4225
4226 END IF;
4227
4228 IF p_line_rec.service_reference_line_id = FND_API.G_MISS_NUM THEN NULL;
4229 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.service_reference_line_id,p_old_line_rec.service_reference_line_id) THEN
4230
4231 l_result := SERVICE_REFERENCE_LINE
4232 (p_operation => l_operation
4233 ,p_record => l_rowtype_rec
4234 ,x_on_operation_action => l_on_operation_action
4235 );
4236
4237 IF l_result = OE_PC_GLOBALS.YES THEN
4238 -- set OUT result to CONSTRAINED
4239 x_result := OE_PC_GLOBALS.YES;
4240 END IF;
4241
4242 END IF;
4243
4244 IF p_line_rec.service_reference_system_id = FND_API.G_MISS_NUM THEN NULL;
4245 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.service_reference_system_id,p_old_line_rec.service_reference_system_id) THEN
4246
4247 l_result := SERVICE_REFERENCE_SYSTEM
4248 (p_operation => l_operation
4249 ,p_record => l_rowtype_rec
4250 ,x_on_operation_action => l_on_operation_action
4251 );
4252
4253 IF l_result = OE_PC_GLOBALS.YES THEN
4254 -- set OUT result to CONSTRAINED
4255 x_result := OE_PC_GLOBALS.YES;
4256 END IF;
4257
4258 END IF;
4259
4260 IF p_line_rec.service_reference_type_code = FND_API.G_MISS_CHAR THEN NULL;
4261 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.service_reference_type_code,p_old_line_rec.service_reference_type_code) THEN
4262
4263 l_result := SERVICE_REFERENCE_TYPE
4264 (p_operation => l_operation
4265 ,p_record => l_rowtype_rec
4266 ,x_on_operation_action => l_on_operation_action
4267 );
4268
4269 IF l_result = OE_PC_GLOBALS.YES THEN
4270 -- set OUT result to CONSTRAINED
4271 x_result := OE_PC_GLOBALS.YES;
4272 END IF;
4273
4274 END IF;
4275
4276 /* Fix to bug 2205900: Added constraints functions for
4277 some missing SERVICE fields */
4278
4279 IF p_line_rec.service_coterminate_flag = FND_API.G_MISS_CHAR THEN NULL;
4280 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.service_coterminate_flag,p_old_line_rec.service_coterminate_flag) THEN
4281
4282 l_result := SERVICE_COTERMINATE
4283 (p_operation => l_operation
4284 ,p_record => l_rowtype_rec
4285 ,x_on_operation_action => l_on_operation_action
4286 );
4287
4288 IF l_result = OE_PC_GLOBALS.YES THEN
4289 -- set OUT result to CONSTRAINED
4290 x_result := OE_PC_GLOBALS.YES;
4291 END IF;
4292
4293 END IF;
4294
4295 IF p_line_rec.service_duration = FND_API.G_MISS_NUM THEN NULL;
4296 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.service_duration,p_old_line_rec.service_duration) THEN
4297
4298 l_result := SERVICE_DURATION
4299 (p_operation => l_operation
4300 ,p_record => l_rowtype_rec
4301 ,x_on_operation_action => l_on_operation_action
4302 );
4303
4304 IF l_result = OE_PC_GLOBALS.YES THEN
4305 -- set OUT result to CONSTRAINED
4306 x_result := OE_PC_GLOBALS.YES;
4307 END IF;
4308
4309 END IF;
4310
4311 IF p_line_rec.service_end_date = FND_API.G_MISS_DATE THEN NULL;
4312 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.service_end_date,p_old_line_rec.service_end_date) THEN
4313
4314 l_result := SERVICE_END_DATE
4315 (p_operation => l_operation
4316 ,p_record => l_rowtype_rec
4317 ,x_on_operation_action => l_on_operation_action
4318 );
4319
4320 IF l_result = OE_PC_GLOBALS.YES THEN
4321 -- set OUT result to CONSTRAINED
4322 x_result := OE_PC_GLOBALS.YES;
4323 END IF;
4324
4325 END IF;
4326
4327 IF p_line_rec.service_period = FND_API.G_MISS_CHAR THEN NULL;
4328 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.service_period,p_old_line_rec.service_period) THEN
4329
4330 l_result := SERVICE_PERIOD
4331 (p_operation => l_operation
4332 ,p_record => l_rowtype_rec
4333 ,x_on_operation_action => l_on_operation_action
4334 );
4335
4336 IF l_result = OE_PC_GLOBALS.YES THEN
4337 -- set OUT result to CONSTRAINED
4338 x_result := OE_PC_GLOBALS.YES;
4339 END IF;
4340
4341 END IF;
4342
4343 IF p_line_rec.service_start_date = FND_API.G_MISS_DATE THEN NULL;
4344 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.service_start_date,p_old_line_rec.service_start_date) THEN
4345
4346 l_result := SERVICE_START_DATE
4347 (p_operation => l_operation
4348 ,p_record => l_rowtype_rec
4349 ,x_on_operation_action => l_on_operation_action
4350 );
4351
4352 IF l_result = OE_PC_GLOBALS.YES THEN
4353 -- set OUT result to CONSTRAINED
4354 x_result := OE_PC_GLOBALS.YES;
4355 END IF;
4356
4357 END IF;
4358
4359 IF p_line_rec.service_txn_comments = FND_API.G_MISS_CHAR THEN NULL;
4360 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.service_txn_comments,p_old_line_rec.service_txn_comments) THEN
4361
4362 l_result := SERVICE_TXN_COMMENTS
4363 (p_operation => l_operation
4364 ,p_record => l_rowtype_rec
4365 ,x_on_operation_action => l_on_operation_action
4366 );
4367
4368 IF l_result = OE_PC_GLOBALS.YES THEN
4369 -- set OUT result to CONSTRAINED
4370 x_result := OE_PC_GLOBALS.YES;
4371 END IF;
4372
4373 END IF;
4374
4375 IF p_line_rec.service_txn_reason_code = FND_API.G_MISS_CHAR THEN NULL;
4376 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.service_txn_reason_code,p_old_line_rec.service_txn_reason_code) THEN
4377
4378 l_result := SERVICE_TXN_REASON
4379 (p_operation => l_operation
4380 ,p_record => l_rowtype_rec
4381 ,x_on_operation_action => l_on_operation_action
4382 );
4383
4384 IF l_result = OE_PC_GLOBALS.YES THEN
4385 -- set OUT result to CONSTRAINED
4386 x_result := OE_PC_GLOBALS.YES;
4387 END IF;
4388
4389 END IF;
4390
4391 IF p_line_rec.shipment_number = FND_API.G_MISS_NUM THEN NULL;
4392 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.shipment_number,p_old_line_rec.shipment_number) THEN
4393
4394 l_result := SHIPMENT_NUMBER
4395 (p_operation => l_operation
4396 ,p_record => l_rowtype_rec
4397 ,x_on_operation_action => l_on_operation_action
4398 );
4399
4400 IF l_result = OE_PC_GLOBALS.YES THEN
4401 -- set OUT result to CONSTRAINED
4402 x_result := OE_PC_GLOBALS.YES;
4403 END IF;
4404
4405 END IF;
4406
4407 IF p_line_rec.shipment_priority_code = FND_API.G_MISS_CHAR THEN NULL;
4408 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.shipment_priority_code,p_old_line_rec.shipment_priority_code) THEN
4409
4410 l_result := SHIPMENT_PRIORITY
4411 (p_operation => l_operation
4412 ,p_record => l_rowtype_rec
4413 ,x_on_operation_action => l_on_operation_action
4414 );
4415
4416 IF l_result = OE_PC_GLOBALS.YES THEN
4417 -- set OUT result to CONSTRAINED
4418 x_result := OE_PC_GLOBALS.YES;
4419 END IF;
4420
4421 END IF;
4422
4423 IF p_line_rec.shipped_quantity = FND_API.G_MISS_NUM THEN NULL;
4424 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.shipped_quantity,p_old_line_rec.shipped_quantity) THEN
4425
4426 l_result := SHIPPED_QUANTITY
4427 (p_operation => l_operation
4428 ,p_record => l_rowtype_rec
4429 ,x_on_operation_action => l_on_operation_action
4430 );
4431
4432 IF l_result = OE_PC_GLOBALS.YES THEN
4433 -- set OUT result to CONSTRAINED
4434 x_result := OE_PC_GLOBALS.YES;
4435 END IF;
4436
4437 END IF;
4438
4439 -- INVCONV
4440 IF p_line_rec.shipped_quantity2 = FND_API.G_MISS_NUM THEN NULL;
4441 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.shipped_quantity2,p_old_line_rec.shipped_quantity2) THEN
4442
4443 l_result := SHIPPED_QUANTITY2
4444 (p_operation => l_operation
4445 ,p_record => l_rowtype_rec
4446 ,x_on_operation_action => l_on_operation_action
4447 );
4448
4449 IF l_result = OE_PC_GLOBALS.YES THEN
4450 -- set OUT result to CONSTRAINED
4451 x_result := OE_PC_GLOBALS.YES;
4452 END IF;
4453
4454 END IF;
4455
4456
4457 IF p_line_rec.shipping_instructions = FND_API.G_MISS_CHAR THEN NULL;
4458 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.shipping_instructions,p_old_line_rec.shipping_instructions) THEN
4459
4460 l_result := SHIPPING_INSTRUCTIONS
4461 (p_operation => l_operation
4462 ,p_record => l_rowtype_rec
4463 ,x_on_operation_action => l_on_operation_action
4464 );
4465
4466 IF l_result = OE_PC_GLOBALS.YES THEN
4467 -- set OUT result to CONSTRAINED
4468 x_result := OE_PC_GLOBALS.YES;
4469 END IF;
4470
4471 END IF;
4472
4473 IF p_line_rec.shipping_method_code = FND_API.G_MISS_CHAR THEN NULL;
4474 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.shipping_method_code,p_old_line_rec.shipping_method_code) THEN
4475
4476 l_result := SHIPPING_METHOD
4477 (p_operation => l_operation
4478 ,p_record => l_rowtype_rec
4479 ,x_on_operation_action => l_on_operation_action
4480 );
4481
4482 IF l_result = OE_PC_GLOBALS.YES THEN
4483 -- set OUT result to CONSTRAINED
4484 x_result := OE_PC_GLOBALS.YES;
4485 END IF;
4486
4487 END IF;
4488
4489 IF p_line_rec.shipping_quantity = FND_API.G_MISS_NUM THEN NULL;
4490 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.shipping_quantity,p_old_line_rec.shipping_quantity) THEN
4491
4492 l_result := SHIPPING_QUANTITY
4493 (p_operation => l_operation
4494 ,p_record => l_rowtype_rec
4495 ,x_on_operation_action => l_on_operation_action
4496 );
4497
4498 IF l_result = OE_PC_GLOBALS.YES THEN
4499 -- set OUT result to CONSTRAINED
4500 x_result := OE_PC_GLOBALS.YES;
4501 END IF;
4502
4503 END IF;
4504
4505 -- INVCONV
4506 IF p_line_rec.shipping_quantity2 = FND_API.G_MISS_NUM THEN NULL;
4507 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.shipping_quantity2,p_old_line_rec.shipping_quantity2) THEN
4508
4509 l_result := SHIPPING_QUANTITY2
4510 (p_operation => l_operation
4511 ,p_record => l_rowtype_rec
4512 ,x_on_operation_action => l_on_operation_action
4513 );
4514
4515 IF l_result = OE_PC_GLOBALS.YES THEN
4516 -- set OUT result to CONSTRAINED
4517 x_result := OE_PC_GLOBALS.YES;
4518 END IF;
4519
4520 END IF;
4521
4522
4523
4524 IF p_line_rec.shipping_quantity_uom = FND_API.G_MISS_CHAR THEN NULL;
4525 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.shipping_quantity_uom,p_old_line_rec.shipping_quantity_uom) THEN
4526
4527 l_result := SHIPPING_QUANTITY_UOM
4528 (p_operation => l_operation
4529 ,p_record => l_rowtype_rec
4530 ,x_on_operation_action => l_on_operation_action
4531 );
4532
4533 IF l_result = OE_PC_GLOBALS.YES THEN
4534 -- set OUT result to CONSTRAINED
4535 x_result := OE_PC_GLOBALS.YES;
4536 END IF;
4537
4538 END IF;
4539
4540 -- INVCONV
4541 IF p_line_rec.shipping_quantity_uom2 = FND_API.G_MISS_CHAR THEN NULL;
4542 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.shipping_quantity_uom2,p_old_line_rec.shipping_quantity_uom2) THEN
4543
4544 l_result := SHIPPING_QUANTITY_UOM2
4545 (p_operation => l_operation
4546 ,p_record => l_rowtype_rec
4547 ,x_on_operation_action => l_on_operation_action
4548 );
4549
4550 IF l_result = OE_PC_GLOBALS.YES THEN
4551 -- set OUT result to CONSTRAINED
4552 x_result := OE_PC_GLOBALS.YES;
4553 END IF;
4554
4555 END IF;
4556
4557
4558 IF p_line_rec.ship_from_org_id = FND_API.G_MISS_NUM THEN NULL;
4559 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ship_from_org_id,p_old_line_rec.ship_from_org_id) THEN
4560
4561 l_result := SHIP_FROM_ORG
4562 (p_operation => l_operation
4563 ,p_record => l_rowtype_rec
4564 ,x_on_operation_action => l_on_operation_action
4565 );
4566
4567 IF l_result = OE_PC_GLOBALS.YES THEN
4568 -- set OUT result to CONSTRAINED
4569 x_result := OE_PC_GLOBALS.YES;
4570 END IF;
4571
4572 END IF;
4573
4574 IF p_line_rec.ship_model_complete_flag = FND_API.G_MISS_CHAR THEN NULL;
4575 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ship_model_complete_flag,p_old_line_rec.ship_model_complete_flag) THEN
4576
4577 l_result := SHIP_MODEL_COMPLETE
4578 (p_operation => l_operation
4579 ,p_record => l_rowtype_rec
4580 ,x_on_operation_action => l_on_operation_action
4581 );
4582
4583 IF l_result = OE_PC_GLOBALS.YES THEN
4584 -- set OUT result to CONSTRAINED
4585 x_result := OE_PC_GLOBALS.YES;
4586 END IF;
4587
4588 END IF;
4589
4590 IF p_line_rec.ship_set_id = FND_API.G_MISS_NUM THEN NULL;
4591 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ship_set_id,p_old_line_rec.ship_set_id)
4592 OR NOT OE_GLOBALS.EQUAL(p_line_rec.ship_set,p_old_line_rec.ship_set) THEN
4593
4594 l_result := SHIP_SET
4595 (p_operation => l_operation
4596 ,p_record => l_rowtype_rec
4597 ,x_on_operation_action => l_on_operation_action
4598 );
4599
4600 IF l_result = OE_PC_GLOBALS.YES THEN
4601 -- set OUT result to CONSTRAINED
4602 x_result := OE_PC_GLOBALS.YES;
4603 END IF;
4604
4605 END IF;
4606
4607 IF p_line_rec.ship_tolerance_above = FND_API.G_MISS_NUM THEN NULL;
4608 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ship_tolerance_above,p_old_line_rec.ship_tolerance_above) THEN
4609
4610 l_result := SHIP_TOLERANCE_ABOVE
4611 (p_operation => l_operation
4612 ,p_record => l_rowtype_rec
4613 ,x_on_operation_action => l_on_operation_action
4614 );
4615
4616 IF l_result = OE_PC_GLOBALS.YES THEN
4617 -- set OUT result to CONSTRAINED
4618 x_result := OE_PC_GLOBALS.YES;
4619 END IF;
4620
4621 END IF;
4622
4623 IF p_line_rec.ship_tolerance_below = FND_API.G_MISS_NUM THEN NULL;
4624 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ship_tolerance_below,p_old_line_rec.ship_tolerance_below) THEN
4625
4626 l_result := SHIP_TOLERANCE_BELOW
4627 (p_operation => l_operation
4628 ,p_record => l_rowtype_rec
4629 ,x_on_operation_action => l_on_operation_action
4630 );
4631
4632 IF l_result = OE_PC_GLOBALS.YES THEN
4633 -- set OUT result to CONSTRAINED
4634 x_result := OE_PC_GLOBALS.YES;
4635 END IF;
4636
4637 END IF;
4638
4639 IF p_line_rec.ship_to_contact_id = FND_API.G_MISS_NUM THEN NULL;
4640 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ship_to_contact_id,p_old_line_rec.ship_to_contact_id) THEN
4641
4642 l_result := SHIP_TO_CONTACT
4643 (p_operation => l_operation
4644 ,p_record => l_rowtype_rec
4645 ,x_on_operation_action => l_on_operation_action
4646 );
4647
4648 IF l_result = OE_PC_GLOBALS.YES THEN
4649 -- set OUT result to CONSTRAINED
4650 x_result := OE_PC_GLOBALS.YES;
4651 END IF;
4652
4653 END IF;
4654
4655 IF p_line_rec.ship_to_org_id = FND_API.G_MISS_NUM THEN NULL;
4656 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.ship_to_org_id,p_old_line_rec.ship_to_org_id) THEN
4657
4658 l_result := SHIP_TO_ORG
4659 (p_operation => l_operation
4660 ,p_record => l_rowtype_rec
4661 ,x_on_operation_action => l_on_operation_action
4662 );
4663
4664 IF l_result = OE_PC_GLOBALS.YES THEN
4665 -- set OUT result to CONSTRAINED
4666 x_result := OE_PC_GLOBALS.YES;
4667 END IF;
4668
4669 END IF;
4670
4671 IF p_line_rec.sold_to_org_id = FND_API.G_MISS_NUM THEN NULL;
4672 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.sold_to_org_id,p_old_line_rec.sold_to_org_id) THEN
4673
4674 l_result := SOLD_TO_ORG
4675 (p_operation => l_operation
4676 ,p_record => l_rowtype_rec
4677 ,x_on_operation_action => l_on_operation_action
4678 );
4679
4680 IF l_result = OE_PC_GLOBALS.YES THEN
4681 -- set OUT result to CONSTRAINED
4682 x_result := OE_PC_GLOBALS.YES;
4683 END IF;
4684
4685 END IF;
4686
4687 IF p_line_rec.source_type_code = FND_API.G_MISS_CHAR THEN NULL;
4688 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.source_type_code,p_old_line_rec.source_type_code) THEN
4689
4690 l_result := SOURCE_TYPE
4691 (p_operation => l_operation
4692 ,p_record => l_rowtype_rec
4693 ,x_on_operation_action => l_on_operation_action
4694 );
4695
4696 IF l_result = OE_PC_GLOBALS.YES THEN
4697 -- set OUT result to CONSTRAINED
4698 x_result := OE_PC_GLOBALS.YES;
4699 END IF;
4700
4701 END IF;
4702
4703 IF p_line_rec.subinventory = FND_API.G_MISS_CHAR THEN NULL;
4704 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.subinventory,p_old_line_rec.subinventory) THEN
4705
4706 l_result := SUBINVENTORY
4707 (p_operation => l_operation
4708 ,p_record => l_rowtype_rec
4709 ,x_on_operation_action => l_on_operation_action
4710 );
4711
4712 IF l_result = OE_PC_GLOBALS.YES THEN
4713 -- set OUT result to CONSTRAINED
4714 x_result := OE_PC_GLOBALS.YES;
4715 END IF;
4716
4717 END IF;
4718
4719 IF p_line_rec.task_id = FND_API.G_MISS_NUM THEN NULL;
4720 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.task_id,p_old_line_rec.task_id) THEN
4721
4722 l_result := TASK
4723 (p_operation => l_operation
4724 ,p_record => l_rowtype_rec
4725 ,x_on_operation_action => l_on_operation_action
4726 );
4727
4728 IF l_result = OE_PC_GLOBALS.YES THEN
4729 -- set OUT result to CONSTRAINED
4730 x_result := OE_PC_GLOBALS.YES;
4731 END IF;
4732
4733 END IF;
4734
4735 IF p_line_rec.tax_code = FND_API.G_MISS_CHAR THEN NULL;
4736 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.tax_code,p_old_line_rec.tax_code) THEN
4737
4738 l_result := TAX
4739 (p_operation => l_operation
4740 ,p_record => l_rowtype_rec
4741 ,x_on_operation_action => l_on_operation_action
4742 );
4743
4744 IF l_result = OE_PC_GLOBALS.YES THEN
4745 -- set OUT result to CONSTRAINED
4746 x_result := OE_PC_GLOBALS.YES;
4747 END IF;
4748
4749 END IF;
4750
4751 IF p_line_rec.tax_date = FND_API.G_MISS_DATE THEN NULL;
4752 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.tax_date,p_old_line_rec.tax_date) THEN
4753
4754 l_result := TAX_DATE
4755 (p_operation => l_operation
4756 ,p_record => l_rowtype_rec
4757 ,x_on_operation_action => l_on_operation_action
4758 );
4759
4760 IF l_result = OE_PC_GLOBALS.YES THEN
4761 -- set OUT result to CONSTRAINED
4762 x_result := OE_PC_GLOBALS.YES;
4763 END IF;
4764
4765 END IF;
4766
4767 IF p_line_rec.tax_exempt_flag = FND_API.G_MISS_CHAR THEN NULL;
4768 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.tax_exempt_flag,p_old_line_rec.tax_exempt_flag) THEN
4769
4770 l_result := TAX_EXEMPT
4771 (p_operation => l_operation
4772 ,p_record => l_rowtype_rec
4773 ,x_on_operation_action => l_on_operation_action
4774 );
4775
4776 IF l_result = OE_PC_GLOBALS.YES THEN
4777 -- set OUT result to CONSTRAINED
4778 x_result := OE_PC_GLOBALS.YES;
4779 END IF;
4780
4781 END IF;
4782
4783 IF p_line_rec.tax_exempt_number = FND_API.G_MISS_CHAR THEN NULL;
4784 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.tax_exempt_number,p_old_line_rec.tax_exempt_number) THEN
4785
4786 l_result := TAX_EXEMPT_NUMBER
4787 (p_operation => l_operation
4788 ,p_record => l_rowtype_rec
4789 ,x_on_operation_action => l_on_operation_action
4790 );
4791
4792 IF l_result = OE_PC_GLOBALS.YES THEN
4793 -- set OUT result to CONSTRAINED
4794 x_result := OE_PC_GLOBALS.YES;
4795 END IF;
4796
4797 END IF;
4798
4799 IF p_line_rec.tax_exempt_reason_code = FND_API.G_MISS_CHAR THEN NULL;
4800 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.tax_exempt_reason_code,p_old_line_rec.tax_exempt_reason_code) THEN
4801
4802 l_result := TAX_EXEMPT_REASON
4803 (p_operation => l_operation
4804 ,p_record => l_rowtype_rec
4805 ,x_on_operation_action => l_on_operation_action
4806 );
4807
4808 IF l_result = OE_PC_GLOBALS.YES THEN
4809 -- set OUT result to CONSTRAINED
4810 x_result := OE_PC_GLOBALS.YES;
4811 END IF;
4812
4813 END IF;
4814
4815 IF p_line_rec.unit_list_price = FND_API.G_MISS_NUM THEN NULL;
4816 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.unit_list_price,p_old_line_rec.unit_list_price) THEN
4817
4818 l_result := UNIT_LIST_PRICE
4819 (p_operation => l_operation
4820 ,p_record => l_rowtype_rec
4821 ,x_on_operation_action => l_on_operation_action
4822 );
4823
4824 IF l_result = OE_PC_GLOBALS.YES THEN
4825 -- set OUT result to CONSTRAINED
4826 x_result := OE_PC_GLOBALS.YES;
4827 END IF;
4828
4829 END IF;
4830
4831 IF p_line_rec.unit_selling_price = FND_API.G_MISS_NUM THEN NULL;
4832 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.unit_selling_price,p_old_line_rec.unit_selling_price) THEN
4833
4834 l_result := UNIT_SELLING_PRICE
4835 (p_operation => l_operation
4836 ,p_record => l_rowtype_rec
4837 ,x_on_operation_action => l_on_operation_action
4838 );
4839
4840 IF l_result = OE_PC_GLOBALS.YES THEN
4841 -- set OUT result to CONSTRAINED
4842 x_result := OE_PC_GLOBALS.YES;
4843 END IF;
4844
4845 END IF;
4846
4847 -- BEGIN: Blankets Code Merge
4848 IF p_line_rec.blanket_number = FND_API.G_MISS_NUM THEN NULL;
4849 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.blanket_number,p_old_line_rec.blanket_number) THEN
4850
4851 l_result := BLANKET_NUMBER
4852 (p_operation => l_operation
4853 ,p_record => l_rowtype_rec
4854 ,x_on_operation_action => l_on_operation_action
4855 );
4856
4857 IF l_result = OE_PC_GLOBALS.YES THEN
4858 -- set OUT result to CONSTRAINED
4859 x_result := OE_PC_GLOBALS.YES;
4860 END IF;
4861
4862 END IF;
4863
4864 IF p_line_rec.blanket_line_number = FND_API.G_MISS_NUM THEN NULL;
4865 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.blanket_line_number,p_old_line_rec.blanket_line_number) THEN
4866
4867 l_result := BLANKET_LINE_NUMBER
4868 (p_operation => l_operation
4869 ,p_record => l_rowtype_rec
4870 ,x_on_operation_action => l_on_operation_action
4871 );
4872
4873 IF l_result = OE_PC_GLOBALS.YES THEN
4874 -- set OUT result to CONSTRAINED
4875 x_result := OE_PC_GLOBALS.YES;
4876 END IF;
4877
4878 END IF;
4879 -- END: Blankets Code Merge
4880
4881 IF ((nvl(p_line_rec.calculate_price_flag,'N')='Y') AND
4882 (p_line_rec.price_list_id IS NOT NULL) AND
4883 (NOT OE_GLOBALS.Equal(p_line_rec.price_list_id,
4884 p_old_line_rec.price_list_id)) ) THEN
4885 BEGIN
4886 SELECT active_flag
4887 INTO l_active_flag
4888 FROM qp_List_headers_vl
4889 WHERE list_header_id = p_line_rec.price_list_id;
4890
4891 IF NVL(l_active_flag,'N')='N' THEN
4892 FND_MESSAGE.SET_NAME('ONT','OE_INACTIVE_PRICELIST');
4893 OE_MSG_PUB.ADD;
4894 RAISE FND_API.G_EXC_ERROR;
4895 END IF;
4896 EXCEPTION
4897 WHEN OTHERS THEN
4898 IF l_debug_level > 0 THEN
4899 oe_debug_pub.add('when others',1);
4900 END IF;
4901 END;
4902 END IF;
4903
4904 IF p_line_rec.calculate_price_flag = FND_API.G_MISS_CHAR THEN
4905 NULL;
4906 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.calculate_price_flag
4907 ,p_old_line_rec.calculate_price_flag) THEN
4908
4909 l_result := calculate_price_flag(p_operation => l_operation
4910 ,p_record => l_rowtype_rec
4911 ,x_on_operation_action => l_on_operation_action);
4912
4913 IF l_result = OE_PC_GLOBALS.YES THEN
4914 -- set OUT result to CONSTRAINED
4915 x_result := OE_PC_GLOBALS.YES;
4916 END IF;
4917 END IF;
4918
4919 IF p_line_rec.customer_shipment_number = FND_API.G_MISS_CHAR THEN
4920 NULL;
4921 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.customer_shipment_number,p_old_line_rec.customer_shipment_number) THEN
4922
4923 l_result := CUSTOMER_SHIPMENT_NUMBER
4924 (p_operation => l_operation
4925 ,p_record => l_rowtype_rec
4926 ,x_on_operation_action => l_on_operation_action
4927 );
4928
4929 IF l_result = OE_PC_GLOBALS.YES THEN
4930 -- set OUT result to CONSTRAINED
4931 x_result := OE_PC_GLOBALS.YES;
4932 END IF;
4933
4934 END IF;
4935
4936
4937
4938 -- BEGIN: CHECK FOR CONSTRAINTS ON DESC FLEXFIELD ATTRIBUTES
4939 -- Bug 2003823:
4940 -- If profile indicates that generic update constraints (e.g. seeded
4941 -- closed order condition) should not be checked for DFF, then
4942 -- set the global to 'N'.
4943 -- Also, store the current value of global in a local variable and
4944 -- re-set it after DFF check. If DFF were the only fields being
4945 -- updated and profile was set to 'N', global at the end should
4946 -- be re-set to 'Y' - this indicates to process order that no
4947 -- constrainable attributes were updated and thus, it would
4948 -- suppress entity level security check also.
4949 IF OE_PC_GLOBALS.G_CHECK_UPDATE_ALL_FOR_DFF = 'N' THEN
4950 l_check_all_cols_constraint := g_check_all_cols_constraint;
4951 g_check_all_cols_constraint := 'N';
4952 END IF;
4953
4954 IF p_line_rec.context = FND_API.G_MISS_CHAR THEN NULL;
4955 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.context,p_old_line_rec.context) THEN
4956
4957 l_result := CONTEXT
4958 (p_operation => l_operation
4959 ,p_record => l_rowtype_rec
4960 ,x_on_operation_action => l_on_operation_action
4961 );
4962
4963 IF l_result = OE_PC_GLOBALS.YES THEN
4964 -- set OUT result to CONSTRAINED
4965 x_result := OE_PC_GLOBALS.YES;
4966 END IF;
4967
4968 END IF;
4969
4970 IF p_line_rec.attribute1 = FND_API.G_MISS_CHAR THEN NULL;
4971 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute1,p_old_line_rec.attribute1) THEN
4972
4973 l_result := ATTRIBUTE1
4974 (p_operation => l_operation
4975 ,p_record => l_rowtype_rec
4976 ,x_on_operation_action => l_on_operation_action
4977 );
4978
4979 IF l_result = OE_PC_GLOBALS.YES THEN
4980 -- set OUT result to CONSTRAINED
4981 x_result := OE_PC_GLOBALS.YES;
4982 END IF;
4983
4984 END IF;
4985
4986 IF p_line_rec.attribute10 = FND_API.G_MISS_CHAR THEN NULL;
4987 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute10,p_old_line_rec.attribute10) THEN
4988
4989 l_result := ATTRIBUTE10
4990 (p_operation => l_operation
4991 ,p_record => l_rowtype_rec
4992 ,x_on_operation_action => l_on_operation_action
4993 );
4994
4995 IF l_result = OE_PC_GLOBALS.YES THEN
4996 -- set OUT result to CONSTRAINED
4997 x_result := OE_PC_GLOBALS.YES;
4998 END IF;
4999
5000 END IF;
5001
5002 IF p_line_rec.attribute11 = FND_API.G_MISS_CHAR THEN NULL;
5003 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute11,p_old_line_rec.attribute11) THEN
5004
5005 l_result := ATTRIBUTE11
5006 (p_operation => l_operation
5007 ,p_record => l_rowtype_rec
5008 ,x_on_operation_action => l_on_operation_action
5009 );
5010
5011 IF l_result = OE_PC_GLOBALS.YES THEN
5012 -- set OUT result to CONSTRAINED
5013 x_result := OE_PC_GLOBALS.YES;
5014 END IF;
5015
5016 END IF;
5017
5018 IF p_line_rec.attribute12 = FND_API.G_MISS_CHAR THEN NULL;
5019 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute12,p_old_line_rec.attribute12) THEN
5020
5021 l_result := ATTRIBUTE12
5022 (p_operation => l_operation
5023 ,p_record => l_rowtype_rec
5024 ,x_on_operation_action => l_on_operation_action
5025 );
5026
5027 IF l_result = OE_PC_GLOBALS.YES THEN
5028 -- set OUT result to CONSTRAINED
5029 x_result := OE_PC_GLOBALS.YES;
5030 END IF;
5031
5032 END IF;
5033
5034 IF p_line_rec.attribute13 = FND_API.G_MISS_CHAR THEN NULL;
5035 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute13,p_old_line_rec.attribute13) THEN
5036
5037 l_result := ATTRIBUTE13
5038 (p_operation => l_operation
5039 ,p_record => l_rowtype_rec
5040 ,x_on_operation_action => l_on_operation_action
5041 );
5042
5043 IF l_result = OE_PC_GLOBALS.YES THEN
5044 -- set OUT result to CONSTRAINED
5045 x_result := OE_PC_GLOBALS.YES;
5046 END IF;
5047
5048 END IF;
5049
5050 IF p_line_rec.attribute14 = FND_API.G_MISS_CHAR THEN NULL;
5051 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute14,p_old_line_rec.attribute14) THEN
5052
5053 l_result := ATTRIBUTE14
5054 (p_operation => l_operation
5055 ,p_record => l_rowtype_rec
5056 ,x_on_operation_action => l_on_operation_action
5057 );
5058
5059 IF l_result = OE_PC_GLOBALS.YES THEN
5060 -- set OUT result to CONSTRAINED
5061 x_result := OE_PC_GLOBALS.YES;
5062 END IF;
5063
5064 END IF;
5065
5066 IF p_line_rec.attribute15 = FND_API.G_MISS_CHAR THEN NULL;
5067 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute15,p_old_line_rec.attribute15) THEN
5068
5069 l_result := ATTRIBUTE15
5070 (p_operation => l_operation
5071 ,p_record => l_rowtype_rec
5072 ,x_on_operation_action => l_on_operation_action
5073 );
5074
5075 IF l_result = OE_PC_GLOBALS.YES THEN
5076 -- set OUT result to CONSTRAINED
5077 x_result := OE_PC_GLOBALS.YES;
5078 END IF;
5079
5080 END IF;
5081
5082 -- For bug 2184255
5083
5084 IF p_line_rec.attribute16 = FND_API.G_MISS_CHAR THEN NULL;
5085 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute16,p_old_line_rec.attribute16) THEN
5086
5087 l_result := ATTRIBUTE16
5088 (p_operation => l_operation
5089 ,p_record => l_rowtype_rec
5090 ,x_on_operation_action => l_on_operation_action
5091 );
5092
5093 IF l_result = OE_PC_GLOBALS.YES THEN
5094 -- set OUT result to CONSTRAINED
5095 x_result := OE_PC_GLOBALS.YES;
5096 END IF;
5097
5098 END IF;
5099
5100 IF p_line_rec.attribute17 = FND_API.G_MISS_CHAR THEN NULL;
5101 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute17,p_old_line_rec.attribute17) THEN
5102
5103 l_result := ATTRIBUTE17
5104 (p_operation => l_operation
5105 ,p_record => l_rowtype_rec
5106 ,x_on_operation_action => l_on_operation_action
5107 );
5108
5109 IF l_result = OE_PC_GLOBALS.YES THEN
5110 -- set OUT result to CONSTRAINED
5111 x_result := OE_PC_GLOBALS.YES;
5112 END IF;
5113
5114 END IF;
5115
5116 IF p_line_rec.attribute18 = FND_API.G_MISS_CHAR THEN NULL;
5117 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute18,p_old_line_rec.attribute18) THEN
5118
5119 l_result := ATTRIBUTE18
5120 (p_operation => l_operation
5121 ,p_record => l_rowtype_rec
5122 ,x_on_operation_action => l_on_operation_action
5123 );
5124
5125 IF l_result = OE_PC_GLOBALS.YES THEN
5126 -- set OUT result to CONSTRAINED
5127 x_result := OE_PC_GLOBALS.YES;
5128 END IF;
5129
5130 END IF;
5131
5132 IF p_line_rec.attribute19 = FND_API.G_MISS_CHAR THEN NULL;
5133 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute19,p_old_line_rec.attribute19) THEN
5134
5135 l_result := ATTRIBUTE19
5136 (p_operation => l_operation
5137 ,p_record => l_rowtype_rec
5138 ,x_on_operation_action => l_on_operation_action
5139 );
5140
5141 IF l_result = OE_PC_GLOBALS.YES THEN
5142 -- set OUT result to CONSTRAINED
5143 x_result := OE_PC_GLOBALS.YES;
5144 END IF;
5145
5146 END IF;
5147
5148 IF p_line_rec.attribute2 = FND_API.G_MISS_CHAR THEN NULL;
5149 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute2,p_old_line_rec.attribute2) THEN
5150
5151 l_result := ATTRIBUTE2
5152 (p_operation => l_operation
5153 ,p_record => l_rowtype_rec
5154 ,x_on_operation_action => l_on_operation_action
5155 );
5156
5157 IF l_result = OE_PC_GLOBALS.YES THEN
5158 -- set OUT result to CONSTRAINED
5159 x_result := OE_PC_GLOBALS.YES;
5160 END IF;
5161
5162 END IF;
5163
5164
5165 IF p_line_rec.attribute20 = FND_API.G_MISS_CHAR THEN NULL;
5166 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute20,p_old_line_rec.attribute20) THEN
5167
5168 l_result := ATTRIBUTE20
5169 (p_operation => l_operation
5170 ,p_record => l_rowtype_rec
5171 ,x_on_operation_action => l_on_operation_action
5172 );
5173
5174 IF l_result = OE_PC_GLOBALS.YES THEN
5175 -- set OUT result to CONSTRAINED
5176 x_result := OE_PC_GLOBALS.YES;
5177 END IF;
5178
5179 END IF;
5180
5181 -- End bug 2184255
5182
5183 IF p_line_rec.attribute3 = FND_API.G_MISS_CHAR THEN NULL;
5184 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute3,p_old_line_rec.attribute3) THEN
5185
5186 l_result := ATTRIBUTE3
5187 (p_operation => l_operation
5188 ,p_record => l_rowtype_rec
5189 ,x_on_operation_action => l_on_operation_action
5190 );
5191
5192 IF l_result = OE_PC_GLOBALS.YES THEN
5193 -- set OUT result to CONSTRAINED
5194 x_result := OE_PC_GLOBALS.YES;
5195 END IF;
5196
5197 END IF;
5198
5199 IF p_line_rec.attribute4 = FND_API.G_MISS_CHAR THEN NULL;
5200 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute4,p_old_line_rec.attribute4) THEN
5201
5202 l_result := ATTRIBUTE4
5203 (p_operation => l_operation
5204 ,p_record => l_rowtype_rec
5205 ,x_on_operation_action => l_on_operation_action
5206 );
5207
5208 IF l_result = OE_PC_GLOBALS.YES THEN
5209 -- set OUT result to CONSTRAINED
5210 x_result := OE_PC_GLOBALS.YES;
5211 END IF;
5212
5213 END IF;
5214
5215 IF p_line_rec.attribute5 = FND_API.G_MISS_CHAR THEN NULL;
5216 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute5,p_old_line_rec.attribute5) THEN
5217
5218 l_result := ATTRIBUTE5
5219 (p_operation => l_operation
5220 ,p_record => l_rowtype_rec
5221 ,x_on_operation_action => l_on_operation_action
5222 );
5223
5224 IF l_result = OE_PC_GLOBALS.YES THEN
5225 -- set OUT result to CONSTRAINED
5226 x_result := OE_PC_GLOBALS.YES;
5227 END IF;
5228
5229 END IF;
5230
5231 IF p_line_rec.attribute6 = FND_API.G_MISS_CHAR THEN NULL;
5232 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute6,p_old_line_rec.attribute6) THEN
5233
5234 l_result := ATTRIBUTE6
5235 (p_operation => l_operation
5236 ,p_record => l_rowtype_rec
5237 ,x_on_operation_action => l_on_operation_action
5238 );
5239
5240 IF l_result = OE_PC_GLOBALS.YES THEN
5241 -- set OUT result to CONSTRAINED
5242 x_result := OE_PC_GLOBALS.YES;
5243 END IF;
5244
5245 END IF;
5246
5247 IF p_line_rec.attribute7 = FND_API.G_MISS_CHAR THEN NULL;
5248 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute7,p_old_line_rec.attribute7) THEN
5249
5250 l_result := ATTRIBUTE7
5251 (p_operation => l_operation
5252 ,p_record => l_rowtype_rec
5253 ,x_on_operation_action => l_on_operation_action
5254 );
5255
5256 IF l_result = OE_PC_GLOBALS.YES THEN
5257 -- set OUT result to CONSTRAINED
5258 x_result := OE_PC_GLOBALS.YES;
5259 END IF;
5260
5261 END IF;
5262
5263 IF p_line_rec.attribute8 = FND_API.G_MISS_CHAR THEN NULL;
5264 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute8,p_old_line_rec.attribute8) THEN
5265
5266 l_result := ATTRIBUTE8
5267 (p_operation => l_operation
5268 ,p_record => l_rowtype_rec
5269 ,x_on_operation_action => l_on_operation_action
5270 );
5271
5272 IF l_result = OE_PC_GLOBALS.YES THEN
5273 -- set OUT result to CONSTRAINED
5274 x_result := OE_PC_GLOBALS.YES;
5275 END IF;
5276
5277 END IF;
5278
5279 IF p_line_rec.attribute9 = FND_API.G_MISS_CHAR THEN NULL;
5280 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.attribute9,p_old_line_rec.attribute9) THEN
5281
5282 l_result := ATTRIBUTE9
5283 (p_operation => l_operation
5284 ,p_record => l_rowtype_rec
5285 ,x_on_operation_action => l_on_operation_action
5286 );
5287
5288 IF l_result = OE_PC_GLOBALS.YES THEN
5289 -- set OUT result to CONSTRAINED
5290 x_result := OE_PC_GLOBALS.YES;
5291 END IF;
5292
5293 END IF;
5294
5295 IF p_line_rec.user_item_description = FND_API.G_MISS_CHAR THEN NULL;
5296 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.user_item_description, p_old_line_rec.user_item_description) THEN
5297
5298 l_result := USER_ITEM_DESCRIPTION
5299 (p_operation => l_operation
5300 ,p_record => l_rowtype_rec
5301 ,x_on_operation_action => l_on_operation_action
5302 );
5303
5304 IF l_result = OE_PC_GLOBALS.YES THEN
5305 -- set OUT result to CONSTRAINED
5306 x_result := OE_PC_GLOBALS.YES;
5307 END IF;
5308
5309 END IF;
5310
5311 /* Customer Acceptance - Start */
5312 IF p_line_rec.contingency_id = FND_API.G_MISS_NUM THEN NULL;
5313 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.contingency_id,p_old_line_rec.contingency_id) THEN
5314
5315 l_result := CONTINGENCY
5316 (p_operation => l_operation
5317 ,p_record => l_rowtype_rec
5318 ,x_on_operation_action => l_on_operation_action
5319 );
5320
5321 IF l_result = OE_PC_GLOBALS.YES THEN
5322 -- set OUT result to CONSTRAINED
5323 x_result := OE_PC_GLOBALS.YES;
5324 END IF;
5325
5326 END IF;
5327
5328 IF p_line_rec.revrec_expiration_days = FND_API.G_MISS_NUM THEN NULL;
5329 ELSIF NOT OE_GLOBALS.EQUAL(p_line_rec.revrec_expiration_days,p_old_line_rec.revrec_expiration_days) THEN
5330
5331 l_result := REVREC_EXPIRATION_DAYS
5332 (p_operation => l_operation
5333 ,p_record => l_rowtype_rec
5334 ,x_on_operation_action => l_on_operation_action
5335 );
5336
5337 IF l_result = OE_PC_GLOBALS.YES THEN
5338 -- set OUT result to CONSTRAINED
5339 x_result := OE_PC_GLOBALS.YES;
5340 END IF;
5341
5342 END IF;
5343 /* Customer Acceptance - End */
5344
5345 IF OE_PC_GLOBALS.G_CHECK_UPDATE_ALL_FOR_DFF = 'N' THEN
5346 IF l_debug_level > 0 THEN
5347 oe_debug_pub.add('setting check all cols constraint to:'||l_check_all_cols_constraint);
5348 END IF;
5349 g_check_all_cols_constraint := l_check_all_cols_constraint;
5350 END IF;
5351
5352 -- END: CHECK FOR CONSTRAINTS ON DESC FLEXFIELD ATTRIBUTES
5353 -- NOTE: Please add constraints check for new attributes before the
5354 -- descriptive flexfield attributes check.
5355
5356 IF l_debug_level > 0 THEN
5357 oe_debug_pub.add('Exit OE_LINE_Security.Attributes',1);
5358 END IF;
5359
5360 EXCEPTION
5361 WHEN FND_API.G_EXC_ERROR THEN
5362 x_return_status := FND_API.G_RET_STS_ERROR;
5363 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5364 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5365 WHEN OTHERS THEN
5366 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5367 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
5368 OE_MSG_PUB.Add_Exc_Msg
5369 ( G_PKG_NAME
5370 , 'Attributes'
5371 );
5372 END IF;
5373
5374 END Attributes;
5375
5376
5377 FUNCTION IB_OWNER
5378 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
5379 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
5380 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
5381 ) RETURN NUMBER
5382 IS
5383 l_result NUMBER;
5384 BEGIN
5385
5386 l_result := Is_OP_constrained
5387 (p_operation => p_operation
5388 ,p_column_name => 'IB_OWNER'
5389 ,p_record => p_record
5390 ,x_on_operation_action => x_on_operation_action
5391 );
5392
5393 RETURN(l_result);
5394 END IB_OWNER;
5395
5396
5397 FUNCTION IB_INSTALLED_AT_LOCATION
5398 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
5399 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
5400 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
5401 ) RETURN NUMBER
5402 IS
5403 l_result NUMBER;
5404 BEGIN
5405
5406 l_result := Is_OP_constrained
5407 (p_operation => p_operation
5408 ,p_column_name => 'IB_INSTALLED_AT_LOCATION'
5409 ,p_record => p_record
5410 ,x_on_operation_action => x_on_operation_action
5411 );
5412
5413 RETURN(l_result);
5414 END IB_INSTALLED_AT_LOCATION;
5415
5416 FUNCTION IB_CURRENT_LOCATION
5417 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
5418 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
5419 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
5420 ) RETURN NUMBER
5421 IS
5422 l_result NUMBER;
5423 BEGIN
5424
5425 l_result := Is_OP_constrained
5426 (p_operation => p_operation
5427 ,p_column_name => 'IB_CURRENT_LOCATION'
5428 ,p_record => p_record
5429 ,x_on_operation_action => x_on_operation_action
5430 );
5431
5432 RETURN(l_result);
5433 END IB_CURRENT_LOCATION;
5434
5435 FUNCTION END_CUSTOMER
5436 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
5437 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
5438 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
5439 ) RETURN NUMBER
5440 IS
5441 l_result NUMBER;
5442 BEGIN
5443
5444 l_result := Is_OP_constrained
5445 (p_operation => p_operation
5446 ,p_column_name => 'END_CUSTOMER_ID'
5447 ,p_record => p_record
5448 ,x_on_operation_action => x_on_operation_action
5449 );
5450
5451 RETURN(l_result);
5452
5453 END END_CUSTOMER;
5454
5455
5456 FUNCTION END_CUSTOMER_SITE_USE
5457 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
5458 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
5459 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
5460 ) RETURN NUMBER
5461 IS
5462 l_result NUMBER;
5463 BEGIN
5464
5465 l_result := Is_OP_constrained
5466 (p_operation => p_operation
5467 ,p_column_name => 'END_CUSTOMER_SITE_USE_ID'
5468 ,p_record => p_record
5469 ,x_on_operation_action => x_on_operation_action
5470 );
5471
5472 RETURN(l_result);
5473
5474 END END_CUSTOMER_SITE_USE;
5475
5476
5477 FUNCTION END_CUSTOMER_CONTACT
5478 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
5479 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
5480 , x_on_operation_action OUT NOCOPY NUMBER /* file.sql.39 change */
5481 ) RETURN NUMBER
5482 IS
5483 l_result NUMBER;
5484 BEGIN
5485
5486 l_result := Is_OP_constrained
5487 (p_operation => p_operation
5488 ,p_column_name => 'END_CUSTOMER_CONTACT_ID'
5489 ,p_record => p_record
5490 ,x_on_operation_action => x_on_operation_action
5491 );
5492
5493 RETURN(l_result);
5494
5495 END END_CUSTOMER_CONTACT;
5496
5497 PROCEDURE ALLOW_TAX_CODE_OVERRIDE
5498 ( p_application_id IN NUMBER,
5499 p_entity_short_name IN VARCHAR2,
5500 p_validation_entity_short_name IN VARCHAR2,
5501 p_validation_tmplt_short_name IN VARCHAR2,
5502 p_record_set_tmplt_short_name IN VARCHAR2,
5503 p_scope IN VARCHAR2,
5504 p_result OUT NOCOPY NUMBER /* file.sql.39 change */
5505 )
5506 IS
5507 Ret_Val VARCHAR2(1);
5508 BEGIN
5509 --Ret_Val := FND_PROFILE.VALUE('AR_ALLOW_TAX_CODE_OVERRIDE');
5510 Ret_Val := FND_PROFILE.VALUE('ZX_ALLOW_TAX_CLASSIF_OVERRIDE');
5511 IF Ret_Val = 'Y' THEN
5512 p_result := 1;
5513 ELSE
5514 p_result := 0;
5515 END IF;
5516 END ALLOW_TAX_CODE_OVERRIDE;
5517
5518 PROCEDURE ALLOW_TRX_LINE_EXEMPTIONS
5519 ( p_application_id IN NUMBER,
5520 p_entity_short_name IN VARCHAR2,
5521 p_validation_entity_short_name IN VARCHAR2,
5522 p_validation_tmplt_short_name IN VARCHAR2,
5523 p_record_set_tmplt_short_name IN VARCHAR2,
5524 p_scope IN VARCHAR2,
5525 p_result OUT NOCOPY NUMBER /* file.sql.39 change */
5526 )
5527 IS
5528 Ret_Val VARCHAR2(1);
5529 BEGIN
5530 --Ret_Val := FND_PROFILE.VALUE('AR_ALLOW_TRX_LINE_EXEMPTIONS');
5531 Ret_Val := FND_PROFILE.VALUE('ZX_ALLOW_TRX_LINE_EXEMPTIONS');
5532 IF Ret_Val = 'Y' THEN
5533 p_result := 1;
5534 ELSE
5535 p_result := 0;
5536 END IF;
5537 END ALLOW_TRX_LINE_EXEMPTIONS;
5538
5539 FUNCTION CONTINGENCY
5540 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
5541 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
5542 , x_on_operation_action OUT NOCOPY NUMBER
5543 ) RETURN NUMBER
5544 IS
5545 l_result NUMBER;
5546 BEGIN
5547 l_result := Is_OP_constrained
5548 (p_operation => p_operation
5549 ,p_column_name => 'CONTINGENCY_ID'
5550 ,p_record => p_record
5551 ,x_on_operation_action => x_on_operation_action
5552 );
5553 RETURN(l_result);
5554
5555 END CONTINGENCY;
5556
5557 FUNCTION REVREC_EXPIRATION_DAYS
5558 ( p_operation IN VARCHAR2 DEFAULT OE_PC_GLOBALS.UPDATE_OP
5559 , p_record IN OE_AK_ORDER_LINES_V%ROWTYPE
5560 , x_on_operation_action OUT NOCOPY NUMBER
5561 ) RETURN NUMBER
5562 IS
5563 l_result NUMBER;
5564 BEGIN
5565 l_result := Is_OP_constrained
5566 (p_operation => p_operation
5567 ,p_column_name => 'REVREC_EXPIRATION_DAYS'
5568 ,p_record => p_record
5569 ,x_on_operation_action => x_on_operation_action
5570 );
5571 RETURN(l_result);
5572
5573 END REVREC_EXPIRATION_DAYS;
5574
5575 END OE_Line_Security;