DBA Data[Home] [Help]

PACKAGE BODY: APPS.RCV_DEFAULT_PKG

Source


1 PACKAGE BODY rcv_default_pkg AS
2 /* $Header: RCVDFLTB.pls 120.58 2012/02/17 13:59:58 ksivasa ship $*/
3    g_debug_flag       CONSTANT VARCHAR2(1)                           := asn_debug.is_debug_on; -- Bug 9152790
4    /* the following marker variables indicate the possibility that the defaulted
5       code does not match the ID's derived from the backing docs */
6    g_rhi_ou_mkr                BOOLEAN;
7    g_rhi_cust_party_name_mkr   BOOLEAN;
8    g_rhi_cust_acc_num_mkr      BOOLEAN;
9    g_rhi_employee_name_mkr     BOOLEAN;
10    g_rhi_vendor_site_code_mkr  BOOLEAN;
11    g_rti_ou_mkr                BOOLEAN;
12    g_rti_cust_party_name_mkr   BOOLEAN;
13    g_rti_cust_acc_num_mkr      BOOLEAN;
14    g_rti_cust_item_num_mkr     BOOLEAN;
15    g_rti_employee_name_mkr     BOOLEAN;
16    g_rti_dlvr_to_prsn_name_mkr BOOLEAN;
17    g_rti_vendor_site_code_mkr  BOOLEAN;
18    g_rti_locator_mkr           BOOLEAN;
19    g_rti_wip_entity_name_mkr   BOOLEAN;
20    g_rti_item_description_mkr  BOOLEAN;
21    g_rti_item_num_mkr          BOOLEAN;
22    g_rti_sub_item_num_mkr      BOOLEAN;
23    g_previous_time             NUMBER;
24    g_curr_table                po_interface_errors.table_name%TYPE;
25    g_curr_group_id             NUMBER;
26    g_curr_header_id            NUMBER;
27    g_curr_transaction_id       NUMBER;
28    g_curr_org_id               NUMBER;
29    g_curr_inv_org_id           NUMBER;
30    g_subtract_pll_qty_rcv      BOOLEAN;
31    g_asn_type                   rcv_shipment_headers.asn_type%type; --Bug: 5598511
32 
33 /******************************************/
34 /* SECTION 1: Helper defaulting functions */
35 /******************************************/
36 /* WDK - EXPIREMENT TESTING SHOWS THAT CALLING PROCEDURES IN PLSQL IS SLOW  */
37 /* Therefore, even though using these helper procedures makes the code more */
38 /* readable, the trade-off is too large for a function that must execute    */
39 /* quickly */
40 /*
41    PROCEDURE default_and_check(
42       p_src_value IN            VARCHAR2, p_dst_value IN OUT NOCOPY VARCHAR2, p_column    IN            VARCHAR2) IS
43    BEGIN
44       IF (p_dst_value IS NULL) THEN
45          p_dst_value  := p_src_value;
46       ELSIF(    p_src_value IS NOT NULL
47             AND p_dst_value <> p_src_value) THEN
48          rcv_error_pkg.set_error_message('RCV_INVALID_ROI_VALUE');
49          rcv_error_pkg.set_token('COLUMN', p_column);
50          rcv_error_pkg.set_token('ROI_VALUE', p_dst_value);
51          rcv_error_pkg.set_token('SYS_VALUE', p_src_value);
52          rcv_error_pkg.log_interface_error(p_column);
53       END IF;
54    END default_and_check;
55 
56    PROCEDURE default_and_check(
57       p_src_value IN            NUMBER, p_dst_value IN OUT NOCOPY NUMBER, p_column    IN            VARCHAR2) IS
58    BEGIN
59       IF (p_dst_value IS NULL) THEN
60          p_dst_value  := p_src_value;
61       ELSIF(    p_src_value IS NOT NULL
62             AND p_dst_value <> p_src_value) THEN
63          rcv_error_pkg.set_error_message('RCV_INVALID_ROI_VALUE');
64          rcv_error_pkg.set_token('COLUMN', p_column);
65          rcv_error_pkg.set_token('ROI_VALUE', p_dst_value);
66          rcv_error_pkg.set_token('SYS_VALUE', p_src_value);
67          rcv_error_pkg.log_interface_error(p_column);
68       END IF;
69    END default_and_check;
70 
71    PROCEDURE default_and_check(
72       p_src_value IN            DATE, p_dst_value IN OUT NOCOPY DATE, p_column    IN            VARCHAR2) IS
73    BEGIN
74       IF (p_dst_value IS NULL) THEN
75          p_dst_value  := p_src_value;
76       ELSIF(    p_src_value IS NOT NULL
77             AND p_dst_value <> p_src_value) THEN
78          rcv_error_pkg.set_error_message('RCV_INVALID_ROI_VALUE');
79          rcv_error_pkg.set_token('COLUMN', p_column);
80          rcv_error_pkg.set_token('ROI_VALUE', p_dst_value);
81          rcv_error_pkg.set_token('SYS_VALUE', p_src_value);
82          rcv_error_pkg.log_interface_error(p_column);
83       END IF;
84    END default_and_check;
85 
86    PROCEDURE DEFAULT_VALUE(
87       p_src IN            VARCHAR2, p_dst IN OUT NOCOPY VARCHAR2) IS
88    BEGIN
89       IF (p_dst IS NULL) THEN
90          p_dst  := p_src;
91       END IF;
92    END DEFAULT_VALUE;
93 
94    PROCEDURE DEFAULT_VALUE(
95       p_src IN            NUMBER, p_dst IN OUT NOCOPY NUMBER) IS
96    BEGIN
97       IF (p_dst IS NULL) THEN
98          p_dst  := p_src;
99       END IF;
100    END DEFAULT_VALUE;
101 
102    PROCEDURE DEFAULT_VALUE(
103       p_src IN            DATE, p_dst IN OUT NOCOPY DATE) IS
104    BEGIN
105       IF (p_dst IS NULL) THEN
106          p_dst  := p_src;
107       END IF;
108    END DEFAULT_VALUE;
109 
110    PROCEDURE test_is_null(
111       p_value  IN VARCHAR2, p_column IN VARCHAR2) IS
112    BEGIN
113       IF (p_value IS NULL) THEN
114          asn_debug.put_line('fail assert test_is_null for column ' || p_column);
115          rcv_error_pkg.set_error_message('PO_PDOI_COLUMN_NOT_NULL');
116          rcv_error_pkg.set_token('COLUMN', p_column);
117          rcv_error_pkg.log_interface_error(p_column);
118       END IF;
119    END test_is_null;
120 
121    PROCEDURE test_is_null(
122       p_value  IN NUMBER, p_column IN VARCHAR2) IS
123    BEGIN
124       IF (p_value IS NULL) THEN
125          asn_debug.put_line('fail assert test_is_null for column ' || p_column);
126          rcv_error_pkg.set_error_message('PO_PDOI_COLUMN_NOT_NULL');
127          rcv_error_pkg.set_token('COLUMN', p_column);
128          rcv_error_pkg.log_interface_error(p_column);
129       END IF;
130    END test_is_null;
131 
132    PROCEDURE test_is_null(
133       p_value  IN DATE, p_column IN VARCHAR2) IS
134    BEGIN
135       IF (p_value IS NULL) THEN
136          asn_debug.put_line('fail assert test_is_null for column ' || p_column);
137          rcv_error_pkg.set_error_message('PO_PDOI_COLUMN_NOT_NULL');
138          rcv_error_pkg.set_token('COLUMN', p_column);
139          rcv_error_pkg.log_interface_error(p_column);
140       END IF;
141    END test_is_null;
142 */
143    PROCEDURE invalid_match_value(
144       p_roi_value IN VARCHAR2,
145       p_sys_value IN VARCHAR2,
146       p_column    IN VARCHAR2
147    ) IS
148    BEGIN
149       rcv_error_pkg.set_error_message('RCV_INVALID_ROI_VALUE');
150       rcv_error_pkg.set_token('COLUMN', p_column);
151       rcv_error_pkg.set_token('ROI_VALUE', p_roi_value);
152       rcv_error_pkg.set_token('SYS_VALUE', p_sys_value);
153       rcv_error_pkg.log_interface_error(g_curr_table,
154                                         p_column,
155                                         g_curr_group_id,
156                                         g_curr_header_id,
157                                         g_curr_transaction_id
158                                        );
159    END invalid_match_value;
160 
161    PROCEDURE invalid_null_value(
162       p_column IN VARCHAR2
163    ) IS
164    BEGIN
165       rcv_error_pkg.set_error_message('PO_PDOI_COLUMN_NOT_NULL');
166       rcv_error_pkg.set_token('COLUMN', p_column);
167       rcv_error_pkg.log_interface_error(g_curr_table,
168                                         p_column,
169                                         g_curr_group_id,
170                                         g_curr_header_id,
171                                         g_curr_transaction_id
172                                        );
173    END invalid_null_value;
174 
175    PROCEDURE invalid_value(
176       p_value  IN VARCHAR2,
177       p_column IN VARCHAR2
178    ) IS
179    BEGIN
180       rcv_error_pkg.set_error_message('RCV_INVALID_ROI_VALUE_NE');
181       rcv_error_pkg.set_token('COLUMN', p_column);
182       rcv_error_pkg.set_token('ROI_VALUE', p_value);
183       rcv_error_pkg.log_interface_error(g_curr_table,
184                                         p_column,
185                                         g_curr_group_id,
186                                         g_curr_header_id,
187                                         g_curr_transaction_id
188                                        );
189    END invalid_value;
190 
191    PROCEDURE invalid_value(
192       p_value  IN NUMBER,
193       p_column IN VARCHAR2
194    ) IS
195    BEGIN
196       rcv_error_pkg.set_error_message('RCV_INVALID_ROI_VALUE_NE');
197       rcv_error_pkg.set_token('COLUMN', p_column);
198       rcv_error_pkg.set_token('ROI_VALUE', p_value);
199       rcv_error_pkg.log_interface_error(g_curr_table,
200                                         p_column,
201                                         g_curr_group_id,
202                                         g_curr_header_id,
203                                         g_curr_transaction_id
204                                        );
205    END invalid_value;
206 
207    PROCEDURE invalid_value(
208       p_value  IN DATE,
209       p_column IN VARCHAR2
210    ) IS
211    BEGIN
212       rcv_error_pkg.set_error_message('RCV_INVALID_ROI_VALUE_NE');
213       rcv_error_pkg.set_token('COLUMN', p_column);
214       rcv_error_pkg.set_token('ROI_VALUE', p_value);
215       rcv_error_pkg.log_interface_error(g_curr_table,
216                                         p_column,
217                                         g_curr_group_id,
218                                         g_curr_header_id,
219                                         g_curr_transaction_id
220                                        );
221    END invalid_value;
222 
223    PROCEDURE elapsed_time(
224       p_comment IN VARCHAR2
225    ) IS
226       x_new_time NUMBER;
227    BEGIN
228       x_new_time       := DBMS_UTILITY.get_time;
229 
230       IF (g_debug_flag = 'Y') THEN
231          asn_debug.put_line('Elapsed Time:' || LPAD(x_new_time - NVL(g_previous_time, x_new_time),
232                                                     8,
233                                                     ' '
234                                                    ) || ',Absolute Time:' || LPAD(x_new_time,
235                                                                                   14,
236                                                                                   ' '
237                                                                                  ) || ' - ' || p_comment);
238       END IF;
239 
240       g_previous_time  := x_new_time;
241    END elapsed_time;
242 
243 /************************************/
244 /* SECTION 2: Defaulting from codes */
245 /************************************/
246    FUNCTION get_org_id_from_inv_org_id(
247       p_organization_id IN mtl_parameters.organization_id%TYPE
248    )
249       RETURN rcv_headers_interface.org_id%TYPE IS
250       x_org_id rcv_headers_interface.org_id%TYPE;
251    BEGIN
252       IF (p_organization_id IS NULL) THEN
253          RETURN NULL;
254       END IF;
255 
256       IF (p_organization_id = g_curr_inv_org_id) THEN
257          RETURN g_curr_org_id;
258       END IF;
259       --perf fix 5217433
260       SELECT DECODE(FPG.MULTI_ORG_FLAG,
261                     'Y',
262 	            DECODE(HOI.ORG_INFORMATION_CONTEXT, 'Accounting Information', TO_NUMBER(HOI.ORG_INFORMATION3), TO_NUMBER(NULL)),
263      	            TO_NUMBER(NULL)
264                    ) OPERATING_UNIT
265       INTO   x_org_id
266       FROM   HR_ORGANIZATION_INFORMATION HOI,
267              FND_PRODUCT_GROUPS FPG
268       WHERE HOI.ORGANIZATION_ID  =  p_organization_id
269       AND ( HOI.ORG_INFORMATION_CONTEXT || '') ='Accounting Information';
270 
271       g_curr_org_id      := x_org_id;
272       g_curr_inv_org_id  := p_organization_id;
273       RETURN x_org_id;
274    EXCEPTION
275       WHEN OTHERS THEN
276          RETURN NULL;
277    END get_org_id_from_inv_org_id;
278 
279    FUNCTION get_org_id_from_ou(
280       p_ou     IN            rcv_headers_interface.operating_unit%TYPE,
281       p_column IN            VARCHAR2,
282       p_marker IN OUT NOCOPY BOOLEAN
283    )
284       RETURN rcv_headers_interface.org_id%TYPE IS
285       x_org_id rcv_headers_interface.org_id%TYPE;
286    BEGIN
287       p_marker  := FALSE;
288 
289       IF (p_ou IS NULL) THEN
290          RETURN NULL;
291       END IF;
292 
293       SELECT organization_id
294       INTO   x_org_id
295       FROM   hr_organization_units
296       WHERE  NAME = p_ou;
297 
298       RETURN x_org_id;
299    EXCEPTION
300       WHEN NO_DATA_FOUND THEN
301          invalid_value(p_ou, p_column);
302       WHEN TOO_MANY_ROWS THEN
303          p_marker  := TRUE;
304          RETURN NULL;
305    END get_org_id_from_ou;
306 
307    FUNCTION get_ou_from_org_id(
308       p_org_id IN            rcv_headers_interface.org_id%TYPE,
309       p_column IN            VARCHAR2,
310       p_marker IN OUT NOCOPY BOOLEAN
311    )
312       RETURN rcv_headers_interface.operating_unit%TYPE IS
313       x_ou rcv_headers_interface.operating_unit%TYPE;
314    BEGIN
315       p_marker  := FALSE;
316 
317       IF (p_org_id IS NULL) THEN
318          RETURN NULL;
319       END IF;
320 
321       SELECT NAME
322       INTO   x_ou
323       FROM   hr_organization_units
324       WHERE  organization_id = p_org_id;
325 
326       RETURN x_ou;
327    EXCEPTION
328       WHEN NO_DATA_FOUND THEN
329          invalid_value(p_org_id, p_column);
330       WHEN TOO_MANY_ROWS THEN
331          p_marker  := TRUE;
332          RETURN NULL;
333    END get_ou_from_org_id;
334 
335    FUNCTION get_customer_id_from_name_num(
336       p_customer_party_name     IN            rcv_headers_interface.customer_party_name%TYPE,
337       p_customer_account_number IN            rcv_headers_interface.customer_account_number%TYPE,
338       p_column_name             IN            VARCHAR2,
339       p_column_num              IN            VARCHAR2,
340       p_marker_name             IN OUT NOCOPY BOOLEAN,
341       p_marker_num              IN OUT NOCOPY BOOLEAN
342    )
343       RETURN rcv_headers_interface.customer_id%TYPE IS
344       x_customer_id rcv_headers_interface.customer_id%TYPE;
345    BEGIN
346       p_marker_name  := FALSE;
347       p_marker_num   := FALSE;
348 
349       IF (   p_customer_party_name IS NULL
350           OR p_customer_account_number IS NULL) THEN
351          IF (p_customer_party_name IS NOT NULL) THEN
352             p_marker_name  := TRUE;
353          END IF;
354 
355          IF (p_customer_account_number IS NOT NULL) THEN
356             p_marker_num  := TRUE;
357          END IF;
358 
359          RETURN NULL;
360       END IF;
361 
362       SELECT acct.cust_account_id
363       INTO   x_customer_id
364       FROM   hz_parties party,
365              hz_cust_accounts acct
366       WHERE  party.party_id = acct.party_id
367       AND    party.party_name = p_customer_party_name
368       AND    acct.account_number = p_customer_account_number;
369 
370       RETURN x_customer_id;
371    EXCEPTION
372       WHEN NO_DATA_FOUND THEN
373          invalid_value(' || p_customer_account_number,p_column_name || ', ' || p_column_num, p_customer_party_name || ');
374       WHEN TOO_MANY_ROWS THEN
375          p_marker_name  := TRUE;
376          p_marker_num   := TRUE;
377          RETURN NULL;
378    END get_customer_id_from_name_num;
379 
380    FUNCTION get_customer_name_from_id(
381       p_customer_id IN            rcv_headers_interface.customer_id%TYPE,
382       p_column      IN            VARCHAR2,
383       p_marker      IN OUT NOCOPY BOOLEAN
384    )
385       RETURN rcv_headers_interface.customer_party_name%TYPE IS
386       x_customer_party_name rcv_headers_interface.customer_party_name%TYPE;
387    BEGIN
388       p_marker  := FALSE;
389 
390       IF (p_customer_id IS NULL) THEN
391          RETURN NULL;
392       END IF;
393 
394       SELECT party.party_name
395       INTO   x_customer_party_name
396       FROM   hz_parties party,
397              hz_cust_accounts acct
398       WHERE  party.party_id = acct.party_id
399       AND    acct.cust_account_id = p_customer_id;
400 
401       RETURN x_customer_party_name;
402    EXCEPTION
403       WHEN NO_DATA_FOUND THEN
404          invalid_value(p_customer_id, p_column);
405       WHEN TOO_MANY_ROWS THEN
406          p_marker  := TRUE;
407          RETURN NULL;
408    END get_customer_name_from_id;
409 
410    FUNCTION get_customer_num_from_id(
411       p_customer_id IN            rcv_headers_interface.customer_id%TYPE,
412       p_column      IN            VARCHAR2,
413       p_marker      IN OUT NOCOPY BOOLEAN
414    )
415       RETURN rcv_headers_interface.customer_account_number%TYPE IS
416       x_customer_account_number rcv_headers_interface.customer_account_number%TYPE;
417    BEGIN
418       p_marker  := FALSE;
419 
420       IF (p_customer_id IS NULL) THEN
421          RETURN NULL;
422       END IF;
423 
424       SELECT acct.account_number
425       INTO   x_customer_account_number
426       FROM   hz_cust_accounts acct
427       WHERE  acct.cust_account_id = p_customer_id;
428 
429       RETURN x_customer_account_number;
430    EXCEPTION
431       WHEN NO_DATA_FOUND THEN
432          invalid_value(p_customer_id, p_column);
433       WHEN TOO_MANY_ROWS THEN
434          p_marker  := TRUE;
435          RETURN NULL;
436    END get_customer_num_from_id;
437 
438    FUNCTION get_employee_id_from_name(
439       p_employee_name IN            rcv_headers_interface.employee_name%TYPE,
440       p_column        IN            VARCHAR2,
441       p_marker        IN OUT NOCOPY BOOLEAN
442    )
443       RETURN rcv_headers_interface.employee_id%TYPE IS
444       x_employee_id rcv_headers_interface.employee_id%TYPE;
445    BEGIN
446       p_marker  := FALSE;
447 
448       IF (p_employee_name IS NULL) THEN
449          RETURN NULL;
450       END IF;
451 
452       SELECT employee_id
453       INTO   x_employee_id
454       FROM   hr_employees
455       WHERE  full_name = p_employee_name;
456 
457       RETURN x_employee_id;
458    EXCEPTION
459       WHEN NO_DATA_FOUND THEN
460          invalid_value(p_employee_name, p_column);
461       WHEN TOO_MANY_ROWS THEN
462          p_marker  := TRUE;
463          RETURN NULL;
464    END get_employee_id_from_name;
465 
466    FUNCTION get_employee_name_from_id(
467       p_employee_id IN            rcv_headers_interface.employee_id%TYPE,
468       p_column      IN            VARCHAR2,
469       p_marker      IN OUT NOCOPY BOOLEAN
470    )
471       RETURN rcv_headers_interface.employee_name%TYPE IS
472       x_employee_name rcv_headers_interface.employee_name%TYPE;
473    BEGIN
474       p_marker  := FALSE;
475 
476       IF (p_employee_id IS NULL) THEN
477          RETURN NULL;
478       END IF;
479 
480       SELECT full_name
481       INTO   x_employee_name
482       FROM   hr_employees
483       WHERE  employee_id = p_employee_id;
484 
485       RETURN x_employee_name;
486    EXCEPTION
487       WHEN NO_DATA_FOUND THEN
488          invalid_value(p_employee_id, p_column);
489       WHEN TOO_MANY_ROWS THEN
490          p_marker  := TRUE;
491          RETURN NULL;
492    END get_employee_name_from_id;
493 
494    FUNCTION get_org_id_from_code(
495       p_org_code IN            rcv_headers_interface.from_organization_code%TYPE,
496       p_column   IN            VARCHAR2,
497       p_marker   IN OUT NOCOPY BOOLEAN
498    )
499       RETURN rcv_headers_interface.from_organization_id%TYPE IS
500       x_org_id rcv_headers_interface.from_organization_id%TYPE;
501    BEGIN
502       p_marker  := FALSE;
503 
504       IF (p_org_code IS NULL) THEN
505          RETURN NULL;
506       END IF;
507 
508       SELECT organization_id
509       INTO   x_org_id
510       FROM   mtl_parameters
511       WHERE  organization_code = p_org_code;
512 
513       RETURN x_org_id;
514    EXCEPTION
515       WHEN NO_DATA_FOUND THEN
516          invalid_value(p_org_code, p_column);
517       WHEN TOO_MANY_ROWS THEN
518          p_marker  := TRUE;
519          RETURN NULL;
520    END get_org_id_from_code;
521 
522 --Bug 7591174 Added a New function to get the to_organization_id from ship_to_location_id
523    FUNCTION get_org_id_from_location_id(
524       p_location_id   IN            rcv_headers_interface.location_id%TYPE,
525       p_column        IN            VARCHAR2,
526       p_marker        IN OUT NOCOPY BOOLEAN
527    )
528       RETURN rcv_headers_interface.from_organization_id%TYPE IS
529       x_org_id rcv_headers_interface.from_organization_id%TYPE;
530    BEGIN
531       p_marker    :=FALSE;
532 
533       IF(p_location_id IS NULL) THEN
534          RETURN NULL;
535       END IF;
536 
537       SELECT org.organization_id
538       INTO   x_org_id
539       FROM   hr_locations hl,
540              mtl_parameters org
541       WHERE  hl.location_id = p_location_id
542       AND    hl.inventory_organization_id = org.organization_id;
543 
544       RETURN x_org_id;
545 
546    EXCEPTION
547       WHEN NO_DATA_FOUND THEN
548          invalid_value(p_location_id, p_column);
549       WHEN TOO_MANY_ROWS THEN
550          p_marker  := TRUE;
551          RETURN NULL;
552    END get_org_id_from_location_id;
553 
554    FUNCTION get_location_id_from_code(
555       p_location_code IN            rcv_headers_interface.location_code%TYPE,
556       p_column        IN            VARCHAR2,
557       p_marker        IN OUT NOCOPY BOOLEAN
558    )
559       RETURN rcv_headers_interface.location_id%TYPE IS
560       x_location_id rcv_headers_interface.location_id%TYPE;
561    BEGIN
562       p_marker  := FALSE;
563 
564       IF (p_location_code IS NULL) THEN
565          RETURN NULL;
566       END IF;
567 
568       SELECT location_id
569       INTO   x_location_id
570       FROM   hr_locations_all
571       WHERE  location_code = p_location_code
572       AND    (   business_group_id = NVL(hr_general.get_business_group_id, business_group_id)
573               OR business_group_id IS NULL);
574 
575       RETURN x_location_id;
576    EXCEPTION
577       WHEN NO_DATA_FOUND THEN
578       /* Bug 5056691: No need to error out the transaction, if we are not
579                       able to default the location_id. Bypassed the
580                       logging of error messages, as it is handled in
581                       validation logic. */
582          RETURN NULL;
583       WHEN TOO_MANY_ROWS THEN
584          p_marker  := TRUE;
585          RETURN NULL;
586    END get_location_id_from_code;
587 
588    FUNCTION get_payment_terms_id_from_name(
589       p_payment_terms_name IN            rcv_headers_interface.payment_terms_name%TYPE,
590       p_column             IN            VARCHAR2,
591       p_marker             IN OUT NOCOPY BOOLEAN
592    )
593       RETURN rcv_headers_interface.payment_terms_id%TYPE IS
594       x_payment_terms_id rcv_headers_interface.payment_terms_id%TYPE;
595    BEGIN
596       p_marker  := FALSE;
597 
598       IF (p_payment_terms_name IS NULL) THEN
599          RETURN NULL;
600       END IF;
601 
602       SELECT term_id
603       INTO   x_payment_terms_id
604       FROM   ap_terms
605       WHERE  NAME = p_payment_terms_name;
606 
607       RETURN x_payment_terms_id;
608    EXCEPTION
609       WHEN NO_DATA_FOUND THEN
610          invalid_value(p_payment_terms_name, p_column);
611       WHEN TOO_MANY_ROWS THEN
612          p_marker  := TRUE;
613          RETURN NULL;
614    END get_payment_terms_id_from_name;
615 
616    FUNCTION get_vendor_id_from_name(
617       p_vendor_name IN            rcv_headers_interface.vendor_name%TYPE,
618       p_column      IN            VARCHAR2,
619       p_marker      IN OUT NOCOPY BOOLEAN
620    )
621       RETURN rcv_headers_interface.vendor_id%TYPE IS
622       x_vendor_id rcv_headers_interface.vendor_id%TYPE;
623    BEGIN
624       p_marker  := FALSE;
625 
626       IF (p_vendor_name IS NULL) THEN
627          RETURN NULL;
628       END IF;
629 
630       SELECT vendor_id
631       INTO   x_vendor_id
632       FROM   po_vendors
633       WHERE  vendor_name = p_vendor_name;
634 
635       RETURN x_vendor_id;
636    EXCEPTION
637       WHEN NO_DATA_FOUND THEN
638          invalid_value(p_vendor_name, p_column);
639       WHEN TOO_MANY_ROWS THEN
640          p_marker  := TRUE;
641          RETURN NULL;
642    END get_vendor_id_from_name;
643 
644    FUNCTION get_vendor_id_from_num(
645       p_vendor_num IN            rcv_headers_interface.vendor_num%TYPE,
646       p_column     IN            VARCHAR2,
647       p_marker     IN OUT NOCOPY BOOLEAN
648    )
649       RETURN rcv_headers_interface.vendor_id%TYPE IS
650       x_vendor_id rcv_headers_interface.vendor_id%TYPE;
651    BEGIN
652       p_marker  := FALSE;
653 
654       IF (p_vendor_num IS NULL) THEN
655          RETURN NULL;
656       END IF;
657 
658       SELECT vendor_id
659       INTO   x_vendor_id
660       FROM   po_vendors
661       WHERE  segment1 = p_vendor_num;
662 
663       RETURN x_vendor_id;
664    EXCEPTION
665       WHEN NO_DATA_FOUND THEN
666          invalid_value(p_vendor_num, p_column);
667       WHEN TOO_MANY_ROWS THEN
668          p_marker  := TRUE;
669          RETURN NULL;
670    END get_vendor_id_from_num;
671 
672    FUNCTION get_vendor_site_id_from_code(
673       p_vendor_site_code IN            rcv_headers_interface.vendor_site_code%TYPE,
674       p_vendor_id        IN OUT NOCOPY rcv_headers_interface.vendor_id%TYPE,
675       p_org_id           IN            rcv_headers_interface.org_id%TYPE,
676       p_column           IN            VARCHAR2,
677       p_marker           IN OUT NOCOPY BOOLEAN
678    )
679       RETURN rcv_headers_interface.vendor_site_id%TYPE IS
680       x_vendor_site_id rcv_headers_interface.vendor_site_id%TYPE;
681       x_vendor_id      rcv_headers_interface.vendor_id%TYPE;
682    BEGIN
683       p_marker  := FALSE;
684 
685       IF (p_vendor_site_code IS NULL) THEN
686          RETURN NULL;
687       END IF;
688 
689       SELECT vendor_site_id,
690              vendor_id
691       INTO   x_vendor_site_id,
692              x_vendor_id
693       FROM   po_vendor_sites_all
694       WHERE  org_id = NVL(p_org_id, org_id)
695       AND    vendor_site_code = p_vendor_site_code
696       AND    vendor_id = NVL(p_vendor_id, vendor_id);
697 
698       IF (p_vendor_id IS NULL) THEN
699          p_vendor_id  := x_vendor_id;
700       END IF;
701 
702       RETURN x_vendor_site_id;
703    EXCEPTION
704       WHEN NO_DATA_FOUND THEN
705          invalid_value(p_vendor_site_code, p_column);
706       WHEN TOO_MANY_ROWS THEN
707          p_marker  := TRUE;
708          RETURN NULL;
709    END get_vendor_site_id_from_code;
710 
711    FUNCTION get_vendor_site_code_from_id(
712       p_vendor_site_id IN OUT NOCOPY rcv_headers_interface.vendor_site_id%TYPE,
713       p_vendor_id      IN OUT NOCOPY rcv_headers_interface.vendor_id%TYPE,
714       p_org_id         IN            rcv_headers_interface.org_id%TYPE,
715       p_column         IN            VARCHAR2,
716       p_marker         IN OUT NOCOPY BOOLEAN
717    )
718       RETURN rcv_headers_interface.vendor_site_code%TYPE IS
719       x_vendor_site_code rcv_headers_interface.vendor_site_code%TYPE;
720       x_vendor_id        rcv_headers_interface.vendor_id%TYPE;
721    BEGIN
722       p_marker  := FALSE;
723 
724       IF (p_vendor_site_id IS NULL) THEN
725          RETURN NULL;
726       END IF;
727 
728       SELECT vendor_site_code,
729              vendor_id
730       INTO   x_vendor_site_code,
731              x_vendor_id
732       FROM   po_vendor_sites
733       WHERE  org_id = NVL(p_org_id, org_id)
734       AND    vendor_site_id = p_vendor_site_id;
735 
736       IF (p_vendor_id IS NULL) THEN
737          p_vendor_id  := x_vendor_id;
738       END IF;
739 
740       RETURN x_vendor_site_code;
741    EXCEPTION
742       WHEN NO_DATA_FOUND THEN
743          invalid_value(p_vendor_id, p_column);
744       WHEN TOO_MANY_ROWS THEN
745          p_marker  := TRUE;
746          RETURN NULL;
747    END get_vendor_site_code_from_id;
748 
749    FUNCTION get_sfloc_id_from_code(
750       p_ship_from_location_code IN            rcv_headers_interface.ship_from_location_code%TYPE,
751       p_vendor_site_id          IN            rcv_headers_interface.vendor_site_id%TYPE,
752       p_column                  IN            VARCHAR2,
753       p_marker                  IN OUT NOCOPY BOOLEAN
754    )
755       RETURN rcv_headers_interface.ship_from_location_id%TYPE IS
756       x_ship_from_location_id rcv_headers_interface.ship_from_location_id%TYPE;
757    BEGIN
758       p_marker  := FALSE;
759 
760       IF (p_ship_from_location_code IS NULL) THEN
761          RETURN NULL;
762       END IF;
763 
764       --Bug 5200786. Performace Issue. Added the last where condition
765       SELECT max(hps.location_id)
766       INTO   x_ship_from_location_id
767       FROM   hz_party_sites hps,
768              hz_party_site_uses hpsu,
769              po_vendor_sites_all pvs
770       WHERE  pvs.vendor_site_id = p_vendor_site_id
771       AND    hpsu.party_site_id = hps.party_site_id
772       AND    hpsu.site_use_type = 'SUPPLIER_SHIP_FROM'
773       AND    hps.party_site_number = p_ship_from_location_code||'|'||hps.party_id
774       AND    hps.party_site_number like p_ship_from_location_code||'%'; --Bug 5200786.
775 
776       IF (x_ship_from_location_id is null) THEN --bug 5263555
777         invalid_value(p_vendor_site_id, p_column);
778       ELSE
779         RETURN x_ship_from_location_id;
780       END IF;
781 
782    EXCEPTION
783       WHEN NO_DATA_FOUND THEN
784 	/* Bug 4590642.
785 	 * Need to use p_vendor_site_id and not p_vendor_id.
786 	*/
787          invalid_value(p_vendor_site_id, p_column);
788       WHEN OTHERS THEN
789          p_marker  := TRUE;
790          RETURN NULL;
791    END get_sfloc_id_from_code;
792 
793    FUNCTION get_customer_item_id_from_num(
794       p_customer_item_num IN            rcv_transactions_interface.customer_item_num%TYPE,
795       p_customer_id       IN            rcv_transactions_interface.customer_id%TYPE,
796       p_column            IN            VARCHAR2,
797       p_marker            IN OUT NOCOPY BOOLEAN
798    )
799       RETURN rcv_transactions_interface.customer_item_id%TYPE IS
800       x_customer_item_id rcv_transactions_interface.customer_item_id%TYPE;
801    BEGIN
802       p_marker  := FALSE;
803 
804       IF (   p_customer_item_num IS NULL
805           OR p_customer_id IS NULL) THEN
806          IF (p_customer_item_num IS NOT NULL) THEN
807             p_marker  := TRUE;
808          END IF;
809 
810          RETURN NULL;
811       END IF;
812 
813       SELECT customer_item_id
814       INTO   x_customer_item_id
815       FROM   mtl_customer_items
816       WHERE  customer_item_number = p_customer_item_num
817       AND    customer_id = p_customer_id;
818 
819       RETURN x_customer_item_id;
820    EXCEPTION
821       WHEN NO_DATA_FOUND THEN
822          invalid_value(p_customer_item_num, p_column);
823       WHEN TOO_MANY_ROWS THEN
824          p_marker  := TRUE;
825          RETURN NULL;
826    END get_customer_item_id_from_num;
827 
828    FUNCTION get_customer_item_num_from_id(
829       p_customer_item_id IN            rcv_transactions_interface.customer_item_id%TYPE,
830       p_column           IN            VARCHAR2,
831       p_marker           IN OUT NOCOPY BOOLEAN
832    )
833       RETURN rcv_transactions_interface.customer_item_num%TYPE IS
834       x_customer_item_num rcv_transactions_interface.customer_item_num%TYPE;
835    BEGIN
836       p_marker  := FALSE;
837 
838       IF (p_customer_item_id IS NULL) THEN
839          RETURN NULL;
840       END IF;
841 
842       SELECT customer_item_number
843       INTO   x_customer_item_num
844       FROM   mtl_customer_items
845       WHERE  customer_item_id = p_customer_item_id;
846 
847       RETURN x_customer_item_num;
848    EXCEPTION
849       WHEN NO_DATA_FOUND THEN
850          invalid_value(p_customer_item_id, p_column);
851       WHEN TOO_MANY_ROWS THEN
852          p_marker  := TRUE;
853          RETURN NULL;
854    END get_customer_item_num_from_id;
855 
856 /*  Bug fix 5383556 : commenting this code as Item ID should not be derived from Item Description, since
857      A. It is possible that more than one item have the same description.
858      B. An One Time Item's description could match a description of a defined Item.
859 
860 
861    FUNCTION get_item_id_from_description(
862       p_item_description IN            rcv_transactions_interface.item_description%TYPE,
863       p_org_id           IN            rcv_transactions_interface.to_organization_id%TYPE,
864       p_column           IN            VARCHAR2,
865       p_marker           IN OUT NOCOPY BOOLEAN
866    )
867       RETURN rcv_transactions_interface.item_id%TYPE IS
868       x_item_id rcv_transactions_interface.item_id%TYPE;
869    BEGIN
870       p_marker  := FALSE;
871 
872       IF (   p_item_description IS NULL
873           OR p_org_id IS NULL) THEN
874          RETURN NULL;
875       END IF;
876 
877       SELECT inventory_item_id
878       INTO   x_item_id
879       FROM   mtl_item_flexfields
880       WHERE  organization_id = p_org_id
881       AND    description = p_item_description;
882 
883       RETURN x_item_id;
884    EXCEPTION
885       WHEN OTHERS THEN --Note that there is no invalid value here because of one-time-items
886          p_marker  := TRUE;
887          RETURN NULL;
888    END get_item_id_from_description;
889 */
890    FUNCTION get_item_id_from_num(
891       p_item_num IN            rcv_transactions_interface.item_num%TYPE,
892       p_org_id   IN            rcv_transactions_interface.to_organization_id%TYPE,
893       p_column   IN            VARCHAR2,
894       p_marker   IN OUT NOCOPY BOOLEAN
895    )
896       RETURN rcv_transactions_interface.item_id%TYPE IS
897       x_item_id rcv_transactions_interface.item_id%TYPE;
898    BEGIN
899       p_marker  := FALSE;
900 
901       IF (   p_item_num IS NULL
902           OR p_org_id IS NULL) THEN
903          RETURN NULL;
904       END IF;
905 
906       SELECT inventory_item_id
907       INTO   x_item_id
908       FROM   mtl_item_flexfields
909       WHERE  organization_id = p_org_id
910       AND    item_number = p_item_num;
911 
912       RETURN x_item_id;
913    EXCEPTION
914       WHEN NO_DATA_FOUND THEN
915          invalid_value(p_item_num, p_column);
916       WHEN TOO_MANY_ROWS THEN
917          p_marker  := TRUE;
918          RETURN NULL;
919    END get_item_id_from_num;
920 
921    FUNCTION get_item_description_from_id(
922       p_item_id IN            rcv_transactions_interface.item_id%TYPE,
923       p_org_id  IN            rcv_transactions_interface.to_organization_id%TYPE,
924       p_column  IN            VARCHAR2,
925       p_marker  IN OUT NOCOPY BOOLEAN
926    )
927       RETURN rcv_transactions_interface.item_description%TYPE IS
928       x_item_description rcv_transactions_interface.item_description%TYPE;
929    BEGIN
930       p_marker  := FALSE;
931 
932       IF (   p_item_id IS NULL
933           OR p_org_id IS NULL) THEN
934          RETURN NULL;
935       END IF;
936 /** Bug: 5504176
937  *    Item description field is MLS(multi lingual support) complaint field.
938  *    So, we have to fetch the description from mtl_system_items_vl instead of
939  *    mtl_item_flexfields, because mtl_system_items_vl view is based on
940  *    mtl_system_items_tl table.
941  */
942       SELECT description
943       INTO   x_item_description
944       FROM   mtl_system_items_vl --5504176
945       WHERE  organization_id = p_org_id
946       AND    inventory_item_id = p_item_id;
947 
948       RETURN x_item_description;
949    EXCEPTION
950       WHEN NO_DATA_FOUND THEN
951          invalid_value(p_item_id, p_column);
952       WHEN TOO_MANY_ROWS THEN
953          p_marker  := TRUE;
954          RETURN NULL;
955    END get_item_description_from_id;
956 
957    FUNCTION get_item_num_from_id(
958       p_item_id IN            rcv_transactions_interface.item_id%TYPE,
959       p_org_id  IN            rcv_transactions_interface.to_organization_id%TYPE,
960       p_column  IN            VARCHAR2,
961       p_marker  IN OUT NOCOPY BOOLEAN
962    )
963       RETURN rcv_transactions_interface.item_num%TYPE IS
964       x_item_num rcv_transactions_interface.item_num%TYPE;
965    BEGIN
966       p_marker  := FALSE;
967 
968       IF (   p_item_id IS NULL
969           OR p_org_id IS NULL) THEN
970          RETURN NULL;
971       END IF;
972 
973       SELECT item_number
974       INTO   x_item_num
975       FROM   mtl_item_flexfields
976       WHERE  organization_id = p_org_id
977       AND    inventory_item_id = p_item_id;
978 
979       RETURN x_item_num;
980    EXCEPTION
981       WHEN NO_DATA_FOUND THEN
982          invalid_value(p_item_id, p_column);
983       WHEN TOO_MANY_ROWS THEN
984          p_marker  := TRUE;
985          RETURN NULL;
986    END get_item_num_from_id;
987 
988    FUNCTION get_uom_measure_from_code(
989       p_uom_code IN            rcv_transactions_interface.uom_code%TYPE,
990       p_column   IN            VARCHAR2,
991       p_marker   IN OUT NOCOPY BOOLEAN
992    )
993       RETURN rcv_transactions_interface.unit_of_measure%TYPE IS
994       x_unit_of_measure rcv_transactions_interface.unit_of_measure%TYPE;
995    BEGIN
996       p_marker  := FALSE;
997 
998       IF (p_uom_code IS NULL) THEN
999          RETURN NULL;
1000       END IF;
1001 
1002       SELECT unit_of_measure
1003       INTO   x_unit_of_measure
1004       FROM   mtl_units_of_measure
1005       WHERE  uom_code = p_uom_code;
1006 
1007       RETURN x_unit_of_measure;
1008    EXCEPTION
1009       WHEN NO_DATA_FOUND THEN
1010          invalid_value(p_uom_code, p_column);
1011       WHEN TOO_MANY_ROWS THEN
1012          p_marker  := TRUE;
1013          RETURN NULL;
1014    END get_uom_measure_from_code;
1015 
1016    FUNCTION get_uom_code_from_measure(
1017       p_unit_of_measure IN            rcv_transactions_interface.unit_of_measure%TYPE,
1018       p_column          IN            VARCHAR2,
1019       p_marker          IN OUT NOCOPY BOOLEAN
1020    )
1021       RETURN rcv_transactions_interface.uom_code%TYPE IS
1022       x_uom_code rcv_transactions_interface.uom_code%TYPE;
1023    BEGIN
1024       p_marker  := FALSE;
1025 
1026       IF (p_unit_of_measure IS NULL) THEN
1027          RETURN NULL;
1028       END IF;
1029 
1030 
1031       SELECT uom_code
1032       INTO   x_uom_code
1033       FROM   mtl_units_of_measure
1034       WHERE  unit_of_measure = p_unit_of_measure;
1035 
1036       RETURN x_uom_code;
1037    EXCEPTION
1038       WHEN NO_DATA_FOUND THEN
1039          invalid_value(p_unit_of_measure, p_column);
1040       WHEN TOO_MANY_ROWS THEN
1041          p_marker  := TRUE;
1042          RETURN NULL;
1043    END get_uom_code_from_measure;
1044 
1045    FUNCTION get_locator_id_from_locator(
1046       p_locator      IN            rcv_transactions_interface.LOCATOR%TYPE,
1047       p_org_id       IN            rcv_transactions_interface.to_organization_id%TYPE,
1048       p_subinventory IN            rcv_transactions_interface.subinventory%TYPE,
1049       p_column       IN            VARCHAR2,
1050       p_marker       IN OUT NOCOPY BOOLEAN
1051    )
1052       RETURN rcv_transactions_interface.locator_id%TYPE IS
1053       x_locator_id rcv_transactions_interface.locator_id%TYPE;
1054    BEGIN
1055       p_marker  := FALSE;
1056 
1057       IF (   p_locator IS NULL
1058           OR p_org_id IS NULL) THEN
1059          RETURN NULL;
1060       END IF;
1061 
1062       SELECT inventory_location_id
1063       INTO   x_locator_id
1064       FROM   mtl_item_locations_kfv
1065       WHERE  organization_id = p_org_id
1066       AND    concatenated_segments = p_locator
1067       AND    (   subinventory_code = NVL(p_subinventory, subinventory_code)
1068               OR subinventory_code IS NULL)
1069       AND    (   disable_date > SYSDATE
1070               OR disable_date IS NULL);
1071 
1072       RETURN x_locator_id;
1073    EXCEPTION
1074       WHEN NO_DATA_FOUND THEN
1075          invalid_value(p_locator, p_column);
1076       WHEN TOO_MANY_ROWS THEN
1077          p_marker  := TRUE;
1078          RETURN NULL;
1079    END get_locator_id_from_locator;
1080 
1081    FUNCTION get_locator_from_locator_id(
1082       p_locator_id   IN            rcv_transactions_interface.locator_id%TYPE,
1083       p_org_id       IN            rcv_transactions_interface.to_organization_id%TYPE,
1084       p_subinventory IN            rcv_transactions_interface.subinventory%TYPE,
1085       p_column       IN            VARCHAR2,
1086       p_marker       IN OUT NOCOPY BOOLEAN
1087    )
1088       RETURN rcv_transactions_interface.LOCATOR%TYPE IS
1089       x_locator rcv_transactions_interface.LOCATOR%TYPE;
1090    BEGIN
1091       p_marker  := FALSE;
1092 
1093       IF (   p_locator_id IS NULL
1094           OR p_org_id IS NULL) THEN
1095          RETURN NULL;
1096       END IF;
1097 
1098       SELECT concatenated_segments
1099       INTO   x_locator
1100       FROM   mtl_item_locations_kfv
1101       WHERE  organization_id = p_org_id
1102       AND    inventory_location_id = p_locator_id
1103       AND    (   subinventory_code = NVL(p_subinventory, subinventory_code)
1104               OR subinventory_code IS NULL)
1105       AND    (   disable_date > SYSDATE
1106               OR disable_date IS NULL);
1107 
1108       RETURN x_locator;
1109    EXCEPTION
1110       WHEN NO_DATA_FOUND THEN
1111          invalid_value(p_locator_id, p_column);
1112       WHEN TOO_MANY_ROWS THEN
1113          p_marker  := TRUE;
1114          RETURN NULL;
1115    END get_locator_from_locator_id;
1116 
1117    FUNCTION get_rtng_header_id_from_code(
1118       p_routing_code IN            rcv_transactions_interface.routing_code%TYPE,
1119       p_column       IN            VARCHAR2,
1120       p_marker       IN OUT NOCOPY BOOLEAN
1121    )
1122       RETURN rcv_transactions_interface.routing_header_id%TYPE IS
1123       x_routing_header_id rcv_transactions_interface.routing_header_id%TYPE;
1124    BEGIN
1125       p_marker  := FALSE;
1126 
1127       IF (p_routing_code IS NULL) THEN
1128          RETURN NULL;
1129       END IF;
1130 
1131       SELECT routing_header_id
1132       INTO   x_routing_header_id
1133       FROM   rcv_routing_headers
1134       WHERE  routing_name = p_routing_code;
1135 
1136       RETURN x_routing_header_id;
1137    EXCEPTION
1138       WHEN NO_DATA_FOUND THEN
1139          invalid_value(p_routing_code, p_column);
1140       WHEN TOO_MANY_ROWS THEN
1141          p_marker  := TRUE;
1142          RETURN NULL;
1143    END get_rtng_header_id_from_code;
1144 
1145    FUNCTION get_rtng_step_id_from_code(
1146       p_routing_step IN            rcv_transactions_interface.routing_step%TYPE,
1147       p_column       IN            VARCHAR2,
1148       p_marker       IN OUT NOCOPY BOOLEAN
1149    )
1150       RETURN rcv_transactions_interface.routing_step_id%TYPE IS
1151       x_routing_step_id rcv_transactions_interface.routing_step_id%TYPE;
1152    BEGIN
1153       p_marker  := FALSE;
1154 
1155       IF (p_routing_step IS NULL) THEN
1156          RETURN NULL;
1157       END IF;
1158 
1159       SELECT routing_step_id
1160       INTO   x_routing_step_id
1161       FROM   rcv_routing_steps
1162       WHERE  step_name = p_routing_step;
1163 
1164       RETURN x_routing_step_id;
1165    EXCEPTION
1166       WHEN NO_DATA_FOUND THEN
1167          invalid_value(p_routing_step, p_column);
1168       WHEN TOO_MANY_ROWS THEN
1169          p_marker  := TRUE;
1170          RETURN NULL;
1171    END get_rtng_step_id_from_code;
1172 
1173    FUNCTION get_wip_entity_id_from_name(
1174       p_wip_entity_name IN            rcv_transactions_interface.wip_entity_name%TYPE,
1175       p_org_id          IN            rcv_transactions_interface.to_organization_id%TYPE,
1176       p_column          IN            VARCHAR2,
1177       p_marker          IN OUT NOCOPY BOOLEAN
1178    )
1179       RETURN rcv_transactions_interface.wip_entity_id%TYPE IS
1180       x_wip_entity_id rcv_transactions_interface.wip_entity_id%TYPE;
1181    BEGIN
1182       p_marker  := FALSE;
1183 
1184       IF (   p_wip_entity_name IS NULL
1185           OR p_org_id IS NULL) THEN
1186          RETURN NULL;
1187       END IF;
1188 
1189       SELECT wip_entity_id
1190       INTO   x_wip_entity_id
1191       FROM   wip_entities
1192       WHERE  organization_id = p_org_id
1193       AND    wip_entity_name = p_wip_entity_name;
1194 
1195       RETURN x_wip_entity_id;
1196    EXCEPTION
1197       WHEN NO_DATA_FOUND THEN
1198          invalid_value(p_wip_entity_name, p_column);
1199       WHEN TOO_MANY_ROWS THEN
1200          p_marker  := TRUE;
1201          RETURN NULL;
1202    END get_wip_entity_id_from_name;
1203 
1204    FUNCTION get_wip_entity_name_from_id(
1205       p_wip_entity_id IN            rcv_transactions_interface.wip_entity_id%TYPE,
1206       p_org_id        IN            rcv_transactions_interface.to_organization_id%TYPE,
1207       p_column        IN            VARCHAR2,
1208       p_marker        IN OUT NOCOPY BOOLEAN
1209    )
1210       RETURN rcv_transactions_interface.wip_entity_name%TYPE IS
1211       x_wip_entity_name rcv_transactions_interface.wip_entity_name%TYPE;
1212    BEGIN
1213       p_marker  := FALSE;
1214 
1215       IF (   p_wip_entity_id IS NULL
1216           OR p_org_id IS NULL) THEN
1217          RETURN NULL;
1218       END IF;
1219 
1220       SELECT wip_entity_name
1221       INTO   x_wip_entity_name
1222       FROM   wip_entities
1223       WHERE  organization_id = p_org_id
1224       AND    wip_entity_id = p_wip_entity_id;
1225 
1226       RETURN x_wip_entity_name;
1227    EXCEPTION
1228       WHEN NO_DATA_FOUND THEN
1229          invalid_value(p_wip_entity_id, p_column);
1230       WHEN TOO_MANY_ROWS THEN
1231          p_marker  := TRUE;
1232          RETURN NULL;
1233    END get_wip_entity_name_from_id;
1234 
1235 /*******************************************************/
1236 /* SECTION 3: Framework for calling default from codes */
1237 /*******************************************************/
1238    PROCEDURE default_rhi_from_code(
1239       rhi IN OUT NOCOPY rcv_headers_interface%ROWTYPE
1240    ) IS
1241       x_dummy_mkr BOOLEAN;
1242    BEGIN
1243       IF (rhi.customer_id IS NULL) THEN
1244          rhi.customer_id  := get_customer_id_from_name_num(rhi.customer_party_name,
1245                                                            rhi.customer_account_number,
1246                                                            'CUSTOMER_PARTY_NAME',
1247                                                            'CUSTOMER_ACCOUNT_NUMBER',
1248                                                            g_rhi_cust_party_name_mkr,
1249                                                            g_rhi_cust_acc_num_mkr
1250                                                           );
1251       ELSIF(rhi.customer_id <> get_customer_id_from_name_num(rhi.customer_party_name,
1252                                                              rhi.customer_account_number,
1253                                                              'CUSTOMER_PARTY_NAME',
1254                                                              'CUSTOMER_ACCOUNT_NUMBER',
1255                                                              g_rhi_cust_party_name_mkr,
1256                                                              g_rhi_cust_acc_num_mkr
1257                                                             )) THEN
1258          invalid_match_value(rhi.customer_id,
1259                              get_customer_id_from_name_num(rhi.customer_party_name,
1260                                                            rhi.customer_account_number,
1261                                                            'CUSTOMER_PARTY_NAME',
1262                                                            'CUSTOMER_ACCOUNT_NUMBER',
1263                                                            g_rhi_cust_party_name_mkr,
1264                                                            g_rhi_cust_acc_num_mkr
1265                                                           ),
1266                              'CUSTOMER_ID'
1267                             );
1268       END IF;
1269 
1270       IF (rhi.employee_id IS NULL) THEN
1271          rhi.employee_id  := get_employee_id_from_name(rhi.employee_name,
1272                                                        'EMPLOYEE_NAME',
1273                                                        g_rhi_employee_name_mkr
1274                                                       );
1275       ELSIF(rhi.employee_id <> get_employee_id_from_name(rhi.employee_name,
1276                                                          'EMPLOYEE_NAME',
1277                                                          g_rhi_employee_name_mkr
1278                                                         )) THEN
1279          invalid_match_value(rhi.employee_id,
1280                              get_employee_id_from_name(rhi.employee_name,
1281                                                        'EMPLOYEE_NAME',
1282                                                        g_rhi_employee_name_mkr
1283                                                       ),
1284                              'EMPLOYEE_ID'
1285                             );
1286       END IF;
1287 
1288       IF (rhi.from_organization_id IS NULL) THEN
1289          rhi.from_organization_id  := get_org_id_from_code(rhi.from_organization_code,
1290                                                            'ORGANIZATION_CODE',
1291                                                            x_dummy_mkr
1292                                                           );
1293       ELSIF(rhi.from_organization_id <> get_org_id_from_code(rhi.from_organization_code,
1294                                                              'ORGANIZATION_CODE',
1295                                                              x_dummy_mkr
1296                                                             )) THEN
1297          invalid_match_value(rhi.from_organization_id,
1298                              get_org_id_from_code(rhi.from_organization_code,
1299                                                   'ORGANIZATION_CODE',
1300                                                   x_dummy_mkr
1301                                                  ),
1302                              'FROM_ORGANIZATION_ID'
1303                             );
1304       END IF;
1305 
1306       IF (rhi.org_id IS NULL) THEN
1307          rhi.org_id  := get_org_id_from_ou(rhi.operating_unit,
1308                                            'OPERATING_UNIT',
1309                                            g_rhi_ou_mkr
1310                                           );
1311       ELSIF(rhi.org_id <> get_org_id_from_ou(rhi.operating_unit,
1312                                              'OPERATING_UNIT',
1313                                              g_rhi_ou_mkr
1314                                             )) THEN
1315          invalid_match_value(rhi.org_id,
1316                              get_org_id_from_ou(rhi.operating_unit,
1317                                                 'OPERATING_UNIT',
1318                                                 g_rhi_ou_mkr
1319                                                ),
1320                              'ORG_ID'
1321                             );
1322       END IF;
1323 
1324       IF (rhi.ship_to_organization_id IS NULL) THEN
1325          rhi.ship_to_organization_id  := get_org_id_from_code(rhi.ship_to_organization_code,
1326                                                               'SHIP_TO_ORGANIZATION_CODE',
1327                                                               x_dummy_mkr
1328                                                              );
1329       ELSIF(rhi.ship_to_organization_id <> get_org_id_from_code(rhi.ship_to_organization_code,
1330                                                                 'SHIP_TO_ORGANIZATION_CODE',
1331                                                                 x_dummy_mkr
1332                                                                )) THEN
1333          invalid_match_value(rhi.ship_to_organization_id,
1334                              get_org_id_from_code(rhi.ship_to_organization_code,
1335                                                   'SHIP_TO_ORGANIZATION_CODE',
1336                                                   x_dummy_mkr
1337                                                  ),
1338                              'SHIP_TO_ORGANIZATION_ID'
1339                             );
1340       END IF;
1341 
1342       /*
1343       ** Bug#4615534 - Org_id defaulting from inventory organization
1344       ** needs to be done only for In-transit shipments
1345       */
1346       IF(rhi.receipt_source_code IN ('INVENTORY','INTERNAL ORDER')) THEN -- Bug 9706173
1347       /* With the SHIP_TO_ORGANIZATION_ID we need to derive the org_id */
1348           IF (rhi.org_id IS NULL) THEN
1349              rhi.org_id  := get_org_id_from_inv_org_id(rhi.ship_to_organization_id);
1350           ELSIF(rhi.org_id <> get_org_id_from_inv_org_id(rhi.ship_to_organization_id)) THEN
1351              invalid_match_value(rhi.org_id,
1352                                  get_org_id_from_inv_org_id(rhi.ship_to_organization_id),
1353                                  'ORG_ID'
1354                                 );
1355           END IF;
1356       END IF;
1357 
1358       IF (rhi.location_id IS NULL) THEN
1359          rhi.location_id  := get_location_id_from_code(rhi.location_code,
1360                                                        'LOCATION_CODE',
1361                                                        x_dummy_mkr
1362                                                       );
1363       ELSIF(rhi.location_id <> get_location_id_from_code(rhi.location_code,
1364                                                          'LOCATION_CODE',
1365                                                          x_dummy_mkr
1366                                                         )) THEN
1367          invalid_match_value(rhi.location_id,
1368                              get_location_id_from_code(rhi.location_code,
1369                                                        'LOCATION_CODE',
1370                                                        x_dummy_mkr
1371                                                       ),
1372                              'LOCATION_ID'
1373                             );
1374       END IF;
1375 
1376       IF (rhi.payment_terms_id IS NULL) THEN
1377          rhi.payment_terms_id  := get_payment_terms_id_from_name(rhi.payment_terms_name,
1378                                                                  'PAYMENT_TERMS_NAME',
1379                                                                  x_dummy_mkr
1380                                                                 );
1381       ELSIF(rhi.payment_terms_id <> get_payment_terms_id_from_name(rhi.payment_terms_name,
1382                                                                    'PAYMENT_TERMS_NAME',
1383                                                                    x_dummy_mkr
1384                                                                   )) THEN
1385          invalid_match_value(rhi.payment_terms_id,
1386                              get_payment_terms_id_from_name(rhi.payment_terms_name,
1387                                                             'PAYMENT_TERMS_NAME',
1388                                                             x_dummy_mkr
1389                                                            ),
1390                              'PAYMENT_TERMS_ID'
1391                             );
1392       END IF;
1393       -- Bug 6434823, Bug 6603681, Bug 7651399
1394       asn_debug.put_line('checking for rhi vendor fields');
1395       If (rhi.receipt_source_code = 'VENDOR' and rhi.vendor_id IS NULL AND rhi.vendor_name IS NULL AND rhi.vendor_num IS NULL) Then
1396           rcv_error_pkg.set_error_message('RCV_VENDOR_ALL_NULL');
1397           rcv_error_pkg.log_interface_error('RCV_HEADERS_INTERFACE',
1398                                             'VENDOR_ID',
1399                                             g_curr_group_id,
1400                                             g_curr_header_id,
1401                                             g_curr_transaction_id);
1402 
1403       Else
1404           IF (rhi.vendor_id IS NULL) THEN
1405              rhi.vendor_id  := get_vendor_id_from_name(rhi.vendor_name,
1406                                                        'VENDOR_NAME',
1407                                                        x_dummy_mkr
1408                                                       );
1409           ELSIF(rhi.vendor_id <> get_vendor_id_from_name(rhi.vendor_name,
1410                                                          'VENDOR_NAME',
1411                                                          x_dummy_mkr
1412                                                         )) THEN
1413              invalid_match_value(rhi.vendor_id,
1414                                  get_vendor_id_from_name(rhi.vendor_name,
1415                                                          'VENDOR_NAME',
1416                                                          x_dummy_mkr
1417                                                         ),
1418                                  'VENDOR_ID'
1419                                 );
1420           END IF;
1421 
1422           IF (rhi.vendor_id IS NULL) THEN
1423              rhi.vendor_id  := get_vendor_id_from_num(rhi.vendor_num,
1424                                                       'VENDOR_NUM',
1425                                                       x_dummy_mkr
1426                                                      );
1427           ELSIF(rhi.vendor_id <> get_vendor_id_from_num(rhi.vendor_num,
1428                                                         'VENDOR_NUM',
1429                                                         x_dummy_mkr
1430                                                        )) THEN
1431              invalid_match_value(rhi.vendor_id,
1432                                  get_vendor_id_from_num(rhi.vendor_num,
1433                                                         'VENDOR_NUM',
1434                                                         x_dummy_mkr
1435                                                        ),
1436                                  'VENDOR_ID'
1437                                 );
1438           END IF;
1439       END IF;
1440 
1441       IF (rhi.vendor_site_id IS NULL) THEN
1442          rhi.vendor_site_id  := get_vendor_site_id_from_code(rhi.vendor_site_code,
1443                                                              rhi.vendor_id,
1444                                                              rhi.org_id,
1445                                                              'VENDOR_SITE_CODE',
1446                                                              g_rhi_vendor_site_code_mkr
1447                                                             );
1448       ELSIF(rhi.vendor_site_id <> get_vendor_site_id_from_code(rhi.vendor_site_code,
1449                                                                rhi.vendor_id,
1450                                                                rhi.org_id,
1451                                                                'VENDOR_SITE_CODE',
1452                                                                g_rhi_vendor_site_code_mkr
1453                                                               )) THEN
1454          invalid_match_value(rhi.vendor_site_id,
1455                              get_vendor_site_id_from_code(rhi.vendor_site_code,
1456                                                           rhi.vendor_id,
1457                                                           rhi.org_id,
1458                                                           'VENDOR_SITE_CODE',
1459                                                           g_rhi_vendor_site_code_mkr
1460                                                          ),
1461                              'VENDOR_SITE_ID'
1462                             );
1463       END IF;
1464 
1465       IF (rhi.ship_from_location_id IS NULL) THEN
1466          rhi.ship_from_location_id  := get_sfloc_id_from_code(rhi.ship_from_location_code,
1467                                                               rhi.vendor_site_id,
1468                                                               'SHIP_FROM_LOCATION_CODE',
1469                                                               x_dummy_mkr
1470                                                              );
1471 	/* Bug 4590642.
1472 	 * Use rhi.vendor_site_id instead of rhi.vendor_id.
1473 	*/
1474       ELSIF(rhi.ship_from_location_id <> get_sfloc_id_from_code(rhi.ship_from_location_code,
1475                                                                 rhi.vendor_site_id,
1476                                                                 'SHIP_FROM_LOCATION_CODE',
1477                                                                 x_dummy_mkr
1478                                                                )) THEN
1479          invalid_match_value(rhi.ship_from_location_id,
1480 				/* Bug 4590642.
1481 				 * we should not call with rhi.org_id.
1482 				 * Also use rhi.vendor_site_id instead
1483 				 * of rhi.venor_id.
1484 				*/
1485                              get_sfloc_id_from_code(rhi.ship_from_location_code,
1486                                                     rhi.vendor_site_id,
1487                                                    -- rhi.org_id,
1488                                                     'SHIP_FROM_LOCATION_CODE',
1489                                                     x_dummy_mkr
1490                                                    ),
1491                              'SHIP_FROM_LOCATION_ID'
1492                             );
1493       END IF;
1494    END default_rhi_from_code;
1495 
1496    PROCEDURE check_rhi_consistency(
1497       rhi IN OUT NOCOPY rcv_headers_interface%ROWTYPE
1498    ) IS
1499       x_dummy_mkr BOOLEAN;
1500    BEGIN
1501       IF (g_rhi_ou_mkr = TRUE) THEN
1502          IF (rhi.operating_unit IS NULL) THEN
1503             rhi.operating_unit  := get_ou_from_org_id(rhi.org_id,
1504                                                       'ORG_ID',
1505                                                       x_dummy_mkr
1506                                                      );
1507          ELSIF(rhi.operating_unit <> get_ou_from_org_id(rhi.org_id,
1508                                                         'ORG_ID',
1509                                                         x_dummy_mkr
1510                                                        )) THEN
1511             invalid_match_value(rhi.operating_unit,
1512                                 get_ou_from_org_id(rhi.org_id,
1513                                                    'ORG_ID',
1514                                                    x_dummy_mkr
1515                                                   ),
1516                                 'OPERATING_UNIT'
1517                                );
1518          END IF;
1519       END IF;
1520 
1521       IF (g_rhi_cust_party_name_mkr = TRUE) THEN
1522          IF (rhi.customer_party_name IS NULL) THEN
1523             rhi.customer_party_name  := get_customer_name_from_id(rhi.customer_id,
1524                                                                   'CUSTOMER_ID',
1525                                                                   x_dummy_mkr
1526                                                                  );
1527          ELSIF(rhi.customer_party_name <> get_customer_name_from_id(rhi.customer_id,
1528                                                                     'CUSTOMER_ID',
1529                                                                     x_dummy_mkr
1530                                                                    )) THEN
1531             invalid_match_value(rhi.customer_party_name,
1532                                 get_customer_name_from_id(rhi.customer_id,
1533                                                           'CUSTOMER_ID',
1534                                                           x_dummy_mkr
1535                                                          ),
1536                                 'CUSTOMER_PARTY_NAME'
1537                                );
1538          END IF;
1539       END IF;
1540 
1541       IF (g_rhi_cust_acc_num_mkr = TRUE) THEN
1542          IF (rhi.customer_account_number IS NULL) THEN
1543             rhi.customer_account_number  := get_customer_num_from_id(rhi.customer_id,
1544                                                                      'CUSTOMER_ID',
1545                                                                      x_dummy_mkr
1546                                                                     );
1547          ELSIF(rhi.customer_account_number <> get_customer_num_from_id(rhi.customer_id,
1548                                                                        'CUSTOMER_ID',
1549                                                                        x_dummy_mkr
1550                                                                       )) THEN
1551             invalid_match_value(rhi.customer_account_number,
1552                                 get_customer_num_from_id(rhi.customer_id,
1553                                                          'CUSTOMER_ID',
1554                                                          x_dummy_mkr
1555                                                         ),
1556                                 'CUSTOMER_ACCOUNT_NUMBER'
1557                                );
1558          END IF;
1559       END IF;
1560 
1561       IF (g_rhi_employee_name_mkr = TRUE) THEN
1562          IF (rhi.employee_name IS NULL) THEN
1563             rhi.employee_name  := get_employee_name_from_id(rhi.employee_id,
1564                                                             'EMPLOYEE_ID',
1565                                                             x_dummy_mkr
1566                                                            );
1567          ELSIF(rhi.employee_name <> get_employee_name_from_id(rhi.employee_id,
1568                                                               'EMPLOYEE_ID',
1569                                                               x_dummy_mkr
1570                                                              )) THEN
1571             invalid_match_value(rhi.employee_name,
1572                                 get_employee_name_from_id(rhi.employee_id,
1573                                                           'EMPLOYEE_ID',
1574                                                           x_dummy_mkr
1575                                                          ),
1576                                 'EMPLOYEE_NAME'
1577                                );
1578          END IF;
1579       END IF;
1580 
1581       IF (g_rhi_vendor_site_code_mkr = TRUE) THEN
1582          IF (rhi.vendor_site_code IS NULL) THEN
1583             rhi.vendor_site_code  := get_vendor_site_code_from_id(rhi.vendor_site_id,
1584                                                                   rhi.vendor_id,
1585                                                                   rhi.org_id,
1586                                                                   'VENDOR_SITE_ID',
1587                                                                   x_dummy_mkr
1588                                                                  );
1589          ELSIF(rhi.vendor_site_code <> get_vendor_site_code_from_id(rhi.vendor_site_id,
1590                                                                     rhi.vendor_id,
1591                                                                     rhi.org_id,
1592                                                                     'VENDOR_SITE_ID',
1593                                                                     x_dummy_mkr
1594                                                                    )) THEN
1595             invalid_match_value(rhi.vendor_site_code,
1596                                 get_vendor_site_code_from_id(rhi.vendor_site_id,
1597                                                              rhi.vendor_id,
1598                                                              rhi.org_id,
1599                                                              'VENDOR_SITE_ID',
1600                                                              x_dummy_mkr
1601                                                             ),
1602                                 'VENDOR_SITE_CODE'
1603                                );
1604          END IF;
1605       END IF;
1606    END check_rhi_consistency;
1607 
1608    PROCEDURE default_rti_from_code(
1609       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
1610    ) IS
1611       x_dummy_mkr BOOLEAN;
1612    BEGIN
1613       IF (rti.customer_id IS NULL) THEN
1614          rti.customer_id  := get_customer_id_from_name_num(rti.customer_party_name,
1615                                                            rti.customer_account_number,
1616                                                            'CUSTOMER_PARTY_NAME',
1617                                                            'CUSTOMER_ACCOUNT_NUMBER',
1618                                                            g_rti_cust_party_name_mkr,
1619                                                            g_rti_cust_acc_num_mkr
1620                                                           );
1621       ELSIF(rti.customer_id <> get_customer_id_from_name_num(rti.customer_party_name,
1622                                                              rti.customer_account_number,
1623                                                              'CUSTOMER_PARTY_NAME',
1624                                                              'CUSTOMER_ACCOUNT_NUMBER',
1625                                                              g_rti_cust_party_name_mkr,
1626                                                              g_rti_cust_acc_num_mkr
1627                                                             )) THEN
1628          invalid_match_value(rti.customer_id,
1629                              get_customer_id_from_name_num(rti.customer_party_name,
1630                                                            rti.customer_account_number,
1631                                                            'CUSTOMER_PARTY_NAME',
1632                                                            'CUSTOMER_ACCOUNT_NUMBER',
1633                                                            g_rti_cust_party_name_mkr,
1634                                                            g_rti_cust_acc_num_mkr
1635                                                           ),
1636                              'CUSTOMER_ID'
1637                             );
1638       END IF;
1639 
1640       IF (rti.customer_item_id IS NULL) THEN
1641          rti.customer_item_id  := get_customer_item_id_from_num(rti.customer_item_num,
1642                                                                 rti.customer_id,
1643                                                                 'CUSTOMER_ITEM_NUM',
1644                                                                 g_rti_cust_item_num_mkr
1645                                                                );
1646       ELSIF(rti.customer_item_id <> get_customer_item_id_from_num(rti.customer_item_num,
1647                                                                   rti.customer_id,
1648                                                                   'CUSTOMER_ITEM_NUM',
1649                                                                   g_rti_cust_item_num_mkr
1650                                                                  )) THEN
1651          invalid_match_value(rti.customer_item_id,
1652                              get_customer_item_id_from_num(rti.customer_item_num,
1653                                                            rti.customer_id,
1654                                                            'CUSTOMER_ITEM_NUM',
1655                                                            g_rti_cust_item_num_mkr
1656                                                           ),
1657                              'CUSTOMER_ITEM_ID'
1658                             );
1659       END IF;
1660 
1661       IF (rti.deliver_to_location_id IS NULL) THEN
1662          rti.deliver_to_location_id  := get_location_id_from_code(rti.deliver_to_location_code,
1663                                                                   'DELIVER_TO_LOCATION_CODE',
1664                                                                   x_dummy_mkr
1665                                                                  );
1666       ELSIF(rti.deliver_to_location_id <> get_location_id_from_code(rti.deliver_to_location_code,
1667                                                                     'DELIVER_TO_LOCATION_CODE',
1668                                                                     x_dummy_mkr
1669                                                                    )) THEN
1670          invalid_match_value(rti.deliver_to_location_id,
1671                              get_location_id_from_code(rti.deliver_to_location_code,
1672                                                        'DELIVER_TO_LOCATION_CODE',
1673                                                        x_dummy_mkr
1674                                                       ),
1675                              'DELIVER_TO_LOCATION_ID'
1676                             );
1677       END IF;
1678 
1679       IF (rti.location_id IS NULL) THEN
1680          rti.location_id  := get_location_id_from_code(rti.location_code,
1681                                                        'LOCATION_CODE',
1682                                                        x_dummy_mkr
1683                                                       );
1684       ELSIF(rti.location_id <> get_location_id_from_code(rti.location_code,
1685                                                          'LOCATION_CODE',
1686                                                          x_dummy_mkr
1687                                                         )) THEN
1688          invalid_match_value(rti.location_id,
1689                              get_location_id_from_code(rti.location_code,
1690                                                        'LOCATION_CODE',
1691                                                        x_dummy_mkr
1692                                                       ),
1693                              'LOCATION_ID'
1694                             );
1695       END IF;
1696 
1697       IF (rti.ship_to_location_id IS NULL) THEN
1698          rti.ship_to_location_id  := get_location_id_from_code(rti.ship_to_location_code,
1699                                                                'SHIP_TO_LOCATION_CODE',
1700                                                                x_dummy_mkr
1701                                                               );
1702       ELSIF(rti.ship_to_location_id <> get_location_id_from_code(rti.ship_to_location_code,
1703                                                                  'SHIP_TO_LOCATION_CODE',
1704                                                                  x_dummy_mkr
1705                                                                 )) THEN
1706          invalid_match_value(rti.ship_to_location_id,
1707                              get_location_id_from_code(rti.ship_to_location_code,
1708                                                        'SHIP_TO_LOCATION_CODE',
1709                                                        x_dummy_mkr
1710                                                       ),
1711                              'SHIP_TO_LOCATION_ID'
1712                             );
1713       END IF;
1714 
1715       IF (rti.deliver_to_person_id IS NULL) THEN
1716          rti.deliver_to_person_id  := get_employee_id_from_name(rti.deliver_to_person_name,
1717                                                                 'DELIVER_TO_PERSON_NAME',
1718                                                                 g_rti_dlvr_to_prsn_name_mkr
1719                                                                );
1720       ELSIF(rti.deliver_to_person_id <> get_employee_id_from_name(rti.deliver_to_person_name,
1721                                                                   'DELIVER_TO_PERSON_NAME',
1722                                                                   g_rti_dlvr_to_prsn_name_mkr
1723                                                                  )) THEN
1724          invalid_match_value(rti.deliver_to_person_id,
1725                              get_employee_id_from_name(rti.deliver_to_person_name,
1726                                                        'DELIVER_TO_PERSON_NAME',
1727                                                        g_rti_dlvr_to_prsn_name_mkr
1728                                                       ),
1729                              'DELIVER_TO_PERSON_ID'
1730                             );
1731       END IF;
1732 
1733       IF (rti.from_organization_id IS NULL) THEN
1734          rti.from_organization_id  := get_org_id_from_code(rti.from_organization_code,
1735                                                            'FROM_ORGANIZATION_CODE',
1736                                                            x_dummy_mkr
1737                                                           );
1738       ELSIF(rti.from_organization_id <> get_org_id_from_code(rti.from_organization_code,
1739                                                              'FROM_ORGANIZATION_CODE',
1740                                                              x_dummy_mkr
1741                                                             )) THEN
1742          invalid_match_value(rti.from_organization_id,
1743                              get_org_id_from_code(rti.from_organization_code,
1744                                                   'FROM_ORGANIZATION_CODE',
1745                                                   x_dummy_mkr
1746                                                  ),
1747                              'FROM_ORGANIZATION_ID'
1748                             );
1749       END IF;
1750 
1751       IF (rti.intransit_owning_org_id IS NULL) THEN
1752          rti.intransit_owning_org_id  := get_org_id_from_code(rti.intransit_owning_org_code,
1753                                                               'INTRANSIT_OWNING_ORG_CODE',
1754                                                               x_dummy_mkr
1755                                                              );
1756       ELSIF(rti.intransit_owning_org_id <> get_org_id_from_code(rti.intransit_owning_org_code,
1757                                                                 'INTRANSIT_OWNING_ORG_CODE',
1758                                                                 x_dummy_mkr
1759                                                                )) THEN
1760          invalid_match_value(rti.intransit_owning_org_id,
1761                              get_org_id_from_code(rti.intransit_owning_org_code,
1762                                                   'INTRANSIT_OWNING_ORG_CODE',
1763                                                   x_dummy_mkr
1764                                                  ),
1765                              'INTRANSIT_OWNING_ORG_ID'
1766                             );
1767       END IF;
1768 
1769       IF (rti.org_id IS NULL) THEN
1770          rti.org_id  := get_org_id_from_ou(rti.operating_unit,
1771                                            'OPERATING_UNIT',
1772                                            g_rti_ou_mkr
1773                                           );
1774       ELSIF(rti.org_id <> get_org_id_from_ou(rti.operating_unit,
1775                                              'OPERATING_UNIT',
1776                                              g_rti_ou_mkr
1777                                             )) THEN
1778          invalid_match_value(rti.org_id,
1779                              get_org_id_from_ou(rti.operating_unit,
1780                                                 'OPERATING_UNIT',
1781                                                 g_rti_ou_mkr
1782                                                ),
1783                              'ORG_ID'
1784                             );
1785       END IF;
1786 
1787       IF (rti.to_organization_id IS NULL) THEN
1788          rti.to_organization_id  := get_org_id_from_code(rti.to_organization_code,
1789                                                          'TO_ORGANIZATION_CODE',
1790                                                          x_dummy_mkr
1791                                                         );
1792       ELSIF(rti.to_organization_id <> get_org_id_from_code(rti.to_organization_code,
1793                                                            'TO_ORGANIZATION_CODE',
1794                                                            x_dummy_mkr
1795                                                           )) THEN
1796          invalid_match_value(rti.to_organization_id,
1797                              get_org_id_from_code(rti.to_organization_code,
1798                                                   'TO_ORGANIZATION_CODE',
1799                                                   x_dummy_mkr
1800                                                  ),
1801                              'TO_ORGANIZATION_ID'
1802                             );
1803       END IF;
1804 
1805       --Bug 7591174 Added a call to get the organization_id from ship_to_location_id
1806       IF (rti.to_organization_id IS NULL) THEN
1807          rti.to_organization_id  := get_org_id_from_location_id(rti.ship_to_location_id,
1808                                                          'SHIP_TO_LOCATION_ID',
1809                                                          x_dummy_mkr
1810                                                         );
1811       END IF;
1812       /*
1813       ** Bug#4615534 - Org_id defaulting from inventory organization
1814       ** needs to be done only for In-transit shipments
1815       */
1816       IF(rti.receipt_source_code IN ('INVENTORY','INTERNAL ORDER')) THEN -- Bug 9706173
1817       /* With the TO_ORGANIZATION_ID we need to derive the org_id */
1818           IF (rti.org_id IS NULL) THEN
1819              rti.org_id  := get_org_id_from_inv_org_id(rti.to_organization_id);
1820           ELSIF(rti.org_id <> get_org_id_from_inv_org_id(rti.to_organization_id)) THEN
1821              invalid_match_value(rti.org_id,
1822                                  get_org_id_from_inv_org_id(rti.to_organization_id),
1823                                  'ORG_ID'
1824                                 );
1825           END IF;
1826       END IF;
1827 
1828       IF (rti.vendor_id IS NULL) THEN
1829          rti.vendor_id  := get_vendor_id_from_name(rti.vendor_name,
1830                                                    'VENDOR_NAME',
1831                                                    x_dummy_mkr
1832                                                   );
1833       ELSIF(rti.vendor_id <> get_vendor_id_from_name(rti.vendor_name,
1834                                                      'VENDOR_NAME',
1835                                                      x_dummy_mkr
1836                                                     )) THEN
1837          invalid_match_value(rti.vendor_id,
1838                              get_vendor_id_from_name(rti.vendor_name,
1839                                                      'VENDOR_NAME',
1840                                                      x_dummy_mkr
1841                                                     ),
1842                              'VENDOR_ID'
1843                             );
1844       END IF;
1845 
1846       IF (rti.vendor_id IS NULL) THEN
1847          rti.vendor_id  := get_vendor_id_from_num(rti.vendor_num,
1848                                                   'VENDOR_NUM',
1849                                                   x_dummy_mkr
1850                                                  );
1851       ELSIF(rti.vendor_id <> get_vendor_id_from_num(rti.vendor_num,
1852                                                     'VENDOR_NUM',
1853                                                     x_dummy_mkr
1854                                                    )) THEN
1855          invalid_match_value(rti.vendor_id,
1856                              get_vendor_id_from_num(rti.vendor_num,
1857                                                     'VENDOR_NUM',
1858                                                     x_dummy_mkr
1859                                                    ),
1860                              'VENDOR_ID'
1861                             );
1862       END IF;
1863 
1864       IF (rti.vendor_site_id IS NULL) THEN
1865          rti.vendor_site_id  := get_vendor_site_id_from_code(rti.vendor_site_code,
1866                                                              rti.vendor_id,
1867                                                              rti.org_id,
1868                                                              'VENDOR_SITE_CODE',
1869                                                              g_rti_vendor_site_code_mkr
1870                                                             );
1871       ELSIF(rti.vendor_site_id <> get_vendor_site_id_from_code(rti.vendor_site_code,
1872                                                                rti.vendor_id,
1873                                                                rti.org_id,
1874                                                                'VENDOR_SITE_CODE',
1875                                                                g_rti_vendor_site_code_mkr
1876                                                               )) THEN
1877          invalid_match_value(rti.vendor_site_id,
1878                              get_vendor_site_id_from_code(rti.vendor_site_code,
1879                                                           rti.vendor_id,
1880                                                           rti.org_id,
1881                                                           'VENDOR_SITE_CODE',
1882                                                           g_rti_vendor_site_code_mkr
1883                                                          ),
1884                              'VENDOR_SITE_ID'
1885                             );
1886       END IF;
1887 
1888       IF (rti.uom_code IS NULL) THEN
1889          rti.uom_code  := get_uom_code_from_measure(rti.unit_of_measure,
1890                                                     'UNIT_OF_MEASURE',
1891                                                     x_dummy_mkr
1892                                                    );
1893       ELSIF(rti.uom_code <> get_uom_code_from_measure(rti.unit_of_measure,
1894                                                       'UNIT_OF_MEASURE',
1895                                                       x_dummy_mkr
1896                                                      )) THEN
1897          invalid_match_value(rti.uom_code,
1898                              get_uom_code_from_measure(rti.unit_of_measure,
1899                                                        'UNIT_OF_MEASURE',
1900                                                        x_dummy_mkr
1901                                                       ),
1902                              'UOM_CODE'
1903                             );
1904       END IF;
1905 
1906       IF (rti.unit_of_measure IS NULL) THEN
1907          rti.unit_of_measure  := get_uom_measure_from_code(rti.uom_code,
1908                                                            'UOM_CODE',
1909                                                            x_dummy_mkr
1910                                                           );
1911       ELSIF(rti.unit_of_measure <> get_uom_measure_from_code(rti.uom_code,
1912                                                              'UOM_CODE',
1913                                                              x_dummy_mkr
1914                                                             )) THEN
1915          invalid_match_value(rti.unit_of_measure,
1916                              get_uom_measure_from_code(rti.uom_code,
1917                                                        'UOM_CODE',
1918                                                        x_dummy_mkr
1919                                                       ),
1920                              'UNIT_OF_MEASURE'
1921                             );
1922       END IF;
1923 
1924       IF (rti.secondary_uom_code IS NULL) THEN
1925          rti.secondary_uom_code  := get_uom_code_from_measure(rti.secondary_unit_of_measure,
1926                                                               'SECONDARY_UNIT_OF_MEASURE',
1927                                                               x_dummy_mkr
1928                                                              );
1929       ELSIF(rti.secondary_uom_code <> get_uom_code_from_measure(rti.secondary_unit_of_measure,
1930                                                                 'SECONDARY_UNIT_OF_MEASURE',
1931                                                                 x_dummy_mkr
1932                                                                )) THEN
1933          invalid_match_value(rti.secondary_uom_code,
1934                              get_uom_code_from_measure(rti.secondary_unit_of_measure,
1935                                                        'SECONDARY_UNIT_OF_MEASURE',
1936                                                        x_dummy_mkr
1937                                                       ),
1938                              'SECONDARY_UOM_CODE'
1939                             );
1940       END IF;
1941 
1942       IF (rti.secondary_unit_of_measure IS NULL) THEN
1943          rti.secondary_unit_of_measure  := get_uom_measure_from_code(rti.secondary_uom_code,
1944                                                                      'SECONDARY_UOM_CODE',
1945                                                                      x_dummy_mkr
1946                                                                     );
1947       ELSIF(rti.secondary_unit_of_measure <> get_uom_measure_from_code(rti.secondary_uom_code,
1948                                                                        'SECONDARY_UOM_CODE',
1949                                                                        x_dummy_mkr
1950                                                                       )) THEN
1951          invalid_match_value(rti.secondary_unit_of_measure,
1952                              get_uom_measure_from_code(rti.secondary_uom_code,
1953                                                        'SECONDARY_UOM_CODE',
1954                                                        x_dummy_mkr
1955                                                       ),
1956                              'SECONDARY_UNIT_OF_MEASURE'
1957                             );
1958       END IF;
1959 
1960       IF (rti.locator_id IS NULL) THEN
1961          rti.locator_id  := get_locator_id_from_locator(rti.LOCATOR,
1962                                                         rti.to_organization_id,
1963                                                         rti.subinventory,
1964                                                         'LOCATOR',
1965                                                         g_rti_locator_mkr
1966                                                        );
1967       ELSIF(rti.locator_id <> get_locator_id_from_locator(rti.LOCATOR,
1968                                                           rti.to_organization_id,
1969                                                           rti.subinventory,
1970                                                           'LOCATOR',
1971                                                           g_rti_locator_mkr
1972                                                          )) THEN
1973          invalid_match_value(rti.locator_id,
1974                              get_locator_id_from_locator(rti.LOCATOR,
1975                                                          rti.to_organization_id,
1976                                                          rti.subinventory,
1977                                                          'LOCATOR',
1978                                                          g_rti_locator_mkr
1979                                                         ),
1980                              'LOCATOR_ID'
1981                             );
1982       END IF;
1983 
1984       IF (rti.routing_header_id IS NULL) THEN
1985          rti.routing_header_id  := get_rtng_header_id_from_code(rti.routing_code,
1986                                                                 'ROUTING_CODE',
1987                                                                 x_dummy_mkr
1988                                                                );
1989       ELSIF(rti.routing_header_id <> get_rtng_header_id_from_code(rti.routing_code,
1990                                                                   'ROUTING_CODE',
1991                                                                   x_dummy_mkr
1992                                                                  )) THEN
1993          invalid_match_value(rti.routing_header_id,
1994                              get_rtng_header_id_from_code(rti.routing_code,
1995                                                           'ROUTING_CODE',
1996                                                           x_dummy_mkr
1997                                                          ),
1998                              'ROUTING_HEADER_ID'
1999                             );
2000       END IF;
2001 
2002       IF (rti.routing_step_id IS NULL) THEN
2003          rti.routing_step_id  := get_rtng_step_id_from_code(rti.routing_step,
2004                                                             'ROUTING_STEP',
2005                                                             x_dummy_mkr
2006                                                            );
2007       ELSIF(rti.routing_step_id <> get_rtng_step_id_from_code(rti.routing_step,
2008                                                               'ROUTING_STEP',
2009                                                               x_dummy_mkr
2010                                                              )) THEN
2011          invalid_match_value(rti.routing_step_id,
2012                              get_rtng_step_id_from_code(rti.routing_step,
2013                                                         'ROUTING_STEP',
2014                                                         x_dummy_mkr
2015                                                        ),
2016                              'ROUTING_STEP_ID'
2017                             );
2018       END IF;
2019 
2020       IF (rti.wip_entity_id IS NULL) THEN
2021          rti.wip_entity_id  := get_wip_entity_id_from_name(rti.wip_entity_name,
2022                                                            rti.to_organization_id,
2023                                                            'WIP_ENTITY_NAME',
2024                                                            g_rti_wip_entity_name_mkr
2025                                                           );
2026       ELSIF(rti.wip_entity_id <> get_wip_entity_id_from_name(rti.wip_entity_name,
2027                                                              rti.to_organization_id,
2028                                                              'WIP_ENTITY_NAME',
2029                                                              g_rti_wip_entity_name_mkr
2030                                                             )) THEN
2031          invalid_match_value(rti.wip_entity_id,
2032                              get_wip_entity_id_from_name(rti.wip_entity_name,
2033                                                          rti.to_organization_id,
2034                                                          'WIP_ENTITY_NAME',
2035                                                          g_rti_wip_entity_name_mkr
2036                                                         ),
2037                              'WIP_ENTITY_ID'
2038                             );
2039       END IF;
2040 
2041 /*  Bug fix 5383556 : commenting this code as Item ID should not be derived from Item Description, since
2042      A. It is possible that more than one item have the same description.
2043      B. An One Time Item's description could match a description of a defined Item.
2044 
2045       IF (rti.item_id IS NULL) THEN
2046          rti.item_id  := get_item_id_from_description(rti.item_description,
2047                                                       rti.to_organization_id,
2048                                                       'ITEM_DESCRIPTION',
2049                                                       g_rti_item_description_mkr
2050                                                      );
2051       ELSIF(rti.item_id <> get_item_id_from_description(rti.item_description,
2052                                                         rti.to_organization_id,
2053                                                         'ITEM_DESCRIPTION',
2054                                                         g_rti_item_description_mkr
2055                                                        )) THEN
2056          invalid_match_value(rti.item_id,
2057                              get_item_id_from_description(rti.item_description,
2058                                                           rti.to_organization_id,
2059                                                           'ITEM_DESCRIPTION',
2060                                                           g_rti_item_description_mkr
2061                                                          ),
2062                              'ITEM_ID'
2063                             );
2064       END IF;
2065 */
2066       IF (rti.item_id IS NULL) THEN
2067          rti.item_id  := get_item_id_from_num(rti.item_num,
2068                                               rti.to_organization_id,
2069                                               'ITEM_NUM',
2070                                               g_rti_item_num_mkr
2071                                              );
2072       ELSIF(rti.item_id <> get_item_id_from_num(rti.item_num,
2073                                                 rti.to_organization_id,
2074                                                 'ITEM_NUM',
2075                                                 g_rti_item_num_mkr
2076                                                )) THEN
2077          invalid_match_value(rti.item_id,
2078                              get_item_id_from_num(rti.item_num,
2079                                                   rti.to_organization_id,
2080                                                   'ITEM_NUM',
2081                                                   g_rti_item_num_mkr
2082                                                  ),
2083                              'ITEM_ID'
2084                             );
2085       END IF;
2086       /**  Bug 5516651: Bypassed the item description validation.
2087        *   Reason:
2088        *     When creating PO we can change the item description and while
2089        *     receiving RTI record is populated with the item description
2090        *     mentioned in the PO.
2091        *     if we validate the RTI.item description with the item description got
2092        *     from master item table, validation will fail.
2093        *     So, bypassing the item description validation
2094        */
2095       IF (rti.item_description IS NULL) THEN
2096          rti.item_description  := get_item_description_from_id(rti.item_id,
2097                                                                rti.to_organization_id,
2098                                                                'ITEM_ID',
2099                                                                x_dummy_mkr
2100                                                               );
2101 /*      ELSIF(rti.item_description <> get_item_description_from_id(rti.item_id,
2102                                                                  rti.to_organization_id,
2103                                                                  'ITEM_ID',
2104                                                                  x_dummy_mkr
2105                                                                 )) THEN
2106          invalid_match_value(rti.item_description,
2107                              get_item_description_from_id(rti.item_id,
2108                                                           rti.to_organization_id,
2109                                                           'ITEM_ID',
2110                                                           x_dummy_mkr
2111                                                          ),
2112                              'ITEM_DESCRIPTION'
2113                             );*/ --Bug 5516651
2114       END IF;
2115 
2116       IF (rti.item_num IS NULL) THEN
2117          rti.item_num  := get_item_num_from_id(rti.item_id,
2118                                                rti.to_organization_id,
2119                                                'ITEM_ID',
2120                                                x_dummy_mkr
2121                                               );
2122       ELSIF(rti.item_num <> get_item_num_from_id(rti.item_id,
2123                                                  rti.to_organization_id,
2124                                                  'ITEM_ID',
2125                                                  x_dummy_mkr
2126                                                 )) THEN
2127          invalid_match_value(rti.item_num,
2128                              get_item_num_from_id(rti.item_id,
2129                                                   rti.to_organization_id,
2130                                                   'ITEM_ID',
2131                                                   x_dummy_mkr
2132                                                  ),
2133                              'ITEM_NUM'
2134                             );
2135       END IF;
2136 
2137       IF (rti.substitute_item_id IS NULL) THEN
2138          rti.substitute_item_id  := get_item_id_from_num(rti.substitute_item_num,
2139                                                          rti.to_organization_id,
2140                                                          'SUBSTITUTE_ITEM_NUM',
2141                                                          g_rti_sub_item_num_mkr
2142                                                         );
2143       ELSIF(rti.substitute_item_id <> get_item_id_from_num(rti.substitute_item_num,
2144                                                            rti.to_organization_id,
2145                                                            'SUBSTITUTE_ITEM_NUM',
2146                                                            g_rti_sub_item_num_mkr
2147                                                           )) THEN
2148          invalid_match_value(rti.substitute_item_id,
2149                              get_item_id_from_num(rti.substitute_item_num,
2150                                                   rti.to_organization_id,
2151                                                   'SUBSTITUTE_ITEM_NUM',
2152                                                   g_rti_sub_item_num_mkr
2153                                                  ),
2154                              'SUBSTITUTE_ITEM_ID'
2155                             );
2156       END IF;
2157 
2158       IF (rti.substitute_item_num IS NULL) THEN
2159          rti.substitute_item_num  := get_item_num_from_id(rti.substitute_item_id,
2160                                                           rti.to_organization_id,
2161                                                           'SUBSTITUTE_ITEM_ID',
2162                                                           x_dummy_mkr
2163                                                          );
2164       ELSIF(rti.substitute_item_num <> get_item_num_from_id(rti.substitute_item_id,
2165                                                             rti.to_organization_id,
2166                                                             'SUBSTITUTE_ITEM_ID',
2167                                                             x_dummy_mkr
2168                                                            )) THEN
2169          invalid_match_value(rti.substitute_item_num,
2170                              get_item_num_from_id(rti.substitute_item_id,
2171                                                   rti.to_organization_id,
2172                                                   'SUBSTITUTE_ITEM_ID',
2173                                                   x_dummy_mkr
2174                                                  ),
2175                              'SUBSTITUTE_ITEM_NUM'
2176                             );
2177       END IF;
2178    /* Not processing TRANSFER_LICENSE_PLATE_NUMBER or WIP_LINE_CODE*/
2179    END default_rti_from_code;
2180 
2181    PROCEDURE check_rti_consistency(
2182       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
2183    ) IS
2184       x_dummy_mkr BOOLEAN;
2185    BEGIN
2186       IF (g_rti_ou_mkr = TRUE) THEN
2187          IF (rti.operating_unit IS NULL) THEN
2188             rti.operating_unit  := get_ou_from_org_id(rti.org_id,
2189                                                       'ORG_ID',
2190                                                       x_dummy_mkr
2191                                                      );
2192          ELSIF(rti.operating_unit <> get_ou_from_org_id(rti.org_id,
2193                                                         'ORG_ID',
2194                                                         x_dummy_mkr
2195                                                        )) THEN
2196             invalid_match_value(rti.operating_unit,
2197                                 get_ou_from_org_id(rti.org_id,
2198                                                    'ORG_ID',
2199                                                    x_dummy_mkr
2200                                                   ),
2201                                 'OPERATING_UNIT'
2202                                );
2203          END IF;
2204       END IF;
2205 
2206       IF (g_rti_cust_party_name_mkr = TRUE) THEN
2207          IF (rti.customer_party_name IS NULL) THEN
2208             rti.customer_party_name  := get_customer_name_from_id(rti.customer_id,
2209                                                                   'CUSTOMER_ID',
2210                                                                   x_dummy_mkr
2211                                                                  );
2212          ELSIF(rti.customer_party_name <> get_customer_name_from_id(rti.customer_id,
2213                                                                     'CUSTOMER_ID',
2214                                                                     x_dummy_mkr
2215                                                                    )) THEN
2216             invalid_match_value(rti.customer_party_name,
2217                                 get_customer_name_from_id(rti.customer_id,
2218                                                           'CUSTOMER_ID',
2219                                                           x_dummy_mkr
2220                                                          ),
2221                                 'CUSTOMER_PARTY_NAME'
2222                                );
2223          END IF;
2224       END IF;
2225 
2226       IF (g_rti_cust_acc_num_mkr = TRUE) THEN
2227          IF (rti.customer_account_number IS NULL) THEN
2228             rti.customer_account_number  := get_customer_num_from_id(rti.customer_id,
2229                                                                      'CUSTOMER_ID',
2230                                                                      x_dummy_mkr
2231                                                                     );
2232          ELSIF(rti.customer_account_number <> get_customer_num_from_id(rti.customer_id,
2233                                                                        'CUSTOMER_ID',
2234                                                                        x_dummy_mkr
2235                                                                       )) THEN
2236             invalid_match_value(rti.customer_account_number,
2237                                 get_customer_num_from_id(rti.customer_id,
2238                                                          'CUSTOMER_ID',
2239                                                          x_dummy_mkr
2240                                                         ),
2241                                 'CUSTOMER_ACCOUNT_NUMBER'
2242                                );
2243          END IF;
2244       END IF;
2245 
2246       IF (g_rti_cust_item_num_mkr = TRUE) THEN
2247          IF (rti.customer_item_num IS NULL) THEN
2248             rti.customer_item_num  := get_customer_item_num_from_id(rti.customer_item_id,
2249                                                                     'CUSTOMER_ITEM_ID',
2250                                                                     x_dummy_mkr
2251                                                                    );
2252          ELSIF(rti.customer_item_num <> get_customer_item_num_from_id(rti.customer_item_id,
2253                                                                       'CUSTOMER_ITEM_ID',
2254                                                                       x_dummy_mkr
2255                                                                      )) THEN
2256             invalid_match_value(rti.customer_item_num,
2257                                 get_customer_item_num_from_id(rti.customer_item_id,
2258                                                               'CUSTOMER_ITEM_ID',
2259                                                               x_dummy_mkr
2260                                                              ),
2261                                 'CUSTOMER_ITEM_NUM'
2262                                );
2263          END IF;
2264       END IF;
2265 
2266       IF (g_rti_employee_name_mkr = TRUE) THEN
2267          IF (rti.deliver_to_person_name IS NULL) THEN
2268             rti.deliver_to_person_name  := get_employee_name_from_id(rti.deliver_to_person_id,
2269                                                                      'DELIVER_TO_PERSON_ID',
2270                                                                      x_dummy_mkr
2271                                                                     );
2272          ELSIF(rti.deliver_to_person_name <> get_employee_name_from_id(rti.deliver_to_person_id,
2273                                                                        'DELIVER_TO_PERSON_ID',
2274                                                                        x_dummy_mkr
2275                                                                       )) THEN
2276             invalid_match_value(rti.deliver_to_person_name,
2277                                 get_employee_name_from_id(rti.deliver_to_person_id,
2278                                                           'DELIVER_TO_PERSON_ID',
2279                                                           x_dummy_mkr
2280                                                          ),
2281                                 'DELIVER_TO_PERSON_NAME'
2282                                );
2283          END IF;
2284       END IF;
2285 
2286       IF (g_rti_dlvr_to_prsn_name_mkr = TRUE) THEN
2287          IF (rti.vendor_site_code IS NULL) THEN
2288             rti.vendor_site_code  := get_vendor_site_code_from_id(rti.vendor_site_id,
2289                                                                   rti.vendor_id,
2290                                                                   rti.org_id,
2291                                                                   'VENDOR_SITE_ID',
2292                                                                   x_dummy_mkr
2293                                                                  );
2294          ELSIF(rti.vendor_site_code <> get_vendor_site_code_from_id(rti.vendor_site_id,
2295                                                                     rti.vendor_id,
2296                                                                     rti.org_id,
2297                                                                     'VENDOR_SITE_ID',
2298                                                                     x_dummy_mkr
2299                                                                    )) THEN
2300             invalid_match_value(rti.vendor_site_code,
2301                                 get_vendor_site_code_from_id(rti.vendor_site_id,
2302                                                              rti.vendor_id,
2303                                                              rti.org_id,
2304                                                              'VENDOR_SITE_ID',
2305                                                              x_dummy_mkr
2306                                                             ),
2307                                 'VENDOR_SITE_CODE'
2308                                );
2309          END IF;
2310       END IF;
2311 
2312       IF (g_rti_vendor_site_code_mkr = TRUE) THEN
2313          IF (rti.vendor_site_code IS NULL) THEN
2314             rti.vendor_site_code  := get_vendor_site_code_from_id(rti.vendor_site_id,
2315                                                                   rti.vendor_id,
2316                                                                   rti.org_id,
2317                                                                   'VENDOR_SITE_ID',
2318                                                                   x_dummy_mkr
2319                                                                  );
2320          ELSIF(rti.vendor_site_code <> get_vendor_site_code_from_id(rti.vendor_site_id,
2321                                                                     rti.vendor_id,
2322                                                                     rti.org_id,
2323                                                                     'VENDOR_SITE_ID',
2324                                                                     x_dummy_mkr
2325                                                                    )) THEN
2326             invalid_match_value(rti.vendor_site_code,
2327                                 get_vendor_site_code_from_id(rti.vendor_site_id,
2328                                                              rti.vendor_id,
2329                                                              rti.org_id,
2330                                                              'VENDOR_SITE_ID',
2331                                                              x_dummy_mkr
2332                                                             ),
2333                                 'VENDOR_SITE_CODE'
2334                                );
2335          END IF;
2336       END IF;
2337 
2338       IF (g_rti_locator_mkr = TRUE) THEN
2339          IF (rti.LOCATOR IS NULL) THEN
2340             rti.LOCATOR  := get_locator_from_locator_id(rti.locator_id,
2341                                                         rti.to_organization_id,
2342                                                         rti.subinventory,
2343                                                         'LOCATOR_ID',
2344                                                         x_dummy_mkr
2345                                                        );
2346          ELSIF(rti.LOCATOR <> get_locator_from_locator_id(rti.locator_id,
2347                                                           rti.to_organization_id,
2348                                                           rti.subinventory,
2349                                                           'LOCATOR_ID',
2350                                                           x_dummy_mkr
2351                                                          )) THEN
2352             invalid_match_value(rti.LOCATOR,
2353                                 get_locator_from_locator_id(rti.locator_id,
2354                                                             rti.to_organization_id,
2355                                                             rti.subinventory,
2356                                                             'LOCATOR_ID',
2357                                                             x_dummy_mkr
2358                                                            ),
2359                                 'LOCATOR'
2360                                );
2361          END IF;
2362       END IF;
2363 
2364       IF (g_rti_wip_entity_name_mkr = TRUE) THEN
2365          IF (rti.wip_entity_name IS NULL) THEN
2366             rti.wip_entity_name  := get_wip_entity_name_from_id(rti.wip_entity_id,
2367                                                                 rti.to_organization_id,
2368                                                                 'WIP_ENTITY_ID',
2369                                                                 x_dummy_mkr
2370                                                                );
2371          ELSIF(rti.wip_entity_name <> get_wip_entity_name_from_id(rti.wip_entity_id,
2372                                                                   rti.to_organization_id,
2373                                                                   'WIP_ENTITY_ID',
2374                                                                   x_dummy_mkr
2375                                                                  )) THEN
2376             invalid_match_value(rti.wip_entity_name,
2377                                 get_wip_entity_name_from_id(rti.wip_entity_id,
2378                                                             rti.to_organization_id,
2379                                                             'WIP_ENTITY_ID',
2380                                                             x_dummy_mkr
2381                                                            ),
2382                                 'WIP_ENTITY_NAME'
2383                                );
2384          END IF;
2385       END IF;
2386 
2387       IF (g_rti_item_description_mkr = TRUE) THEN
2388          IF (rti.item_description IS NULL) THEN
2389             rti.item_description  := get_item_description_from_id(rti.item_id,
2390                                                                   rti.to_organization_id,
2391                                                                   'ITEM_ID',
2392                                                                   x_dummy_mkr
2393                                                                  );
2394 /*         ELSIF(rti.item_description <> get_item_description_from_id(rti.item_id,
2395                                                                     rti.to_organization_id,
2396                                                                     'ITEM_ID',
2397                                                                     x_dummy_mkr
2398                                                                    )) THEN
2399             invalid_match_value(rti.item_description,
2400                                 get_item_description_from_id(rti.item_id,
2401                                                              rti.to_organization_id,
2402                                                              'ITEM_ID',
2403                                                              x_dummy_mkr
2404                                                             ),
2405                                 'ITEM_DESCRIPTION'
2406                                );*/ --Bug 5516651
2407          END IF;
2408       END IF;
2409 
2410       IF (g_rti_item_num_mkr = TRUE) THEN
2411          IF (rti.item_num IS NULL) THEN
2412             rti.item_num  := get_item_num_from_id(rti.item_id,
2413                                                   rti.to_organization_id,
2414                                                   'ITEM_ID',
2415                                                   x_dummy_mkr
2416                                                  );
2417          ELSIF(rti.item_num <> get_item_num_from_id(rti.item_id,
2418                                                     rti.to_organization_id,
2419                                                     'ITEM_ID',
2420                                                     x_dummy_mkr
2421                                                    )) THEN
2422             invalid_match_value(rti.item_num,
2423                                 get_item_num_from_id(rti.item_id,
2424                                                      rti.to_organization_id,
2425                                                      'ITEM_ID',
2426                                                      x_dummy_mkr
2427                                                     ),
2428                                 'ITEM_NUM'
2429                                );
2430          END IF;
2431       END IF;
2432 
2433       IF (g_rti_sub_item_num_mkr = TRUE) THEN
2434          IF (rti.substitute_item_num IS NULL) THEN
2435             rti.substitute_item_num  := get_item_num_from_id(rti.substitute_item_id,
2436                                                              rti.to_organization_id,
2437                                                              'SUBSTITUTE_ITEM_ID',
2438                                                              x_dummy_mkr
2439                                                             );
2440          ELSIF(rti.substitute_item_num <> get_item_num_from_id(rti.substitute_item_id,
2441                                                                rti.to_organization_id,
2442                                                                'SUBSTITUTE_ITEM_ID',
2443                                                                x_dummy_mkr
2444                                                               )) THEN
2445             invalid_match_value(rti.substitute_item_num,
2446                                 get_item_num_from_id(rti.substitute_item_id,
2447                                                      rti.to_organization_id,
2448                                                      'SUBSTITUTE_ITEM_ID',
2449                                                      x_dummy_mkr
2450                                                     ),
2451                                 'SUBSTITUTE_ITEM_NUM'
2452                                );
2453          END IF;
2454       END IF;
2455    END check_rti_consistency;
2456 
2457 /****************************************/
2458 /* SECTION 4: default from backing docs */
2459 /****************************************/
2460    PROCEDURE default_rhi_from_rsh(
2461       rhi IN OUT NOCOPY rcv_headers_interface%ROWTYPE
2462    ) IS
2463       rsh rcv_shipment_headers%ROWTYPE;
2464    BEGIN
2465       IF (rhi.receipt_header_id IS NOT NULL) THEN
2466          rsh  := rcv_table_functions.get_rsh_row_from_id(rhi.receipt_header_id);
2467       ELSIF(rhi.shipment_num IS NOT NULL) THEN
2468          --Bug 9005670 Added receipt_source_code in the below procedre call.
2469          rsh  := rcv_table_functions.get_rsh_row_from_num(rhi.shipment_num,
2470                                                           rhi.vendor_id,
2471                                                           rhi.vendor_site_id,
2472                                                           rhi.ship_to_organization_id,
2473                                                           rhi.shipped_date,
2474                                                           rhi.receipt_source_code,
2475                                                           no_data_found_is_error    => FALSE
2476                                                          );
2477       END IF;
2478 
2479       IF (rsh.shipment_header_id IS NULL) THEN
2480          RETURN;
2481       END IF;
2482 
2483       IF (rhi.from_organization_id IS NULL) THEN
2484          rhi.from_organization_id  := rsh.organization_id;
2485       ELSIF(rhi.from_organization_id <> rsh.organization_id) THEN
2486          invalid_match_value(rhi.from_organization_id,
2487                              rsh.organization_id,
2488                              'FROM_ORGANIZATION_ID'
2489                             );
2490       END IF;
2491 
2492       IF (rhi.receipt_header_id IS NULL) THEN
2493          rhi.receipt_header_id  := rsh.shipment_header_id;
2494       ELSIF(rhi.receipt_header_id <> rsh.shipment_header_id) THEN
2495          invalid_match_value(rhi.receipt_header_id,
2496                              rsh.shipment_header_id,
2497                              'RECEIPT_HEADER_ID'
2498                             );
2499       END IF;
2500 
2501       IF (rhi.receipt_num IS NULL) THEN
2502          rhi.receipt_num  := rsh.receipt_num;
2503       ELSIF(rhi.receipt_num <> rsh.receipt_num) THEN
2504          invalid_match_value(rhi.receipt_num,
2505                              rsh.receipt_num,
2506                              'RECEIPT_NUM'
2507                             );
2508       END IF;
2509 
2510       IF (rhi.ship_to_organization_id IS NULL) THEN
2511          rhi.ship_to_organization_id  := rsh.ship_to_org_id;
2512       ELSIF(rhi.ship_to_organization_id <> rsh.ship_to_org_id) THEN
2513          invalid_match_value(rhi.ship_to_organization_id,
2514                              rsh.ship_to_org_id,
2515                              'SHIP_TO_ORGANIZATION_ID'
2516                             );
2517       END IF;
2518 
2519       /*
2520       ** Bug#4615534 - Org_id defaulting from inventory organization
2521       ** needs to be done only for In-transit shipments
2522       */
2523       IF(rhi.receipt_source_code IN ('INVENTORY','INTERNAL ORDER')) THEN -- Bug 9706173
2524           IF (rhi.org_id IS NULL) THEN
2525              rhi.org_id  := get_org_id_from_inv_org_id(rsh.ship_to_org_id);
2526           ELSIF(rhi.org_id <> get_org_id_from_inv_org_id(rsh.ship_to_org_id)) THEN
2527              invalid_match_value(rhi.org_id,
2528                                  get_org_id_from_inv_org_id(rsh.ship_to_org_id),
2529                                  'ORG_ID'
2530                                 );
2531           END IF;
2532       END IF;
2533 
2534       IF (rhi.ship_from_location_id IS NULL) THEN
2535          rhi.ship_from_location_id  := rsh.ship_from_location_id;
2536       ELSIF(rhi.ship_from_location_id <> rsh.ship_from_location_id) THEN
2537          invalid_match_value(rhi.ship_from_location_id,
2538                              rsh.ship_from_location_id,
2539                              'SHIP_FROM_LOCATION_ID'
2540                             );
2541       END IF;
2542 
2543       IF (rhi.attribute1 IS NULL) THEN
2544          rhi.attribute1  := rsh.attribute1;
2545       END IF;
2546 
2547       IF (rhi.attribute10 IS NULL) THEN
2548          rhi.attribute10  := rsh.attribute10;
2549       END IF;
2550 
2551       IF (rhi.attribute11 IS NULL) THEN
2552          rhi.attribute11  := rsh.attribute11;
2553       END IF;
2554 
2555       IF (rhi.attribute12 IS NULL) THEN
2556          rhi.attribute12  := rsh.attribute12;
2557       END IF;
2558 
2559       IF (rhi.attribute13 IS NULL) THEN
2560          rhi.attribute13  := rsh.attribute13;
2561       END IF;
2562 
2563       IF (rhi.attribute14 IS NULL) THEN
2564          rhi.attribute14  := rsh.attribute14;
2565       END IF;
2566 
2567       IF (rhi.attribute15 IS NULL) THEN
2568          rhi.attribute15  := rsh.attribute15;
2569       END IF;
2570 
2571       IF (rhi.attribute2 IS NULL) THEN
2572          rhi.attribute2  := rsh.attribute2;
2573       END IF;
2574 
2575       IF (rhi.attribute3 IS NULL) THEN
2576          rhi.attribute3  := rsh.attribute3;
2577       END IF;
2578 
2579       IF (rhi.attribute4 IS NULL) THEN
2580          rhi.attribute4  := rsh.attribute4;
2581       END IF;
2582 
2583       IF (rhi.attribute5 IS NULL) THEN
2584          rhi.attribute5  := rsh.attribute5;
2585       END IF;
2586 
2587       IF (rhi.attribute6 IS NULL) THEN
2588          rhi.attribute6  := rsh.attribute6;
2589       END IF;
2590 
2591       IF (rhi.attribute7 IS NULL) THEN
2592          rhi.attribute7  := rsh.attribute7;
2593       END IF;
2594 
2595       IF (rhi.attribute8 IS NULL) THEN
2596          rhi.attribute8  := rsh.attribute8;
2597       END IF;
2598 
2599       IF (rhi.attribute9 IS NULL) THEN
2600          rhi.attribute9  := rsh.attribute9;
2601       END IF;
2602 
2603       IF (rhi.attribute_category IS NULL) THEN
2604          rhi.attribute_category  := rsh.attribute_category;
2605       END IF;
2606 
2607       IF (rhi.bill_of_lading IS NULL) THEN
2608          rhi.bill_of_lading  := rsh.bill_of_lading;
2609       END IF;
2610 
2611       IF (rhi.carrier_equipment IS NULL) THEN
2612          rhi.carrier_equipment  := rsh.carrier_equipment;
2613       END IF;
2614 
2615       IF (rhi.carrier_method IS NULL) THEN
2616          rhi.carrier_method  := rsh.carrier_method;
2617       END IF;
2618 
2619       IF (rhi.comments IS NULL) THEN
2620          rhi.comments  := rsh.comments;
2621       END IF;
2622 
2623       IF (rhi.conversion_rate IS NULL) THEN
2624          rhi.conversion_rate  := TO_NUMBER(rsh.conversion_rate);
2625       END IF;
2626 
2627       IF (rhi.conversion_rate_date IS NULL) THEN
2628          rhi.conversion_rate_date  := rsh.conversion_date;
2629       END IF;
2630 
2631       IF (rhi.conversion_rate_type IS NULL) THEN
2632          rhi.conversion_rate_type  := rsh.conversion_rate_type;
2633       END IF;
2634 
2635       IF (rhi.currency_code IS NULL) THEN
2636          rhi.currency_code  := rsh.currency_code;
2637       END IF;
2638 
2639       IF (rhi.customer_id IS NULL) THEN
2640          rhi.customer_id  := rsh.customer_id;
2641       END IF;
2642 
2643       IF (rhi.customer_site_id IS NULL) THEN
2644          rhi.customer_site_id  := rsh.customer_site_id;
2645       END IF;
2646 
2647       IF (rhi.edi_control_num IS NULL) THEN
2648          rhi.edi_control_num  := rsh.edi_control_num;
2649       END IF;
2650 
2651       IF (rhi.employee_id IS NULL) THEN
2652          rhi.employee_id  := rsh.employee_id;
2653       END IF;
2654 
2655       IF (rhi.expected_receipt_date IS NULL) THEN
2656          rhi.expected_receipt_date  := rsh.expected_receipt_date;
2657       END IF;
2658 
2659       IF (rhi.freight_amount IS NULL) THEN
2660          rhi.freight_amount  := rsh.freight_amount;
2661       END IF;
2662 
2663       IF (rhi.freight_bill_number IS NULL) THEN
2664          rhi.freight_bill_number  := rsh.freight_bill_number;
2665       END IF;
2666 
2667       IF (rhi.freight_carrier_code IS NULL) THEN
2668          rhi.freight_carrier_code  := rsh.freight_carrier_code;
2669       END IF;
2670 
2671       IF (rhi.freight_terms IS NULL) THEN
2672          rhi.freight_terms  := rsh.freight_terms;
2673       END IF;
2674 
2675       IF (rhi.gross_weight IS NULL) THEN
2676          rhi.gross_weight  := rsh.gross_weight;
2677       END IF;
2678 
2679       IF (rhi.gross_weight_uom_code IS NULL) THEN
2680          rhi.gross_weight_uom_code  := rsh.gross_weight_uom_code;
2681       END IF;
2682 
2683       IF (rhi.hazard_class IS NULL) THEN
2684          rhi.hazard_class  := rsh.hazard_class;
2685       END IF;
2686 
2687       IF (rhi.hazard_code IS NULL) THEN
2688          rhi.hazard_code  := rsh.hazard_code;
2689       END IF;
2690 
2691       IF (rhi.hazard_description IS NULL) THEN
2692          rhi.hazard_description  := rsh.hazard_description;
2693       END IF;
2694 
2695       IF (rhi.invoice_date IS NULL) THEN
2696          rhi.invoice_date  := rsh.invoice_date;
2697       END IF;
2698 
2699       IF (rhi.invoice_num IS NULL) THEN
2700          rhi.invoice_num  := rsh.invoice_num;
2701       END IF;
2702 
2703       IF (rhi.invoice_status_code IS NULL) THEN
2704          rhi.invoice_status_code  := rsh.invoice_status_code;
2705       END IF;
2706 
2707       IF (rhi.location_id IS NULL) THEN
2708          rhi.location_id  := rsh.ship_to_location_id;
2709       END IF;
2710 
2711       IF (rhi.net_weight IS NULL) THEN
2712          rhi.net_weight  := rsh.net_weight;
2713       END IF;
2714 
2715       IF (rhi.net_weight_uom_code IS NULL) THEN
2716          rhi.net_weight_uom_code  := rsh.net_weight_uom_code;
2717       END IF;
2718 
2719       IF (rhi.notice_creation_date IS NULL) THEN
2720          rhi.notice_creation_date  := rsh.notice_creation_date;
2721       END IF;
2722 
2723       IF (rhi.num_of_containers IS NULL) THEN
2724          rhi.num_of_containers  := rsh.num_of_containers;
2725       END IF;
2726 
2727       IF (rhi.packaging_code IS NULL) THEN
2728          rhi.packaging_code  := rsh.packaging_code;
2729       END IF;
2730 
2731       IF (rhi.packing_slip IS NULL) THEN
2732          rhi.packing_slip  := rsh.packing_slip;
2733       END IF;
2734 
2735       IF (rhi.payment_terms_id IS NULL) THEN
2736          rhi.payment_terms_id  := rsh.payment_terms_id;
2737       END IF;
2738 
2739       IF (rhi.receipt_source_code IS NULL) THEN
2740          rhi.receipt_source_code  := rsh.receipt_source_code;
2741       END IF;
2742 
2743       IF (rhi.remit_to_site_id IS NULL) THEN
2744          rhi.remit_to_site_id  := rsh.remit_to_site_id;
2745       END IF;
2746 
2747       IF (rhi.shipment_num IS NULL) THEN
2748          rhi.shipment_num  := rsh.shipment_num;
2749       END IF;
2750 
2751       IF (rhi.shipped_date IS NULL) THEN
2752          rhi.shipped_date  := rsh.shipped_date;
2753       END IF;
2754 
2755       IF (rhi.special_handling_code IS NULL) THEN
2756          rhi.special_handling_code  := rsh.special_handling_code;
2757       END IF;
2758 
2759       IF (rhi.tar_weight IS NULL) THEN
2760          rhi.tar_weight  := rsh.tar_weight;
2761       END IF;
2762 
2763       IF (rhi.tar_weight_uom_code IS NULL) THEN
2764          rhi.tar_weight_uom_code  := rsh.tar_weight_uom_code;
2765       END IF;
2766 
2767       IF (rhi.tax_amount IS NULL) THEN
2768          rhi.tax_amount  := rsh.tax_amount;
2769       END IF;
2770 
2771       IF (rhi.tax_name IS NULL) THEN
2772          rhi.tax_name  := rsh.tax_name;
2773       END IF;
2774 
2775       IF (rhi.usggl_transaction_code IS NULL) THEN
2776          rhi.usggl_transaction_code  := rsh.ussgl_transaction_code;
2777       END IF;
2778 
2779       IF (rhi.vendor_id IS NULL) THEN
2780          rhi.vendor_id  := rsh.vendor_id;
2781       END IF;
2782 
2783       IF (rhi.vendor_site_id IS NULL) THEN
2784          rhi.vendor_site_id  := rsh.vendor_site_id;
2785       END IF;
2786 
2787       IF (rhi.waybill_airbill_num IS NULL) THEN
2788          rhi.waybill_airbill_num  := rsh.waybill_airbill_num;
2789       END IF;
2790    END default_rhi_from_rsh;
2791 
2792    PROCEDURE default_rti_from_rhi(
2793       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
2794    ) IS
2795       rhi rcv_headers_interface%ROWTYPE;
2796    BEGIN
2797       /* If this row does not have a header_interface_id it is possible that the
2798          parent_interface_txn does.  This extra query is free because of caching */
2799       IF (    rti.header_interface_id IS NULL
2800           AND rti.parent_interface_txn_id IS NOT NULL) THEN
2801          rti.header_interface_id  := rcv_table_functions.get_rti_row_from_id(rti.parent_interface_txn_id).header_interface_id;
2802       END IF;
2803 
2804       IF (rti.header_interface_id IS NOT NULL) THEN
2805          rhi  := rcv_table_functions.get_rhi_row_from_id(rti.header_interface_id);
2806       END IF;
2807 
2808       IF (rhi.header_interface_id IS NULL) THEN
2809          RETURN;
2810       END IF;
2811 
2812       /* it is ok if a header has previously been processed. */
2813       IF (rhi.processing_status_code = 'ERROR') THEN
2814          rcv_error_pkg.set_error_message('RCV_HEADER_IS_ERROR');
2815          rcv_error_pkg.set_token('HEADER_INTERFACE_ID', rhi.header_interface_id);
2816          rcv_error_pkg.log_interface_error('HEADER_INTERFACE_ID');
2817       END IF;
2818 
2819       IF (    rhi.GROUP_ID IS NULL
2820           AND rti.GROUP_ID IS NOT NULL) THEN
2821          rhi.GROUP_ID  := rti.GROUP_ID;
2822          rcv_table_functions.update_rhi_row(rhi);
2823       END IF;
2824 
2825       IF (rti.GROUP_ID IS NULL) THEN
2826          rti.GROUP_ID  := rhi.GROUP_ID;
2827       ELSIF(rti.GROUP_ID <> rhi.GROUP_ID) THEN
2828          invalid_match_value(rti.GROUP_ID,
2829                              rhi.GROUP_ID,
2830                              'GROUP_ID'
2831                             );
2832       END IF;
2833 
2834       IF (rti.header_interface_id IS NULL) THEN
2835          rti.header_interface_id  := rhi.header_interface_id;
2836       ELSIF(rti.header_interface_id <> rhi.header_interface_id) THEN
2837          invalid_match_value(rti.header_interface_id,
2838                              rhi.header_interface_id,
2839                              'HEADER_INTERFACE_ID'
2840                             );
2841       END IF;
2842 
2843       IF (rti.receipt_source_code IS NULL) THEN
2844          rti.receipt_source_code  := rhi.receipt_source_code;
2845       ELSIF(rti.receipt_source_code <> rhi.receipt_source_code) THEN
2846          invalid_match_value(rti.receipt_source_code,
2847                              rhi.receipt_source_code,
2848                              'RECEIPT_SOURCE_CODE'
2849                             );
2850       END IF;
2851 
2852       IF (rti.shipment_header_id IS NULL) THEN
2853          rti.shipment_header_id  := rhi.receipt_header_id;
2854       ELSIF(rti.shipment_header_id <> rhi.receipt_header_id) THEN
2855          invalid_match_value(rti.shipment_header_id,
2856                              rhi.receipt_header_id,
2857                              'SHIPMENT_HEADER_ID'
2858                             );
2859       END IF;
2860 
2861       IF (rti.shipment_num IS NULL) THEN
2862          rti.shipment_num  := rhi.shipment_num;
2863       ELSIF(rti.shipment_num <> rhi.shipment_num) THEN
2864          invalid_match_value(rti.shipment_num,
2865                              rhi.shipment_num,
2866                              'SHIPMENT_NUM'
2867                             );
2868       END IF;
2869 
2870       /** WDK: Still not sure on what is or isn't allowed with
2871       *** multiple orgs in under the same header. In the meantime
2872       *** I am relaxing this requirement
2873       **/
2874       /*
2875       IF (rti.from_organization_code IS NULL) THEN
2876          rti.from_organization_code  := rhi.from_organization_code;
2877       ELSIF(rti.from_organization_code <> rhi.from_organization_code) THEN
2878          invalid_match_value(rti.from_organization_code,
2879                              rhi.from_organization_code,
2880                              'FROM_ORGANIZATION_CODE'
2881                             );
2882       END IF;
2883 
2884       IF (rti.from_organization_id IS NULL) THEN
2885          rti.from_organization_id  := rhi.from_organization_id;
2886       ELSIF(rti.from_organization_id <> rhi.from_organization_id) THEN
2887          invalid_match_value(rti.from_organization_id,
2888                              rhi.from_organization_id,
2889                              'FROM_ORGANIZATION_ID'
2890                             );
2891       END IF;
2892 
2893       IF (rti.to_organization_code IS NULL) THEN
2894          rti.to_organization_code  := rhi.ship_to_organization_code;
2895       ELSIF(rti.to_organization_code <> rhi.ship_to_organization_code) THEN
2896          invalid_match_value(rti.to_organization_code,
2897                              rhi.ship_to_organization_code,
2898                              'TO_ORGANIZATION_CODE'
2899                             );
2900       END IF;
2901 
2902       IF (rti.to_organization_id IS NULL) THEN
2903          rti.to_organization_id  := rhi.ship_to_organization_id;
2904       ELSIF(rti.to_organization_id <> rhi.ship_to_organization_id) THEN
2905          invalid_match_value(rti.to_organization_id,
2906                              rhi.ship_to_organization_id,
2907                              'TO_ORGANIZATION_ID'
2908                             );
2909       END IF;
2910       */
2911       IF (rti.org_id IS NULL) THEN
2912          rti.org_id  := rhi.org_id;
2913       ELSIF(rti.org_id <> rhi.org_id) THEN
2914          invalid_match_value(rti.org_id,
2915                              rhi.org_id,
2916                              'ORG_ID'
2917                             );
2918       END IF;
2919 
2920       IF (rti.operating_unit IS NULL) THEN
2921          rti.operating_unit  := rhi.operating_unit;
2922       ELSIF(rti.operating_unit <> rhi.operating_unit) THEN
2923          invalid_match_value(rti.operating_unit,
2924                              rhi.operating_unit,
2925                              'OPERATING_UNIT'
2926                             );
2927       END IF;
2928 
2929       IF (rti.from_organization_code IS NULL) THEN
2930          rti.from_organization_code  := rhi.from_organization_code;
2931       END IF;
2932 
2933       IF (rti.from_organization_id IS NULL) THEN
2934          rti.from_organization_id  := rhi.from_organization_id;
2935       END IF;
2936 
2937       IF (rti.to_organization_code IS NULL) THEN
2938          rti.to_organization_code  := rhi.ship_to_organization_code;
2939       END IF;
2940 
2941       IF (rti.to_organization_id IS NULL) THEN
2942          rti.to_organization_id  := rhi.ship_to_organization_id;
2943       END IF;
2944 
2945       IF (rti.operating_unit IS NULL) THEN
2946          rti.operating_unit  := rhi.operating_unit;
2947       END IF;
2948 
2949       IF (rti.org_id IS NULL) THEN
2950          rti.org_id  := rhi.org_id;
2951       END IF;
2952 
2953       -- bug 9274603
2954       /*
2955       IF (rti.attribute1 IS NULL) THEN
2956          rti.attribute1  := rhi.attribute1;
2957       END IF;
2958 
2959       IF (rti.attribute10 IS NULL) THEN
2960          rti.attribute10  := rhi.attribute10;
2961       END IF;
2962 
2963       IF (rti.attribute11 IS NULL) THEN
2964          rti.attribute11  := rhi.attribute11;
2965       END IF;
2966 
2967       IF (rti.attribute12 IS NULL) THEN
2968          rti.attribute12  := rhi.attribute12;
2969       END IF;
2970 
2971       IF (rti.attribute13 IS NULL) THEN
2972          rti.attribute13  := rhi.attribute13;
2973       END IF;
2974 
2975       IF (rti.attribute14 IS NULL) THEN
2976          rti.attribute14  := rhi.attribute14;
2977       END IF;
2978 
2979       IF (rti.attribute15 IS NULL) THEN
2980          rti.attribute15  := rhi.attribute15;
2981       END IF;
2982 
2983       IF (rti.attribute2 IS NULL) THEN
2984          rti.attribute2  := rhi.attribute2;
2985       END IF;
2986 
2987       IF (rti.attribute3 IS NULL) THEN
2988          rti.attribute3  := rhi.attribute3;
2989       END IF;
2990 
2991       IF (rti.attribute4 IS NULL) THEN
2992          rti.attribute4  := rhi.attribute4;
2993       END IF;
2994 
2995       IF (rti.attribute5 IS NULL) THEN
2996          rti.attribute5  := rhi.attribute5;
2997       END IF;
2998 
2999       IF (rti.attribute6 IS NULL) THEN
3000          rti.attribute6  := rhi.attribute6;
3001       END IF;
3002 
3003       IF (rti.attribute7 IS NULL) THEN
3004          rti.attribute7  := rhi.attribute7;
3005       END IF;
3006 
3007       IF (rti.attribute8 IS NULL) THEN
3008          rti.attribute8  := rhi.attribute8;
3009       END IF;
3010 
3011       IF (rti.attribute9 IS NULL) THEN
3012          rti.attribute9  := rhi.attribute9;
3013       END IF;
3014 
3015       IF (rti.attribute_category IS NULL) THEN
3016          rti.attribute_category  := rhi.attribute_category;
3017       END IF;
3018       */
3019 
3020       IF (rti.auto_transact_code IS NULL) THEN
3021          rti.auto_transact_code  := rhi.auto_transact_code;
3022       END IF;
3023 
3024       IF (rti.bill_of_lading IS NULL) THEN
3025          rti.bill_of_lading  := rhi.bill_of_lading;
3026       END IF;
3027 
3028       IF (rti.currency_code IS NULL) THEN
3029          rti.currency_code  := rhi.currency_code;
3030       END IF;
3031 
3032       IF (rti.currency_conversion_rate IS NULL) THEN
3033          rti.currency_conversion_rate  := rhi.conversion_rate;
3034       END IF;
3035 
3036       IF (rti.currency_conversion_date IS NULL) THEN
3037          rti.currency_conversion_date  := rhi.conversion_rate_date;
3038       END IF;
3039 
3040       IF (rti.currency_conversion_type IS NULL) THEN
3041          rti.currency_conversion_type  := rhi.conversion_rate_type;
3042       END IF;
3043 
3044       IF (rti.customer_account_number IS NULL) THEN
3045          rti.customer_account_number  := rhi.customer_account_number;
3046       END IF;
3047 
3048       IF (rti.customer_id IS NULL) THEN
3049          rti.customer_id  := rhi.customer_id;
3050       END IF;
3051 
3052       IF (rti.customer_party_name IS NULL) THEN
3053          rti.customer_party_name  := rhi.customer_party_name;
3054       END IF;
3055 
3056       IF (rti.customer_site_id IS NULL) THEN
3057          rti.customer_site_id  := rhi.customer_site_id;
3058       END IF;
3059 
3060       IF (rti.employee_id IS NULL) THEN
3061          rti.employee_id  := rhi.employee_id;
3062       END IF;
3063 
3064       IF (rti.expected_receipt_date IS NULL) THEN
3065          rti.expected_receipt_date  := rhi.expected_receipt_date;
3066       END IF;
3067 
3068       IF (rti.freight_carrier_code IS NULL) THEN
3069          rti.freight_carrier_code  := rhi.freight_carrier_code;
3070       END IF;
3071 
3072       IF (rti.GROUP_ID IS NULL) THEN
3073          rti.GROUP_ID  := rhi.GROUP_ID;
3074       END IF;
3075 
3076       IF (rti.location_code IS NULL) THEN
3077          rti.location_code  := rhi.location_code;
3078       END IF;
3079 
3080       IF (rti.location_id IS NULL) THEN
3081          rti.location_id  := rhi.location_id;
3082       END IF;
3083 
3084       IF (rti.num_of_containers IS NULL) THEN
3085          rti.num_of_containers  := rhi.num_of_containers;
3086       END IF;
3087 
3088       IF (rti.packing_slip IS NULL) THEN
3089          rti.packing_slip  := rhi.packing_slip;
3090       END IF;
3091 
3092       IF (rti.processing_status_code IS NULL) THEN
3093          rti.processing_status_code  := rhi.processing_status_code;
3094       END IF;
3095 
3096       IF (rti.shipped_date IS NULL) THEN
3097          rti.shipped_date  := rhi.shipped_date;
3098       END IF;
3099 
3100       IF (rti.tax_amount IS NULL) THEN
3101          rti.tax_amount  := rhi.tax_amount;
3102       END IF;
3103 
3104       IF (rti.tax_name IS NULL) THEN
3105          rti.tax_name  := rhi.tax_name;
3106       END IF;
3107 
3108       IF (rti.transaction_type IS NULL) THEN
3109          rti.transaction_type  := rhi.transaction_type;
3110       END IF;
3111 
3112       IF (rti.ussgl_transaction_code IS NULL) THEN
3113          rti.ussgl_transaction_code  := rhi.usggl_transaction_code;
3114       END IF;
3115 
3116       IF (rti.validation_flag IS NULL) THEN
3117          rti.validation_flag  := rhi.validation_flag;
3118       END IF;
3119 
3120       IF (rti.vendor_id IS NULL) THEN
3121          rti.vendor_id  := rhi.vendor_id;
3122       END IF;
3123 
3124       IF (rti.vendor_name IS NULL) THEN
3125          rti.vendor_name  := rhi.vendor_name;
3126       END IF;
3127 
3128       IF (rti.vendor_num IS NULL) THEN
3129          rti.vendor_num  := rhi.vendor_num;
3130       END IF;
3131 
3132       /* Bug 10306164 comment the code related to Vendor site, as RTIs
3133          with same RHI may have differnt vendor site id */
3134 
3135       /* IF (rti.vendor_site_code IS NULL) THEN
3136          rti.vendor_site_code  := rhi.vendor_site_code;
3137       END IF;
3138 
3139       IF (rti.vendor_site_id IS NULL) THEN
3140          rti.vendor_site_id  := rhi.vendor_site_id;
3141       END IF;*/
3142 
3143       IF (rti.waybill_airbill_num IS NULL) THEN
3144          rti.waybill_airbill_num  := rhi.waybill_airbill_num;
3145       END IF;
3146    END default_rti_from_rhi;
3147 
3148    PROCEDURE default_rti_from_rti(
3149       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
3150    ) IS
3151       prti rcv_transactions_interface%ROWTYPE;
3152    BEGIN
3153       IF (rti.parent_interface_txn_id IS NOT NULL) THEN
3154          prti  := rcv_table_functions.get_rti_row_from_id(rti.parent_interface_txn_id);
3155       END IF;
3156 
3157       IF (prti.interface_transaction_id IS NULL) THEN
3158          RETURN;
3159       END IF;
3160 
3161       /* PENDING is the only status that's going to get processed, therefore
3162          everything else is an error */
3163       IF (prti.processing_status_code <> 'PENDING') THEN
3164          rcv_error_pkg.set_error_message('RCV_INTERFACE_PARENT_NOT_PENDING');
3165          rcv_error_pkg.set_token('PARENT_INTERFACE_TXN_ID', prti.parent_interface_txn_id);
3166          rcv_error_pkg.log_interface_error('PARENT_INTERFACE_TXN_ID');
3167       END IF;
3168 
3169       IF (rti.document_distribution_num IS NULL) THEN
3170          rti.document_distribution_num  := prti.document_distribution_num;
3171       ELSIF(rti.document_distribution_num <> prti.document_distribution_num) THEN
3172          invalid_match_value(rti.document_distribution_num,
3173                              prti.document_distribution_num,
3174                              'DOCUMENT_DISTRIBUTION_NUM'
3175                             );
3176       END IF;
3177 
3178       IF (rti.document_line_num IS NULL) THEN
3179          rti.document_line_num  := prti.document_line_num;
3180       ELSIF(rti.document_line_num <> prti.document_line_num) THEN
3181          invalid_match_value(rti.document_line_num,
3182                              prti.document_line_num,
3183                              'DOCUMENT_LINE_NUM'
3184                             );
3185       END IF;
3186 
3187       IF (rti.document_num IS NULL) THEN
3188          rti.document_num  := prti.document_num;
3189       ELSIF(rti.document_num <> prti.document_num) THEN
3190          invalid_match_value(rti.document_num,
3191                              prti.document_num,
3192                              'DOCUMENT_NUM'
3193                             );
3194       END IF;
3195 
3196       IF (rti.document_shipment_line_num IS NULL) THEN
3197          rti.document_shipment_line_num  := prti.document_shipment_line_num;
3198       ELSIF(rti.document_shipment_line_num <> prti.document_shipment_line_num) THEN
3199          invalid_match_value(rti.document_shipment_line_num,
3200                              prti.document_shipment_line_num,
3201                              'DOCUMENT_SHIPMENT_LINE_NUM'
3202                             );
3203       END IF;
3204 
3205       IF (rti.from_organization_code IS NULL) THEN
3206          rti.from_organization_code  := prti.from_organization_code;
3207       ELSIF(rti.from_organization_code <> prti.from_organization_code) THEN
3208          invalid_match_value(rti.from_organization_code,
3209                              prti.from_organization_code,
3210                              'FROM_ORGANIZATION_CODE'
3211                             );
3212       END IF;
3213 
3214       IF (rti.from_organization_id IS NULL) THEN
3215          rti.from_organization_id  := prti.from_organization_id;
3216       ELSIF(rti.from_organization_id <> prti.from_organization_id) THEN
3217          invalid_match_value(rti.from_organization_id,
3218                              prti.from_organization_id,
3219                              'FROM_ORGANIZATION_ID'
3220                             );
3221       END IF;
3222 
3223       IF (rti.header_interface_id IS NULL) THEN
3224          rti.header_interface_id  := prti.header_interface_id;
3225       ELSIF(rti.header_interface_id <> prti.header_interface_id) THEN
3226          invalid_match_value(rti.header_interface_id,
3227                              prti.header_interface_id,
3228                              'HEADER_INTERFACE_ID'
3229                             );
3230       END IF;
3231 
3232       IF (rti.item_category IS NULL) THEN
3233          rti.item_category  := prti.item_category;
3234       ELSIF(rti.item_category <> prti.item_category) THEN
3235          invalid_match_value(rti.item_category,
3236                              prti.item_category,
3237                              'ITEM_CATEGORY'
3238                             );
3239       END IF;
3240 
3241       /*As part of bug 7012051 removed the validation of item_description
3242         and make it defaulted from parent interface transaction*/
3243       rti.item_description  := prti.item_description;
3244 
3245      /* IF (rti.item_description IS NULL) THEN
3246          rti.item_description  := prti.item_description;
3247       ELSIF(rti.item_description <> prti.item_description) THEN
3248          invalid_match_value(rti.item_description,
3249                              prti.item_description,
3250                              'ITEM_DESCRIPTION'
3251                             );
3252       END IF;*/
3253 
3254       IF (rti.item_id IS NULL) THEN
3255          rti.item_id  := prti.item_id;
3256       ELSIF(rti.item_id <> prti.item_id) THEN
3257          invalid_match_value(rti.item_id,
3258                              prti.item_id,
3259                              'ITEM_ID'
3260                             );
3261       END IF;
3262 
3263       IF (rti.item_num IS NULL) THEN
3264          rti.item_num  := prti.item_num;
3265       ELSIF(rti.item_num <> prti.item_num) THEN
3266          invalid_match_value(rti.item_num,
3267                              prti.item_num,
3268                              'ITEM_NUM'
3269                             );
3270       END IF;
3271 
3272       IF (rti.item_revision IS NULL) THEN
3273          rti.item_revision  := prti.item_revision;
3274       /*
3275       Bug 5975270: We can't compare the two revisions right now
3276       as we are not sure if item is revision controlled or not.
3277       ELSIF(rti.item_revision <> prti.item_revision) THEN
3278          invalid_match_value(rti.item_revision,
3279                              prti.item_revision,
3280                              'ITEM_REVISION'
3281                             );
3282       */
3283       END IF;
3284 
3285       IF (rti.job_id IS NULL) THEN
3286          rti.job_id  := prti.job_id;
3287       ELSIF(rti.job_id <> prti.job_id) THEN
3288          invalid_match_value(rti.job_id,
3289                              prti.job_id,
3290                              'JOB_ID'
3291                             );
3292       END IF;
3293 
3294       IF (rti.oe_order_header_id IS NULL) THEN
3295          rti.oe_order_header_id  := prti.oe_order_header_id;
3296       ELSIF(rti.oe_order_header_id <> prti.oe_order_header_id) THEN
3297          invalid_match_value(rti.oe_order_header_id,
3298                              prti.oe_order_header_id,
3299                              'OE_ORDER_HEADER_ID'
3300                             );
3301       END IF;
3302 
3303       IF (rti.oe_order_line_id IS NULL) THEN
3304          rti.oe_order_line_id  := prti.oe_order_line_id;
3305       ELSIF(rti.oe_order_line_id <> prti.oe_order_line_id) THEN
3306          invalid_match_value(rti.oe_order_line_id,
3307                              prti.oe_order_line_id,
3308                              'OE_ORDER_LINE_ID'
3309                             );
3310       END IF;
3311 
3312       IF (rti.oe_order_num IS NULL) THEN
3313          rti.oe_order_num  := prti.oe_order_num;
3314       ELSIF(rti.oe_order_num <> prti.oe_order_num) THEN
3315          invalid_match_value(rti.oe_order_num,
3316                              prti.oe_order_num,
3317                              'OE_ORDER_NUM'
3318                             );
3319       END IF;
3320 
3321       IF (rti.oe_order_line_num IS NULL) THEN
3322          rti.oe_order_line_num  := prti.oe_order_line_num;
3323       ELSIF(rti.oe_order_line_num <> prti.oe_order_line_num) THEN
3324          invalid_match_value(rti.oe_order_line_num,
3325                              prti.oe_order_line_num,
3326                              'OE_ORDER_LINE_NUM'
3327                             );
3328       END IF;
3329 
3330       IF (rti.org_id IS NULL) THEN
3331          rti.org_id  := prti.org_id;
3332       ELSIF(rti.org_id <> prti.org_id) THEN
3333          invalid_match_value(rti.org_id,
3334                              prti.org_id,
3335                              'ORG_ID'
3336                             );
3337       END IF;
3338 
3339       IF (rti.parent_interface_txn_id IS NULL) THEN
3340          rti.parent_interface_txn_id  := prti.interface_transaction_id;
3341       ELSIF(rti.parent_interface_txn_id <> prti.interface_transaction_id) THEN
3342          invalid_match_value(rti.parent_interface_txn_id,
3343                              prti.interface_transaction_id,
3344                              'PARENT_INTERFACE_TXN_ID'
3345                             );
3346       END IF;
3347 
3348       -- Bug 7494637:
3349       -- Removing the code that defaults rti.parent_source_transaction_num from prti.source_transaction_num
3350 
3351 
3352       IF (rti.po_distribution_id IS NULL) THEN
3353          rti.po_distribution_id  := prti.po_distribution_id;
3354       ELSIF(rti.po_distribution_id <> prti.po_distribution_id) THEN
3355          invalid_match_value(rti.po_distribution_id,
3356                              prti.po_distribution_id,
3357                              'PO_DISTRIBUTION_ID'
3358                             );
3359       END IF;
3360 
3361       IF (rti.po_header_id IS NULL) THEN
3362          rti.po_header_id  := prti.po_header_id;
3363       ELSIF(rti.po_header_id <> prti.po_header_id) THEN
3364          invalid_match_value(rti.po_header_id,
3365                              prti.po_header_id,
3366                              'PO_HEADER_ID'
3367                             );
3368       END IF;
3369 
3370       IF (rti.po_line_id IS NULL) THEN
3371          rti.po_line_id  := prti.po_line_id;
3372       ELSIF(rti.po_line_id <> prti.po_line_id) THEN
3373          invalid_match_value(rti.po_line_id,
3374                              prti.po_line_id,
3375                              'PO_LINE_ID'
3376                             );
3377       END IF;
3378 
3379       IF (rti.po_line_location_id IS NULL) THEN
3380          rti.po_line_location_id  := prti.po_line_location_id;
3381       ELSIF(rti.po_line_location_id <> prti.po_line_location_id) THEN
3382          invalid_match_value(rti.po_line_location_id,
3383                              prti.po_line_location_id,
3384                              'PO_LINE_LOCATION_ID'
3385                             );
3386       END IF;
3387 
3388       IF (rti.po_release_id IS NULL) THEN
3389          rti.po_release_id  := prti.po_release_id;
3390       ELSIF(rti.po_release_id <> prti.po_release_id) THEN
3391          invalid_match_value(rti.po_release_id,
3392                              prti.po_release_id,
3393                              'PO_RELEASE_ID'
3394                             );
3395       END IF;
3396 
3397       IF (rti.po_revision_num IS NULL) THEN
3398          rti.po_revision_num  := prti.po_revision_num;
3399       ELSIF(rti.po_revision_num <> prti.po_revision_num) THEN
3400          invalid_match_value(rti.po_revision_num,
3401                              prti.po_revision_num,
3402                              'PO_REVISION_NUM'
3403                             );
3404       END IF;
3405 
3406       IF (rti.primary_unit_of_measure IS NULL) THEN
3407          rti.primary_unit_of_measure  := prti.primary_unit_of_measure;
3408       ELSIF(rti.primary_unit_of_measure <> prti.primary_unit_of_measure) THEN
3409          invalid_match_value(rti.primary_unit_of_measure,
3410                              prti.primary_unit_of_measure,
3411                              'PRIMARY_UNIT_OF_MEASURE'
3412                             );
3413       END IF;
3414 
3415       IF (rti.project_id IS NULL) THEN
3416          rti.project_id  := prti.project_id;
3417       ELSIF(rti.project_id <> prti.project_id) THEN
3418          invalid_match_value(rti.project_id,
3419                              prti.project_id,
3420                              'PROJECT_ID'
3421                             );
3422       END IF;
3423 
3424       IF (rti.release_num IS NULL) THEN
3425          rti.release_num  := prti.release_num;
3426       ELSIF(rti.release_num <> prti.release_num) THEN
3427          invalid_match_value(rti.release_num,
3428                              prti.release_num,
3429                              'RELEASE_NUM'
3430                             );
3431       END IF;
3432 
3433       IF (rti.requisition_line_id IS NULL) THEN
3434          rti.requisition_line_id  := prti.requisition_line_id;
3435       ELSIF(rti.requisition_line_id <> prti.requisition_line_id) THEN
3436          invalid_match_value(rti.requisition_line_id,
3437                              prti.requisition_line_id,
3438                              'REQUISITION_LINE_ID'
3439                             );
3440       END IF;
3441 
3442       IF (rti.req_distribution_id IS NULL) THEN
3443          rti.req_distribution_id  := prti.req_distribution_id;
3444       ELSIF(rti.req_distribution_id <> prti.req_distribution_id) THEN
3445          invalid_match_value(rti.req_distribution_id,
3446                              prti.req_distribution_id,
3447                              'REQ_DISTRIBUTION_ID'
3448                             );
3449       END IF;
3450 
3451       IF (rti.req_distribution_num IS NULL) THEN
3452          rti.req_distribution_num  := prti.req_distribution_num;
3453       ELSIF(rti.req_distribution_num <> prti.req_distribution_num) THEN
3454          invalid_match_value(rti.req_distribution_num,
3455                              prti.req_distribution_num,
3456                              'REQ_DISTRIBUTION_NUM'
3457                             );
3458       END IF;
3459 
3460       IF (rti.req_line_num IS NULL) THEN
3461          rti.req_line_num  := prti.req_line_num;
3462       ELSIF(rti.req_line_num <> prti.req_line_num) THEN
3463          invalid_match_value(rti.req_line_num,
3464                              prti.req_line_num,
3465                              'REQ_LINE_NUM'
3466                             );
3467       END IF;
3468 
3469       IF (rti.req_num IS NULL) THEN
3470          rti.req_num  := prti.req_num;
3471       ELSIF(rti.req_num <> prti.req_num) THEN
3472          invalid_match_value(rti.req_num,
3473                              prti.req_num,
3474                              'REQ_NUM'
3475                             );
3476       END IF;
3477 
3478       IF (rti.shipment_header_id IS NULL) THEN
3479          rti.shipment_header_id  := prti.shipment_header_id;
3480       ELSIF(rti.shipment_header_id <> prti.shipment_header_id) THEN
3481          invalid_match_value(rti.shipment_header_id,
3482                              prti.shipment_header_id,
3483                              'SHIPMENT_HEADER_ID'
3484                             );
3485       END IF;
3486 
3487       IF (rti.shipment_line_id IS NULL) THEN
3488          rti.shipment_line_id  := prti.shipment_line_id;
3489       ELSIF(rti.shipment_line_id <> prti.shipment_line_id) THEN
3490          invalid_match_value(rti.shipment_line_id,
3491                              prti.shipment_line_id,
3492                              'SHIPMENT_LINE_ID'
3493                             );
3494       END IF;
3495 
3496       IF (rti.shipment_num IS NULL) THEN
3497          rti.shipment_num  := prti.shipment_num;
3498       ELSIF(rti.shipment_num <> prti.shipment_num) THEN
3499          invalid_match_value(rti.shipment_num,
3500                              prti.shipment_num,
3501                              'SHIPMENT_NUM'
3502                             );
3503       END IF;
3504 
3505       IF (rti.source_document_code IS NULL) THEN
3506          rti.source_document_code  := prti.source_document_code;
3507       ELSIF(rti.source_document_code <> prti.source_document_code) THEN
3508          invalid_match_value(rti.source_document_code,
3509                              prti.source_document_code,
3510                              'SOURCE_DOCUMENT_CODE'
3511                             );
3512       END IF;
3513 
3514       IF (rti.to_organization_code IS NULL) THEN
3515          rti.to_organization_code  := prti.to_organization_code;
3516       ELSIF(rti.to_organization_code <> prti.to_organization_code) THEN
3517          invalid_match_value(rti.to_organization_code,
3518                              prti.to_organization_code,
3519                              'TO_ORGANIZATION_CODE'
3520                             );
3521       END IF;
3522 
3523       IF (rti.to_organization_id IS NULL) THEN
3524          rti.to_organization_id  := prti.to_organization_id;
3525       ELSIF(rti.to_organization_id <> prti.to_organization_id) THEN
3526          invalid_match_value(rti.to_organization_id,
3527                              prti.to_organization_id,
3528                              'TO_ORGANIZATION_ID'
3529                             );
3530       END IF;
3531 
3532       IF (rti.wip_entity_id IS NULL) THEN
3533          rti.wip_entity_id  := prti.wip_entity_id;
3534       ELSIF(rti.wip_entity_id <> prti.wip_entity_id) THEN
3535          invalid_match_value(rti.wip_entity_id,
3536                              prti.wip_entity_id,
3537                              'WIP_ENTITY_ID'
3538                             );
3539       END IF;
3540 
3541       IF (rti.wip_entity_name IS NULL) THEN
3542          rti.wip_entity_name  := prti.wip_entity_name;
3543       ELSIF(rti.wip_entity_name <> prti.wip_entity_name) THEN
3544          invalid_match_value(rti.wip_entity_name,
3545                              prti.wip_entity_name,
3546                              'WIP_ENTITY_NAME'
3547                             );
3548       END IF;
3549 
3550       IF (rti.wip_line_code IS NULL) THEN
3551          rti.wip_line_code  := prti.wip_line_code;
3552       ELSIF(rti.wip_line_code <> prti.wip_line_code) THEN
3553          invalid_match_value(rti.wip_line_code,
3554                              prti.wip_line_code,
3555                              'WIP_LINE_CODE'
3556                             );
3557       END IF;
3558 
3559       IF (rti.wip_line_id IS NULL) THEN
3560          rti.wip_line_id  := prti.wip_line_id;
3561       ELSIF(rti.wip_line_id <> prti.wip_line_id) THEN
3562          invalid_match_value(rti.wip_line_id,
3563                              prti.wip_line_id,
3564                              'WIP_LINE_ID'
3565                             );
3566       END IF;
3567 
3568       IF (rti.wip_operation_seq_num IS NULL) THEN
3569          rti.wip_operation_seq_num  := prti.wip_operation_seq_num;
3570       ELSIF(rti.wip_operation_seq_num <> prti.wip_operation_seq_num) THEN
3571          invalid_match_value(rti.wip_operation_seq_num,
3572                              prti.wip_operation_seq_num,
3573                              'WIP_OPERATION_SEQ_NUM'
3574                             );
3575       END IF;
3576 
3577       IF (rti.wip_repetitive_schedule_id IS NULL) THEN
3578          rti.wip_repetitive_schedule_id  := prti.wip_repetitive_schedule_id;
3579       ELSIF(rti.wip_repetitive_schedule_id <> prti.wip_repetitive_schedule_id) THEN
3580          invalid_match_value(rti.wip_repetitive_schedule_id,
3581                              prti.wip_repetitive_schedule_id,
3582                              'WIP_REPETITIVE_SCHEDULE_ID'
3583                             );
3584       END IF;
3585 
3586       IF (rti.wip_resource_seq_num IS NULL) THEN
3587          rti.wip_resource_seq_num  := prti.wip_resource_seq_num;
3588       ELSIF(rti.wip_resource_seq_num <> prti.wip_resource_seq_num) THEN
3589          invalid_match_value(rti.wip_resource_seq_num,
3590                              prti.wip_resource_seq_num,
3591                              'WIP_RESOURCE_SEQ_NUM'
3592                             );
3593       END IF;
3594 
3595       IF (rti.accrual_status_code IS NULL) THEN
3596          rti.accrual_status_code  := prti.accrual_status_code;
3597       END IF;
3598 
3599       IF (rti.actual_cost IS NULL) THEN
3600          rti.actual_cost  := prti.actual_cost;
3601       END IF;
3602 
3603 	/* Bug 5299177
3604 	 * We expect customers to give the amount. We do not default but error out
3605 	 * if it is not given. Commenting out the foll code.
3606       IF (rti.amount IS NULL) THEN
3607          rti.amount  := prti.amount;
3608 
3609       END IF;
3610 	* 5299177 */
3611 
3612       IF (rti.asn_attach_id IS NULL) THEN
3613          rti.asn_attach_id  := prti.asn_attach_id;
3614       END IF;
3615 
3616       IF (rti.attribute1 IS NULL) THEN
3617          rti.attribute1  := prti.attribute1;
3618       END IF;
3619 
3620       IF (rti.attribute10 IS NULL) THEN
3621          rti.attribute10  := prti.attribute10;
3622       END IF;
3623 
3624       IF (rti.attribute11 IS NULL) THEN
3625          rti.attribute11  := prti.attribute11;
3626       END IF;
3627 
3628       IF (rti.attribute12 IS NULL) THEN
3629          rti.attribute12  := prti.attribute12;
3630       END IF;
3631 
3632       IF (rti.attribute13 IS NULL) THEN
3633          rti.attribute13  := prti.attribute13;
3634       END IF;
3635 
3636       IF (rti.attribute14 IS NULL) THEN
3637          rti.attribute14  := prti.attribute14;
3638       END IF;
3639 
3640       IF (rti.attribute15 IS NULL) THEN
3641          rti.attribute15  := prti.attribute15;
3642       END IF;
3643 
3644       IF (rti.attribute2 IS NULL) THEN
3645          rti.attribute2  := prti.attribute2;
3646       END IF;
3647 
3648       IF (rti.attribute3 IS NULL) THEN
3649          rti.attribute3  := prti.attribute3;
3650       END IF;
3651 
3652       IF (rti.attribute4 IS NULL) THEN
3653          rti.attribute4  := prti.attribute4;
3654       END IF;
3655 
3656       IF (rti.attribute5 IS NULL) THEN
3657          rti.attribute5  := prti.attribute5;
3658       END IF;
3659 
3660       IF (rti.attribute6 IS NULL) THEN
3661          rti.attribute6  := prti.attribute6;
3662       END IF;
3663 
3664       IF (rti.attribute7 IS NULL) THEN
3665          rti.attribute7  := prti.attribute7;
3666       END IF;
3667 
3668       IF (rti.attribute8 IS NULL) THEN
3669          rti.attribute8  := prti.attribute8;
3670       END IF;
3671 
3672       IF (rti.attribute9 IS NULL) THEN
3673          rti.attribute9  := prti.attribute9;
3674       END IF;
3675 
3676       IF (rti.attribute_category IS NULL) THEN
3677          rti.attribute_category  := prti.attribute_category;
3678       END IF;
3679 
3680       IF (rti.auto_transact_code IS NULL) THEN
3681          rti.auto_transact_code  := prti.auto_transact_code;
3682       END IF;
3683 
3684       IF (rti.barcode_label IS NULL) THEN
3685          rti.barcode_label  := prti.barcode_label;
3686       END IF;
3687 
3688       IF (rti.bill_of_lading IS NULL) THEN
3689          rti.bill_of_lading  := prti.bill_of_lading;
3690       END IF;
3691 
3692       IF (rti.bom_resource_id IS NULL) THEN
3693          rti.bom_resource_id  := prti.bom_resource_id;
3694       END IF;
3695 
3696       IF (rti.category_id IS NULL) THEN
3697          rti.category_id  := prti.category_id;
3698       END IF;
3699 
3700       IF (rti.charge_account_id IS NULL) THEN
3701          rti.charge_account_id  := prti.charge_account_id;
3702       END IF;
3703 
3704       IF (rti.container_num IS NULL) THEN
3705          rti.container_num  := prti.container_num;
3706       END IF;
3707 
3708       IF (rti.cost_group_id IS NULL) THEN
3709          rti.cost_group_id  := prti.cost_group_id;
3710       END IF;
3711 
3712       IF (rti.country_of_origin_code IS NULL) THEN
3713          rti.country_of_origin_code  := prti.country_of_origin_code;
3714       END IF;
3715 
3716       IF (rti.create_debit_memo_flag IS NULL) THEN
3717          rti.create_debit_memo_flag  := prti.create_debit_memo_flag;
3718       END IF;
3719 
3720       IF (rti.currency_code IS NULL) THEN
3721          rti.currency_code  := prti.currency_code;
3722       END IF;
3723 
3724       IF (rti.currency_conversion_date IS NULL) THEN
3725          rti.currency_conversion_date  := prti.currency_conversion_date;
3726       END IF;
3727 
3728       IF (rti.currency_conversion_rate IS NULL) THEN
3729          rti.currency_conversion_rate  := prti.currency_conversion_rate;
3730       END IF;
3731 
3732       IF (rti.currency_conversion_type IS NULL) THEN
3733          rti.currency_conversion_type  := prti.currency_conversion_type;
3734       END IF;
3735 
3736       IF (rti.customer_account_number IS NULL) THEN
3737          rti.customer_account_number  := prti.customer_account_number;
3738       END IF;
3739 
3740       IF (rti.customer_id IS NULL) THEN
3741          rti.customer_id  := prti.customer_id;
3742       END IF;
3743 
3744       IF (rti.customer_item_id IS NULL) THEN
3745          rti.customer_item_id  := prti.customer_item_id;
3746       END IF;
3747 
3748       IF (rti.customer_item_num IS NULL) THEN
3749          rti.customer_item_num  := prti.customer_item_num;
3750       END IF;
3751 
3752       IF (rti.customer_party_name IS NULL) THEN
3753          rti.customer_party_name  := prti.customer_party_name;
3754       END IF;
3755 
3756       IF (rti.customer_site_id IS NULL) THEN
3757          rti.customer_site_id  := prti.customer_site_id;
3758       END IF;
3759 
3760       IF (rti.deliver_to_location_code IS NULL) THEN
3761          rti.deliver_to_location_code  := prti.deliver_to_location_code;
3762       END IF;
3763 
3764       IF (rti.deliver_to_location_id IS NULL) THEN
3765          rti.deliver_to_location_id  := prti.deliver_to_location_id;
3766       END IF;
3767 
3768       IF (rti.deliver_to_person_id IS NULL) THEN
3769          rti.deliver_to_person_id  := prti.deliver_to_person_id;
3770       END IF;
3771 
3772       IF (rti.deliver_to_person_name IS NULL) THEN
3773          rti.deliver_to_person_name  := prti.deliver_to_person_name;
3774       END IF;
3775 
3776       IF (rti.department_code IS NULL) THEN
3777          rti.department_code  := prti.department_code;
3778       END IF;
3779 
3780       IF (rti.destination_context IS NULL) THEN
3781          rti.destination_context  := prti.destination_context;
3782       END IF;
3783 
3784       IF (rti.destination_type_code IS NULL) THEN
3785          rti.destination_type_code  := prti.destination_type_code;
3786       END IF;
3787 
3788       IF (rti.employee_id IS NULL) THEN
3789          rti.employee_id  := prti.employee_id;
3790       END IF;
3791 
3792       IF (rti.erecord_id IS NULL) THEN
3793          rti.erecord_id  := prti.erecord_id;
3794       END IF;
3795 
3796       IF (rti.expected_receipt_date IS NULL) THEN
3797          rti.expected_receipt_date  := prti.expected_receipt_date;
3798       END IF;
3799 
3800       IF (rti.freight_carrier_code IS NULL) THEN
3801          rti.freight_carrier_code  := prti.freight_carrier_code;
3802       END IF;
3803 
3804       IF (rti.from_locator IS NULL) THEN
3805          rti.from_locator  := prti.from_locator;
3806       END IF;
3807 
3808       IF (rti.from_locator_id IS NULL) THEN
3809          rti.from_locator_id  := prti.from_locator_id;
3810       END IF;
3811 
3812 	/* Bug 5584736.
3813 	 * We have a detailed defaulting routine for defaulting
3814 	 * subinventory and locator later. Commenting out this code
3815 	 * here since this is creating problems later.
3816       IF (rti.from_subinventory IS NULL) THEN
3817          rti.from_subinventory  := prti.from_subinventory;
3818       END IF;
3819 	*/
3820 
3821       IF (rti.government_context IS NULL) THEN
3822          rti.government_context  := prti.government_context;
3823       END IF;
3824 
3825       IF (rti.GROUP_ID IS NULL) THEN
3826          rti.GROUP_ID  := prti.GROUP_ID;
3827       END IF;
3828 
3829       IF (rti.inspection_quality_code IS NULL) THEN
3830          rti.inspection_quality_code  := prti.inspection_quality_code;
3831       END IF;
3832 
3833       IF (rti.inspection_status_code IS NULL) THEN
3834          rti.inspection_status_code  := prti.inspection_status_code;
3835       END IF;
3836 
3837       IF (rti.interface_available_amt IS NULL) THEN
3838          rti.interface_available_amt  := prti.interface_available_amt;
3839       END IF;
3840 
3841       IF (rti.interface_available_qty IS NULL) THEN
3842          rti.interface_available_qty  := prti.interface_available_qty;
3843       END IF;
3844 
3845       IF (rti.interface_source_code IS NULL) THEN
3846          rti.interface_source_code  := prti.interface_source_code;
3847       END IF;
3848 
3849       IF (rti.interface_source_line_id IS NULL) THEN
3850          rti.interface_source_line_id  := prti.interface_source_line_id;
3851       END IF;
3852 
3853       IF (rti.interface_transaction_amt IS NULL) THEN
3854          rti.interface_transaction_amt  := prti.interface_transaction_amt;
3855       END IF;
3856 
3857       IF (rti.interface_transaction_id IS NULL) THEN
3858          rti.interface_transaction_id  := prti.interface_transaction_id;
3859       END IF;
3860 
3861       IF (rti.interface_transaction_qty IS NULL) THEN
3862          rti.interface_transaction_qty  := prti.interface_transaction_qty;
3863       END IF;
3864 
3865       IF (rti.intransit_owning_org_code IS NULL) THEN
3866          rti.intransit_owning_org_code  := prti.intransit_owning_org_code;
3867       END IF;
3868 
3869       IF (rti.intransit_owning_org_id IS NULL) THEN
3870          rti.intransit_owning_org_id  := prti.intransit_owning_org_id;
3871       END IF;
3872 
3873       IF (rti.inv_transaction_id IS NULL) THEN
3874          rti.inv_transaction_id  := prti.inv_transaction_id;
3875       END IF;
3876 
3877       /*
3878       IF (rti.license_plate_number IS NULL) THEN
3879          rti.license_plate_number  := prti.license_plate_number;
3880       END IF;
3881       */
3882       IF (rti.location_code IS NULL) THEN
3883          rti.location_code  := prti.location_code;
3884       END IF;
3885 
3886       IF (rti.location_id IS NULL) THEN
3887          rti.location_id  := prti.location_id;
3888       END IF;
3889 
3890       IF (rti.LOCATOR IS NULL) THEN
3891          rti.LOCATOR  := prti.LOCATOR;
3892       END IF;
3893 
3894       IF (rti.locator_id IS NULL) THEN
3895          rti.locator_id  := prti.locator_id;
3896       END IF;
3897 
3898       /*
3899       IF (rti.lpn_group_id IS NULL) THEN
3900          rti.lpn_group_id  := prti.lpn_group_id;
3901       END IF;
3902 
3903       IF (rti.lpn_id IS NULL) THEN
3904          rti.lpn_id  := prti.lpn_id;
3905       END IF;
3906       */
3907       IF (rti.mmtt_temp_id IS NULL) THEN
3908          rti.mmtt_temp_id  := prti.mmtt_temp_id;
3909       END IF;
3910 
3911       IF (rti.mobile_txn IS NULL) THEN
3912          rti.mobile_txn  := prti.mobile_txn;
3913       END IF;
3914 
3915       IF (rti.movement_id IS NULL) THEN
3916          rti.movement_id  := prti.movement_id;
3917       END IF;
3918 
3919       IF (rti.notice_unit_price IS NULL) THEN
3920          rti.notice_unit_price  := prti.notice_unit_price;
3921       END IF;
3922 
3923       IF (rti.num_of_containers IS NULL) THEN
3924          rti.num_of_containers  := prti.num_of_containers;
3925       END IF;
3926 
3927       IF (rti.packing_slip IS NULL) THEN
3928          rti.packing_slip  := prti.packing_slip;
3929       END IF;
3930 
3931       IF (rti.po_unit_price IS NULL) THEN
3932          rti.po_unit_price  := prti.po_unit_price;
3933       END IF;
3934 
3935       IF (rti.processing_mode_code IS NULL) THEN
3936          rti.processing_mode_code  := prti.processing_mode_code;
3937       END IF;
3938 
3939       IF (rti.processing_status_code IS NULL) THEN
3940          rti.processing_status_code  := prti.processing_status_code;
3941       END IF;
3942 
3943       IF (rti.program_application_id IS NULL) THEN
3944          rti.program_application_id  := prti.program_application_id;
3945       END IF;
3946 
3947       IF (rti.program_id IS NULL) THEN
3948          rti.program_id  := prti.program_id;
3949       END IF;
3950 
3951       IF (rti.program_update_date IS NULL) THEN
3952          rti.program_update_date  := prti.program_update_date;
3953       END IF;
3954 
3955       IF (rti.put_away_rule_id IS NULL) THEN
3956          rti.put_away_rule_id  := prti.put_away_rule_id;
3957       END IF;
3958 
3959       IF (rti.put_away_strategy_id IS NULL) THEN
3960          rti.put_away_strategy_id  := prti.put_away_strategy_id;
3961       END IF;
3962 
3963       IF (rti.qa_collection_id IS NULL) THEN
3964          rti.qa_collection_id  := prti.qa_collection_id;
3965       END IF;
3966 
3967       IF (rti.qc_grade IS NULL) THEN
3968          rti.qc_grade  := prti.qc_grade;
3969       END IF;
3970 
3971       IF (rti.reason_id IS NULL) THEN
3972          rti.reason_id  := prti.reason_id;
3973       END IF;
3974 
3975       IF (rti.reason_name IS NULL) THEN
3976          rti.reason_name  := prti.reason_name;
3977       END IF;
3978 
3979       IF (rti.receipt_exception_flag IS NULL) THEN
3980          rti.receipt_exception_flag  := prti.receipt_exception_flag;
3981       END IF;
3982 
3983       IF (rti.receipt_source_code IS NULL) THEN
3984          rti.receipt_source_code  := prti.receipt_source_code;
3985       END IF;
3986 
3987       IF (rti.request_id IS NULL) THEN
3988          rti.request_id  := prti.request_id;
3989       END IF;
3990 
3991       IF (rti.resource_code IS NULL) THEN
3992          rti.resource_code  := prti.resource_code;
3993       END IF;
3994 
3995       IF (rti.rma_reference IS NULL) THEN
3996          rti.rma_reference  := prti.rma_reference;
3997       END IF;
3998 
3999       IF (rti.routing_code IS NULL) THEN
4000          rti.routing_code  := prti.routing_code;
4001       END IF;
4002 
4003       IF (rti.routing_header_id IS NULL) THEN
4004          rti.routing_header_id  := prti.routing_header_id;
4005       END IF;
4006 
4007       IF (rti.routing_step IS NULL) THEN
4008          rti.routing_step  := prti.routing_step;
4009       END IF;
4010 
4011       IF (rti.routing_step_id IS NULL) THEN
4012          rti.routing_step_id  := prti.routing_step_id;
4013       END IF;
4014 
4015       IF (rti.secondary_unit_of_measure IS NULL) THEN
4016          rti.secondary_unit_of_measure  := prti.secondary_unit_of_measure;
4017       END IF;
4018 
4019       IF (rti.secondary_uom_code IS NULL) THEN
4020          rti.secondary_uom_code  := prti.secondary_uom_code;
4021       END IF;
4022 
4023       IF (rti.shipment_line_status_code IS NULL) THEN
4024          rti.shipment_line_status_code  := prti.shipment_line_status_code;
4025       END IF;
4026 
4027       IF (rti.shipped_date IS NULL) THEN
4028          rti.shipped_date  := prti.shipped_date;
4029       END IF;
4030 
4031       IF (rti.ship_head_attribute1 IS NULL) THEN
4032          rti.ship_head_attribute1  := prti.ship_head_attribute1;
4033       END IF;
4034 
4035       IF (rti.ship_head_attribute10 IS NULL) THEN
4036          rti.ship_head_attribute10  := prti.ship_head_attribute10;
4037       END IF;
4038 
4039       IF (rti.ship_head_attribute11 IS NULL) THEN
4040          rti.ship_head_attribute11  := prti.ship_head_attribute11;
4041       END IF;
4042 
4043       IF (rti.ship_head_attribute12 IS NULL) THEN
4044          rti.ship_head_attribute12  := prti.ship_head_attribute12;
4045       END IF;
4046 
4047       IF (rti.ship_head_attribute13 IS NULL) THEN
4048          rti.ship_head_attribute13  := prti.ship_head_attribute13;
4049       END IF;
4050 
4051       IF (rti.ship_head_attribute14 IS NULL) THEN
4052          rti.ship_head_attribute14  := prti.ship_head_attribute14;
4053       END IF;
4054 
4055       IF (rti.ship_head_attribute15 IS NULL) THEN
4056          rti.ship_head_attribute15  := prti.ship_head_attribute15;
4057       END IF;
4058 
4059       IF (rti.ship_head_attribute2 IS NULL) THEN
4060          rti.ship_head_attribute2  := prti.ship_head_attribute2;
4061       END IF;
4062 
4063       IF (rti.ship_head_attribute3 IS NULL) THEN
4064          rti.ship_head_attribute3  := prti.ship_head_attribute3;
4065       END IF;
4066 
4067       IF (rti.ship_head_attribute4 IS NULL) THEN
4068          rti.ship_head_attribute4  := prti.ship_head_attribute4;
4069       END IF;
4070 
4071       IF (rti.ship_head_attribute5 IS NULL) THEN
4072          rti.ship_head_attribute5  := prti.ship_head_attribute5;
4073       END IF;
4074 
4075       IF (rti.ship_head_attribute6 IS NULL) THEN
4076          rti.ship_head_attribute6  := prti.ship_head_attribute6;
4077       END IF;
4078 
4079       IF (rti.ship_head_attribute7 IS NULL) THEN
4080          rti.ship_head_attribute7  := prti.ship_head_attribute7;
4081       END IF;
4082 
4083       IF (rti.ship_head_attribute8 IS NULL) THEN
4084          rti.ship_head_attribute8  := prti.ship_head_attribute8;
4085       END IF;
4086 
4087       IF (rti.ship_head_attribute9 IS NULL) THEN
4088          rti.ship_head_attribute9  := prti.ship_head_attribute9;
4089       END IF;
4090 
4091       IF (rti.ship_head_attribute_category IS NULL) THEN
4092          rti.ship_head_attribute_category  := prti.ship_head_attribute_category;
4093       END IF;
4094 
4095       IF (rti.ship_line_attribute1 IS NULL) THEN
4096          rti.ship_line_attribute1  := prti.ship_line_attribute1;
4097       END IF;
4098 
4099       IF (rti.ship_line_attribute10 IS NULL) THEN
4100          rti.ship_line_attribute10  := prti.ship_line_attribute10;
4101       END IF;
4102 
4103       IF (rti.ship_line_attribute11 IS NULL) THEN
4104          rti.ship_line_attribute11  := prti.ship_line_attribute11;
4105       END IF;
4106 
4107       IF (rti.ship_line_attribute12 IS NULL) THEN
4108          rti.ship_line_attribute12  := prti.ship_line_attribute12;
4109       END IF;
4110 
4111       IF (rti.ship_line_attribute13 IS NULL) THEN
4112          rti.ship_line_attribute13  := prti.ship_line_attribute13;
4113       END IF;
4114 
4115       IF (rti.ship_line_attribute14 IS NULL) THEN
4116          rti.ship_line_attribute14  := prti.ship_line_attribute14;
4117       END IF;
4118 
4119       IF (rti.ship_line_attribute15 IS NULL) THEN
4120          rti.ship_line_attribute15  := prti.ship_line_attribute15;
4121       END IF;
4122 
4123       IF (rti.ship_line_attribute2 IS NULL) THEN
4124          rti.ship_line_attribute2  := prti.ship_line_attribute2;
4125       END IF;
4126 
4127       IF (rti.ship_line_attribute3 IS NULL) THEN
4128          rti.ship_line_attribute3  := prti.ship_line_attribute3;
4129       END IF;
4130 
4131       IF (rti.ship_line_attribute4 IS NULL) THEN
4132          rti.ship_line_attribute4  := prti.ship_line_attribute4;
4133       END IF;
4134 
4135       IF (rti.ship_line_attribute5 IS NULL) THEN
4136          rti.ship_line_attribute5  := prti.ship_line_attribute5;
4137       END IF;
4138 
4139       IF (rti.ship_line_attribute6 IS NULL) THEN
4140          rti.ship_line_attribute6  := prti.ship_line_attribute6;
4141       END IF;
4142 
4143       IF (rti.ship_line_attribute7 IS NULL) THEN
4144          rti.ship_line_attribute7  := prti.ship_line_attribute7;
4145       END IF;
4146 
4147       IF (rti.ship_line_attribute8 IS NULL) THEN
4148          rti.ship_line_attribute8  := prti.ship_line_attribute8;
4149       END IF;
4150 
4151       IF (rti.ship_line_attribute9 IS NULL) THEN
4152          rti.ship_line_attribute9  := prti.ship_line_attribute9;
4153       END IF;
4154 
4155       IF (rti.ship_line_attribute_category IS NULL) THEN
4156          rti.ship_line_attribute_category  := prti.ship_line_attribute_category;
4157       END IF;
4158 
4159       IF (rti.ship_to_location_code IS NULL) THEN
4160          rti.ship_to_location_code  := prti.ship_to_location_code;
4161       END IF;
4162 
4163       IF (rti.ship_to_location_id IS NULL) THEN
4164          rti.ship_to_location_id  := prti.ship_to_location_id;
4165       END IF;
4166 
4167       IF (rti.source_doc_unit_of_measure IS NULL) THEN
4168          rti.source_doc_unit_of_measure  := prti.source_doc_unit_of_measure;
4169       END IF;
4170 
4171       IF (rti.source_transaction_num IS NULL) THEN
4172          rti.source_transaction_num  := prti.source_transaction_num;
4173       END IF;
4174 
4175 	/* Bug 5584736.
4176 	 * We have a detailed defaulting routine for defaulting
4177 	 * subinventory and locator later. Commenting out this code
4178 	 * here since this is creating problems later.
4179       IF (rti.subinventory IS NULL) THEN
4180          rti.subinventory  := prti.subinventory;
4181       END IF;
4182 	*/
4183 
4184       IF (rti.substitute_item_id IS NULL) THEN
4185          rti.substitute_item_id  := prti.substitute_item_id;
4186       END IF;
4187 
4188       IF (rti.substitute_item_num IS NULL) THEN
4189          rti.substitute_item_num  := prti.substitute_item_num;
4190       END IF;
4191 
4192       IF (rti.substitute_unordered_code IS NULL) THEN
4193          rti.substitute_unordered_code  := prti.substitute_unordered_code;
4194       END IF;
4195 
4196       IF (rti.task_id IS NULL) THEN
4197          rti.task_id  := prti.task_id;
4198       END IF;
4199 
4200       IF (rti.tax_amount IS NULL) THEN
4201          rti.tax_amount  := prti.tax_amount;
4202       END IF;
4203 
4204       IF (rti.tax_name IS NULL) THEN
4205          rti.tax_name  := prti.tax_name;
4206       END IF;
4207 
4208       IF (rti.timecard_id IS NULL) THEN
4209          rti.timecard_id  := prti.timecard_id;
4210       END IF;
4211 
4212       IF (rti.timecard_ovn IS NULL) THEN
4213          rti.timecard_ovn  := prti.timecard_ovn;
4214       END IF;
4215 
4216       IF (rti.transaction_date IS NULL) THEN
4217          rti.transaction_date  := prti.transaction_date;
4218       END IF;
4219 
4220       IF (rti.transaction_status_code IS NULL) THEN
4221          rti.transaction_status_code  := prti.transaction_status_code;
4222       END IF;
4223 
4224       IF (rti.transaction_type IS NULL) THEN
4225          rti.transaction_type  := prti.transaction_type;
4226       END IF;
4227 
4228       IF (rti.transfer_cost IS NULL) THEN
4229          rti.transfer_cost  := prti.transfer_cost;
4230       END IF;
4231 
4232       IF (rti.transfer_cost_group_id IS NULL) THEN
4233          rti.transfer_cost_group_id  := prti.transfer_cost_group_id;
4234       END IF;
4235 
4236       /*
4237       IF (rti.transfer_license_plate_number IS NULL) THEN
4238          rti.transfer_license_plate_number  := prti.transfer_license_plate_number;
4239       END IF;
4240 
4241       IF (rti.transfer_lpn_id IS NULL) THEN
4242          rti.transfer_lpn_id  := prti.transfer_lpn_id;
4243       END IF;
4244       */
4245       IF (rti.transfer_percentage IS NULL) THEN
4246          rti.transfer_percentage  := prti.transfer_percentage;
4247       END IF;
4248 
4249       IF (rti.transportation_account_id IS NULL) THEN
4250          rti.transportation_account_id  := prti.transportation_account_id;
4251       END IF;
4252 
4253       IF (rti.transportation_cost IS NULL) THEN
4254          rti.transportation_cost  := prti.transportation_cost;
4255       END IF;
4256 
4257       IF (rti.truck_num IS NULL) THEN
4258          rti.truck_num  := prti.truck_num;
4259       END IF;
4260 
4261       IF (rti.unit_of_measure IS NULL) THEN
4262          rti.unit_of_measure  := prti.unit_of_measure;
4263       END IF;
4264 
4265       IF (rti.uom_code IS NULL) THEN
4266          rti.uom_code  := prti.uom_code;
4267       END IF;
4268 
4269       IF (rti.use_mtl_lot IS NULL) THEN
4270          rti.use_mtl_lot  := prti.use_mtl_lot;
4271       END IF;
4272 
4273       IF (rti.use_mtl_serial IS NULL) THEN
4274          rti.use_mtl_serial  := prti.use_mtl_serial;
4275       END IF;
4276 
4277       IF (rti.ussgl_transaction_code IS NULL) THEN
4278          rti.ussgl_transaction_code  := prti.ussgl_transaction_code;
4279       END IF;
4280 
4281       IF (rti.validation_flag IS NULL) THEN
4282          rti.validation_flag  := prti.validation_flag;
4283       END IF;
4284 
4285       IF (rti.vendor_cum_shipped_qty IS NULL) THEN
4286          rti.vendor_cum_shipped_qty  := prti.vendor_cum_shipped_qty;
4287       END IF;
4288 
4289       IF (rti.vendor_id IS NULL) THEN
4290          rti.vendor_id  := prti.vendor_id;
4291       END IF;
4292 
4293       IF (rti.vendor_item_num IS NULL) THEN
4294          rti.vendor_item_num  := prti.vendor_item_num;
4295       END IF;
4296 
4297       IF (rti.vendor_lot_num IS NULL) THEN
4298          rti.vendor_lot_num  := prti.vendor_lot_num;
4299       END IF;
4300 
4301       IF (rti.vendor_name IS NULL) THEN
4302          rti.vendor_name  := prti.vendor_name;
4303       END IF;
4304 
4305       IF (rti.vendor_num IS NULL) THEN
4306          rti.vendor_num  := prti.vendor_num;
4307       END IF;
4308 
4309       IF (rti.vendor_site_code IS NULL) THEN
4310          rti.vendor_site_code  := prti.vendor_site_code;
4311       END IF;
4312 
4313       IF (rti.vendor_site_id IS NULL) THEN
4314          rti.vendor_site_id  := prti.vendor_site_id;
4315       END IF;
4316 
4317       IF (rti.waybill_airbill_num IS NULL) THEN
4318          rti.waybill_airbill_num  := prti.waybill_airbill_num;
4319       END IF;
4320 
4321       --Quantity code
4322 	/* Bug 5299177
4323 	 * We expect customers to give the quantity. We do not default but error out
4324 	 * if it is not given. Commenting out the foll code.
4325       IF (rti.quantity IS NULL) THEN
4326          rti.quantity  := prti.quantity;
4327 
4328          IF (rti.primary_quantity IS NULL) THEN
4329             rti.primary_quantity  := prti.primary_quantity;
4330          END IF;
4331 
4332          IF (rti.secondary_quantity IS NULL) THEN
4333             rti.secondary_quantity  := prti.secondary_quantity;
4334          END IF;
4335 
4336          IF (rti.source_doc_quantity IS NULL) THEN
4337             rti.source_doc_quantity  := prti.source_doc_quantity;
4338          END IF;
4339       END IF;
4340 
4341       IF (rti.quantity_invoiced IS NULL) THEN
4342          rti.quantity_invoiced  := prti.quantity_invoiced;
4343       END IF;
4344 
4345       IF (rti.quantity_shipped IS NULL) THEN
4346          rti.quantity_shipped  := prti.quantity_shipped;
4347       END IF;
4348 	* 5299177 */
4349    END default_rti_from_rti;
4350 
4351    PROCEDURE default_rti_from_rt(
4352       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
4353    ) IS
4354       rt rcv_transactions%ROWTYPE;
4355    BEGIN
4356       IF (rti.parent_transaction_id IS NOT NULL) THEN
4357          rt  := rcv_table_functions.get_rt_row_from_id(rti.parent_transaction_id);
4358       END IF;
4359 
4360       IF (rt.transaction_id IS NULL) THEN
4361          RETURN;
4362       END IF;
4363 
4364       IF (rti.job_id IS NULL) THEN
4365          rti.job_id  := rt.job_id;
4366       ELSIF(rti.job_id <> rt.job_id) THEN
4367          invalid_match_value(rti.job_id,
4368                              rt.job_id,
4369                              'JOB_ID'
4370                             );
4371       END IF;
4372 
4373       IF (rti.oe_order_header_id IS NULL) THEN
4374          rti.oe_order_header_id  := rt.oe_order_header_id;
4375       ELSIF(rti.oe_order_header_id <> rt.oe_order_header_id) THEN
4376          invalid_match_value(rti.oe_order_header_id,
4377                              rt.oe_order_header_id,
4378                              'OE_ORDER_HEADER_ID'
4379                             );
4380       END IF;
4381 
4382       IF (rti.oe_order_line_id IS NULL) THEN
4383          rti.oe_order_line_id  := rt.oe_order_line_id;
4384       ELSIF(rti.oe_order_line_id <> rt.oe_order_line_id) THEN
4385          invalid_match_value(rti.oe_order_line_id,
4386                              rt.oe_order_line_id,
4387                              'OE_ORDER_LINE_ID'
4388                             );
4389       END IF;
4390 
4391       /*
4392       ** Bug#4615534 - Org_id defaulting from inventory organization
4393       ** needs to be done only for In-transit shipments
4394       */
4395       IF(rti.receipt_source_code IN ('INVENTORY','INTERNAL ORDER')) THEN -- Bug 9706173
4396           IF (rti.org_id IS NULL) THEN
4397              rti.org_id  := get_org_id_from_inv_org_id(rt.organization_id);
4398           ELSIF(rti.org_id <> get_org_id_from_inv_org_id(rt.organization_id)) THEN
4399              invalid_match_value(rti.org_id,
4400                                  get_org_id_from_inv_org_id(rt.organization_id),
4401                                  'ORG_ID'
4402                                 );
4403           END IF;
4404       END IF;
4405 
4406       IF (rti.parent_transaction_id IS NULL) THEN
4407          rti.parent_transaction_id  := rt.transaction_id;
4408       ELSIF(rti.parent_transaction_id <> rt.transaction_id) THEN
4409          invalid_match_value(rti.parent_transaction_id,
4410                              rt.transaction_id,
4411                              'PARENT_TRANSACTION_ID'
4412                             );
4413       END IF;
4414 
4415       IF (rti.po_distribution_id IS NULL) THEN
4416          rti.po_distribution_id  := rt.po_distribution_id;
4417       ELSIF(rti.po_distribution_id <> rt.po_distribution_id) THEN
4418          invalid_match_value(rti.po_distribution_id,
4419                              rt.po_distribution_id,
4420                              'PO_DISTRIBUTION_ID'
4421                             );
4422       END IF;
4423 
4424       IF (rti.po_header_id IS NULL) THEN
4425          rti.po_header_id  := rt.po_header_id;
4426       ELSIF(rti.po_header_id <> rt.po_header_id) THEN
4427          invalid_match_value(rti.po_header_id,
4428                              rt.po_header_id,
4429                              'PO_HEADER_ID'
4430                             );
4431       END IF;
4432 
4433       IF (rti.po_line_id IS NULL) THEN
4434          rti.po_line_id  := rt.po_line_id;
4435       ELSIF(rti.po_line_id <> rt.po_line_id) THEN
4436          invalid_match_value(rti.po_line_id,
4437                              rt.po_line_id,
4438                              'PO_LINE_ID'
4439                             );
4440       END IF;
4441 
4442       IF (rti.po_line_location_id IS NULL) THEN
4443          rti.po_line_location_id  := rt.po_line_location_id;
4444       ELSIF(rti.po_line_location_id <> rt.po_line_location_id) THEN
4445          invalid_match_value(rti.po_line_location_id,
4446                              rt.po_line_location_id,
4447                              'PO_LINE_LOCATION_ID'
4448                             );
4449       END IF;
4450 
4451       IF (rti.po_release_id IS NULL) THEN
4452          rti.po_release_id  := rt.po_release_id;
4453       ELSIF(rti.po_release_id <> rt.po_release_id) THEN
4454          invalid_match_value(rti.po_release_id,
4455                              rt.po_release_id,
4456                              'PO_RELEASE_ID'
4457                             );
4458       END IF;
4459 
4460       IF (rti.po_revision_num IS NULL) THEN
4461          rti.po_revision_num  := rt.po_revision_num;
4462       ELSIF(rti.po_revision_num <> rt.po_revision_num) THEN
4463          invalid_match_value(rti.po_revision_num,
4464                              rt.po_revision_num,
4465                              'PO_REVISION_NUM'
4466                             );
4467       END IF;
4468 
4469       IF (rti.primary_unit_of_measure IS NULL) THEN
4470          rti.primary_unit_of_measure  := rt.primary_unit_of_measure;
4471       ELSIF(rti.primary_unit_of_measure <> rt.primary_unit_of_measure) THEN
4472          invalid_match_value(rti.primary_unit_of_measure,
4473                              rt.primary_unit_of_measure,
4474                              'PRIMARY_UNIT_OF_MEASURE'
4475                             );
4476       END IF;
4477 
4478       IF (rti.project_id IS NULL) THEN
4479          rti.project_id  := rt.project_id;
4480       ELSIF(rti.project_id <> rt.project_id) THEN
4481          invalid_match_value(rti.project_id,
4482                              rt.project_id,
4483                              'PROJECT_ID'
4484                             );
4485       END IF;
4486 
4487       IF (rti.requisition_line_id IS NULL) THEN
4488          rti.requisition_line_id  := rt.requisition_line_id;
4489       ELSIF(rti.requisition_line_id <> rt.requisition_line_id) THEN
4490          invalid_match_value(rti.requisition_line_id,
4491                              rt.requisition_line_id,
4492                              'REQUISITION_LINE_ID'
4493                             );
4494       END IF;
4495 
4496       IF (rti.req_distribution_id IS NULL) THEN
4497          rti.req_distribution_id  := rt.req_distribution_id;
4498       ELSIF(rti.req_distribution_id <> rt.req_distribution_id) THEN
4499          invalid_match_value(rti.req_distribution_id,
4500                              rt.req_distribution_id,
4501                              'REQ_DISTRIBUTION_ID'
4502                             );
4503       END IF;
4504 
4505       IF (rti.shipment_header_id IS NULL) THEN
4506          rti.shipment_header_id  := rt.shipment_header_id;
4507       ELSIF(rti.shipment_header_id <> rt.shipment_header_id) THEN
4508          invalid_match_value(rti.shipment_header_id,
4509                              rt.shipment_header_id,
4510                              'SHIPMENT_HEADER_ID'
4511                             );
4512       END IF;
4513 
4514       IF (rti.shipment_line_id IS NULL) THEN
4515          rti.shipment_line_id  := rt.shipment_line_id;
4516       ELSIF(rti.shipment_line_id <> rt.shipment_line_id) THEN
4517          invalid_match_value(rti.shipment_line_id,
4518                              rt.shipment_line_id,
4519                              'SHIPMENT_LINE_ID'
4520                             );
4521       END IF;
4522 
4523       IF (rti.source_document_code IS NULL) THEN
4524          rti.source_document_code  := rt.source_document_code;
4525       ELSIF(rti.source_document_code <> rt.source_document_code) THEN
4526          invalid_match_value(rti.source_document_code,
4527                              rt.source_document_code,
4528                              'SOURCE_DOCUMENT_CODE'
4529                             );
4530       END IF;
4531 
4532       IF (rti.to_organization_id IS NULL) THEN
4533          rti.to_organization_id  := rt.organization_id;
4534       ELSIF(rti.to_organization_id <> rt.organization_id) THEN
4535          invalid_match_value(rti.to_organization_id,
4536                              rt.organization_id,
4537                              'TO_ORGANIZATION_ID'
4538                             );
4539       END IF;
4540 
4541       IF (rti.wip_entity_id IS NULL) THEN
4542          rti.wip_entity_id  := rt.wip_entity_id;
4543       ELSIF(rti.wip_entity_id <> rt.wip_entity_id) THEN
4544          invalid_match_value(rti.wip_entity_id,
4545                              rt.wip_entity_id,
4546                              'WIP_ENTITY_ID'
4547                             );
4548       END IF;
4549 
4550       IF (rti.wip_line_id IS NULL) THEN
4551          rti.wip_line_id  := rt.wip_line_id;
4552       ELSIF(rti.wip_line_id <> rt.wip_line_id) THEN
4553          invalid_match_value(rti.wip_line_id,
4554                              rt.wip_line_id,
4555                              'WIP_LINE_ID'
4556                             );
4557       END IF;
4558 
4559       IF (rti.wip_operation_seq_num IS NULL) THEN
4560          rti.wip_operation_seq_num  := rt.wip_operation_seq_num;
4561       ELSIF(rti.wip_operation_seq_num <> rt.wip_operation_seq_num) THEN
4562          invalid_match_value(rti.wip_operation_seq_num,
4563                              rt.wip_operation_seq_num,
4564                              'WIP_OPERATION_SEQ_NUM'
4565                             );
4566       END IF;
4567 
4568       IF (rti.wip_repetitive_schedule_id IS NULL) THEN
4569          rti.wip_repetitive_schedule_id  := rt.wip_repetitive_schedule_id;
4570       ELSIF(rti.wip_repetitive_schedule_id <> rt.wip_repetitive_schedule_id) THEN
4571          invalid_match_value(rti.wip_repetitive_schedule_id,
4572                              rt.wip_repetitive_schedule_id,
4573                              'WIP_REPETITIVE_SCHEDULE_ID'
4574                             );
4575       END IF;
4576 
4577       IF (rti.wip_resource_seq_num IS NULL) THEN
4578          rti.wip_resource_seq_num  := rt.wip_resource_seq_num;
4579       ELSIF(rti.wip_resource_seq_num <> rt.wip_resource_seq_num) THEN
4580          invalid_match_value(rti.wip_resource_seq_num,
4581                              rt.wip_resource_seq_num,
4582                              'WIP_RESOURCE_SEQ_NUM'
4583                             );
4584       END IF;
4585 
4586       --Bug 13725088 lcm_shipment_line_id and unit_landed_cost should be defaulted from RT for all the
4587       --subsequent transactions after receipt if it is not populated.
4588 
4589       IF(rcv_table_functions.is_lcm_shipment (rti.po_line_location_id)='Y') THEN
4590          IF (rti.transaction_type not in ('SHIP','RECEIVE')) THEN
4591             IF(rti.lcm_shipment_line_id IS NULL) THEN
4592                rti.lcm_shipment_line_id:=rt.lcm_shipment_line_id;
4593             END IF;
4594 
4595             IF(rti.unit_landed_cost IS NULL) THEN
4596                rti.unit_landed_cost:=rt.unit_landed_cost;
4597             END IF;
4598          END IF;
4599       END IF;
4600 
4601 
4602       IF (rti.accrual_status_code IS NULL) THEN
4603          rti.accrual_status_code  := rt.accrual_status_code;
4604       END IF;
4605 
4606 	/* Bug 5299177
4607 	 * We expect customers to give the amount. We do not default but error out
4608 	 * if it is not given. Commenting out the foll code.
4609       IF (rti.amount IS NULL) THEN
4610          rti.amount  := rt.amount;
4611       END IF;
4612 	* 5299177 */
4613 
4614       IF (rti.attribute1 IS NULL) THEN
4615          rti.attribute1  := rt.attribute1;
4616       END IF;
4617 
4618       IF (rti.attribute10 IS NULL) THEN
4619          rti.attribute10  := rt.attribute10;
4620       END IF;
4621 
4622       IF (rti.attribute11 IS NULL) THEN
4623          rti.attribute11  := rt.attribute11;
4624       END IF;
4625 
4626       IF (rti.attribute12 IS NULL) THEN
4627          rti.attribute12  := rt.attribute12;
4628       END IF;
4629 
4630       IF (rti.attribute13 IS NULL) THEN
4631          rti.attribute13  := rt.attribute13;
4632       END IF;
4633 
4634       IF (rti.attribute14 IS NULL) THEN
4635          rti.attribute14  := rt.attribute14;
4636       END IF;
4637 
4638       IF (rti.attribute15 IS NULL) THEN
4639          rti.attribute15  := rt.attribute15;
4640       END IF;
4641 
4642       IF (rti.attribute2 IS NULL) THEN
4643          rti.attribute2  := rt.attribute2;
4644       END IF;
4645 
4646       IF (rti.attribute3 IS NULL) THEN
4647          rti.attribute3  := rt.attribute3;
4648       END IF;
4649 
4650       IF (rti.attribute4 IS NULL) THEN
4651          rti.attribute4  := rt.attribute4;
4652       END IF;
4653 
4654       IF (rti.attribute5 IS NULL) THEN
4655          rti.attribute5  := rt.attribute5;
4656       END IF;
4657 
4658       IF (rti.attribute6 IS NULL) THEN
4659          rti.attribute6  := rt.attribute6;
4660       END IF;
4661 
4662       IF (rti.attribute7 IS NULL) THEN
4663          rti.attribute7  := rt.attribute7;
4664       END IF;
4665 
4666       IF (rti.attribute8 IS NULL) THEN
4667          rti.attribute8  := rt.attribute8;
4668       END IF;
4669 
4670       IF (rti.attribute9 IS NULL) THEN
4671          rti.attribute9  := rt.attribute9;
4672       END IF;
4673 
4674       IF (rti.attribute_category IS NULL) THEN
4675          rti.attribute_category  := rt.attribute_category;
4676       END IF;
4677 
4678       IF (rti.bom_resource_id IS NULL) THEN
4679          rti.bom_resource_id  := rt.bom_resource_id;
4680       END IF;
4681 
4682       IF (rti.country_of_origin_code IS NULL) THEN
4683          rti.country_of_origin_code  := rt.country_of_origin_code;
4684       END IF;
4685 
4686       IF (rti.currency_code IS NULL) THEN
4687          rti.currency_code  := rt.currency_code;
4688       END IF;
4689 
4690       IF (rti.currency_conversion_date IS NULL) THEN
4691          rti.currency_conversion_date  := rt.currency_conversion_date;
4692       END IF;
4693 
4694       IF (rti.currency_conversion_rate IS NULL) THEN
4695          rti.currency_conversion_rate  := rt.currency_conversion_rate;
4696       END IF;
4697 
4698       IF (rti.currency_conversion_type IS NULL) THEN
4699          rti.currency_conversion_type  := rt.currency_conversion_type;
4700       END IF;
4701 
4702       IF (rti.customer_id IS NULL) THEN
4703          rti.customer_id  := rt.customer_id;
4704       END IF;
4705 
4706       IF (rti.customer_site_id IS NULL) THEN
4707          rti.customer_site_id  := rt.customer_site_id;
4708       END IF;
4709 
4710       IF (rti.deliver_to_location_id IS NULL) THEN
4711          rti.deliver_to_location_id  := rt.deliver_to_location_id;
4712       END IF;
4713 
4714       IF (rti.deliver_to_person_id IS NULL) THEN
4715          rti.deliver_to_person_id  := rt.deliver_to_person_id;
4716       END IF;
4717 
4718       IF (rti.department_code IS NULL) THEN
4719          rti.department_code  := rt.department_code;
4720       END IF;
4721 
4722       IF (rti.destination_context IS NULL) THEN
4723          rti.destination_context  := rt.destination_context;
4724       END IF;
4725 
4726       IF (rti.destination_type_code IS NULL) THEN
4727          rti.destination_type_code  := rt.destination_type_code;
4728       END IF;
4729 
4730       IF (rti.employee_id IS NULL) THEN
4731          rti.employee_id  := rt.employee_id;
4732       END IF;
4733 
4734       IF (rti.from_locator_id IS NULL) THEN
4735          rti.from_locator_id  := rt.from_locator_id;
4736       END IF;
4737 
4738 	/* Bug 5584736.
4739 	 * We have a detailed defaulting routine for defaulting
4740 	 * subinventory and locator later. Commenting out this code
4741 	 * here since this is creating problems later.
4742       IF (rti.from_subinventory IS NULL) THEN
4743          rti.from_subinventory  := rt.from_subinventory;
4744       END IF;
4745 	*/
4746 
4747       IF (rti.inspection_quality_code IS NULL) THEN
4748          rti.inspection_quality_code  := rt.inspection_quality_code;
4749       END IF;
4750 
4751       IF (rti.inspection_status_code IS NULL) THEN
4752          rti.inspection_status_code  := rt.inspection_status_code;
4753       END IF;
4754 
4755       IF (rti.interface_source_code IS NULL) THEN
4756          rti.interface_source_code  := rt.interface_source_code;
4757       END IF;
4758 
4759       IF (rti.interface_source_line_id IS NULL) THEN
4760          rti.interface_source_line_id  := rt.interface_source_line_id;
4761       END IF;
4762 
4763       IF (rti.interface_transaction_id IS NULL) THEN
4764          rti.interface_transaction_id  := rt.interface_transaction_id;
4765       END IF;
4766 
4767       IF (rti.inv_transaction_id IS NULL) THEN
4768          rti.inv_transaction_id  := rt.inv_transaction_id;
4769       END IF;
4770 
4771       IF (rti.location_id IS NULL) THEN
4772          rti.location_id  := rt.location_id;
4773       END IF;
4774 
4775       IF (rti.locator_id IS NULL) THEN
4776           IF (rti.subinventory IS NOT NULL AND
4777               rt.subinventory IS NOT NULL  AND
4778               rti.subinventory = rt.subinventory ) THEN   --Bug 13445044
4779                   rti.locator_id  := rt.locator_id;
4780           END IF;
4781       END IF;
4782 
4783       /*
4784       IF (rti.lpn_group_id IS NULL) THEN
4785          rti.lpn_group_id  := rt.lpn_group_id;
4786       END IF;
4787 
4788       IF (rti.lpn_id IS NULL) THEN
4789          rti.lpn_id  := rt.lpn_id;
4790       END IF;
4791       */
4792       IF (rti.mobile_txn IS NULL) THEN
4793          rti.mobile_txn  := rt.mobile_txn;
4794       END IF;
4795 
4796       IF (rti.movement_id IS NULL) THEN
4797          rti.movement_id  := rt.movement_id;
4798       END IF;
4799 
4800       IF (rti.po_unit_price IS NULL) THEN
4801          rti.po_unit_price  := rt.po_unit_price;
4802       END IF;
4803 
4804       IF (rti.qa_collection_id IS NULL) THEN
4805          rti.qa_collection_id  := rt.qa_collection_id;
4806       END IF;
4807 
4808       IF (rti.qc_grade IS NULL) THEN
4809          rti.qc_grade  := rt.qc_grade;
4810       END IF;
4811 
4812       IF (rti.reason_id IS NULL) THEN
4813          rti.reason_id  := rt.reason_id;
4814       END IF;
4815 
4816       IF (rti.receipt_exception_flag IS NULL) THEN
4817          rti.receipt_exception_flag  := rt.receipt_exception_flag;
4818       END IF;
4819 
4820       IF (rti.request_id IS NULL) THEN
4821          rti.request_id  := rt.request_id;
4822       END IF;
4823 
4824       IF (rti.rma_reference IS NULL) THEN
4825          rti.rma_reference  := rt.rma_reference;
4826       END IF;
4827 
4828       IF (rti.routing_header_id IS NULL) THEN
4829          rti.routing_header_id  := rt.routing_header_id;
4830       END IF;
4831 
4832       IF (rti.routing_step_id IS NULL) THEN
4833          rti.routing_step_id  := rt.routing_step_id;
4834       END IF;
4835 
4836       IF (rti.secondary_unit_of_measure IS NULL) THEN
4837          rti.secondary_unit_of_measure  := rt.secondary_unit_of_measure;
4838       END IF;
4839 
4840       IF (rti.secondary_uom_code IS NULL) THEN
4841          rti.secondary_uom_code  := rt.secondary_uom_code;
4842       END IF;
4843 
4844       IF (rti.source_doc_unit_of_measure IS NULL) THEN
4845          rti.source_doc_unit_of_measure  := rt.source_doc_unit_of_measure;
4846       END IF;
4847 
4848       IF (rti.source_transaction_num IS NULL) THEN
4849          rti.source_transaction_num  := rt.source_transaction_num;
4850       END IF;
4851 
4852 	/* Bug 5584736.
4853 	 * We have a detailed defaulting routine for defaulting
4854 	 * subinventory and locator later. Commenting out this code
4855 	 * here since this is creating problems later.
4856       IF (rti.subinventory IS NULL) THEN
4857          rti.subinventory  := rt.subinventory;
4858       END IF;
4859 	*/
4860 
4861       IF (rti.substitute_unordered_code IS NULL) THEN
4862          rti.substitute_unordered_code  := rt.substitute_unordered_code;
4863       END IF;
4864 
4865       IF (rti.task_id IS NULL) THEN
4866          rti.task_id  := rt.task_id;
4867       END IF;
4868 
4869       IF (rti.timecard_id IS NULL) THEN
4870          rti.timecard_id  := rt.timecard_id;
4871       END IF;
4872 
4873       IF (rti.timecard_ovn IS NULL) THEN
4874          rti.timecard_ovn  := rt.timecard_ovn;
4875       END IF;
4876 
4877       IF (rti.transaction_date IS NULL) THEN
4878          rti.transaction_date  := rt.transaction_date;
4879       END IF;
4880 
4881       IF (rti.transaction_type IS NULL) THEN
4882          rti.transaction_type  := rt.transaction_type;
4883       END IF;
4884 
4885       /*
4886       IF (rti.transfer_lpn_id IS NULL) THEN
4887          rti.transfer_lpn_id  := rt.transfer_lpn_id;
4888       END IF;
4889       */
4890       IF (rti.unit_of_measure IS NULL) THEN
4891          rti.unit_of_measure  := rt.unit_of_measure;
4892       END IF;
4893 
4894       IF (rti.uom_code IS NULL) THEN
4895          rti.uom_code  := rt.uom_code;
4896       END IF;
4897 
4898       IF (rti.vendor_id IS NULL) THEN
4899          rti.vendor_id  := rt.vendor_id;
4900       END IF;
4901 
4902       IF (rti.vendor_lot_num IS NULL) THEN
4903          rti.vendor_lot_num  := rt.vendor_lot_num;
4904       END IF;
4905 
4906       IF (rti.vendor_site_id IS NULL) THEN
4907          rti.vendor_site_id  := rt.vendor_site_id;
4908       END IF;
4909 
4910       --Quantity
4911 	/* Bug 5299177
4912 	 * We expect customers to give the quantity. We do not default but error out
4913 	 * if it is not given. Commenting out the foll code.
4914       IF (rti.quantity IS NULL) THEN
4915          rti.quantity  := rt.quantity;
4916 
4917          IF (rti.primary_quantity IS NULL) THEN
4918             rti.primary_quantity  := rt.primary_quantity;
4919          END IF;
4920 
4921          IF (rti.secondary_quantity IS NULL) THEN
4922             rti.secondary_quantity  := rt.secondary_quantity;
4923          END IF;
4924 
4925          IF (rti.source_doc_quantity IS NULL) THEN
4926             rti.source_doc_quantity  := rt.source_doc_quantity;
4927          END IF;
4928       END IF;
4929 	* 5299177 */
4930    END default_rti_from_rt;
4931 
4932    PROCEDURE default_rti_from_rsl(
4933       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
4934    ) IS
4935       rsl rcv_shipment_lines%ROWTYPE;
4936 /** Bug: 5502427
4937   * For Internal Orders, oe_order_line_id is getting stamped in RTI
4938   * by the cursor get_oe_order_line_id_from_mmt. If oe_order_line_id is
4939   * stamped, defaulting will be done based on the Sales Order for Internal orders.
4940   * But, we should not defalut based on SO for the Internal Orders.
4941   * So, commenting the logic of defaulting oe_order_line_id using the
4942   * cursor get_oe_order_line_id_from_mmt
4943   */
4944 /*      CURSOR get_oe_order_line_id_from_mmt(
4945          p_mmt_transaction_id IN rcv_shipment_lines.mmt_transaction_id%TYPE
4946       ) IS
4947          SELECT source_line_id
4948          FROM   mtl_material_transactions
4949          WHERE  source_code = 'ORDER ENTRY'
4950          AND    transaction_id = p_mmt_transaction_id;*/
4951    BEGIN
4952       IF (rti.shipment_line_id IS NOT NULL) THEN
4953          rsl  := rcv_table_functions.get_rsl_row_from_id(rti.shipment_line_id);
4954       END IF;
4955 
4956       IF (rsl.shipment_line_id IS NULL) THEN
4957          RETURN;
4958       END IF;
4959 
4960       /* This one is problematic
4961       IF (rti.document_line_num IS NULL) THEN
4962          rti.document_line_num  := rsl.line_num;
4963       ELSIF(rti.document_line_num <> rsl.line_num) THEN
4964          invalid_match_value(rti.document_line_num,
4965                              rsl.line_num,
4966                              'DOCUMENT_LINE_NUM'
4967                             );
4968       END IF;
4969       */
4970       IF (rti.from_organization_id IS NULL) THEN
4971          rti.from_organization_id  := rsl.from_organization_id;
4972       ELSIF(rti.from_organization_id <> rsl.from_organization_id) THEN
4973          invalid_match_value(rti.from_organization_id,
4974                              rsl.from_organization_id,
4975                              'FROM_ORGANIZATION_ID'
4976                             );
4977       END IF;
4978 
4979       IF (rti.job_id IS NULL) THEN
4980          rti.job_id  := rsl.job_id;
4981       ELSIF(rti.job_id <> rsl.job_id) THEN
4982          invalid_match_value(rti.job_id,
4983                              rsl.job_id,
4984                              'JOB_ID'
4985                             );
4986       END IF;
4987 
4988       IF (rti.oe_order_header_id IS NULL) THEN
4989          rti.oe_order_header_id  := rsl.oe_order_header_id;
4990       ELSIF(rti.oe_order_header_id <> rsl.oe_order_header_id) THEN
4991          invalid_match_value(rti.oe_order_header_id,
4992                              rsl.oe_order_header_id,
4993                              'OE_ORDER_HEADER_ID'
4994                             );
4995       END IF;
4996 
4997       IF (rti.oe_order_line_id IS NULL) THEN
4998          rti.oe_order_line_id  := rsl.oe_order_line_id;
4999       ELSIF(rti.oe_order_line_id <> rsl.oe_order_line_id) THEN
5000          invalid_match_value(rti.oe_order_line_id,
5001                              rsl.oe_order_line_id,
5002                              'OE_ORDER_LINE_ID'
5003                             );
5004       END IF;
5005 
5006       /*
5007       ** Bug#4615534 - Org_id defaulting from inventory organization
5008       ** needs to be done only for In-transit shipments
5009       */
5010       IF(rti.receipt_source_code IN ('INVENTORY','INTERNAL ORDER')) THEN -- Bug 9706173
5011           IF (rti.org_id IS NULL) THEN
5012              rti.org_id  := get_org_id_from_inv_org_id(rsl.to_organization_id);
5013           ELSIF(rti.org_id <> get_org_id_from_inv_org_id(rsl.to_organization_id)) THEN
5014              invalid_match_value(rti.org_id,
5015                                  get_org_id_from_inv_org_id(rsl.to_organization_id),
5016                                  'ORG_ID'
5017                                 );
5018           END IF;
5019       END IF;
5020 
5021       IF (rti.po_distribution_id IS NULL) THEN
5022          rti.po_distribution_id  := rsl.po_distribution_id;
5023       ELSIF(rti.po_distribution_id <> rsl.po_distribution_id) THEN
5024          invalid_match_value(rti.po_distribution_id,
5025                              rsl.po_distribution_id,
5026                              'PO_DISTRIBUTION_ID'
5027                             );
5028       END IF;
5029 
5030       IF (rti.po_header_id IS NULL) THEN
5031          rti.po_header_id  := rsl.po_header_id;
5032       ELSIF(rti.po_header_id <> rsl.po_header_id) THEN
5033          invalid_match_value(rti.po_header_id,
5034                              rsl.po_header_id,
5035                              'PO_HEADER_ID'
5036                             );
5037       END IF;
5038 
5039       IF (rti.po_line_id IS NULL) THEN
5040          rti.po_line_id  := rsl.po_line_id;
5041       ELSIF(rti.po_line_id <> rsl.po_line_id) THEN
5042          invalid_match_value(rti.po_line_id,
5043                              rsl.po_line_id,
5044                              'PO_LINE_ID'
5045                             );
5046       END IF;
5047 
5048       IF (rti.po_line_location_id IS NULL) THEN
5049          rti.po_line_location_id  := rsl.po_line_location_id;
5050       ELSIF(rti.po_line_location_id <> rsl.po_line_location_id) THEN
5051          invalid_match_value(rti.po_line_location_id,
5052                              rsl.po_line_location_id,
5053                              'PO_LINE_LOCATION_ID'
5054                             );
5055       END IF;
5056 
5057       IF (rti.po_release_id IS NULL) THEN
5058          rti.po_release_id  := rsl.po_release_id;
5059       ELSIF(rti.po_release_id <> rsl.po_release_id) THEN
5060          invalid_match_value(rti.po_release_id,
5061                              rsl.po_release_id,
5062                              'PO_RELEASE_ID'
5063                             );
5064       END IF;
5065 
5066       IF (rti.requisition_line_id IS NULL) THEN
5067          rti.requisition_line_id  := rsl.requisition_line_id;
5068       ELSIF(rti.requisition_line_id <> rsl.requisition_line_id) THEN
5069          invalid_match_value(rti.requisition_line_id,
5070                              rsl.requisition_line_id,
5071                              'REQUISITION_LINE_ID'
5072                             );
5073       END IF;
5074 
5075       IF (rti.req_distribution_id IS NULL) THEN
5076          rti.req_distribution_id  := rsl.req_distribution_id;
5077       ELSIF(rti.req_distribution_id <> rsl.req_distribution_id) THEN
5078          invalid_match_value(rti.req_distribution_id,
5079                              rsl.req_distribution_id,
5080                              'REQ_DISTRIBUTION_ID'
5081                             );
5082       END IF;
5083 
5084       IF (rti.shipment_header_id IS NULL) THEN
5085          rti.shipment_header_id  := rsl.shipment_header_id;
5086       ELSIF(rti.shipment_header_id <> rsl.shipment_header_id) THEN
5087          invalid_match_value(rti.shipment_header_id,
5088                              rsl.shipment_header_id,
5089                              'SHIPMENT_HEADER_ID'
5090                             );
5091       END IF;
5092 
5093       IF (rti.shipment_line_id IS NULL) THEN
5094          rti.shipment_line_id  := rsl.shipment_line_id;
5095       ELSIF(rti.shipment_line_id <> rsl.shipment_line_id) THEN
5096          invalid_match_value(rti.shipment_line_id,
5097                              rsl.shipment_line_id,
5098                              'SHIPMENT_LINE_ID'
5099                             );
5100       END IF;
5101 
5102       IF (rti.source_document_code IS NULL) THEN
5103          rti.source_document_code  := rsl.source_document_code;
5104       ELSIF(rti.source_document_code <> rsl.source_document_code) THEN
5105          invalid_match_value(rti.source_document_code,
5106                              rsl.source_document_code,
5107                              'SOURCE_DOCUMENT_CODE'
5108                             );
5109       END IF;
5110 
5111       IF (rti.to_organization_id IS NULL) THEN
5112          rti.to_organization_id  := rsl.to_organization_id;
5113       ELSIF(rti.to_organization_id <> rsl.to_organization_id) THEN
5114          invalid_match_value(rti.to_organization_id,
5115                              rsl.to_organization_id,
5116                              'TO_ORGANIZATION_ID'
5117                             );
5118       END IF;
5119 
5120 	/* Bug 5299177
5121 	 * We expect customers to give the amount. We do not default but error out
5122 	 * if it is not given. Commenting out the foll code.
5123       IF (rti.amount IS NULL) THEN
5124          rti.amount  := rsl.amount;
5125       END IF;
5126 	* 5299177 */
5127 
5128       IF (rti.barcode_label IS NULL) THEN
5129          rti.barcode_label  := rsl.bar_code_label;
5130       END IF;
5131 
5132       IF (rti.category_id IS NULL) THEN
5133          rti.category_id  := rsl.category_id;
5134       END IF;
5135 
5136       IF (rti.charge_account_id IS NULL) THEN
5137          rti.charge_account_id  := rsl.charge_account_id;
5138       END IF;
5139 
5140       IF (rti.container_num IS NULL) THEN
5141          rti.container_num  := rsl.container_num;
5142       END IF;
5143 
5144 /*    Bug 5999801. We should not default cost_group_id from RSL
5145  *    as it will be appropriately derived by the cost group engine
5146       IF (rti.cost_group_id IS NULL) THEN
5147          rti.cost_group_id  := rsl.cost_group_id;
5148       END IF;
5149 */
5150       IF (rti.country_of_origin_code IS NULL) THEN
5151          rti.country_of_origin_code  := rsl.country_of_origin_code;
5152       END IF;
5153 
5154       IF (rti.customer_item_num IS NULL) THEN
5155          rti.customer_item_num  := rsl.customer_item_num;
5156       END IF;
5157 
5158       IF (rti.deliver_to_location_id IS NULL) THEN
5159          rti.deliver_to_location_id  := rsl.deliver_to_location_id;
5160       END IF;
5161 
5162       IF (rti.deliver_to_person_id IS NULL) THEN
5163          rti.deliver_to_person_id  := rsl.deliver_to_person_id;
5164       END IF;
5165 
5166       IF (rti.destination_context IS NULL) THEN
5167          rti.destination_context  := rsl.destination_context;
5168       END IF;
5169 
5170       IF (rti.destination_type_code IS NULL) THEN
5171          rti.destination_type_code  := rsl.destination_type_code;
5172       END IF;
5173 
5174       IF (rti.employee_id IS NULL) THEN
5175          rti.employee_id  := rsl.employee_id;
5176       END IF;
5177 
5178       IF (rti.government_context IS NULL) THEN
5179          rti.government_context  := rsl.government_context;
5180       END IF;
5181 
5182       IF (rti.item_description IS NULL) THEN
5183          rti.item_description  := rsl.item_description;
5184       END IF;
5185 
5186       IF (rti.item_id IS NULL) THEN
5187          rti.item_id  := rsl.item_id;
5188       END IF;
5189 
5190       IF (rti.item_revision IS NULL) THEN
5191          rti.item_revision  := rsl.item_revision;
5192       END IF;
5193 
5194       IF (rti.locator_id IS NULL) THEN
5195          rti.locator_id  := rsl.locator_id;
5196       END IF;
5197 
5198       IF (rti.notice_unit_price IS NULL) THEN
5199          rti.notice_unit_price  := rsl.notice_unit_price;
5200       END IF;
5201 
5202       IF (rti.packing_slip IS NULL) THEN
5203          rti.packing_slip  := rsl.packing_slip;
5204       END IF;
5205 
5206       IF (rti.primary_unit_of_measure IS NULL) THEN
5207          rti.primary_unit_of_measure  := rsl.primary_unit_of_measure;
5208       END IF;
5209 
5210       IF (rti.qc_grade IS NULL) THEN
5211          rti.qc_grade  := rsl.qc_grade;
5212       END IF;
5213 
5214       IF (rti.reason_id IS NULL) THEN
5215          rti.reason_id  := rsl.reason_id;
5216       END IF;
5217 
5218       IF (rti.request_id IS NULL) THEN
5219          rti.request_id  := rsl.request_id;
5220       END IF;
5221 
5222       IF (rti.routing_header_id IS NULL) THEN
5223          rti.routing_header_id  := rsl.routing_header_id;
5224       END IF;
5225 
5226       IF (rti.secondary_unit_of_measure IS NULL) THEN
5227          rti.secondary_unit_of_measure  := rsl.secondary_unit_of_measure;
5228       END IF;
5229 
5230       IF (rti.shipment_line_status_code IS NULL) THEN
5231          rti.shipment_line_status_code  := rsl.shipment_line_status_code;
5232       END IF;
5233 
5234       IF (rti.ship_line_attribute1 IS NULL) THEN
5235          rti.ship_line_attribute1  := rsl.attribute1;
5236       END IF;
5237 
5238       IF (rti.ship_line_attribute10 IS NULL) THEN
5239          rti.ship_line_attribute10  := rsl.attribute10;
5240       END IF;
5241 
5242       IF (rti.ship_line_attribute11 IS NULL) THEN
5243          rti.ship_line_attribute11  := rsl.attribute11;
5244       END IF;
5245 
5246       IF (rti.ship_line_attribute12 IS NULL) THEN
5247          rti.ship_line_attribute12  := rsl.attribute12;
5248       END IF;
5249 
5250       IF (rti.ship_line_attribute13 IS NULL) THEN
5251          rti.ship_line_attribute13  := rsl.attribute13;
5252       END IF;
5253 
5254       IF (rti.ship_line_attribute14 IS NULL) THEN
5255          rti.ship_line_attribute14  := rsl.attribute14;
5256       END IF;
5257 
5258       IF (rti.ship_line_attribute15 IS NULL) THEN
5259          rti.ship_line_attribute15  := rsl.attribute15;
5260       END IF;
5261 
5262       IF (rti.ship_line_attribute2 IS NULL) THEN
5263          rti.ship_line_attribute2  := rsl.attribute2;
5264       END IF;
5265 
5266       IF (rti.ship_line_attribute3 IS NULL) THEN
5267          rti.ship_line_attribute3  := rsl.attribute3;
5268       END IF;
5269 
5270       IF (rti.ship_line_attribute4 IS NULL) THEN
5271          rti.ship_line_attribute4  := rsl.attribute4;
5272       END IF;
5273 
5274       IF (rti.ship_line_attribute5 IS NULL) THEN
5275          rti.ship_line_attribute5  := rsl.attribute5;
5276       END IF;
5277 
5278       IF (rti.ship_line_attribute6 IS NULL) THEN
5279          rti.ship_line_attribute6  := rsl.attribute6;
5280       END IF;
5281 
5282       IF (rti.ship_line_attribute7 IS NULL) THEN
5283          rti.ship_line_attribute7  := rsl.attribute7;
5284       END IF;
5285 
5286       IF (rti.ship_line_attribute8 IS NULL) THEN
5287          rti.ship_line_attribute8  := rsl.attribute8;
5288       END IF;
5289 
5290       IF (rti.ship_line_attribute9 IS NULL) THEN
5291          rti.ship_line_attribute9  := rsl.attribute9;
5292       END IF;
5293 
5294       IF (rti.ship_line_attribute_category IS NULL) THEN
5295          rti.ship_line_attribute_category  := rsl.attribute_category;
5296       END IF;
5297 
5298       IF (rti.ship_to_location_id IS NULL) THEN
5299          rti.ship_to_location_id  := rsl.ship_to_location_id;
5300       END IF;
5301 
5302 	/* Bug 5584736.
5303 	 * We have a detailed defaulting routine for defaulting
5304 	 * subinventory and locator later. Commenting out this code
5305 	 * here since this is creating problems later.
5306       IF (rti.subinventory IS NULL) THEN
5307          rti.subinventory  := rsl.to_subinventory;
5308       END IF;
5309 	*/
5310 
5311       IF (rti.tax_amount IS NULL) THEN
5312          rti.tax_amount  := rsl.tax_amount;
5313       END IF;
5314 
5315       IF (rti.tax_name IS NULL) THEN
5316          rti.tax_name  := rsl.tax_name;
5317       END IF;
5318 
5319       IF (rti.timecard_id IS NULL) THEN
5320          rti.timecard_id  := rsl.timecard_id;
5321       END IF;
5322 
5323       IF (rti.timecard_ovn IS NULL) THEN
5324          rti.timecard_ovn  := rsl.timecard_ovn;
5325       END IF;
5326 
5327       IF (rti.transfer_cost IS NULL) THEN
5328          rti.transfer_cost  := rsl.transfer_cost;
5329       END IF;
5330 
5331       IF (rti.transfer_percentage IS NULL) THEN
5332          rti.transfer_percentage  := rsl.transfer_percentage;
5333       END IF;
5334 
5335       IF (rti.transportation_account_id IS NULL) THEN
5336          rti.transportation_account_id  := rsl.transportation_account_id;
5337       END IF;
5338 
5339       IF (rti.transportation_cost IS NULL) THEN
5340          rti.transportation_cost  := rsl.transportation_cost;
5341       END IF;
5342 
5343       IF (rti.truck_num IS NULL) THEN
5344          rti.truck_num  := rsl.truck_num;
5345       END IF;
5346 
5347       IF (rti.unit_of_measure IS NULL) THEN
5348          rti.unit_of_measure  := rsl.unit_of_measure;
5349       END IF;
5350 
5351       IF (rti.ussgl_transaction_code IS NULL) THEN
5352          rti.ussgl_transaction_code  := rsl.ussgl_transaction_code;
5353       END IF;
5354 
5355       IF (rti.vendor_cum_shipped_qty IS NULL) THEN
5356          rti.vendor_cum_shipped_qty  := rsl.vendor_cum_shipped_quantity;
5357       END IF;
5358 
5359       IF (rti.vendor_item_num IS NULL) THEN
5360          rti.vendor_item_num  := rsl.vendor_item_num;
5361       END IF;
5362 
5363       IF (rti.vendor_lot_num IS NULL) THEN
5364          rti.vendor_lot_num  := rsl.vendor_lot_num;
5365       END IF;
5366 
5367       --Quantity
5368 	/* Bug 5299177
5369 	 * We expect customers to give the quantity. We do not default but error out
5370 	 * if it is not given. Commenting out the foll code.
5371       IF (rti.quantity_shipped IS NULL) THEN
5372          rti.quantity_shipped  := rsl.quantity_shipped;
5373       END IF;
5374 	* 5299177 */
5375 
5376       --Necessary for internal orders
5377 /* Bug:5502427 */
5378 /*      IF (rsl.mmt_transaction_id IS NOT NULL) THEN
5379          OPEN get_oe_order_line_id_from_mmt(rsl.mmt_transaction_id);
5380          FETCH get_oe_order_line_id_from_mmt INTO rti.oe_order_line_id;
5381          CLOSE get_oe_order_line_id_from_mmt;
5382       END IF;*/
5383    END default_rti_from_rsl;
5384 
5385    PROCEDURE default_rti_from_rsh(
5386       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
5387    ) IS
5388       rsh rcv_shipment_headers%ROWTYPE;
5389    BEGIN
5390       IF (rti.shipment_header_id IS NOT NULL) THEN
5391          rsh  := rcv_table_functions.get_rsh_row_from_id(rti.shipment_header_id);
5392       END IF;
5393 
5394       IF (rsh.shipment_header_id IS NULL) THEN
5395          RETURN;
5396       END IF;
5397 
5398       IF (rti.from_organization_id IS NULL) THEN
5399          rti.from_organization_id  := rsh.organization_id;
5400       ELSIF(rti.from_organization_id <> rsh.organization_id) THEN
5401          invalid_match_value(rti.from_organization_id,
5402                              rsh.organization_id,
5403                              'FROM_ORGANIZATION_ID'
5404                             );
5405       END IF;
5406 
5407       /*
5408       ** Bug#4615534 - Org_id defaulting from inventory organization
5409       ** needs to be done only for In-transit shipments
5410       */
5411       IF(rti.receipt_source_code IN ('INVENTORY','INTERNAL ORDER')) THEN -- Bug 9706173
5412           IF (rti.org_id IS NULL) THEN
5413              rti.org_id  := get_org_id_from_inv_org_id(rsh.ship_to_org_id);
5414           ELSIF(rti.org_id <> get_org_id_from_inv_org_id(rsh.ship_to_org_id)) THEN
5415              invalid_match_value(rti.org_id,
5416                                  get_org_id_from_inv_org_id(rsh.ship_to_org_id),
5417                                  'ORG_ID'
5418                                 );
5419           END IF;
5420       END IF;
5421 
5422       IF (rti.shipment_header_id IS NULL) THEN
5423          rti.shipment_header_id  := rsh.shipment_header_id;
5424       ELSIF(rti.shipment_header_id <> rsh.shipment_header_id) THEN
5425          invalid_match_value(rti.shipment_header_id,
5426                              rsh.shipment_header_id,
5427                              'SHIPMENT_HEADER_ID'
5428                             );
5429       END IF;
5430 
5431       IF (rti.shipment_num IS NULL) THEN
5432          rti.shipment_num  := rsh.shipment_num;
5433       ELSIF(rti.shipment_num <> rsh.shipment_num) THEN
5434          invalid_match_value(rti.shipment_num,
5435                              rsh.shipment_num,
5436                              'SHIPMENT_NUM'
5437                             );
5438       END IF;
5439 
5440       IF (rti.to_organization_id IS NULL) THEN
5441          rti.to_organization_id  := rsh.ship_to_org_id;
5442       ELSIF(rti.to_organization_id <> rsh.ship_to_org_id) THEN
5443          invalid_match_value(rti.to_organization_id,
5444                              rsh.ship_to_org_id,
5445                              'TO_ORGANIZATION_ID'
5446                             );
5447       END IF;
5448 
5449       IF (rti.bill_of_lading IS NULL) THEN
5450          rti.bill_of_lading  := rsh.bill_of_lading;
5451       END IF;
5452 
5453       IF (rti.currency_code IS NULL) THEN
5454          rti.currency_code  := rsh.currency_code;
5455       END IF;
5456 
5457       IF (rti.currency_conversion_date IS NULL) THEN
5458          rti.currency_conversion_date  := rsh.conversion_date;
5459       END IF;
5460 
5461       IF (rti.currency_conversion_rate IS NULL) THEN
5462          rti.currency_conversion_rate  := TO_NUMBER(rsh.conversion_rate);
5463       END IF;
5464 
5465       IF (rti.currency_conversion_type IS NULL) THEN
5466          rti.currency_conversion_type  := rsh.conversion_rate_type;
5467       END IF;
5468 
5469       IF (rti.customer_id IS NULL) THEN
5470          rti.customer_id  := rsh.customer_id;
5471       END IF;
5472 
5473       IF (rti.customer_site_id IS NULL) THEN
5474          rti.customer_site_id  := rsh.customer_site_id;
5475       END IF;
5476 
5477       IF (rti.employee_id IS NULL) THEN
5478          rti.employee_id  := rsh.employee_id;
5479       END IF;
5480 
5481       IF (rti.expected_receipt_date IS NULL) THEN
5482          rti.expected_receipt_date  := rsh.expected_receipt_date;
5483       END IF;
5484 
5485       IF (rti.freight_carrier_code IS NULL) THEN
5486          rti.freight_carrier_code  := rsh.freight_carrier_code;
5487       END IF;
5488 
5489       IF (rti.government_context IS NULL) THEN
5490          rti.government_context  := rsh.government_context;
5491       END IF;
5492 
5493       IF (rti.num_of_containers IS NULL) THEN
5494          rti.num_of_containers  := rsh.num_of_containers;
5495       END IF;
5496 
5497       IF (rti.packing_slip IS NULL) THEN
5498          rti.packing_slip  := rsh.packing_slip;
5499       END IF;
5500 
5501       IF (rti.receipt_source_code IS NULL) THEN
5502          rti.receipt_source_code  := rsh.receipt_source_code;
5503       END IF;
5504 
5505       IF (rti.request_id IS NULL) THEN
5506          rti.request_id  := rsh.request_id;
5507       END IF;
5508 
5509       IF (rti.shipped_date IS NULL) THEN
5510          rti.shipped_date  := rsh.shipped_date;
5511       END IF;
5512 
5513       IF (rti.ship_line_attribute1 IS NULL) THEN
5514          rti.ship_line_attribute1  := rsh.attribute1;
5515       END IF;
5516 
5517       IF (rti.ship_line_attribute10 IS NULL) THEN
5518          rti.ship_line_attribute10  := rsh.attribute10;
5519       END IF;
5520 
5521       IF (rti.ship_line_attribute11 IS NULL) THEN
5522          rti.ship_line_attribute11  := rsh.attribute11;
5523       END IF;
5524 
5525       IF (rti.ship_line_attribute12 IS NULL) THEN
5526          rti.ship_line_attribute12  := rsh.attribute12;
5527       END IF;
5528 
5529       IF (rti.ship_line_attribute13 IS NULL) THEN
5530          rti.ship_line_attribute13  := rsh.attribute13;
5531       END IF;
5532 
5533       IF (rti.ship_line_attribute14 IS NULL) THEN
5534          rti.ship_line_attribute14  := rsh.attribute14;
5535       END IF;
5536 
5537       IF (rti.ship_line_attribute15 IS NULL) THEN
5538          rti.ship_line_attribute15  := rsh.attribute15;
5539       END IF;
5540 
5541       IF (rti.ship_line_attribute2 IS NULL) THEN
5542          rti.ship_line_attribute2  := rsh.attribute2;
5543       END IF;
5544 
5545       IF (rti.ship_line_attribute3 IS NULL) THEN
5546          rti.ship_line_attribute3  := rsh.attribute3;
5547       END IF;
5548 
5549       IF (rti.ship_line_attribute4 IS NULL) THEN
5550          rti.ship_line_attribute4  := rsh.attribute4;
5551       END IF;
5552 
5553       IF (rti.ship_line_attribute5 IS NULL) THEN
5554          rti.ship_line_attribute5  := rsh.attribute5;
5555       END IF;
5556 
5557       IF (rti.ship_line_attribute6 IS NULL) THEN
5558          rti.ship_line_attribute6  := rsh.attribute6;
5559       END IF;
5560 
5561       IF (rti.ship_line_attribute7 IS NULL) THEN
5562          rti.ship_line_attribute7  := rsh.attribute7;
5563       END IF;
5564 
5565       IF (rti.ship_line_attribute8 IS NULL) THEN
5566          rti.ship_line_attribute8  := rsh.attribute8;
5567       END IF;
5568 
5569       IF (rti.ship_line_attribute9 IS NULL) THEN
5570          rti.ship_line_attribute9  := rsh.attribute9;
5571       END IF;
5572 
5573       IF (rti.ship_line_attribute_category IS NULL) THEN
5574          rti.ship_line_attribute_category  := rsh.attribute_category;
5575       END IF;
5576 
5577       IF (rti.ship_to_location_id IS NULL) THEN
5578          rti.ship_to_location_id  := rsh.ship_to_location_id;
5579       END IF;
5580 
5581       IF (rti.tax_amount IS NULL) THEN
5582          rti.tax_amount  := rsh.tax_amount;
5583       END IF;
5584 
5585       IF (rti.tax_name IS NULL) THEN
5586          rti.tax_name  := rsh.tax_name;
5587       END IF;
5588 
5589       IF (rti.ussgl_transaction_code IS NULL) THEN
5590          rti.ussgl_transaction_code  := rsh.ussgl_transaction_code;
5591       END IF;
5592 
5593       IF (rti.vendor_id IS NULL) THEN
5594          rti.vendor_id  := rsh.vendor_id;
5595       END IF;
5596 
5597       /* Bug 10306164 comment the code related to Vendor site , as RTIs
5598          with same RSH may have differnt vendor site id */
5599 
5600       /* IF (rti.vendor_site_id IS NULL) THEN
5601          rti.vendor_site_id  := rsh.vendor_site_id;
5602       END IF;*/
5603 
5604       IF (rti.waybill_airbill_num IS NULL) THEN
5605          rti.waybill_airbill_num  := rsh.waybill_airbill_num;
5606       END IF;
5607    END default_rti_from_rsh;
5608 
5609    PROCEDURE default_rti_from_pod(
5610       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
5611    ) IS
5612       pod        po_distributions_all%ROWTYPE;
5613       x_quantity NUMBER;
5614    BEGIN
5615       IF (rti.po_distribution_id IS NOT NULL) THEN
5616          pod  := rcv_table_functions.get_pod_row_from_id(rti.po_distribution_id);
5617       END IF;
5618 
5619       IF (pod.po_distribution_id IS NULL) THEN
5620          RETURN;
5621       END IF;
5622 
5623       IF (rti.document_distribution_num IS NULL) THEN
5624          rti.document_distribution_num  := pod.distribution_num;
5625       ELSIF(rti.document_distribution_num <> pod.distribution_num) THEN
5626          invalid_match_value(rti.document_distribution_num,
5627                              pod.distribution_num,
5628                              'DOCUMENT_DISTRIBUTION_NUM'
5629                             );
5630       END IF;
5631 
5632       IF (rti.org_id IS NULL) THEN
5633          rti.org_id  := pod.org_id;
5634       ELSIF(rti.org_id <> pod.org_id) THEN
5635          invalid_match_value(rti.org_id,
5636                              pod.org_id,
5637                              'ORG_ID'
5638                             );
5639       END IF;
5640 
5641       IF (rti.po_distribution_id IS NULL) THEN
5642          rti.po_distribution_id  := pod.po_distribution_id;
5643       ELSIF(rti.po_distribution_id <> pod.po_distribution_id) THEN
5644          invalid_match_value(rti.po_distribution_id,
5645                              pod.po_distribution_id,
5646                              'PO_DISTRIBUTION_ID'
5647                             );
5648       END IF;
5649 
5650       IF (rti.po_header_id IS NULL) THEN
5651          rti.po_header_id  := pod.po_header_id;
5652       ELSIF(rti.po_header_id <> pod.po_header_id) THEN
5653          invalid_match_value(rti.po_header_id,
5654                              pod.po_header_id,
5655                              'PO_HEADER_ID'
5656                             );
5657       END IF;
5658 
5659       IF (rti.po_line_id IS NULL) THEN
5660          rti.po_line_id  := pod.po_line_id;
5661       ELSIF(rti.po_line_id <> pod.po_line_id) THEN
5662          invalid_match_value(rti.po_line_id,
5663                              pod.po_line_id,
5664                              'PO_LINE_ID'
5665                             );
5666       END IF;
5667 
5668       IF (rti.po_line_location_id IS NULL) THEN
5669          rti.po_line_location_id  := pod.line_location_id;
5670       ELSIF(rti.po_line_location_id <> pod.line_location_id) THEN
5671          invalid_match_value(rti.po_line_location_id,
5672                              pod.line_location_id,
5673                              'PO_LINE_LOCATION_ID'
5674                             );
5675       END IF;
5676 
5677       IF (rti.po_release_id IS NULL) THEN
5678          rti.po_release_id  := pod.po_release_id;
5679       ELSIF(rti.po_release_id <> pod.po_release_id) THEN
5680          invalid_match_value(rti.po_release_id,
5681                              pod.po_release_id,
5682                              'PO_RELEASE_ID'
5683                             );
5684       END IF;
5685 
5686       IF (rti.req_distribution_id IS NULL) THEN
5687          rti.req_distribution_id  := pod.req_distribution_id;
5688       ELSIF(rti.req_distribution_id <> pod.req_distribution_id) THEN
5689          invalid_match_value(rti.req_distribution_id,
5690                              pod.req_distribution_id,
5691                              'REQ_DISTRIBUTION_ID'
5692                             );
5693       END IF;
5694 
5695       IF (rti.to_organization_id IS NULL) THEN
5696          rti.to_organization_id  := pod.destination_organization_id;
5697       ELSIF(rti.to_organization_id <> pod.destination_organization_id) THEN
5698          invalid_match_value(rti.to_organization_id,
5699                              pod.destination_organization_id,
5700                              'TO_ORGANIZATION_ID'
5701                             );
5702       END IF;
5703 
5704       IF (rti.wip_entity_id IS NULL) THEN
5705          rti.wip_entity_id  := pod.wip_entity_id;
5706       ELSIF(rti.wip_entity_id <> pod.wip_entity_id) THEN
5707          invalid_match_value(rti.wip_entity_id,
5708                              pod.wip_entity_id,
5709                              'WIP_ENTITY_ID'
5710                             );
5711       END IF;
5712 
5713       IF (rti.wip_line_id IS NULL) THEN
5714          rti.wip_line_id  := pod.wip_line_id;
5715       ELSIF(rti.wip_line_id <> pod.wip_line_id) THEN
5716          invalid_match_value(rti.wip_line_id,
5717                              pod.wip_line_id,
5718                              'WIP_LINE_ID'
5719                             );
5720       END IF;
5721 
5722       IF (rti.wip_operation_seq_num IS NULL) THEN
5723          rti.wip_operation_seq_num  := pod.wip_operation_seq_num;
5724       ELSIF(rti.wip_operation_seq_num <> pod.wip_operation_seq_num) THEN
5725          invalid_match_value(rti.wip_operation_seq_num,
5726                              pod.wip_operation_seq_num,
5727                              'WIP_OPERATION_SEQ_NUM'
5728                             );
5729       END IF;
5730 
5731       IF (rti.wip_repetitive_schedule_id IS NULL) THEN
5732          rti.wip_repetitive_schedule_id  := pod.wip_repetitive_schedule_id;
5733       ELSIF(rti.wip_repetitive_schedule_id <> pod.wip_repetitive_schedule_id) THEN
5734          invalid_match_value(rti.wip_repetitive_schedule_id,
5735                              pod.wip_repetitive_schedule_id,
5736                              'WIP_REPETITIVE_SCHEDULE_ID'
5737                             );
5738       END IF;
5739 
5740       IF (rti.wip_resource_seq_num IS NULL) THEN
5741          rti.wip_resource_seq_num  := pod.wip_resource_seq_num;
5742       ELSIF(rti.wip_resource_seq_num <> pod.wip_resource_seq_num) THEN
5743          invalid_match_value(rti.wip_resource_seq_num,
5744                              pod.wip_resource_seq_num,
5745                              'WIP_RESOURCE_SEQ_NUM'
5746                             );
5747       END IF;
5748 
5749       IF (rti.actual_cost IS NULL) THEN
5750          rti.actual_cost  := pod.amount_billed;
5751       END IF;
5752 
5753 	/* Bug 5299177
5754 	 * We expect customers to give the amount. We do not default but error out
5755 	 * if it is not given. Commenting out the foll code.
5756       IF (rti.amount IS NULL) THEN
5757          rti.amount  := pod.amount_ordered - pod.amount_cancelled;
5758       END IF;
5759 	* 5299177 */
5760       /* Start of Bug 6487455 */
5761 
5762       /* IF (rti.attribute1 IS NULL) THEN
5763          rti.attribute1  := pod.attribute1;
5764       END IF;
5765 
5766       IF (rti.attribute10 IS NULL) THEN
5767          rti.attribute10  := pod.attribute10;
5768       END IF;
5769 
5770       IF (rti.attribute11 IS NULL) THEN
5771          rti.attribute11  := pod.attribute11;
5772       END IF;
5773 
5774       IF (rti.attribute12 IS NULL) THEN
5775          rti.attribute12  := pod.attribute12;
5776       END IF;
5777 
5778       IF (rti.attribute13 IS NULL) THEN
5779          rti.attribute13  := pod.attribute13;
5780       END IF;
5781 
5782       IF (rti.attribute14 IS NULL) THEN
5783          rti.attribute14  := pod.attribute14;
5784       END IF;
5785 
5786       IF (rti.attribute15 IS NULL) THEN
5787          rti.attribute15  := pod.attribute15;
5788       END IF;
5789 
5790       IF (rti.attribute2 IS NULL) THEN
5791          rti.attribute2  := pod.attribute2;
5792       END IF;
5793 
5794       IF (rti.attribute3 IS NULL) THEN
5795          rti.attribute3  := pod.attribute3;
5796       END IF;
5797 
5798       IF (rti.attribute4 IS NULL) THEN
5799          rti.attribute4  := pod.attribute4;
5800       END IF;
5801 
5802       IF (rti.attribute5 IS NULL) THEN
5803          rti.attribute5  := pod.attribute5;
5804       END IF;
5805 
5806       IF (rti.attribute6 IS NULL) THEN
5807          rti.attribute6  := pod.attribute6;
5808       END IF;
5809 
5810       IF (rti.attribute7 IS NULL) THEN
5811          rti.attribute7  := pod.attribute7;
5812       END IF;
5813 
5814       IF (rti.attribute8 IS NULL) THEN
5815          rti.attribute8  := pod.attribute8;
5816       END IF;
5817 
5818       IF (rti.attribute9 IS NULL) THEN
5819          rti.attribute9  := pod.attribute9;
5820       END IF;
5821 
5822       IF (rti.attribute_category IS NULL) THEN
5823          rti.attribute_category  := pod.attribute_category;
5824       END IF; */
5825 
5826       /* End Bug 6487455 */
5827 
5828       IF (rti.bom_resource_id IS NULL) THEN
5829          rti.bom_resource_id  := pod.bom_resource_id;
5830       END IF;
5831 
5832       IF (rti.charge_account_id IS NULL) THEN
5833          rti.charge_account_id  := NVL(pod.dest_charge_account_id, pod.code_combination_id);
5834       END IF;
5835 
5836       /* Begin Bug 13013727, if match option is receipt, we should default this
5837          from transaction date*/
5838       /* IF (rti.currency_conversion_date IS NULL) THEN
5839          rti.currency_conversion_date  := pod.rate_date;
5840       END IF;
5841 
5842       IF (rti.currency_conversion_rate IS NULL) THEN
5843          rti.currency_conversion_rate  := pod.rate;
5844       END IF; */
5845       /* End Bug 13013727 */
5846 
5847       IF (rti.deliver_to_location_id IS NULL) THEN
5848          rti.deliver_to_location_id  := pod.deliver_to_location_id;
5849       END IF;
5850 
5851       IF (rti.deliver_to_person_id IS NULL) THEN
5852          rti.deliver_to_person_id  := pod.deliver_to_person_id;
5853       END IF;
5854 
5855       IF (rti.destination_context IS NULL) THEN
5856          rti.destination_context  := pod.destination_context;
5857       END IF;
5858 
5859       IF (rti.destination_type_code IS NULL) THEN
5860          rti.destination_type_code  := pod.destination_type_code;
5861       END IF;
5862 
5863       IF (rti.government_context IS NULL) THEN
5864          rti.government_context  := pod.government_context;
5865       END IF;
5866 
5867       IF (rti.project_id IS NULL) THEN
5868          rti.project_id  := pod.project_id;
5869       END IF;
5870 
5871 	/* Bug 5584736.
5872 	 * We have a detailed defaulting routine for defaulting
5873 	 * subinventory and locator later. Commenting out this code
5874 	 * here since this is creating problems later.
5875       IF (rti.subinventory IS NULL) THEN
5876          rti.subinventory  := pod.destination_subinventory;
5877       END IF;
5878 	*/
5879 
5880       IF (rti.task_id IS NULL) THEN
5881          rti.task_id  := pod.task_id;
5882       END IF;
5883 
5884       IF (rti.ussgl_transaction_code IS NULL) THEN
5885          rti.ussgl_transaction_code  := pod.ussgl_transaction_code;
5886       END IF;
5887 
5888       --Quantity
5889 	/* Bug 5299177
5890 	 * We expect customers to give the quantity. We do not default but error out
5891 	 * if it is not given. Commenting out the foll code.
5892       IF (rti.quantity IS NULL) THEN
5893          x_quantity              := pod.quantity_billed;
5894 
5895          IF (   x_quantity = 0
5896              OR x_quantity IS NULL) THEN
5897             x_quantity  := pod.quantity_ordered - NVL(pod.quantity_cancelled, 0);
5898          END IF;
5899 
5900          rti.quantity            := x_quantity;
5901          g_subtract_pll_qty_rcv  := TRUE;
5902       END IF;
5903 	* 5299177 */
5904    END default_rti_from_pod;
5905 
5906    PROCEDURE default_rti_from_pll(
5907       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
5908    ) IS
5909       pll        po_line_locations_all%ROWTYPE;
5910       x_quantity NUMBER;
5911    BEGIN
5912       IF (rti.po_line_location_id IS NOT NULL) THEN
5913          pll  := rcv_table_functions.get_pll_row_from_id(rti.po_line_location_id);
5914       END IF;
5915 
5916       IF (pll.line_location_id IS NULL) THEN
5917          RETURN;
5918       END IF;
5919 
5920       IF (rti.document_shipment_line_num IS NULL) THEN
5921          rti.document_shipment_line_num  := pll.shipment_num;
5922       ELSIF(rti.document_shipment_line_num <> pll.shipment_num) THEN
5923          invalid_match_value(rti.document_shipment_line_num,
5924                              pll.shipment_num,
5925                              'DOCUMENT_SHIPMENT_LINE_NUM'
5926                             );
5927       END IF;
5928 
5929       IF (rti.org_id IS NULL) THEN
5930          rti.org_id  := pll.org_id;
5931       ELSIF(rti.org_id <> pll.org_id) THEN
5932          invalid_match_value(rti.org_id,
5933                              pll.org_id,
5934                              'ORG_ID'
5935                             );
5936       END IF;
5937 
5938       IF (rti.po_header_id IS NULL) THEN
5939          rti.po_header_id  := pll.po_header_id;
5940       ELSIF(rti.po_header_id <> pll.po_header_id) THEN
5941          invalid_match_value(rti.po_header_id,
5942                              pll.po_header_id,
5943                              'PO_HEADER_ID'
5944                             );
5945       END IF;
5946       /* Complex work.
5947        * Get nvl(pll.price_override,pl.unit_price.
5948       */
5949 
5950       select nvl(poll.price_override,pol.unit_price)
5951       into pll.price_override
5952       from po_line_locations_all poll,
5953            po_lines_all pol
5954       where poll.line_location_id = pll.line_location_id
5955       and pol.po_line_id = poll.po_line_id;
5956 
5957       IF (rti.po_unit_price IS NULL) THEN
5958             rti.po_unit_price  := pll.price_override;
5959       end if;
5960 
5961       IF (rti.po_line_id IS NULL) THEN
5962          rti.po_line_id  := pll.po_line_id;
5963       ELSIF(rti.po_line_id <> pll.po_line_id) THEN
5964          invalid_match_value(rti.po_line_id,
5965                              pll.po_line_id,
5966                              'PO_LINE_ID'
5967                             );
5968       END IF;
5969 
5970       IF (rti.po_line_location_id IS NULL) THEN
5971          rti.po_line_location_id  := pll.line_location_id;
5972       ELSIF(rti.po_line_location_id <> pll.line_location_id) THEN
5973          invalid_match_value(rti.po_line_location_id,
5974                              pll.line_location_id,
5975                              'PO_LINE_LOCATION_ID'
5976                             );
5977       END IF;
5978 
5979       IF (rti.po_release_id IS NULL) THEN
5980          rti.po_release_id  := pll.po_release_id;
5981       ELSIF(rti.po_release_id <> pll.po_release_id) THEN
5982          invalid_match_value(rti.po_release_id,
5983                              pll.po_release_id,
5984                              'PO_RELEASE_ID'
5985                             );
5986       END IF;
5987 
5988       IF (rti.to_organization_id IS NULL) THEN
5989          rti.to_organization_id  := pll.ship_to_organization_id;
5990       ELSIF(rti.to_organization_id <> pll.ship_to_organization_id) THEN
5991          invalid_match_value(rti.to_organization_id,
5992                              pll.ship_to_organization_id,
5993                              'TO_ORGANIZATION_ID'
5994                             );
5995       END IF;
5996 
5997      /* Complex Work.
5998       * Item_description is at the shipment level for
5999       * complex work POs and at the line level
6000       * for non-complex work POs.
6001       */
6002       select nvl(poll.description,pol.item_description)
6003       into pll.description
6004       from po_line_locations_all poll,
6005            po_lines_all pol
6006       where poll.line_location_id = pll.line_location_id
6007       and pol.po_line_id = poll.po_line_id;
6008 
6009 
6010          IF (rti.item_description IS NULL) THEN
6011 
6012            /* Bug 4753230 : Item description should not be defaulted for rti rows
6013            **               populated for OTL retrieval
6014            */
6015            IF ( rti.timecard_id IS NULL ) THEN
6016              rti.item_description  := pll.description;
6017            END IF;
6018 
6019          ELSIF(rti.item_description <> pll.description) THEN
6020          /** Bug: 5598511
6021           * For ASN created with substitution item, item description and item id of rti
6022           * won't match with the item description and item id of pol or poll.
6023           * So, bypassing the item description and item id validation for ASN.
6024           */
6025           /* IF g_asn_type NOT IN ('ASN','ASBN') THEN --Bug: 5598511
6026             invalid_match_value(rti.item_description,
6027                                 pll.description,
6028                                 'ITEM_DESCRIPTION'
6029                                );
6030             END IF;*/
6031 	    rti.item_description  := pll.description;
6032 	    /* Bug 7012051: Made the item_description to be defaulted  from
6033 	       Pll.description so that transaction should not fail when invalid
6034 	       item description is entered*/
6035          END IF;
6036 
6037 
6038       IF (rti.substitute_unordered_code IS NULL) THEN
6039          IF (rti.item_description IS NULL) THEN
6040 
6041            /* Bug 4753230 : Item description should not be defaulted for rti rows
6042            **               populated for OTL retrieval
6043            */
6044            IF ( rti.timecard_id IS NULL ) THEN
6045              rti.item_description  := pll.description;
6046            END IF;
6047 
6048          ELSIF(rti.item_description <> pll.description) THEN
6049           /* IF g_asn_type NOT IN ('ASN','ASBN') THEN --Bug: 5598511
6050             invalid_match_value(rti.item_description,
6051                                 pll.description,
6052                                 'ITEM_DESCRIPTION'
6053                                );
6054            END IF;*/
6055 	   rti.item_description  := pll.description;
6056 	    /* Bug 7012051: Made the item_description to be defaulted  from
6057 	       Pll.description so that transaction should not fail when invalid
6058 	       item description is entered*/
6059          END IF;
6060       END IF;
6061 
6062       /* Complex Work. We should not default amount since it should
6063        * be done by the user.
6064       IF (rti.amount IS NULL) THEN
6065          rti.amount  := pll.amount;
6066       END IF;
6067       */
6068 
6069       IF (rti.attribute1 IS NULL) THEN
6070          rti.attribute1  := pll.attribute1;
6071       END IF;
6072 
6073       IF (rti.attribute10 IS NULL) THEN
6074          rti.attribute10  := pll.attribute10;
6075       END IF;
6076 
6077       IF (rti.attribute11 IS NULL) THEN
6078          rti.attribute11  := pll.attribute11;
6079       END IF;
6080 
6081       IF (rti.attribute12 IS NULL) THEN
6082          rti.attribute12  := pll.attribute12;
6083       END IF;
6084 
6085       IF (rti.attribute13 IS NULL) THEN
6086          rti.attribute13  := pll.attribute13;
6087       END IF;
6088 
6089       IF (rti.attribute14 IS NULL) THEN
6090          rti.attribute14  := pll.attribute14;
6091       END IF;
6092 
6093       IF (rti.attribute15 IS NULL) THEN
6094          rti.attribute15  := pll.attribute15;
6095       END IF;
6096 
6097       IF (rti.attribute2 IS NULL) THEN
6098          rti.attribute2  := pll.attribute2;
6099       END IF;
6100 
6101       IF (rti.attribute3 IS NULL) THEN
6102          rti.attribute3  := pll.attribute3;
6103       END IF;
6104 
6105       IF (rti.attribute4 IS NULL) THEN
6106          rti.attribute4  := pll.attribute4;
6107       END IF;
6108 
6109       IF (rti.attribute5 IS NULL) THEN
6110          rti.attribute5  := pll.attribute5;
6111       END IF;
6112 
6113       IF (rti.attribute6 IS NULL) THEN
6114          rti.attribute6  := pll.attribute6;
6115       END IF;
6116 
6117       IF (rti.attribute7 IS NULL) THEN
6118          rti.attribute7  := pll.attribute7;
6119       END IF;
6120 
6121       IF (rti.attribute8 IS NULL) THEN
6122          rti.attribute8  := pll.attribute8;
6123       END IF;
6124 
6125       IF (rti.attribute9 IS NULL) THEN
6126          rti.attribute9  := pll.attribute9;
6127       END IF;
6128 
6129       IF (rti.attribute_category IS NULL) THEN
6130          rti.attribute_category  := pll.attribute_category;
6131       END IF;
6132 
6133       IF (rti.country_of_origin_code IS NULL) THEN
6134          rti.country_of_origin_code  := pll.country_of_origin_code;
6135       END IF;
6136 
6137       IF (rti.government_context IS NULL) THEN
6138          rti.government_context  := pll.government_context;
6139       END IF;
6140 
6141       IF (rti.routing_header_id IS NULL) THEN
6142          rti.routing_header_id  := pll.receiving_routing_id;
6143       END IF;
6144 
6145       IF (rti.secondary_unit_of_measure IS NULL) THEN
6146          rti.secondary_unit_of_measure  := pll.secondary_unit_of_measure;
6147       END IF;
6148 
6149       IF (rti.ship_to_location_id IS NULL) THEN
6150          rti.ship_to_location_id  := pll.ship_to_location_id;
6151       END IF;
6152 
6153       IF (rti.source_doc_unit_of_measure IS NULL) THEN
6154          rti.source_doc_unit_of_measure  := pll.unit_meas_lookup_code;
6155       END IF;
6156 
6157       IF (rti.tax_name IS NULL) THEN
6158          rti.tax_name  := pll.tax_name;
6159       END IF;
6160 
6161       IF (rti.unit_of_measure IS NULL) THEN
6162          rti.unit_of_measure  := pll.unit_meas_lookup_code;
6163       END IF;
6164 
6165       IF (rti.ussgl_transaction_code IS NULL) THEN
6166          rti.ussgl_transaction_code  := pll.ussgl_transaction_code;
6167       END IF;
6168 
6169       /* Complex work. */
6170 
6171       IF (rti.po_unit_price IS NULL) THEN
6172             rti.po_unit_price  := pll.price_override;
6173       END IF;
6174       --Quantity
6175       /* Complex Work. We should not default quantity since it should
6176        * be done by the user.
6177       IF (rti.quantity IS NULL) THEN
6178          x_quantity    := pll.quantity_billed;
6179 
6180          IF (   x_quantity = 0
6181              OR x_quantity IS NULL) THEN
6182             x_quantity  := pll.quantity - NVL(pll.quantity_cancelled, 0);
6183          END IF;
6184 
6185          rti.quantity  := x_quantity - NVL(pll.quantity_received, 0);
6186 
6187          IF (    rti.secondary_quantity IS NULL
6188              AND rti.quantity = pll.quantity) THEN
6189             rti.secondary_quantity  := pll.secondary_quantity;
6190          END IF;
6191       ELSIF(g_subtract_pll_qty_rcv = TRUE) THEN
6192          rti.quantity  := rti.quantity - NVL(pll.quantity_received, 0);
6193       END IF;
6194       */
6195    END default_rti_from_pll;
6196 
6197    PROCEDURE default_rti_from_pol(
6198       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
6199    ) IS
6200       pol po_lines_all%ROWTYPE;
6201    BEGIN
6202       asn_debug.put_line('Enter default_rti_from_pol');
6203       IF (rti.po_line_id IS NOT NULL) THEN
6204          pol  := rcv_table_functions.get_pol_row_from_id(rti.po_line_id);
6205       END IF;
6206       asn_debug.put_line('Afte  get_pol_row_from_id');
6207 
6208       IF (pol.po_line_id IS NULL) THEN
6209          asn_debug.put_line('pol.po_line_id  is: '||pol.po_line_id);
6210          RETURN;
6211       END IF;
6212 
6213       IF (rti.document_line_num IS NULL) THEN
6214          rti.document_line_num  := pol.line_num;
6215       ELSIF(rti.document_line_num <> pol.line_num) THEN
6216          invalid_match_value(rti.document_line_num,
6217                              pol.line_num,
6218                              'DOCUMENT_LINE_NUM'
6219                             );
6220       END IF;
6221 
6222       IF (rti.substitute_unordered_code IS NULL) THEN
6223      /* Complex Work.
6224       * Item_description is at the shipment level for
6225       * Complex work. For non complex work POs it is at
6226       * the line level. So the check for item_description
6227       * is done at the shipment_level itself. Commented
6228       * out the code here.
6229 
6230          IF (rti.item_description IS NULL) THEN
6231             rti.item_description  := pol.item_description;
6232          ELSIF(rti.item_description <> pol.item_description) THEN
6233             invalid_match_value(rti.item_description,
6234                                 pol.item_description,
6235                                 'ITEM_DESCRIPTION'
6236                                );
6237          END IF;
6238 
6239        */
6240          IF (rti.item_id IS NULL) THEN
6241             rti.item_id  := pol.item_id;
6242          ELSIF(rti.item_id <> pol.item_id) THEN
6243            IF g_asn_type NOT IN ('ASN','ASBN') THEN --Bug: 5598511
6244              invalid_match_value(rti.item_id,
6245                                 pol.item_id,
6246                                 'ITEM_ID'
6247                                );
6248            END IF;
6249          END IF;
6250 
6251          IF (rti.item_revision IS NULL) THEN
6252             rti.item_revision  := pol.item_revision;
6253          /*
6254          Bug 5975270: We can't compare the two revisions right now
6255          as we are not sure if item is revision controlled or not.
6256          ELSIF(rti.item_revision <> pol.item_revision) THEN
6257            IF g_asn_type NOT IN ('ASN','ASBN') THEN --Bug: 5598511
6258              invalid_match_value(rti.item_revision,
6259                                 pol.item_revision,
6260                                 'ITEM_REVISION'
6261                                );
6262              END IF;
6263             */
6264          END IF;
6265       END IF;
6266 
6267       IF (rti.job_id IS NULL) THEN
6268          rti.job_id  := pol.job_id;
6269       ELSIF(rti.job_id <> pol.job_id) THEN
6270          invalid_match_value(rti.job_id,
6271                              pol.job_id,
6272                              'JOB_ID'
6273                             );
6274       END IF;
6275 
6276       IF (rti.org_id IS NULL) THEN
6277          rti.org_id  := pol.org_id;
6278       ELSIF(rti.org_id <> pol.org_id) THEN
6279          invalid_match_value(rti.org_id,
6280                              pol.org_id,
6281                              'ORG_ID'
6282                             );
6283       END IF;
6284 
6285       IF (rti.po_header_id IS NULL) THEN
6286          rti.po_header_id  := pol.po_header_id;
6287       ELSIF(rti.po_header_id <> pol.po_header_id) THEN
6288          invalid_match_value(rti.po_header_id,
6289                              pol.po_header_id,
6290                              'PO_HEADER_ID'
6291                             );
6292       END IF;
6293 
6294       asn_debug.put_line('Before  po_line_id');
6295       IF (rti.po_line_id IS NULL) THEN
6296          rti.po_line_id  := pol.po_line_id;
6297       ELSIF(rti.po_line_id <> pol.po_line_id) THEN
6298          invalid_match_value(rti.po_line_id,
6299                              pol.po_line_id,
6300                              'PO_LINE_ID'
6301                             );
6302       END IF;
6303 
6304       IF (rti.project_id IS NULL) THEN
6305          rti.project_id  := pol.project_id;
6306       ELSIF(rti.project_id <> pol.project_id) THEN
6307          invalid_match_value(rti.project_id,
6308                              pol.project_id,
6309                              'PROJECT_ID'
6310                             );
6311       END IF;
6312 
6313       IF (rti.task_id IS NULL) THEN
6314          rti.task_id  := pol.task_id;
6315       ELSIF(rti.task_id <> pol.task_id) THEN
6316          invalid_match_value(rti.task_id,
6317                              pol.task_id,
6318                              'TASK_ID'
6319                             );
6320       END IF;
6321 
6322       /* Complex Work.
6323        * We should not pick up amount from po_lines.
6324        * It should be populated by the user.
6325 
6326       IF (rti.amount IS NULL) THEN
6327          rti.amount  := pol.amount;
6328       END IF;
6329      */
6330 
6331      /* Start of Bug 6487455 */
6332 
6333       /* IF (rti.attribute1 IS NULL) THEN
6334          rti.attribute1  := pol.attribute1;
6335       END IF;
6336 
6337       IF (rti.attribute10 IS NULL) THEN
6338          rti.attribute10  := pol.attribute10;
6339       END IF;
6340 
6341       IF (rti.attribute11 IS NULL) THEN
6342          rti.attribute11  := pol.attribute11;
6343       END IF;
6344 
6345       IF (rti.attribute12 IS NULL) THEN
6346          rti.attribute12  := pol.attribute12;
6347       END IF;
6348 
6349       IF (rti.attribute13 IS NULL) THEN
6350          rti.attribute13  := pol.attribute13;
6351       END IF;
6352 
6353       IF (rti.attribute14 IS NULL) THEN
6354          rti.attribute14  := pol.attribute14;
6355       END IF;
6356 
6357       IF (rti.attribute15 IS NULL) THEN
6358          rti.attribute15  := pol.attribute15;
6359       END IF;
6360 
6361       IF (rti.attribute2 IS NULL) THEN
6362          rti.attribute2  := pol.attribute2;
6363       END IF;
6364 
6365       IF (rti.attribute3 IS NULL) THEN
6366          rti.attribute3  := pol.attribute3;
6367       END IF;
6368 
6369       IF (rti.attribute4 IS NULL) THEN
6370          rti.attribute4  := pol.attribute4;
6371       END IF;
6372 
6373       IF (rti.attribute5 IS NULL) THEN
6374          rti.attribute5  := pol.attribute5;
6375       END IF;
6376 
6377       IF (rti.attribute6 IS NULL) THEN
6378          rti.attribute6  := pol.attribute6;
6379       END IF;
6380 
6381       IF (rti.attribute7 IS NULL) THEN
6382          rti.attribute7  := pol.attribute7;
6383       END IF;
6384 
6385       IF (rti.attribute8 IS NULL) THEN
6386          rti.attribute8  := pol.attribute8;
6387       END IF;
6388 
6389       IF (rti.attribute9 IS NULL) THEN
6390          rti.attribute9  := pol.attribute9;
6391       END IF;
6392 
6393       IF (rti.attribute_category IS NULL) THEN
6394          rti.attribute_category  := pol.attribute_category;
6395       END IF; */
6396 
6397       /* End Bug 6487455 */
6398 
6399       IF (rti.category_id IS NULL) THEN
6400          rti.category_id  := pol.category_id;
6401       END IF;
6402 
6403       IF (rti.government_context IS NULL) THEN
6404          rti.government_context  := pol.government_context;
6405       END IF;
6406 
6407       /* Complex Work. */
6408       IF (rti.po_unit_price IS NULL) THEN
6409          rti.po_unit_price  := pol.unit_price;
6410       END IF;
6411 
6412       IF (rti.qc_grade IS NULL) THEN
6413          rti.qc_grade  := pol.qc_grade;
6414       END IF;
6415 
6416       IF (rti.secondary_unit_of_measure IS NULL) THEN
6417          rti.secondary_unit_of_measure  := pol.secondary_unit_of_measure;
6418       END IF;
6419 
6420       IF (rti.source_doc_unit_of_measure IS NULL) THEN
6421          rti.source_doc_unit_of_measure  := pol.unit_meas_lookup_code;
6422       END IF;
6423 
6424       IF (rti.tax_name IS NULL) THEN
6425          rti.tax_name  := pol.tax_name;
6426       END IF;
6427 
6428       IF (rti.unit_of_measure IS NULL) THEN
6429          rti.unit_of_measure  := pol.unit_meas_lookup_code;
6430       END IF;
6431 
6432       IF (rti.ussgl_transaction_code IS NULL) THEN
6433          rti.ussgl_transaction_code  := pol.ussgl_transaction_code;
6434       END IF;
6435 
6436       --Quantity
6437       /* Complex Work.
6438        * User should enter quantity. Should not be defaulted.
6439 
6440       IF (rti.quantity IS NULL) THEN
6441          rti.quantity  := pol.quantity;
6442 
6443          IF (rti.secondary_quantity IS NULL) THEN
6444             rti.secondary_quantity  := pol.secondary_quantity;
6445          END IF;
6446       END IF;
6447       */
6448       asn_debug.put_line('Leave default_rti_from_pol');
6449    END default_rti_from_pol;
6450 
6451    PROCEDURE default_rti_from_poh(
6452       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
6453    ) IS
6454       poh po_headers_all%ROWTYPE;
6455    BEGIN
6456       IF (rti.po_header_id IS NOT NULL) THEN
6457          poh  := rcv_table_functions.get_poh_row_from_id(rti.po_header_id);
6458       END IF;
6459 
6460       IF (poh.po_header_id IS NULL) THEN
6461          RETURN;
6462       END IF;
6463 
6464       IF (rti.document_num IS NULL) THEN
6465          rti.document_num  := poh.segment1;
6466       ELSIF(rti.document_num <> poh.segment1) THEN
6467          invalid_match_value(rti.document_num,
6468                              poh.segment1,
6469                              'DOCUMENT_NUM'
6470                             );
6471       END IF;
6472 
6473       IF (rti.org_id IS NULL) THEN
6474          rti.org_id  := poh.org_id;
6475       ELSIF(rti.org_id <> poh.org_id) THEN
6476          invalid_match_value(rti.org_id,
6477                              poh.org_id,
6478                              'ORG_ID'
6479                             );
6480       END IF;
6481 
6482       IF (rti.po_header_id IS NULL) THEN
6483          rti.po_header_id  := poh.po_header_id;
6484       ELSIF(rti.po_header_id <> poh.po_header_id) THEN
6485          invalid_match_value(rti.po_header_id,
6486                              poh.po_header_id,
6487                              'PO_HEADER_ID'
6488                             );
6489       END IF;
6490 
6491       /* Start of Bug 6487455 */
6492 
6493       /* IF (rti.attribute1 IS NULL) THEN
6494          rti.attribute1  := poh.attribute1;
6495       END IF;
6496 
6497       IF (rti.attribute10 IS NULL) THEN
6498          rti.attribute10  := poh.attribute10;
6499       END IF;
6500 
6501       IF (rti.attribute11 IS NULL) THEN
6502          rti.attribute11  := poh.attribute11;
6503       END IF;
6504 
6505       IF (rti.attribute12 IS NULL) THEN
6506          rti.attribute12  := poh.attribute12;
6507       END IF;
6508 
6509       IF (rti.attribute13 IS NULL) THEN
6510          rti.attribute13  := poh.attribute13;
6511       END IF;
6512 
6513       IF (rti.attribute14 IS NULL) THEN
6514          rti.attribute14  := poh.attribute14;
6515       END IF;
6516 
6517       IF (rti.attribute15 IS NULL) THEN
6518          rti.attribute15  := poh.attribute15;
6519       END IF;
6520 
6521       IF (rti.attribute2 IS NULL) THEN
6522          rti.attribute2  := poh.attribute2;
6523       END IF;
6524 
6525       IF (rti.attribute3 IS NULL) THEN
6526          rti.attribute3  := poh.attribute3;
6527       END IF;
6528 
6529       IF (rti.attribute4 IS NULL) THEN
6530          rti.attribute4  := poh.attribute4;
6531       END IF;
6532 
6533       IF (rti.attribute5 IS NULL) THEN
6534          rti.attribute5  := poh.attribute5;
6535       END IF;
6536 
6537       IF (rti.attribute6 IS NULL) THEN
6538          rti.attribute6  := poh.attribute6;
6539       END IF;
6540 
6541       IF (rti.attribute7 IS NULL) THEN
6542          rti.attribute7  := poh.attribute7;
6543       END IF;
6544 
6545       IF (rti.attribute8 IS NULL) THEN
6546          rti.attribute8  := poh.attribute8;
6547       END IF;
6548 
6549       IF (rti.attribute9 IS NULL) THEN
6550          rti.attribute9  := poh.attribute9;
6551       END IF;
6552 
6553       IF (rti.attribute_category IS NULL) THEN
6554          rti.attribute_category  := poh.attribute_category;
6555       END IF; */
6556 
6557       /* End Bug 6487455 */
6558 
6559       IF (rti.currency_code IS NULL) THEN
6560          rti.currency_code  := poh.currency_code;
6561       END IF;
6562 
6563       /* Begin Bug 13013727, if match option is receipt,
6564          we should default this from transaction date*/
6565       /* IF (rti.currency_conversion_date IS NULL) THEN
6566          rti.currency_conversion_date  := poh.rate_date;
6567       END IF;
6568 
6569       IF (rti.currency_conversion_rate IS NULL) THEN
6570          rti.currency_conversion_rate  := poh.rate;
6571       END IF; */
6572       /* End Bug 13013727. */
6573 
6574       IF (rti.currency_conversion_type IS NULL) THEN
6575          rti.currency_conversion_type  := poh.rate_type;
6576       END IF;
6577 
6578       IF (rti.employee_id IS NULL) THEN
6579          rti.employee_id  := poh.agent_id;
6580       END IF;
6581 
6582       IF (rti.government_context IS NULL) THEN
6583          rti.government_context  := poh.government_context;
6584       END IF;
6585 
6586       IF (rti.interface_source_code IS NULL) THEN
6587          rti.interface_source_code  := poh.interface_source_code;
6588       END IF;
6589 
6590       IF (rti.ship_to_location_id IS NULL) THEN
6591          rti.ship_to_location_id  := poh.ship_to_location_id;
6592       END IF;
6593 
6594       IF (rti.ussgl_transaction_code IS NULL) THEN
6595          rti.ussgl_transaction_code  := poh.ussgl_transaction_code;
6596       END IF;
6597 
6598       IF (rti.vendor_id IS NULL) THEN
6599          rti.vendor_id  := poh.vendor_id;
6600       END IF;
6601       -- Bug 6520985
6602       -- Bug 10306164 revert commented code in bug 6520985
6603       IF (rti.vendor_site_id IS NULL) THEN
6604          rti.vendor_site_id  := poh.vendor_site_id;
6605       END IF;
6606    END default_rti_from_poh;
6607 
6608    PROCEDURE default_rti_from_oel(
6609       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
6610    ) IS
6611       oel oe_order_lines_all%ROWTYPE;
6612    BEGIN
6613       IF (rti.oe_order_line_id IS NOT NULL) THEN
6614          oel  := rcv_table_functions.get_oel_row_from_id(rti.oe_order_line_id);
6615       END IF;
6616 
6617       IF (oel.line_id IS NULL) THEN
6618          RETURN;
6619       END IF;
6620 /** Bug:5502427
6621   *  default_rti_from_oel() procedure will get invoked only for RMAs
6622   *  as per the fix done through this bug. So no need to handle
6623   *  the Internal Order case in this procedure
6624   */
6625 --      IF (rti.source_document_code = 'RMA') THEN
6626          IF (rti.to_organization_id IS NULL) THEN
6627             rti.to_organization_id  := oel.ship_from_org_id;
6628          ELSIF(rti.to_organization_id <> oel.ship_from_org_id) THEN
6629             invalid_match_value(rti.to_organization_id,
6630                                 oel.ship_from_org_id,
6631                                 'TO_ORGANIZATION_ID'
6632                                );
6633          END IF;
6634       /* WDK - This appears to cause a problem
6635       IF (rti.from_organization_id IS NULL) THEN
6636          rti.from_organization_id  := oel.ship_to_org_id;
6637       END IF;
6638       */
6639 /*      ELSE --RTI.SOURCE_CODE_CODE = 'REQ'
6640          IF (rti.from_organization_id IS NULL) THEN
6641             rti.from_organization_id  := oel.ship_from_org_id;
6642          ELSIF(rti.from_organization_id <> oel.ship_from_org_id) THEN
6643             invalid_match_value(rti.from_organization_id,
6644                                 oel.ship_from_org_id,
6645                                 'FROM_ORGANIZATION_ID'
6646                                );
6647          END IF;
6648 
6649          IF (rti.to_organization_id IS NULL) THEN
6650             rti.to_organization_id  := oel.ship_to_org_id;
6651          END IF;
6652       END IF;*/
6653 
6654       IF (rti.substitute_unordered_code IS NULL) THEN
6655          IF (rti.item_id IS NULL) THEN
6656             rti.item_id  := oel.inventory_item_id;
6657          ELSIF(rti.item_id <> oel.inventory_item_id) THEN
6658             invalid_match_value(rti.item_id,
6659                                 oel.inventory_item_id,
6660                                 'ITEM_ID'
6661                                );
6662          END IF;
6663       END IF;
6664 
6665       IF (rti.oe_order_header_id IS NULL) THEN
6666          rti.oe_order_header_id  := oel.header_id;
6667       ELSIF(rti.oe_order_header_id <> oel.header_id) THEN
6668          invalid_match_value(rti.oe_order_header_id,
6669                              oel.header_id,
6670                              'OE_ORDER_HEADER_ID'
6671                             );
6672       END IF;
6673 
6674       IF (rti.oe_order_line_id IS NULL) THEN
6675          rti.oe_order_line_id  := oel.line_id;
6676       ELSIF(rti.oe_order_line_id <> oel.line_id) THEN
6677          invalid_match_value(rti.oe_order_line_id,
6678                              oel.line_id,
6679                              'OE_ORDER_LINE_ID'
6680                             );
6681       END IF;
6682 
6683       IF (rti.oe_order_line_num IS NULL) THEN
6684          rti.oe_order_line_num  := oel.line_number;
6685       ELSIF(rti.oe_order_line_num <> oel.line_number) THEN
6686          invalid_match_value(rti.oe_order_line_num,
6687                              oel.line_number,
6688                              'OE_ORDER_LINE_NUM'
6689                             );
6690       END IF;
6691 
6692       IF (rti.document_line_num IS NULL) THEN
6693          rti.document_line_num  := oel.line_number;
6694       ELSIF(rti.document_line_num <> oel.line_number) THEN
6695          invalid_match_value(rti.document_line_num,
6696                              oel.line_number,
6697                              'DOCUMENT_LINE_NUM'
6698                             );
6699       END IF;
6700 
6701       IF (rti.org_id IS NULL) THEN
6702          rti.org_id  := oel.org_id;
6703       ELSIF(rti.org_id <> oel.org_id) THEN
6704          invalid_match_value(rti.org_id,
6705                              oel.org_id,
6706                              'ORG_ID'
6707                             );
6708       END IF;
6709 
6710       IF (rti.project_id IS NULL) THEN
6711          rti.project_id  := oel.project_id;
6712       ELSIF(rti.project_id <> oel.project_id) THEN
6713          invalid_match_value(rti.project_id,
6714                              oel.project_id,
6715                              'PROJECT_ID'
6716                             );
6717       END IF;
6718 
6719       IF (rti.task_id IS NULL) THEN
6720          rti.task_id  := oel.task_id;
6721       ELSIF(rti.task_id <> oel.task_id) THEN
6722          invalid_match_value(rti.task_id,
6723                              oel.task_id,
6724                              'TASK_ID'
6725                             );
6726       END IF;
6727 
6728       IF (rti.attribute1 IS NULL) THEN
6729          rti.attribute1  := oel.return_attribute1;
6730       END IF;
6731 
6732       IF (rti.attribute10 IS NULL) THEN
6733          rti.attribute10  := oel.return_attribute10;
6734       END IF;
6735 
6736       IF (rti.attribute11 IS NULL) THEN
6737          rti.attribute11  := oel.return_attribute11;
6738       END IF;
6739 
6740       IF (rti.attribute12 IS NULL) THEN
6741          rti.attribute12  := oel.return_attribute12;
6742       END IF;
6743 
6744       IF (rti.attribute13 IS NULL) THEN
6745          rti.attribute13  := oel.return_attribute13;
6746       END IF;
6747 
6748       IF (rti.attribute14 IS NULL) THEN
6749          rti.attribute14  := oel.return_attribute14;
6750       END IF;
6751 
6752       IF (rti.attribute15 IS NULL) THEN
6753          rti.attribute15  := oel.return_attribute15;
6754       END IF;
6755 
6756       IF (rti.attribute2 IS NULL) THEN
6757          rti.attribute2  := oel.return_attribute2;
6758       END IF;
6759 
6760       IF (rti.attribute3 IS NULL) THEN
6761          rti.attribute3  := oel.return_attribute3;
6762       END IF;
6763 
6764       IF (rti.attribute4 IS NULL) THEN
6765          rti.attribute4  := oel.return_attribute4;
6766       END IF;
6767 
6768       IF (rti.attribute5 IS NULL) THEN
6769          rti.attribute5  := oel.return_attribute5;
6770       END IF;
6771 
6772       IF (rti.attribute6 IS NULL) THEN
6773          rti.attribute6  := oel.return_attribute6;
6774       END IF;
6775 
6776       IF (rti.attribute7 IS NULL) THEN
6777          rti.attribute7  := oel.return_attribute7;
6778       END IF;
6779 
6780       IF (rti.attribute8 IS NULL) THEN
6781          rti.attribute8  := oel.return_attribute8;
6782       END IF;
6783 
6784       IF (rti.attribute9 IS NULL) THEN
6785          rti.attribute9  := oel.return_attribute9;
6786       END IF;
6787 
6788       IF (rti.attribute_category IS NULL) THEN
6789          rti.attribute_category  := oel.return_context;
6790       END IF;
6791 
6792       IF (rti.customer_id IS NULL) THEN
6793          rti.customer_id  := oel.end_customer_id;
6794       END IF;
6795 
6796       IF (rti.customer_item_num IS NULL) THEN
6797          rti.customer_item_num  := oel.end_item_unit_number;
6798       END IF;
6799 
6800       IF (rti.customer_site_id IS NULL) THEN
6801          rti.customer_site_id  := oel.end_customer_site_use_id;
6802       END IF;
6803 
6804       IF (rti.freight_carrier_code IS NULL) THEN
6805          rti.freight_carrier_code  := oel.freight_carrier_code;
6806       END IF;
6807 
6808       IF (rti.item_num IS NULL) THEN
6809          rti.item_num  := oel.ordered_item;
6810       END IF;
6811 
6812       IF (rti.item_revision IS NULL) THEN
6813          rti.item_revision  := oel.item_revision;
6814       END IF;
6815 
6816       IF (rti.po_unit_price IS NULL) THEN
6817          rti.po_unit_price  := oel.unit_selling_price;
6818       END IF;
6819 
6820       IF (rti.secondary_uom_code IS NULL) THEN
6821          rti.secondary_uom_code  := NVL(oel.shipping_quantity_uom2, oel.ordered_quantity_uom2);
6822       END IF;
6823 
6824 	/* Bug 5584736.
6825 	 * We have a detailed defaulting routine for defaulting
6826 	 * subinventory and locator later. Commenting out this code
6827 	 * here since this is creating problems later.
6828       IF (rti.subinventory IS NULL) THEN
6829          rti.subinventory  := oel.subinventory;
6830       END IF;
6831 	*/
6832 
6833       IF (rti.tax_amount IS NULL) THEN
6834          rti.tax_amount  := oel.tax_value;
6835       END IF;
6836 
6837       IF (rti.tax_name IS NULL) THEN
6838          rti.tax_name  := oel.tax_code;
6839       END IF;
6840 
6841       IF (rti.uom_code IS NULL) THEN
6842          rti.uom_code  := NVL(oel.shipping_quantity_uom, oel.order_quantity_uom);
6843       END IF;
6844 
6845     /* Bug 7196654
6846     * Made the item_description to be defaulted  from
6847     * oel.user_item_description so that transaction should not fail
6848     * when invalid item description is entered*/
6849 
6850       rti.item_description := oel.user_item_description;
6851 
6852     /* end Bug 7196654 */
6853 
6854       --Quantity
6855 	/* Bug 5299177
6856 	 * We expect customers to give the quantity. We do not default but error out
6857 	 * if it is not given. Commenting out the foll code.
6858       IF (rti.quantity IS NULL) THEN
6859          rti.quantity  := NVL(oel.shipped_quantity, oel.ordered_quantity);
6860 
6861          IF (rti.secondary_quantity IS NULL) THEN
6862             rti.secondary_quantity  := NVL(oel.shipped_quantity2, oel.ordered_quantity2);
6863          END IF;
6864       END IF;
6865 	* 5299177 */
6866    END default_rti_from_oel;
6867 
6868    PROCEDURE default_rti_from_oeh(
6869       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
6870    ) IS
6871       oeh oe_order_headers_all%ROWTYPE;
6872    BEGIN
6873       IF (rti.oe_order_header_id IS NOT NULL) THEN
6874          oeh  := rcv_table_functions.get_oeh_row_from_id(rti.oe_order_header_id);
6875       END IF;
6876 
6877       IF (oeh.header_id IS NULL) THEN
6878          RETURN;
6879       END IF;
6880 
6881       IF (rti.oe_order_num IS NULL) THEN
6882          rti.oe_order_num  := oeh.order_number;
6883       ELSIF(rti.oe_order_num <> oeh.order_number) THEN
6884          invalid_match_value(rti.oe_order_num,
6885                              oeh.order_number,
6886                              'OE_ORDER_NUM'
6887                             );
6888       END IF;
6889 
6890       IF (rti.document_num IS NULL) THEN
6891          rti.document_num  := oeh.order_number;
6892       ELSIF(rti.document_num <> oeh.order_number) THEN
6893          invalid_match_value(rti.document_num,
6894                              oeh.order_number,
6895                              'DOCUMENT_NUM'
6896                             );
6897       END IF;
6898 
6899       IF (rti.org_id IS NULL) THEN
6900          rti.org_id  := oeh.org_id;
6901       ELSIF(rti.org_id <> oeh.org_id) THEN
6902          invalid_match_value(rti.org_id,
6903                              oeh.org_id,
6904                              'ORG_ID'
6905                             );
6906       END IF;
6907 /** Bug:5502427
6908   *  default_rti_from_oeh() procedure will get invoked only for RMAs
6909   *  as per the fix done through this bug. So no need to handle
6910   *  the Internal Order case in this procedure
6911   */
6912 --      IF (rti.source_document_code = 'RMA') THEN
6913          IF (rti.to_organization_id IS NULL) THEN
6914             rti.to_organization_id  := oeh.ship_from_org_id;
6915          END IF;
6916       /* WDK - This appears to cause a problem
6917       IF (rti.from_organization_id IS NULL) THEN
6918          rti.from_organization_id  := oeh.ship_to_org_id;
6919       END IF;
6920       */
6921 /*      ELSE --RTI.SOURCE_CODE_CODE = 'REQ'
6922          IF (rti.from_organization_id IS NULL) THEN
6923             rti.from_organization_id  := oeh.ship_from_org_id;
6924          END IF;
6925 
6926          IF (rti.to_organization_id IS NULL) THEN
6927             rti.to_organization_id  := oeh.ship_to_org_id;
6928          END IF;
6929       END IF;*/
6930 
6931       IF (rti.currency_conversion_date IS NULL) THEN
6932          rti.currency_conversion_date  := oeh.conversion_rate_date;
6933       END IF;
6934 
6935       IF (rti.currency_conversion_rate IS NULL) THEN
6936          rti.currency_conversion_rate  := oeh.conversion_rate;
6937       END IF;
6938 
6939       IF (rti.currency_conversion_type IS NULL) THEN
6940          rti.currency_conversion_type  := oeh.conversion_type_code;
6941       END IF;
6942 
6943       IF (rti.customer_id IS NULL) THEN
6944          rti.customer_id  := oeh.end_customer_id;
6945       END IF;
6946 
6947       IF (rti.customer_site_id IS NULL) THEN
6948          rti.customer_site_id  := oeh.end_customer_site_use_id;
6949       END IF;
6950 
6951       IF (rti.freight_carrier_code IS NULL) THEN
6952          rti.freight_carrier_code  := oeh.freight_carrier_code;
6953       END IF;
6954 
6955       IF (rti.oe_order_header_id IS NULL) THEN
6956          rti.oe_order_header_id  := oeh.header_id;
6957       END IF;
6958 
6959       IF (rti.oe_order_num IS NULL) THEN
6960          rti.oe_order_num  := oeh.order_number;
6961       END IF;
6962    END default_rti_from_oeh;
6963 
6964 /************************************/
6965 /* SECTION 5: default row framework */
6966 /************************************/
6967    PROCEDURE create_rhi_from_rti(
6968       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
6969    ) IS
6970       x_receipt_num rcv_headers_interface.receipt_num%TYPE;
6971    BEGIN
6972       IF (rti.header_interface_id IS NOT NULL) THEN
6973          RETURN;
6974       END IF;
6975 
6976       SELECT rcv_headers_interface_s.NEXTVAL
6977       INTO   rti.header_interface_id
6978       FROM   DUAL;
6979 
6980       IF (rti.expected_receipt_date IS NULL) THEN
6981          rti.expected_receipt_date  := SYSDATE;
6982       END IF;
6983 
6984       x_receipt_num  := rcv_table_functions.get_rsh_row_from_id(rti.shipment_header_id).receipt_num;
6985 
6986       INSERT INTO rcv_headers_interface
6987                   (created_by,
6988                    creation_date,
6989                    last_updated_by,
6990                    last_update_date,
6991                    last_update_login,
6992                    attribute_category,
6993                    attribute1,
6994                    attribute10,
6995                    attribute11,
6996                    attribute12,
6997                    attribute13,
6998                    attribute14,
6999                    attribute15,
7000                    attribute2,
7001                    attribute3,
7002                    attribute4,
7003                    attribute5,
7004                    attribute6,
7005                    attribute7,
7006                    attribute8,
7007                    attribute9,
7008                    auto_transact_code,
7009                    bill_of_lading,
7010                    comments,
7011                    currency_code,
7012                    conversion_rate_date,
7013                    conversion_rate,
7014                    conversion_rate_type,
7015                    customer_account_number,
7016                    customer_id,
7017                    customer_party_name,
7018                    customer_site_id,
7019                    employee_id,
7020                    expected_receipt_date,
7021                    freight_carrier_code,
7022                    from_organization_code,
7023                    from_organization_id,
7024                    GROUP_ID,
7025                    header_interface_id,
7026                    location_code,
7027                    location_id,
7028                    num_of_containers,
7029                    packing_slip,
7030                    processing_request_id,
7031                    processing_status_code,
7032                    receipt_source_code,
7033                    receipt_header_id,
7034                    receipt_num,
7035                    shipment_num,
7036                    shipped_date,
7037                    tax_amount,
7038                    tax_name,
7039                    ship_to_organization_code,
7040                    ship_to_organization_id,
7041                    org_id,
7042                    operating_unit,
7043                    transaction_type,
7044                    test_flag,
7045                    usggl_transaction_code,
7046                    validation_flag,
7047                    vendor_id,
7048                    vendor_name,
7049                    vendor_num,
7050                    vendor_site_code,
7051                    vendor_site_id,
7052                    waybill_airbill_num
7053                   )
7054            VALUES (rti.created_by,
7055                    rti.creation_date,
7056                    rti.last_updated_by,
7057                    rti.last_update_date,
7058                    rti.last_update_login,
7059                    rti.attribute_category,
7060                    rti.attribute1,
7061                    rti.attribute10,
7062                    rti.attribute11,
7063                    rti.attribute12,
7064                    rti.attribute13,
7065                    rti.attribute14,
7066                    rti.attribute15,
7067                    rti.attribute2,
7068                    rti.attribute3,
7069                    rti.attribute4,
7070                    rti.attribute5,
7071                    rti.attribute6,
7072                    rti.attribute7,
7073                    rti.attribute8,
7074                    rti.attribute9,
7075                    rti.auto_transact_code,
7076                    rti.bill_of_lading,
7077                    rti.comments,
7078                    rti.currency_code,
7079                    rti.currency_conversion_date,
7080                    rti.currency_conversion_rate,
7081                    rti.currency_conversion_type,
7082                    rti.customer_account_number,
7083                    rti.customer_id,
7084                    rti.customer_party_name,
7085                    rti.customer_site_id,
7086                    rti.employee_id,
7087                    rti.expected_receipt_date,
7088                    rti.freight_carrier_code,
7089                    rti.from_organization_code,
7090                    rti.from_organization_id,
7091                    rti.GROUP_ID,
7092                    rti.header_interface_id,
7093                    rti.location_code,
7094                    rti.location_id,
7095                    rti.num_of_containers,
7096                    rti.packing_slip,
7097                    rti.processing_request_id,
7098                    rti.processing_status_code,
7099                    rti.receipt_source_code,
7100                    rti.shipment_header_id,
7101                    x_receipt_num,
7102                    rti.shipment_num,
7103                    rti.shipped_date,
7104                    rti.tax_amount,
7105                    rti.tax_name,
7106                    rti.to_organization_code,
7107                    rti.to_organization_id,
7108                    rti.org_id,
7109                    rti.operating_unit,
7110                    'NEW',
7111                    'Y',
7112                    rti.ussgl_transaction_code,
7113                    rti.validation_flag,
7114                    rti.vendor_id,
7115                    rti.vendor_name,
7116                    rti.vendor_num,
7117                    rti.vendor_site_code,
7118                    rti.vendor_site_id,
7119                    rti.waybill_airbill_num
7120                   );
7121    EXCEPTION
7122       WHEN OTHERS THEN
7123          NULL;
7124    END create_rhi_from_rti;
7125 
7126    /*Bug: 4735484
7127 	Defaulting the use_mtl_lot and use_mtl_serial column using
7128 	lot control code and serial control code of the item in the
7129 	given inventory org.
7130    */
7131    PROCEDURE default_lot_serial_control(
7132       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
7133    )IS
7134    BEGIN
7135    /*
7136     NOTE: For one time item the item_id would be null and hence there is
7137     no need to populate the lot and serial control code. This case is
7138     taken care by the help of follwoing if condition.
7139    */
7140    IF (rti.item_id IS NOT NULL) THEN
7141            asn_debug.put_line ('Defaulting use_mtl_lot and use_mtl_serial');
7142            SELECT   lot_control_code,
7143                     serial_number_control_code
7144             INTO   rti.use_mtl_lot,
7145                    rti.use_mtl_serial
7146             FROM   mtl_system_items
7147             WHERE  mtl_system_items.inventory_item_id = rti.item_id
7148             AND    mtl_system_items.organization_id = rti.to_organization_id;
7149    END IF;
7150    EXCEPTION
7151    WHEN OTHERS THEN
7152       asn_debug.put_line ('Unable to default use_mtl_lot and use_mtl_serial');
7153       NULL;
7154    END default_lot_serial_control;
7155 
7156    PROCEDURE default_header(
7157       rhi IN OUT NOCOPY rcv_headers_interface%ROWTYPE
7158    ) IS
7159    BEGIN
7160       g_curr_table                := 'RCV_HEADERS_INTERFACE';
7161       g_curr_group_id             := rhi.GROUP_ID;
7162       g_curr_header_id            := rhi.header_interface_id;
7163       g_curr_transaction_id       := rhi.header_interface_id;
7164       rhi.processing_status_code  := 'PENDING';
7165       rhi.validation_flag         := 'Y';
7166       default_rhi_from_code(rhi);
7167       default_rhi_from_rsh(rhi);
7168       check_rhi_consistency(rhi);
7169 
7170       IF (rhi.transaction_type IS NULL) THEN
7171          rhi.transaction_type  := 'NEW';
7172       END IF;
7173 
7174       IF (rhi.expected_receipt_date IS NULL) THEN
7175          rhi.expected_receipt_date  := SYSDATE;
7176       END IF;
7177    EXCEPTION
7178       WHEN rcv_table_functions.e_fatal_error THEN
7179          rcv_error_pkg.log_interface_error(g_curr_table,
7180                                            rcv_table_functions.g_error_column,
7181                                            g_curr_group_id,
7182                                            g_curr_header_id,
7183                                            g_curr_transaction_id
7184                                           );
7185       WHEN rcv_error_pkg.e_fatal_error THEN
7186          RAISE rcv_error_pkg.e_fatal_error;
7187       WHEN OTHERS THEN
7188          rcv_error_pkg.set_sql_error_message('default_header', '000');
7189          rcv_error_pkg.log_interface_error('INTERFACE_TRANSACTION_ID');
7190    END default_header;
7191 
7192    PROCEDURE default_transaction(
7193       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
7194    ) IS
7195       x_dummy_mkr          BOOLEAN;
7196       x_temp_subinv        rcv_transactions_interface.subinventory%TYPE;
7197       x_temp_primary_uom   rcv_transactions_interface.primary_unit_of_measure%TYPE;
7198       x_subinv_starts_null BOOLEAN;
7199    BEGIN
7200       elapsed_time('BEGIN default_transaction');
7201       asn_debug.put_line('rti.interface_transaction_id = ' || rti.interface_transaction_id);
7202       g_curr_table                 := 'RCV_HEADERS_INTERFACE';
7203       g_curr_group_id              := rti.GROUP_ID;
7204       g_curr_header_id             := rti.header_interface_id;
7205       g_curr_transaction_id        := rti.interface_transaction_id;
7206       g_subtract_pll_qty_rcv       := FALSE;
7207       x_subinv_starts_null         := FALSE;
7208 	/* Bug 5584736.
7209 	 * We have a detailed defaulting routine for defaulting
7210 	 * subinventory and locator later. Commenting out this code
7211 	 * here since this is creating problems later.
7212 
7213       IF (    rti.subinventory IS NULL
7214           AND rti.LOCATOR IS NULL
7215           AND rti.locator_id IS NULL) THEN
7216          x_subinv_starts_null  := TRUE;
7217       END IF;
7218 
7219       IF (SUBSTR(rti.transaction_type,
7220                  1,
7221                  6
7222                 ) = 'RETURN') THEN
7223          --The following code reverses the roles of the subinventories for
7224          --RETURNs because it was easier to keep a consistent model this way
7225          --The matching reversal is found at the end and in the error section
7226          x_temp_subinv          := rti.subinventory;
7227          rti.subinventory       := rti.from_subinventory;
7228          rti.from_subinventory  := x_temp_subinv;
7229       END IF;
7230 	*/
7231 
7232       default_rti_from_code(rti);
7233       elapsed_time('default_rti_from_code');
7234       default_rti_from_rhi(rti);
7235       elapsed_time('default_rti_from_rhi');
7236 
7237       IF (    rti.parent_interface_txn_id IS NOT NULL
7238           AND rti.parent_transaction_id IS NOT NULL) THEN
7239          rcv_error_pkg.set_error_message('RCV_CANNOT_HAVE_2_PARENT');
7240          rcv_error_pkg.log_interface_error('PARENT_TRANSACTION_ID');
7241       END IF;
7242 
7243       default_rti_from_rti(rti);
7244       elapsed_time('default_rti_from_rti');
7245       default_rti_from_rt(rti);
7246       elapsed_time('default_rti_from_rt');
7247       rti.processing_status_code   := 'PENDING';
7248       rti.transaction_status_code  := 'PENDING';
7249       rti.validation_flag          := 'Y';
7250       rti.order_transaction_id     := rti.interface_transaction_id;
7251 
7252       IF (rti.transaction_type IS NULL) THEN
7253          rti.transaction_type  := 'RECEIVE';
7254       END IF;
7255 
7256       IF (rti.transaction_date IS NULL) THEN
7257          rti.transaction_date  := SYSDATE;
7258       END IF;
7259 
7260       IF (rti.interface_source_code IS NULL) THEN
7261          rti.interface_source_code  := 'RCV';
7262       END IF;
7263 
7264       IF (    rti.receipt_source_code IS NULL
7265           AND rti.source_document_code IS NULL) THEN
7266          rti.receipt_source_code   := 'VENDOR';
7267          rti.source_document_code  := 'PO';
7268       END IF;
7269 
7270       IF (rti.receipt_source_code = 'VENDOR') THEN
7271          IF (rti.source_document_code IS NULL) THEN
7272             rti.source_document_code  := 'PO';
7273          ELSIF(rti.source_document_code <> 'PO') THEN
7274             invalid_match_value(rti.source_document_code,
7275                                 'PO',
7276                                 'SOURCE_DOCUMENT_CODE'
7277                                );
7278          END IF;
7279       ELSIF(rti.receipt_source_code = 'INVENTORY') THEN
7280          IF (rti.source_document_code IS NULL) THEN
7281             rti.source_document_code  := 'INVENTORY';
7282          ELSIF(rti.source_document_code <> 'INVENTORY') THEN
7283             invalid_match_value(rti.source_document_code,
7284                                 'INVENTORY',
7285                                 'SOURCE_DOCUMENT_CODE'
7286                                );
7287          END IF;
7288       ELSIF(rti.receipt_source_code = 'INTERNAL ORDER') THEN
7289          IF (rti.source_document_code IS NULL) THEN
7290             rti.source_document_code  := 'REQ';
7291          ELSIF(rti.source_document_code <> 'REQ') THEN
7292             invalid_match_value(rti.source_document_code,
7293                                 'REQ',
7294                                 'SOURCE_DOCUMENT_CODE'
7295                                );
7296          END IF;
7297       ELSIF(rti.receipt_source_code = 'CUSTOMER') THEN
7298          IF (rti.source_document_code IS NULL) THEN
7299             rti.source_document_code  := 'RMA';
7300          ELSIF(rti.source_document_code <> 'RMA') THEN
7301             invalid_match_value(rti.source_document_code,
7302                                 'RMA',
7303                                 'SOURCE_DOCUMENT_CODE'
7304                                );
7305          END IF;
7306       ELSIF(rti.receipt_source_code IS NOT NULL) THEN
7307          invalid_value(rti.receipt_source_code, 'RECEIPT_SOURCE_CODE');
7308       END IF;
7309 
7310       IF (rti.source_document_code = 'PO') THEN
7311          IF (rti.receipt_source_code IS NULL) THEN
7312             rti.receipt_source_code  := 'VENDOR';
7313          ELSIF(rti.receipt_source_code <> 'VENDOR') THEN
7314             invalid_match_value(rti.receipt_source_code,
7315                                 'VENDOR',
7316                                 'RECEIPT_SOURCE_CODE '
7317                                );
7318          END IF;
7319       ELSIF(rti.source_document_code = 'INVENTORY') THEN
7320          IF (rti.receipt_source_code IS NULL) THEN
7321             rti.receipt_source_code  := 'INVENTORY';
7322          ELSIF(rti.receipt_source_code <> 'INVENTORY') THEN
7323             invalid_match_value(rti.receipt_source_code,
7324                                 'INVENTORY',
7325                                 'RECEIPT_SOURCE_CODE '
7326                                );
7327          END IF;
7328       ELSIF(rti.source_document_code = 'REQ') THEN
7329          IF (rti.receipt_source_code IS NULL) THEN
7330             rti.receipt_source_code  := 'INTERNAL ORDER';
7331          ELSIF(rti.receipt_source_code <> 'INTERNAL ORDER') THEN
7332             invalid_match_value(rti.receipt_source_code,
7333                                 'INTERNAL ORDER',
7334                                 'RECEIPT_SOURCE_CODE '
7335                                );
7336          END IF;
7337       ELSIF(rti.source_document_code = 'RMA') THEN
7338          IF (rti.receipt_source_code IS NULL) THEN
7339             rti.receipt_source_code  := 'CUSTOMER';
7340          ELSIF(rti.receipt_source_code <> 'CUSTOMER') THEN
7341             invalid_match_value(rti.receipt_source_code,
7342                                 'CUSTOMER',
7343                                 'RECEIPT_SOURCE_CODE '
7344                                );
7345          END IF;
7346       ELSIF(rti.source_document_code IS NOT NULL) THEN
7347          invalid_value(rti.source_document_code, 'SOURCE_DOCUMENT_CODE');
7348       END IF;
7349 
7350       IF (rti.receipt_source_code IS NULL) THEN
7351          invalid_null_value('RECEIPT_SOURCE_CODE');
7352       END IF;
7353 
7354       IF (rti.source_document_code IS NULL) THEN
7355          invalid_null_value('SOURCE_DOCUMENT_CODE');
7356       END IF;
7357 
7358       IF (rti.source_document_code = 'INVENTORY') THEN
7359          IF (rti.document_num IS NULL) THEN
7360             rti.document_num  := rti.shipment_num;
7361          ELSIF(rti.document_num <> rti.shipment_num) THEN
7362             invalid_match_value(rti.document_num,
7363                                 rti.shipment_num,
7364                                 'DOCUMENT_NUM'
7365                                );
7366          END IF;
7367 
7368          IF (rti.shipment_num IS NULL) THEN
7369             rti.shipment_num  := rti.document_num;
7370          ELSIF(rti.shipment_num <> rti.document_num) THEN
7371             invalid_match_value(rti.shipment_num,
7372                                 rti.document_num,
7373                                 'SHIPMENT_NUM'
7374                                );
7375          END IF;
7376       END IF;
7377 
7378       elapsed_time('general defaulting');
7379 
7380       IF (    rti.shipment_header_id IS NULL
7381           AND rti.shipment_num IS NOT NULL) THEN
7382           --Bug 9005670 Added receipt_source_code in the below procedre call.
7383          rti.shipment_header_id  := rcv_table_functions.get_rsh_row_from_num(rti.shipment_num,
7384                                                                              rti.vendor_id,
7385                                                                              rti.vendor_site_id,
7386                                                                              rti.to_organization_id,
7387                                                                              rti.shipped_date,
7388                                                                              rti.receipt_source_code,
7389                                                                              no_data_found_is_error    => FALSE
7390                                                                             ).shipment_header_id;
7391          elapsed_time('get_rsh_row_from_num');
7392       END IF;
7393 
7394       IF (    rti.shipment_line_id IS NULL
7395           AND rti.shipment_header_id IS NOT NULL
7396           AND rti.document_shipment_line_num IS NOT NULL) THEN
7397          rti.shipment_line_id  := rcv_table_functions.get_rsl_row_from_num(rti.document_shipment_line_num, rti.shipment_header_id).shipment_line_id; --Bug 8514736
7398          elapsed_time('get_rsl_row_from_num');
7399       END IF;
7400 
7401       IF (    rti.shipment_header_id IS NULL
7402           AND rti.shipment_line_id IS NOT NULL) THEN
7403          rti.shipment_header_id  := rcv_table_functions.get_rsl_row_from_id(rti.shipment_line_id).shipment_header_id;
7404       END IF;
7405 
7406       IF (rti.source_document_code in ('INVENTORY','REQ')) THEN -- BUG 8514736 add 'REQ'(Interal Order) to verify
7407          IF (rti.shipment_header_id IS NULL) THEN
7408             invalid_null_value('SHIPMENT_HEADER_ID');
7409          END IF;
7410 
7411          IF (rti.shipment_line_id IS NULL) THEN
7412             invalid_null_value('SHIPMENT_LINE_ID');
7413          END IF;
7414       END IF;
7415 
7416       default_rti_from_rsl(rti);
7417       elapsed_time('default_rti_from_rsl');
7418       default_rti_from_rsh(rti);
7419       elapsed_time('default_rti_from_rsh');
7420 
7421       --The following defaults up the chain if a lower level id is provided
7422       IF (    rti.po_line_location_id IS NULL
7423           AND rti.po_distribution_id IS NOT NULL) THEN
7424          rti.po_line_location_id  := rcv_table_functions.get_pod_row_from_id(rti.po_distribution_id).line_location_id;
7425       END IF;
7426 
7427       IF (    rti.po_line_id IS NULL
7428           AND rti.po_line_location_id IS NOT NULL) THEN
7429          rti.po_line_id  := rcv_table_functions.get_pll_row_from_id(rti.po_line_location_id).po_line_id;
7430       END IF;
7431 
7432 	/* Bug 5299177
7433 	 * We were populating the value of po_header_id to rti.po_line_location_id instead
7434 	 * of rti.po_header_id. Changed it.
7435 	*/
7436       IF (    rti.po_header_id IS NULL
7437           AND rti.po_line_id IS NOT NULL) THEN
7438          rti.po_header_id  := rcv_table_functions.get_pol_row_from_id(rti.po_line_id).po_header_id;
7439       END IF;
7440 
7441       IF (    rti.oe_order_header_id IS NULL
7442           AND rti.oe_order_line_id IS NOT NULL) THEN
7443          rti.oe_order_header_id  := rcv_table_functions.get_oel_row_from_id(rti.oe_order_line_id).header_id;
7444       END IF;
7445 
7446       IF (rti.transaction_type IN('UNORDERED', 'MATCH')) THEN
7447          rti.validation_flag  := 'N';
7448          RETURN; --End of the line. No backing docs to worry about
7449       END IF;
7450 
7451       IF (rti.source_document_code = 'PO') THEN
7452          IF (    rti.po_header_id IS NULL
7453              AND rti.document_num IS NOT NULL) THEN
7454             rti.po_header_id  := rcv_table_functions.get_poh_row_from_num(rti.document_num, rti.org_id).po_header_id;
7455          END IF;
7456 
7457          IF (rti.po_header_id IS NULL) THEN
7458             invalid_null_value('PO_HEADER_ID');
7459          END IF;
7460 
7461          IF (rti.po_line_id IS NULL) THEN
7462             rti.po_line_id  := rcv_table_functions.get_pol_row_from_num(rti.document_line_num,
7463                                                                         rti.po_header_id,
7464                                                                         rti.item_description,
7465                                                                         rti.vendor_item_num,
7466                                                                         rti.item_id
7467                                                                        ).po_line_id;
7468         --Bug 7591174 Added item_id in the above call to get the po line num.
7469          END IF;
7470 
7471          IF (rti.po_line_id IS NULL) THEN
7472             invalid_null_value('PO_LINE_ID');
7473          END IF;
7474 
7475         /*Bug 12618848 Do not error out the RTI if it fetches more than one PO line.
7476           In preprocessor, it will be decided*/
7477          IF rti.po_line_id = -99 THEN
7478             rti.po_line_id := NULL;
7479          END IF;
7480         /*End of Bug 12618848 */
7481 
7482          IF (rti.po_line_location_id IS NULL) THEN
7483             rti.po_line_location_id  := rcv_table_functions.get_pll_row_from_num(rti.document_shipment_line_num, rti.po_line_id).line_location_id;
7484          END IF;
7485 
7486          /* It is OK not to have a shipment yet, this will get decided in the preprocessor
7487          IF (rti.po_line_location_id IS NULL) THEN
7488             invalid_null_value('PO_LINE_LOCATION_ID');
7489          END IF;
7490          */
7491 
7492          IF (rti.po_distribution_id IS NULL) THEN
7493             rti.po_distribution_id  := rcv_table_functions.get_pod_row_from_num(rti.document_distribution_num, rti.po_line_location_id).po_distribution_id;
7494          END IF;
7495 
7496          /* It is OK not to have a distribution yet, this will get decided in the preprocessor
7497          IF (rti.po_distribution_id IS NULL) THEN
7498             invalid_null_value('PO_DISTRIBUTION_ID');
7499          END IF;
7500          */
7501 
7502          elapsed_time('po source doc defaulting');
7503 /** Bug:5502427
7504   * For Internal Order case, Sales Order contains the information pertaining
7505   * to the Source organisation. Receiving is done in the destination org.
7506   * So, we shouldn't default based on SO for the Internal Orders.
7507   * For Iternal Orders defaulting is handled in default_rti_from_rsh() and
7508   * default_rti_from_rsl() procedures.
7509   */
7510       ELSIF(rti.source_document_code = 'RMA') THEN
7511          IF (rti.document_num IS NULL) THEN
7512             rti.document_num  := rti.oe_order_num;
7513          ELSIF(rti.document_num <> rti.oe_order_num) THEN
7514             invalid_match_value(rti.document_num,
7515                                 rti.oe_order_num,
7516                                 'DOCUMENT_NUM'
7517                                );
7518          END IF;
7519 
7520          IF (rti.document_line_num IS NULL) THEN
7521             rti.document_line_num  := rti.oe_order_line_num;
7522          ELSIF(rti.document_line_num <> rti.oe_order_line_num) THEN
7523             invalid_match_value(rti.document_line_num,
7524                                 rti.oe_order_line_num,
7525                                 'DOCUMENT_LINE_NUM'
7526                                );
7527          END IF;
7528 
7529          IF (    rti.oe_order_header_id IS NULL
7530              AND rti.document_num IS NOT NULL) THEN
7531             /* WDK: NOTICE THE REVISION HACK FOR OE IS OVERLOADING PO_REVISION_NUM COLUMN */
7532             rti.oe_order_header_id  := rcv_table_functions.get_oeh_row_from_num(rti.document_num,
7533                                                                                 NULL, --WDK, not sure what should be here
7534                                                                                 rti.po_revision_num,
7535                                                                                 rti.org_id
7536                                                                                ).header_id;
7537          END IF;
7538 
7539          IF (rti.oe_order_header_id IS NULL) THEN
7540             invalid_null_value('OE_ORDER_HEADER_ID');
7541          END IF;
7542 
7543          IF (rti.oe_order_line_id IS NULL) THEN
7544             rti.oe_order_line_id  := rcv_table_functions.get_oel_row_from_num(rti.document_line_num, rti.oe_order_header_id).line_id;
7545          END IF;
7546 
7547 	/* Bug 5158457. It is ok not to have line number. It will be
7548          * decided in the preprocessor code.
7549          IF (rti.oe_order_line_id IS NULL) THEN
7550             invalid_null_value('OE_ORDER_LINE_ID');
7551          END IF;
7552 	*/
7553 
7554          elapsed_time('rma/req source doc defaulting');
7555       END IF;
7556 
7557       g_asn_type := nvl(rcv_table_functions.get_rsh_row_from_id(rti.shipment_header_id).asn_type,'@@@'); --Bug: 5598511
7558 
7559       default_rti_from_pod(rti);
7560       elapsed_time('default_rti_from_pod');
7561       default_rti_from_pll(rti);
7562       elapsed_time('default_rti_from_pll');
7563       default_rti_from_pol(rti);
7564       elapsed_time('default_rti_from_pol');
7565       default_rti_from_poh(rti);
7566       elapsed_time('default_rti_from_poh');
7567 
7568       IF (rti.uom_code IS NULL) THEN
7569          rti.uom_code  := get_uom_code_from_measure(rti.unit_of_measure,
7570                                                     'UNIT_OF_MEASURE',
7571                                                     x_dummy_mkr
7572                                                    );
7573       ELSIF(rti.uom_code <> get_uom_code_from_measure(rti.unit_of_measure,
7574                                                       'UNIT_OF_MEASURE',
7575                                                       x_dummy_mkr
7576                                                      )) THEN
7577          invalid_match_value(rti.uom_code,
7578                              get_uom_code_from_measure(rti.unit_of_measure,
7579                                                        'UNIT_OF_MEASURE',
7580                                                        x_dummy_mkr
7581                                                       ),
7582                              'UOM_CODE'
7583                             );
7584       END IF;
7585 
7586       IF (rti.secondary_uom_code IS NULL) THEN
7587          rti.secondary_uom_code  := get_uom_code_from_measure(rti.secondary_unit_of_measure,
7588                                                               'SECONDARY_UNIT_OF_MEASURE',
7589                                                               x_dummy_mkr
7590                                                              );
7591       ELSIF(rti.secondary_uom_code <> get_uom_code_from_measure(rti.secondary_unit_of_measure,
7592                                                                 'SECONDARY_UNIT_OF_MEASURE',
7593                                                                 x_dummy_mkr
7594                                                                )) THEN
7595          invalid_match_value(rti.secondary_uom_code,
7596                              get_uom_code_from_measure(rti.secondary_unit_of_measure,
7597                                                        'SECONDARY_UNIT_OF_MEASURE',
7598                                                        x_dummy_mkr
7599                                                       ),
7600                              'SECONDARY_UOM_CODE'
7601                             );
7602       END IF;
7603       /*Bug 5592084: Incase the PRIMARY_UNIT_OF_MEASURE has invalid value
7604       we error out the record.
7605       */
7606       x_temp_primary_uom := get_uom_code_from_measure(rti.primary_unit_of_measure,
7607                                                      'PRIMARY_UNIT_OF_MEASURE',
7608                                                       x_dummy_mkr
7609                                                      );
7610       default_rti_from_oel(rti);
7611       elapsed_time('default_rti_from_oel');
7612       default_rti_from_oeh(rti);
7613       elapsed_time('default_rti_from_oeh');
7614 
7615       IF (rti.unit_of_measure IS NULL) THEN
7616          rti.unit_of_measure  := get_uom_measure_from_code(rti.uom_code,
7617                                                            'UOM_CODE',
7618                                                            x_dummy_mkr
7619                                                           );
7620       ELSIF(rti.unit_of_measure <> get_uom_measure_from_code(rti.uom_code,
7621                                                              'UOM_CODE',
7622                                                              x_dummy_mkr
7623                                                             )) THEN
7624          invalid_match_value(rti.unit_of_measure,
7625                              get_uom_measure_from_code(rti.uom_code,
7626                                                        'UOM_CODE',
7627                                                        x_dummy_mkr
7628                                                       ),
7629                              'UNIT_OF_MEASURE'
7630                             );
7631       END IF;
7632 
7633       IF (rti.secondary_unit_of_measure IS NULL) THEN
7634          rti.secondary_unit_of_measure  := get_uom_measure_from_code(rti.secondary_uom_code,
7635                                                                      'SECONDARY_UOM_CODE',
7636                                                                      x_dummy_mkr
7637                                                                     );
7638       ELSIF(rti.secondary_unit_of_measure <> get_uom_measure_from_code(rti.secondary_uom_code,
7639                                                                        'SECONDARY_UOM_CODE',
7640                                                                        x_dummy_mkr
7641                                                                       )) THEN
7642          invalid_match_value(rti.secondary_unit_of_measure,
7643                              get_uom_measure_from_code(rti.secondary_uom_code,
7644                                                        'SECONDARY_UOM_CODE',
7645                                                        x_dummy_mkr
7646                                                       ),
7647                              'SECONDARY_UNIT_OF_MEASURE'
7648                             );
7649       END IF;
7650 
7651       check_rti_consistency(rti);
7652       elapsed_time('check_rti_consistency');
7653 
7654       IF (rti.destination_type_code IS NULL) THEN
7655          IF (rti.transaction_type = 'DELIVER') THEN
7656             rti.destination_type_code  := 'INVENTORY';
7657          ELSE
7658             rti.destination_type_code  := 'RECEIVING';
7659          END IF;
7660       END IF;
7661 
7662       IF (rti.auto_transact_code IS NULL) THEN
7663          IF (rti.routing_header_id = 3) THEN
7664             rti.auto_transact_code  := 'DELIVER';
7665          ELSE
7666             rti.auto_transact_code  := 'RECEIVE';
7667          END IF;
7668       END IF;
7669 
7670       IF (rti.transaction_type IN('RECEIVE', 'SHIP')) THEN
7671          create_rhi_from_rti(rti);
7672          elapsed_time('create_rhi_from_rti');
7673       END IF;
7674 
7675 	/* Bug 5584736.
7676 	 * We have a detailed defaulting routine for defaulting
7677 	 * subinventory and locator later. Commenting out this code
7678 	 * here since this is creating problems later.
7679       IF (SUBSTR(rti.transaction_type,
7680                  1,
7681                  6
7682                 ) = 'RETURN') THEN
7683          x_temp_subinv          := rti.subinventory;
7684          rti.subinventory       := rti.from_subinventory;
7685          rti.from_subinventory  := x_temp_subinv;
7686       END IF;
7687 
7688       IF (    rti.transaction_type = 'RECEIVE'
7689           AND rti.auto_transact_code <> 'DELIVER'
7690           AND x_subinv_starts_null = TRUE) THEN
7691          rti.subinventory  := NULL;
7692          rti.LOCATOR       := NULL;
7693          rti.locator_id    := NULL;
7694       END IF;
7695 	*/
7696 
7697       /*Bug: 4735484
7698 	Defaulting the use_mtl_lot and use_mtl_serial column using
7699 	lot control code and serial control code of the item in the
7700 	given inventory org.
7701       */
7702       default_lot_serial_control(rti);
7703 
7704       asn_debug.put_line('org_id = ' || rti.org_id);
7705       elapsed_time('END default_transaction');
7706    EXCEPTION
7707       WHEN rcv_table_functions.e_fatal_error THEN
7708 	/* Bug 5584736.
7709 	 * We have a detailed defaulting routine for defaulting
7710 	 * subinventory and locator later. Commenting out this code
7711 	 * here since this is creating problems later.
7712          IF (SUBSTR(rti.transaction_type,
7713                     1,
7714                     6
7715                    ) = 'RETURN') THEN
7716             x_temp_subinv          := rti.subinventory;
7717             rti.subinventory       := rti.from_subinventory;
7718             rti.from_subinventory  := x_temp_subinv;
7719          END IF;
7720 	*/
7721 
7722          rcv_error_pkg.log_interface_error(g_curr_table,
7723                                            rcv_table_functions.g_error_column,
7724                                            g_curr_group_id,
7725                                            g_curr_header_id,
7726                                            g_curr_transaction_id
7727                                           );
7728       WHEN rcv_error_pkg.e_fatal_error THEN
7729 	/* Bug 5584736.
7730 	 * We have a detailed defaulting routine for defaulting
7731 	 * subinventory and locator later. Commenting out this code
7732 	 * here since this is creating problems later.
7733          IF (SUBSTR(rti.transaction_type,
7734                     1,
7735                     6
7736                    ) = 'RETURN') THEN
7737             x_temp_subinv          := rti.subinventory;
7738             rti.subinventory       := rti.from_subinventory;
7739             rti.from_subinventory  := x_temp_subinv;
7740          END IF;
7741 	*/
7742 
7743          RAISE rcv_error_pkg.e_fatal_error;
7744       WHEN OTHERS THEN
7745 	/* Bug 5584736.
7746 	 * We have a detailed defaulting routine for defaulting
7747 	 * subinventory and locator later. Commenting out this code
7748 	 * here since this is creating problems later.
7749          IF (SUBSTR(rti.transaction_type,
7750                     1,
7751                     6
7752                    ) = 'RETURN') THEN
7753             x_temp_subinv          := rti.subinventory;
7754             rti.subinventory       := rti.from_subinventory;
7755             rti.from_subinventory  := x_temp_subinv;
7756          END IF;
7757 	*/
7758 
7759          rcv_error_pkg.set_sql_error_message('deafault_transaction', '000');
7760          rcv_error_pkg.log_interface_error('INTERFACE_TRANSACTION_ID');
7761    END default_transaction;
7762 
7763    PROCEDURE default_from_parent(
7764       rti IN OUT NOCOPY rcv_transactions_interface%ROWTYPE
7765    ) IS
7766    BEGIN
7767       default_rti_from_rti(rti);
7768    END default_from_parent;
7769 END rcv_default_pkg;