[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;