[Home] [Help]
PACKAGE BODY: APPS.XDP_OE_ORDER
Source
1 PACKAGE BODY XDP_OE_ORDER AS
2 /* $Header: XDPOEORB.pls 120.1 2005/06/16 01:52:04 appldev $ */
3
4
5 /*----------------------------------------
6 Procedure : Insert_OE_Order
7 Purpose : Insert into XDP OE Order Header
8 ----------------------------------------*/
9 -- API to Insert into XDP OE Order Header Table
10 PROCEDURE Insert_OE_Order( P_OE_Order_Header IN XDP_TYPES.OE_ORDER_HEADER,
11 P_OE_Order_Parameter_List IN XDP_TYPES.OE_ORDER_PARAMETER_LIST,
12 Return_Code OUT NOCOPY NUMBER,
13 Error_Description OUT NOCOPY VARCHAR2 ) IS
14
15
16 lv_oe_order_header XDP_TYPES.OE_ORDER_HEADER ;
17 lv_oe_order_parameter_list XDP_TYPES.OE_ORDER_PARAMETER_LIST ;
18 lv_param_count BINARY_INTEGER ;
19 lv_temp BINARY_INTEGER ;
20 BEGIN
21 -- Make a Local copy.
22 lv_oe_order_header := P_OE_ORDER_HEADER ;
23 lv_oe_order_parameter_list := P_OE_Order_Parameter_List ;
24
25 -- Initialize
26 Return_Code := 0 ;
27 Error_Description := '' ;
28
29 -- Check if the Order Number is passed.
30 IF( lv_oe_order_header.ORDER_NUMBER IS NULL ) THEN
31 Return_Code := -111 ;
32 Error_Description := 'Error: XDP OE Order Number cannot be NULL' ;
33 RETURN ;
34 END IF ;
35
36 -- Check if the Order Number already exists
37 IF ( OE_Order_Exists( lv_oe_order_header.ORDER_NUMBER,
38 lv_oe_order_header.ORDER_VERSION ) = 'Y' ) THEN
39
40 Return_Code := -111 ;
41 Error_Description := 'Error: Order Number ' ||
42 lv_oe_order_header.ORDER_NUMBER || ' exists.' ;
43 RETURN ;
44 END IF ;
45
46 IF( lv_oe_order_header.PROVISIONING_DATE IS NULL ) THEN
47 lv_oe_order_header.PROVISIONING_DATE := SYSDATE ;
48
49 END IF ;
50
51 -- Insert into the XDP OE Order Header Table
52 INSERT INTO XDP_OE_ORDER_HEADERS (
53 ORDER_NUMBER,
54 ORDER_VERSION,
55 PROVISIONING_DATE,
56 COMPLETION_DATE,
57 ORDER_TYPE,
58 ORDER_ACTION,
59 ORDER_SOURCE,
60 PRIORITY,
61 STATUS,
62 SDP_ORDER_ID,
63 DUE_DATE,
64 CUSTOMER_REQUIRED_DATE,
65 CUSTOMER_NAME,
66 CUSTOMER_ID,
67 ORG_ID,
68 SERVICE_PROVIDER_ID,
69 TELEPHONE_NUMBER,
70 RELATED_ORDER_ID,
71 ORDER_COMMENT,
72 SP_ORDER_NUMBER,
73 SP_USERID,
74 JEOPARDY_ENABLED_FLAG,
75 ORDER_REF_NAME,
76 ORDER_REF_VALUE
77 )
78 VALUES (
79 UPPER(lv_oe_order_header.ORDER_NUMBER),
80 -- Order version made mandatory. 03/27/2001. skilaru
81 NVL(lv_oe_order_header.ORDER_VERSION,'1'),
82 lv_oe_order_header.PROVISIONING_DATE,
83 lv_oe_order_header.COMPLETION_DATE,
84 lv_oe_order_header.ORDER_TYPE,
85 lv_oe_order_header.ORDER_ACTION,
86 lv_oe_order_header.ORDER_SOURCE,
87 lv_oe_order_header.PRIORITY,
88 'SUBMITTED',
89 lv_oe_order_header.SDP_ORDER_ID,
90 lv_oe_order_header.DUE_DATE,
91 lv_oe_order_header.CUSTOMER_REQUIRED_DATE,
92 UPPER(lv_oe_order_header.CUSTOMER_NAME),
93 lv_oe_order_header.CUSTOMER_ID,
94 lv_oe_order_header.ORG_ID,
95 lv_oe_order_header.SERVICE_PROVIDER_ID,
96 lv_oe_order_header.TELEPHONE_NUMBER,
97 lv_oe_order_header.RELATED_ORDER_ID,
98 lv_oe_order_header.ORDER_COMMENT,
99 lv_oe_order_header.SP_ORDER_NUMBER,
100 lv_oe_order_header.SP_USERID,
101 lv_oe_order_header.JEOPARDY_ENABLED_FLAG,
102 lv_oe_order_header.ORDER_REF_NAME,
103 lv_oe_order_header.ORDER_REF_VALUE
104 ) ;
105
106 -- Check if any Parameters are defined for this Order
107 IF( lv_oe_order_parameter_list.COUNT = 0 ) THEN
108 -- No Parameters.
109 NULL ;
110 ELSE
111 -- Insert any XDP OE Order Parameters.
112 lv_param_count := lv_oe_order_parameter_list.FIRST ;
113 FOR lv_temp IN 1..lv_oe_order_parameter_list.COUNT
114 LOOP
115 INSERT INTO XDP_OE_ORDER_PARAMETERS (
116 ORDER_NUMBER,
117 ORDER_VERSION,
118 PARAMETER_NAME,
119 PARAMETER_VALUE
120 )
121 VALUES (
122 UPPER(lv_oe_order_header.ORDER_NUMBER),
123 -- Order version made mandatory. 03/27/2001. skilaru
124 NVL(lv_oe_order_header.ORDER_VERSION,'1'),
125 lv_oe_order_parameter_list( lv_param_count ).PARAMETER_NAME,
126 lv_oe_order_parameter_list( lv_param_count ).PARAMETER_VALUE
127 ) ;
128 lv_param_count := lv_oe_order_parameter_list.NEXT( lv_param_count ) ;
129
130 END LOOP ;
131 END IF ;
132
133 --COMMIT ;
134 EXCEPTION
135 WHEN OTHERS THEN
136 Return_Code := SQLCODE ;
137 Error_Description := SUBSTR( SQLERRM, 1, 280 ) ;
138 END Insert_OE_Order ;
139
140
141 /*----------------------------------------
142 Function: OE_Order_Exists
143 Purpose: Check if the given Order already exists.
144 ----------------------------------------*/
145 FUNCTION OE_Order_Exists( P_Order_Number IN VARCHAR2,
146 -- Order version made mandatory. 03/27/2001. skilaru
147 P_Version IN VARCHAR2)
148 RETURN VARCHAR2 IS
149 lv_exists_flag VARCHAR2(1);
150 BEGIN
151 -- IF P_Version IS NULL THEN
152 BEGIN
153 SELECT 'Y' INTO lv_exists_flag
154 FROM DUAL
155 WHERE EXISTS
156 ( SELECT 'x' FROM XDP_OE_ORDER_HEADERS
157 WHERE ORDER_NUMBER =
158 UPPER(P_Order_Number));
159 -- AND ORDER_VERSION IS NULL);
160 EXCEPTION
161 WHEN NO_DATA_FOUND THEN
162 lv_exists_flag := 'N';
163 END;
164 /* ELSE
165 BEGIN
166 SELECT 'Y' INTO lv_exists_flag
167 FROM DUAL
168 WHERE EXISTS
169 ( SELECT 'x' FROM XDP_OE_ORDER_HEADERS
170 WHERE ORDER_NUMBER =
171 UPPER( P_Order_Number) AND
172 ORDER_VERSION = UPPER( p_Version));
173 EXCEPTION
174 WHEN NO_DATA_FOUND THEN
175 lv_exists_flag := 'N';
176 END;
177 END IF;
178 */
179 RETURN lv_exists_flag;
180
181 EXCEPTION
182 WHEN OTHERS THEN
183 RAISE ;
184 END OE_Order_Exists ;
185
186
187 /*----------------------------------------
188 Procedure : Insert_OE_Order_Line
189 Purpose : Insert into XDP OE Order Line and Line Details
190 ----------------------------------------*/
191 -- API to Insert into XDP OE Order Line and Line Details Table
192 PROCEDURE Insert_OE_Order_Line( P_OE_Order_Line IN XDP_TYPES.OE_ORDER_LINE,
193 P_OE_Order_Line_Detail_List IN XDP_TYPES.OE_ORDER_LINE_DETAIL_LIST,
194 Return_Code OUT NOCOPY NUMBER,
195 Error_Description OUT NOCOPY VARCHAR2 ) IS
196
197 lv_oe_order_line XDP_TYPES.OE_ORDER_LINE ;
198 lv_oe_order_line_detail_list XDP_TYPES.OE_ORDER_LINE_DETAIL_LIST ;
199 lv_detail_count BINARY_INTEGER ;
200 lv_temp BINARY_INTEGER ;
201 BEGIN
202 -- Make a Local Copy
203 lv_oe_order_line := P_OE_Order_Line ;
204 lv_oe_order_line_detail_list := P_OE_Order_Line_Detail_List ;
205
206 -- Initialize
207 Return_Code := 0 ;
208 Error_Description := '' ;
209
210 -- Check if Mandatory fields have Values.
211 IF( lv_oe_order_line.ORDER_NUMBER IS NULL ) THEN
212 Return_Code := -111 ;
213 Error_Description := 'Error: XDP OE Order Number cannot be NULL' ;
214 RETURN ;
215 END IF ;
216
217 IF( lv_oe_order_line.LINE_NUMBER IS NULL ) THEN
218 Return_Code := -111 ;
219 Error_Description := 'Error: XDP OE Order Line Number cannot be NULL' ;
220 RETURN ;
221 END IF ;
222
223 IF( lv_oe_order_line.LINE_ITEM_NAME IS NULL ) THEN
224 Return_Code := -111 ;
225 Error_Description := 'Error: XDP OE Order Line Item Name cannot be NULL' ;
226 RETURN ;
227 END IF ;
228
229 IF( lv_oe_order_line.PROVISIONING_REQUIRED_FLAG IS NULL ) THEN
230 lv_oe_order_line.PROVISIONING_REQUIRED_FLAG := 'Y' ;
231 END IF ;
232
233 -- Check if this is a Valid XDP OE Order
234 IF ( OE_Order_Exists(UPPER( lv_oe_order_line.ORDER_NUMBER ),
235 lv_oe_order_line.ORDER_VERSION ) = 'N' ) THEN
236
237 Return_Code := -111 ;
238 Error_Description := 'Error: Order Number ' ||
239 lv_oe_order_line.ORDER_NUMBER || ' does not exist.' ;
240 RETURN ;
241 END IF ;
242
243 -- Insert the XDP Order Line
244 INSERT INTO XDP_OE_ORDER_LINES (
245 ORDER_NUMBER,
246 ORDER_VERSION,
247 LINE_NUMBER,
248 LINE_ITEM_NAME,
249 LINE_ITEM_VERSION,
250 LINE_ITEM_ACTION,
251 PROVISIONING_REQUIRED_FLAG,
252 IS_WORKITEM_FLAG,
253 LINE_ITEM_TYPE,
254 STATUS,
255 PROVISIONING_SEQUENCE,
256 PRIORITY,
257 PROVISIONING_DATE,
258 DUE_DATE,
259 CUSTOMER_REQUIRED_DATE,
260 COMPLETION_DATE,
261 BUNDLE_ID,
262 BUNDLE_SEQUENCE,
263 STARTING_NUMBER,
264 ENDING_NUMBER,
265 JEOPARDY_ENABLED_FLAG
266 )
267 VALUES (
268 UPPER(lv_oe_order_line.ORDER_NUMBER),
269 -- Order version made mandatory. 03/27/2001. skilaru
270 NVL(lv_oe_order_line.ORDER_VERSION,'1'),
271 lv_oe_order_line.LINE_NUMBER,
272 lv_oe_order_line.LINE_ITEM_NAME,
273 lv_oe_order_line.LINE_ITEM_VERSION,
274 lv_oe_order_line.LINE_ITEM_ACTION,
275 lv_oe_order_line.PROVISIONING_REQUIRED_FLAG,
276 lv_oe_order_line.IS_WORKITEM_FLAG,
277 lv_oe_order_line.LINE_ITEM_TYPE,
278 lv_oe_order_line.STATUS,
279 lv_oe_order_line.PROVISIONING_SEQUENCE,
280 lv_oe_order_line.PRIORITY,
281 lv_oe_order_line.PROVISIONING_DATE,
282 lv_oe_order_line.DUE_DATE,
283 lv_oe_order_line.CUSTOMER_REQUIRED_DATE,
284 lv_oe_order_line.COMPLETION_DATE,
285 lv_oe_order_line.BUNDLE_ID,
286 lv_oe_order_line.BUNDLE_SEQUENCE,
287 lv_oe_order_line.STARTING_NUMBER,
288 lv_oe_order_line.ENDING_NUMBER,
289 lv_oe_order_line.JEOPARDY_ENABLED_FLAG
290 ) ;
291
292 -- Check if any details are defined for this Line
293 IF( lv_oe_order_line_detail_list.COUNT = 0 ) THEN
294 -- No details
295 NULL ;
296 ELSE
297 -- Insert any Line Details
298 lv_detail_count := lv_oe_order_line_detail_list.FIRST ;
299 FOR lv_temp IN 1..lv_oe_order_line_detail_list.COUNT
300 LOOP
301 INSERT INTO XDP_OE_ORDER_LINE_DETS (
302 ORDER_NUMBER,
303 ORDER_VERSION,
304 LINE_NUMBER,
305 PARAMETER_NAME,
306 PARAMETER_VALUE,
307 PARAMETER_REF_VALUE
308 )
309 VALUES (
310 UPPER( lv_oe_order_line.ORDER_NUMBER),
311 -- Order version made mandatory. 03/27/2001. skilaru
312 NVL(lv_oe_order_line.ORDER_VERSION,'1'),
313 lv_oe_order_line.LINE_NUMBER,
314 lv_oe_order_line_detail_list( lv_detail_count ).PARAMETER_NAME,
315 lv_oe_order_line_detail_list( lv_detail_count ).PARAMETER_VALUE,
316 lv_oe_order_line_detail_list( lv_detail_count ).PARAMETER_REF_VALUE
317
318 ) ;
319 lv_detail_count := lv_oe_order_line_detail_list.NEXT( lv_detail_count ) ;
320
321 END LOOP ;
322 END IF ;
323
324 --COMMIT ;
325 EXCEPTION
326 WHEN OTHERS THEN
327 Return_Code := SQLCODE ;
328 Error_Description := SUBSTR( SQLERRM, 1, 280 ) ;
329 END Insert_OE_Order_Line ;
330
331 /*----------------------------------------
332 Procedure : Submit_OE_Order
333 Purpose : Subimt an Order for Processing from XDP OE Order Tables
334
335 Orginally this was XDP_Submit_OE_Order Procedure. This has now been
336 moved into this Package.
337 ----------------------------------------*/
338 -- API to Submit an Order for Processing from XDP OE Order Tables
339 PROCEDURE Submit_OE_Order( P_OE_Order_Number IN VARCHAR2,
340 -- Order version made mandatory 03/27/2001. skilaru
341 -- P_OE_Order_Version IN VARCHAR2 DEFAULT NULL,
342 P_OE_Order_Version IN VARCHAR2,
343 SDP_Order_ID OUT NOCOPY NUMBER,
344 Return_Code OUT NOCOPY NUMBER,
345 Error_Description OUT NOCOPY VARCHAR2) IS
346 lv_header XDP_TYPES.ORDER_HEADER;
347 lv_order_params XDP_TYPES.ORDER_PARAMETER_LIST;
348 lv_line XDP_TYPES.ORDER_LINE_LIST;
349 lv_line_details XDP_TYPES.LINE_PARAM_LIST;
350 lv_index NUMBER;
351 l_sdp_order_id NUMBER;
352
353 CURSOR lc_param IS
354 SELECT PARAMETER_NAME, PARAMETER_VALUE
355 FROM XDP_OE_ORDER_PARAMETERS
356 WHERE ORDER_NUMBER = p_oe_order_number
357 AND ORDER_VERSION = p_oe_order_version ;
358
359 /* p_oe_order_version made mandatory. This cursor is never opened.
360 ** Code section will be removed in next change of API.
361 ** 02/27/2001. skilaru
362 */
363 -- CURSOR lc_param2 IS
364 -- SELECT PARAMETER_NAME, PARAMETER_VALUE
365 -- FROM XDP_OE_ORDER_PARAMETERS
366 -- WHERE ORDER_NUMBER = p_oe_order_number
367 -- AND ORDER_VERSION IS NULL;
368
369 CURSOR lc_line IS
370 SELECT *
371 FROM XDP_OE_ORDER_LINES
372 WHERE ORDER_NUMBER = p_oe_order_number
373 AND ORDER_VERSION = p_oe_order_version;
374
375 /* p_oe_order_version made mandatory. This cursor is never opened.
376 ** Code section will be removed in next change of API.
377 ** 02/27/2001. skilaru
378 */
379 -- CURSOR lc_line2 IS
380 -- SELECT *
381 -- FROM XDP_OE_ORDER_LINES
382 -- WHERE ORDER_NUMBER = p_oe_order_number
383 -- AND ORDER_VERSION IS NULL;
384
385 CURSOR lc_line_param IS
386 select *
387 from xdp_oe_order_line_dets
388 where order_number = p_oe_order_number
389 and order_version = p_oe_order_version;
390
391 /* p_oe_order_version made mandatory. This cursor is never opened.
392 ** Code section will be removed in next change of API.
393 ** 02/27/2001. skilaru
394 */
395 -- CURSOR lc_line_param2 IS
396 -- select *
397 -- from xdp_oe_order_line_dets
398 -- where order_number = p_oe_order_number
399 -- and order_version IS NULL;
400
401 BEGIN
402 return_code := 0;
403 /* p_oe_order_version made mandatory. This code path will never
404 ** be taken and is hence put within comments.
405 ** Code section will be removed in next change of API.
406 ** 02/27/2001. skilaru
407
408 IF p_oe_order_version IS NULL THEN
409 select order_number ,
410 order_version ,
411 provisioning_date,
412 priority ,
413 due_date ,
414 customer_required_date ,
415 order_type ,
416 order_action ,
417 order_source ,
418 related_order_id,
419 org_id ,
420 customer_name ,
421 customer_id ,
422 service_provider_id ,
423 telephone_number,
424 jeopardy_enabled_flag,
425 order_ref_name,
426 order_ref_value,
427 sp_order_number,
428 sp_userid
429 into lv_header.order_number ,
430 lv_header.order_version ,
431 lv_header.provisioning_date,
432 lv_header.priority ,
433 lv_header.due_date ,
434 lv_header.customer_required_date ,
435 lv_header.order_type ,
436 lv_header.order_action ,
437 lv_header.order_source ,
438 lv_header.related_order_id,
439 lv_header.org_id ,
440 lv_header.customer_name ,
441 lv_header.customer_id ,
442 lv_header.service_provider_id ,
443 lv_header.telephone_number,
444 lv_header.jeopardy_enabled_flag,
445 lv_header.order_ref_name,
446 lv_header.order_ref_value,
447 lv_header.sp_order_number,
448 lv_header.sp_userid
449 from xdp_oe_order_headers
450 where order_number = p_oe_order_number
451 and order_version IS NULL;
452
453 lv_index := 0;
457 lv_param_rec.parameter_name;
454 FOR lv_param_rec in lc_param2 LOOP
455 lv_index := lv_index + 1;
456 lv_order_params(lv_index).parameter_name :=
458 lv_order_params(lv_index).parameter_value :=
459 lv_param_rec.parameter_value;
460 END LOOP;
461
462 lv_index := 0;
463 FOR lv_line_rec in lc_line2 LOOP
464 lv_index := lv_index + 1;
465 lv_line(lv_index).line_number :=
466 lv_line_rec.line_number;
467 lv_line(lv_index).LINE_ITEM_NAME :=
468 lv_line_rec.LINE_ITEM_NAME ;
469 lv_line(lv_index).version :=
470 lv_line_rec.line_item_version;
471 lv_line(lv_index).is_workitem_flag :=
472 lv_line_rec.is_workitem_flag;
473 lv_line(lv_index).action:=
474 lv_line_rec.line_item_action ;
475 lv_line(lv_index).provisioning_date :=
476 lv_line_rec.provisioning_date ;
477 lv_line(lv_index).provisioning_required_flag :=
478 lv_line_rec.provisioning_required_flag ;
479 lv_line(lv_index).provisioning_sequence :=
480 lv_line_rec.provisioning_sequence ;
481 lv_line(lv_index).bundle_id :=
482 lv_line_rec.bundle_id ;
483 lv_line(lv_index).bundle_sequence :=
484 lv_line_rec.bundle_sequence ;
485 lv_line(lv_index).priority :=
486 lv_line_rec.priority ;
487 lv_line(lv_index).due_date :=
488 lv_line_rec.due_date ;
489 lv_line(lv_index).customer_required_date:=
490 lv_line_rec.customer_required_date;
491 lv_line(lv_index).jeopardy_enabled_flag:=
492 lv_line_rec.jeopardy_enabled_flag;
493 lv_line(lv_index).starting_number:=
494 lv_line_rec.starting_number;
495 lv_line(lv_index).ending_number:=
496 lv_line_rec.ending_number;
497
498 END LOOP;
499
500 lv_index := 0;
501 FOR lv_line_param_rec IN lc_line_param2 LOOP
502 lv_index := lv_index + 1;
503 lv_line_details(lv_index).line_number :=
504 lv_line_param_rec.line_number;
505 lv_line_details(lv_index).parameter_name :=
506 lv_line_param_rec.parameter_name;
507 lv_line_details(lv_index).parameter_value :=
508 lv_line_param_rec.parameter_value;
509 lv_line_details(lv_index).parameter_ref_value :=
510 lv_line_param_rec.parameter_ref_value;
511 END LOOP;
512
513 ELSE
514 ************************/
515 select order_number ,
516 order_version ,
517 provisioning_date,
518 priority ,
519 due_date ,
520 customer_required_date ,
521 order_type ,
522 order_action ,
523 order_source ,
524 related_order_id,
525 org_id ,
526 customer_name ,
527 customer_id ,
528 service_provider_id ,
529 telephone_number,
530 jeopardy_enabled_flag,
531 order_ref_name,
532 order_ref_value,
533 sp_order_number,
534 sp_userid
535 into lv_header.order_number ,
536 lv_header.order_version ,
537 lv_header.provisioning_date,
538 lv_header.priority ,
539 lv_header.due_date ,
540 lv_header.customer_required_date ,
541 lv_header.order_type ,
542 lv_header.order_action ,
543 lv_header.order_source ,
544 lv_header.related_order_id,
545 lv_header.org_id ,
546 lv_header.customer_name ,
547 lv_header.customer_id ,
548 lv_header.service_provider_id ,
549 lv_header.telephone_number,
550 lv_header.jeopardy_enabled_flag,
551 lv_header.order_ref_name,
552 lv_header.order_ref_value,
553 lv_header.sp_order_number,
554 lv_header.sp_userid
555 from xdp_oe_order_headers
556 where order_number = p_oe_order_number
557 and order_version = p_oe_order_version;
558
559 lv_index := 0;
560 FOR lv_param_rec in lc_param LOOP
561 lv_index := lv_index + 1;
562 lv_order_params(lv_index).parameter_name :=
563 lv_param_rec.parameter_name;
564 lv_order_params(lv_index).parameter_value :=
565 lv_param_rec.parameter_value;
566 END LOOP;
567
568 lv_index := 0;
569 FOR lv_line_rec in lc_line LOOP
570 lv_index := lv_index + 1;
571 lv_line(lv_index).line_number :=
572 lv_line_rec.line_number;
573 lv_line(lv_index).LINE_ITEM_NAME :=
574 lv_line_rec.LINE_ITEM_NAME ;
575 lv_line(lv_index).version :=
576 lv_line_rec.line_item_version;
577 lv_line(lv_index).is_workitem_flag :=
578 lv_line_rec.is_workitem_flag;
579 lv_line(lv_index).action:=
580 lv_line_rec.line_item_action ;
581 lv_line(lv_index).provisioning_date :=
582 lv_line_rec.provisioning_date ;
583 lv_line(lv_index).provisioning_required_flag :=
584 lv_line_rec.provisioning_required_flag ;
585 lv_line(lv_index).provisioning_sequence :=
586 lv_line_rec.provisioning_sequence ;
587 lv_line(lv_index).bundle_id :=
588 lv_line_rec.bundle_id ;
589 lv_line(lv_index).bundle_sequence :=
590 lv_line_rec.bundle_sequence ;
591 lv_line(lv_index).priority :=
592 lv_line_rec.priority ;
593 lv_line(lv_index).due_date :=
594 lv_line_rec.due_date ;
595 lv_line(lv_index).customer_required_date:=
596 lv_line_rec.customer_required_date;
597 lv_line(lv_index).jeopardy_enabled_flag:=
598 lv_line_rec.jeopardy_enabled_flag;
599 lv_line(lv_index).starting_number:=
600 lv_line_rec.starting_number;
601 lv_line(lv_index).ending_number:=
602 lv_line_rec.ending_number;
603 END LOOP;
604
605 lv_index := 0;
606 FOR lv_line_param_rec IN lc_line_param LOOP
607 lv_index := lv_index + 1;
608 lv_line_details(lv_index).line_number :=
609 lv_line_param_rec.line_number;
610 lv_line_details(lv_index).parameter_name :=
611 lv_line_param_rec.parameter_name;
612 lv_line_details(lv_index).parameter_value :=
613 lv_line_param_rec.parameter_value;
614 lv_line_details(lv_index).parameter_ref_value :=
615 lv_line_param_rec.parameter_ref_value;
616 END LOOP;
617 -- END IF;
618
619 XDP_INTERFACES.PROCESS_ORDER( P_ORDER_HEADER => lv_header,
620 P_ORDER_PARAMETER => lv_order_params,
621 P_ORDER_LINE_LIST => lv_line,
622 P_LINE_PARAMETER_LIST => lv_line_details,
623 SDP_ORDER_ID => sdp_order_id,
624 RETURN_CODE => return_code,
625 ERROR_DESCRIPTION => error_description);
626
627 /* BEN: 5/6/99 made this change:
628 ** update table xdp_oe_order_headers with the value obtained from
629 ** process_order() for the SDP_ORDER_ID column.
630 */
631
632 l_sdp_order_id := sdp_order_id;
633
634 /* p_oe_order_version made mandatory. This code path will never
635 ** be taken and is hence put within comments.
636 ** Code section will be removed in next change of API.
637 ** 02/27/2001. skilaru
638 IF p_oe_order_version IS NULL THEN
639
640 update XDP_OE_ORDER_HEADERS
641 set SDP_ORDER_ID = l_sdp_order_id, STATUS='SUBMITTED'
642 where ORDER_NUMBER = p_oe_order_number
643 and ORDER_VERSION is NULL;
644
645 ELSE
646 **************/
647 update XDP_OE_ORDER_HEADERS
648 set SDP_ORDER_ID = l_sdp_order_id, STATUS='SUBMITTED'
649 where ORDER_NUMBER = p_oe_order_number
650 and ORDER_VERSION = p_oe_order_version;
651 -- END IF;
652
653 EXCEPTION
654 WHEN OTHERS THEN
655 return_code := SQLCODE;
656 error_description := SUBSTR(SQLERRM,1,280);
657 END Submit_OE_Order;
658
659 END XDP_OE_ORDER ;