[Home] [Help]
PACKAGE: APPS.FTE_TL_CACHE
Source
1 PACKAGE FTE_TL_CACHE AS
2 /* $Header: FTEVTLCS.pls 120.1 2007/11/30 05:57:45 sankarun ship $ */
3
4 FAKE_DLEG_ID NUMBER:=-1;
5 FAKE_TRIP_ID NUMBER:= -1;
6 FAKE_STOP_ID_1 NUMBER:=-1;
7 FAKE_STOP_ID_2 NUMBER:=-2;
8 FAKE_LOCATION_ID_1 NUMBER:=-1;
9 FAKE_LOCATION_ID_2 NUMBER:=-2;
10
11
12 TYPE TL_trip_data_input_rec_type IS RECORD (
13
14 trip_id NUMBER,
15 lane_id NUMBER,
16 schedule_id NUMBER,
17 service_type VARCHAR2(30),
18 carrier_id NUMBER,
19 mode_of_transport VARCHAR2(30),
20 vehicle_type NUMBER,
21 price_list_id NUMBER,
22 loaded_distance NUMBER,
23 unloaded_distance NUMBER,
24 number_of_pallets NUMBER,
25 number_of_containers NUMBER,
26 time NUMBER,
27 number_of_stops NUMBER,
28 total_trip_distance NUMBER,
29 total_direct_distance NUMBER,
30 distance_method VARCHAR2(30),
31 total_weight NUMBER,
32 total_volume NUMBER,
33 continuous_move VARCHAR2(1),
34 planned_departure_date DATE,
35 planned_arrival_date DATE,
36 dead_head VARCHAR2(1),
37 stop_reference NUMBER,
38 delivery_leg_reference NUMBER,
39 child_dleg_reference NUMBER);
40
41 TYPE TL_trip_data_input_tab_type IS TABLE OF TL_trip_data_input_rec_type INDEX BY BINARY_INTEGER;
42
43
44 TYPE TL_TRIP_STOP_INPUT_REC_TYPE IS RECORD(
45
46
47 stop_id NUMBER,
48 trip_id NUMBER,
49 location_id NUMBER,
50 weekday_layovers NUMBER,
51 weekend_layovers NUMBER,
52 distance_to_next_stop NUMBER,
53 time_to_next_stop NUMBER,
54 pickup_weight NUMBER,
55 pickup_volume NUMBER,
56 pickup_pallets NUMBER,
57 pickup_containers NUMBER,
58 loading_protocol VARCHAR2(30),
59 dropoff_weight NUMBER,
60 dropoff_volume NUMBER,
61 dropoff_pallets NUMBER,
62 dropoff_containers NUMBER,
63 stop_region NUMBER,
64 stop_zone VARCHAR2(30),
65 planned_arrival_date DATE,
66 planned_departure_date DATE,
67 stop_type VARCHAR2(30),--either PU,DO,PD,NA
68 physical_stop_id NUMBER, --added for dummy stop fix
69 physical_location_id NUMBER, --added for dummy stop fix
70 fac_pickup_weight NUMBER,
71 fac_pickup_volume NUMBER,
72 fac_dropoff_weight NUMBER,
73 fac_dropoff_volume NUMBER,
74 fac_charge_basis VARCHAR2(30),
75 fac_handling_time NUMBER,
76 fac_currency VARCHAR2(30),
77 fac_modifier_id NUMBER,
78 fac_pricelist_id NUMBER,
79 fac_weight_uom_class VARCHAR2(30),
80 fac_weight_uom VARCHAR2(30),
81 fac_volume_uom_class VARCHAR2(30),
82 fac_volume_uom VARCHAR2(30),
83 fac_distance_uom_class VARCHAR2(30),
84 fac_distance_uom VARCHAR2(30),
85 fac_time_uom_class VARCHAR2(30),
86 fac_time_uom VARCHAR2(30));
87
88
89 TYPE TL_TRIP_STOP_INPUT_TAB_TYPE IS TABLE OF TL_TRIP_STOP_INPUT_REC_TYPE INDEX BY BINARY_INTEGER;
90
91 TYPE TL_CARRIER_PREF_REC_TYPE IS RECORD(
92
93 carrier_id NUMBER,
94 max_out_of_route NUMBER,
95 min_cm_distance NUMBER,
96 min_cm_time NUMBER,
97 cm_free_dh_mileage NUMBER,
98 cm_first_load_discount_flag VARCHAR2(1),
99 currency VARCHAR2(30),
100 cm_rate_variant VARCHAR2(30),
101 unit_basis VARCHAR2(30),
102 weight_uom_class VARCHAR2(30),
103 weight_uom VARCHAR2(30),
104 volume_uom_class VARCHAR2(30),
105 volume_uom VARCHAR2(30),
106 distance_uom_class VARCHAR2(30),
107 distance_uom VARCHAR2(30),
108 time_uom_class VARCHAR2(30),
109 time_uom VARCHAR2(30),
110 region_level VARCHAR2(30),
111 distance_calculation_method VARCHAR2(30),
112 dim_factor NUMBER,
113 dim_weight_uom VARCHAR2(30),
114 dim_volume_uom VARCHAR2(30),
115 dim_length_uom VARCHAR2(30),
116 dim_min_volume NUMBER
117 );
118
119 TYPE TL_CARRIER_PREF_TAB_TYPE IS TABLE OF TL_CARRIER_PREF_REC_TYPE INDEX BY BINARY_INTEGER;
120
121
122
123 TYPE TL_delivery_leg_rec_type IS RECORD(
124
125 delivery_leg_id NUMBER,
126 trip_id NUMBER,
127 delivery_id NUMBER,
128 pickup_stop_id NUMBER,
129 pickup_location_id NUMBER,
130 dropoff_stop_id NUMBER,
131 dropoff_location_id NUMBER,
132 weight NUMBER,
133 volume NUMBER,
134 pallets NUMBER,
135 containers NUMBER,
136 distance NUMBER,
137 direct_distance NUMBER,
138 parent_dleg_id NUMBER,--MDC
139 children_weight NUMBER,--MDC
140 children_volume NUMBER,--MDC
141 is_parent_dleg VARCHAR2(1),-- MDC 'Y' or 'N'
142 parent_with_no_consol_lpn VARCHAR2(1) --MDC 'Y' or 'N'
143 );
144
145 TYPE TL_delivery_leg_tab_type IS TABLE OF TL_delivery_leg_rec_type INDEX BY BINARY_INTEGER;
146
147 TYPE TL_DLV_DETAIL_MAP_REC_TYPE IS RECORD(
148 delivery_id NUMBER,
149 delivery_detail_id NUMBER);
150
151 TYPE TL_DLV_DETAIL_MAP_TAB_TYPE IS TABLE OF TL_DLV_DETAIL_MAP_REC_TYPE INDEX BY BINARY_INTEGER;
152
153
154
155
156
157 TYPE TL_TRIP_OUTPUT_REC_TYPE IS RECORD (
158 trip_id NUMBER,
159 base_dist_load_chrg NUMBER,
160 base_dist_load_unit_chrg NUMBER,
161 base_dist_unload_chrg NUMBER,
162 base_dist_unload_unit_chrg NUMBER,
163
164 base_unit_chrg NUMBER,
165 base_unit_unit_chrg NUMBER,
166
167 base_time_chrg NUMBER,
168 base_time_unit_chrg NUMBER,
169
170 base_flat_chrg NUMBER,
171
172 stop_off_chrg NUMBER,
173 out_of_route_chrg NUMBER,
174 document_chrg NUMBER,
175 handling_chrg NUMBER,
176 handling_chrg_basis NUMBER,
177 fuel_chrg NUMBER,
178 cm_discount_percent NUMBER,
179 cm_discount_value NUMBER,
180 currency VARCHAR2(30),
181 total_trip_rate NUMBER,
182 stop_charge_reference NUMBER --pointer to the stop charge to handle multiple
183 );
184
185
186 TYPE TL_TRIP_OUTPUT_TAB_TYPE IS TABLE OF TL_TRIP_OUTPUT_REC_TYPE INDEX BY BINARY_INTEGER;
187
188
189 TYPE TL_TRIP_STOP_OUTPUT_REC_TYPE IS RECORD (
190 stop_id NUMBER,
191 trip_id NUMBER,
192 weekday_layover_chrg NUMBER,
193 weekend_layover_chrg NUMBER,
194 loading_chrg NUMBER,
195 loading_chrg_basis NUMBER,
196 ast_loading_chrg NUMBER,
197 ast_loading_chrg_basis NUMBER,
198 unloading_chrg NUMBER,
199 unloading_chrg_basis NUMBER,
200 ast_unloading_chrg NUMBER,
201 ast_unloading_chrg_basis NUMBER,
202 origin_surchrg NUMBER,
203 destination_surchrg NUMBER,
204 fac_loading_chrg NUMBER,
205 fac_loading_chrg_basis NUMBER,
206 fac_ast_loading_chrg NUMBER,
207 fac_ast_loading_chrg_basis NUMBER,
208 fac_unloading_chrg NUMBER,
209 fac_unloading_chrg_basis NUMBER,
210 fac_ast_unloading_chrg NUMBER,
211 fac_ast_unloading_chrg_basis NUMBER,
212 fac_handling_chrg NUMBER,
213 fac_handling_chrg_basis NUMBER,
214 fac_currency VARCHAR2(30) );
215
216
217 TYPE TL_TRIP_STOP_OUTPUT_TAB_TYPE IS TABLE OF TL_TRIP_STOP_OUTPUT_REC_TYPE INDEX BY BINARY_INTEGER;
218
219
220
221
222 --Delivery Leg Cache
223 g_tl_delivery_leg_rows TL_delivery_leg_tab_type;
224
225 --Trip Cache
226 g_tl_trip_rows TL_trip_data_input_tab_type;
227
228 --Trip Stop Rows
229 g_tl_trip_stop_rows TL_TRIP_STOP_INPUT_TAB_TYPE;
230
231 --Carrier preference cache
232 g_tl_carrier_pref_rows TL_CARRIER_PREF_TAB_TYPE;
233
234
235 g_tl_shipment_line_rows FTE_FREIGHT_PRICING.shipment_line_tab_type;
236
237 --The following hash and map , are the equivalent of wsh_delivery_assignments, they capture which dlv-details are assigned to which dlv
238
239 --Delivery Detail map cache
240 --This contains a list dlv-details. All the dlv-details belonging to a dlv are contiguous.Given an index to the first dlv-dtl of a dlv
241 -- all the dlv-dtls for that dlv can be found by sequentially accessing records until dlv-dtl belonging to another dlv is found.
242 g_tl_delivery_detail_map TL_DLV_DETAIL_MAP_TAB_TYPE;
243
244 --Delivery to delivery detail hash
245
246 -- This is a hash indexed by delivery id, it returns an index into the Delivery detail map cache. It points to the begining of the list of
247 --dlv-details belonging to that dlv
248 g_tl_delivery_detail_hash DBMS_UTILITY.NUMBER_ARRAY;
249
250
251 --For MDC, all containers that are above the top level detail of deliveries
252 g_tl_int_shipment_line_rows FTE_FREIGHT_PRICING.shipment_line_tab_type;
253
254 --This will hold the child delivery legs information.
255 --These delivery legs will not be in g_tl_delivery_leg_rows.
256 --The weight will always be non-dimensional.
257 g_tl_chld_delivery_leg_rows TL_delivery_leg_tab_type;
258
259
260 PROCEDURE TL_Build_Cache_For_Move(
261 p_fte_move_id IN NUMBER,
262 x_return_status OUT NOCOPY VARCHAR2);
263
264 PROCEDURE TL_Build_Cache_For_Trip(
265 p_wsh_trip_id IN NUMBER,
266 x_return_status OUT NOCOPY VARCHAR2);
267
268 PROCEDURE TL_Build_Cache_For_Delivery(
269 p_wsh_new_delivery_id IN NUMBER,
270 p_wsh_delivery_leg_id IN NUMBER ,
271 p_lane_rows IN DBMS_UTILITY.NUMBER_ARRAY,
272 p_schedule_rows IN DBMS_UTILITY.NUMBER_ARRAY,
273 x_return_status OUT NOCOPY VARCHAR2);
274
275 PROCEDURE TL_Build_Cache_For_OM(
276 x_return_status OUT NOCOPY VARCHAR2);
277
278 PROCEDURE TL_BUILD_CACHE_FOR_TRP_COMPARE(
279 p_wsh_trip_id IN Number ,
280 p_lane_rows IN dbms_utility.number_array ,
281 p_schedule_rows IN dbms_utility.number_array,
282 p_vehicle_rows IN dbms_utility.number_array,
283 x_return_status OUT NOCOPY Varchar2);
284
285
286 PROCEDURE TL_BUILD_CACHE_FOR_LCS(
287 p_wsh_trip_id IN Number ,
288 p_lane_rows IN dbms_utility.number_array ,
289 p_schedule_rows IN dbms_utility.number_array ,
290 p_vehicle_rows IN dbms_utility.number_array,
291 x_return_status OUT NOCOPY Varchar2);
292
293
294
295 PROCEDURE Delete_Cache(x_return_status OUT NOCOPY VARCHAR2);
296
297 PROCEDURE Display_Cache;
298
299 PROCEDURE get_approximate_distance_time(
300 p_from_location_id IN NUMBER,
301 p_to_location_id IN NUMBER,
302 x_distance OUT NOCOPY NUMBER,
303 x_distance_uom OUT NOCOPY VARCHAR2,
304 x_transit_time OUT NOCOPY NUMBER,
305 x_transit_time_uom OUT NOCOPY VARCHAR2,
306 x_return_status OUT NOCOPY VARCHAR2);
307
308
309 PROCEDURE FPA_Get_Trip_Info(
310 p_trip_id IN NUMBER,
311 x_distance OUT NOCOPY NUMBER,
312 x_distance_uom OUT NOCOPY VARCHAR2,
313 x_weight OUT NOCOPY VARCHAR2,
314 x_weight_uom OUT NOCOPY VARCHAR2,
315 x_return_status OUT NOCOPY VARCHAR2);
316
317
318 PROCEDURE TL_BUILD_CACHE_FOR_ESTIMATE(
319 p_lane_rows IN dbms_utility.number_array ,
320 p_schedule_rows IN dbms_utility.number_array,
321 p_vehicle_rows IN dbms_utility.number_array,
322 p_pickup_location_id IN NUMBER,
323 p_dropoff_location_id IN NUMBER,
324 p_ship_date IN DATE,
325 p_delivery_date IN DATE,
326 p_weight IN NUMBER,
327 p_weight_uom IN VARCHAR2,
328 p_volume IN NUMBER,
329 p_volume_uom IN VARCHAR2,
330 p_distance IN NUMBER,
331 p_distance_uom in VARCHAR2,
332 x_return_status OUT NOCOPY Varchar2,
333 --Bug 6625274
334 p_origin_id IN NUMBER DEFAULT NULL,
335 p_destination_id IN NUMBER DEFAULT NULL);
336
337
338 PROCEDURE Get_Vehicle_Type(
339 p_trip_id IN NUMBER,
340 p_vehicle_item_id IN NUMBER,
341 x_vehicle_type IN OUT NOCOPY NUMBER,
342 x_return_status OUT NOCOPY VARCHAR2);
343
344
345 PROCEDURE Calculate_Dimensional_Weight(
346 p_carrier_pref_rec IN TL_CARRIER_PREF_REC_TYPE,
347 p_weight IN NUMBER,
348 p_volume IN NUMBER,
349 x_dim_weight IN OUT NOCOPY NUMBER,
350 x_return_status OUT NOCOPY VARCHAR2);
351
352
353
354
355 PROCEDURE TL_BUILD_CACHE_FOR_DLV_COMPARE(
356 p_wsh_delivery_id IN Number ,
357 p_lane_rows IN dbms_utility.number_array ,
358 p_schedule_rows IN dbms_utility.number_array,
359 p_vehicle_rows IN dbms_utility.number_array,
360 p_dep_date IN DATE DEFAULT sysdate,
361 p_arr_date IN DATE DEFAULT sysdate,
362 p_pickup_location_id IN NUMBER,
363 p_dropoff_location_id IN NUMBER,
364 x_return_status OUT NOCOPY Varchar2);
365
366
367 PROCEDURE TL_BUILD_CACHE_FOR_OM(
368 p_source_header_rec IN FTE_PROCESS_REQUESTS.fte_source_header_rec,
369 p_source_lines_tab IN FTE_PROCESS_REQUESTS.fte_source_line_tab,
370 p_lane_rows IN dbms_utility.number_array ,
371 p_schedule_rows IN dbms_utility.number_array,
372 p_vehicle_rows IN dbms_utility.number_array,
373 x_return_status OUT NOCOPY Varchar2);
374
375
376
377 END FTE_TL_CACHE;