DBA Data[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 ;