DBA Data[Home] [Help]

PACKAGE BODY: APPS.AST_UWQ_MLIST_WORK_ACTION

Source


1 PACKAGE BODY      AST_UWQ_MLIST_WORK_ACTION AS
2 /* $Header: astumacb.pls 120.2 2005/08/10 04:44:28 appldev ship $ */
3 
4   G_Debug  BOOLEAN;
5 
6   l_called_node       VARCHAR2(10) := 'MLIST';
7 
8   l_name              VARCHAR2(500);
9   l_value             VARCHAR2(4000);
10   l_type              VARCHAR2(500);
11   l_data_set_type     VARCHAR2(50);
12   l_data_set_id       NUMBER;
13   l_prev_data_set_id  NUMBER;
14 
15   PROCEDURE Log_Mesg
16     (p_message IN VARCHAR2,
17      p_date  IN  VARCHAR2) IS
18   BEGIN
19     IF G_Debug THEN
20       AST_DEBUG_PUB.LogMessage(debug_msg  => p_message,
21                                print_date => p_date);
22     END IF;
23   END; -- End procedure Log_Mesg
24 
25   PROCEDURE MLIST_UPDATE_OUTCOME
26     ( p_action_key     IN  VARCHAR2,
27       p_list_header_id IN  NUMBER,
28       p_list_entry_id  IN  NUMBER,
29       p_outcome_id     IN  NUMBER,
30       p_reason_id      IN  NUMBER,
31       p_result_id      IN  NUMBER,
32       x_msg_count      OUT NOCOPY NUMBER,
33       x_msg_data       OUT NOCOPY VARCHAR2,
34       x_return_status  OUT NOCOPY VARCHAR2
35     ) IS
36 
37     l_creation_date     DATE   := SYSDATE;
38     l_last_update_date  DATE   := SYSDATE;
39     l_last_updated_by   NUMBER := FND_PROFILE.Value('USER_ID'); --REVIEW
40     l_created_by        NUMBER := FND_PROFILE.Value('USER_ID'); --REVIEW
41     l_last_update_login NUMBER := FND_PROFILE.Value('LOGIN_ID'); -- REVIEW
42 
43   BEGIN
44     BEGIN
45       SAVEPOINT lock_ams_list;
46       UPDATE Ams_list_entries
47       SET outcome_id        = p_outcome_id,
48           reason_id         = p_reason_id,
49           result_id         = p_result_id,
50           last_update_date  = l_last_update_date,
51           last_updated_by   = l_last_updated_by,
52           last_update_login = l_last_update_login
53       WHERE list_entry_id   = p_list_entry_id
54         AND list_header_id  = p_list_header_id;
55     EXCEPTION
56       WHEN fnd_api.g_exc_unexpected_error THEN
57         ROLLBACK TO lock_ams_list;
58         x_return_status := fnd_api.g_ret_sts_unexp_error;
59         FND_MSG_PUB.count_and_get
60           ( p_count => x_msg_count,
61             p_data => x_msg_data
62           );
63       WHEN OTHERS THEN
64         ROLLBACK TO lock_ams_list;
65         FND_MESSAGE.set_name ('AST', 'JTF_TASK_UNKNOWN_ERROR');
66         FND_MESSAGE.set_token ('P_TEXT', SQLCODE || SQLERRM);
67         x_return_status := FND_API.G_Ret_Sts_Unexp_Error;
68         FND_MSG_PUB.Count_And_Get
69           ( p_count => x_msg_count,
70             p_data  => x_msg_data
71           );
72     END;
73     x_return_status := FND_API.G_RET_STS_SUCCESS;
74     COMMIT;
75   END; -- End procedure MLIST_UPDATE_OUTCOME
76 
77   PROCEDURE MLIST_WORK_NODE_REFRESH
78     ( p_action_key       IN  VARCHAR2,
79       p_lead_id          IN  NUMBER,
80       p_sales_lead_id    IN  NUMBER,
81       x_uwq_actions_list OUT NOCOPY SYSTEM.IEU_UWQ_WORK_ACTIONS_NST
82     ) IS
83 
84     l_uwq_actions_list IEU_UWQ_WORK_PANEL_PUB.UWQ_ACTION_REC_LIST;
85     l_uwq_action_data_list  IEU_UWQ_WORK_PANEL_PUB.UWQ_ACTION_DATA_REC_LIST;
86     l_action_data           VARCHAR2(4000);
87     l_launch_opp_lead	   VARCHAR2(500);
88     l_action_key VARCHAR2(30) := p_action_key;
89   BEGIN
90     Log_Mesg('Node Refresh Action Set');
91     l_uwq_actions_list(1).uwq_action_key := 'UWQ_WORK_DETAILS_REFRESH';
92     l_uwq_actions_list(1).action_data    := '';
93     l_uwq_actions_list(1).dialog_style   := 1;
94     l_uwq_actions_list(1).message        := '';
95 
96 
97     IF p_lead_id IS NOT NULL OR
98        p_sales_lead_id IS NOT NULL THEN
99       Log_Mesg('Lead Id = '||p_lead_id);
100       Log_Mesg('Sales Lead Id = '||p_sales_lead_id);
101       l_uwq_action_data_list(1).name  := 'ACTION_NAME';
102       l_uwq_action_data_list(1).type  := 'VARCHAR2';
103 
104  -- Included 'PLIST_CREATE_OPPORTUNITY' and 'PLIST_CREATE_LEAD' work actions by Sumita for bug # 3812865 on 10.14.2004 in the procedure
105  -- 'MLIST_WORK_NODE_REFRESH' to launch the respective work Centers
106 
107       IF p_action_key in ('MLIST_CREATE_OPPORTUNITY','PLIST_CREATE_OPPORTUNITY')THEN
108         l_uwq_action_data_list(1).value := 'ASTOPCNT';
109       ELSIF p_action_key in ('MLIST_CREATE_LEAD' ,'PLIST_CREATE_LEAD')THEN
110         l_uwq_action_data_list(1).value := 'ASTSLCNT';
111       END IF;
112 
113       l_uwq_action_data_list(2).name  := 'ACTION_TYPE';
114       l_uwq_action_data_list(2).value := 1;
115       l_uwq_action_data_list(2).type  := 'NUMBER';
116 
117       l_uwq_action_data_list(3).name  := 'ACTION_PARAMS';
118       l_uwq_action_data_list(3).type  := 'VARCHAR2';
119       IF p_action_key in ('MLIST_CREATE_LEAD','PLIST_CREATE_LEAD') THEN
120         l_uwq_action_data_list(3).value := ' sales_lead_id = '||p_sales_lead_id;
121       ELSIF p_action_key in ('MLIST_CREATE_OPPORTUNITY','PLIST_CREATE_OPPORTUNITY') THEN
122         l_uwq_action_data_list(3).value := ' lead_id = '||p_lead_id;
123       END IF;
124 
125 
126       IEU_UWQ_WORK_PANEL_PUB.SET_UWQ_ACTION_DATA(l_uwq_action_data_list, l_action_data);
127 
128       Log_Mesg('Node Refresh Second Action Set');
129       l_uwq_actions_list(2).uwq_action_key := 'UWQ_LAUNCH_APP';
130       l_uwq_actions_list(2).action_data    := l_action_data;
131       IF NVL(FND_PROFILE.Value('AST_LAUNCH_OPP_LEAD'), 'N') = 'Y' THEN
132         l_uwq_actions_list(2).dialog_style   := 1;
133       ELSE
134         l_uwq_actions_list(2).dialog_style   := 3;
135       END IF;
136       IF p_action_key in ('MLIST_CREATE_OPPORTUNITY','PLIST_CREATE_OPPORTUNITY') THEN
137 	   fnd_message.set_name('AST','AST_UWQ_LAUNCH_OPP_CENTER');
138 	   l_launch_opp_lead :=   fnd_message.get;
139         l_uwq_actions_list(2).message        := l_launch_opp_lead;
140       ELSIF p_action_key in ('MLIST_CREATE_LEAD' ,'PLIST_CREATE_LEAD')THEN
141 	   fnd_message.set_name('AST','AST_UWQ_LAUNCH_LEAD_CENTER');
142 	   l_launch_opp_lead:=   fnd_message.get;
143         l_uwq_actions_list(2).message        := l_launch_opp_lead;
144       END IF;
145     END IF;
146 
147     IEU_UWQ_WORK_PANEL_PUB.SET_UWQ_ACTIONS(l_uwq_actions_list, x_uwq_actions_list);
148     Log_Mesg('Node Refresh Action Set Done.');
149   END; -- End procedure MLIST_WORK_NODE_REFRESH
150 
151   PROCEDURE MLIST_WORK_ITEM_ACTION
152     ( p_resource_id        IN  NUMBER,
153       p_language           IN  VARCHAR2,
154       p_source_lang        IN  VARCHAR2,
155       p_action_key         IN  VARCHAR2,
156       p_action_input_data  IN  SYSTEM.ACTION_INPUT_DATA_NST,
157       x_uwq_actions_list   OUT NOCOPY SYSTEM.IEU_UWQ_WORK_ACTIONS_NST,
158       x_msg_count          OUT NOCOPY NUMBER,
159       x_msg_data           OUT NOCOPY VARCHAR2,
160       x_return_status      OUT NOCOPY VARCHAR2
161     ) IS
162 
163     l_uwq_action_data_list   IEU_UWQ_WORK_PANEL_PUB.UWQ_ACTION_DATA_REC_LIST;
164     x_action_data            VARCHAR2(4000);
165     l_action_key             VARCHAR2(100);
166 
167     l_return_status          VARCHAR2(1);
168     l_msg_count              NUMBER;
169     l_msg_data               VARCHAR2(2000);
170   BEGIN
171 
172     IF FND_PROFILE.Value('AST_DEBUG') = 'Y' THEN
173 	 G_Debug := TRUE;
174     ELSE
175 	 G_Debug := FALSE;
176     END IF;
177 
178     Log_Mesg('Start Log', 'Y');
179 
180     Log_Mesg('Switching Action Keys');
181     IF p_action_key = 'OMLST_CREATE_LEAD' THEN
182       l_action_key := 'MLIST_CREATE_LEAD';
183     ELSIF p_action_key = 'OMLST_CREATE_OPPORTUNITY' THEN
184       l_action_key := 'MLIST_CREATE_OPPORTUNITY';
185     ELSIF p_action_key = 'OMLST_NEW_TASK' THEN
186       l_action_key := 'MLIST_NEW_TASK';
187     ELSIF p_action_key = 'OMLST_CREATE_NOTE' THEN
188       l_action_key := 'MLIST_CREATE_NOTE';
189     ELSIF p_action_key = 'OMLST_GEN_ACTION' THEN
190       l_action_key := 'MLIST_GEN_ACTION';
191     ELSE
192       l_action_key := p_action_key;
193     END IF;
194     Log_Mesg('End Switching Action Keys');
195 
196     Log_Mesg('Action Key: '||l_action_key);
197 
198      -- Included 'PLIST_CREATE_OPPORTUNITY' and 'PLIST_CREATE_LEAD' work actions by Sumita for bug # 3812865 on 10.14.2004 in the procedure
199      -- 'MLIST_WORK_ITEM_ACTION' to define respective actions
200 
201     IF l_action_key in ('MLIST_CREATE_LEAD','PLIST_CREATE_LEAD') THEN
202       MLIST_CREATE_LEAD
203         ( p_action_key       => l_action_key,
204           p_resource_id      => p_resource_id,
205           p_work_action_data => p_action_input_data,
206           x_uwq_actions_list => x_uwq_actions_list,
207           x_return_status    => l_return_status,
208           x_msg_count        => l_msg_count,
209           x_msg_data         => l_msg_data
210         );
211     ELSIF l_action_key in ('MLIST_CREATE_OPPORTUNITY','PLIST_CREATE_OPPORTUNITY') THEN
212       MLIST_CREATE_OPPORTUNITY
213         ( p_action_key       => l_action_key,
214           p_resource_id      => p_resource_id,
215           p_work_action_data => p_action_input_data,
216           x_uwq_actions_list => x_uwq_actions_list,
217           x_msg_count        => l_msg_count,
218           x_msg_data         => l_msg_data,
219           x_return_status    => l_return_status
220         );
221     ELSIF l_action_key = 'MLIST_NEW_TASK' THEN
222       Log_Mesg('Calling New Task Action Procedure');
223       MLIST_NEW_TASK
224         ( p_action_key       => l_action_key,
225           p_resource_id      => p_resource_id,
226           p_work_action_data => p_action_input_data,
227           x_uwq_actions_list => x_uwq_actions_list,
228           x_return_status    => l_return_status,
229           x_msg_count        => l_msg_count,
230           x_msg_data         => l_msg_data
231         );
232     ELSIF l_action_key = 'MLIST_CREATE_NOTE' THEN
233       Log_Mesg('Calling Create Note Action Procedure');
234       MLIST_CREATE_NOTE
235         ( p_action_key       => l_action_key,
236           p_resource_id      => p_resource_id,
237           p_work_action_data => p_action_input_data,
238           x_uwq_actions_list => x_uwq_actions_list,
239           x_return_status    => l_return_status,
240           x_msg_count        => l_msg_count,
241           x_msg_data         => l_msg_data
242         );
243 
244     ELSIF l_action_key = 'MLIST_GEN_ACTION' THEN
245       MLIST_GEN_ACTION
246         ( p_action_key       => l_action_key,
247           p_work_action_data => p_action_input_data,
248           x_uwq_actions_list => x_uwq_actions_list,
249           x_msg_count        => l_msg_count,
250           x_msg_data         => l_msg_data,
251           x_return_status    => l_return_status
252         );
253     END IF;
254     x_return_status := l_return_status;
255     Log_Mesg('End Log', 'Y');
256     EXCEPTION WHEN OTHERS THEN
257     x_return_status := l_return_status;
258     Log_Mesg('End Log in Exception', 'Y');
259   END; -- End procedure MLIST_WORK_ITEM_ACTION
260 
261   PROCEDURE MLIST_GEN_ACTION
262     ( p_work_action_data   IN  SYSTEM.ACTION_INPUT_DATA_NST,
263       p_action_key         IN  VARCHAR2,
264       x_uwq_actions_list   OUT NOCOPY SYSTEM.IEU_UWQ_WORK_ACTIONS_NST,
265       x_msg_count          OUT NOCOPY NUMBER,
266       x_msg_data           OUT NOCOPY VARCHAR2,
267       x_return_status      OUT NOCOPY VARCHAR2
268     ) IS
269 
270     l_list_entry_id           NUMBER;
271     l_list_header_id          NUMBER;
272 
273     l_creation_date           DATE   := SYSDATE;
274     l_last_update_date        DATE   := SYSDATE;
275     l_last_updated_by         NUMBER := FND_PROFILE.Value('USER_ID'); --REVIEW
276     l_created_by              NUMBER := FND_PROFILE.Value('USER_ID'); --REVIEW
277     l_last_update_login       NUMBER := FND_PROFILE.Value('LOGIN_ID'); -- REVIEW
278 
279     l_customer_id             NUMBER;
280     l_party_id                NUMBER;
281     l_source_object_type_code VARCHAR2(60);
282     l_source_object_id        NUMBER;   --P (Customer_party_id)
283 
284     l_notes                   VARCHAR2(2000);
285     l_jtf_note_id             NUMBER;
286 
287     l_outcome_id              NUMBER;
288     l_reason_id               NUMBER;
289     l_result_id               NUMBER;
290 
291     l_return_status           VARCHAR2(1);
292     l_msg_count               NUMBER;
293     l_msg_data                VARCHAR2(2000);
294   BEGIN
295     Log_Mesg('Inside General Action: '||p_action_key);
296     l_data_set_id      := NULL;
297     l_prev_data_set_id := NULL;
298 
299     Log_Mesg('Looping to get Param Item Data only.');
300     FOR I IN 1.. p_work_action_data.COUNT LOOP
301       l_data_set_type := p_work_action_data(i).datasettype;
302 
303       IF l_data_set_type = 'ACTION_PARAM_DATA' THEN
304 	    l_name  := p_work_action_data(i).name;
305 	    l_value := p_work_action_data(i).value;
306 	    l_type  := p_work_action_data(i).type;
307 
308         Log_Mesg('Action Param Data Name: '||l_name||' ('||LENGTH(l_value)||')');
309 	    IF l_name = 'OUTCOME_ID' THEN
310           l_outcome_id := l_value;
311 	    ELSIF l_name = 'REASON_ID' THEN
312           l_reason_id := l_value;
313 	    ELSIF l_name = 'RESULT_ID' THEN
314           l_result_id := l_value;
315 	    ELSIF l_name = 'NEW_NOTE' THEN
316           --Bug # 3525736
317 	    BEGIN
318 		l_notes := l_value;
319 	    EXCEPTION
320 		WHEN VALUE_ERROR THEN
321 			l_return_status := 'E';
322 			x_return_status := l_return_status;
323                         FND_MESSAGE.Set_Name('AST', 'AST_NOTE_LENGTH_ERROR');
324 		        FND_MSG_PUB.ADD;
325 			RAISE FND_API.G_EXC_ERROR;
326 	    END;
327         END IF;
328       ELSE
329         EXIT;
330       END IF;
331     END LOOP;
332     Log_Mesg('Get Parameter Data Loop Ended');
333 
334     Log_Mesg('Looping to get Work Item Data only.');
335     FOR I IN 1.. p_work_action_data.COUNT LOOP
336       l_data_set_type := p_work_action_data(i).datasettype;
337       l_data_set_id   := p_work_action_data(i).dataSetID;
338 
339 	  IF l_data_set_type = 'WORK_ITEM_DATA' THEN
340 
341 	    l_name := p_work_action_data(i).name;
342 	    l_value := p_work_action_data(i).value;
343 	    l_type  := p_work_action_data(i).type;
344 
345         Log_Mesg('Work Data Name: '||l_name||' ('||LENGTH(l_value)||')');
346 	    IF l_name = 'LIST_HEADER_ID' THEN
347 	      l_list_header_id := l_value;
348 	    ELSIF l_name = 'LIST_ENTRY_ID' THEN
349 	      l_list_entry_id := l_value;
350         ELSIF l_name = 'CUSTOMER_ID' THEN
351           l_customer_id := l_value;
352         ELSIF l_name = 'PARTY_ID' THEN
353           l_party_id := l_value;
354         END IF;
355       END IF;
356 
357       IF l_prev_data_set_id <> l_data_set_id OR
358          i = p_work_action_data.COUNT THEN
359 
360         Log_Mesg('List Entry Id: '||l_list_entry_id);
361         Log_Mesg('List Header Id: '||l_list_header_id);
362 
363          MLIST_UPDATE_OUTCOME
364           ( p_action_key     => p_action_key,
365             p_list_header_id => l_list_header_id,
366             p_list_entry_id  => l_list_entry_id,
367             p_outcome_id     => l_outcome_id,
368             p_reason_id      => l_reason_id,
369             p_result_id      => l_result_id,
370 	        x_return_status  => l_return_status,
371 	        x_msg_count      => l_msg_count,
372 	        x_msg_data       => l_msg_data
373 	      );
374 
375         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
376           x_return_status := l_return_status;
377           x_msg_count     := l_msg_count;
378           x_msg_data      := l_msg_data;
379           --x_task_id       := l_task_id;
380 --          FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
381 --          FND_MESSAGE.Set_Token('TEXT', 'Failed update marketing list: ', FALSE);
382 --          FND_MSG_PUB.ADD;
383           RAISE FND_API.G_EXC_ERROR;
384         ELSE
385           x_return_status := l_return_status;
386           x_msg_count     := l_msg_count;
387           x_msg_data      := l_msg_data;
388 --          FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
389 --          FND_MESSAGE.Set_Token('TEXT', 'Successfully marketing list updated ', FALSE);
390 --          FND_MSG_PUB.ADD;
391         END IF;
392 
393         IF l_notes IS NOT NULL THEN
394           l_source_object_type_code := 'PARTY';
395           -- Begin Mod Raam on 07.12.2002
396           l_source_object_id        := l_party_id;
397           --l_party_id                := NULL;
398           -- End Mod.
399 
400           Log_Mesg('Start Create Note');
401           AST_UWQ_WRAPPER_PKG.CREATE_NOTE
402             ( p_source_object_id   => l_source_object_id,
403               p_source_object_code => l_source_object_type_code,
404               p_notes              => l_notes,
405               p_notes_detail       => NULL,
406               p_entered_by         => l_last_updated_by,
407               p_entered_date       => l_last_update_date,
408               p_last_update_date   => l_last_update_date,
409               p_last_updated_by    => l_last_updated_by,
410               p_creation_date      => l_creation_date,
411               p_created_by         => l_created_by,
412               p_last_update_login  => l_last_update_login,
413               p_party_id           => l_party_id,
414               x_jtf_note_id        => l_jtf_note_id,
415               x_return_status      => l_return_status,
416               x_msg_count          => l_msg_count,
417               x_msg_data           => l_msg_data
418             );
419           Log_Mesg('End Create Note');
420 
421           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
422             x_return_status := l_return_status;
423             x_msg_count     := l_msg_count;
424             x_msg_data      := l_msg_data;
425 --            FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
426 --            FND_MESSAGr.Set_Token('TEXT','Failed to Create Note', FALSE);
427 --            FND_MSG_PUB.ADD;
428             RAISE FND_API.G_EXC_ERROR;
429           ELSE
430             x_return_status := l_return_status;
431             x_msg_count     := l_msg_count;
432             x_msg_data      := l_msg_data;
433 --            FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
434 --            FND_MESSAGE.Set_Token('TEXT', 'Successfully Created Note: '||TO_CHAR(l_jtf_note_id), FALSE);
435 --            FND_MSG_PUB.ADD;
436           END IF;
437         ELSE
438           Log_Mesg('User did not enter any note to create.');
439         END IF;
440       END IF;
441 
442       l_prev_data_set_id := l_data_set_id;
443     END LOOP;
444     Log_Mesg('Get Work Data Loop Ended');
445 
446     MLIST_WORK_NODE_REFRESH
447      ( p_action_key       => p_action_key,
448        p_lead_id          => NULL,
449        p_sales_lead_id    => NULL,
450        x_uwq_actions_list => x_uwq_actions_list
451      );
452 
453     x_return_status := l_return_status;
454   END; -- End procedure MLIST_GEN_ACTION
455 
456   PROCEDURE MLIST_NEW_TASK
457     ( p_action_key          IN  VARCHAR2,
458       p_resource_id         IN  NUMBER,
459       p_work_action_data    IN  SYSTEM.ACTION_INPUT_DATA_NST,
460       x_uwq_actions_list    OUT NOCOPY SYSTEM.IEU_UWQ_WORK_ACTIONS_NST,
461       x_msg_count           OUT NOCOPY NUMBER,
462       x_msg_data            OUT NOCOPY VARCHAR2,
463       x_return_status       OUT NOCOPY VARCHAR2
464     ) IS
465 
466     l_creation_date           DATE   := SYSDATE;
467     l_last_update_date        DATE   := SYSDATE;
468     l_last_updated_by         NUMBER := FND_PROFILE.Value('USER_ID'); --REVIEW
469     l_created_by              NUMBER := FND_PROFILE.Value('USER_ID'); --REVIEW
470     l_last_update_login       NUMBER := FND_PROFILE.Value('LOGIN_ID'); -- REVIEW
471 
472     l_list_entry_id           NUMBER; --W
473     l_list_header_id          NUMBER; --W
474     l_list_source_type        VARCHAR2(30); --W
475     l_task_name               VARCHAR2(80);   --P
476     l_task_type_name          VARCHAR2(30);   --P
477     l_task_type_id            NUMBER;   --P
478     l_description             VARCHAR2(4000);   --P
479     l_owner_id                NUMBER;   --W RESOURCE_ID Resource_Id  --REVIEW
480     l_customer_id             NUMBER;   --W
481     l_customer_name           VARCHAR2(500); --W
482     l_first_name              VARCHAR2(150); --W
483     l_last_name               VARCHAR2(150); --W
484     l_contact_id              NUMBER;   --W
485     l_date_type               VARCHAR2(30);  --P --REVIEW
486     l_start_date              DATE;   --P
487     l_end_date                DATE;   --P
488     l_source_object_type_code VARCHAR2(60);
489     l_source_object_id        NUMBER;   --P (Customer_party_id)
490     l_source_object_name      VARCHAR2(80);   --P (Customer_Name)
491     l_phone                   VARCHAR2(30);   --P
492     l_address_id              NUMBER; --W
493     l_contact_point_id        NUMBER;   --P   --ADD TO VIEW
494     l_duration                NUMBER;
495     l_duration_uom            VARCHAR2(3);
496 
497     l_party_id                NUMBER;
498     l_notes                   VARCHAR2(2000);
499     l_note_type               VARCHAR2(30);
500     l_note_status             VARCHAR2(1);
501 
502     l_outcome_id              NUMBER;
503     l_reason_id               NUMBER;
504     l_result_id               NUMBER;
505 
506     l_return_status           VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
507     l_msg_count               NUMBER;
508     l_msg_data                VARCHAR2(2000);
509     l_task_id                 NUMBER;
510     l_jtf_note_id             NUMBER;
511     l_err_mesg                VARCHAR2(500);
512   BEGIN
513     Log_Mesg('Inside New Task');
514     l_data_set_id      := NULL;
515     l_prev_data_set_id := NULL;
516     l_owner_id         := p_resource_id;
517 
518     Log_Mesg('Looping to get Param Item Data only.');
519     FOR I IN 1.. p_work_action_data.COUNT LOOP
520       l_data_set_type := p_work_action_data(i).datasettype;
521 
522       IF l_data_set_type = 'ACTION_PARAM_DATA' THEN
523 	    l_name := p_work_action_data(i).name;
524 	    l_value := p_work_action_data(i).value;
525 	    l_type  := p_work_action_data(i).type;
526 
527         Log_Mesg('Action Param Data Name: '||l_name||' ('||LENGTH(l_value)||')');
528 	    IF l_name = 'TASK_NAME' THEN
529 	      l_task_name := l_value;
530 	    ELSIF l_name = 'TASK_TYPE_NAME' THEN
531           l_task_type_name := l_value;
532 	    ELSIF l_name = 'TASK_TYPE_ID' THEN
533           l_task_type_id  := TO_NUMBER(l_value);
534 	    ELSIF l_name = 'TASK_DESC' THEN
535           l_description   := l_value;
536 	    ELSIF l_name = 'DATE_TYPE' THEN
537           l_date_type := l_value;
538 	    ELSIF l_name = 'START_DATE' THEN
539           l_start_date := TO_DATE(l_value, 'DD-MM-YYYY HH24:MI:SS');
540 	    ELSIF l_name = 'END_DATE' THEN
541           l_end_date := TO_DATE(l_value, 'DD-MM-YYYY HH24:MI:SS');
542 	    ELSIF l_name = 'NEW_NOTE' THEN
543           --Bug # 3525736
544 	    BEGIN
545 		l_notes := l_value;
546 	    EXCEPTION
547 		WHEN VALUE_ERROR THEN
548 			l_return_status := 'E';
549 			x_return_status := l_return_status;
550                         FND_MESSAGE.Set_Name('AST', 'AST_NOTE_LENGTH_ERROR');
551 		        FND_MSG_PUB.ADD;
552 			RAISE FND_API.G_EXC_ERROR;
553 	    END;
554 	    ELSIF l_name = 'OUTCOME_ID' THEN
555           l_outcome_id := l_value;
556 	    ELSIF l_name = 'REASON_ID' THEN
557           l_reason_id := l_value;
558 	    ELSIF l_name = 'RESULT_ID' THEN
559           l_result_id := l_value;
560         END IF;
561 
562         Log_Mesg('Start parameter validation');
563         IF l_name = 'END_DATE' AND
564            l_end_date < l_start_date THEN
565           --l_err_mesg := 'End date must be greater than start date.';
566           l_return_status := 'E';
567         END IF;
568 
569         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
570           x_return_status := l_return_status;
571           FND_MESSAGE.Set_Name('AST', 'AST_OPP_TASK_DATE');
572           --FND_MESSAGE.Set_Token('TEXT', l_err_mesg, FALSE);
573           FND_MSG_PUB.ADD;
574           RAISE FND_API.G_EXC_ERROR;
575         END IF;
576         Log_Mesg('End parameter validation');
577       ELSE
578         EXIT;
579       END IF;
580     END LOOP;
581     Log_Mesg('Get Parameter Data Loop Ended');
582 
583     Log_Mesg('Looping to get Work Item Data only.');
584     FOR I IN 1.. p_work_action_data.COUNT LOOP
585       l_data_set_type := p_work_action_data(i).datasettype;
586       l_data_set_id   := p_work_action_data(i).dataSetId;
587 
588       Log_Mesg('Work Data Set: '||l_data_set_id);
589 	  IF l_data_set_type = 'WORK_ITEM_DATA' THEN
590 	    l_name := p_work_action_data(i).name;
591 	    l_value := p_work_action_data(i).value;
592 	    l_type  := p_work_action_data(i).type;
593 
594         Log_Mesg('Work Data Name: '||l_name||' ('||LENGTH(l_value)||')');
595 	    IF l_name = 'LIST_HEADER_ID' THEN
596 	      l_list_header_id := l_value;
597 	    ELSIF l_name = 'LIST_ENTRY_ID' THEN
598 	      l_list_entry_id := l_value;
599 	    ELSIF l_name = 'LIST_SOURCE_TYPE' THEN
600 	      l_list_source_type := l_value;
601  	    ELSIF l_name = 'CUSTOMER_ID' THEN
602           l_customer_id := TO_NUMBER(l_value);
603 	    ELSIF l_name = 'CUSTOMER_NAME' THEN
604           l_customer_name := l_value;
605 	    ELSIF l_name = 'FIRST_NAME' THEN
606           l_first_name := l_value;
607 	    ELSIF l_name = 'LAST_NAME' THEN
608           l_last_name := l_value;
609  	    ELSIF l_name = 'PARTY_ID' THEN
610           l_party_id := TO_NUMBER(l_value);
611 	    ELSIF l_name = 'PHONE' THEN
612           l_phone := l_value;
613 	    ELSIF l_name = 'LOCATION_ID' THEN
614           l_address_id := l_value;
615 	    ELSIF l_name = 'CONTACT_POINT_ID' THEN
616           l_contact_point_id := l_value;
617         END IF;
618       END IF;
619 
620       IF l_prev_data_set_id <> l_data_set_id OR
621          i = p_work_action_data.COUNT THEN
622 
623         l_source_object_type_code := 'PARTY';
624         l_source_object_id        := l_party_id;
625         l_customer_id             := l_party_id;
626         IF l_list_source_type IN ( 'PERSON_LIST','CONSUMER') THEN
627           l_source_object_name := l_first_name||' '||l_last_name;
628         END IF;
629 
630         Log_Mesg('Start Create Task');
631         AST_UWQ_WRAPPER_PKG.CREATE_TASK
632           ( p_task_name                 => l_task_name,
633             p_task_type_name            => l_task_type_name,
634             p_task_type_id              => l_task_type_id,
635             p_description               => l_description,
636             p_owner_id                  => l_owner_id,
637             p_customer_id               => l_customer_id,
638             p_contact_id                => l_contact_id,
639             p_date_type                 => l_date_type,
640             p_start_date                => l_start_date,
641             p_end_date                  => l_end_date,
642             p_source_object_type_code   => l_source_object_type_code,
643             p_source_object_id          => l_source_object_id,
644             p_source_object_name        => l_source_object_name,
645             p_address_id                => l_address_id,
646             p_phone_id                  => l_contact_point_id,
647             p_duration                  => l_duration,
648             p_duration_uom              => l_duration_uom,
649             p_called_node               => l_called_node,
650             x_return_status             => l_return_status,
651             x_msg_count                 => l_msg_count,
652             x_msg_data                  => l_msg_data,
653             x_task_id                   => l_task_id
654           );
655         Log_Mesg('End Create Task');
656 
657         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
658           x_return_status := l_return_status;
659           x_msg_count     := l_msg_count;
660           x_msg_data      := l_msg_data;
661           --x_task_id       := l_task_id;
662 --          FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
663 --          FND_MESSAGE.Set_Token('TEXT', 'Failed to Creat Task: ', FALSE);
664 --          FND_MSG_PUB.ADD;
665           RAISE FND_API.G_EXC_ERROR;
666         ELSE
667           x_return_status := l_return_status;
668           x_msg_count     := l_msg_count;
669           x_msg_data      := l_msg_data;
670           --x_task_id       := l_task_id;
671 --          FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
672 --          FND_MESSAGE.Set_Token('TEXT', 'Successfully Created Task: '||TO_CHAR(l_task_id), FALSE);
673 --          FND_MSG_PUB.ADD;
674         END IF;
675 
676         MLIST_UPDATE_OUTCOME
677         ( p_action_key     => p_action_key,
678           p_list_header_id => l_list_header_id,
679           p_list_entry_id  => l_list_entry_id,
680           p_outcome_id     => l_outcome_id,
681           p_reason_id      => l_reason_id,
682           p_result_id      => l_result_id,
683           x_return_status  => l_return_status,
684           x_msg_count      => l_msg_count,
685           x_msg_data       => l_msg_data
686         );
687 
688         IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
689           x_return_status := l_return_status;
690           x_msg_count     := l_msg_count;
691           x_msg_data      := l_msg_data;
692           --x_task_id       := l_task_id;
693 --          FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
694 --          FND_MESSAGE.Set_Token('TEXT', 'Failed update marketing list: ', FALSE);
695 --          FND_MSG_PUB.ADD;
696           RAISE FND_API.G_EXC_ERROR;
697         ELSE
698           x_return_status := l_return_status;
699           x_msg_count     := l_msg_count;
700           x_msg_data      := l_msg_data;
701 --          FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
702 --          FND_MESSAGE.Set_Token('TEXT', 'Successfully marketing list updated ', FALSE);
703 --          FND_MSG_PUB.ADD;
704         END IF;
705 
706         IF l_notes IS NOT NULL THEN
707           l_source_object_type_code := 'TASK';
708           l_source_object_id        := l_task_id;
709 
710           Log_Mesg('Start Create Note');
711           AST_UWQ_WRAPPER_PKG.CREATE_NOTE
712             ( p_source_object_id   => l_source_object_id,
713               p_source_object_code => l_source_object_type_code,
714               p_notes              => l_notes,
715               p_notes_detail       => NULL,
716               p_entered_by         => l_last_updated_by,
717               p_entered_date       => l_last_update_date,
718               p_last_update_date   => l_last_update_date,
719               p_last_updated_by    => l_last_updated_by,
720               p_creation_date      => l_creation_date,
721               p_created_by         => l_created_by,
722               p_last_update_login  => l_last_update_login,
723               p_party_id           => l_party_id,
724               x_jtf_note_id        => l_jtf_note_id,
725               x_return_status      => l_return_status,
726               x_msg_count          => l_msg_count,
727               x_msg_data           => l_msg_data
728             );
729           Log_Mesg('End Create Note');
730 
731           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
732             x_return_status := l_return_status;
733             x_msg_count     := l_msg_count;
734             x_msg_data      := l_msg_data;
735 --            FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
736 --            FND_MESSAGE.Set_Token('TEXT', 'Failed to Creat Note', FALSE);
737 --            FND_MSG_PUB.ADD;
738             RAISE FND_API.G_EXC_ERROR;
739           ELSE
740             x_return_status := l_return_status;
741             x_msg_count     := l_msg_count;
742             x_msg_data      := l_msg_data;
743 --            FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
744 --            FND_MESSAGE.Set_Token('TEXT', 'Successfully Created Note: '||TO_CHAR(l_jtf_note_id), FALSE);
745 --            FND_MSG_PUB.ADD;
746           END IF;
747         ELSE
748           Log_Mesg('User did not enter any note to create.');
749         END IF;
750       END IF;
751 
752       l_prev_data_set_id := l_data_set_id;
753     END LOOP;
754     Log_Mesg('Get Work Data Loop Ended');
755 
756     MLIST_WORK_NODE_REFRESH
757       ( p_action_key       => p_action_key,
758         p_lead_id          => NULL,
759         p_sales_lead_id    => NULL,
760         x_uwq_actions_list => x_uwq_actions_list
761       );
762 
763   END; -- End procedure MLIST_NEW_TASK
764 
765   PROCEDURE MLIST_CREATE_LEAD
766     ( p_action_key          IN  VARCHAR2,
767       p_resource_id         IN  NUMBER,
768       p_work_action_data	IN  SYSTEM.ACTION_INPUT_DATA_NST,
769       x_uwq_actions_list    OUT NOCOPY SYSTEM.IEU_UWQ_WORK_ACTIONS_NST,
770       x_msg_count           OUT NOCOPY NUMBER,
771       x_msg_data            OUT NOCOPY VARCHAR2,
772       x_return_status       OUT NOCOPY VARCHAR2
773     ) IS
774     l_list_entry_id             NUMBER;
775     l_list_header_id            NUMBER;
776     l_list_source_type          VARCHAR2(30); --W
777 
778     l_creation_date             DATE   := SYSDATE;
779     l_last_update_date          DATE   := SYSDATE;
780     l_last_updated_by           NUMBER := FND_PROFILE.Value('USER_ID'); --REVIEW
781     l_created_by                NUMBER := FND_PROFILE.Value('USER_ID'); --REVIEW
782     l_last_update_login         NUMBER := FND_PROFILE.Value('LOGIN_ID'); -- REVIEW
783 
784     l_admin_group_id            NUMBER; --P From GLOBAL.AST_ADMIN_GROUP_ID
785     l_identity_salesforce_id    NUMBER; --P From GLOBAL.AST_RESOURCE_ID
786     l_status_code               VARCHAR2(30); --P
787     l_customer_id               NUMBER; --P
788     l_contact_party_id		    NUMBER; --P
789     l_address_id                NUMBER; --W
790     l_admin_flag                VARCHAR2(1); --P From GLOBAL.AST_ADMIN_FLAG
791     l_assign_to_salesforce_id   NUMBER; --P From GLOBAL.AST_RESOURCE_ID
792     l_assign_sales_group_id     NUMBER; --P From GLOBAL.AST_MEM_GROUP_ID
793     l_budget_status_code		VARCHAR2(30); --P
794     l_description               VARCHAR2(240); --P
795     l_lead_rank_id              NUMBER; --P
796     l_decision_timeframe_code   VARCHAR2(30); --P
797     l_initiating_contact_id     NUMBER; --REVIEW
798     l_contact_point_id          NUMBER; --P  --ADD TO VIEW
799 
800 
801    l_source_code        VARCHAR2(30);  -- Added by Sumita for bug # 3812865 on 10.14.2004
802 
803      l_source_code_id            NUMBER;
804     l_source_object_type_code   VARCHAR2(60);
805     l_source_object_id          NUMBER;   -- Lead Id
806 
807 
808    l_action_key  varchar2(100) :=  p_action_key;  -- Added by Sumita for bug # 3812865 on 10.14.2004
809     l_notes                     VARCHAR2(2000);
810     l_note_type                 VARCHAR2(30);
811     l_note_status               VARCHAR2(1);
812     l_party_id                  NUMBER;
813 
814     l_outcome_id                NUMBER;
815     l_reason_id                 NUMBER;
816     l_result_id                 NUMBER;
817 
818     l_return_status             VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
819     l_msg_count                 NUMBER;
820     l_msg_data                  VARCHAR2(2000);
821     l_sales_lead_id             NUMBER;
822     l_jtf_note_id               NUMBER;
823   BEGIN
824     Log_Mesg('Inside Create Lead');
825     l_identity_salesforce_id    := p_resource_id;
826     l_assign_to_salesforce_id   := p_resource_id;
827 
828     FOR I IN 1.. p_work_action_data.COUNT LOOP
829       l_data_set_type := p_work_action_data(i).dataSetType;
830 	  IF l_data_set_type = 'WORK_ITEM_DATA' THEN
831 	    l_name := p_work_action_data(i).name;
832 	    l_value := p_work_action_data(i).value;
833 	    l_type  := p_work_action_data(i).type;
834 
835         Log_Mesg('Work Data Name: '||l_name||' ('||LENGTH(l_value)||')');
836 	    IF l_name = 'LIST_HEADER_ID' THEN
837 	      l_list_header_id := l_value;
838 	    ELSIF l_name = 'LIST_ENTRY_ID' THEN
839 	      l_list_entry_id := l_value;
840 	    ELSIF l_name = 'LIST_SOURCE_TYPE' THEN
841 	      l_list_source_type := l_value;
842 	    --Commenting out since we can get source_code_id directly from the view. Bug# 2775958
843 	    /**
844 	   ELSIF l_name = 'SOURCE_CODE'
845 	     l_source_code := l_value; --REVIEW
846 	   **/
847 
848 	    ELSIF l_name = 'SOURCE_CODE_FOR_ID' THEN
849           l_source_code_id := l_value;
850  	    ELSIF l_name = 'CUSTOMER_ID' THEN
851           l_customer_id := l_value;
852  	    ELSIF l_name = 'PARTY_ID' THEN
853           l_contact_party_id := l_value;
854           l_party_id         := l_value;
855  	    ELSIF l_name = 'LOCATION_ID' THEN
856           l_address_id := l_value;
857 	    ELSIF l_name = 'CONTACT_POINT_ID' THEN
858           l_contact_point_id := l_value;
859         END IF;
860       ELSIF l_data_set_type = 'ACTION_PARAM_DATA' THEN
861 	    l_name := p_work_action_data(i).name;
862 	    l_value := p_work_action_data(i).value;
863 	    l_type  := p_work_action_data(i).type;
864 
865 		Log_Mesg('Action Param Data Name: '||l_name||' ('||l_value||')');
866 	    IF l_name = 'ADMIN_GROUP_ID' THEN
867           l_admin_group_id := TO_NUMBER(l_value);
868 
869  -- Added by Sumita for bug # 3812865 on 10.14.2004
870 	    ELSIF l_name = 'SOURCE_CODE'  and  l_action_key = 'PLIST_CREATE_LEAD' THEN
871 	               l_source_code := l_value; --REVIEW
872  -- End Mod.
873 
874 	    ELSIF l_name = 'MEM_GROUP_ID' THEN
875 	      l_assign_sales_group_id := TO_NUMBER(l_value);
876 	    ELSIF l_name = 'ADMIN_FLAG' THEN
877 	      l_admin_flag := l_value;
878 	    ELSIF l_name = 'LEAD_NAME' THEN
879 	      l_description := l_value;
880 	    ELSIF l_name = 'STATUS_CODE' THEN
881 		 l_status_code := l_value;
882 	    ELSIF l_name = 'TIME_FRAME_CODE' THEN
883   		  l_decision_timeframe_code := l_value;
884 	    ELSIF l_name = 'LEAD_RANK_ID' THEN
885           l_lead_rank_id   := l_value;
886 	    ELSIF l_name = 'BUDGET_STATUS_CODE' THEN
887           l_budget_status_code := l_value;
888 	    ELSIF l_name = 'TIME_FRAME' THEN
889           l_decision_timeframe_code := l_value;
890 	    ELSIF l_name = 'ADMIN_GROUP_ID' THEN
891           l_admin_group_id := l_value;
892 	    ELSIF l_name = 'ADMIN_FLAG' THEN
893           l_admin_flag := l_value;
894 	    ELSIF l_name = 'MEM_GROUP_ID' THEN
895           l_assign_sales_group_id := l_value;
896 	    ELSIF l_name = 'NEW_NOTE' THEN
897           --Bug # 3525736
898 	    BEGIN
899 		l_notes := l_value;
900 	    EXCEPTION
901 		WHEN VALUE_ERROR THEN
902 			l_return_status := 'E';
903 			x_return_status := l_return_status;
904                         FND_MESSAGE.Set_Name('AST', 'AST_NOTE_LENGTH_ERROR');
905 		        FND_MSG_PUB.ADD;
906 			RAISE FND_API.G_EXC_ERROR;
907 	    END;
908 	    ELSIF l_name = 'OUTCOME_ID' THEN
909           l_outcome_id := l_value;
910 	    ELSIF l_name = 'REASON_ID' THEN
911           l_reason_id := l_value;
912 	    ELSIF l_name = 'RESULT_ID' THEN
913           l_result_id := l_value;
914         END IF;
915       END IF;
916     END LOOP;
917 
918     AST_ACCESS.Has_Create_LeadOppAccess
919     ( p_admin_flag     => l_admin_flag,
920       p_opplead_ident  => 'L',
921       x_return_status  => l_return_status,
922       x_msg_count      => l_msg_count,
923       x_msg_data       => l_msg_data
924     );
925 
926     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
927       x_return_status := l_return_status;
928       x_msg_count     := l_msg_count;
929       x_msg_data      := l_msg_data;
930       RAISE FND_API.G_EXC_ERROR;
931     END IF;
932 
933     IF l_list_source_type IN ( 'PERSON_LIST','CONSUMER' ) THEN
934       l_customer_id      := l_contact_party_id;
935       l_contact_party_id := NULL;
936     END IF;
937     Log_Mesg('Customer Id: '||l_customer_id);
938     AST_UWQ_WRAPPER_PKG.CREATE_LEAD
939  	  ( p_admin_group_id		  => l_admin_group_id,
940 	    p_identity_salesforce_id  => l_identity_salesforce_id,
941 	    p_status_code		      => l_status_code,
942 	    p_customer_id		      => l_customer_id,
943 	    p_contact_party_id	      => l_contact_party_id,
944 	    p_address_id		      => l_address_id,
945         p_admin_flag              => l_admin_flag,
946         p_assign_to_salesforce_id => l_assign_to_salesforce_id,
947         p_assign_sales_group_id   => l_assign_sales_group_id,
948 	    p_budget_status_code	  => l_budget_status_code,
949 	    p_description		      => l_description,
950 	    p_source_code             => l_source_code,  -- Added by Sumita for bug # 3812865 on 10.14.2004
951 	    p_source_code_id	      => l_source_code_id,
952 	    p_lead_rank_id		      => l_lead_rank_id,
953 	    p_decision_timeframe_code => l_decision_timeframe_code,
954 	    p_initiating_contact_id   => l_initiating_contact_id,
955 	    p_phone_id		          => l_contact_point_id,
956         p_called_node             => l_called_node,
957 	p_action_key                  => l_action_key,  -- Added by Sumita for bug # 3812865 on 10.14.2004
958 	    x_sales_lead_id		      => l_sales_lead_id,
959 	    x_return_status		      => l_return_status,
960 	    x_msg_count		          => l_msg_count,
961 	    x_msg_data		          => l_msg_data
962 	  );
963 
964     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
965       x_return_status := l_return_status;
966       x_msg_count     := l_msg_count;
967       x_msg_data      := l_msg_data;
968 --      FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
969 --      FND_MESSAGE.Set_Token('TEXT', 'Failed to Creat Lead: ', FALSE);
970 --      FND_MSG_PUB.ADD;
971       RAISE FND_API.G_EXC_ERROR;
972     ELSE
973       x_return_status := l_return_status;
974       x_msg_count     := l_msg_count;
975       x_msg_data      := l_msg_data;
976 --      FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
977 --      FND_MESSAGE.Set_Token('TEXT', 'Successfully Created Lead: '||TO_CHAR(l_sales_lead_id), FALSE);
978 --      FND_MSG_PUB.ADD;
979     END IF;
980 
981     MLIST_UPDATE_OUTCOME
982     ( p_action_key     => p_action_key,
983       p_list_header_id => l_list_header_id,
984       p_list_entry_id  => l_list_entry_id,
985       p_outcome_id     => l_outcome_id,
986       p_reason_id      => l_reason_id,
987       p_result_id      => l_result_id,
988       x_return_status  => l_return_status,
989       x_msg_count      => l_msg_count,
990       x_msg_data       => l_msg_data
991     );
992 
993     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
994       x_return_status := l_return_status;
995       x_msg_count     := l_msg_count;
996       x_msg_data      := l_msg_data;
997 --      FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
998 --      FND_MESSAGE.Set_Token('TEXT', 'Failed update marketing list: ', FALSE);
999 --      FND_MSG_PUB.ADD;
1000       RAISE FND_API.G_EXC_ERROR;
1001     ELSE
1002       x_return_status := l_return_status;
1003       x_msg_count     := l_msg_count;
1004       x_msg_data      := l_msg_data;
1005 --      FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
1006 --      FND_MESSAGE.Set_Token('TEXT', 'Successfully marketing list updated ', FALSE);
1007 --      FND_MSG_PUB.ADD;
1008     END IF;
1009 
1010     IF l_notes IS NOT NULL THEN
1011       l_source_object_type_code := 'LEAD';
1012       l_source_object_id        := l_sales_lead_id;
1013       l_party_id                := l_customer_id;
1014 
1015       AST_UWQ_WRAPPER_PKG.CREATE_NOTE
1016         ( p_source_object_id   => l_source_object_id,
1017           p_source_object_code => l_source_object_type_code,
1018           p_notes              => l_notes,
1019           p_notes_detail       => NULL,
1020           p_entered_by         => l_last_updated_by,
1021           p_entered_date       => l_last_update_date,
1022           p_last_update_date   => l_last_update_date,
1023           p_last_updated_by    => l_last_updated_by,
1024           p_creation_date      => l_creation_date,
1025           p_created_by         => l_created_by,
1026           p_last_update_login  => l_last_update_login,
1027           p_party_id           => l_party_id,
1028           x_jtf_note_id        => l_jtf_note_id,
1029           x_return_status      => l_return_status,
1030           x_msg_count          => l_msg_count,
1031           x_msg_data           => l_msg_data
1032         );
1033       Log_Mesg('End Create Note');
1034 
1035       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1036         x_return_status := l_return_status;
1037         x_msg_count     := l_msg_count;
1038         x_msg_data      := l_msg_data;
1039 --        FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
1040 --        FND_MESSAGE.Set_Token('TEXT', 'Failed to Creat Note', FALSE);
1041 --        FND_MSG_PUB.ADD;
1042         RAISE FND_API.G_EXC_ERROR;
1043       ELSE
1044         x_return_status := l_return_status;
1045         x_msg_count     := l_msg_count;
1046         x_msg_data      := l_msg_data;
1047 --        FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
1048 --        FND_MESSAGE.Set_Token('TEXT', 'Successfully Created Note: '||TO_CHAR(l_jtf_note_id), FALSE);
1049 --        FND_MSG_PUB.ADD;
1050       END IF;
1051     ELSE
1052       Log_Mesg('User did not enter any note to create.');
1053     END IF;
1054 
1055     MLIST_WORK_NODE_REFRESH
1056       ( p_action_key       => p_action_key,
1057         p_lead_id          => NULL,
1058         p_sales_lead_id    => l_sales_lead_id,
1059         x_uwq_actions_list => x_uwq_actions_list
1060       );
1061 
1062   END; -- End procedure MLIST_CREATE_LEAD
1063 
1064  PROCEDURE MLIST_CREATE_OPPORTUNITY
1065     ( p_action_key          IN  VARCHAR2,
1066       p_resource_id         IN  NUMBER,
1067       p_work_action_data	IN  SYSTEM.ACTION_INPUT_DATA_NST,
1068       x_uwq_actions_list    OUT NOCOPY SYSTEM.IEU_UWQ_WORK_ACTIONS_NST,
1069       x_msg_count           OUT NOCOPY NUMBER,
1070       x_msg_data            OUT NOCOPY VARCHAR2,
1071       x_return_status       OUT NOCOPY VARCHAR2
1072     ) IS
1073 
1074     l_list_entry_id         NUMBER;
1075     l_list_header_id        NUMBER;
1076     l_list_source_type      VARCHAR2(30); --W
1077 
1078     l_creation_date         DATE   := SYSDATE;
1079     l_last_update_date      DATE   := SYSDATE;
1080     l_last_updated_by       NUMBER := FND_PROFILE.Value('USER_ID'); --REVIEW
1081     l_created_by            NUMBER := FND_PROFILE.Value('USER_ID'); --REVIEW
1082     l_last_update_login     NUMBER := FND_PROFILE.Value('LOGIN_ID'); -- REVIEW
1083 
1084     l_admin_group_id        NUMBER; --P
1085     l_admin_flag            VARCHAR2(1); --P
1086     l_resource_id           NUMBER; --P From GLOBAL.AST_RESOURCE_ID
1087     l_description           VARCHAR2(240); --P
1088     l_status_code           VARCHAR2(30); --P
1089     l_customer_id           NUMBER; --P
1090     l_contact_party_id	    NUMBER; --P
1091     l_address_id            NUMBER; --W
1092     l_sales_stage_id        NUMBER; --P
1093     l_win_probability       NUMBER; --P
1094     l_channel_code          VARCHAR2(30); --P
1095     l_decision_date         DATE; --P or Profile AS_DEFAULT_DECISION_DATE
1096     l_total_revenue_forecast_amt    NUMBER; --added For R12
1097     --code commented for R12 Enhancement --Start
1098  /*   l_close_competitor_code VARCHAR2(30);
1099     l_close_competitor_id   NUMBER;
1100     l_close_competitor      VARCHAR2(255); */
1101     --code commented for R12 Enhancement --End
1102     l_close_comment         VARCHAR2(240);
1103     l_parent_project        VARCHAR2(80);
1104     l_freeze_flag           VARCHAR2(1);
1105     l_salesgroup_id         NUMBER; --P
1106     l_source_code           VARCHAR2(30);  -- Added by Sumita for bug # 3812865 on 10.14.2004
1107     l_action_key VARCHAR2(30) := p_action_key;  -- Added by Sumita for bug # 3812865 on 10.14.2004
1108 
1109     l_source_code_id        NUMBER;
1110 
1111     l_source_object_type_code   VARCHAR2(60);
1112     l_source_object_id          NUMBER;   --P (Customer_party_id)
1113 
1114     l_notes                     VARCHAR2(2000);
1115     l_note_type                 VARCHAR2(30);
1116     l_note_status               VARCHAR2(1);
1117     l_party_id                  NUMBER;
1118 
1119     l_outcome_id                NUMBER;
1120     l_reason_id                 NUMBER;
1121     l_result_id                 NUMBER;
1122 
1123     l_customer_budget           NUMBER;
1124     l_currency_code             varchar2(60);
1125     l_vehicle_response_code     varchar2(2000);
1126 
1127     l_return_status             VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1128     l_msg_count                 NUMBER;
1129     l_msg_data                  VARCHAR2(2000);
1130     l_lead_id                   NUMBER;
1131     l_jtf_note_id               NUMBER;
1132     l_err_mesg                  VARCHAR2(500);
1133   BEGIN
1134     Log_Mesg('Inside Create Opportunity Action');
1135     l_resource_id := p_resource_id;
1136     l_freeze_flag := 'N';
1137 
1138     FOR I IN 1.. p_work_action_data.COUNT LOOP
1139       l_data_set_type := p_work_action_data(i).datasettype;
1140 	  IF l_data_set_type = 'WORK_ITEM_DATA' THEN
1141 	    l_name := p_work_action_data(i).name;
1142 	    l_value := p_work_action_data(i).value;
1143 	    l_type  := p_work_action_data(i).type;
1144 
1145         Log_Mesg('Work Data Name: '||l_name||' ('||l_value||')');
1146 	    IF l_name = 'LIST_HEADER_ID' THEN
1147 	      l_list_header_id := l_value;
1148 	    ELSIF l_name = 'LIST_ENTRY_ID' THEN
1149 	      l_list_entry_id := l_value;
1150 	    ELSIF l_name = 'LIST_SOURCE_TYPE' THEN
1151 	      l_list_source_type := l_value;
1152 	    /**
1153 	    ELSIF l_name = 'SOURCE_CODE' THEN
1154           l_source_code := l_value;
1155 	    **/
1156 	    ELSIF l_name = 'SOURCE_CODE_FOR_ID' THEN
1157           l_source_code_id := l_value;
1158  	    ELSIF l_name = 'CUSTOMER_ID' THEN
1159           l_customer_id := l_value;
1160  	    ELSIF l_name = 'PARTY_ID' THEN
1161           l_contact_party_id := l_value;
1162  	    ELSIF l_name = 'LOCATION_ID' THEN
1163           l_address_id := l_value;
1164         END IF;
1165       ELSIF l_data_set_type = 'ACTION_PARAM_DATA' THEN
1166 	    l_name := p_work_action_data(i).name;
1167 	    l_value := p_work_action_data(i).value;
1168 	    l_type  := p_work_action_data(i).type;
1169 
1170         Log_Mesg('Action Param Data Name: '||l_name||' ('||LENGTH(l_value)||')');
1171 	    IF l_name = 'CUSTOMER_ID' THEN
1172           l_customer_id := l_value;
1173 	    ELSIF l_name = 'OPPORTUNITY_NAME' THEN
1174           l_description := l_value;
1175 	    ELSIF l_name = 'STATUS_CODE' THEN
1176           l_status_code := l_value;
1177 	    ELSIF l_name = 'SALES_STAGE' THEN
1178           l_sales_stage_id := l_value;
1179 
1180  -- Added by Sumita for bug # 3812865 on 10.14.2004
1181 	  ELSIF l_name = 'SOURCE_CODE'  and l_action_key = 'PLIST_CREATE_OPPORTUNITY' THEN
1182 		l_source_code := l_value;
1183 -- End Mod.
1184 
1185 	    ELSIF l_name = 'WIN_PROBABILITY' THEN
1186           l_win_probability := l_value;
1187 	    ELSIF l_name = 'SALES_CHANNEL' THEN
1188           l_channel_code := l_value;
1189 	    ELSIF l_name = 'CLOSE_DATE' THEN
1190           l_decision_date := TO_DATE(l_value, 'DD-MM-YYYY HH24:MI:SS');
1191 	  --code modified for R12 enhancement --Start
1192 	   ELSIF l_name = 'FORECAST_AMOUNT' THEN
1193            l_total_revenue_forecast_amt  := l_value;
1194 	  /* ELSIF l_name = 'KEY_COMPETITOR_ID' THEN
1195            l_close_competitor_id := l_value; */
1196 	  --code modified for R12 enhancement --end
1197 	    ELSIF l_name = 'ADMIN_GROUP_ID' THEN
1198           l_admin_group_id := l_value;
1199 	    ELSIF l_name = 'ADMIN_FLAG' THEN
1200           l_admin_flag := l_value;
1201 	    ELSIF l_name = 'MEM_GROUP_ID' THEN
1202           l_salesgroup_id := l_value;
1203 	    ELSIF l_name = 'NEW_NOTE' THEN
1204           --Bug # 3525736
1205 	    BEGIN
1206 		l_notes := l_value;
1207 	    EXCEPTION
1208 		WHEN VALUE_ERROR THEN
1209 			l_return_status := 'E';
1210 			x_return_status := l_return_status;
1211                         FND_MESSAGE.Set_Name('AST', 'AST_NOTE_LENGTH_ERROR');
1212 		        FND_MSG_PUB.ADD;
1213 			RAISE FND_API.G_EXC_ERROR;
1214 	    END;
1215 	    ELSIF l_name = 'OUTCOME_ID' THEN
1216           l_outcome_id := l_value;
1217 	    ELSIF l_name = 'REASON_ID' THEN
1218           l_reason_id := l_value;
1219 	    ELSIF l_name = 'RESULT_ID' THEN
1220           l_result_id := l_value;
1221          ELSIF l_name = 'CURRENCY_CODE' THEN
1222 	     l_currency_code := l_value;
1223          ELSIF l_name = 'VEHICLE_RESPONSE_CODE' THEN
1224 	     l_vehicle_response_code := l_value;
1225          ELSIF l_name = 'CUSTOMER_BUDGET' THEN
1226 	     l_customer_budget := l_value;
1227         END IF;
1228       END IF;
1229 
1230 
1231       AST_ACCESS.Has_Create_LeadOppAccess
1232       ( p_admin_flag     => l_admin_flag,
1233         p_opplead_ident  => 'O',
1234         x_return_status  => l_return_status,
1235         x_msg_count      => l_msg_count,
1236         x_msg_data       => l_msg_data
1237       );
1238 
1239       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1240         x_return_status := l_return_status;
1241         x_msg_count     := l_msg_count;
1242         x_msg_data      := l_msg_data;
1243         RAISE FND_API.G_EXC_ERROR;
1244       END IF;
1245 
1246       Log_Mesg('Start parameter validation');
1247        --code commented for R12 enhancement --Start
1248       /* IF l_name = 'KEY_COMPETITOR_ID' AND
1249          NVL(FND_PROFILE.Value('AS_COMPETITOR_REQUIRED'), 'N') = 'Y' AND
1250          l_close_competitor_id IS NULL THEN
1251         l_return_status := 'E';
1252       END IF;
1253 
1254 
1255       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1256         x_return_status := l_return_status;
1257         FND_MESSAGE.Set_Name('AS', 'API_CLOSE_COMPETITOR_REQUIRED');
1258         FND_MSG_PUB.ADD;
1259         RAISE FND_API.G_EXC_ERROR;
1260       END IF;   */
1261       --code commented for R12 enhancement --end
1262       Log_Mesg('End parameter validation');
1263 
1264     END LOOP;
1265 
1266     IF l_list_source_type IN ( 'PERSON_LIST','CONSUMER' ) THEN
1267       l_customer_id       := l_contact_party_id;
1268       l_contact_party_id  := NULL;
1269     END IF;
1270 
1271     AST_UWQ_WRAPPER_PKG.CREATE_OPPORTUNITY
1272       ( p_admin_group_id         => l_admin_group_id,
1273         p_admin_flag             => l_admin_flag,
1274         p_resource_id            => l_resource_id,
1275         p_last_update_date       => l_last_update_date,
1276         p_lead_id                => NULL,
1277         p_lead_number            => NULL,
1278         p_description            => l_description,
1279         p_status_code            => l_status_code,
1280 	p_source_code          => l_source_code,  -- Added by Sumita for bug # 3812865 on 10.14.2004
1281         p_source_code_id            => l_source_code_id,
1282         p_customer_id            => l_customer_id,
1283  	    p_contact_party_id	     => l_contact_party_id,
1284         p_address_id             => l_address_id,
1285         p_sales_stage_id         => l_sales_stage_id,
1286         p_win_probability        => l_win_probability,
1287         p_total_amount           => NULL,
1288 	p_total_revenue_forecast_amt => l_total_revenue_forecast_amt, --code added for R12
1289         p_channel_code           => l_channel_code,
1290         p_decision_date          => l_decision_date,
1291         p_currency_code          => l_currency_code,
1292 	   p_vehicle_response_code  => l_vehicle_response_code,
1293 	   p_customer_budget        => l_customer_budget,
1294 --Code commented for R12 enhancement --Start
1295 /*        p_close_competitor_code  => l_close_competitor_code,
1296         p_close_competitor_id    => l_close_competitor_id,
1297         p_close_competitor       => l_close_competitor, */
1298 --Code commented for R12 enhancement --End
1299         p_close_comment          => l_close_comment,
1300         p_parent_project         => l_parent_project,
1301         p_freeze_flag            => l_freeze_flag,
1302         p_salesgroup_id          => l_salesgroup_id,
1303         p_called_node            => l_called_node,
1304 	p_action_key               =>  l_action_key,  -- Added by Sumita for bug # 3812865 on 10.14.2004
1305         x_return_status          => l_return_status,
1306         x_msg_count              => l_msg_count,
1307         x_msg_data               => l_msg_data,
1308         x_lead_id                => l_lead_id
1309       );
1310 
1311     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1312       x_return_status := l_return_status;
1313       x_msg_count     := l_msg_count;
1314       x_msg_data      := l_msg_data;
1315 --      FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
1316 --      FND_MESSAGE.Set_Token('TEXT', 'Failed to Creat Opportunity: ', FALSE);
1317 --      FND_MSG_PUB.ADD;
1318       RAISE FND_API.G_EXC_ERROR;
1319     ELSE
1320       x_return_status := l_return_status;
1321       x_msg_count     := l_msg_count;
1322       x_msg_data      := l_msg_data;
1323 --      FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
1324 --      FND_MESSAGE.Set_Token('TEXT', 'Successfully Created Opportunity: '||TO_CHAR(l_lead_id), FALSE);
1325 --      FND_MSG_PUB.ADD;
1326     END IF;
1327 
1328     MLIST_UPDATE_OUTCOME
1329     ( p_action_key     => p_action_key,
1330       p_list_header_id => l_list_header_id,
1331       p_list_entry_id  => l_list_entry_id,
1332       p_outcome_id     => l_outcome_id,
1333       p_reason_id      => l_reason_id,
1334       p_result_id      => l_result_id,
1335       x_return_status  => l_return_status,
1336       x_msg_count      => l_msg_count,
1337       x_msg_data       => l_msg_data
1338     );
1339 
1340     IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1341       x_return_status := l_return_status;
1342       x_msg_count     := l_msg_count;
1343       x_msg_data      := l_msg_data;
1344 --      FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
1345 --      FND_MESSAGE.Set_Token('TEXT', 'Failed update marketing list: ', FALSE);
1346 --      FND_MSG_PUB.ADD;
1347       RAISE FND_API.G_EXC_ERROR;
1348     ELSE
1349       x_return_status := l_return_status;
1350       x_msg_count     := l_msg_count;
1351       x_msg_data      := l_msg_data;
1352 --      FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
1353 --      FND_MESSAGE.Set_Token('TEXT', 'Successfully marketing list updated ', FALSE);
1354 --      FND_MSG_PUB.ADD;
1355     END IF;
1356 
1357     IF l_notes IS NOT NULL THEN
1358       l_source_object_type_code := 'OPPORTUNITY';
1359       l_source_object_id        := l_lead_id;
1360       l_party_id                := l_customer_id;
1361 
1362       AST_UWQ_WRAPPER_PKG.CREATE_NOTE
1363         ( p_source_object_id   => l_source_object_id,
1364           p_source_object_code => l_source_object_type_code,
1365           p_notes              => l_notes,
1366           p_notes_detail       => NULL,
1367           p_entered_by         => l_last_updated_by,
1368           p_entered_date       => l_last_update_date,
1369           p_last_update_date   => l_last_update_date,
1370           p_last_updated_by    => l_last_updated_by,
1371           p_creation_date      => l_creation_date,
1372           p_created_by         => l_created_by,
1373           p_last_update_login  => l_last_update_login,
1374           p_party_id           => l_party_id,
1375           x_jtf_note_id        => l_jtf_note_id,
1376           x_return_status      => l_return_status,
1377           x_msg_count          => l_msg_count,
1378           x_msg_data           => l_msg_data
1379         );
1380       Log_Mesg('End Create Note');
1381 
1382       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1383         x_return_status := l_return_status;
1384         x_msg_count     := l_msg_count;
1385         x_msg_data      := l_msg_data;
1386 --        FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
1387 --        FND_MESSAGE.Set_Token('TEXT', 'Failed to Creat Note', FALSE);
1388 --        FND_MSG_PUB.ADD;
1389         RAISE FND_API.G_EXC_ERROR;
1390       ELSE
1391         x_return_status := l_return_status;
1392         x_msg_count     := l_msg_count;
1393         x_msg_data      := l_msg_data;
1394 --        FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
1395 --        FND_MESSAGE.Set_Token('TEXT', 'Successfully Created Note: '||TO_CHAR(l_jtf_note_id), FALSE);
1396 --        FND_MSG_PUB.ADD;
1397       END IF;
1398     ELSE
1399       Log_Mesg('User did not enter any note to create.');
1400     END IF;
1401 
1402     MLIST_WORK_NODE_REFRESH
1403       ( p_action_key       => p_action_key,
1404         p_sales_lead_id    => NULL,
1405         p_lead_id          => l_lead_id,
1406         x_uwq_actions_list => x_uwq_actions_list
1407       );
1408 
1409   END; -- End procedure MLIST_CREATE_OPPORTUNITY
1410 
1411   PROCEDURE MLIST_CREATE_NOTE
1412     ( p_action_key          IN  VARCHAR2,
1413       p_resource_id         IN  NUMBER,
1414       p_work_action_data    IN  SYSTEM.ACTION_INPUT_DATA_NST,
1415       x_uwq_actions_list    OUT NOCOPY SYSTEM.IEU_UWQ_WORK_ACTIONS_NST,
1416       x_msg_count           OUT NOCOPY NUMBER,
1417       x_msg_data            OUT NOCOPY VARCHAR2,
1418       x_return_status       OUT NOCOPY VARCHAR2
1419     ) IS
1420 
1421     l_creation_date           DATE   := SYSDATE;
1422     l_last_update_date        DATE   := SYSDATE;
1423     l_last_updated_by         NUMBER := FND_PROFILE.Value('USER_ID'); --REVIEW
1424     l_created_by              NUMBER := FND_PROFILE.Value('USER_ID'); --REVIEW
1425     l_last_update_login       NUMBER := FND_PROFILE.Value('LOGIN_ID'); -- REVIEW
1426 
1427     l_list_entry_id           NUMBER; --W
1428     l_list_header_id          NUMBER; --W
1429     l_list_source_type        VARCHAR2(30); --W
1430     l_source_object_type_code VARCHAR2(60);
1431     l_source_object_id        NUMBER;   --P (Customer_party_id)
1432     l_source_object_name      VARCHAR2(80);   --P (Customer_Name)
1433 
1434     l_party_id                NUMBER;
1435     l_notes                   VARCHAR2(2000);
1436 
1437     l_outcome_id              NUMBER;
1438     l_reason_id               NUMBER;
1439     l_result_id               NUMBER;
1440 
1441     l_return_status           VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1442     l_msg_count               NUMBER;
1443     l_msg_data                VARCHAR2(2000);
1444     l_jtf_note_id             NUMBER;
1445     l_err_mesg                VARCHAR2(500);
1446   BEGIN
1447     Log_Mesg('Inside Create Note');
1448     l_data_set_id      := NULL;
1449     l_prev_data_set_id := NULL;
1450 
1451     Log_Mesg('Looping to get Param Item Data only.');
1452     FOR I IN 1.. p_work_action_data.COUNT LOOP
1453       l_data_set_type := p_work_action_data(i).datasettype;
1454 
1455       IF l_data_set_type = 'ACTION_PARAM_DATA' THEN
1456 	    l_name := p_work_action_data(i).name;
1457 	    l_value := p_work_action_data(i).value;
1458 	    l_type  := p_work_action_data(i).type;
1459 
1460         Log_Mesg('Action Param Data Name: '||l_name||' ('||LENGTH(l_value)||')');
1461 		IF l_name = 'NEW_NOTE' THEN
1462           --Bug # 3525736
1463 	    BEGIN
1464 		l_notes := l_value;
1465 	    EXCEPTION
1466 		WHEN VALUE_ERROR THEN
1467 			l_return_status := 'E';
1468 			x_return_status := l_return_status;
1469                         FND_MESSAGE.Set_Name('AST', 'AST_NOTE_LENGTH_ERROR');
1470 		        FND_MSG_PUB.ADD;
1471 			RAISE FND_API.G_EXC_ERROR;
1472 	    END;
1473 	    ELSIF l_name = 'OUTCOME_ID' THEN
1474           l_outcome_id := l_value;
1475 	    ELSIF l_name = 'REASON_ID' THEN
1476           l_reason_id := l_value;
1477 	    ELSIF l_name = 'RESULT_ID' THEN
1478           l_result_id := l_value;
1479         END IF;
1480 
1481       ELSE
1482         EXIT;
1483       END IF;
1484     END LOOP;
1485     Log_Mesg('Get Parameter Data Loop Ended');
1486 
1487     Log_Mesg('Looping to get Work Item Data only.');
1488     FOR I IN 1.. p_work_action_data.COUNT LOOP
1489       l_data_set_type := p_work_action_data(i).datasettype;
1490       l_data_set_id   := p_work_action_data(i).dataSetId;
1491 
1492       Log_Mesg('Work Data Set: '||l_data_set_id);
1493 	  IF l_data_set_type = 'WORK_ITEM_DATA' THEN
1494 	    l_name := p_work_action_data(i).name;
1495 	    l_value := p_work_action_data(i).value;
1496 	    l_type  := p_work_action_data(i).type;
1497 
1498         Log_Mesg('Work Data Name: '||l_name||' ('||LENGTH(l_value)||')');
1499 	    IF l_name = 'LIST_HEADER_ID' THEN
1500 	      l_list_header_id := l_value;
1501 	    ELSIF l_name = 'LIST_ENTRY_ID' THEN
1502 	      l_list_entry_id := l_value;
1503 	    ELSIF l_name = 'LIST_SOURCE_TYPE' THEN
1504 	      l_list_source_type := l_value;
1505  	    ELSIF l_name = 'PARTY_ID' THEN
1506           l_party_id := TO_NUMBER(l_value);
1507         END IF;
1508       END IF;
1509 
1510       IF l_prev_data_set_id <> l_data_set_id OR
1511          i = p_work_action_data.COUNT THEN
1512 
1513         l_source_object_type_code := 'PARTY';
1514         l_source_object_id        := l_party_id;
1515 
1516         IF l_notes IS NOT NULL THEN
1517 --          l_source_object_type_code := 'PARTY';
1518 --          l_source_object_id        := l_task_id;
1519 
1520           Log_Mesg('Start Create Note');
1521           AST_UWQ_WRAPPER_PKG.CREATE_NOTE
1522             ( p_source_object_id   => l_source_object_id,
1523               p_source_object_code => l_source_object_type_code,
1524               p_notes              => l_notes,
1525               p_notes_detail       => NULL,
1526               p_entered_by         => l_last_updated_by,
1527               p_entered_date       => l_last_update_date,
1528               p_last_update_date   => l_last_update_date,
1529               p_last_updated_by    => l_last_updated_by,
1530               p_creation_date      => l_creation_date,
1531               p_created_by         => l_created_by,
1532               p_last_update_login  => l_last_update_login,
1533               p_party_id           => l_party_id,
1534               x_jtf_note_id        => l_jtf_note_id,
1535               x_return_status      => l_return_status,
1536               x_msg_count          => l_msg_count,
1537               x_msg_data           => l_msg_data
1538             );
1539           Log_Mesg('End Create Note');
1540 
1541           IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1542             x_return_status := l_return_status;
1543             x_msg_count     := l_msg_count;
1544             x_msg_data      := l_msg_data;
1545 --            FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
1546 --            FND_MESSAGE.Set_Token('TEXT', 'Failed to Creat Note', FALSE);
1547 --            FND_MSG_PUB.ADD;
1548             RAISE FND_API.G_EXC_ERROR;
1549           ELSE
1550             x_return_status := l_return_status;
1551             x_msg_count     := l_msg_count;
1552             x_msg_data      := l_msg_data;
1553 --            FND_MESSAGE.Set_Name('AST', 'AST_API_ERR');
1554 --            FND_MESSAGE.Set_Token('TEXT', 'Successfully Created Note: '||TO_CHAR(l_jtf_note_id), FALSE);
1555 --            FND_MSG_PUB.ADD;
1556           END IF;
1557         ELSE
1558           Log_Mesg('User did not enter any note to create.');
1559         END IF;
1560       END IF;
1561 
1562       l_prev_data_set_id := l_data_set_id;
1563     END LOOP;
1564     Log_Mesg('Get Work Data Loop Ended');
1565 
1566     MLIST_WORK_NODE_REFRESH
1567       ( p_action_key       => p_action_key,
1568         p_lead_id          => NULL,
1569         p_sales_lead_id    => NULL,
1570         x_uwq_actions_list => x_uwq_actions_list
1571       );
1572 
1573   END; -- End procedure MLIST_CREATE_NOTE
1574 
1575 END; -- Package Body UWQ_MLIST_WORK_ACTION