DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_MESSAGE_UTILS

Source


1 PACKAGE BODY PA_MESSAGE_UTILS AS
2 -- $Header: PAMSGUTB.pls 120.1 2005/08/19 16:36:10 mwasowic noship $
3 
4 --
5 --  PROCEDURE
6 --              save_messages
7 --  PURPOSE
8 --              This API will be called to save messages into
9 --              pa_reporting_exceptions table.
10 --              It is used by PARCPRJR concurrent program
11 --              and the View Error page
12 --
13 PROCEDURE save_messages
14 	(p_request_id           IN      NUMBER      default -1,
15          p_user_id              IN      NUMBER      default null,
16          p_source_Type1         IN      VARCHAR2    default null,
17          p_source_Type2	        IN      VARCHAR2    default null,
18          p_source_identifier1	IN      VARCHAR2    default null,
19          p_source_identifier2	IN      VARCHAR2    default null,
20          p_context1             IN      VARCHAR2    default null,
21          p_context2             IN      VARCHAR2    default null,
22          p_context3             IN      VARCHAR2    default null,
23          p_context4             IN      VARCHAR2    default null,
24          p_context5             IN      VARCHAR2    default null,
25          p_context6             IN      VARCHAR2    default null,
26          p_context7             IN      VARCHAR2    default null,
27          p_context8             IN      VARCHAR2    default null,
28          p_context9             IN      VARCHAR2    default null,
29          p_context10            IN      VARCHAR2    default null,
30          p_date_context1        IN      DATE        default null,
31          p_date_context2        IN      DATE        default null,
32          p_date_context3        IN      DATE        default null,
33          p_use_fnd_msg          IN      VARCHAR2    default 'Y',
34          p_commit               IN      VARCHAR2    default FND_API.G_FALSE,
35          p_init_msg_list        IN      VARCHAR2    default FND_API.G_TRUE,
36          p_encode               IN      VARCHAR2    default FND_API.G_TRUE,
37          x_return_status        OUT     NOCOPY VARCHAR2) --File.Sql.39 bug 4440895
38 IS
39 l_encoded_message_text      varchar2(2000);
40 l_msg_count                 NUMBER;
41 l_msg_index_out             NUMBER;
42 BEGIN
43   SAVEPOINT message_savepoint;
44   x_return_status := fnd_api.g_ret_sts_success;
45 
46   -----------------------------------------------------------------
47   -- IF p_use_fnd_msg ='Y', loop through fng_msg stack to get msgs
48   -----------------------------------------------------------------
49   IF p_use_fnd_msg = 'Y' THEN
50      l_msg_count := FND_MSG_PUB.Count_Msg;
51 
52      FOR I in 1..l_msg_count LOOP
53         FND_MSG_PUB.get (
54             p_encoded        => p_encode,
55             p_msg_index      => I,
56             p_data           => l_encoded_message_text,
57             p_msg_index_out  => l_msg_index_out);
58 
59         INSERT INTO PA_REPORTING_EXCEPTIONS
60              (REQUEST_ID,
61               USER_ID,
62               CONTEXT,
63               SUB_CONTEXT,
64               SOURCE_IDENTIFIER1,
65               SOURCE_IDENTIFIER2,
66               ATTRIBUTE1,
67               ATTRIBUTE2,
68               ATTRIBUTE3,
69               ATTRIBUTE4,
70               ATTRIBUTE5,
71               ATTRIBUTE6,
72               ATTRIBUTE7,
73               ATTRIBUTE8,
74               ATTRIBUTE9,
75               ATTRIBUTE10,
76               ATTRIBUTE20,
77               ATTRIBUTE_DATE1,
78               ATTRIBUTE_DATE2,
79               ATTRIBUTE_DATE3)
80         VALUES(
81               p_request_id,
82               p_user_id,
83               p_source_Type1,
84               p_source_Type2,
85               p_source_identifier1,
86               p_source_identifier2,
87               p_context1,
88               p_context2,
89               p_context3,
90               p_context4,
91               p_context5,
92               p_context6,
93               p_context7,
94               p_context8,
95               p_context9,
96               p_context10,
97               l_encoded_message_text,
98               p_date_context1,
99               p_date_context2,
100               p_date_context3 );
101      END LOOP;
102 
103   -----------------------------------------------------------------
104   -- IF p_use_fnd_msg <>'Y', just insert passed info to the reporting
105   -- exception table. Because for the people who has been pulled but
106   -- is either not schedulalbe or doesn't have mapped job, we will show
107   -- a separate warning table whoch doesn't need individual msg.
108   -----------------------------------------------------------------
109   ELSE
110         INSERT INTO PA_REPORTING_EXCEPTIONS
111              (REQUEST_ID,
112               USER_ID,
113               CONTEXT,
114               SUB_CONTEXT,
115               SOURCE_IDENTIFIER1,
116               SOURCE_IDENTIFIER2,
117               ATTRIBUTE1,
118               ATTRIBUTE2,
119               ATTRIBUTE3,
120               ATTRIBUTE4,
121               ATTRIBUTE5,
122               ATTRIBUTE6,
123               ATTRIBUTE7,
124               ATTRIBUTE8,
125               ATTRIBUTE9,
126               ATTRIBUTE10,
127               ATTRIBUTE_DATE1,
128               ATTRIBUTE_DATE2,
129               ATTRIBUTE_DATE3)
130         VALUES(
131               p_request_id,
132               p_user_id,
133               p_source_Type1,
134               p_source_Type2,
135               p_source_identifier1,
136               p_source_identifier2,
137               p_context1,
138               p_context2,
139               p_context3,
140               p_context4,
141               p_context5,
142               p_context6,
143               p_context7,
144               p_context8,
145               p_context9,
146               p_context10,
147               p_date_context1,
148               p_date_context2,
149               p_date_context3 );
150   END IF;
151 
152   IF p_commit = FND_API.G_TRUE THEN
153        COMMIT;
154   END IF;
155 
156   IF p_init_msg_list = FND_API.G_TRUE  THEN
157         fnd_msg_pub.initialize;
158   END IF;
159 
160 
161 EXCEPTION
162    WHEN OTHERS THEN
163         rollback to message_savepoint;
164         raise;
165 END;
166 
167 FUNCTION Get_Decoded_Message(encoded_message_text IN VARCHAR2)
168 RETURN VARCHAR2
169 IS
170 l_decoded_message_text varchar2(2000);
171 BEGIN
172 
173   FND_MESSAGE.SET_ENCODED (encoded_message_text);
174   l_decoded_message_text := FND_MESSAGE.GET;
175 
176 RETURN l_decoded_message_text;
177 
178 EXCEPTION
179    WHEN OTHERS THEN
180         RETURN NULL;
181 END;
182 
183 END PA_MESSAGE_UTILS;