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