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