[Home] [Help]
PACKAGE BODY: APPS.ONT_OEXOEWFR_XMLP_PKG
Source
1 PACKAGE BODY ONT_OEXOEWFR_XMLP_PKG AS
2 /* $Header: OEXOEWFRB.pls 120.1 2007/12/25 07:28:39 npannamp noship $ */
3 FUNCTION CF_EXTENDED_VALUEFORMULA(HEADER_ID1 IN NUMBER
4 ,LINE_ID IN NUMBER
5 ,LINE_VALUE IN NUMBER
6 ,LINE_CATEGORY_CODE IN VARCHAR2) RETURN NUMBER IS
7 EXTENDED_VALUE NUMBER;
8 T_RETURN_STATUS VARCHAR2(1) := '';
9 T_MSG_COUNT NUMBER := 0;
10 T_MSG_DATA VARCHAR2(4000) := '';
11 T_CHARGE_AMOUNT NUMBER := 0;
12 BEGIN
13 OE_CHARGE_PVT.GET_CHARGE_AMOUNT(P_API_VERSION_NUMBER => 1
14 ,P_INIT_MSG_LIST => 'F'
15 ,P_HEADER_ID => HEADER_ID1
16 ,P_LINE_ID => LINE_ID
17 ,P_ALL_CHARGES => 'F'
18 ,X_RETURN_STATUS => T_RETURN_STATUS
19 ,X_MSG_COUNT => T_MSG_COUNT
20 ,X_MSG_DATA => T_MSG_DATA
21 ,X_CHARGE_AMOUNT => T_CHARGE_AMOUNT);
22 EXTENDED_VALUE := LINE_VALUE;
23 IF LINE_CATEGORY_CODE = 'RETURN' THEN
24 EXTENDED_VALUE := EXTENDED_VALUE * -1;
25 END IF;
26 EXTENDED_VALUE := EXTENDED_VALUE + T_CHARGE_AMOUNT;
27 /*SRW.MESSAGE(1
28 ,'extended_value' || EXTENDED_VALUE)*/NULL;
29 RETURN (EXTENDED_VALUE);
30 EXCEPTION
31 WHEN OTHERS THEN
32 /*SRW.MESSAGE(9999
33 ,'Error in getting charges: ' || SQLERRM)*/NULL;
34 RETURN (NULL);
35 END CF_EXTENDED_VALUEFORMULA;
36
37 FUNCTION CF_HOLD_VALUEFORMULA(HEADER_ID1 IN NUMBER
38 ,LINE_ID IN NUMBER) RETURN CHAR IS
39 L_HEADER_HOLD NUMBER;
40 L_LINE_HOLD NUMBER;
41 DUMMY NUMBER;
42 CURSOR HEADER_HOLD IS
43 SELECT
44 1
45 FROM
46 OE_ORDER_HOLDS_ALL OH
47 WHERE OH.HEADER_ID = HEADER_ID1
48 AND OH.LINE_ID IS NULL
49 AND OH.HOLD_RELEASE_ID IS NULL
50 AND ROWNUM = 1;
51 CURSOR LINE_HOLD IS
52 SELECT
53 1
54 FROM
55 OE_ORDER_HOLDS_ALL OH
56 WHERE OH.LINE_ID = CF_HOLD_VALUEFORMULA.LINE_ID
57 AND OH.HOLD_RELEASE_ID IS NULL
58 AND ROWNUM = 1;
59 BEGIN
60 OPEN HEADER_HOLD;
61 FETCH HEADER_HOLD
62 INTO L_HEADER_HOLD;
63 CLOSE HEADER_HOLD;
64 IF NVL(L_HEADER_HOLD
65 ,0) <> 0 THEN
66 RETURN 'YES';
67 ELSE
68 OPEN LINE_HOLD;
69 FETCH LINE_HOLD
70 INTO L_LINE_HOLD;
71 CLOSE LINE_HOLD;
72 IF NVL(L_LINE_HOLD
73 ,0) <> 0 THEN
74 RETURN 'YES';
75 ELSE
76 RETURN 'NO';
77 END IF;
78 END IF;
79 RETURN (NULL);
80 EXCEPTION
81 WHEN OTHERS THEN
82 RETURN (NULL);
83 END CF_HOLD_VALUEFORMULA;
84
85 FUNCTION CF_COUNTRYFORMULA RETURN CHAR IS
86 BEGIN
87 RETURN ('U.S.');
88 RETURN (NULL);
89 EXCEPTION
90 WHEN OTHERS THEN
91 RETURN (NULL);
92 END CF_COUNTRYFORMULA;
93
94 FUNCTION CF_CURRENCYFORMULA RETURN CHAR IS
95 BEGIN
96 RETURN ('USD');
97 RETURN (NULL);
98 EXCEPTION
99 WHEN OTHERS THEN
100 RETURN (NULL);
101 END CF_CURRENCYFORMULA;
102
103 FUNCTION P_OVERDUE_DAYSVALIDTRIGGER RETURN BOOLEAN IS
104 BEGIN
105 IF P_OVERDUE_DAYS IS NULL THEN
106 RETURN (FALSE);
107 ELSE
108 RETURN (TRUE);
109 END IF;
110 END P_OVERDUE_DAYSVALIDTRIGGER;
111
112 FUNCTION P_NO_DATAVALIDTRIGGER RETURN BOOLEAN IS
113 BEGIN
114 RETURN (TRUE);
115 END P_NO_DATAVALIDTRIGGER;
116
117 FUNCTION P_ACTIONSVALIDTRIGGER RETURN BOOLEAN IS
118 BEGIN
119 RETURN (TRUE);
120 END P_ACTIONSVALIDTRIGGER;
121
122 FUNCTION AFTERPFORM RETURN BOOLEAN IS
123 BEGIN
124 PARAM_WHERE_CLAUSE := ' ';
125 IF (P_ORDER_TYPE IS NOT NULL AND P_ORDER_TYPE <> 'ALL') THEN
126 PARAM_WHERE_CLAUSE := PARAM_WHERE_CLAUSE || ' and tt.name = :P_ORDER_TYPE';
127 END IF;
128 IF (P_ORDER_NO_LOW IS NOT NULL) THEN
129 PARAM_WHERE_CLAUSE := PARAM_WHERE_CLAUSE || ' and soh.order_number >= :P_ORDER_NO_LOW';
130 END IF;
131 IF (P_ORDER_NO_HIGH IS NOT NULL) THEN
132 PARAM_WHERE_CLAUSE := PARAM_WHERE_CLAUSE || ' and soh.order_number <= :P_ORDER_NO_HIGH';
133 END IF;
134 IF (P_LINE_CATEGORY IS NOT NULL AND P_LINE_CATEGORY <> 'ALL') THEN
135 PARAM_WHERE_CLAUSE := PARAM_WHERE_CLAUSE || ' and sol.line_category_code = :P_LINE_CATEGORY';
136 END IF;
137 RETURN (TRUE);
138 END AFTERPFORM;
139
140 FUNCTION AFTERPFORM0009 RETURN BOOLEAN IS
141 L_AFTER BOOLEAN;
142 TEMP_VAR VARCHAR2(200);
143 BEGIN
144 RETURN (AFTERPFORM);
145 END AFTERPFORM0009;
146
147 FUNCTION CF_ITEM_Y_NFORMULA(CONCATENATED_SEGMENTS IN VARCHAR2
148 ,DESCRIPTION IN VARCHAR2) RETURN CHAR IS
149 BEGIN
150 IF (P_ITEM = 'ITEM_NO') THEN
151 RETURN (CONCATENATED_SEGMENTS);
152 ELSE
153 RETURN (DESCRIPTION);
154 END IF;
155 RETURN (NULL);
156 EXCEPTION
157 WHEN OTHERS THEN
158 RETURN (NULL);
159 END CF_ITEM_Y_NFORMULA;
160
161 FUNCTION CF_BOOKED_DISPLAYFORMULA(BOOKED_FLAG IN VARCHAR2) RETURN CHAR IS
162 BEGIN
163 IF (P_ACTIONS = 'SCHED_NOT_PK') THEN
164 RETURN (BOOKED_FLAG);
165 ELSE
166 RETURN (' ');
167 END IF;
168 RETURN (NULL);
169 EXCEPTION
170 WHEN OTHERS THEN
171 RETURN (NULL);
172 END CF_BOOKED_DISPLAYFORMULA;
173
174 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
175 apf boolean;
176 BEGIN
177 BEGIN
178 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
179 apf := afterpform0009;
180 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
181 EXCEPTION
182 WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
183 BEGIN
184 /*SRW.MESSAGE(1
185 ,'FAILED IN BEFORE REPORT TRIGGER')*/NULL;
186 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
187 RETURN (FALSE);
188 END;
189 END;
190 BEGIN
191 /*SRW.MESSAGE(2
192 ,'Before Report')*/NULL;
193 P_ORG_ID := MO_GLOBAL.GET_CURRENT_ORG_ID;
194 /*SRW.MESSAGE(2
195 ,'Before Report-->:P_ORG_ID:' || P_ORG_ID)*/NULL;
196 END;
197 DECLARE
198 L_SOB_NAME VARCHAR2(240);
199 BEGIN
200 SELECT
201 SOB.NAME
202 INTO L_SOB_NAME
203 FROM
204 GL_SETS_OF_BOOKS SOB
205 WHERE SOB.SET_OF_BOOKS_ID = P_SOB_ID;
206 RP_COMPANY_NAME := L_SOB_NAME;
207 EXCEPTION
208 WHEN NO_DATA_FOUND THEN
209 RP_COMPANY_NAME := NULL;
210 END;
211 RETURN (TRUE);
212 END BEFOREREPORT;
213
214 FUNCTION BEFOREPFORM RETURN BOOLEAN IS
215 BEGIN
216 RETURN (TRUE);
217 END BEFOREPFORM;
218
219 FUNCTION PARAM_WHERE_CLAUSEVALIDTRIGGER RETURN BOOLEAN IS
220 BEGIN
221 RETURN (TRUE);
222 END PARAM_WHERE_CLAUSEVALIDTRIGGER;
223
224 FUNCTION AFTERREPORT RETURN BOOLEAN IS
225 BEGIN
226 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
227 RETURN (TRUE);
228 EXCEPTION
229 WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
230 /*SRW.MESSAGE(1
231 ,'FAILED IN AFTER REPORT TRIGGER')*/NULL;
232 RETURN (FALSE);
233 END AFTERREPORT;
234
235 FUNCTION BETWEENPAGE RETURN BOOLEAN IS
236 BEGIN
237 RETURN (TRUE);
238 END BETWEENPAGE;
239
240 FUNCTION CF_LINE_NUMBERFORMULA(LINE_NUMBER IN NUMBER
241 ,SHIPMENT_NUMBER IN NUMBER
242 ,OPTION_NUMBER IN NUMBER
243 ,COMPONENT_NUMBER IN NUMBER
244 ,SERVICE_NUMBER IN NUMBER) RETURN CHAR IS
245 P_LINE_NUMBER NUMBER;
246 P_SHIPMENT_NUMBER NUMBER;
247 P_OPTION_NUMBER NUMBER;
248 P_COMPONENT_NUMBER NUMBER;
249 P_SERVICE_NUMBER NUMBER;
250 P_CONCAT_VALUE VARCHAR2(500);
251 P_CONCAT_VALUE2 VARCHAR2(500);
252 P_CONCAT_VALUE_NUM NUMBER;
253 BEGIN
254 P_LINE_NUMBER := LINE_NUMBER;
255 P_SHIPMENT_NUMBER := SHIPMENT_NUMBER;
256 P_OPTION_NUMBER := OPTION_NUMBER;
257 P_COMPONENT_NUMBER := COMPONENT_NUMBER;
258 P_SERVICE_NUMBER := SERVICE_NUMBER;
259 LINE_SHIPMENT_OPTION(P_LINE_NUMBER
260 ,P_SHIPMENT_NUMBER
261 ,P_OPTION_NUMBER
262 ,P_CONCAT_VALUE
263 ,P_COMPONENT_NUMBER
264 ,P_SERVICE_NUMBER);
265 SELECT
266 REPLACE(P_CONCAT_VALUE
267 ,'.-1'
268 ,'')
269 INTO P_CONCAT_VALUE
270 FROM
271 DUAL;
272 RETURN (P_CONCAT_VALUE);
273 RETURN (NULL);
274 EXCEPTION
275 WHEN OTHERS THEN
276 RETURN (NULL);
277 END CF_LINE_NUMBERFORMULA;
278
279 FUNCTION CF_ORDERED_DATEFORMULA(LINE_ID IN NUMBER
280 ,HEADER_ID1 IN NUMBER
281 ,ORDERED_DATE IN DATE) RETURN DATE IS
282 X_RESULT_DATE DATE;
283 L_LINE_DATE DATE;
284 L_HEADER_DATE DATE;
285 CURSOR GET_LINE_DATE IS
286 SELECT
287 WIAS.END_DATE
288 FROM
289 WF_ITEM_ACTIVITY_STATUSES WIAS,
290 WF_PROCESS_ACTIVITIES WPA
291 WHERE WIAS.ITEM_TYPE = 'OEOL'
292 AND WIAS.ITEM_KEY = TO_CHAR(LINE_ID)
293 AND WIAS.PROCESS_ACTIVITY = WPA.INSTANCE_ID
294 AND WPA.ACTIVITY_NAME = 'INVOICE_INTERFACE';
295 CURSOR GET_HEADER_DATE IS
296 SELECT
297 WIAS.END_DATE
298 FROM
299 WF_ITEM_ACTIVITY_STATUSES WIAS,
300 WF_PROCESS_ACTIVITIES WPA
301 WHERE WIAS.ITEM_TYPE = 'OEOH'
302 AND WIAS.ITEM_KEY = TO_CHAR(HEADER_ID1)
303 AND WIAS.PROCESS_ACTIVITY = WPA.INSTANCE_ID
304 AND WPA.ACTIVITY_NAME = 'HEADER_INVOICE_INTERFACE';
305 BEGIN
306 IF (P_ACTIONS <> 'INVOICE_INT_NOT_CLOSED') THEN
307 RETURN (ORDERED_DATE);
308 ELSE
309 OPEN GET_LINE_DATE;
310 FETCH GET_LINE_DATE
311 INTO L_LINE_DATE;
312 IF GET_LINE_DATE%FOUND THEN
313 RETURN (L_LINE_DATE);
314 ELSE
315 OPEN GET_HEADER_DATE;
316 FETCH GET_HEADER_DATE
317 INTO L_HEADER_DATE;
318 IF GET_HEADER_DATE%FOUND THEN
319 RETURN (L_HEADER_DATE);
320 ELSE
321 RETURN (NULL);
322 END IF;
323 END IF;
324 END IF;
325 RETURN (NULL);
326 EXCEPTION
327 WHEN OTHERS THEN
328 RETURN (NULL);
329 END CF_ORDERED_DATEFORMULA;
330
331 FUNCTION G_LINE_IDGROUPFILTER(CF_ORDERED_DATE IN DATE) RETURN BOOLEAN IS
332 BEGIN
333 IF CF_ORDERED_DATE IS NULL THEN
334 RETURN (FALSE);
335 ELSE
336 RETURN (TRUE);
337 END IF;
338 END G_LINE_IDGROUPFILTER;
339
340 FUNCTION CF_MASTER_ORGFORMULA RETURN CHAR IS
341 V_MASTER_ORG VARCHAR2(20);
342 BEGIN
343 SELECT
344 NVL(OE_SYS_PARAMETERS.VALUE('MASTER_ORGANIZATION_ID')
345 ,0)
346 INTO V_MASTER_ORG
347 FROM
348 DUAL;
349 RETURN V_MASTER_ORG;
350 END CF_MASTER_ORGFORMULA;
351
352 FUNCTION CF_TYPEFORMULA(TYPE IN NUMBER) RETURN NUMBER IS
353 BEGIN
354 CP_TYPE := TYPE;
355 RETURN (0);
356 END CF_TYPEFORMULA;
357
358 FUNCTION CF_TITLEFORMULA RETURN CHAR IS
359 BEGIN
360 IF CP_TYPE = 1 THEN
361 FND_MESSAGE.SET_NAME('ONT'
362 ,'ONT_SEC_ENTER_BOOK');
363 RETURN (FND_MESSAGE.GET);
364 ELSIF CP_TYPE = 2 THEN
365 FND_MESSAGE.SET_NAME('ONT'
366 ,'ONT_SEC_BOOK_SCH');
367 RETURN (FND_MESSAGE.GET);
368 ELSIF CP_TYPE = 3 THEN
369 FND_MESSAGE.SET_NAME('ONT'
370 ,'ONT_SEC_SCH_PICK');
371 RETURN (FND_MESSAGE.GET);
372 ELSIF CP_TYPE = 4 THEN
373 FND_MESSAGE.SET_NAME('ONT'
374 ,'ONT_SEC_PICK_SHIP');
375 RETURN (FND_MESSAGE.GET);
376 ELSIF CP_TYPE = 5 THEN
377 FND_MESSAGE.SET_NAME('ONT'
378 ,'ONT_SEC_PUR_RCV');
379 RETURN (FND_MESSAGE.GET);
380 ELSIF CP_TYPE = 6 THEN
381 FND_MESSAGE.SET_NAME('ONT'
382 ,'ONT_SEC_SHIP_AWT');
383 RETURN (FND_MESSAGE.GET);
384 ELSIF CP_TYPE = 7 THEN
385 FND_MESSAGE.SET_NAME('ONT'
386 ,'ONT_SEC_SHIP_IVC');
387 RETURN (FND_MESSAGE.GET);
388 ELSIF CP_TYPE = 8 THEN
389 FND_MESSAGE.SET_NAME('ONT'
390 ,'ONT_SEC_RCV_IVC');
391 RETURN (FND_MESSAGE.GET);
392 ELSIF CP_TYPE = 9 THEN
393 FND_MESSAGE.SET_NAME('ONT'
394 ,'ONT_SEC_DROP_RCV');
395 RETURN (FND_MESSAGE.GET);
396 ELSIF CP_TYPE = 10 THEN
397 FND_MESSAGE.SET_NAME('ONT'
398 ,'ONT_SEC_FUL_IVC');
399 RETURN (FND_MESSAGE.GET);
400 ELSIF CP_TYPE = 11 THEN
401 FND_MESSAGE.SET_NAME('ONT'
402 ,'ONT_SEC_ITR_IVC');
403 RETURN (FND_MESSAGE.GET);
404 ELSIF CP_TYPE = 12 THEN
405 FND_MESSAGE.SET_NAME('ONT'
406 ,'ONT_SEC_SHIP_CLS');
407 RETURN (FND_MESSAGE.GET);
408 ELSIF CP_TYPE = 13 THEN
409 FND_MESSAGE.SET_NAME('ONT'
410 ,'ONT_SEC_IVC_CLS');
411 RETURN (FND_MESSAGE.GET);
412 END IF;
413 RETURN (NULL);
414 EXCEPTION
415 WHEN OTHERS THEN
416 RETURN (NULL);
417 END CF_TITLEFORMULA;
418
419 FUNCTION CF_BOOKED_HEADINGFORMULA RETURN NUMBER IS
420 BEGIN
421 IF (P_ACTIONS = 'SCHED_NOT_PK') THEN
422 RETURN ('Booked');
423 ELSE
424 RETURN (' ');
425 END IF;
426 RETURN (' ');
427 EXCEPTION
428 WHEN OTHERS THEN
429 RETURN (NULL);
430 END CF_BOOKED_HEADINGFORMULA;
431
432 FUNCTION CF_ORDER_TITLEFORMULA RETURN CHAR IS
433 BEGIN
434 IF CP_TYPE = 1 THEN
435 FND_MESSAGE.SET_NAME('ONT'
436 ,'ONT_SEC_ORD_DAT');
437 RETURN (FND_MESSAGE.GET);
438 ELSIF CP_TYPE = 2 THEN
439 FND_MESSAGE.SET_NAME('ONT'
440 ,'ONT_SEC_BOK_DAT');
441 RETURN (FND_MESSAGE.GET);
442 ELSIF CP_TYPE = 3 THEN
443 FND_MESSAGE.SET_NAME('ONT'
444 ,'ONT_SEC_SCH_DAT');
445 RETURN (FND_MESSAGE.GET);
446 ELSIF CP_TYPE = 4 THEN
447 FND_MESSAGE.SET_NAME('ONT'
448 ,'ONT_SEC_PIK_DAT');
449 RETURN (FND_MESSAGE.GET);
450 ELSIF CP_TYPE = 5 THEN
451 FND_MESSAGE.SET_NAME('ONT'
452 ,'ONT_SEC_EXP_DAT');
453 RETURN (FND_MESSAGE.GET);
454 ELSIF CP_TYPE = 6 THEN
455 FND_MESSAGE.SET_NAME('ONT'
456 ,'ONT_SEC_ACT_DAT');
457 RETURN (FND_MESSAGE.GET);
458 ELSIF CP_TYPE = 7 THEN
459 FND_MESSAGE.SET_NAME('ONT'
460 ,'ONT_SEC_ACT_DAT');
461 RETURN (FND_MESSAGE.GET);
462 ELSIF CP_TYPE = 8 THEN
463 FND_MESSAGE.SET_NAME('ONT'
464 ,'ONT_SEC_RCV_DAT');
465 RETURN (FND_MESSAGE.GET);
466 ELSIF CP_TYPE = 9 THEN
467 FND_MESSAGE.SET_NAME('ONT'
468 ,'ONT_SEC_RCV_DAT');
469 RETURN (FND_MESSAGE.GET);
470 ELSIF CP_TYPE = 10 THEN
471 FND_MESSAGE.SET_NAME('ONT'
472 ,'ONT_SEC_ORD_DAT');
473 RETURN (FND_MESSAGE.GET);
474 ELSIF CP_TYPE = 11 THEN
475 FND_MESSAGE.SET_NAME('ONT'
476 ,'ONT_SEC_ITF_DAT');
477 RETURN (FND_MESSAGE.GET);
478 ELSIF CP_TYPE = 12 THEN
479 FND_MESSAGE.SET_NAME('ONT'
480 ,'ONT_SEC_ACT_DAT');
481 RETURN (FND_MESSAGE.GET);
482 ELSIF CP_TYPE = 13 THEN
483 FND_MESSAGE.SET_NAME('ONT'
484 ,'ONT_SEC_ITF_DAT');
485 RETURN (FND_MESSAGE.GET);
486 END IF;
487 RETURN (NULL);
488 EXCEPTION
489 WHEN OTHERS THEN
490 RETURN (NULL);
491 END CF_ORDER_TITLEFORMULA;
492
493 FUNCTION CP_TYPE_P RETURN NUMBER IS
494 BEGIN
495 RETURN CP_TYPE;
496 END CP_TYPE_P;
497
498 FUNCTION RP_COMPANY_NAME_P RETURN VARCHAR2 IS
499 BEGIN
500 RETURN RP_COMPANY_NAME;
501 END RP_COMPANY_NAME_P;
502
503 PROCEDURE LINE_SHIPMENT_OPTION(P_LINE_NUMBER IN NUMBER
504 ,P_SHIPMENT_NUMBER IN NUMBER
505 ,P_OPTION_NUMBER IN NUMBER
506 ,P_CONCAT_VALUE OUT NOCOPY VARCHAR2
507 ,P_COMPONENT_NUMBER IN NUMBER := NULL
508 ,P_SERVICE_NUMBER IN NUMBER := NULL) IS
509 LINE_NUMBER NUMBER;
510 SHIPMENT_NUMBER NUMBER;
511 SERVICE_NUMBER NUMBER;
512 OPTION_NUMBER NUMBER;
513 COMPONENT_NUMBER NUMBER;
514 BEGIN
515 LINE_NUMBER := P_LINE_NUMBER;
516 SHIPMENT_NUMBER := P_SHIPMENT_NUMBER;
517 OPTION_NUMBER := P_OPTION_NUMBER;
518 COMPONENT_NUMBER := P_COMPONENT_NUMBER;
519 SERVICE_NUMBER := P_SERVICE_NUMBER;
520 IF SERVICE_NUMBER <> -1 THEN
521 IF OPTION_NUMBER <> -1 THEN
522 IF COMPONENT_NUMBER <> -1 THEN
523 P_CONCAT_VALUE := LINE_NUMBER || '.' || SHIPMENT_NUMBER || '.' || OPTION_NUMBER || '.' || COMPONENT_NUMBER || '.' || SERVICE_NUMBER;
524 ELSE
525 P_CONCAT_VALUE := LINE_NUMBER || '.' || SHIPMENT_NUMBER || '.' || OPTION_NUMBER || '..' || SERVICE_NUMBER;
526 END IF;
527 ELSE
528 IF COMPONENT_NUMBER <> -1 THEN
529 P_CONCAT_VALUE := LINE_NUMBER || '.' || SHIPMENT_NUMBER || '..' || COMPONENT_NUMBER || '.' || SERVICE_NUMBER;
530 ELSE
531 P_CONCAT_VALUE := LINE_NUMBER || '.' || SHIPMENT_NUMBER || '...' || SERVICE_NUMBER;
532 END IF;
533 END IF;
534 ELSE
535 IF OPTION_NUMBER <> -1 THEN
536 IF COMPONENT_NUMBER <> -1 THEN
537 P_CONCAT_VALUE := LINE_NUMBER || '.' || SHIPMENT_NUMBER || '.' || OPTION_NUMBER || '.' || COMPONENT_NUMBER;
538 ELSE
539 P_CONCAT_VALUE := LINE_NUMBER || '.' || SHIPMENT_NUMBER || '.' || OPTION_NUMBER;
540 END IF;
541 ELSE
542 IF COMPONENT_NUMBER <> -1 THEN
543 P_CONCAT_VALUE := LINE_NUMBER || '.' || SHIPMENT_NUMBER || '..' || COMPONENT_NUMBER;
544 ELSE
545 P_CONCAT_VALUE := LINE_NUMBER || '.' || SHIPMENT_NUMBER;
546 END IF;
547 END IF;
548 END IF;
549 END LINE_SHIPMENT_OPTION;
550
551 END ONT_OEXOEWFR_XMLP_PKG;
552