DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEM_MS_MSGMETA_PVT

Source


1 PACKAGE BODY IEM_MS_MSGMETA_PVT AS
2 /* $Header: iemvhdrb.pls 120.2 2005/08/24 15:59:31 appldev noship $ */
3 --
4 --
5 -- Purpose: Mantain message store header tables
6 --
7 -- MODIFICATION HISTORY
8 -- Person      Date         Comments
9 --  Liang Xia   10/5/2004    Created
10 --  Liang Xia   10/16/2004   Redefined interface of create_headers
11 --  Liang Xia   12/16/2004   Fixed problem when extheader value length larger than 256
12 --  Liang Xia   08/18/2005   Changed create_msg_meta to accept message_id for DPM
13 --		  					 trucate headers to fit into schema.
14 -- ---------   ------  ------------------------------------------
15 
16 
17 -- Enter procedure, function bodies as shown below
18 G_PKG_NAME CONSTANT varchar2(30) :='IEM_MS_MSGMETA_PVT ';
19 G_created_updated_by   NUMBER:=TO_NUMBER (FND_PROFILE.VALUE('USER_ID')) ;
20 G_LAST_UPDATE_LOGIN    NUMBER:=TO_NUMBER (FND_PROFILE.VALUE('LOGIN_ID') ) ;
21 
22 PROCEDURE create_msg_meta (
23                  p_api_version_number  IN   NUMBER,
24 		 p_init_msg_list       IN   VARCHAR2 := null,
25 		 p_commit              IN   VARCHAR2 := null,
26             	 P_subject             IN   VARCHAR2,
27 		 p_sent_date   	       IN   VARCHAR2, --DATE,
28                  p_priority            IN   VARCHAR2,
29                  p_msg_id              IN   VARCHAR2,
30                  p_UID                 IN   NUMBER,
31                  p_x_mailer            IN   varchar2,
32                  p_language            IN   varchar2,
33                  p_content_type        IN   varchar2,
34                  p_organization        IN   varchar2,
35 		 p_message_size	       IN   NUMBER,
36                  p_email_account       IN   NUMBER,
37 		 p_from		       IN   varchar2,
38 		 p_to		       IN   varchar2,
39 		 p_cc		       IN   varchar2,
40 		 p_reply_to	       IN   varchar2,
41 		 p_message_id	   in 	NUMBER,
42                  x_ref_key             OUT NOCOPY varchar2,
43                  x_return_status	   OUT  NOCOPY VARCHAR2,
44   		  	     x_msg_count	       OUT	NOCOPY NUMBER,
45 	  	  	     x_msg_data	           OUT	NOCOPY VARCHAR2
46 			 ) is
47 	l_api_name        		VARCHAR2(255):='create_item_tag';
48 	l_api_version_number 	NUMBER:=1.0;
49     l_seq_id		        NUMBER;
50 
51     l_return_status         VARCHAR2(20) := FND_API.G_RET_STS_SUCCESS;
52     l_msg_count             NUMBER := 0;
53     l_msg_data              VARCHAR2(2000);
54 
55     l_subject               VARCHAR2(2000);
56   	l_sent_date   	        VARCHAR2(60);
57 	l_to   	        		VARCHAR2(2000);
58 	l_cc   	        		VARCHAR2(2000);
59 	l_reply_to   	        VARCHAR2(256);
60 	l_from					VARCHAR2(2000);
61 	l_CONTENT_TYPE			VARCHAR2(256);
62 	l_ORGANIZATION 			VARCHAR2(256);
63 	l_LANGUAGE				VARCHAR2(256);
64 
65     l_recieved_date         DATE := sysdate;
66     l_priority              VARCHAR2(256);
67     l_size                  NUMBER;
68     l_rfcmsg_id             VARCHAR2(256);
69     l_UID                   NUMBER;
70     l_system_flag           VARCHAR2(256);
71     l_x_mailer              VARCHAR2(256);
72 
73 BEGIN
74   -- Standard Start of API savepoint
75   SAVEPOINT		create_item_tag_PVT;
76 
77   -- Standard call to check for call compatibility.
78 
79   IF NOT FND_API.Compatible_API_Call (l_api_version_number,
80   				    p_api_version_number,
81   				    l_api_name,
82   				    G_PKG_NAME)
83   THEN
84   	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
85   END IF;
86 
87 
88     -- Initialize message list if p_init_msg_list is set to TRUE.
89    IF FND_API.to_Boolean( p_init_msg_list )
90    THEN
91      FND_MSG_PUB.initialize;
92    END IF;
93 
94    -- Initialize API return status to SUCCESS
95    x_return_status := FND_API.G_RET_STS_SUCCESS;
96 
97    --begins here
98 
99     --get next sequential number for msg_meta_id
100    	--SELECT iem_ms_mimemsgs_s1.nextval
101 	if ( p_message_id = -1 ) then
102    	   SELECT iem_ms_base_headers_s1.nextval
103 	   INTO l_seq_id
104 	   FROM dual;
105 	else
106 		l_seq_id := p_message_id;
107 	end if;
108 
109 	l_subject := substr(p_subject, 1, 2000);
110 	l_sent_date := substr(p_sent_date, 1, 60);
111 	l_cc := substr(p_cc, 1, 2000);
112 	l_to := substr(p_to, 1, 2000);
113 	l_reply_to := substr(p_reply_to, 1, 256);
114 	l_from := substr(p_from, 1, 2000);
115 	l_rfcmsg_id := substr(p_msg_id, 1, 256);
116 	l_priority := substr(p_priority, 1, 256);
117 	l_CONTENT_TYPE := substr(p_content_type, 1, 256);
118 	l_ORGANIZATION := substr(p_organization, 1, 256);
119 	 l_x_mailer := substr(p_x_mailer, 1, 256);
120 	 l_LANGUAGE := substr(p_language, 1, 256);
121 
122 
123 	INSERT INTO IEM_MS_BASE_HEADERS
124 	(
125 	MESSAGE_ID,
126 	EMAIL_ACCOUNT_ID,
127 	SUBJECT,
128     	SENT_DATE,
129     	RECEIVED_DATE,
130  	FROM_STR,
131 	TO_STR,
132 	CC_STR,
133 	REPLY_TO_STR,
134     	PRIORITY,
135     	RFC822_MESSAGE_ID,
136     	MESSAGE_UID,
137     	MAILER,
138     	LANGUAGE,
139     	CONTENT_TYPE,
140     	ORGANIZATION,
141 	MESSAGE_SIZE,
142     	CREATED_BY,
143 	CREATION_DATE,
144 	LAST_UPDATED_BY,
145 	LAST_UPDATE_DATE,
146 	LAST_UPDATE_LOGIN
147 	)
148 	VALUES
149 	(
150 	l_seq_id,
151 	p_email_account,
152 	l_subject,
153 	l_sent_date,
154     	sysdate,
155 	l_from,
156 	l_to,
157 	l_cc ,
158 	l_reply_to,
159     	l_priority,
160     	l_rfcmsg_id,
161     	p_uid,
162     	l_x_mailer,
163     	l_language,
164     	l_content_type,
165     	l_organization,
166 	p_message_size,
167     decode(G_created_updated_by,null,-1,G_created_updated_by),
168 	sysdate,
169     decode(G_created_updated_by,null,-1,G_created_updated_by),
170     sysdate,
171     decode(G_LAST_UPDATE_LOGIN,null,-1,G_LAST_UPDATE_LOGIN)
172 	);
173 
174     -- Standard Check Of p_commit.
175     IF FND_API.To_Boolean(p_commit) THEN
176 		COMMIT WORK;
177 	END IF;
178     x_ref_key := l_seq_id;
179 
180     -- Standard callto get message count and if count is 1, get message info.
181        FND_MSG_PUB.Count_And_Get
182 			( p_count =>  x_msg_count,
183                  	p_data  =>    x_msg_data
184 			);
185 
186 EXCEPTION
187 
188    WHEN FND_API.G_EXC_ERROR THEN
189 	ROLLBACK TO create_item_tag_PVT;
190        x_return_status := FND_API.G_RET_STS_ERROR ;
191        FND_MSG_PUB.Count_And_Get
192 
193 			( p_count => x_msg_count,
194               p_data  => x_msg_data
195 			);
196 
197    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
198 	   ROLLBACK TO create_item_tag_PVT;
199        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
200        FND_MSG_PUB.Count_And_Get
201 			( p_count => x_msg_count,
202               p_data  =>      x_msg_data
203 			);
204 
205    WHEN OTHERS THEN
206 	ROLLBACK TO create_item_tag_PVT;
207     x_return_status := FND_API.G_RET_STS_ERROR;
208 	IF 	FND_MSG_PUB.Check_Msg_Level
209 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
210 	THEN
211     	FND_MSG_PUB.Add_Exc_Msg
212 	    	(	G_PKG_NAME ,
213 	    		l_api_name
214 	    	);
215 	END IF;
216 
217 	FND_MSG_PUB.Count_And_Get
218     		( p_count         	=>      x_msg_count,
219         	p_data          	=>      x_msg_data
220 
221     		);
222 
223  END	create_msg_meta;
224 
225 
226 
227 PROCEDURE create_headers(
228                  p_api_version_number  IN   NUMBER,
229  		  	     p_init_msg_list       IN   VARCHAR2 := null,
230 		    	 p_commit              IN   VARCHAR2 := null,
231                  p_msg_meta_id         IN  jtf_varchar2_Table_100,
232                  p_name_tbl            IN  jtf_varchar2_Table_300,
233   	             p_value_tbl           IN  jtf_varchar2_Table_2000,
234                  x_return_status	   OUT  NOCOPY VARCHAR2,
235   		  	     x_msg_count	       OUT	NOCOPY NUMBER,
236 	  	  	     x_msg_data	           OUT	NOCOPY VARCHAR2
237 			 ) is
238 	l_api_name        		VARCHAR2(255):= 'create_headers';
239 	l_api_version_number 	NUMBER:=1.0;
240     l_seq_id		        NUMBER;
241 
242     l_return_status         VARCHAR2(20) := FND_API.G_RET_STS_SUCCESS;
243     l_msg_count             NUMBER := 0;
244     l_msg_data              VARCHAR2(2000);
245 
246     --l_seq_id    number;
247     l_msg_meta_id           NUMBER;
248 	--l_name               VARCHAR2(256);
249     l_name                  VARCHAR2(60);
250   	l_value   	        VARCHAR2(2000);
251 	--l_value    				VARCHAR2(256);
252     l_type                  VARCHAR2(100);
253 
254 BEGIN
255   -- Standard Start of API savepoint
256   SAVEPOINT		create_sender_recipient_PVT;
257 
258   -- Standard call to check for call compatibility.
259 
260   IF NOT FND_API.Compatible_API_Call (l_api_version_number,
261   				    p_api_version_number,
262   				    l_api_name,
263   				    G_PKG_NAME)
264   THEN
265   	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
266   END IF;
267 
268 
269     -- Initialize message list if p_init_msg_list is set to TRUE.
270    IF FND_API.to_Boolean( p_init_msg_list )
271    THEN
272      FND_MSG_PUB.initialize;
273    END IF;
274 
275    -- Initialize API return status to SUCCESS
276    x_return_status := FND_API.G_RET_STS_SUCCESS;
277 
278    --begins here
279     FOR i IN p_msg_meta_id.FIRST..p_msg_meta_id.LAST LOOP
280 
281        SELECT iem_ms_EXTHDRS_s1.nextval
282 	   INTO l_seq_id
283 	   FROM dual;
284 
285         l_msg_meta_id := p_msg_meta_id(i);
286         l_name := substr( p_name_tbl(i),1,59);
287         l_value := substr( p_value_tbl(i), 1, 1999 );
288 
289 	    INSERT INTO IEM_MS_EXTHDRS
290 	    (
291 	       EXT_HEADER_ID,
292             MESSAGE_ID,
293 	        NAME,
294         	value,
295         	CREATED_BY,
296           CREATION_DATE,
297           LAST_UPDATED_BY,
298 	       LAST_UPDATE_DATE,
299 	       LAST_UPDATE_LOGIN
300 	        )
301 	    VALUES
302 	        (
303 	        l_seq_id,
304 	         l_msg_meta_id,
305              	l_name,
306              	l_value,
307             decode(G_created_updated_by,null,-1,G_created_updated_by),
308 	        sysdate,
309             decode(G_created_updated_by,null,-1,G_created_updated_by),
310             sysdate,
311             decode(G_LAST_UPDATE_LOGIN,null,-1,G_LAST_UPDATE_LOGIN)
312 	    );
313     end loop;
314 
315     -- Standard Check Of p_commit.
316     IF FND_API.To_Boolean(p_commit) THEN
317 		COMMIT WORK;
318 	END IF;
319 
320     -- Standard callto get message count and if count is 1, get message info.
321        FND_MSG_PUB.Count_And_Get
322 			( p_count =>  x_msg_count,
323                  	p_data  =>    x_msg_data
324 			);
325 
326 EXCEPTION
327 
328    WHEN FND_API.G_EXC_ERROR THEN
329 	ROLLBACK TO create_sender_recipient_PVT;
330        x_return_status := FND_API.G_RET_STS_ERROR ;
331        FND_MSG_PUB.Count_And_Get
332 
333 			( p_count => x_msg_count,
334               p_data  => x_msg_data
335 			);
336 
337    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
338 	   ROLLBACK TO create_sender_recipient_PVT;
339        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
340        FND_MSG_PUB.Count_And_Get
341 			( p_count => x_msg_count,
342               p_data  =>      x_msg_data
343 			);
344 
345    WHEN OTHERS THEN
346 	ROLLBACK TO create_sender_recipient_PVT;
347     x_return_status := FND_API.G_RET_STS_ERROR;
348 	IF 	FND_MSG_PUB.Check_Msg_Level
349 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
350 	THEN
351     	FND_MSG_PUB.Add_Exc_Msg
352 	    	(	G_PKG_NAME ,
353 	    		l_api_name
354 	    	);
355 	END IF;
356 
357 	FND_MSG_PUB.Count_And_Get
358     		( p_count         	=>      x_msg_count,
359         	p_data          	=>      x_msg_data
360 
361     		);
362 
363  END	create_headers;
364 
365 PROCEDURE create_string_msg_body(
366                  p_api_version_number  IN   NUMBER,
367 		 p_init_msg_list       IN   VARCHAR2,
368 		 p_commit              IN   VARCHAR2,
369                  p_message_id          IN   NUMBER,
370                  p_part_type           IN   varchar2,
371                  p_msg_body            IN  jtf_varchar2_Table_2000,
372                  x_return_status       OUT  NOCOPY VARCHAR2,
373   	  	 x_msg_count	       OUT	NOCOPY NUMBER,
374 	  	 x_msg_data	       OUT	NOCOPY VARCHAR2
375 			 ) is
376 	l_api_name        		VARCHAR2(255):= 'create_string_msg_body';
377 	l_api_version_number 	NUMBER:=1.0;
378     l_seq_id		        NUMBER;
379 
380     l_return_status         VARCHAR2(20) := FND_API.G_RET_STS_SUCCESS;
381     l_msg_count             NUMBER := 0;
382     l_msg_data              VARCHAR2(2000);
383 
384     l_msg_meta_id           NUMBER;
385     l_name                  VARCHAR2(256);
386   	l_value   	            VARCHAR2(2000);
387     l_type                  VARCHAR2(30);
388 
389     l_EMCMSG_PART_ID   number;
390 BEGIN
391   -- Standard Start of API savepoint
392   SAVEPOINT		create_sender_recipient_PVT;
393 
394   -- Standard call to check for call compatibility.
395 
396   IF NOT FND_API.Compatible_API_Call (l_api_version_number,
397   				    p_api_version_number,
398   				    l_api_name,
399   				    G_PKG_NAME)
400   THEN
401   	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
402   END IF;
403 
404 
405     -- Initialize message list if p_init_msg_list is set to TRUE.
406    IF FND_API.to_Boolean( p_init_msg_list )
407    THEN
408      FND_MSG_PUB.initialize;
409    END IF;
410 
411    -- Initialize API return status to SUCCESS
412    x_return_status := FND_API.G_RET_STS_SUCCESS;
413 
414    --begins here
415 
416     FOR i IN p_msg_body.FIRST..p_msg_body.LAST LOOP
417 
418         l_value := p_msg_body(i);
419 
420 	    INSERT INTO IEM_MS_MSGBODYS
421 	    (
422             	MESSAGE_ID,
423 	        ORDER_ID,
424 	        VALUE,
425            	TYPE,
426             CREATED_BY,
427 	        CREATION_DATE,
428             LAST_UPDATED_BY,
429 	        LAST_UPDATE_DATE,
430 	        LAST_UPDATE_LOGIN
431 	        )
432 	    VALUES
433 	        (
434 	         p_message_id,
435 	         i,
436           	 l_value,
437            	 p_part_type,
438 
439            decode(G_created_updated_by,null,-1,G_created_updated_by),
440             sysdate,
441             decode(G_created_updated_by,null,-1,G_created_updated_by),
442            sysdate,
443            decode(G_LAST_UPDATE_LOGIN,null,-1,G_LAST_UPDATE_LOGIN)
444 	    );
445     end loop;
446 
447     -- Standard Check Of p_commit.
448     IF FND_API.To_Boolean(p_commit) THEN
449 		COMMIT WORK;
450 	END IF;
451 
452     -- Standard callto get message count and if count is 1, get message info.
453        FND_MSG_PUB.Count_And_Get
454 			( p_count =>  x_msg_count,
455                  	p_data  =>    x_msg_data
456 			);
457 
458 EXCEPTION
459 
460    WHEN FND_API.G_EXC_ERROR THEN
461 	ROLLBACK TO create_sender_recipient_PVT;
462        x_return_status := FND_API.G_RET_STS_ERROR ;
463        FND_MSG_PUB.Count_And_Get
464 
465 			( p_count => x_msg_count,
466               p_data  => x_msg_data
467 			);
468 
469    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
470 	   ROLLBACK TO create_sender_recipient_PVT;
471        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
472        FND_MSG_PUB.Count_And_Get
473 			( p_count => x_msg_count,
474               p_data  =>      x_msg_data
475 			);
476 
477    WHEN OTHERS THEN
478 	ROLLBACK TO create_sender_recipient_PVT;
479     x_return_status := FND_API.G_RET_STS_ERROR;
480 	IF 	FND_MSG_PUB.Check_Msg_Level
481 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
482 	THEN
483     	FND_MSG_PUB.Add_Exc_Msg
484 	    	(	G_PKG_NAME ,
485 	    		l_api_name
486 	    	);
487 	END IF;
488 
489 	FND_MSG_PUB.Count_And_Get
490     		( p_count         	=>      x_msg_count,
491         	p_data          	=>      x_msg_data
492 
493     		);
494 
495  END	create_string_msg_body;
496 
497 PROCEDURE insert_preproc_wrapper (
498                  p_api_version_number  IN   NUMBER,
499  		  	     p_init_msg_list       IN   VARCHAR2 := null,
500 		    	 p_commit              IN   VARCHAR2 := null,
501             	 p_msg_id              IN   NUMBER,
502   				 p_acct_id   	       IN   NUMBER,
503                  p_priority            IN   NUMBER,
504                  x_return_status	   OUT  NOCOPY VARCHAR2,
505   		  	     x_msg_count	       OUT	NOCOPY NUMBER,
506 	  	  	     x_msg_data	           OUT	NOCOPY VARCHAR2
507 			 ) is
508 	l_api_name        		VARCHAR2(255):='insert_preproc_wrapper';
509 	l_api_version_number 	NUMBER:=1.0;
510     l_seq_id		        NUMBER;
511 
512     l_return_status         VARCHAR2(20) := FND_API.G_RET_STS_SUCCESS;
513     l_msg_count             NUMBER := 0;
514     l_msg_data              VARCHAR2(2000);
515 
516     l_received_date         DATE := sysdate;
517 
518 BEGIN
519   -- Standard Start of API savepoint
520   SAVEPOINT		insert_preproc_wrapper_PVT;
521 
525   				    p_api_version_number,
522   -- Standard call to check for call compatibility.
523 
524   IF NOT FND_API.Compatible_API_Call (l_api_version_number,
526   				    l_api_name,
527   				    G_PKG_NAME)
528   THEN
529   	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
530   END IF;
531 
532 
533     -- Initialize message list if p_init_msg_list is set to TRUE.
534    IF FND_API.to_Boolean( p_init_msg_list )
535    THEN
536      FND_MSG_PUB.initialize;
537    END IF;
538 
539    -- Initialize API return status to SUCCESS
540    x_return_status := FND_API.G_RET_STS_SUCCESS;
541 
542    --begins here
543 
544     --get next sequential number for msg_meta_id
545    -- select to_date(recieved_date) into l_received_date from iem_base_headers where base_header_id = p_msg_id;
546 
547 
548     IEM_RT_PREPROC_EMAILS_PVT.create_item(
549         p_api_version_number => 1.0,
550         p_init_msg_list=>'F' ,
551         p_commit=>'F'       ,
552         p_message_id=>p_msg_id,
553         p_email_account_id =>p_acct_id,
554         p_priority => p_priority,
555         p_received_date=>l_received_date,
556         x_return_status => l_return_status,
557         x_msg_count => l_msg_count,
558         x_msg_data => l_msg_data);
559 
560     -- Standard Check Of p_commit.
561     IF FND_API.To_Boolean(p_commit) THEN
562 		COMMIT WORK;
563 	END IF;
564 
565     -- Standard callto get message count and if count is 1, get message info.
566        FND_MSG_PUB.Count_And_Get
567 			( p_count =>  x_msg_count,
568                  	p_data  =>    x_msg_data
569 			);
570 
571 EXCEPTION
572 
573    WHEN FND_API.G_EXC_ERROR THEN
574 	ROLLBACK TO insert_preproc_wrapper_PVT;
575        x_return_status := FND_API.G_RET_STS_ERROR ;
576        FND_MSG_PUB.Count_And_Get
577 
578 			( p_count => x_msg_count,
579               p_data  => x_msg_data
580 			);
581 
582    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
583 	   ROLLBACK TO insert_preproc_wrapper_PVT;
584        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
585        FND_MSG_PUB.Count_And_Get
586 			( p_count => x_msg_count,
587               p_data  =>      x_msg_data
588 			);
589 
590    WHEN OTHERS THEN
591 	ROLLBACK TO insert_preproc_wrapper_PVT;
592     x_return_status := FND_API.G_RET_STS_ERROR;
593 	IF 	FND_MSG_PUB.Check_Msg_Level
594 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
595 	THEN
596     	FND_MSG_PUB.Add_Exc_Msg
597 	    	(	G_PKG_NAME ,
598 	    		l_api_name
599 	    	);
600 	END IF;
601 
602 	FND_MSG_PUB.Count_And_Get
603     		( p_count         	=>      x_msg_count,
604         	p_data          	=>      x_msg_data
605 
606     		);
607 
608  END	insert_preproc_wrapper;
609 
610 /*
611 PROCEDURE create_message_part (
612                  p_api_version_number  IN   NUMBER,
613  		  	     p_init_msg_list       IN   VARCHAR2 := null,
614 		    	 p_commit              IN   VARCHAR2 := null,
615             	 p_msg_id              IN   NUMBER,
616   				 p_part_id   	       IN   NUMBER,
617                  p_part_type           IN   VARCHAR2,
618 				 p_part_name           IN   VARCHAR2,
619 				 p_part_data           IN   BLOB,
620 				 p_part_charset        IN   VARCHAR2,
621                  x_return_status	   OUT  NOCOPY VARCHAR2,
622   		  	     x_msg_count	       OUT	NOCOPY NUMBER,
623 	  	  	     x_msg_data	           OUT	NOCOPY VARCHAR2
624 			 ) is
625 	l_api_name        		VARCHAR2(255):='insert_preproc_wrapper';
626 	l_api_version_number 	NUMBER:=1.0;
627     l_seq_id		        NUMBER;
628 
629     l_return_status         VARCHAR2(20) := FND_API.G_RET_STS_SUCCESS;
630     l_msg_count             NUMBER := 0;
631     l_msg_data              VARCHAR2(2000);
632 
633     l_received_date         DATE := sysdate;
634 
635 BEGIN
636   -- Standard Start of API savepoint
637   SAVEPOINT		insert_preproc_wrapper_PVT;
638 
639   -- Standard call to check for call compatibility.
640 
641   IF NOT FND_API.Compatible_API_Call (l_api_version_number,
642   				    p_api_version_number,
643   				    l_api_name,
644   				    G_PKG_NAME)
645   THEN
646   	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
647   END IF;
648 
649 
650     -- Initialize message list if p_init_msg_list is set to TRUE.
651    IF FND_API.to_Boolean( p_init_msg_list )
652    THEN
653      FND_MSG_PUB.initialize;
654    END IF;
655 
656    -- Initialize API return status to SUCCESS
657    x_return_status := FND_API.G_RET_STS_SUCCESS;
658 
659    --begins here
660 
661     --get next sequential number for msg_meta_id
662 
663 	   INSERT INTO IEM_MS_MSGPARTS
664       		 (MESSAGE_ID, PART_ID, PART_TYPE, PART_NAME, PART_DATA, PART_CHARSET,
665       		  CREATED_BY , CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, LAST_UPDATE_LOGIN)
666        VALUES ( p_msg_id, p_part_id, p_part_type, p_part_name, EMPTY_BLOB(),  p_part_charset,
667 	   		  -1, SYSDATE, -1, SYSDATE, -1);
668 
669 	   SELECT PART_DATA FROM IEM_MS_MSGPARTS
670        WHERE MESSAGE_ID=p_msg_id and PART_ID=p_part_id and PART_TYPE=p_part_type
671 	   		  and PART_NAME=p_part_name FOR UPDATE;
672 
673 
674 	   UPDATE IEM_MS_MSGPARTS SET PART_DATA = p_part_data, LAST_UPDATE_DATE = SYSDATE
675        WHERE MESSAGE_ID=p_msg_id AND PART_ID=p_part_id AND PART_TYPE =p_part_type
676 	   AND PART_NAME = p_part_name;
677 
678 
679     -- Standard Check Of p_commit.
680     IF FND_API.To_Boolean(p_commit) THEN
681 		COMMIT WORK;
682 	END IF;
683 
684     -- Standard callto get message count and if count is 1, get message info.
685        FND_MSG_PUB.Count_And_Get
686 			( p_count =>  x_msg_count,
687                  	p_data  =>    x_msg_data
688 			);
689 
690 EXCEPTION
691 
692    WHEN FND_API.G_EXC_ERROR THEN
693 	ROLLBACK TO insert_preproc_wrapper_PVT;
694        x_return_status := FND_API.G_RET_STS_ERROR ;
695        FND_MSG_PUB.Count_And_Get
696 
697 			( p_count => x_msg_count,
698               p_data  => x_msg_data
699 			);
700 
701    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
702 	   ROLLBACK TO insert_preproc_wrapper_PVT;
703        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
704        FND_MSG_PUB.Count_And_Get
705 			( p_count => x_msg_count,
706               p_data  =>      x_msg_data
707 			);
708 
709    WHEN OTHERS THEN
710 	ROLLBACK TO insert_preproc_wrapper_PVT;
711     x_return_status := FND_API.G_RET_STS_ERROR;
712 	IF 	FND_MSG_PUB.Check_Msg_Level
713 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
714 	THEN
715     	FND_MSG_PUB.Add_Exc_Msg
716 	    	(	G_PKG_NAME ,
717 	    		l_api_name
718 	    	);
719 	END IF;
720 
721 	FND_MSG_PUB.Count_And_Get
722     		( p_count         	=>      x_msg_count,
723         	p_data          	=>      x_msg_data
724 
725     		);
726 
727  END create_message_part;
728 
729 */
730 
731 END IEM_MS_MSGMETA_PVT ;