36: , task_id PO_DISTRIBUTIONS_ALL.task_id%TYPE
37: , po_price_type PO_TEMP_LABOR_RATES_V.asg_rate_type%TYPE
38: , po_price_type_display PO_TEMP_LABOR_RATES_V.price_type_dsp%TYPE
39: , po_billable_amount PO_LINES_ALL.amount%TYPE
40: , po_receipt_date RCV_TRANSACTIONS.transaction_date%TYPE
41: , lpn_group_id RCV_TRANSACTIONS.lpn_group_id%TYPE
42:
43: -- save the transaction type so we know how to check for success
44: , transaction_type VARCHAR2(240)
37: , po_price_type PO_TEMP_LABOR_RATES_V.asg_rate_type%TYPE
38: , po_price_type_display PO_TEMP_LABOR_RATES_V.price_type_dsp%TYPE
39: , po_billable_amount PO_LINES_ALL.amount%TYPE
40: , po_receipt_date RCV_TRANSACTIONS.transaction_date%TYPE
41: , lpn_group_id RCV_TRANSACTIONS.lpn_group_id%TYPE
42:
43: -- save the transaction type so we know how to check for success
44: , transaction_type VARCHAR2(240)
45:
43: -- save the transaction type so we know how to check for success
44: , transaction_type VARCHAR2(240)
45:
46: -- we need to reference two rti rows for corrections
47: , receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
48: , deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
49:
50: -- we need to reference four rti rows for delete+insert
51: , delete_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
44: , transaction_type VARCHAR2(240)
45:
46: -- we need to reference two rti rows for corrections
47: , receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
48: , deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
49:
50: -- we need to reference four rti rows for delete+insert
51: , delete_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
52: , delete_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
47: , receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
48: , deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
49:
50: -- we need to reference four rti rows for delete+insert
51: , delete_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
52: , delete_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
53:
54: -- parent txns exist when we have received against this po line before
55: , parent_receive_txn_id RCV_TRANSACTIONS.transaction_id%TYPE
48: , deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
49:
50: -- we need to reference four rti rows for delete+insert
51: , delete_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
52: , delete_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
53:
54: -- parent txns exist when we have received against this po line before
55: , parent_receive_txn_id RCV_TRANSACTIONS.transaction_id%TYPE
56: , parent_deliver_txn_id RCV_TRANSACTIONS.transaction_id%TYPE
51: , delete_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
52: , delete_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
53:
54: -- parent txns exist when we have received against this po line before
55: , parent_receive_txn_id RCV_TRANSACTIONS.transaction_id%TYPE
56: , parent_deliver_txn_id RCV_TRANSACTIONS.transaction_id%TYPE
57:
58: -- org_id of the PO/CWK
59: , org_id PO_HEADERS_ALL.org_id%TYPE
52: , delete_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE
53:
54: -- parent txns exist when we have received against this po line before
55: , parent_receive_txn_id RCV_TRANSACTIONS.transaction_id%TYPE
56: , parent_deliver_txn_id RCV_TRANSACTIONS.transaction_id%TYPE
57:
58: -- org_id of the PO/CWK
59: , org_id PO_HEADERS_ALL.org_id%TYPE
60:
74: -- temp tables for ROI data
75: -- We will create one rhi row per PO per timecard
76: -- and one rti row per PO line per timecard
77: TYPE rhi_table IS TABLE OF RCV_HEADERS_INTERFACE%ROWTYPE INDEX BY BINARY_INTEGER;
78: TYPE rti_table IS TABLE OF RCV_TRANSACTIONS_INTERFACE%ROWTYPE INDEX BY BINARY_INTEGER;
79:
80: -- store results of the above in a hash for quick lookup
81: TYPE rti_status_table IS TABLE OF BINARY_INTEGER INDEX BY BINARY_INTEGER;
82:
144: , effective_start_date PER_ALL_ASSIGNMENTS_F.effective_start_date%TYPE
145: , effective_end_date PER_ALL_ASSIGNMENTS_F.effective_end_date%TYPE
146: );
147:
148: TYPE rcv_transactions_cr IS RECORD
149: ( receive_transaction_id RCV_TRANSACTIONS.transaction_id%TYPE
150: , deliver_transaction_id RCV_TRANSACTIONS.transaction_id%TYPE
151: , po_line_id RCV_TRANSACTIONS.po_line_id%TYPE
152: , po_distribution_id PO_DISTRIBUTIONS_ALL.po_distribution_id%TYPE
145: , effective_end_date PER_ALL_ASSIGNMENTS_F.effective_end_date%TYPE
146: );
147:
148: TYPE rcv_transactions_cr IS RECORD
149: ( receive_transaction_id RCV_TRANSACTIONS.transaction_id%TYPE
150: , deliver_transaction_id RCV_TRANSACTIONS.transaction_id%TYPE
151: , po_line_id RCV_TRANSACTIONS.po_line_id%TYPE
152: , po_distribution_id PO_DISTRIBUTIONS_ALL.po_distribution_id%TYPE
153: , timecard_id RCV_TRANSACTIONS.timecard_id%TYPE
146: );
147:
148: TYPE rcv_transactions_cr IS RECORD
149: ( receive_transaction_id RCV_TRANSACTIONS.transaction_id%TYPE
150: , deliver_transaction_id RCV_TRANSACTIONS.transaction_id%TYPE
151: , po_line_id RCV_TRANSACTIONS.po_line_id%TYPE
152: , po_distribution_id PO_DISTRIBUTIONS_ALL.po_distribution_id%TYPE
153: , timecard_id RCV_TRANSACTIONS.timecard_id%TYPE
154: , timecard_ovn RCV_TRANSACTIONS.timecard_ovn%TYPE
147:
148: TYPE rcv_transactions_cr IS RECORD
149: ( receive_transaction_id RCV_TRANSACTIONS.transaction_id%TYPE
150: , deliver_transaction_id RCV_TRANSACTIONS.transaction_id%TYPE
151: , po_line_id RCV_TRANSACTIONS.po_line_id%TYPE
152: , po_distribution_id PO_DISTRIBUTIONS_ALL.po_distribution_id%TYPE
153: , timecard_id RCV_TRANSACTIONS.timecard_id%TYPE
154: , timecard_ovn RCV_TRANSACTIONS.timecard_ovn%TYPE
155: );
149: ( receive_transaction_id RCV_TRANSACTIONS.transaction_id%TYPE
150: , deliver_transaction_id RCV_TRANSACTIONS.transaction_id%TYPE
151: , po_line_id RCV_TRANSACTIONS.po_line_id%TYPE
152: , po_distribution_id PO_DISTRIBUTIONS_ALL.po_distribution_id%TYPE
153: , timecard_id RCV_TRANSACTIONS.timecard_id%TYPE
154: , timecard_ovn RCV_TRANSACTIONS.timecard_ovn%TYPE
155: );
156:
157: -- cache results of expensive OTL APIs and SQLs
150: , deliver_transaction_id RCV_TRANSACTIONS.transaction_id%TYPE
151: , po_line_id RCV_TRANSACTIONS.po_line_id%TYPE
152: , po_distribution_id PO_DISTRIBUTIONS_ALL.po_distribution_id%TYPE
153: , timecard_id RCV_TRANSACTIONS.timecard_id%TYPE
154: , timecard_ovn RCV_TRANSACTIONS.timecard_ovn%TYPE
155: );
156:
157: -- cache results of expensive OTL APIs and SQLs
158: TYPE build_block_cache IS TABLE OF HXC_USER_TYPE_DEFINITION_GRP.building_block_info INDEX BY BINARY_INTEGER;
162: TYPE po_distribution_cache IS TABLE OF po_distribution_cr INDEX BY BINARY_INTEGER;
163: TYPE price_type_lookup_cache IS TABLE OF fnd_lookups_cr INDEX BY BINARY_INTEGER;
164: TYPE price_differentials_cache IS TABLE OF price_differentials_cr INDEX BY BINARY_INTEGER;
165: TYPE assignments_cache IS TABLE OF per_all_assignments_cr INDEX BY BINARY_INTEGER;
166: TYPE rcv_transactions_cache IS TABLE OF rcv_transactions_cr INDEX BY BINARY_INTEGER;
167:
168: -- package globals
169: G_PKG_NAME CONSTANT VARCHAR2(30) := 'RCV_HXT_GRP';
170: G_LOG_MODULE CONSTANT VARCHAR2(40) := 'po.plsql.' || G_PKG_NAME;
191: g_po_distribution_cache po_distribution_cache;
192: g_price_type_lookup_cache price_type_lookup_cache;
193: g_price_differentials_cache price_differentials_cache;
194: g_assignments_cache assignments_cache;
195: g_rcv_transactions_cache rcv_transactions_cache;
196:
197: -- performance info
198: g_retrieval_start DATE;
199: g_retrieval_stop DATE;
216: g_po_distribution_calls NUMBER;
217: g_price_type_lookup_calls NUMBER;
218: g_price_differentials_calls NUMBER;
219: g_assignments_calls NUMBER;
220: g_rcv_transactions_calls NUMBER;
221:
222: g_build_block_misses NUMBER;
223: g_build_attribute_misses NUMBER;
224: g_po_header_misses NUMBER;
226: g_po_distribution_misses NUMBER;
227: g_price_type_lookup_misses NUMBER;
228: g_price_differentials_misses NUMBER;
229: g_assignments_misses NUMBER;
230: g_rcv_transactions_misses NUMBER;
231:
232: g_error_raised_flag NUMBER := 0;--Bug:5559915
233: /** Bug:5559915
234: * Above variable is introduced to prevent logging of same
241: CURSOR new_rt_rows( v_group_id VARCHAR2 ) IS
242: SELECT po_line_id
243: , timecard_id
244: , interface_transaction_id
245: FROM rcv_transactions
246: WHERE group_id = v_group_id;
247:
248: ISP_STORE_TIMECARD_FAILED EXCEPTION;
249: ISP_RECONCILE_ACTIONS_FAILED EXCEPTION;
475: g_po_distribution_calls := 0;
476: g_price_type_lookup_calls := 0;
477: g_price_differentials_calls := 0;
478: g_assignments_calls := 0;
479: g_rcv_transactions_calls := 0;
480:
481: g_build_block_misses := 0;
482: g_build_attribute_misses := 0;
483: g_po_header_misses := 0;
485: g_po_distribution_misses := 0;
486: g_price_type_lookup_misses := 0;
487: g_price_differentials_misses := 0;
488: g_assignments_misses := 0;
489: g_rcv_transactions_misses := 0;
490: END IF;
491: END initialize_cache_statistics;
492:
493: PROCEDURE initialize_timing_statistics IS
547:
548: FUNCTION get_rti_idx
549: ( p_attributes IN TimecardAttributesRec
550: , p_rti_rows IN rti_table
551: ) RETURN RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE IS
552: BEGIN
553: -- projects case placed in separate loop so we only test once
554: IF p_attributes.project_id IS NOT NULL AND
555: p_attributes.task_id IS NOT NULL THEN
575: END get_rti_idx;
576:
577: FUNCTION get_group_id
578: ( p_rti_rows IN rti_table
579: ) RETURN RCV_TRANSACTIONS_INTERFACE.group_id%TYPE IS
580: BEGIN
581: IF g_group_id = 0 THEN
582: SELECT RCV_INTERFACE_GROUPS_S.NEXTVAL
583: INTO g_group_id
923:
924: FUNCTION get_rcv_transaction
925: ( p_timecard_bb_id IN HXC_TIME_BUILDING_BLOCKS.time_building_block_id%TYPE
926: , p_po_line_id IN PO_LINES_ALL.po_line_id%TYPE
927: ) RETURN rcv_transactions_cr IS
928: l_api_name CONSTANT varchar2(30) := 'get_rcv_transaction';
929: l_log_head CONSTANT VARCHAR2(100) := G_LOG_MODULE || '.'||l_api_name;
930: BEGIN
931: RCV_HXT_GRP.string( log_level => FND_LOG.LEVEL_STATEMENT
931: RCV_HXT_GRP.string( log_level => FND_LOG.LEVEL_STATEMENT
932: , module => l_log_head
933: , message => 'Finding Parent Transcations , TimeCard ID: ' || p_timecard_bb_id || ' Po line Id: ' || p_po_line_id
934: );
935: g_rcv_transactions_calls := g_rcv_transactions_calls + 1;
936:
937: IF NOT g_rcv_transactions_cache.EXISTS(p_timecard_bb_id) OR
938: g_rcv_transactions_cache(p_timecard_bb_id).po_line_id <> p_po_line_id THEN
939: g_rcv_transactions_misses := g_rcv_transactions_misses + 1;
933: , message => 'Finding Parent Transcations , TimeCard ID: ' || p_timecard_bb_id || ' Po line Id: ' || p_po_line_id
934: );
935: g_rcv_transactions_calls := g_rcv_transactions_calls + 1;
936:
937: IF NOT g_rcv_transactions_cache.EXISTS(p_timecard_bb_id) OR
938: g_rcv_transactions_cache(p_timecard_bb_id).po_line_id <> p_po_line_id THEN
939: g_rcv_transactions_misses := g_rcv_transactions_misses + 1;
940:
941: g_rcv_transactions_cache(p_timecard_bb_id).po_line_id := p_po_line_id;
934: );
935: g_rcv_transactions_calls := g_rcv_transactions_calls + 1;
936:
937: IF NOT g_rcv_transactions_cache.EXISTS(p_timecard_bb_id) OR
938: g_rcv_transactions_cache(p_timecard_bb_id).po_line_id <> p_po_line_id THEN
939: g_rcv_transactions_misses := g_rcv_transactions_misses + 1;
940:
941: g_rcv_transactions_cache(p_timecard_bb_id).po_line_id := p_po_line_id;
942: --Bug 5217532 START
935: g_rcv_transactions_calls := g_rcv_transactions_calls + 1;
936:
937: IF NOT g_rcv_transactions_cache.EXISTS(p_timecard_bb_id) OR
938: g_rcv_transactions_cache(p_timecard_bb_id).po_line_id <> p_po_line_id THEN
939: g_rcv_transactions_misses := g_rcv_transactions_misses + 1;
940:
941: g_rcv_transactions_cache(p_timecard_bb_id).po_line_id := p_po_line_id;
942: --Bug 5217532 START
943: --Break the old SQL into 2 different SQL to avoid Merge Join Catesian
937: IF NOT g_rcv_transactions_cache.EXISTS(p_timecard_bb_id) OR
938: g_rcv_transactions_cache(p_timecard_bb_id).po_line_id <> p_po_line_id THEN
939: g_rcv_transactions_misses := g_rcv_transactions_misses + 1;
940:
941: g_rcv_transactions_cache(p_timecard_bb_id).po_line_id := p_po_line_id;
942: --Bug 5217532 START
943: --Break the old SQL into 2 different SQL to avoid Merge Join Catesian
944: BEGIN
945: SELECT receive.transaction_id
942: --Bug 5217532 START
943: --Break the old SQL into 2 different SQL to avoid Merge Join Catesian
944: BEGIN
945: SELECT receive.transaction_id
946: INTO g_rcv_transactions_cache(p_timecard_bb_id).receive_transaction_id
947: FROM rcv_transactions receive
948: WHERE receive.timecard_id = p_timecard_bb_id
949: AND receive.po_line_id = p_po_line_id
950: AND receive.transaction_type = 'RECEIVE';
943: --Break the old SQL into 2 different SQL to avoid Merge Join Catesian
944: BEGIN
945: SELECT receive.transaction_id
946: INTO g_rcv_transactions_cache(p_timecard_bb_id).receive_transaction_id
947: FROM rcv_transactions receive
948: WHERE receive.timecard_id = p_timecard_bb_id
949: AND receive.po_line_id = p_po_line_id
950: AND receive.transaction_type = 'RECEIVE';
951: EXCEPTION
949: AND receive.po_line_id = p_po_line_id
950: AND receive.transaction_type = 'RECEIVE';
951: EXCEPTION
952: WHEN NO_DATA_FOUND THEN
953: g_rcv_transactions_cache(p_timecard_bb_id).receive_transaction_id := NULL;
954: RCV_HXT_GRP.string( log_level => FND_LOG.LEVEL_STATEMENT
955: , module => l_log_head
956: , message => 'Unable to find Parent Transcations ,TimeCard ID: ' || p_timecard_bb_id || ' po_line_id: ' || p_po_line_id
957: );
959: END;
960:
961: BEGIN
962: SELECT deliver.transaction_id
963: INTO g_rcv_transactions_cache(p_timecard_bb_id).deliver_transaction_id
964: FROM rcv_transactions deliver
965: WHERE deliver.timecard_id = p_timecard_bb_id
966: AND deliver.po_line_id = p_po_line_id
967: AND deliver.transaction_type = 'DELIVER';
960:
961: BEGIN
962: SELECT deliver.transaction_id
963: INTO g_rcv_transactions_cache(p_timecard_bb_id).deliver_transaction_id
964: FROM rcv_transactions deliver
965: WHERE deliver.timecard_id = p_timecard_bb_id
966: AND deliver.po_line_id = p_po_line_id
967: AND deliver.transaction_type = 'DELIVER';
968: EXCEPTION
966: AND deliver.po_line_id = p_po_line_id
967: AND deliver.transaction_type = 'DELIVER';
968: EXCEPTION
969: WHEN NO_DATA_FOUND THEN
970: g_rcv_transactions_cache(p_timecard_bb_id).deliver_transaction_id := NULL;
971: RCV_HXT_GRP.string( log_level => FND_LOG.LEVEL_STATEMENT
972: , module => l_log_head
973: , message => 'Unable to find Parent Transcations ,TimeCard ID: ' || p_timecard_bb_id || ' po_line_id: ' || p_po_line_id
974: );
976: END;
977: --Bug 5217532 END
978: END IF;
979:
980: RETURN g_rcv_transactions_cache(p_timecard_bb_id);
981: END get_rcv_transaction;
982:
983: FUNCTION get_rcv_transaction
984: ( p_timecard_bb_id IN HXC_TIME_BUILDING_BLOCKS.time_building_block_id%TYPE
983: FUNCTION get_rcv_transaction
984: ( p_timecard_bb_id IN HXC_TIME_BUILDING_BLOCKS.time_building_block_id%TYPE
985: , p_po_line_id IN PO_LINES_ALL.po_line_id%TYPE
986: , p_po_distribution_id IN PO_DISTRIBUTIONS_ALL.po_distribution_id%TYPE
987: ) RETURN rcv_transactions_cr IS
988: l_api_name CONSTANT varchar2(30) := 'get_rcv_transaction';
989: l_log_head CONSTANT VARCHAR2(100) := G_LOG_MODULE || '.'||l_api_name;
990: BEGIN
991: RCV_HXT_GRP.string( log_level => FND_LOG.LEVEL_STATEMENT
995: IF p_po_distribution_id IS NULL THEN
996: RETURN get_rcv_transaction( p_timecard_bb_id, p_po_line_id );
997: END IF;
998:
999: g_rcv_transactions_calls := g_rcv_transactions_calls + 1;
1000:
1001: IF NOT g_rcv_transactions_cache.EXISTS(p_timecard_bb_id) OR
1002: g_rcv_transactions_cache(p_timecard_bb_id).po_distribution_id <> p_po_distribution_id THEN
1003: g_rcv_transactions_misses := g_rcv_transactions_misses + 1;
997: END IF;
998:
999: g_rcv_transactions_calls := g_rcv_transactions_calls + 1;
1000:
1001: IF NOT g_rcv_transactions_cache.EXISTS(p_timecard_bb_id) OR
1002: g_rcv_transactions_cache(p_timecard_bb_id).po_distribution_id <> p_po_distribution_id THEN
1003: g_rcv_transactions_misses := g_rcv_transactions_misses + 1;
1004:
1005: g_rcv_transactions_cache(p_timecard_bb_id).po_distribution_id := p_po_distribution_id;
998:
999: g_rcv_transactions_calls := g_rcv_transactions_calls + 1;
1000:
1001: IF NOT g_rcv_transactions_cache.EXISTS(p_timecard_bb_id) OR
1002: g_rcv_transactions_cache(p_timecard_bb_id).po_distribution_id <> p_po_distribution_id THEN
1003: g_rcv_transactions_misses := g_rcv_transactions_misses + 1;
1004:
1005: g_rcv_transactions_cache(p_timecard_bb_id).po_distribution_id := p_po_distribution_id;
1006: --Bug 5217532 START
999: g_rcv_transactions_calls := g_rcv_transactions_calls + 1;
1000:
1001: IF NOT g_rcv_transactions_cache.EXISTS(p_timecard_bb_id) OR
1002: g_rcv_transactions_cache(p_timecard_bb_id).po_distribution_id <> p_po_distribution_id THEN
1003: g_rcv_transactions_misses := g_rcv_transactions_misses + 1;
1004:
1005: g_rcv_transactions_cache(p_timecard_bb_id).po_distribution_id := p_po_distribution_id;
1006: --Bug 5217532 START
1007: --Break the old SQL into 2 different SQL to avoid Merge Join Catesian
1001: IF NOT g_rcv_transactions_cache.EXISTS(p_timecard_bb_id) OR
1002: g_rcv_transactions_cache(p_timecard_bb_id).po_distribution_id <> p_po_distribution_id THEN
1003: g_rcv_transactions_misses := g_rcv_transactions_misses + 1;
1004:
1005: g_rcv_transactions_cache(p_timecard_bb_id).po_distribution_id := p_po_distribution_id;
1006: --Bug 5217532 START
1007: --Break the old SQL into 2 different SQL to avoid Merge Join Catesian
1008: BEGIN
1009: SELECT receive.transaction_id
1006: --Bug 5217532 START
1007: --Break the old SQL into 2 different SQL to avoid Merge Join Catesian
1008: BEGIN
1009: SELECT receive.transaction_id
1010: INTO g_rcv_transactions_cache(p_timecard_bb_id).receive_transaction_id
1011: FROM rcv_transactions receive
1012: WHERE receive.timecard_id = p_timecard_bb_id
1013: AND receive.po_distribution_id = p_po_distribution_id
1014: AND receive.transaction_type = 'RECEIVE';
1007: --Break the old SQL into 2 different SQL to avoid Merge Join Catesian
1008: BEGIN
1009: SELECT receive.transaction_id
1010: INTO g_rcv_transactions_cache(p_timecard_bb_id).receive_transaction_id
1011: FROM rcv_transactions receive
1012: WHERE receive.timecard_id = p_timecard_bb_id
1013: AND receive.po_distribution_id = p_po_distribution_id
1014: AND receive.transaction_type = 'RECEIVE';
1015: EXCEPTION
1013: AND receive.po_distribution_id = p_po_distribution_id
1014: AND receive.transaction_type = 'RECEIVE';
1015: EXCEPTION
1016: WHEN NO_DATA_FOUND THEN
1017: g_rcv_transactions_cache(p_timecard_bb_id).receive_transaction_id := NULL;
1018: RCV_HXT_GRP.string( log_level => FND_LOG.LEVEL_STATEMENT
1019: , module => l_log_head
1020: , message => 'Unable to find Parent Transcations ,TimeCard ID: ' || p_timecard_bb_id || ' po_line_id: ' || p_po_line_id || ' po_distribution_id: ' || p_po_distribution_id
1021: );
1022: END;
1023:
1024: BEGIN
1025: SELECT deliver.transaction_id
1026: INTO g_rcv_transactions_cache(p_timecard_bb_id).deliver_transaction_id
1027: FROM rcv_transactions deliver
1028: WHERE deliver.timecard_id = p_timecard_bb_id
1029: AND deliver.po_distribution_id = p_po_distribution_id
1030: AND deliver.transaction_type = 'DELIVER';
1023:
1024: BEGIN
1025: SELECT deliver.transaction_id
1026: INTO g_rcv_transactions_cache(p_timecard_bb_id).deliver_transaction_id
1027: FROM rcv_transactions deliver
1028: WHERE deliver.timecard_id = p_timecard_bb_id
1029: AND deliver.po_distribution_id = p_po_distribution_id
1030: AND deliver.transaction_type = 'DELIVER';
1031: EXCEPTION
1029: AND deliver.po_distribution_id = p_po_distribution_id
1030: AND deliver.transaction_type = 'DELIVER';
1031: EXCEPTION
1032: WHEN NO_DATA_FOUND THEN
1033: g_rcv_transactions_cache(p_timecard_bb_id).deliver_transaction_id := NULL;
1034: RCV_HXT_GRP.string( log_level => FND_LOG.LEVEL_STATEMENT
1035: , module => l_log_head
1036: , message => 'Unable to find Parent Transcations ,TimeCard ID: ' || p_timecard_bb_id || ' po_line_id: ' || p_po_line_id || ' po_distribution_id: ' || p_po_distribution_id
1037: );
1038: END;
1039: --Bug 5217532 END
1040: END IF;
1041:
1042: RETURN g_rcv_transactions_cache(p_timecard_bb_id);
1043: END get_rcv_transaction;
1044:
1045: -- cached wrapper for build_block
1046: FUNCTION build_block
1896: , p_message_extent => HXC_USER_TYPE_DEFINITION_GRP.c_blk_children_extent
1897: );
1898: END Validate_Amount_Tolerances;
1899:
1900: PROCEDURE Derive_Common_RTI_Values( p_rti_row IN OUT NOCOPY RCV_TRANSACTIONS_INTERFACE%ROWTYPE
1901: , p_attributes IN TimecardAttributesRec
1902: ) IS
1903: l_api_name CONSTANT varchar2(30) := 'Derive_Common_RTI_Values';
1904: l_log_head CONSTANT VARCHAR2(100) := G_LOG_MODULE || '.'||l_api_name;
1903: l_api_name CONSTANT varchar2(30) := 'Derive_Common_RTI_Values';
1904: l_log_head CONSTANT VARCHAR2(100) := G_LOG_MODULE || '.'||l_api_name;
1905: BEGIN
1906: -- interface_transaction_id
1907: SELECT RCV_TRANSACTIONS_INTERFACE_S.NEXTVAL
1908: INTO p_rti_row.interface_transaction_id
1909: FROM dual;
1910:
1911: -- job_id
1961: , p_rti_rows IN OUT NOCOPY rti_table
1962: , p_attributes IN OUT NOCOPY TimecardAttributesRec
1963: ) IS
1964: l_rhi_row RCV_HEADERS_INTERFACE%ROWTYPE;
1965: l_rti_row RCV_TRANSACTIONS_INTERFACE%ROWTYPE;
1966: l_rhi_row_idx BINARY_INTEGER;
1967: l_rti_row_idx BINARY_INTEGER;
1968: l_api_name CONSTANT varchar2(30) := 'Derive_Receive_Values';
1969: l_log_head CONSTANT VARCHAR2(100) := G_LOG_MODULE || '.'||l_api_name;
2150: , p_old_attributes IN OUT NOCOPY TimecardAttributesRec
2151: ) IS
2152: l_correction_amount po_lines_all.amount%TYPE;
2153: l_old_correction_amount po_lines_all.amount%TYPE;
2154: l_swap rcv_transactions_interface.interface_transaction_id%TYPE; /*Bug 6031665*/
2155: -- we need one correction for each parent transaction
2156: l_rcv_rti_row RCV_TRANSACTIONS_INTERFACE%ROWTYPE;
2157: l_del_rti_row RCV_TRANSACTIONS_INTERFACE%ROWTYPE;
2158: l_rti_row_idx BINARY_INTEGER;
2152: l_correction_amount po_lines_all.amount%TYPE;
2153: l_old_correction_amount po_lines_all.amount%TYPE;
2154: l_swap rcv_transactions_interface.interface_transaction_id%TYPE; /*Bug 6031665*/
2155: -- we need one correction for each parent transaction
2156: l_rcv_rti_row RCV_TRANSACTIONS_INTERFACE%ROWTYPE;
2157: l_del_rti_row RCV_TRANSACTIONS_INTERFACE%ROWTYPE;
2158: l_rti_row_idx BINARY_INTEGER;
2159: l_api_name CONSTANT varchar2(30) := 'Derive_Correction_Values';
2160: l_log_head CONSTANT VARCHAR2(100) := G_LOG_MODULE || '.'||l_api_name;
2153: l_old_correction_amount po_lines_all.amount%TYPE;
2154: l_swap rcv_transactions_interface.interface_transaction_id%TYPE; /*Bug 6031665*/
2155: -- we need one correction for each parent transaction
2156: l_rcv_rti_row RCV_TRANSACTIONS_INTERFACE%ROWTYPE;
2157: l_del_rti_row RCV_TRANSACTIONS_INTERFACE%ROWTYPE;
2158: l_rti_row_idx BINARY_INTEGER;
2159: l_api_name CONSTANT varchar2(30) := 'Derive_Correction_Values';
2160: l_log_head CONSTANT VARCHAR2(100) := G_LOG_MODULE || '.'||l_api_name;
2161: BEGIN
2317: IF l_correction_amount < 0 THEN
2318: -- for negative corrections, we correct the deliver first
2319:
2320: -- get the next rti id for the receive transaction
2321: SELECT RCV_TRANSACTIONS_INTERFACE_S.NEXTVAL
2322: INTO l_rcv_rti_row.interface_transaction_id
2323: FROM dual;
2324:
2325: -- insert into rti table
2328: ELSE
2329: -- for positive corrections, we correct the receive first
2330:
2331: -- get the next rti id for the deliver transaction
2332: SELECT RCV_TRANSACTIONS_INTERFACE_S.NEXTVAL
2333: INTO l_del_rti_row.interface_transaction_id
2334: FROM dual;
2335:
2336: -- insert into rti table
2618:
2619: l_rhi_idx BINARY_INTEGER;
2620: l_rti_idx BINARY_INTEGER;
2621: l_rhi_row rcv_headers_interface%ROWTYPE;
2622: l_rti_row rcv_transactions_interface%ROWTYPE;
2623: BEGIN
2624: RCV_HXT_GRP.string( log_level => FND_LOG.LEVEL_STATEMENT
2625: , module => l_log_head
2626: , message => 'Finding ROI rows: p_rhi_rows.COUNT=' || p_rhi_rows.COUNT || ' p_rti_rows.COUNT=' || p_rti_rows.COUNT || ' p_attributes.po_distribution_id=' || p_attributes.po_distribution_id
2779: TYPE expected_receipt_date_tbl IS TABLE OF RCV_HEADERS_INTERFACE.expected_receipt_date%TYPE INDEX BY BINARY_INTEGER;
2780: TYPE employee_id_tbl IS TABLE OF RCV_HEADERS_INTERFACE.employee_id%TYPE INDEX BY BINARY_INTEGER;
2781: TYPE validation_flag_tbl IS TABLE OF RCV_HEADERS_INTERFACE.validation_flag%TYPE INDEX BY BINARY_INTEGER;
2782:
2783: TYPE interface_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2784: TYPE lpn_group_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.lpn_group_id%TYPE INDEX BY BINARY_INTEGER;
2785: TYPE transaction_date_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_date%TYPE INDEX BY BINARY_INTEGER;
2786: TYPE processing_mode_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.processing_mode_code%TYPE INDEX BY BINARY_INTEGER;
2787: TYPE transaction_status_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_status_code%TYPE INDEX BY BINARY_INTEGER;
2780: TYPE employee_id_tbl IS TABLE OF RCV_HEADERS_INTERFACE.employee_id%TYPE INDEX BY BINARY_INTEGER;
2781: TYPE validation_flag_tbl IS TABLE OF RCV_HEADERS_INTERFACE.validation_flag%TYPE INDEX BY BINARY_INTEGER;
2782:
2783: TYPE interface_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2784: TYPE lpn_group_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.lpn_group_id%TYPE INDEX BY BINARY_INTEGER;
2785: TYPE transaction_date_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_date%TYPE INDEX BY BINARY_INTEGER;
2786: TYPE processing_mode_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.processing_mode_code%TYPE INDEX BY BINARY_INTEGER;
2787: TYPE transaction_status_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_status_code%TYPE INDEX BY BINARY_INTEGER;
2788: TYPE source_document_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.source_document_code%TYPE INDEX BY BINARY_INTEGER;
2781: TYPE validation_flag_tbl IS TABLE OF RCV_HEADERS_INTERFACE.validation_flag%TYPE INDEX BY BINARY_INTEGER;
2782:
2783: TYPE interface_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2784: TYPE lpn_group_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.lpn_group_id%TYPE INDEX BY BINARY_INTEGER;
2785: TYPE transaction_date_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_date%TYPE INDEX BY BINARY_INTEGER;
2786: TYPE processing_mode_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.processing_mode_code%TYPE INDEX BY BINARY_INTEGER;
2787: TYPE transaction_status_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_status_code%TYPE INDEX BY BINARY_INTEGER;
2788: TYPE source_document_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.source_document_code%TYPE INDEX BY BINARY_INTEGER;
2789: TYPE parent_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.parent_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2782:
2783: TYPE interface_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2784: TYPE lpn_group_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.lpn_group_id%TYPE INDEX BY BINARY_INTEGER;
2785: TYPE transaction_date_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_date%TYPE INDEX BY BINARY_INTEGER;
2786: TYPE processing_mode_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.processing_mode_code%TYPE INDEX BY BINARY_INTEGER;
2787: TYPE transaction_status_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_status_code%TYPE INDEX BY BINARY_INTEGER;
2788: TYPE source_document_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.source_document_code%TYPE INDEX BY BINARY_INTEGER;
2789: TYPE parent_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.parent_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2790: TYPE po_header_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_header_id%TYPE INDEX BY BINARY_INTEGER;
2783: TYPE interface_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2784: TYPE lpn_group_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.lpn_group_id%TYPE INDEX BY BINARY_INTEGER;
2785: TYPE transaction_date_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_date%TYPE INDEX BY BINARY_INTEGER;
2786: TYPE processing_mode_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.processing_mode_code%TYPE INDEX BY BINARY_INTEGER;
2787: TYPE transaction_status_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_status_code%TYPE INDEX BY BINARY_INTEGER;
2788: TYPE source_document_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.source_document_code%TYPE INDEX BY BINARY_INTEGER;
2789: TYPE parent_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.parent_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2790: TYPE po_header_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_header_id%TYPE INDEX BY BINARY_INTEGER;
2791: TYPE po_line_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_id%TYPE INDEX BY BINARY_INTEGER;
2784: TYPE lpn_group_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.lpn_group_id%TYPE INDEX BY BINARY_INTEGER;
2785: TYPE transaction_date_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_date%TYPE INDEX BY BINARY_INTEGER;
2786: TYPE processing_mode_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.processing_mode_code%TYPE INDEX BY BINARY_INTEGER;
2787: TYPE transaction_status_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_status_code%TYPE INDEX BY BINARY_INTEGER;
2788: TYPE source_document_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.source_document_code%TYPE INDEX BY BINARY_INTEGER;
2789: TYPE parent_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.parent_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2790: TYPE po_header_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_header_id%TYPE INDEX BY BINARY_INTEGER;
2791: TYPE po_line_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_id%TYPE INDEX BY BINARY_INTEGER;
2792: TYPE po_line_location_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_location_id%TYPE INDEX BY BINARY_INTEGER;
2785: TYPE transaction_date_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_date%TYPE INDEX BY BINARY_INTEGER;
2786: TYPE processing_mode_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.processing_mode_code%TYPE INDEX BY BINARY_INTEGER;
2787: TYPE transaction_status_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_status_code%TYPE INDEX BY BINARY_INTEGER;
2788: TYPE source_document_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.source_document_code%TYPE INDEX BY BINARY_INTEGER;
2789: TYPE parent_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.parent_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2790: TYPE po_header_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_header_id%TYPE INDEX BY BINARY_INTEGER;
2791: TYPE po_line_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_id%TYPE INDEX BY BINARY_INTEGER;
2792: TYPE po_line_location_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_location_id%TYPE INDEX BY BINARY_INTEGER;
2793: TYPE po_distribution_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_distribution_id%TYPE INDEX BY BINARY_INTEGER;
2786: TYPE processing_mode_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.processing_mode_code%TYPE INDEX BY BINARY_INTEGER;
2787: TYPE transaction_status_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_status_code%TYPE INDEX BY BINARY_INTEGER;
2788: TYPE source_document_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.source_document_code%TYPE INDEX BY BINARY_INTEGER;
2789: TYPE parent_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.parent_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2790: TYPE po_header_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_header_id%TYPE INDEX BY BINARY_INTEGER;
2791: TYPE po_line_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_id%TYPE INDEX BY BINARY_INTEGER;
2792: TYPE po_line_location_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_location_id%TYPE INDEX BY BINARY_INTEGER;
2793: TYPE po_distribution_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_distribution_id%TYPE INDEX BY BINARY_INTEGER;
2794: TYPE project_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.project_id%TYPE INDEX BY BINARY_INTEGER;
2787: TYPE transaction_status_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.transaction_status_code%TYPE INDEX BY BINARY_INTEGER;
2788: TYPE source_document_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.source_document_code%TYPE INDEX BY BINARY_INTEGER;
2789: TYPE parent_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.parent_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2790: TYPE po_header_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_header_id%TYPE INDEX BY BINARY_INTEGER;
2791: TYPE po_line_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_id%TYPE INDEX BY BINARY_INTEGER;
2792: TYPE po_line_location_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_location_id%TYPE INDEX BY BINARY_INTEGER;
2793: TYPE po_distribution_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_distribution_id%TYPE INDEX BY BINARY_INTEGER;
2794: TYPE project_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.project_id%TYPE INDEX BY BINARY_INTEGER;
2795: TYPE task_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.task_id%TYPE INDEX BY BINARY_INTEGER;
2788: TYPE source_document_code_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.source_document_code%TYPE INDEX BY BINARY_INTEGER;
2789: TYPE parent_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.parent_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2790: TYPE po_header_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_header_id%TYPE INDEX BY BINARY_INTEGER;
2791: TYPE po_line_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_id%TYPE INDEX BY BINARY_INTEGER;
2792: TYPE po_line_location_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_location_id%TYPE INDEX BY BINARY_INTEGER;
2793: TYPE po_distribution_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_distribution_id%TYPE INDEX BY BINARY_INTEGER;
2794: TYPE project_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.project_id%TYPE INDEX BY BINARY_INTEGER;
2795: TYPE task_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.task_id%TYPE INDEX BY BINARY_INTEGER;
2796: TYPE amount_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.amount%TYPE INDEX BY BINARY_INTEGER;
2789: TYPE parent_transaction_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.parent_transaction_id%TYPE INDEX BY BINARY_INTEGER;
2790: TYPE po_header_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_header_id%TYPE INDEX BY BINARY_INTEGER;
2791: TYPE po_line_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_id%TYPE INDEX BY BINARY_INTEGER;
2792: TYPE po_line_location_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_location_id%TYPE INDEX BY BINARY_INTEGER;
2793: TYPE po_distribution_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_distribution_id%TYPE INDEX BY BINARY_INTEGER;
2794: TYPE project_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.project_id%TYPE INDEX BY BINARY_INTEGER;
2795: TYPE task_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.task_id%TYPE INDEX BY BINARY_INTEGER;
2796: TYPE amount_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.amount%TYPE INDEX BY BINARY_INTEGER;
2797: TYPE job_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.job_id%TYPE INDEX BY BINARY_INTEGER;
2790: TYPE po_header_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_header_id%TYPE INDEX BY BINARY_INTEGER;
2791: TYPE po_line_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_id%TYPE INDEX BY BINARY_INTEGER;
2792: TYPE po_line_location_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_location_id%TYPE INDEX BY BINARY_INTEGER;
2793: TYPE po_distribution_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_distribution_id%TYPE INDEX BY BINARY_INTEGER;
2794: TYPE project_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.project_id%TYPE INDEX BY BINARY_INTEGER;
2795: TYPE task_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.task_id%TYPE INDEX BY BINARY_INTEGER;
2796: TYPE amount_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.amount%TYPE INDEX BY BINARY_INTEGER;
2797: TYPE job_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.job_id%TYPE INDEX BY BINARY_INTEGER;
2798: TYPE timecard_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.timecard_id%TYPE INDEX BY BINARY_INTEGER;
2791: TYPE po_line_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_id%TYPE INDEX BY BINARY_INTEGER;
2792: TYPE po_line_location_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_location_id%TYPE INDEX BY BINARY_INTEGER;
2793: TYPE po_distribution_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_distribution_id%TYPE INDEX BY BINARY_INTEGER;
2794: TYPE project_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.project_id%TYPE INDEX BY BINARY_INTEGER;
2795: TYPE task_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.task_id%TYPE INDEX BY BINARY_INTEGER;
2796: TYPE amount_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.amount%TYPE INDEX BY BINARY_INTEGER;
2797: TYPE job_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.job_id%TYPE INDEX BY BINARY_INTEGER;
2798: TYPE timecard_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.timecard_id%TYPE INDEX BY BINARY_INTEGER;
2799: TYPE timecard_ovn_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.timecard_ovn%TYPE INDEX BY BINARY_INTEGER;
2792: TYPE po_line_location_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_line_location_id%TYPE INDEX BY BINARY_INTEGER;
2793: TYPE po_distribution_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_distribution_id%TYPE INDEX BY BINARY_INTEGER;
2794: TYPE project_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.project_id%TYPE INDEX BY BINARY_INTEGER;
2795: TYPE task_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.task_id%TYPE INDEX BY BINARY_INTEGER;
2796: TYPE amount_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.amount%TYPE INDEX BY BINARY_INTEGER;
2797: TYPE job_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.job_id%TYPE INDEX BY BINARY_INTEGER;
2798: TYPE timecard_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.timecard_id%TYPE INDEX BY BINARY_INTEGER;
2799: TYPE timecard_ovn_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.timecard_ovn%TYPE INDEX BY BINARY_INTEGER;
2800: --Bug6395858
2793: TYPE po_distribution_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.po_distribution_id%TYPE INDEX BY BINARY_INTEGER;
2794: TYPE project_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.project_id%TYPE INDEX BY BINARY_INTEGER;
2795: TYPE task_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.task_id%TYPE INDEX BY BINARY_INTEGER;
2796: TYPE amount_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.amount%TYPE INDEX BY BINARY_INTEGER;
2797: TYPE job_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.job_id%TYPE INDEX BY BINARY_INTEGER;
2798: TYPE timecard_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.timecard_id%TYPE INDEX BY BINARY_INTEGER;
2799: TYPE timecard_ovn_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.timecard_ovn%TYPE INDEX BY BINARY_INTEGER;
2800: --Bug6395858
2801: -- A temp table l_rhi_stat is taken to mark those timecards for
2794: TYPE project_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.project_id%TYPE INDEX BY BINARY_INTEGER;
2795: TYPE task_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.task_id%TYPE INDEX BY BINARY_INTEGER;
2796: TYPE amount_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.amount%TYPE INDEX BY BINARY_INTEGER;
2797: TYPE job_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.job_id%TYPE INDEX BY BINARY_INTEGER;
2798: TYPE timecard_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.timecard_id%TYPE INDEX BY BINARY_INTEGER;
2799: TYPE timecard_ovn_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.timecard_ovn%TYPE INDEX BY BINARY_INTEGER;
2800: --Bug6395858
2801: -- A temp table l_rhi_stat is taken to mark those timecards for
2802: -- which RHI got in error while processing and corrosponding RTI
2795: TYPE task_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.task_id%TYPE INDEX BY BINARY_INTEGER;
2796: TYPE amount_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.amount%TYPE INDEX BY BINARY_INTEGER;
2797: TYPE job_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.job_id%TYPE INDEX BY BINARY_INTEGER;
2798: TYPE timecard_id_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.timecard_id%TYPE INDEX BY BINARY_INTEGER;
2799: TYPE timecard_ovn_tbl IS TABLE OF RCV_TRANSACTIONS_INTERFACE.timecard_ovn%TYPE INDEX BY BINARY_INTEGER;
2800: --Bug6395858
2801: -- A temp table l_rhi_stat is taken to mark those timecards for
2802: -- which RHI got in error while processing and corrosponding RTI
2803: -- has to maked error.
3061: );
3062:
3063: -- insert into db from arrays
3064: FORALL i IN 1..rti_interface_transaction_id.COUNT
3065: INSERT INTO rcv_transactions_interface( interface_transaction_id
3066: , header_interface_id
3067: , group_id
3068: , lpn_group_id
3069: , last_update_date
3775:
3776: ROLLBACK;
3777:
3778: --
3779: UPDATE rcv_transactions_interface
3780: SET transaction_status_code = 'ERROR'
3781: WHERE group_id = g_group_id
3782: AND transaction_status_code = 'RUNNING';
3783:
3821:
3822: DECLARE
3823: l_bb_id HXC_TIME_BUILDING_BLOCKS.time_building_block_id%TYPE;
3824: l_transaction_type VARCHAR2(100);
3825: l_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3826: l_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3827: l_delete_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3828: l_delete_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3829: l_message VARCHAR2(1000);
3822: DECLARE
3823: l_bb_id HXC_TIME_BUILDING_BLOCKS.time_building_block_id%TYPE;
3824: l_transaction_type VARCHAR2(100);
3825: l_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3826: l_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3827: l_delete_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3828: l_delete_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3829: l_message VARCHAR2(1000);
3830: DETAIL_NOT_PROCESSED EXCEPTION;
3823: l_bb_id HXC_TIME_BUILDING_BLOCKS.time_building_block_id%TYPE;
3824: l_transaction_type VARCHAR2(100);
3825: l_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3826: l_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3827: l_delete_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3828: l_delete_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3829: l_message VARCHAR2(1000);
3830: DETAIL_NOT_PROCESSED EXCEPTION;
3831: BEGIN
3824: l_transaction_type VARCHAR2(100);
3825: l_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3826: l_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3827: l_delete_receive_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3828: l_delete_deliver_rti_id RCV_TRANSACTIONS_INTERFACE.interface_transaction_id%TYPE;
3829: l_message VARCHAR2(1000);
3830: DETAIL_NOT_PROCESSED EXCEPTION;
3831: BEGIN
3832: RCV_HXT_GRP.string( log_level => FND_LOG.LEVEL_STATEMENT
3897: FOR rec IN (SELECT error_message_name ||' : '|| error_message msg
3898: FROM po_interface_errors
3899: WHERE interface_line_id IN (l_receive_rti_id,l_deliver_rti_id,
3900: l_delete_receive_rti_id,l_delete_deliver_rti_id)
3901: AND table_name = 'RCV_TRANSACTIONS_INTERFACE') LOOP
3902:
3903: RCV_HXT_GRP.string( log_level => FND_LOG.LEVEL_STATEMENT
3904: , module => l_log_head
3905: , message => 'RTP errors : ' || rec.msg
4413: || ' po_distribution: ' || (g_po_distribution_calls - g_po_distribution_misses || '/' || g_po_distribution_calls) || FND_GLOBAL.local_chr(10)
4414: || ' price_type_lookup: ' || (g_price_type_lookup_calls - g_price_type_lookup_misses) || '/' || g_price_type_lookup_calls || FND_GLOBAL.local_chr(10)
4415: || ' price_differentials: ' || (g_price_differentials_calls - g_price_differentials_misses) || '/' || g_price_differentials_calls || FND_GLOBAL.local_chr(10)
4416: || ' assignments: ' || (g_assignments_calls - g_assignments_misses) || '/' || g_assignments_calls || FND_GLOBAL.local_chr(10)
4417: || ' rcv_transactions: ' || (g_rcv_transactions_calls - g_rcv_transactions_misses) || '/' || g_rcv_transactions_calls || FND_GLOBAL.local_chr(10)
4418: || FND_GLOBAL.local_chr(10)
4419: || 'Running times: ' || FND_GLOBAL.local_chr(10)
4420: || ' Update: ' || TO_CHAR((g_update_stop - g_update_start) * 8640000, '99,999.90') || ' ms' || FND_GLOBAL.local_chr(10)
4421: || ' Validate: ' || TO_CHAR((g_validate_stop - g_validate_start) * 8640000, '99,999.90') || ' ms' || FND_GLOBAL.local_chr(10)
4657: || ' po_distribution: ' || (g_po_distribution_calls - g_po_distribution_misses || '/' || g_po_distribution_calls) || FND_GLOBAL.local_chr(10)
4658: || ' price_type_lookup: ' || (g_price_type_lookup_calls - g_price_type_lookup_misses) || '/' || g_price_type_lookup_calls || FND_GLOBAL.local_chr(10)
4659: || ' price_differentials: ' || (g_price_differentials_calls - g_price_differentials_misses) || '/' || g_price_differentials_calls || FND_GLOBAL.local_chr(10)
4660: || ' assignments: ' || (g_assignments_calls - g_assignments_misses) || '/' || g_assignments_calls || FND_GLOBAL.local_chr(10)
4661: || ' rcv_transactions: ' || (g_rcv_transactions_calls - g_rcv_transactions_misses) || '/' || g_rcv_transactions_calls || FND_GLOBAL.local_chr(10)
4662: || FND_GLOBAL.local_chr(10)
4663: || 'Running times: ' || FND_GLOBAL.local_chr(10)
4664: || ' Generic Retrieval: ' || TO_CHAR((g_generic_time) * 8640000, '99,999.90') || ' ms' || FND_GLOBAL.local_chr(10)
4665: || ' Receiving Transaction Processor: ' || TO_CHAR((g_receiving_time) * 8640000, '99,999.90') || ' ms' || FND_GLOBAL.local_chr(10)