1 PACKAGE BODY WSH_WSHRDINV_XMLP_PKG AS
2 /* $Header: WSHRDINVB.pls 120.2 2008/02/18 10:13:28 dwkrishn noship $ */
3 FUNCTION AFTERPFORM RETURN BOOLEAN IS
4 BEGIN
5 DECLARE
6 EIN_NUMBER VARCHAR2(150);
7 STRUCT_NUMBER NUMBER;
8 L_MSG_BUFFER VARCHAR2(2000);
9 CURSOR ORG_NAME IS
10 SELECT
11 ORGANIZATION_NAME
12 FROM
13 ORG_ORGANIZATION_DEFINITIONS
14 WHERE ORGANIZATION_ID = P_ORGANIZATION_ID;
15 CURSOR ORG_EIN IS
16 SELECT
17 OI.ORG_INFORMATION1
18 FROM
19 HR_ORGANIZATION_INFORMATION OI
20 WHERE OI.ORGANIZATION_ID = P_ORGANIZATION_ID
21 AND OI.ORG_INFORMATION_CONTEXT = 'Employer Identification';
22 CURSOR MASTER_ORG_EIN IS
23 SELECT
24 MOI.ORG_INFORMATION1
25 FROM
26 MTL_PARAMETERS MP,
27 HR_ORGANIZATION_INFORMATION MOI
28 WHERE MP.ORGANIZATION_ID = P_ORGANIZATION_ID
29 AND MP.MASTER_ORGANIZATION_ID = MOI.ORGANIZATION_ID
30 AND MOI.ORG_INFORMATION_CONTEXT = 'Employer Identification';
31 CURSOR STRUCT_NUM(FLEX_CODE IN VARCHAR2) IS
32 SELECT
33 ID_FLEX_NUM
34 FROM
35 FND_ID_FLEX_STRUCTURES
36 WHERE ID_FLEX_CODE = FLEX_CODE;
37 L_WH_ID NUMBER;
38 L_TMP VARCHAR2(100);
39 BEGIN
40 FND_MESSAGE.SET_NAME('WSH'
41 ,'WSH_COMM_INV_RPT_EXPORT_TXT');
42 L_MSG_BUFFER := FND_MESSAGE.GET;
43 P_EXPORT_TXT := SUBSTRB(L_MSG_BUFFER
44 ,1
45 ,300);
46 OPEN ORG_NAME;
47 FETCH ORG_NAME
48 INTO H_WAREHOUSE_NAME;
49 CLOSE ORG_NAME;
50 OPEN ORG_EIN;
51 FETCH ORG_EIN
52 INTO EIN_NUMBER;
53 CLOSE ORG_EIN;
54 IF EIN_NUMBER IS NULL THEN
55 OPEN MASTER_ORG_EIN;
56 FETCH MASTER_ORG_EIN
57 INTO EIN_NUMBER;
58 CLOSE MASTER_ORG_EIN;
59 END IF;
60 H_EIN := EIN_NUMBER;
61 IF H_REPORT_ID IS NULL THEN
62 H_REPORT_ID := TO_NUMBER(VALUE('CONC_REQUEST_ID'));
63 END IF;
64 IF H_REPORT_ID IS NULL THEN
65 H_REPORT_ID := TO_NUMBER(TO_CHAR(SYSDATE
66 ,'HH24MMSS'));
67 END IF;
68 OPEN STRUCT_NUM(P_ITEM_FLEX_CODE);
69 FETCH STRUCT_NUM
70 INTO STRUCT_NUMBER;
71 CLOSE STRUCT_NUM;
72 LP_STRUCTURE_NUM := STRUCT_NUMBER;
73 IF LP_DEPARTURE_DATE_HIGH IS NOT NULL THEN
74 LP_DEPARTURE_DATE_HIGH := LP_DEPARTURE_DATE_HIGH + (86399 / 86400);
75 END IF;
76 IF P_DEPARTURE_DATE_LOW IS NOT NULL OR LP_DEPARTURE_DATE_HIGH IS NOT NULL THEN
77 IF P_DEPARTURE_DATE_LOW IS NULL THEN
78 LP_DEPARTURE_DATE := 'AND wnd.delivery_id IN (select distinct delivery_id from wsh_delivery_legs where pick_up_stop_id in (select stop_id from wsh_trip_stops where planned_departure_date <= :LP_DEPARTURE_DATE_HIGH))';
79 ELSIF LP_DEPARTURE_DATE_HIGH IS NULL THEN
80 LP_DEPARTURE_DATE := 'AND wnd.delivery_id IN (select distinct delivery_id from wsh_delivery_legs where pick_up_stop_id in (select stop_id from wsh_trip_stops where planned_departure_date >= :P_DEPARTURE_DATE_LOW))';
81 ELSE
82 LP_DEPARTURE_DATE := 'AND wnd.delivery_id in (select distinct delivery_id from wsh_delivery_legs where pick_up_stop_id in (select stop_id from wsh_trip_stops where planned_departure_date between :P_DEPARTURE_DATE_LOW
83 and :LP_DEPARTURE_DATE_HIGH))';
84 END IF;
85 END IF;
86 IF P_DELIVERY_ID IS NOT NULL THEN
87 LP_DELIVERY_ID := 'AND wnd.delivery_id = :P_DELIVERY_ID ';
88 END IF;
89 IF P_FREIGHT_CODE IS NOT NULL THEN
90 LP_FREIGHT_CODE := 'AND wnd.ship_method_code = :P_FREIGHT_CODE ';
91 END IF;
92 IF P_ORGANIZATION_ID IS NOT NULL THEN
93 LP_ORGANIZATION_ID := 'AND wdd.organization_id = :P_ORGANIZATION_ID ';
94 END IF;
95 IF P_TRIP_STOP_ID IS NOT NULL THEN
96 LP_TRIP_STOP_ID := 'AND wnd.delivery_id in (select distinct wdl.delivery_id from wsh_delivery_legs wdl where (wdl.pick_up_stop_id = :P_TRIP_STOP_ID
97 OR wdl.drop_off_stop_id = :P_TRIP_STOP_ID)) ';
98 END IF;
99 RETURN (TRUE);
100 EXCEPTION
101 WHEN OTHERS THEN
102 RETURN FALSE;
103 END;
104 RETURN (TRUE);
105 END AFTERPFORM;
106
107 FUNCTION AFTERREPORT RETURN BOOLEAN IS
108 BEGIN
109 BEGIN
110 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
111 EXCEPTION
112 WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
113 /*SRW.MESSAGE(1
114 ,'Failed in SRWEXIT')*/NULL;
115 RAISE;
116 END;
117 RETURN (TRUE);
118 END AFTERREPORT;
119
120 FUNCTION C_ITEM_DISPFORMULA(CUSTOMER_ITEM_ID1 IN NUMBER
121 ,INVENTORY_ITEM_ID1 IN NUMBER
122 ,ORGANIZATION_ID1 IN NUMBER
123 ,ITEM_DESCRIPTION IN VARCHAR2) RETURN VARCHAR2 IS
124 BEGIN
125 DECLARE
126 CURSOR CUSTOMER_LABEL(ID IN NUMBER,FLAG IN VARCHAR2) IS
127 SELECT
128 DECODE(FLAG
129 ,'D'
130 ,CUSTOMER_ITEM_DESC
131 ,'F'
132 ,CUSTOMER_ITEM_NUMBER
133 ,CUSTOMER_ITEM_NUMBER || ' ' || CUSTOMER_ITEM_DESC) LABEL
134 FROM
135 MTL_CUSTOMER_ITEMS
136 WHERE CUSTOMER_ITEM_ID = ID;
137 CURSOR INVENTORY_LABEL(ID IN NUMBER,ORG_ID IN NUMBER) IS
138 SELECT
139 DESCRIPTION
140 FROM
141 MTL_SYSTEM_ITEMS_VL
142 WHERE INVENTORY_ITEM_ID = ID
143 AND ORGANIZATION_ID = ORG_ID;
144 NAME VARCHAR2(800);
145 USE_SHIPPER_NAME BOOLEAN := TRUE;
146 BEGIN
147 IF P_PRINT_CUST_ITEM = 'Y' AND CUSTOMER_ITEM_ID1 IS NOT NULL THEN
148 BEGIN
149 OPEN CUSTOMER_LABEL(CUSTOMER_ITEM_ID1,P_ITEM_DISPLAY);
150 FETCH CUSTOMER_LABEL
151 INTO NAME;
152 CLOSE CUSTOMER_LABEL;
153 IF NAME IS NULL OR NAME = ' ' THEN
154 USE_SHIPPER_NAME := TRUE;
155 ELSE
156 USE_SHIPPER_NAME := FALSE;
157 END IF;
158 EXCEPTION
159 WHEN OTHERS THEN
160 CLOSE CUSTOMER_LABEL;
161 USE_SHIPPER_NAME := TRUE;
162 END;
163 END IF;
164 IF USE_SHIPPER_NAME THEN
165 IF P_ITEM_DISPLAY = 'D' THEN
166 IF INVENTORY_ITEM_ID1 IS NOT NULL THEN
167 OPEN INVENTORY_LABEL(INVENTORY_ITEM_ID1,ORGANIZATION_ID1);
168 FETCH INVENTORY_LABEL
169 INTO NAME;
170 CLOSE INVENTORY_LABEL;
171 ELSE
172 NAME := ITEM_DESCRIPTION;
173 END IF;
174 ELSIF P_ITEM_DISPLAY = 'F' THEN
175 NAME := WSH_UTIL_CORE.GET_ITEM_NAME(INVENTORY_ITEM_ID1
176 ,ORGANIZATION_ID1
177 ,P_ITEM_FLEX_CODE
178 ,LP_STRUCTURE_NUM);
179 ELSE
180 IF INVENTORY_ITEM_ID1 IS NOT NULL THEN
181 OPEN INVENTORY_LABEL(INVENTORY_ITEM_ID1,ORGANIZATION_ID1);
182 FETCH INVENTORY_LABEL
183 INTO NAME;
184 CLOSE INVENTORY_LABEL;
185 ELSE
186 NAME := ITEM_DESCRIPTION;
187 END IF;
188 NAME := WSH_UTIL_CORE.GET_ITEM_NAME(INVENTORY_ITEM_ID1
189 ,ORGANIZATION_ID1
190 ,P_ITEM_FLEX_CODE
191 ,LP_STRUCTURE_NUM) || ' ' || NAME;
192 END IF;
193 END IF;
194 RETURN NAME;
195 END;
196 RETURN NULL;
197 END C_ITEM_DISPFORMULA;
198
199 FUNCTION C_NUM_BOXESFORMULA(DELIVERY_ID3 IN NUMBER
200 ,NUM_LPN IN NUMBER) RETURN NUMBER IS
201 BEGIN
202 DECLARE
203 CURSOR BOXES IS
204 SELECT
205 count(*)
206 FROM
207 WSH_DELIVERY_ASSIGNMENTS_V WDA,
208 WSH_DELIVERY_DETAILS WDD
209 WHERE WDD.DELIVERY_DETAIL_ID = WDA.DELIVERY_DETAIL_ID
210 AND WDD.CONTAINER_FLAG = 'Y'
211 AND WDA.PARENT_DELIVERY_DETAIL_ID IS NULL
212 AND WDA.DELIVERY_ID is not null
213 AND WDA.DELIVERY_ID = DELIVERY_ID3;
214 NUM_OF_BOXES NUMBER;
215 BEGIN
216 IF (NUM_LPN IS NULL) THEN
217 OPEN BOXES;
218 FETCH BOXES
219 INTO NUM_OF_BOXES;
220 CLOSE BOXES;
221 RETURN (NUM_OF_BOXES);
222 ELSE
223 RETURN (NUM_LPN);
224 END IF;
225 END;
226 RETURN NULL;
227 END C_NUM_BOXESFORMULA;
228
229 FUNCTION C_DATA_FOUNDFORMULA(DELIVERY_ID3 IN NUMBER) RETURN NUMBER IS
230 BEGIN
231 RP_DATA_FOUND := DELIVERY_ID3;
232 RETURN (0);
233 END C_DATA_FOUNDFORMULA;
234
235 FUNCTION LP_STOP_IDVALIDTRIGGER RETURN BOOLEAN IS
236 BEGIN
237 RETURN (TRUE);
238 END LP_STOP_IDVALIDTRIGGER;
239
240 FUNCTION C_SHIP_VIAFORMULA(DELIVERY_ID3 IN NUMBER
241 ,SHIP_VIA IN VARCHAR2
242 ,ORGANIZATION_ID1 IN NUMBER) RETURN CHAR IS
243 CURSOR OTHER_LEGS IS
244 SELECT
245 DISTINCT
246 WCS.SHIP_METHOD_MEANING
247 FROM
248 WSH_TRIPS T,
249 WSH_TRIP_STOPS ST,
250 WSH_DELIVERY_LEGS DG,
251 WSH_CARRIER_SERVICES WCS,
252 WSH_ORG_CARRIER_SERVICES WOCS
253 WHERE DG.DELIVERY_ID = DELIVERY_ID3
254 AND DG.PICK_UP_STOP_ID = ST.STOP_ID
255 AND ST.TRIP_ID = T.TRIP_ID
256 AND T.SHIP_METHOD_CODE <> NVL(SHIP_VIA
257 ,'-1')
258 AND T.SHIP_METHOD_CODE = WCS.SHIP_METHOD_CODE
259 AND WCS.CARRIER_SERVICE_ID = WOCS.CARRIER_SERVICE_ID
260 AND WOCS.ORGANIZATION_ID = ORGANIZATION_ID1;
261 CURSOR GET_SHIP_METHOD_MEANING IS
262 SELECT
263 WCS.SHIP_METHOD_MEANING
264 FROM
265 WSH_CARRIER_SERVICES WCS
266 WHERE WCS.SHIP_METHOD_CODE = SHIP_VIA;
267 L_SHIP_METHOD VARCHAR2(500) := SHIP_VIA;
268 BEGIN
269 IF NVL(L_SHIP_METHOD
270 ,'-1') = '-1' THEN
271 L_SHIP_METHOD := NULL;
272 ELSE
273 OPEN GET_SHIP_METHOD_MEANING;
274 FETCH GET_SHIP_METHOD_MEANING
275 INTO L_SHIP_METHOD;
276 CLOSE GET_SHIP_METHOD_MEANING;
277 END IF;
278 FOR dl IN OTHER_LEGS LOOP
279 IF (L_SHIP_METHOD IS NOT NULL) THEN
280 L_SHIP_METHOD := L_SHIP_METHOD || ', ' || DL.SHIP_METHOD_MEANING;
281 ELSE
282 L_SHIP_METHOD := DL.SHIP_METHOD_MEANING;
283 END IF;
284 END LOOP;
285 RETURN L_SHIP_METHOD;
286 END C_SHIP_VIAFORMULA;
287
288 FUNCTION H_WAREHOUSE_NAMEVALIDTRIGGER RETURN BOOLEAN IS
289 BEGIN
290 RETURN (TRUE);
291 END H_WAREHOUSE_NAMEVALIDTRIGGER;
292
293 FUNCTION BEFOREPFORM RETURN BOOLEAN IS
294 apf boolean;
295 br0008 boolean;
296 BEGIN
297 br0008 := BEFOREREPORT0008;
298 apf := AFTERPFORM;
299 RETURN (TRUE);
300 END BEFOREPFORM;
301
302 FUNCTION F_SHIP_TO_CUST_NAMEFORMULA(SHIP_TO_SITE_USE_ID IN NUMBER) RETURN CHAR IS
303 BEGIN
304 DECLARE
305 SHIP_TO_CUST_NAME HZ_PARTIES.PARTY_NAME%TYPE;
306 L_PERSON_TITLE HZ_PARTIES.PERSON_TITLE%TYPE;
307 L_LOOKUP_TYPE VARCHAR2(20);
308 L_PERSON_TITLE_UP HZ_PARTIES.PERSON_TITLE%TYPE;
309 BEGIN
310 /*SRW.REFERENCE(SHIP_TO_SITE_USE_ID)*/NULL;
311 SELECT
312 HP.PARTY_NAME,
313 NVL(HP.PERSON_PRE_NAME_ADJUNCT
314 ,HP.PERSON_TITLE) TITLE
315 INTO SHIP_TO_CUST_NAME,L_PERSON_TITLE
316 FROM
317 HZ_PARTY_SITES PS,
318 HZ_CUST_ACCT_SITES_ALL CA,
319 HZ_CUST_SITE_USES_ALL SU,
320 HZ_PARTIES HP
321 WHERE SU.SITE_USE_ID = SHIP_TO_SITE_USE_ID
322 AND SU.CUST_ACCT_SITE_ID = CA.CUST_ACCT_SITE_ID
323 AND CA.PARTY_SITE_ID = PS.PARTY_SITE_ID
324 AND HP.PARTY_ID = PS.PARTY_ID;
325 IF L_PERSON_TITLE IS NOT NULL THEN
326 BEGIN
327 L_LOOKUP_TYPE := 'RESPONSIBILITY';
328 L_PERSON_TITLE_UP := UPPER(L_PERSON_TITLE);
329 SELECT
330 MEANING || ' ' || SHIP_TO_CUST_NAME
331 INTO SHIP_TO_CUST_NAME
332 FROM
333 AR_LOOKUPS
334 WHERE LOOKUP_CODE = L_PERSON_TITLE_UP
335 AND LOOKUP_TYPE = L_LOOKUP_TYPE;
336 EXCEPTION
337 WHEN OTHERS THEN
338 SHIP_TO_CUST_NAME := L_PERSON_TITLE || ' ' || SHIP_TO_CUST_NAME;
339 END;
340 END IF;
341 IF SQL%NOTFOUND THEN
342 RETURN (NULL);
343 END IF;
344 RETURN (SHIP_TO_CUST_NAME);
345 EXCEPTION
346 WHEN NO_DATA_FOUND THEN
347 RETURN (NULL);
348 WHEN OTHERS THEN
349 RAISE;
350 END;
351 END F_SHIP_TO_CUST_NAMEFORMULA;
352
353 FUNCTION CF_CONTACT_NAMEFORMULA(SHIP_TO_CONTACT_ID IN NUMBER) RETURN CHAR IS
354 CONTACT_NAME HZ_PARTIES.PARTY_NAME%TYPE;
355 L_PERSON_TITLE HZ_PARTIES.PERSON_TITLE%TYPE;
356 L_PERSON_TITLE_UP HZ_PARTIES.PERSON_TITLE%TYPE;
357 L_LOOKUP_TYPE VARCHAR2(20);
358 BEGIN
359 /*SRW.REFERENCE(SHIP_TO_CONTACT_ID)*/NULL;
360 IF (SHIP_TO_CONTACT_ID IS NOT NULL) THEN
361 SELECT
362 PARTY.PARTY_NAME,
363 NVL(PARTY.PERSON_PRE_NAME_ADJUNCT
364 ,PARTY.PERSON_TITLE) TITLE
365 INTO CONTACT_NAME,L_PERSON_TITLE
366 FROM
367 HZ_CUST_ACCOUNT_ROLES ACCT_ROLE,
368 HZ_PARTIES PARTY,
369 HZ_RELATIONSHIPS REL,
370 HZ_ORG_CONTACTS ORG_CONT,
371 HZ_PARTIES REL_PARTY
372 WHERE ACCT_ROLE.CUST_ACCOUNT_ROLE_ID = SHIP_TO_CONTACT_ID
373 AND ACCT_ROLE.PARTY_ID = REL.PARTY_ID
374 AND ACCT_ROLE.ROLE_TYPE = 'CONTACT'
375 AND REL.SUBJECT_TABLE_NAME = 'HZ_PARTIES'
376 AND REL.OBJECT_TABLE_NAME = 'HZ_PARTIES'
377 AND REL.DIRECTIONAL_FLAG = 'F'
378 AND ORG_CONT.PARTY_RELATIONSHIP_ID = REL.RELATIONSHIP_ID
379 AND REL.SUBJECT_ID = PARTY.PARTY_ID
380 AND REL.PARTY_ID = REL_PARTY.PARTY_ID;
381 IF L_PERSON_TITLE IS NOT NULL THEN
382 BEGIN
383 L_LOOKUP_TYPE := 'RESPONSIBILITY';
384 L_PERSON_TITLE_UP := UPPER(L_PERSON_TITLE);
385 SELECT
386 MEANING || ' ' || CONTACT_NAME
387 INTO CONTACT_NAME
388 FROM
389 AR_LOOKUPS
390 WHERE LOOKUP_CODE = L_PERSON_TITLE_UP
391 AND LOOKUP_TYPE = L_LOOKUP_TYPE;
392 EXCEPTION
393 WHEN OTHERS THEN
394 CONTACT_NAME := L_PERSON_TITLE || ' ' || CONTACT_NAME;
395 END;
396 END IF;
397 ELSE
398 CONTACT_NAME := ' ';
399 END IF;
400 RETURN (CONTACT_NAME);
401 EXCEPTION
402 WHEN NO_DATA_FOUND THEN
403 CONTACT_NAME := ' ';
404 RETURN (CONTACT_NAME);
405 WHEN OTHERS THEN
406 RAISE;
407 END CF_CONTACT_NAMEFORMULA;
408
409 FUNCTION CF_CUSTOMER_NAMEFORMULA RETURN CHAR IS
410 CUSTOMER_NAME VARCHAR2(120) := 'X';
411 BEGIN
412 RETURN (CUSTOMER_NAME);
413 END CF_CUSTOMER_NAMEFORMULA;
414
415 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
416 BEGIN
417 RETURN (TRUE);
418 END BEFOREREPORT;
419
420 FUNCTION BEFOREREPORT0008 RETURN BOOLEAN IS
421 BEGIN
422 BEGIN
423 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
424 LP_DEPARTURE_DATE_HIGH := P_DEPARTURE_DATE_HIGH;
425 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
426 EXCEPTION
427 WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
428 /*SRW.MESSAGE(1
429 ,'Failed FND SRWINIT.')*/NULL;
430 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
431 END;
432 RETURN (TRUE);
433 END BEFOREREPORT0008;
434
435 FUNCTION CF_1FORMULA RETURN CHAR IS
436 BEGIN
437 RETURN H_WAREHOUSE_NAME;
438 END CF_1FORMULA;
439
440 FUNCTION CF_EINFORMULA0007 RETURN CHAR IS
441 BEGIN
442 RETURN H_EIN;
443 END CF_EINFORMULA0007;
444
445 FUNCTION CF_COMMODITY_CLASSFORMULA(INVENTORY_ITEM_ID1 IN NUMBER
446 ,ORGANIZATION_ID1 IN NUMBER) RETURN CHAR IS
447 L_CLASS_LIST VARCHAR2(1000);
448 CURSOR C_CATEGORY(C_INV_ITEM_ID IN NUMBER,C_INV_ORG_ID IN NUMBER) IS
449 SELECT
450 CONCATENATED_SEGMENTS COMM_CLASS
451 FROM
452 MTL_CATEGORIES_KFV MC,
453 MTL_ITEM_CATEGORIES MIC,
454 MTL_CATEGORY_SETS_VL MCSTL
455 WHERE MIC.INVENTORY_ITEM_ID = C_INV_ITEM_ID
456 AND MIC.ORGANIZATION_ID = C_INV_ORG_ID
457 AND MIC.CATEGORY_SET_ID = MCSTL.CATEGORY_SET_ID
458 AND MC.CATEGORY_ID = MIC.CATEGORY_ID
459 AND MCSTL.CATEGORY_SET_NAME = 'WSH_COMMODITY_CODE'
460 ORDER BY
461 MC.CATEGORY_ID;
462 BEGIN
463 /*SRW.REFERENCE(INVENTORY_ITEM_ID1)*/NULL;
464 /*SRW.REFERENCE(ORGANIZATION_ID1)*/NULL;
465 FOR c_rec IN C_CATEGORY(c_inv_item_id => INVENTORY_ITEM_ID1,
466 c_inv_org_id => ORGANIZATION_ID1) LOOP
467 IF (L_CLASS_LIST IS NULL) THEN
468 L_CLASS_LIST := C_REC.COMM_CLASS;
469 ELSE
470 L_CLASS_LIST := L_CLASS_LIST || ', ' || C_REC.COMM_CLASS;
471 END IF;
472 END LOOP;
473 RETURN (L_CLASS_LIST);
474 EXCEPTION
475 WHEN OTHERS THEN
476 RETURN (NULL);
477 END CF_COMMODITY_CLASSFORMULA;
478
479 FUNCTION CP_SHIP_TO_ADDR1_P RETURN VARCHAR2 IS
480 BEGIN
481 RETURN CP_SHIP_TO_ADDR1;
482 END CP_SHIP_TO_ADDR1_P;
483
484 FUNCTION CP_SHIP_TO_ADDR2_P RETURN VARCHAR2 IS
485 BEGIN
486 RETURN CP_SHIP_TO_ADDR2;
487 END CP_SHIP_TO_ADDR2_P;
488
489 FUNCTION CP_SHIP_TO_ADDR3_P RETURN VARCHAR2 IS
490 BEGIN
491 RETURN CP_SHIP_TO_ADDR3;
492 END CP_SHIP_TO_ADDR3_P;
493
494 FUNCTION CP_SHIP_TO_ADDR4_P RETURN VARCHAR2 IS
495 BEGIN
496 RETURN CP_SHIP_TO_ADDR4;
497 END CP_SHIP_TO_ADDR4_P;
498
499 FUNCTION CP_SHIP_TO_CITY_STATE_P RETURN VARCHAR2 IS
500 BEGIN
501 RETURN CP_SHIP_TO_CITY_STATE;
502 END CP_SHIP_TO_CITY_STATE_P;
503
504 FUNCTION CP_SHIP_TO_COUNTRY_P RETURN VARCHAR2 IS
505 BEGIN
506 RETURN CP_SHIP_TO_COUNTRY;
507 END CP_SHIP_TO_COUNTRY_P;
508
509 FUNCTION CP_ITEM_COST_P RETURN NUMBER IS
510 BEGIN
511 RETURN CP_ITEM_COST;
512 END CP_ITEM_COST_P;
513
514 FUNCTION CP_EXTENDED_COST_P RETURN NUMBER IS
515 BEGIN
516 RETURN CP_EXTENDED_COST;
517 END CP_EXTENDED_COST_P;
518
519 PROCEDURE PUT(NAME IN VARCHAR2
520 ,VAL IN VARCHAR2) IS
521 BEGIN
522 /*STPROC.INIT('begin FND_PROFILE.PUT(:NAME, :VAL); end;');
523 STPROC.BIND_I(NAME);
524 STPROC.BIND_I(VAL);
525 STPROC.EXECUTE;*/
526 FND_PROFILE.PUT(NAME, VAL);
527 END PUT;
528
529 FUNCTION DEFINED(NAME IN VARCHAR2) RETURN BOOLEAN IS
530 X0 BOOLEAN;
531 X1 integer;
532 BEGIN
533 /*STPROC.INIT('declare X0rv BOOLEAN; begin X0rv := FND_PROFILE.DEFINED(:NAME); :X0 := sys.diutil.bool_to_int(X0rv); end;');
534 STPROC.BIND_I(NAME);
535 STPROC.BIND_O(X0);
536 STPROC.EXECUTE;
537 STPROC.RETRIEVE(2
538 ,X0);
539 RETURN X0;*/
540 declare
541 X0rv BOOLEAN;
542 begin
543 X0rv := FND_PROFILE.DEFINED(NAME);
544 X1 := sys.diutil.bool_to_int(X0rv);
545 end;
546 RETURN sys.diutil.int_to_bool(X1);
547 END DEFINED;
548
549 PROCEDURE GET(NAME IN VARCHAR2
550 ,VAL OUT NOCOPY VARCHAR2) IS
551 BEGIN
552 /*STPROC.INIT('begin FND_PROFILE.GET(:NAME, :VAL); end;');
553 STPROC.BIND_I(NAME);
554 STPROC.BIND_O(VAL);
555 STPROC.EXECUTE;
556 STPROC.RETRIEVE(2
557 ,VAL);*/
558 FND_PROFILE.GET(NAME, VAL);
559 END GET;
560
561 FUNCTION VALUE(NAME IN VARCHAR2) RETURN VARCHAR2 IS
562 X0 VARCHAR2(2000);
563 BEGIN
564 /*STPROC.INIT('begin :X0 := FND_PROFILE.VALUE(:NAME); end;');
565 STPROC.BIND_O(X0);
566 STPROC.BIND_I(NAME);
567 STPROC.EXECUTE;
568 STPROC.RETRIEVE(1
569 ,X0);
570 RETURN X0;*/
571
572 X0 := FND_PROFILE.VALUE(NAME);
573 RETURN X0;
574 END VALUE;
575
576 FUNCTION SAVE_USER(X_NAME IN VARCHAR2
577 ,X_VALUE IN VARCHAR2) RETURN BOOLEAN IS
578 X0 BOOLEAN;
579 X1 integer;
580 BEGIN
581 /*STPROC.INIT('declare X0rv BOOLEAN; begin X0rv := FND_PROFILE.SAVE_USER(:X_NAME, :X_VALUE); :X0 := sys.diutil.bool_to_int(X0rv); end;');
582 STPROC.BIND_I(X_NAME);
583 STPROC.BIND_I(X_VALUE);
584 STPROC.BIND_O(X0);
585 STPROC.EXECUTE;
586 STPROC.RETRIEVE(3
587 ,X0);
588 RETURN X0;*/
589
590 declare
591 X0rv BOOLEAN;
592 begin
593 X0rv := FND_PROFILE.SAVE_USER(X_NAME, X_VALUE);
594 X1 := sys.diutil.bool_to_int(X0rv);
595 end;
596 RETURN sys.diutil.int_to_bool(X1);
597 END SAVE_USER;
598
599 FUNCTION SAVE(X_NAME IN VARCHAR2
600 ,X_VALUE IN VARCHAR2
601 ,X_LEVEL_NAME IN VARCHAR2
602 ,X_LEVEL_VALUE IN VARCHAR2
603 ,X_LEVEL_VALUE_APP_ID IN VARCHAR2) RETURN BOOLEAN IS
604 X0 BOOLEAN;
605 X1 integer;
606 BEGIN
607 /*STPROC.INIT('declare X0rv BOOLEAN; begin X0rv := FND_PROFILE.SAVE(:X_NAME, :X_VALUE, :X_LEVEL_NAME, :X_LEVEL_VALUE, :X_LEVEL_VALUE_APP_ID); :X0 := sys.diutil.bool_to_int(X0rv); end;');
608 STPROC.BIND_I(X_NAME);
609 STPROC.BIND_I(X_VALUE);
610 STPROC.BIND_I(X_LEVEL_NAME);
611 STPROC.BIND_I(X_LEVEL_VALUE);
612 STPROC.BIND_I(X_LEVEL_VALUE_APP_ID);
613 STPROC.BIND_O(X0);
614 STPROC.EXECUTE;
615 STPROC.RETRIEVE(6
616 ,X0);
617 RETURN X0;*/
618
619 declare
620 X0rv BOOLEAN;
621 begin
622 X0rv := FND_PROFILE.SAVE(X_NAME, X_VALUE, X_LEVEL_NAME, X_LEVEL_VALUE, X_LEVEL_VALUE_APP_ID);
623 X1 := sys.diutil.bool_to_int(X0rv);
624 end;
625 RETURN sys.diutil.int_to_bool(X1);
626 END SAVE;
627
628 PROCEDURE GET_SPECIFIC(NAME_Z IN VARCHAR2
629 ,USER_ID_Z IN NUMBER
630 ,RESPONSIBILITY_ID_Z IN NUMBER
631 ,APPLICATION_ID_Z IN NUMBER
632 ,VAL_Z OUT NOCOPY VARCHAR2
633 ,DEFINED_Z OUT NOCOPY BOOLEAN) IS
634 BEGIN
635 /*STPROC.INIT('declare DEFINED_Z BOOLEAN; begin DEFINED_Z := sys.diutil.int_to_bool(:DEFINED_Z); FND_PROFILE.GET_SPECIFIC(:NAME_Z, :USER_ID_Z, :RESPONSIBILITY_ID_Z, :APPLICATION_ID_Z, :VAL_Z, DEFINED_Z);
636 :DEFINED_Z := sys.diutil.bool_to_int(DEFINED_Z); end;');
637 STPROC.BIND_O(DEFINED_Z);
638 STPROC.BIND_I(NAME_Z);
639 STPROC.BIND_I(USER_ID_Z);
640 STPROC.BIND_I(RESPONSIBILITY_ID_Z);
641 STPROC.BIND_I(APPLICATION_ID_Z);
642 STPROC.BIND_O(VAL_Z);
643 STPROC.EXECUTE;
644 STPROC.RETRIEVE(1
645 ,DEFINED_Z);
646 STPROC.RETRIEVE(6,VAL_Z);*/
647
648 declare
649 DEFINED_Z BOOLEAN;
650 DEFINED_Z1 integer;
651 begin
652 DEFINED_Z := sys.diutil.int_to_bool(DEFINED_Z1);
653 FND_PROFILE.GET_SPECIFIC(NAME_Z, USER_ID_Z, RESPONSIBILITY_ID_Z, APPLICATION_ID_Z, VAL_Z, DEFINED_Z);
654 DEFINED_Z1 := sys.diutil.bool_to_int(DEFINED_Z);
655 end;
656 END GET_SPECIFIC;
657
658 FUNCTION VALUE_SPECIFIC(NAME IN VARCHAR2
659 ,USER_ID IN NUMBER
660 ,RESPONSIBILITY_ID IN NUMBER
661 ,APPLICATION_ID IN NUMBER) RETURN VARCHAR2 IS
662 X0 VARCHAR2(2000);
663 BEGIN
664 /*STPROC.INIT('begin :X0 := FND_PROFILE.VALUE_SPECIFIC(:NAME, :USER_ID, :RESPONSIBILITY_ID, :APPLICATION_ID); end;');
665 STPROC.BIND_O(X0);
666 STPROC.BIND_I(NAME);
667 STPROC.BIND_I(USER_ID);
668 STPROC.BIND_I(RESPONSIBILITY_ID);
669 STPROC.BIND_I(APPLICATION_ID);
670 STPROC.EXECUTE;
671 STPROC.RETRIEVE(1
672 ,X0);
673 RETURN X0;*/
674
675 X0 := FND_PROFILE.VALUE_SPECIFIC(NAME, USER_ID, RESPONSIBILITY_ID, APPLICATION_ID);
676 RETURN X0;
677 END VALUE_SPECIFIC;
678
679 PROCEDURE INITIALIZE(USER_ID_Z IN NUMBER
680 ,RESPONSIBILITY_ID_Z IN NUMBER
681 ,APPLICATION_ID_Z IN NUMBER
682 ,SITE_ID_Z IN NUMBER) IS
683 BEGIN
684 /*STPROC.INIT('begin FND_PROFILE.INITIALIZE(:USER_ID_Z, :RESPONSIBILITY_ID_Z, :APPLICATION_ID_Z, :SITE_ID_Z); end;');
685 STPROC.BIND_I(USER_ID_Z);
686 STPROC.BIND_I(RESPONSIBILITY_ID_Z);
687 STPROC.BIND_I(APPLICATION_ID_Z);
688 STPROC.BIND_I(SITE_ID_Z);
689 STPROC.EXECUTE;*/
690
691 FND_PROFILE.INITIALIZE(USER_ID_Z, RESPONSIBILITY_ID_Z, APPLICATION_ID_Z, SITE_ID_Z);
692 END INITIALIZE;
693
694 PROCEDURE PUTMULTIPLE(NAMES IN VARCHAR2
695 ,VALS IN VARCHAR2
696 ,NUM IN NUMBER) IS
697 BEGIN
698 /*STPROC.INIT('begin FND_PROFILE.PUTMULTIPLE(:NAMES, :VALS, :NUM); end;');
699 STPROC.BIND_I(NAMES);
700 STPROC.BIND_I(VALS);
701 STPROC.BIND_I(NUM);
702 STPROC.EXECUTE;*/
703
704 FND_PROFILE.PUTMULTIPLE(NAMES, VALS, NUM);
705 END PUTMULTIPLE;
706
707
708 function C_ext_cost_fmtFormula(source_code varchar2, line_id number, unit_of_measure varchar2,
709 source_uom varchar2, shipped_quantity number, inventory_item_id1 number) return VARCHAR2 is
710 cursor oe_selling_price is
711 select unit_selling_price
712 from oe_order_lines_all
713 where line_id = line_id;
714
715 cursor oke_selling_price is
716 select unit_price
717 from oke_k_deliverables_b
718 where deliverable_id = line_id;
719
720 l_unit_selling_price NUMBER := 0;
721 begin
722 If source_code = 'OE' then
723 open oe_selling_price;
724 fetch oe_selling_price into l_unit_selling_price;
725 close oe_selling_price;
726 Elsif source_code = 'OKE' then
727 open oke_selling_price;
728 fetch oke_selling_price into l_unit_selling_price;
729 close oke_selling_price;
730 End If;
731 cp_extended_cost := ROUND(l_unit_selling_price *
732 WSH_WV_UTILS.CONVERT_UOM(unit_of_measure, source_uom,
733 shipped_quantity,
734 inventory_item_id1),2);
735 p_extended_cost := cp_extended_cost;
736 /*BEGIN
737 SRW.REFERENCE(:CURRENCY_CODE);
738
739 IF (:CURRENCY_CODE) IS NOT NULL THEN
740 SRW.USER_EXIT('FND FORMAT_CURRENCY
741 CODE=":CURRENCY_CODE"
742 DISPLAY_WIDTH="11"
743 AMOUNT=":p_extended_cost"
744 DISPLAY=":C_EXT_COST_FMT" ');
745
746 RETURN(:C_EXT_COST_FMT);
747 END IF;
748 RETURN NULL;
749 END;*/
750 end;
751
752 function C_item_cost_fmtFormula(source_code varchar2, line_id number, unit_of_measure varchar2,
753 source_uom varchar2, inventory_item_id1 number) return VARCHAR2 is
754 cursor oe_selling_price is
755 select unit_selling_price
756 from oe_order_lines_all
757 where line_id = line_id;
758
759 cursor oke_selling_price is
760 select unit_price
761 from oke_k_deliverables_b
762 where deliverable_id = line_id;
763
764 l_unit_selling_price NUMBER := 0;
765 begin
766 If source_code = 'OE' then
767 open oe_selling_price;
768 fetch oe_selling_price into l_unit_selling_price;
769 close oe_selling_price;
770 Elsif source_code = 'OKE' then
771 open oke_selling_price;
772 fetch oke_selling_price into l_unit_selling_price;
773 close oke_selling_price;
774 End If;
775 cp_item_cost := ROUND(l_unit_selling_price *
776 WSH_WV_UTILS.CONVERT_UOM(unit_of_measure, source_uom, 1,
777 inventory_item_id1),2);
778
779 p_item_cost := cp_item_cost;
780 /*BEGIN
781 SRW.REFERENCE(:currency_code);
782
783 IF (:currency_code) is not null then
784 SRW.USER_EXIT('FND FORMAT_CURRENCY
785 CODE=":CURRENCY_CODE"
786 DISPLAY_WIDTH="11"
787 AMOUNT=":p_item_cost"
788 DISPLAY=":C_ITEM_COST_FMT" ');
789
790 RETURN(:C_ITEM_COST_FMT);
791 END IF;
792 END;*/
793 RETURN NULL;
794 end;
795
796 END WSH_WSHRDINV_XMLP_PKG;
797
798