DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEU_UWQ_UTIL_PUB

Source


1 package body IEU_UWQ_UTIL_PUB as
2 /* $Header: IEUUTILB.pls 120.1 2005/06/23 13:48:36 appldev ship $ */
3 
4 
5 function to_number_noerr(str VARCHAR2) RETURN NUMBER
6 is
7 begin
8   return to_number(str);
9 exception
10   when others then
11     return null;
12 end to_number_noerr;
13 
14 
15 
16 
17 
18 -- DETERMINE_SOURCE_APP: Finds the Application defined for the
19 -- "Media Action" Function associated w/ the Responsibility, Media Type
20 -- and Classification mapping.
21 PROCEDURE DETERMINE_SOURCE_APP
22   (P_RESP_ID         IN  NUMBER
23   ,P_CLASSIFICATION  IN  VARCHAR2
24   ,P_MEDIA_TYPE_UUID IN VARCHAR2
25   ,X_APP_ID          OUT NOCOPY NUMBER)
26 AS
27   l_app_id           NUMBER;
28 
29 BEGIN
30 
31   BEGIN
32     -- 1) look for exact match:
33     SELECT c.application_id
34       INTO l_app_id
35     FROM   IEU_UWQ_MACTION_DEFS_B c
36           ,IEU_UWQ_MEDIA_ACTIONS b
37           ,IEU_UWQ_MEDIA_TYPES_B a
38     WHERE B.RESP_ID = P_RESP_ID
39       AND A.MEDIA_TYPE_UUID = P_MEDIA_TYPE_UUID
40       AND B.MEDIA_TYPE_ID  = A.MEDIA_TYPE_ID
41       AND B.CLASSIFICATION = P_CLASSIFICATION
42       AND C.MACTION_DEF_ID = B.MACTION_DEF_ID;
43 
44     EXCEPTION WHEN NO_DATA_FOUND THEN
45       -- 2) look for matching Resp ID and Media Type:
46       BEGIN
47         SELECT c.application_id
48           INTO l_app_id
49         FROM   IEU_UWQ_MACTION_DEFS_B c
50               ,IEU_UWQ_MEDIA_ACTIONS b
51               ,IEU_UWQ_MEDIA_TYPES_B a
52         WHERE  B.RESP_ID = P_RESP_ID
53           AND  A.MEDIA_TYPE_UUID = P_MEDIA_TYPE_UUID
54           AND  B.MEDIA_TYPE_ID  = A.MEDIA_TYPE_ID
55           AND  B.CLASSIFICATION is null
56           AND  C.MACTION_DEF_ID = B.MACTION_DEF_ID;
57 
58         EXCEPTION WHEN NO_DATA_FOUND THEN
59           -- 3) look for just matching Resp ID:
60           BEGIN
61             SELECT c.application_id
62               INTO l_app_id
63             FROM   IEU_UWQ_MACTION_DEFS_B c
64                   ,IEU_UWQ_MEDIA_ACTIONS b
65             WHERE  B.RESP_ID = P_RESP_ID
66               AND  C.MACTION_DEF_ID = B.MACTION_DEF_ID
67               AND  B.MEDIA_TYPE_ID = -1;
68 
69           EXCEPTION WHEN NO_DATA_FOUND THEN
70             -- 4) look for (Any) Responsibility (-1) w/ classification
71             BEGIN
72               SELECT c.application_id
73                 INTO l_app_id
74               FROM   IEU_UWQ_MACTION_DEFS_B c
75                     ,IEU_UWQ_MEDIA_ACTIONS b
76                     ,IEU_UWQ_MEDIA_TYPES_B a
77               WHERE  ( B.RESP_ID = -1
78                  OR    B.RESP_ID IS NULL )
79                 AND  A.MEDIA_TYPE_UUID = P_MEDIA_TYPE_UUID
80                 AND  B.MEDIA_TYPE_ID  = A.MEDIA_TYPE_ID
81                 AND  B.CLASSIFICATION = P_CLASSIFICATION
82                 AND  C.MACTION_DEF_ID = B.MACTION_DEF_ID;
83 
84               EXCEPTION WHEN NO_DATA_FOUND THEN
85                 BEGIN
86                 -- 5) look for (Any) Responsibility/default classification
87                 SELECT c.application_id
88                   INTO l_app_id
89                 FROM   IEU_UWQ_MACTION_DEFS_B c
90                       ,IEU_UWQ_MEDIA_ACTIONS b
91                       ,IEU_UWQ_MEDIA_TYPES_B a
92                 WHERE ( B.RESP_ID = -1
93                    OR   B.RESP_ID IS NULL )
94                   AND A.MEDIA_TYPE_UUID = P_MEDIA_TYPE_UUID
95                   AND B.MEDIA_TYPE_ID  = A.MEDIA_TYPE_ID
96                   AND B.CLASSIFICATION is null
97                   AND C.MACTION_DEF_ID = B.MACTION_DEF_ID;
98               EXCEPTION WHEN NO_DATA_FOUND THEN
99                 --BEGIN
100                 -- 6) look for (Any) Responsibility/default media type
101                 SELECT c.application_id
102                   INTO l_app_id
103                 FROM   IEU_UWQ_MACTION_DEFS_B c
104                       ,IEU_UWQ_MEDIA_ACTIONS b
105                       ,IEU_UWQ_MEDIA_TYPES_B a
106                 WHERE ( B.RESP_ID = -1
107                    OR   B.RESP_ID IS NULL )
108                   AND B.MEDIA_TYPE_ID  = -1
109                   AND B.CLASSIFICATION is null
110                   AND C.MACTION_DEF_ID = B.MACTION_DEF_ID;
111 
112             END;
113 
114             END;
115           END;
116       END;
117   END;
118 
119   X_APP_ID := l_app_id;
120 
121   EXCEPTION
122     -- WHEN NO_DATA_FOUND THEN
123     WHEN OTHERS THEN
124       NULL;
125 
126 END DETERMINE_SOURCE_APP;
127 
128 END IEU_UWQ_UTIL_PUB;