1 PACKAGE BODY WSH_WSHRDXCP_XMLP_PKG AS
2 /* $Header: WSHRDXCPB.pls 120.6 2010/07/07 13:07:05 gbhargav ship $ */
3 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4 C_DATE_FORMAT varchar2(20);
5 BEGIN
6 BEGIN
7 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
8 C_DATE_FORMAT := 'DD-MON-YY';
9 CP_CREATION_DATE_FROM := to_char(P_CREATION_DATE_FROM,C_DATE_FORMAT);
10 CP_CREATION_DATE_TO := to_char(P_CREATION_DATE_TO,C_DATE_FORMAT);
11 CP_LAST_UPDATE_DATE_FROM := to_char(P_LAST_UPDATE_DATE_FROM,C_DATE_FORMAT);
12 CP_LAST_UPDATE_DATE_TO := to_char(P_LAST_UPDATE_DATE_TO,C_DATE_FORMAT);
13 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
14 EXCEPTION
15 WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
16 /*SRW.MESSAGE(1
17 ,'Failed FND SRWINIT.')*/NULL;
18 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
19 END;
20 DECLARE
21 P_ORG_ID_CHAR VARCHAR2(100) := TO_CHAR(P_ORG_ID);
22 BEGIN
23 /*SRW.USER_EXIT('FND PUTPROFILE NAME="' || 'MFG_ORGANIZATION_ID' || '" FIELD="' || P_ORG_ID_CHAR || '"')*/NULL;
24 EXCEPTION
25 WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
26 /*SRW.MESSAGE(020
27 ,'Failed in before report trigger, setting org profile ')*/NULL;
28 RAISE;
29 END;
30 BEGIN
31 NULL;
32 EXCEPTION
33 WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
34 /*SRW.MESSAGE(1
35 ,'Before Report: LocatorFlex')*/NULL;
36 END;
37 BEGIN
38 NULL;
39 EXCEPTION
40 WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
41 /*SRW.MESSAGE(1
42 ,'Before Report: ItemFlex')*/NULL;
43 END;
44 DECLARE
45 CURSOR WAREHOUSE_NAME IS
46 SELECT
47 NAME
48 FROM
49 HR_ORGANIZATION_UNITS
50 WHERE ORGANIZATION_ID = P_ORG_ID;
51 BEGIN
52 OPEN WAREHOUSE_NAME;
53 FETCH WAREHOUSE_NAME
54 INTO CP_WAREHOUSE_NAME;
55 CLOSE WAREHOUSE_NAME;
56 CP_EXCEPTION_LOCATION_NAME := WSH_UTIL_CORE.GET_LOCATION_DESCRIPTION(P_EXCEPTION_LOCATION_ID
57 ,'NEW UI CODE');
58 CP_SHIP_FROM_LOCATION_NAME := WSH_UTIL_CORE.GET_LOCATION_DESCRIPTION(P_LOGGED_LOCATION_ID
59 ,'NEW UI CODE');
60 END;
61 RETURN (TRUE);
62 END BEFOREREPORT;
63
64 FUNCTION AFTERREPORT RETURN BOOLEAN IS
65 BEGIN
66 BEGIN
67 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
68 EXCEPTION
69 WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
70 /*SRW.MESSAGE(1
71 ,'Failed in SRWEXIT')*/NULL;
72 RAISE;
73 END;
74 RETURN (TRUE);
75 END AFTERREPORT;
76
77 FUNCTION AFTERPFORM RETURN BOOLEAN IS
78 L_DEL_LINES_CONT VARCHAR2(10000);
79 L_DEL_LINES_CONT_TEMP VARCHAR2(5000); --Bug 8800213
80 BEGIN
81 BEGIN
82 P_BATCHES := ' ';
83 P_WSH_PICKING_BATCHES_TABLE := ' ';
84 P_WE_WPB_OUTER_JOIN := ' ';
85 P_HINT_1 := ' ';
86 IF (P_MOVE_ORDER_LOW IS NOT NULL OR P_MOVE_ORDER_HIGH IS NOT NULL) THEN
87 P_WSH_PICKING_BATCHES_TABLE := ' wsh_picking_batches wpb, ';
88 P_WE_WPB_OUTER_JOIN := ' and wpb.batch_id = we.batch_id ';
89 P_HINT_1 := '/*+leading(wpb)*/ ';
90 IF (P_MOVE_ORDER_LOW IS NOT NULL AND P_MOVE_ORDER_HIGH IS NOT NULL) THEN
91 IF (P_MOVE_ORDER_LOW < P_MOVE_ORDER_HIGH) THEN
92 P_BATCHES := ' and wpb.name between :p_move_order_low and :p_move_order_high ';
93 ELSIF (P_MOVE_ORDER_LOW = P_MOVE_ORDER_HIGH) THEN
94 P_BATCHES := ' and wpb.name = :p_move_order_low ';
95 END IF;
96 ELSIF P_MOVE_ORDER_LOW IS NULL THEN
97 P_BATCHES := ' and wpb.name <= :p_move_order_high ';
98 ELSE
99 P_BATCHES := ' and wpb.name >= :p_move_order_low ';
100 END IF;
101 END IF;
102 END;
103 P_REQUEST := ' ';
104 P_EXCEPTION := ' ';
105 P_LOGGING_ENTITY_LOCATION := ' ';
106 P_TRIP := ' ';
107 P_DELIVERY := ' ';
108 P_SEVERITY_STATUS := ' ';
109 P_CREATION_UPDATE_DATE := ' ';
110 IF (P_REQUEST_ID IS NOT NULL and P_REQUEST_ID <> -99 ) THEN --Bug 8800213 added P_REQUEST_ID != -99
111 P_REQUEST := ' and we.request_id = :p_request_id ';
112 END IF;
113 IF (P_EXCEPTION_NAME IS NOT NULL) THEN
114 P_EXCEPTION := ' and we.exception_name = :p_exception_name ';
115 END IF;
116 IF (P_LOGGING_ENTITY IS NOT NULL) THEN
117 P_LOGGING_ENTITY_LOCATION := ' and we.logging_entity = :p_logging_entity ';
118 END IF;
119 IF (P_LOGGED_LOCATION_ID IS NOT NULL) THEN
120 P_LOGGING_ENTITY_LOCATION := P_LOGGING_ENTITY_LOCATION || ' and we.logged_at_location_id = :p_logged_location_id ';
121 END IF;
122 IF (P_EXCEPTION_LOCATION_ID IS NOT NULL) THEN
123 P_LOGGING_ENTITY_LOCATION := P_LOGGING_ENTITY_LOCATION || ' and we.exception_location_id = :p_exception_location_id ';
124 END IF;
125
126 IF (P_REQUEST_ID IS NULL) THEN --bug 8800213 check trip only when P_REQUEST_ID is null
127 IF (P_TRIP_ID_LOW IS NOT NULL) THEN
128 P_TRIP := ' and nvl(we.trip_id, -1) >= decode(:p_request_id, null, :p_trip_id_low, nvl(we.trip_id, -1)) ';
129 END IF;
130
131 IF (P_TRIP_ID_HIGH IS NOT NULL) THEN
132 P_TRIP := P_TRIP || ' and nvl(we.trip_id, -1) <= decode(:p_request_id, null, :p_trip_id_high, nvl(we.trip_id, -1)) ';
133 END IF;
134 END IF;
135
136 IF (P_REQUEST_ID IS NULL) THEN
137 IF (P_DELIVERY_ID_LOW IS NOT NULL) THEN
138 P_DELIVERY := ' and we.delivery_id >= :p_delivery_id_low ';
139 END IF;
140 IF (P_DELIVERY_ID_HIGH IS NOT NULL) THEN
141 P_DELIVERY := P_DELIVERY || ' and we.delivery_id <= :p_delivery_id_high ';
142 END IF;
143 END IF;
144 IF (P_SEVERITY IS NOT NULL) THEN
145 P_SEVERITY_STATUS := ' and we.severity = :p_severity ';
146 END IF;
147 IF (P_STATUS IS NOT NULL) THEN
148 P_SEVERITY_STATUS := P_SEVERITY_STATUS || ' and we.status = :p_status ';
149 END IF;
150 IF (P_CREATION_DATE_FROM IS NOT NULL) THEN
151 P_CREATION_UPDATE_DATE := ' and we.creation_date >= :p_creation_date_from ';
152 END IF;
153 IF (P_CREATION_DATE_TO IS NOT NULL) THEN
154 P_CREATION_UPDATE_DATE := P_CREATION_UPDATE_DATE || ' and we.creation_date - ( 86399/86400 ) <= :p_creation_date_to ';
155 END IF;
156 IF (P_LAST_UPDATE_DATE_FROM IS NOT NULL) THEN
157 P_CREATION_UPDATE_DATE := P_CREATION_UPDATE_DATE || ' and we.last_update_date >= :p_last_update_date_from ';
158 END IF;
159 IF (P_LAST_UPDATE_DATE_TO IS NOT NULL) THEN
160 P_CREATION_UPDATE_DATE := P_CREATION_UPDATE_DATE || ' and we.last_update_date - ( 86399/86400 ) <= :p_last_update_date_to ';
161 END IF;
162 L_DEL_LINES_CONT := '';
163 IF ((P_DELIVERY_ID_LOW IS NOT NULL OR P_DELIVERY_ID_HIGH IS NOT NULL) AND
164 (P_MOVE_ORDER_LOW IS NULL AND P_MOVE_ORDER_HIGH IS NULL)) THEN --Bug 8800213 Don't populate L_DEL_LINES_CONT for Pick release online and concurrent
165 --{
166 --Bug 8993846 broken the query into select clause and where clause so that after select clause query flexfield lexicals can be accessed in data template.
167 P_DEL_LINES_CONT:= 'UNION select
168 --Bug 8800213 :Adding the hint to improve performance
169 /*+ leading(wda)*/
170 EXCEPTION_ID --Bug 8800213 indented all columns to left to reduce the dynamic string length
171 ,LOGGED_AT_LOCATION_ID
172 ,LE.MEANING LOGGING_ENTITY_MEANING
173 ,EXCEPTION_NAME
174 ,EXCEPTION_LOCATION_ID
175 ,MESSAGE
176 ,SEV.MEANING SEVERITY_MEANING
177 ,MANUALLY_LOGGED
178 ,STA.MEANING STATUS_MEANING
179 ,we.TRIP_ID
180 ,TRIP_NAME
181 ,we.TRIP_STOP_ID
182 ,we.DELIVERY_ID
183 ,DELIVERY_NAME
184 ,we.DELIVERY_DETAIL_ID
185 ,we.DELIVERY_ASSIGNMENT_ID
186 ,we.CONTAINER_NAME
187 ,' || P_ITEM_FLEXSQL ||' C_ITEM_FLEXDAT --bug 8800213 placed P_ITEM_FLEXSQL outside string so that its values is appended
188 ,we.INVENTORY_ITEM_ID
189 ,we.LOT_NUMBER
190 -- HW OPM Convergence Project. Commented Sublot
191 -- ,we.SUBLOT_NUMBER
192 ,we.REVISION
193 ,we.SERIAL_NUMBER
194 ,UNIT_OF_MEASURE
195 ,UNIT_OF_MEASURE2
196 ,QUANTITY
197 ,QUANTITY2
198 ,we.SUBINVENTORY
199 ,we.LOCATOR_ID
200 ,'|| P_LOCATOR_FLEXSQL ||' C_LOCATOR_FLEXDAT --bug 8800213 placed P_LOCATOR_FLEXSQL outside string so that its values is appended
201 ,ARRIVAL_DATE
202 ,DEPARTURE_DATE
203 ,ERROR_MESSAGE
204 ,we.CREATION_DATE
205 ,we.REQUEST_ID
206 ,WND.NAME DEL_NAME
207 ,WT.NAME TRP_NAME
208 --Bug 8800213 added following columns as main query has these columns.
209 ,WSH_WSHRDXCP_XMLP_PKG.c_exception_locationformula(EXCEPTION_LOCATION_ID) C_Exception_Location
210 ,WSH_WSHRDXCP_XMLP_PKG.c_logged_locationformula(LOGGED_AT_LOCATION_ID) C_Logged_Location
211 ,WSH_WSHRDXCP_XMLP_PKG.cf_container_nameformula(we.CONTAINER_NAME, we.DELIVERY_DETAIL_ID) CF_container_name
212 ,WSH_WSHRDXCP_XMLP_PKG.cf_delivery_nameformula(we.DELIVERY_DETAIL_ID, WND.NAME) CF_delivery_name
213 ,WSH_WSHRDXCP_XMLP_PKG.CP_delivery_detail_id_p CP_delivery_detail_id';
214
215 L_DEL_LINES_CONT_TEMP :=
216 'from
217 wsh_exceptions we,
218 mtl_system_items sys,
219 mtl_item_locations loc, ' || P_WSH_PICKING_BATCHES_TABLE || ' wsh_lookups sta,
220 wsh_lookups sev,
221 wsh_lookups le,
222 WSH_NEW_DELIVERIES WND,
223 WSH_TRIPS WT,
224 WSH_TRIP_STOPS WTS,
225 WSH_DELIVERY_DETAILS WDD,
226 WSH_DELIVERY_ASSIGNMENTS_V WDA --Bug 8800213
227 where
228 sta.lookup_type = ''EXCEPTION_STATUS''
229 and sta.lookup_code = we.status
230 and sev.lookup_type IN ( ''EXCEPTION_SEVERITY'',''EXCEPTION_BEHAVIOR'')
231 and sev.lookup_code = we.severity
232 and le.lookup_type = ''LOGGING_ENTITY''
233 and le.lookup_code = logging_entity
234 and sys.organization_id(+) = we.exception_location_id
235 and sys.inventory_item_id(+) = we.inventory_item_id
236 and loc.inventory_location_id(+) = we.locator_id
237 and loc.organization_id(+) = we.exception_location_id ' || P_WE_WPB_OUTER_JOIN || ' and (we.exception_name IS NULL OR we.exception_name not like ''WSH_IB%'')
238 and we.DELIVERY_ID = WND.DELIVERY_ID (+)
239 and we.TRIP_ID = WT.TRIP_ID (+)
240 and we.TRIP_STOP_ID = WTS.STOP_ID (+)
241 and we.DELIVERY_DETAIL_ID = WDD.DELIVERY_DETAIL_ID (+)
242 and ( WND.SHIPMENT_DIRECTION is null or WND.SHIPMENT_DIRECTION IN (''O'', ''IO'') ) --Bug# 3748009
243 and ( WND.DELIVERY_TYPE is null or WND.DELIVERY_TYPE = ''STANDARD'') -- R12 MDC changes
244 and ( WT.SHIPMENTS_TYPE_FLAG is null or WT.SHIPMENTS_TYPE_FLAG IN (''O'', ''M'') ) --Bug# 3748009
245 and ( WTS.SHIPMENTS_TYPE_FLAG is null or WTS.SHIPMENTS_TYPE_FLAG IN (''O'', ''M'') ) --Bug# 3748009
246 and ( WDD.LINE_DIRECTION is null or WDD.LINE_DIRECTION IN (''O'', ''IO'') ) ';
247
248 --Bug 8800213 : Adding the common part of the unions, to the main string.
249 P_DEL_LINES_CONT_1 := P_DEL_LINES_CONT_1||L_DEL_LINES_CONT_TEMP;
250
251 P_DEL_LINES_CONT_1 := P_DEL_LINES_CONT_1 || P_BATCHES;
252
253 --Bug 8800213 commented above code and rebuild the queries to seperate out delivery details and container query
254 P_DEL_LINES_CONT_1 := P_DEL_LINES_CONT_1 || ' ';
255
256 IF P_DELIVERY_ID_LOW IS NOT NULL THEN
257 P_DEL_LINES_CONT_1 := P_DEL_LINES_CONT_1 || ' AND wda.delivery_id >= :p_delivery_id_low ';
258 END IF;
259
260 IF P_DELIVERY_ID_HIGH IS NOT NULL THEN
261 P_DEL_LINES_CONT_1 := P_DEL_LINES_CONT_1 || ' AND wda.delivery_id <= :p_delivery_id_high ';
262 END IF;
263 --Bug 8310786:The following part of query ensures that only exceptions logged against delivery details are selected.
264 P_DEL_LINES_CONT_1 := P_DEL_LINES_CONT_1 || ' AND wda.delivery_id IS NOT NULL
265 AND we.delivery_detail_id = wda.delivery_detail_id
266 AND we.status <> ''CLOSED'' ';
267
268 --Bug 8310786: Adding the common part of the unions, to the main string.
269 P_DEL_LINES_CONT_2 := P_DEL_LINES_CONT_2 ||L_DEL_LINES_CONT_TEMP;
270 --Bug# 3726195
271 P_DEL_LINES_CONT_2 := P_DEL_LINES_CONT_2 || P_BATCHES;
272
273 P_DEL_LINES_CONT_2 := P_DEL_LINES_CONT_2 || ' ';
274
275 IF P_DELIVERY_ID_LOW IS NOT NULL THEN
276 P_DEL_LINES_CONT_2 := P_DEL_LINES_CONT_2 || ' AND wda.delivery_id >= :p_delivery_id_low ';
277 END IF;
278
279 IF P_DELIVERY_ID_HIGH IS NOT NULL THEN
280 P_DEL_LINES_CONT_2 := P_DEL_LINES_CONT_2 || ' AND wda.delivery_id <= :p_delivery_id_high ';
281 END IF;
282
283 --Bug 8310786: The following part of query ensures that only exceptions logged against containers are selected.
284 P_DEL_LINES_CONT_2 := P_DEL_LINES_CONT_2 || ' AND wda.delivery_id IS NOT NULL
285 AND wdd.delivery_detail_id = wda.delivery_detail_id
286 AND wdd.container_flag = ''Y''
287 AND we.container_name = wdd.container_name
288 AND we.status <> ''CLOSED'' ';
289
290 --}
291 ELSE
292 --{
293 P_DEL_LINES_CONT := '--';
294 P_DEL_LINES_CONT_1 := '--';
295 P_DEL_LINES_CONT_2 := '--';
296 --}
297 END IF;
298 IF P_SORT_BY = '1' THEN
299 P_ORDER_BY := ' order by we.exception_name ';
300 END IF;
301 IF P_SORT_BY = '2' THEN
302 P_ORDER_BY := ' order by we.severity, we.trip_name, we.delivery_name ';
303 END IF;
304 IF P_SORT_BY = '3' THEN
305 P_ORDER_BY := ' order by we.severity, we.delivery_name, we.trip_name ';
306 END IF;
307 IF P_SORT_BY = '4' THEN
308 P_ORDER_BY := ' order by we.status, we.trip_name, we.delivery_name ';
309 END IF;
310 IF P_SORT_BY = '5' THEN
311 P_ORDER_BY := ' order by we.status, we.delivery_name, we.trip_name ';
312 END IF;
313 IF P_SORT_BY = '6' THEN
314 P_ORDER_BY := ' order by we.trip_name, we.delivery_name ';
315 END IF;
316 IF P_SORT_BY = '7' THEN
317 P_ORDER_BY := ' order by we.delivery_name, we.trip_name ';
318 END IF;
319 IF P_SORT_BY = '8' THEN
320 P_ORDER_BY := ' order by we.creation_date, we.trip_name, we.delivery_name ';
321 END IF;
322 IF P_SORT_BY = '9' THEN
323 P_ORDER_BY := ' order by we.creation_date, we.delivery_name, we.trip_name ';
324 END IF;
325 IF P_SORT_BY = '10' THEN
326 P_ORDER_BY := ' order by we.logging_entity ';
327 END IF;
328 RETURN (TRUE);
329 END AFTERPFORM;
330
331 FUNCTION C_LOGGED_LOCATIONFORMULA(LOGGED_AT_LOCATION_ID IN NUMBER) RETURN CHAR IS
332 L_LOGGED_LOCATION VARCHAR2(121);
333 BEGIN
334 IF LOGGED_AT_LOCATION_ID IS NOT NULL THEN
335 L_LOGGED_LOCATION := WSH_UTIL_CORE.GET_LOCATION_DESCRIPTION(LOGGED_AT_LOCATION_ID
336 ,'NEW UI CODE');
337 RETURN (L_LOGGED_LOCATION);
338 ELSE
339 RETURN (NULL);
340 END IF;
341 END C_LOGGED_LOCATIONFORMULA;
342
343 FUNCTION C_EXCEPTION_LOCATIONFORMULA(EXCEPTION_LOCATION_ID IN NUMBER) RETURN CHAR IS
344 L_EXCEPTION_LOCATION VARCHAR2(121);
345 BEGIN
346 IF EXCEPTION_LOCATION_ID IS NOT NULL THEN
347 L_EXCEPTION_LOCATION := WSH_UTIL_CORE.GET_LOCATION_DESCRIPTION(EXCEPTION_LOCATION_ID
348 ,'NEW UI CODE');
349 RETURN (L_EXCEPTION_LOCATION);
350 ELSE
351 RETURN (NULL);
352 END IF;
353 END C_EXCEPTION_LOCATIONFORMULA;
354
355 FUNCTION CF_CONTAINER_NAMEFORMULA(CONTAINER_NAME IN VARCHAR2
356 ,DELIVERY_DETAIL_ID IN NUMBER) RETURN VARCHAR2 IS
357 CURSOR C_NAME(X_DETAIL_ID IN NUMBER) IS
358 SELECT
359 CONTAINER_NAME,
360 CONTAINER_FLAG
361 FROM
362 WSH_DELIVERY_DETAILS WDD
363 WHERE WDD.DELIVERY_DETAIL_ID = X_DETAIL_ID;
364 L_INFO C_NAME%ROWTYPE;
365 BEGIN
366 IF CONTAINER_NAME IS NOT NULL THEN
367 CP_DELIVERY_DETAIL_ID := DELIVERY_DETAIL_ID;
368 RETURN CONTAINER_NAME;
369 END IF;
370 IF DELIVERY_DETAIL_ID IS NULL THEN
371 CP_DELIVERY_DETAIL_ID := NULL;
372 RETURN NULL;
373 END IF;
374 OPEN C_NAME(DELIVERY_DETAIL_ID);
375 FETCH C_NAME
376 INTO L_INFO;
377 CLOSE C_NAME;
378 IF L_INFO.CONTAINER_FLAG = 'Y' THEN
379 CP_DELIVERY_DETAIL_ID := NULL;
380 ELSE
381 CP_DELIVERY_DETAIL_ID := DELIVERY_DETAIL_ID;
382 END IF;
383 RETURN L_INFO.CONTAINER_NAME;
384 EXCEPTION
385 WHEN OTHERS THEN
386 IF C_NAME%ISOPEN THEN
387 CLOSE C_NAME;
388 END IF;
389 CP_DELIVERY_DETAIL_ID := DELIVERY_DETAIL_ID;
390 RETURN CONTAINER_NAME;
391 END CF_CONTAINER_NAMEFORMULA;
392
393 FUNCTION CF_DELIVERY_NAMEFORMULA(DELIVERY_DETAIL_ID IN NUMBER
394 ,DEL_NAME IN VARCHAR2) RETURN CHAR IS
395 L_DELIVERY VARCHAR2(30);
396 CURSOR C_DELIVERY(P_DELIVERY_DETAIL_ID IN NUMBER) IS
397 SELECT
398 NAME
399 FROM
400 WSH_NEW_DELIVERIES WND,
401 WSH_DELIVERY_DETAILS WDD,
402 WSH_DELIVERY_ASSIGNMENTS_V WDA
403 WHERE WDD.DELIVERY_DETAIL_ID = P_DELIVERY_DETAIL_ID
404 AND WDA.DELIVERY_DETAIL_ID = WDD.DELIVERY_DETAIL_ID
405 AND WDA.DELIVERY_ID = WND.DELIVERY_ID
406 AND WND.DELIVERY_TYPE = 'STANDARD';
407 BEGIN
408 IF DELIVERY_DETAIL_ID IS NOT NULL AND DEL_NAME IS NULL THEN
409 OPEN C_DELIVERY(DELIVERY_DETAIL_ID);
410 FETCH C_DELIVERY
411 INTO L_DELIVERY;
412 CLOSE C_DELIVERY;
413 ELSE
414 L_DELIVERY := DEL_NAME;
415 END IF;
416 RETURN (L_DELIVERY);
417 END CF_DELIVERY_NAMEFORMULA;
418
419 FUNCTION CP_DELIVERY_DETAIL_ID_P RETURN NUMBER IS
420 BEGIN
421 RETURN CP_DELIVERY_DETAIL_ID;
422 END CP_DELIVERY_DETAIL_ID_P;
423
424 FUNCTION CP_EXCEPTION_LOCATION_NAME_P RETURN VARCHAR2 IS
425 BEGIN
426 RETURN CP_EXCEPTION_LOCATION_NAME;
427 END CP_EXCEPTION_LOCATION_NAME_P;
428
429 FUNCTION CP_SHIP_FROM_LOCATION_NAME_P RETURN VARCHAR2 IS
430 BEGIN
431 RETURN CP_SHIP_FROM_LOCATION_NAME;
432 END CP_SHIP_FROM_LOCATION_NAME_P;
433
434 FUNCTION CP_WAREHOUSE_NAME_P RETURN VARCHAR2 IS
435 BEGIN
436 RETURN CP_WAREHOUSE_NAME;
437 END CP_WAREHOUSE_NAME_P;
438
439 END WSH_WSHRDXCP_XMLP_PKG;
440