DBA Data[Home] [Help]

PACKAGE BODY: APPS.CCT_CUSTOMERINIT_PUB

Source


1 PACKAGE BODY CCT_CUSTOMERINIT_PUB   as
2 /* $Header: cctcustb.pls 115.8 2003/08/23 01:12:34 gvasvani noship $ */
3 
4 
5 G_PKG_NAME CONSTANT VARCHAR2(30) := 'CCT_CUSTOMERINIT_PUB';
6 
7 /*------------------------------------------------------------------------
8      Group A : Customer Initialization Phase
9 *------------------------------------------------------------------------*/
10 
11 /* -----------------------------------------------------------------------
12 1   Activity Name : WF_Customer_ID_exists (branch node)
13      To check if the Customer ID already exists
14    IN
15     itemtype  - item type
16     itemkey   - item key
17     actid     - process activity instance id
18     funmode   - execution mode
19    OUT
20     comparison result (WFSTD_YES_NO lookup code)
21    ITEM ATTRIBUTES REFERENCED
22     CUSTID   - the customer ID
23 *-----------------------------------------------------------------------*/
24 procedure WF_PartyIDExists (
25 	itemtype        in varchar2
26 	, itemkey       in varchar2
27 	, actid         in number
28 	, funmode       in varchar2
29 	, resultout     in out nocopy varchar2) IS
30 
31     l_proc_name     VARCHAR2(30) := 'WF_PartyIDExists';
32     l_party_id   NUMBER;
33     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
34     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
35   BEGIN
36 
37     IF (funmode <> 'RUN') THEN
38 	resultout := wf_engine.eng_null;
39 	return;
40     end if;
41 
42     -- set default result
43     resultout := wf_engine.eng_completed || ':N';
44 
45     l_party_id  := WF_ENGINE.GetItemAttrNumber(itemtype,itemkey,upper(l_cct_party_id_key));
46     --dbms_output.put_line('PartyIDExists?'||to_char(l_party_id));
47     if (l_party_id IS NOT NULL) then
48         resultout := wf_engine.eng_completed || ':Y';
49     end if;
50 
51   EXCEPTION
52     WHEN OTHERS THEN
53       -- if the customer id is not found
54       if (WF_CORE.Error_Name = 'WFENG_ITEM_ATTR') then
55          WF_CORE.CLEAR;
56          -- default result returned
57          return;
58       end if;
59 
60       -- for other errors
61        WF_CORE.Context(G_PKG_NAME, l_proc_name,  itemtype,
62                         itemkey, to_char(actid), funmode);
63       RAISE;
64 
65 end WF_PartyIDExists;
66 
67 
68 /* -----------------------------------------------------------------------
69 2   Activity Name : WF_Get_PartyID_From_ANI (branch node)
70 
71    To Check if the Customer ID can be derived from the ANI
72    IN
73     itemtype  - item type
74     itemkey   - item key
75     actid     - process activity instance id
76     funmode   - execution mode
77    OUT
78     comparison result (WFSTD_YES_NO lookup code)
79    ITEM ATTRIBUTES REFERENCED
80     ANI       - the originating phone num
81     CUSTID    - the customer ID
82 *-----------------------------------------------------------------------*/
83 procedure WF_PartyIDFromANI (
84 	itemtype   	in varchar2
85 	, itemkey  	in varchar2
86 	, actid    	in number
87 	, funmode 	in varchar2
88 	, resultout 	in out nocopy varchar2) IS
89 
90     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromANI';
91     l_app_object_value VARCHAR2(255);
92     l_app_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_ANI;
93     l_party_name VARCHAR2(255);
94     l_Party_ID NUMBER;
95     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
96     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
97     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_ANI;
98   BEGIN
99    -- set default result
100     resultout := wf_engine.eng_completed || ':N';
101 
102     IF (funmode = 'RUN') THEN
103       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
104 
105       --dbms_output.put_line('PartyIDfromANI? ANI='||l_app_object_value);
106       if (l_app_object_Value IS NOT NULL) THEN
107          -- Call the API provided by AST
108 
109 		 AST_ROUTING_PUB.getPartyForObject(l_app_object_type,l_app_object_value
110 		                                  ,l_party_name,l_party_id);
111 
112            --dbms_output.put_line('PartyIDfromANI? partyid='||to_char(l_party_id));
113          -- if a customer id is returned
114          IF ((l_Party_ID <> AST_ROUTING_PUB.G_NO_PARTY) AND
115              (l_party_id <> AST_ROUTING_PUB.G_MULTIPLE_PARTY)) THEN
116              resultout := wf_engine.eng_completed || ':Y';
117 
118              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
119 					l_Party_ID );
120 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
121          END IF;
122       End IF;
123     END IF;
124 
125   EXCEPTION
126     WHEN OTHERS THEN
127       WF_CORE.Context(G_PKG_NAME, l_proc_name,
128       	      itemtype, itemkey, to_char(actid), funmode);
129       RAISE;
130 
131 
132 END WF_PartyIDFromANI;
133 
134 /* -----------------------------------------------------------------------
135 
136 
137 2b   Activity Name : WF_PartyIDFromANI_Multiple  (branch node)
138 
139    To Check if the Party ID can be derived from the ANI. If multiple
140    matches exist then this derives the first PartyID that matches.
141    Used by Teleservice application
142    IN
143     itemtype  - item type
144     itemkey   - item key
145     actid     - process activity instance id
146     funmode   - execution mode
147    OUT
148     comparison result (WFSTD_YES_NO lookup code)
149    ITEM ATTRIBUTES REFERENCED
150     ANI       - the originating phone num
151     PARTYID    - the PARTY ID
152 *-----------------------------------------------------------------------*/
153 procedure WF_PartyIDFromANI_Multiple (
154 	itemtype   	in varchar2
155 	, itemkey  	in varchar2
156 	, actid    	in number
157 	, funmode 	in varchar2
158 	, resultout 	in out nocopy varchar2)IS
159 
160     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromANI_Multiple';
161     l_app_object_value VARCHAR2(255);
162     l_app_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_ANI;
163     l_party_name VARCHAR2(255);
164     l_Party_ID NUMBER;
165     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
166     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
167     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_ANI;
168   BEGIN
169    -- set default result
170     resultout := wf_engine.eng_completed || ':N';
171 
172     IF (funmode = 'RUN') THEN
173       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
174 
175       if (l_app_object_Value IS NOT NULL) THEN
176          -- Call the API provided by AST
177 	     l_party_ID:=CSC_ROUTING_UTL.Get_Customer_From_ANI
178                     ( p_phone_number  => l_app_object_value  ) ;
179 
180          -- if a customer id is returned
181          IF (l_Party_ID IS NOT NULL) THEN
182              l_party_name:=CSC_ROUTING_UTL.Get_Name_Of_Customer
183                              ( p_party_id => l_party_ID ) ;
184              resultout := wf_engine.eng_completed || ':Y';
185              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
186 					l_Party_ID );
187 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
188          END IF;
189       End IF;
190     END IF;
191 
192   EXCEPTION
193     WHEN OTHERS THEN
194       WF_CORE.Context(G_PKG_NAME, l_proc_name,
195       	      itemtype, itemkey, to_char(actid), funmode);
196       RAISE;
197 
198 
199 END WF_PartyIDFromANI_Multiple;
200 
201 /* -----------------------------------------------------------------------
202 3   Activity Name : WF_PartyIDFromPartyNumber (branch node)
203 
204    To Check if the Customer ID can be derived from the Party Number
205    IN
206     itemtype  - item type
207     itemkey   - item key
208     actid     - process activity instance id
209     funmode   - execution mode
210    OUT
211     comparison result (WFSTD_YES_NO lookup code)
212    ITEM ATTRIBUTES REFERENCED
213     Party Number - the originating party number
214     PartyID    - the customer/party ID
215 *-----------------------------------------------------------------------*/
216 procedure WF_PartyIDFromPartyNumber (
217 	itemtype   	in varchar2
218 	, itemkey  	in varchar2
219 	, actid    	in number
220 	, funmode 	in varchar2
221 	, resultout 	in out nocopy varchar2) IS
222 
223     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromPartyNumber';
224     l_app_object_Value VARCHAR2(32);
225     l_app_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_PARTY_NUMBER;
226     l_party_name VARCHAR2(255);
227     l_Party_ID NUMBER;
228     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
229     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
230     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_PARTY_NUMBER;
231   BEGIN
232     -- set default result
233     resultout := wf_engine.eng_completed || ':N';
234 
235     --dbms_output.put_line('PartyNum2PartyID?start');
236     IF (funmode = 'RUN') THEN
237       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
238 	 --dbms_output.put_line('PartyNum2PartyID?PNum='||l_app_object_value);
239 
240       if (l_app_object_Value IS NOT NULL) THEN
241          -- Call the API provided by AST
242 
243 		 AST_ROUTING_PUB.getPartyForObject(l_app_object_type,l_app_object_value
244 		                                  ,l_party_name,l_party_id);
245 
246          -- if a customer id is returned
247          IF ((l_Party_ID <> AST_ROUTING_PUB.G_NO_PARTY) AND
248              (l_party_id <> AST_ROUTING_PUB.G_MULTIPLE_PARTY)) THEN
249              resultout := wf_engine.eng_completed || ':Y';
250 
251              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
252 					l_Party_ID );
253 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
254          END IF;
255       End IF;
256     END IF;
257 
258   EXCEPTION
259     WHEN OTHERS THEN
260       --dbms_output.put_line('PartyNum2PartyID?exception'||sqlerrm);
261       WF_CORE.Context(G_PKG_NAME, l_proc_name,
262       	      itemtype, itemkey, to_char(actid), funmode);
263       RAISE;
264 
265 
266 END WF_PartyIDFromPartyNumber;
267 
268 /* -----------------------------------------------------------------------
269 3   Activity Name : WF_PartyIDFromQuoteNumber (branch node)
270 
271    To Check if the Customer ID can be derived from the Party Number
272    IN
273     itemtype  - item type
274     itemkey   - item key
275     actid     - process activity instance id
276     funmode   - execution mode
277    OUT
278     comparison result (WFSTD_YES_NO lookup code)
279    ITEM ATTRIBUTES REFERENCED
280     Quote Number - the originating quote number
281     PartyID    - the customer/party ID
282 *-----------------------------------------------------------------------*/
283 procedure WF_PartyIDFromQuoteNumber (
284 	itemtype   	in varchar2
285 	, itemkey  	in varchar2
286 	, actid    	in number
287 	, funmode 	in varchar2
288 	, resultout 	in out nocopy varchar2) IS
289 
290     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromQuoteNumber';
291     l_app_object_Value VARCHAR2(32);
292     l_app_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_QUOTE_NUMBER;
293     l_party_name VARCHAR2(255);
294     l_Party_ID NUMBER;
295     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
296     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
297     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_QUOTE_NUMBER;
298   BEGIN
299     -- set default result
300     resultout := wf_engine.eng_completed || ':N';
301 
302     IF (funmode = 'RUN') THEN
303       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
304 
305       if (l_app_object_Value IS NOT NULL) THEN
306          -- Call the API provided by AST
307 
308 		 AST_ROUTING_PUB.getPartyForObject(l_app_object_type,l_app_object_value
309 		                                  ,l_party_name,l_party_id);
310 
311          -- if a customer id is returned
312          IF ((l_Party_ID <> AST_ROUTING_PUB.G_NO_PARTY) AND
313              (l_party_id <> AST_ROUTING_PUB.G_MULTIPLE_PARTY)) THEN
314              resultout := wf_engine.eng_completed || ':Y';
315 
316              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
317 					l_Party_ID );
318 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
319          END IF;
320       End IF;
321     END IF;
322 
323   EXCEPTION
324     WHEN OTHERS THEN
325       WF_CORE.Context(G_PKG_NAME, l_proc_name,
326       	      itemtype, itemkey, to_char(actid), funmode);
327       RAISE;
328 
329 END WF_PartyIDFromQuoteNumber;
330 
331 /* -----------------------------------------------------------------------
332 4   Activity Name : WF_PartyIDFromOrderNumber (branch node)
333 
334    To Check if the Customer ID can be derived from the Party Number
335    IN
336     itemtype  - item type
337     itemkey   - item key
338     actid     - process activity instance id
339     funmode   - execution mode
340    OUT
341     comparison result (WFSTD_YES_NO lookup code)
342    ITEM ATTRIBUTES REFERENCED
343     ORDER Number - the originating ORDER number
344     PartyID    - the customer/party ID
345 *-----------------------------------------------------------------------*/
346 procedure WF_PartyIDFromORDERNumber (
347 	itemtype   	in varchar2
348 	, itemkey  	in varchar2
349 	, actid    	in number
350 	, funmode 	in varchar2
351 	, resultout 	in out nocopy varchar2) IS
352 
353     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromORDERNumber';
354     l_app_object_Value VARCHAR2(32);
355     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
356     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
357     l_party_name VARCHAR2(255);
358     l_Party_ID NUMBER;
359     l_app_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_ORDER_NUMBER;
360     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_ORDER_NUMBER;
361   BEGIN
362     -- set default result
363     resultout := wf_engine.eng_completed || ':N';
364 
365     IF (funmode = 'RUN') THEN
366       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
367 
368       if (l_app_object_Value IS NOT NULL) THEN
369          -- Call the API provided by AST
370 
371 		 AST_ROUTING_PUB.getPartyForObject(l_app_object_type,l_app_object_value
372 		                                  ,l_party_name,l_party_id);
373 
374          -- if a customer id is returned
375          IF ((l_Party_ID <> AST_ROUTING_PUB.G_NO_PARTY) AND
376              (l_party_id <> AST_ROUTING_PUB.G_MULTIPLE_PARTY)) THEN
377              resultout := wf_engine.eng_completed || ':Y';
378 
379              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
380 					l_Party_ID );
381 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
382          END IF;
383       End IF;
384     END IF;
385 
386   EXCEPTION
387     WHEN OTHERS THEN
388       WF_CORE.Context(G_PKG_NAME, l_proc_name,
389       	      itemtype, itemkey, to_char(actid), funmode);
390       RAISE;
391 
392 END WF_PartyIDFromORDERNumber;
393 /* -----------------------------------------------------------------------
394 5   Activity Name : WF_PartyIDFromCollateralRequestNumber (branch node)
395 
396    To Check if the Customer ID can be derived from the Party Number
397    IN
398     itemtype  - item type
399     itemkey   - item key
400     actid     - process activity instance id
401     funmode   - execution mode
402    OUT
403     comparison result (WFSTD_YES_NO lookup code)
404    ITEM ATTRIBUTES REFERENCED
405     CollateralRequestNumber - the originating Collateral Request number
406     PartyID    - the customer/party ID
407 *-----------------------------------------------------------------------*/
408 
409 
410 procedure WF_PartyIDFromCollateralReq(
411 	itemtype   	in varchar2
412 	, itemkey  	in varchar2
413 	, actid    	in number
414 	, funmode 	in varchar2
415 	, resultout 	in out nocopy varchar2) IS
416 
417     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromCollateralRequestNumber';
418     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
419     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
420     l_app_object_Value VARCHAR2(32);
421     l_app_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_COLLATERAL_REQUEST_NUMBER;
422     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_COLLATERAL_REQUEST_NUMBER;
423     l_party_name VARCHAR2(255);
424     l_Party_ID NUMBER;
425   BEGIN
426     -- set default result
427     resultout := wf_engine.eng_completed || ':N';
428 
429     IF (funmode = 'RUN') THEN
430       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
431 
432       if (l_app_object_Value IS NOT NULL) THEN
433          -- Call the API provided by AST
434 
435 		 AST_ROUTING_PUB.getPartyForObject(l_app_object_type,l_app_object_value
436 		                                  ,l_party_name,l_party_id);
437 
438          -- if a customer id is returned
439          IF ((l_Party_ID <> AST_ROUTING_PUB.G_NO_PARTY) AND
440              (l_party_id <> AST_ROUTING_PUB.G_MULTIPLE_PARTY)) THEN
441              resultout := wf_engine.eng_completed || ':Y';
442 
443              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
444 					l_Party_ID );
445 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
446          END IF;
447       End IF;
448     END IF;
449 
450   EXCEPTION
451     WHEN OTHERS THEN
452       WF_CORE.Context(G_PKG_NAME, l_proc_name,
453       	      itemtype, itemkey, to_char(actid), funmode);
454       RAISE;
455 
456 END WF_PartyIDFromCollateralReq;
457 
458 /* -----------------------------------------------------------------------
459 5   Activity Name : WF_PartyIDFromAccountNumber (branch node)
460 
461    To Check if the Customer ID can be derived from the Party Number
462    IN
463     itemtype  - item type
464     itemkey   - item key
465     actid     - process activity instance id
466     funmode   - execution mode
467    OUT
468     comparison result (WFSTD_YES_NO lookup code)
469    ITEM ATTRIBUTES REFERENCED
470     AccountNumber - the originating Account number
471     PartyID    - the customer/party ID
472 *-----------------------------------------------------------------------*/
473 procedure WF_PartyIDFromAccountNumber (
474 	itemtype   	in varchar2
475 	, itemkey  	in varchar2
476 	, actid    	in number
477 	, funmode 	in varchar2
478 	, resultout 	in out nocopy varchar2) IS
479 
480     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromAccountNumber';
481     l_app_object_Value VARCHAR2(32);
482     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
483     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
484     l_party_name VARCHAR2(255);
485     l_Party_ID NUMBER;
486     l_app_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_ACCOUNT_NUMBER;
487     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_ACCOUNT_NUMBER;
488   BEGIN
489     -- set default result
490     resultout := wf_engine.eng_completed || ':N';
491 
492     IF (funmode = 'RUN') THEN
493       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
494 
495       if (l_app_object_Value IS NOT NULL) THEN
496          -- Call the API provided by AST
497 
498 		 AST_ROUTING_PUB.getPartyForObject(l_app_object_type,l_app_object_value
499 		                                  ,l_party_name,l_party_id);
500 
501          -- if a customer id is returned
502          IF ((l_Party_ID <> AST_ROUTING_PUB.G_NO_PARTY) AND
503              (l_party_id <> AST_ROUTING_PUB.G_MULTIPLE_PARTY)) THEN
504              resultout := wf_engine.eng_completed || ':Y';
505 
506              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
507 					l_Party_ID );
508 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
509          END IF;
510       End IF;
511     END IF;
512 
513   EXCEPTION
514     WHEN OTHERS THEN
515       WF_CORE.Context(G_PKG_NAME, l_proc_name,
516       	      itemtype, itemkey, to_char(actid), funmode);
517       RAISE;
518 
519 END WF_PartyIDFromAccountNumber;
520 
521 /* -----------------------------------------------------------------------
522 5   Activity Name : WF_PartyIDFromEventCode (branch node)
523 
524    To Check if the Customer ID can be derived from the Party Number
525    IN
526     itemtype  - item type
527     itemkey   - item key
528     actid     - process activity instance id
529     funmode   - execution mode
530    OUT
531     comparison result (WFSTD_YES_NO lookup code)
532    ITEM ATTRIBUTES REFERENCED
533     EventCode - the originating Registration Code
534     PartyID    - the customer/party ID
535 *-----------------------------------------------------------------------*/
536 procedure WF_PartyIDFromEventCode (
537 	itemtype   	in varchar2
538 	, itemkey  	in varchar2
539 	, actid    	in number
540 	, funmode 	in varchar2
541 	, resultout 	in out nocopy varchar2) IS
542 
543     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromEventCode';
544     l_app_object_Value VARCHAR2(32);
545     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
546     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
547     l_party_name VARCHAR2(255);
548     l_Party_ID NUMBER;
549     l_app_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_EVENT_REGISTRATION_CODE;
550     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_EVENT_REGISTRATION_CODE;
551   BEGIN
552     -- set default result
553     resultout := wf_engine.eng_completed || ':N';
554 
555     IF (funmode = 'RUN') THEN
556       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
557 
558       if (l_app_object_Value IS NOT NULL) THEN
559          -- Call the API provided by AST
560 
561 		 AST_ROUTING_PUB.getPartyForObject(l_app_object_type,l_app_object_value
562 		                                  ,l_party_name,l_party_id);
563 
564          -- if a customer id is returned
565          IF ((l_Party_ID <> AST_ROUTING_PUB.G_NO_PARTY) AND
566              (l_party_id <> AST_ROUTING_PUB.G_MULTIPLE_PARTY)) THEN
567              resultout := wf_engine.eng_completed || ':Y';
568 
569              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
570 					l_Party_ID );
571 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
572          END IF;
573       End IF;
574     END IF;
575 
576   EXCEPTION
577     WHEN OTHERS THEN
578       WF_CORE.Context(G_PKG_NAME, l_proc_name,
579       	      itemtype, itemkey, to_char(actid), funmode);
580       RAISE;
581 
582 END WF_PartyIDFromEventCode;
583 
584 /* -----------------------------------------------------------------------
585 5   Activity Name : WF_PartyIDFromMarketingPIN (branch node)
586 
587    To Check if the Customer ID can be derived from the Party Number
588    IN
589     itemtype  - item type
590     itemkey   - item key
591     actid     - process activity instance id
592     funmode   - execution mode
593    OUT
594     comparison result (WFSTD_YES_NO lookup code)
595    ITEM ATTRIBUTES REFERENCED
596     MarketingPIN - the originating Marketing PIN
597     PartyID    - the customer/party ID
598 *-----------------------------------------------------------------------*/
599 procedure WF_PartyIDFromMarketingPIN (
600 	itemtype   	in varchar2
601 	, itemkey  	in varchar2
602 	, actid    	in number
603 	, funmode 	in varchar2
604 	, resultout 	in out nocopy varchar2) IS
605 
606     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromMarketingPIN';
607     l_app_object_Value VARCHAR2(32);
608     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
609     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
610     l_party_name VARCHAR2(255);
611     l_Party_ID NUMBER;
612     l_app_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_MARKETING_PIN;
613     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_MARKETING_PIN;
614   BEGIN
615     -- set default result
616     resultout := wf_engine.eng_completed || ':N';
617 
618     IF (funmode = 'RUN') THEN
619       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
620 
621       if (l_app_object_Value IS NOT NULL) THEN
622          -- Call the API provided by AST
623 
624 		 AST_ROUTING_PUB.getPartyForObject(l_app_object_type,l_app_object_value
625 		                                  ,l_party_name,l_party_id);
626 
627          -- if a customer id is returned
628          IF ((l_Party_ID <> AST_ROUTING_PUB.G_NO_PARTY) AND
629              (l_party_id <> AST_ROUTING_PUB.G_MULTIPLE_PARTY)) THEN
630              resultout := wf_engine.eng_completed || ':Y';
631 
632              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
633 					l_Party_ID );
634 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
635          END IF;
636       End IF;
637     END IF;
638 
639   EXCEPTION
640     WHEN OTHERS THEN
641       WF_CORE.Context(G_PKG_NAME, l_proc_name,
642       	      itemtype, itemkey, to_char(actid), funmode);
643       RAISE;
644 
645 END WF_PartyIDFromMarketingPIN;
646 /* -----------------------------------------------------------------------
647 5   Activity Name : WF_PartyIDFromContractNum (branch node)
648 
649    To Check if the Customer ID can be derived from the Contract Number
650    IN
651     itemtype  - item type
652     itemkey   - item key
653     actid     - process activity instance id
654     funmode   - execution mode
655    OUT
656     comparison result (WFSTD_YES_NO lookup code)
657    ITEM ATTRIBUTES REFERENCED
658     ContractNum - the originating ContractNumber
659     ContractNumModifier - the originating Contract Number Modifier
660     PartyID    - the customer/party ID
661 *-----------------------------------------------------------------------*/
662 
663 procedure WF_PartyIDFromContractNum (
664 	itemtype   	in varchar2
665 	, itemkey  	in varchar2
666 	, actid    	in number
667 	, funmode 	in varchar2
668 	, resultout 	in out nocopy varchar2) IS
669     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromMarketingPIN';
670     l_app_object_Value VARCHAR2(32);
671     l_app_object_value2 VARCHAR2(32);
672     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
673     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
674     l_party_name VARCHAR2(255);
675     l_Party_ID NUMBER;
676     l_app_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CONTRACT_NUMBER;
677     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CONTRACT_NUMBER;
678     l_cct_object_type2 VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CONTRACT_NUMBER_MODIFIER;
679   BEGIN
680     -- set default result
681     resultout := wf_engine.eng_completed || ':N';
682 
683     IF (funmode = 'RUN') THEN
684       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
685       l_app_object_Value2  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type2));
686 
687       if (l_app_object_Value IS NOT NULL) THEN
688          -- Call the API provided by AST
689 
690 		 AST_ROUTING_PUB.getPartyForObject(l_app_object_type,l_app_object_value,l_cct_object_type2,l_app_object_value2
691 		                                  ,l_party_name,l_party_id);
692 
693          -- if a customer id is returned
694          IF ((l_Party_ID <> AST_ROUTING_PUB.G_NO_PARTY) AND
695              (l_party_id <> AST_ROUTING_PUB.G_MULTIPLE_PARTY)) THEN
696              resultout := wf_engine.eng_completed || ':Y';
697 
698              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
699 					l_Party_ID );
700 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
701          END IF;
702       End IF;
703     END IF;
704 
705   EXCEPTION
706     WHEN OTHERS THEN
707       WF_CORE.Context(G_PKG_NAME, l_proc_name,
708       	      itemtype, itemkey, to_char(actid), funmode);
709       RAISE;
710 
711 END;
712 /* -----------------------------------------------------------------------
713 5   Activity Name : WF_PartyIDFromServiceKey (branch node)
714 
715    To Check if the Customer ID can be derived from the Party Number
716    IN
717     itemtype  - item type
718     itemkey   - item key
719     actid     - process activity instance id
720     funmode   - execution mode
721    OUT
722     comparison result (WFSTD_YES_NO lookup code)
723    ITEM ATTRIBUTES REFERENCED
724     ServiceKey - the originating Service Key
725     PartyID    - the customer/party ID
726 *-----------------------------------------------------------------------*/
727 procedure WF_PartyIDFromServiceKey (
728 	itemtype   	in varchar2
729 	, itemkey  	in varchar2
730 	, actid    	in number
731 	, funmode 	in varchar2
732 	, resultout 	in out nocopy varchar2) IS
733 
734     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromServiceKey';
735     l_app_object_Value VARCHAR2(32);
736     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
737     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
738     l_party_name VARCHAR2(255);
739     l_Party_ID NUMBER;
740     l_app_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_SERVICE_KEY;
741     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_SERVICE_KEY;
742   BEGIN
743     -- set default result
744     resultout := wf_engine.eng_completed || ':N';
745 
746     IF (funmode = 'RUN') THEN
747       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
748 
749       if (l_app_object_Value IS NOT NULL) THEN
750          -- Call the API provided by AST
751 
752 		 AST_ROUTING_PUB.getPartyForObject(l_app_object_type,l_app_object_value
753 		                                  ,l_party_name,l_party_id);
754 
755          -- if a customer id is returned
756          IF ((l_Party_ID <> AST_ROUTING_PUB.G_NO_PARTY) AND
757              (l_party_id <> AST_ROUTING_PUB.G_MULTIPLE_PARTY)) THEN
758              resultout := wf_engine.eng_completed || ':Y';
759 
760              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
761 					l_Party_ID );
762 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
763          END IF;
764       End IF;
765     END IF;
766 
767   EXCEPTION
768     WHEN OTHERS THEN
769       WF_CORE.Context(G_PKG_NAME, l_proc_name,
770       	      itemtype, itemkey, to_char(actid), funmode);
771       RAISE;
772 
773 END WF_PartyIDFromServiceKey;
774 
775 /* -----------------------------------------------------------------------
776 5   Activity Name : WF_PartyIDFromServiceReqNum (branch node)
777 
778    To Check if the Customer ID can be derived from the Party Number
779    IN
780     itemtype  - item type
781     itemkey   - item key
782     actid     - process activity instance id
783     funmode   - execution mode
784    OUT
785     comparison result (WFSTD_YES_NO lookup code)
786    ITEM ATTRIBUTES REFERENCED
787     ServiceRequestNumber- the originating ServiceRequestNumber
788     PartyID    - the customer/party ID
789 *-----------------------------------------------------------------------*/
790 procedure WF_PartyIDFromServiceReqNum (
791 	itemtype   	in varchar2
792 	, itemkey  	in varchar2
793 	, actid    	in number
794 	, funmode 	in varchar2
795 	, resultout 	in out nocopy varchar2) IS
796 
797     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromServiceReqNum';
798     l_app_object_Value VARCHAR2(32);
799     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
800     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
801     l_party_name VARCHAR2(255);
802     l_Party_ID NUMBER;
803     l_app_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_SERVICE_REQUEST_NUMBER;
804     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_SERVICE_REQUEST_NUMBER;
805   BEGIN
806     -- set default result
807     resultout := wf_engine.eng_completed || ':N';
808 
809     IF (funmode = 'RUN') THEN
810       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
811 
812       if (l_app_object_Value IS NOT NULL) THEN
813          -- Call the API provided by AST
814 
815 		 AST_ROUTING_PUB.getPartyForObject(l_app_object_type,l_app_object_value
816 		                                  ,l_party_name,l_party_id);
817 
818          -- if a customer id is returned
819          IF ((l_Party_ID <> AST_ROUTING_PUB.G_NO_PARTY) AND
820              (l_party_id <> AST_ROUTING_PUB.G_MULTIPLE_PARTY)) THEN
821              resultout := wf_engine.eng_completed || ':Y';
822 
823              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
824 					l_Party_ID );
825 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
826          END IF;
827       End IF;
828     END IF;
829 
830   EXCEPTION
831     WHEN OTHERS THEN
832       WF_CORE.Context(G_PKG_NAME, l_proc_name,
833       	      itemtype, itemkey, to_char(actid), funmode);
834       RAISE;
835 
836 END WF_PartyIDFromServiceReqNum;
837 
838 /* -----------------------------------------------------------------------
839 5   Activity Name : WF_PartyIDFromInvoiceNum (branch node)
840 
841    To Check if the Party ID can be derived from the Invoice Number
842    IN
843     itemtype  - item type
844     itemkey   - item key
845     actid     - process activity instance id
846     funmode   - execution mode
847    OUT
848     comparison result (WFSTD_YES_NO lookup code)
849    ITEM ATTRIBUTES REFERENCED
850     InvoiceNumber- the originating InvoiceNumber
851     PartyID    - the customer/party ID
852 *-----------------------------------------------------------------------*/
853 
854 procedure WF_PartyIDFromInvoiceNum (
855 	itemtype   	in varchar2
856 	, itemkey  	in varchar2
857 	, actid    	in number
858 	, funmode 	in varchar2
859 	, resultout 	in out nocopy varchar2)IS
860 
861     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromInvoiceNum';
862     l_app_object_Value VARCHAR2(32);
863     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
864     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
865     l_party_name VARCHAR2(255);
866     l_Party_ID NUMBER;
867     l_app_object_type VARCHAR2(64):='INVOICE_NUMBER';
868     l_cct_object_type VARCHAR2(64):='INVOICENUM';
869   BEGIN
870     -- set default result
871     resultout := wf_engine.eng_completed || ':N';
872 
873     IF (funmode = 'RUN') THEN
874       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
875 
876       if (l_app_object_Value IS NOT NULL) THEN
877          -- Call the API provided by CSC
878 		 l_party_ID:=CSC_ROUTING_UTL.Get_Customer_From_InvoiceNum
879                         ( p_Invoice_Number => l_app_object_value ) ;
880 
881          -- if a customer id is returned
882          IF (l_Party_ID is not null) THEN
883              l_party_name:=CSC_ROUTING_UTL.Get_Name_Of_Customer
884                              ( p_party_id => l_party_ID ) ;
885              resultout := wf_engine.eng_completed || ':Y';
886              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
887 					l_Party_ID );
888 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
889          END IF;
890       End IF;
891     END IF;
892 
893   EXCEPTION
894     WHEN OTHERS THEN
895       WF_CORE.Context(G_PKG_NAME, l_proc_name,
896       	      itemtype, itemkey, to_char(actid), funmode);
897       RAISE;
898 
899 END;
900 
901 /* -----------------------------------------------------------------------
902    Activity Name : WF_PartyIDFromSerialNum (branch node)
903 
904    To Check if the Party ID can be derived from the Serial Number
905    IN
906     itemtype  - item type
907     itemkey   - item key
908     actid     - process activity instance id
909     funmode   - execution mode
910    OUT
911     comparison result (WFSTD_YES_NO lookup code)
912    ITEM ATTRIBUTES REFERENCED
913     SerialNumber- the originating SerialNumber
914     PartyID    - the customer/party ID
915 *-----------------------------------------------------------------------*/
916 
917 procedure WF_PartyIDFromSerialNum (
918 	itemtype   	in varchar2
919 	, itemkey  	in varchar2
920 	, actid    	in number
921 	, funmode 	in varchar2
922 	, resultout 	in out nocopy varchar2)IS
923 
924     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromSerialNum';
925     l_app_object_Value VARCHAR2(32);
926     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
927     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
928     l_party_name VARCHAR2(255);
929     l_Party_ID NUMBER;
930     l_app_object_type VARCHAR2(64):='SERIAL_NUMBER';
931     l_cct_object_type VARCHAR2(64):='SERIALNUM';
932   BEGIN
933     -- set default result
934     resultout := wf_engine.eng_completed || ':N';
935 
936     IF (funmode = 'RUN') THEN
937       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
938 
939       if (l_app_object_Value IS NOT NULL) THEN
940          -- Call the API provided by CSC
941 		 l_party_ID:=CS_ROUTING_UTL.Get_Customer_From_SerialNum
942                         ( p_Serial_Number => l_app_object_value ) ;
943 
944          -- if a customer id is returned
945          IF (l_Party_ID is not null) THEN
946              l_party_name:=CSC_ROUTING_UTL.Get_Name_Of_Customer
947                              ( p_party_id => l_party_ID ) ;
948              resultout := wf_engine.eng_completed || ':Y';
949              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
950 					l_Party_ID );
951 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
952          END IF;
953       End IF;
954     END IF;
955 
956   EXCEPTION
957     WHEN OTHERS THEN
958       WF_CORE.Context(G_PKG_NAME, l_proc_name,
959       	      itemtype, itemkey, to_char(actid), funmode);
960       RAISE;
961 
962 END;
963 
964 /* -----------------------------------------------------------------------
965    Activity Name : WF_PartyIDFromSystemName (branch node)
966 
967    To Check if the Party ID can be derived from the System Name
968    IN
969     itemtype  - item type
970     itemkey   - item key
971     actid     - process activity instance id
972     funmode   - execution mode
973    OUT
974     comparison result (WFSTD_YES_NO lookup code)
975    ITEM ATTRIBUTES REFERENCED
976     System Name- the originating System Name
977     PartyID    - the customer/party ID
978 *-----------------------------------------------------------------------*/
979 
980 procedure WF_PartyIDFromSystemName (
981 	itemtype   	in varchar2
982 	, itemkey  	in varchar2
983 	, actid    	in number
984 	, funmode 	in varchar2
985 	, resultout 	in out nocopy varchar2)IS
986 
987     l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromSystemName';
988     l_app_object_Value VARCHAR2(32);
989     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
990     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
991     l_party_name VARCHAR2(255);
992     l_Party_ID NUMBER;
993     l_app_object_type VARCHAR2(64):='SYSTEM_NAME';
994     l_cct_object_type VARCHAR2(64):='SYSTEMNAME';
995   BEGIN
996     -- set default result
997     resultout := wf_engine.eng_completed || ':N';
998 
999     IF (funmode = 'RUN') THEN
1000       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
1001 
1002       if (l_app_object_Value IS NOT NULL) THEN
1003          -- Call the API provided by CSC
1004 		 l_party_ID:=CS_ROUTING_UTL.Get_Customer_From_System_Name
1005                         ( p_system_name => l_app_object_value ) ;
1006 
1007          -- if a customer id is returned
1008          IF (l_Party_ID is not null) THEN
1009              l_party_name:=CSC_ROUTING_UTL.Get_Name_Of_Customer
1010                              ( p_party_id => l_party_ID ) ;
1011              resultout := wf_engine.eng_completed || ':Y';
1012              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
1013 					l_Party_ID );
1014 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
1015          END IF;
1016       End IF;
1017     END IF;
1018 
1019   EXCEPTION
1020     WHEN OTHERS THEN
1021       WF_CORE.Context(G_PKG_NAME, l_proc_name,
1022       	      itemtype, itemkey, to_char(actid), funmode);
1023       RAISE;
1024 
1025 END;
1026 
1027 /* -----------------------------------------------------------------------
1028    Activity Name : WF_PartyNameFromPartyID (branch node)
1029 
1030    To Check if the Party Name can be derived from the Party ID
1031    IN
1032     itemtype  - item type
1033     itemkey   - item key
1034     actid     - process activity instance id
1035     funmode   - execution mode
1036    OUT
1037     comparison result (WFSTD_YES_NO lookup code)
1038    ITEM ATTRIBUTES REFERENCED
1039     PartyID    - the customer/party ID
1040     Party Name - the customer/party name
1041 *-----------------------------------------------------------------------*/
1042 
1043 procedure WF_PartyNameFromPartyID (
1044 	itemtype   	in varchar2
1045 	, itemkey  	in varchar2
1046 	, actid    	in number
1047 	, funmode 	in varchar2
1048 	, resultout 	in out nocopy varchar2)  IS
1049 	l_proc_name	  VARCHAR2(64) := 'WF_PartyIDFromSystemName';
1050     l_app_object_Value VARCHAR2(32);
1051     l_cct_party_name_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_NAME;
1052     l_cct_party_id_key VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
1053     l_party_name VARCHAR2(255);
1054     l_Party_ID NUMBER;
1055     l_app_object_type VARCHAR2(64):='PARTY_ID';
1056     l_cct_object_type VARCHAR2(64):=CCT_INTERACTIONKEYS_PUB.KEY_CUSTOMER_ID;
1057   BEGIN
1058     -- set default result
1059     resultout := wf_engine.eng_completed || ':N';
1060 
1061     IF (funmode = 'RUN') THEN
1062       l_app_object_Value  := WF_ENGINE.GetItemAttrText(itemtype,itemkey,upper(l_cct_object_Type));
1063 
1064       if (l_app_object_Value IS NOT NULL) THEN
1065 		 l_party_id:=l_app_object_value;
1066 
1067          -- if a customer id is returned
1068          IF (l_Party_ID is not null) THEN
1069              l_party_name:=CSC_ROUTING_UTL.Get_Name_Of_Customer
1070                              ( p_party_id => l_party_ID ) ;
1071              resultout := wf_engine.eng_completed || ':Y';
1072              WF_ENGINE.SetItemAttrNumber( itemtype,itemkey,upper(l_cct_party_id_key),
1073 					l_Party_ID );
1074 			 WF_ENGINE.SETITEMATTRTEXT(itemtype,itemkey,upper(l_cct_party_name_key),l_party_name);
1075          END IF;
1076       End IF;
1077     END IF;
1078 
1079   EXCEPTION
1080     WHEN OTHERS THEN
1081       WF_CORE.Context(G_PKG_NAME, l_proc_name,
1082       	      itemtype, itemkey, to_char(actid), funmode);
1083       RAISE;
1084 
1085 END;
1086 
1087 
1088 
1089 END CCT_CUSTOMERINIT_PUB;