DBA Data[Home] [Help]

PACKAGE: APPS.FTE_LANE_PKG

Source


1 PACKAGE FTE_LANE_PKG AS
2 /* $Header: FTELANES.pls 120.1 2005/06/28 22:48:37 pkaliyam noship $ */
3 
4   TYPE lane_rec IS RECORD (
5        action			VARCHAR2(10),
6        carrier_id		fte_lanes.carrier_id%TYPE,
7        lane_id			fte_lanes.lane_id%TYPE,
8        origin_id		fte_lanes.origin_id%TYPE,
9        destination_id		fte_lanes.destination_id%TYPE,
10        distance			fte_lanes.distance%TYPE,
11        distance_uom		fte_lanes.distance_uom%TYPE,
12        transit_time		fte_lanes.transit_time%TYPE,
13        transit_time_uom		fte_lanes.transit_time_uom%TYPE,
14        basis			fte_lanes.basis%TYPE,
15        comm_fc_class_code	fte_lanes.comm_fc_class_code%TYPE,
16        effective_date		fte_lanes.effective_date%TYPE,
17        expiry_date		fte_lanes.expiry_date%TYPE,
18        pricelist_view_flag	fte_lanes.pricelist_view_flag%TYPE,
19        editable_flag		fte_lanes.editable_flag%TYPE,
20        lane_number		fte_lanes.lane_number%TYPE,
21        mode_of_transportation_code  fte_lanes.mode_of_transportation_code%TYPE,
22        additional_instructions	fte_lanes.additional_instructions%TYPE,
23        special_handling		fte_lanes.special_handling%TYPE,
24        lane_type		fte_lanes.lane_type%TYPE,
25        tariff_name		fte_lanes.tariff_name%TYPE,
26        service_type_code	fte_lanes.service_type_code%TYPE,
27        commodity_catg_id	fte_lanes.commodity_catg_id%TYPE,
28        equipment_type_code	fte_lanes.equipment_type_code%TYPE,
29        container_all_flag	BOOLEAN,
30        basis_flag		BOOLEAN,
31        line_number		NUMBER);
32 
33   TYPE lane_tbl IS TABLE OF
34        lane_rec
35        INDEX BY BINARY_INTEGER;
36 
37   TYPE lane_rate_chart_rec IS RECORD (
38        lane_id			fte_lane_rate_charts.lane_id%TYPE,
39        list_header_id		fte_lane_rate_charts.list_header_id%TYPE,
40        start_date_active	fte_lane_rate_charts.start_date_active%TYPE,
41        end_date_active		fte_lane_rate_charts.end_date_active%TYPE);
42 
43   TYPE lane_rate_chart_tbl IS TABLE OF
44        lane_rate_chart_rec
45        INDEX BY BINARY_INTEGER;
46 
47   TYPE lane_commodity_rec IS RECORD (
48        commodity_catg_id	fte_lane_commodities.commodity_catg_id%TYPE,
49        basis			fte_lane_commodities.basis%TYPE,
50        lane_id			fte_lane_commodities.lane_id%TYPE,
51        lane_commodity_id	fte_lane_commodities.lane_commodity_id%TYPE,
52        basis_flag		BOOLEAN);
53 
54   TYPE lane_commodity_tbl IS TABLE OF
55        lane_commodity_rec
56        INDEX BY BINARY_INTEGER;
57 
58   TYPE lane_service_rec IS RECORD (
59        service_code	fte_lane_services.service_code%TYPE,
60        lane_id		fte_lane_services.lane_id%TYPE,
61        lane_service_id	fte_lane_services.lane_service_id%TYPE);
62 
63   TYPE lane_service_tbl IS TABLE OF
64        lane_service_rec
65        INDEX BY BINARY_INTEGER;
66 
67   TYPE schedule_rec IS RECORD (
68        vessel_name		fte_schedules.vessel_name%TYPE,
69        vessel_type		fte_schedules.vessel_type%TYPE,
70        voyage_number		fte_schedules.voyage_number%TYPE,
71        arrival_date_indicator	fte_schedules.arrival_date_indicator%TYPE,
72        transit_time		fte_schedules.transit_time%TYPE,
73        port_of_loading		fte_schedules.port_of_loading%TYPE,
74        port_of_discharge	fte_schedules.port_of_discharge%TYPE,
75        frequency_type		fte_schedules.frequency_type%TYPE,
76        frequency		fte_schedules.frequency%TYPE,
77        frequency_arrival	fte_schedules.frequency_arrival%TYPE,
78        departure_time		fte_schedules.departure_time%TYPE,
79        arrival_time		fte_schedules.arrival_time%TYPE,
80        departure_date		fte_schedules.departure_date%TYPE,
81        arrival_date		fte_schedules.arrival_date%TYPE,
82        effective_date		fte_schedules.effective_date%TYPE,
83        expiry_date		fte_schedules.expiry_date%TYPE,
84        transit_time_uom		fte_schedules.transit_time_uom%TYPE,
85        lane_id			fte_schedules.lane_id%TYPE,
86        schedules_id		fte_schedules.schedules_id%TYPE,
87        lane_number		fte_schedules.lane_number%TYPE);
88 
89   TYPE schedule_tbl IS TABLE OF
90        fte_schedules%ROWTYPE
91        INDEX BY BINARY_INTEGER;
92 
93   TYPE prc_parameter_rec IS RECORD (
94        value_from		fte_prc_parameters.value_from%TYPE,
95        value_to			fte_prc_parameters.value_to%TYPE,
96        uom_code			fte_prc_parameters.uom_code%TYPE,
97        currency_code		fte_prc_parameters.currency_code%TYPE,
98        parameter_instance_id	fte_prc_parameters.parameter_instance_id%TYPE,
99        lane_id			fte_prc_parameters.lane_id%TYPE,
100        parameter_id		fte_prc_parameters.parameter_id%TYPE);
101 
102   TYPE prc_parameter_tbl IS TABLE OF
103        prc_parameter_rec
104        INDEX BY BINARY_INTEGER;
105 
106   ---------------------------------------------------------------------------
107   -- FUNCTION GET_LANE_ID
108   --
109   -- Purpose: get a lane id for the lane number and carrier id
110   --
111   -- IN parameters:
112   --	1. p_lane_number:	unique lane identification name
113   --	2. p_carrier_id:	carrier id
114   --
115   -- Returns a number, -1 for no lane id, else the lane id for the lane number and carrier
116   ---------------------------------------------------------------------------
117   FUNCTION GET_LANE_ID (p_lane_number	IN 	VARCHAR2,
118 			p_carrier_id	IN	NUMBER) RETURN NUMBER;
119 
120   ---------------------------------------------------------------------------
121   -- FUNCTION GET_NEXT_LANE_ID
122   --
123   -- Purpose: get the next lane squence number
124   --
125   -- Returns lane squence
126   ---------------------------------------------------------------------------
127   FUNCTION GET_NEXT_LANE_ID RETURN NUMBER;
128 
129   ---------------------------------------------------------------------------
130   -- FUNCTION GET_NEXT_LANE_COMMODITY_ID
131   --
132   -- Purpose: get the next squence number for commodity
133   --
134   -- Returns lane commodity sequence
135   ---------------------------------------------------------------------------
136   FUNCTION GET_NEXT_LANE_COMMODITY_ID RETURN NUMBER;
137 
138   ---------------------------------------------------------------------------
139   -- FUNCTION GET_NEXT_LANE_SERVICE_ID
140   --
141   -- Purpose: get the next squence number for service
142   --
143   -- Returns lane service squence
144   ---------------------------------------------------------------------------
145   FUNCTION GET_NEXT_LANE_SERVICE_ID RETURN NUMBER;
146 
147   --------------------------------------------------------------------------
148   -- FUNCTION GET_NEXT_SCHEDULE_ID
149   --
150   -- Purpose: get the next schedule id based on the sequence
151   --
152   -- Returns schedule id, -1 if not found, -2 if other errors
153   --------------------------------------------------------------------------
154   FUNCTION GET_NEXT_SCHEDULE_ID RETURN NUMBER;
155 
156   --------------------------------------------------------------------------
157   -- FUNCTION GET_NEXT_PRC_PARAMETER_ID
158   --
159   -- Purpose: get the next schedule id based on the sequence
160   --
161   -- Returns schedule id, -1 if not found, -2 if other errors
162   --------------------------------------------------------------------------
163   FUNCTION GET_NEXT_PRC_PARAMETER_ID RETURN NUMBER;
164 
165   --------------------------------------------------------------------------
166   -- FUNCTION GET_SCHEDULE
167   --
168   -- Purpose: get the schedule id based on the lane id and voyage
169   --
170   -- IN parameters:
171   --	1. p_lane_id:	lane id to be searched
172   --	2. p_voyage:	voyage
173   --
174   -- Returns the schedule id. < 0 if errors
175   --------------------------------------------------------------------------
176   FUNCTION GET_SCHEDULE(p_lane_id	IN	NUMBER,
177 			p_voyage	IN	VARCHAR2) RETURN NUMBER;
178 
179   ------------------------------------------------------------------------
180   -- PROCEDURE DELETE_ROW
181   --
182   -- Purpose: delete a row in the fte_* tables
183   --
184   -- IN parameters:
185   --  	1. p_id:	id to used for delete
186   --	2. p_table:	table to delete from
187   --	3. p_code:	codes to use for matching
188   --
189   -- OUT parameters:
190   --	1. x_status:	status of the error -1 when no error
191   --	2. x_error_msg:	error msg if any errors
192   ------------------------------------------------------------------------
193   PROCEDURE DELETE_ROW(p_id	IN	NUMBER,
194 		       p_table	IN	VARCHAR2,
195 		       p_code	IN	VARCHAR2,
196 		       p_line_number IN NUMBER,
197 		       x_status	OUT NOCOPY	NUMBER,
198 		       x_error_msg  OUT NOCOPY	VARCHAR2);
199 
200   -------------------------------------------------------------------------
201   --  PROCEDURE UPDATE_LANE_FLAGS
202   --
203   --  Purpose:  update the service detail, commodity detail, and schedules flag of the lane
204   --
205   --  IN parameters:
206   --	1. p_type:	type of the update
207   --	2. p_lane_id:	lane id to be updated
208   --	3. p_value:	value to set the flag to for schedule
209   --
210   --  OUT parameters:
211   --	1. x_status:	status of the error -1 when no error
212   --	2. x_error_msg:	error msg if any errors
213   -------------------------------------------------------------------------
214   PROCEDURE UPDATE_LANE_FLAGS(p_type	IN	VARCHAR2,
215 			      p_lane_id	IN	NUMBER,
216 			      p_value	IN	VARCHAR2 DEFAULT 'N',
217 			      x_status	OUT NOCOPY	NUMBER,
218 			      x_error_msg OUT NOCOPY	VARCHAR2);
219 
220   -------------------------------------------------------------------------
221   --  PROCEDURE UPDATE_LANE_RATE_CHART
222   --
223   --  Purpose: update lane rate chart's dates
224   --
225   --  IN parameters:
226   --	1. p_list_header_id:	the rate chart to update in fte_lane_rate_charts
227   --	2. p_start_date:	start date
228   --	3. p_end_date:		end date
229   --
230   --  OUT parameters:
231   --	1. x_status:	status of the error -1 when no error
232   --	2. x_error_msg:	error msg if any errors
233   -------------------------------------------------------------------------
234   PROCEDURE UPDATE_LANE_RATE_CHART (p_list_header_id	IN	NUMBER,
235 				    p_start_date	IN	DATE,
236 				    p_end_date		IN	DATE,
237 				    x_status		OUT NOCOPY NUMBER,
238 				    x_error_msg		OUT NOCOPY VARCHAR2);
239 
240 
241   ------------------------------------------------------------------
242   -- FUNCTION VERIFY_OVERLAPPING_DATE
243   --
244   -- Purpose: verify if the rate chart being added has any date conflict with the ones already attached
245   --
246   -- IN parameters:
247   --	1. p_name:	name of the rate chart
248   --	2. p_lane_id:	lane id
249   --
250   -- OUT parameters:
251   --	1. x_status:	error status, -1 if no error
252   --	2. x_error_msg: error message if any
253   --
254   -- RETURN true if some other chart date overlap, false if no overlap
255   ------------------------------------------------------------------
256   FUNCTION VERIFY_OVERLAPPING_DATE(p_name	IN	VARCHAR2,
257 				   p_lane_id	IN	NUMBER,
258 				   x_status	OUT NOCOPY NUMBER,
259 				   x_error_msg	OUT NOCOPY VARCHAR2) RETURN BOOLEAN;
260 
261   ------------------------------------------------------------------
262   -- FUNCTION FIND_TYPE
263   --
264   -- Purpose: find if the lane service or lane commodity already have the service level or commodity
265   --
266   -- IN parameters:
267   --	1. p_type:	SERVICE_LEVEL or COMMODITY
268   --	2. p_value:	value to be found
269   --	3. p_lane_id:	lane id
270   --
271   -- OUT parameters:
272   --	1. x_status:	error status, -1 if no error
273   --	2. x_error_msg: error message if any
274   --
275   -- RETURN true if type is found
276   ------------------------------------------------------------------
277   FUNCTION FIND_TYPE(p_type	IN	VARCHAR2,
278 		     p_value	IN	VARCHAR2,
279 		     p_lane_id	IN	NUMBER,
280 		     p_line_number IN 	NUMBER,
281 		     x_status	OUT NOCOPY NUMBER,
282 		     x_error_msg	OUT NOCOPY VARCHAR2) RETURN BOOLEAN;
283 
284   -------------------------------------------------------------------------
285   --  PROCEDURE INSERT_LANE_TABLES
286   --
287   --  Purpose: insert all lane tables
288   --
289   --  IN parameters:
290   --	1. p_lane_tbl:		lane pl/sql table
291   --	2. p_lane_rate_chart_tbl: lane rate chart pl/sql table
292   --	3. p_lane_commodity_tbl: lane commodity pl/sql table
293   --	4. p_lane_service_tbl:	lane service pl/sql table
294   --
295   --  OUT parameters:
296   --	1. x_status:	status of the error -1 when no error
297   --	2. x_error_msg:	error msg if any errors
298   -------------------------------------------------------------------------
299   PROCEDURE INSERT_LANE_TABLES(p_lane_tbl		IN OUT NOCOPY lane_tbl,
300 			       p_lane_rate_chart_tbl	IN OUT NOCOPY lane_rate_chart_tbl,
301 			       p_lane_commodity_tbl	IN OUT NOCOPY lane_commodity_tbl,
302 			       p_lane_service_tbl	IN OUT NOCOPY lane_service_tbl,
303 			       x_status		OUT NOCOPY NUMBER,
304 			       x_error_msg	OUT NOCOPY VARCHAR2);
305 
306   -------------------------------------------------------------------------
307   --  PROCEDURE INSERT_SCHEDULES
308   --
309   --  Purpose: insert schedules
310   --
311   --  IN parameters:
312   --	1. p_schedule_tbl:	schedules pl/sql table
313   --
314   --  OUT parameters:
315   --	1. x_status:	status of the error -1 when no error
316   --	2. x_error_msg:	error msg if any errors
317   -------------------------------------------------------------------------
318   PROCEDURE INSERT_SCHEDULES(p_schedule_tbl		IN OUT NOCOPY schedule_tbl,
319 			     x_status			OUT NOCOPY NUMBER,
320 			     x_error_msg		OUT NOCOPY VARCHAR2);
321 
322   -------------------------------------------------------------------------------
323   --
324   -- PROCEDURE: Check_Lanes
325   -- Purpose: check if the rate chart has lanes attatched to it or not
326   --
327   -- IN Parameter:
328   --	1. p_pricelist_id:	list header id
329   --
330   -- OUT Parameters:
331   --	1. x_status:	status, -1 if no lanes attached, 2 otherwise
332   --	2. x_error_msg:	error message if any
333   --
334   --  Returns -1 if there are no lanes attached to the
335   --                rate chart, 2 otherwise.
336   -------------------------------------------------------------------------------
337   PROCEDURE Check_Lanes(p_pricelist_id  IN     NUMBER,
338                         x_status	OUT NOCOPY NUMBER,
339 			x_error_msg  	OUT NOCOPY VARCHAR2);
340 
341   -------------------------------------------------------------------------
342   --  PROCEDURE INSERT_PRC_PARAMETERS
343   --
344   --  Purpose: insert the prc parameter row
345   --
346   --  IN parameters:
347   --	1. p_prc_parameter_tbl:	pricing parameter pl/sql table
348   --
349   --  OUT parameters:
350   --	1. x_status:	status of the error -1 when no error
351   --	2. x_error_msg:	error msg if any errors
352   -------------------------------------------------------------------------
353   PROCEDURE INSERT_PRC_PARAMETERS(p_prc_parameter_tbl	IN OUT NOCOPY prc_parameter_tbl,
354 			      	  x_status		OUT NOCOPY NUMBER,
355 			     	  x_error_msg		OUT NOCOPY VARCHAR2);
356 
357   -------------------------------------------------------------------------
358   --  PROCEDURE UPDATE_PRC_PARAMETER
359   --
360   --  Purpose: update pricing parameter line
361   --
362   --  IN parameters:
363   --	1. p_prc_parameter_tbl:	pricing parameter pl/sql table
364   --
365   --  OUT parameters:
366   --	1. x_status:	status of the error -1 when no error
367   --	2. x_error_msg:	error msg if any errors
368   -------------------------------------------------------------------------
369   PROCEDURE UPDATE_PRC_PARAMETER( p_prc_parameter_tbl	IN	prc_parameter_tbl,
370 				  x_status		OUT NOCOPY NUMBER,
371 				  x_error_msg		OUT NOCOPY VARCHAR2);
372 
373   ------------------------------------------------------------------------
374   -- FUNCTION CHECK_EXISTING_LOAD
375   --
376   -- Purpose: check existing entries in the fte_* tables
377   --
378   -- IN parameters:
379   --  	1. p_id:	id to used for validating
380   --	2. p_table:	table to validate
381   --	3. p_code:	codes to use for matching
382   --
383   -- OUT parameters:
384   --	1. x_status:	status of the error -1 when no error
385   --	2. x_error_msg:	error msg if any errors
386   ------------------------------------------------------------------------
387   FUNCTION CHECK_EXISTING_LOAD( p_id		IN	NUMBER,
388 		       	        p_table		IN	VARCHAR2,
389 		       		p_code		IN	VARCHAR2,
390 		       		p_line_number 	IN 	NUMBER,
391 		       		x_status	OUT NOCOPY NUMBER,
392 		       		x_error_msg  	OUT NOCOPY VARCHAR2) RETURN BOOLEAN;
393 
394 END FTE_LANE_PKG;