[Home] [Help]
PACKAGE BODY: APPS.PSP_MESSAGE_S
Source
1 PACKAGE BODY PSP_MESSAGE_S AS
2 /*$Header: PSPSTMSB.pls 115.8 2002/11/20 04:36:19 ddubey ship $*/
3
4 l_new_line_char VARCHAR2(2000) := '
5 ';
6
7
8 FUNCTION Get ( p_msg_index IN NUMBER ,
9 p_encoded IN VARCHAR2 := FND_API.G_TRUE )
10 RETURN VARCHAR2 IS
11
12 l_msg_buf VARCHAR2(2000) ;
13
14 BEGIN
15
16 l_msg_buf := FND_MSG_PUB.Get(p_msg_index,
17 p_encoded);
18
19 return l_msg_buf ;
20
21 END Get ;
22
23 FUNCTION SUBSTRB_GET RETURN VARCHAR2 IS
24
25 l_msg_buf VARCHAR2(2000) ;
26
27 BEGIN
28
29 -- l_msg_buf := SUBSTRB(FND_MESSAGE.Get, 1, 255);
30 -- Modified for Rel 11
31
32 l_msg_buf := SUBSTRB(FND_MESSAGE.Get, 1, 2000);
33
34 return l_msg_buf ;
35
36 END ;
37
38 FUNCTION SUBSTRB_GET (p_msg_index IN NUMBER,
39 p_encoded IN VARCHAR2)
40 RETURN VARCHAR2 IS
41
42 l_msg_buf VARCHAR2(2000);
43
44 BEGIN
45
46 /*
47 l_msg_buf := substrb(FND_MSG_PUB.Get (p_msg_index => p_msg_index,
48 p_encoded => p_encoded), 1, 255);
49 */
50 -- Modified for Rel 11
51 l_msg_buf := substrb(FND_MSG_PUB.Get (p_msg_index => p_msg_index,
52 p_encoded => p_encoded), 1, 2000);
53
54 return l_msg_buf ;
55
56 END ;
57
58
59
60 PROCEDURE Print_Error ( p_mode IN VARCHAR2,
61 p_print_header IN VARCHAR2 := FND_API.G_TRUE )
62 IS
63
64 l_msg_count NUMBER ;
65 l_msg_data VARCHAR2(2000) ;
66 l_msg_buf VARCHAR2(2000) ;
67
68 BEGIN
69
70 -- Validate the p_mode parameter.
71 IF p_mode NOT IN (FND_FILE.LOG, FND_FILE.OUTPUT) THEN
72 --
73 Fnd_Message.Set_Name ('PSP', 'PSP_INVALID_ARGUMENT') ;
74 Fnd_Message.Set_Token('ROUTINE', 'Print_Error' ) ;
75 l_msg_buf := Fnd_Message.Get ;
76 FND_FILE.Put_Line( FND_FILE.LOG, l_msg_buf ) ;
77 RETURN ;
78 --
79 END IF ;
80
81
82 if FND_API.to_Boolean( p_print_header ) then
83 FND_MESSAGE.Set_Name('PSP', 'PSP_PROGRAM_FAILURE_HEADER');
84 l_msg_buf := substrb_get ;
85 FND_FILE.Put_Line( p_mode, l_msg_buf ) ;
86 end if ;
87
88 FND_MSG_PUB.Count_And_Get ( p_count => l_msg_count,
89 p_data => l_msg_data ) ;
90
91 if l_msg_count = 0 then
92 FND_MESSAGE.Set_Name('PSP', 'PSP_SERVER_ERROR_NO_MSG');
93 l_msg_buf := substrb_get ;
94 FND_FILE.Put_Line( p_mode, l_msg_buf ) ;
95 elsif l_msg_count = 1 then
96 FND_MESSAGE.Set_Encoded(l_msg_data);
97 l_msg_buf := substrb_get ;
98 FND_FILE.Put_Line( p_mode, l_msg_buf ) ;
99 elsif l_msg_count > 1 then
100 for i in 1..l_msg_count loop
101 if i =1 then
102 l_msg_buf := substrb_get
103 (p_msg_index => FND_MSG_PUB.G_FIRST,
104 p_encoded => FND_API.G_FALSE);
105 else
106 l_msg_buf := substrb_get
107 (p_msg_index => FND_MSG_PUB.G_NEXT,
108 p_encoded => FND_API.G_FALSE);
109 end if;
110 FND_FILE.Put_Line( p_mode, l_msg_buf ) ;
111 end loop ;
112 end if;
113
114 END Print_Error ;
115
116 /*******************************************************************
117 PROCEDURE Insert_Error( p_source_process IN VARCHAR2,
118 p_process_id IN NUMBER,
119 p_msg_count IN NUMBER,
120 p_msg_data IN VARCHAR2,
121 p_desc_sequence IN VARCHAR2 := FND_API.G_FALSE
122 )
123 IS
124
125
126 l_msg_count NUMBER := p_msg_count ;
127 l_msg_data VARCHAR2(2000) := p_msg_data ;
128 l_msg_buf VARCHAR2(2000) ;
129 l_conc_req_id NUMBER := NVL(FND_GLOBAL.CONC_REQUEST_ID, FND_API.G_MISS_NUM);
130 l_user_id NUMBER := FND_GLOBAL.USER_ID ;
131 l_seq_number NUMBER := 0 ;
132
133 BEGIN
134
135 if FND_API.to_Boolean( p_desc_sequence ) then
136 l_seq_number := l_msg_count + 1 ;
137 end if;
138
139 if l_msg_count = 1 then
140 FND_MESSAGE.Set_Encoded(l_msg_data);
141 l_msg_buf := FND_MESSAGE.Get;
142 elsif l_msg_count = 0 then
143 FND_MESSAGE.Set_Name('PSP', 'PSP_SERVER_ERROR_NO_MSG');
144 l_msg_buf := FND_MESSAGE.Get ;
145 elsif l_msg_count > 1 then
146 for i in 1..l_msg_count loop
147
148 if i =1 then
149 l_msg_buf := FND_MSG_PUB.Get
150 (p_msg_index => FND_MSG_PUB.G_FIRST,
151 p_encoded => FND_API.G_FALSE);
152 else
153 l_msg_buf := FND_MSG_PUB.Get
154 (p_msg_index => FND_MSG_PUB.G_NEXT,
155 p_encoded => FND_API.G_FALSE);
156 end if;
157
158 if FND_API.to_Boolean( p_desc_sequence ) then
159 l_seq_number := l_seq_number - 1 ;
160 else
161 l_seq_number := i ;
162 end if ;
163
164 insert into PSP_ERROR_MESSAGES
165 (concurrent_request_id,
166 process_id,
167 source_process,
168 sequence_number,
169 description,
170 creation_date,
171 created_by)
172 values (l_conc_req_id,
173 p_process_id,
174 p_source_process,
175 l_seq_number,
176 l_msg_buf,
177 sysdate,
178 l_user_id);
179 end loop ;
180 end if;
181
182 if l_msg_count = 0 or l_msg_count = 1 then
183 insert into PSP_ERROR_MESSAGES
184 (concurrent_request_id,
185 process_id,
186 source_process,
187 sequence_number,
188 description,
189 creation_date,
190 created_by)
191 values (l_conc_req_id,
192 p_process_id,
193 p_source_process,
194 1,
195 l_msg_buf,
196 sysdate,
197 l_user_id);
198 end if;
199
200 END Insert_Error ;
201
202 **************************************************************************/
203
204 PROCEDURE Print_Success IS
205
206 l_msg_buf VARCHAR2(2000) ;
207
208 BEGIN
209
210 FND_MESSAGE.Set_Name('PSP', 'PSP_PROGRAM_SUCCESS');
211 l_msg_buf := substrb_get;
212 -- FND_FILE.Put_Line( FND_FILE.OUTPUT, l_msg_buf );
213 FND_FILE.Put_Line( FND_FILE.LOG, l_msg_buf ) ;
214
215 END Print_Success ;
216
217
218 PROCEDURE Get_Error_Message( p_print_header IN VARCHAR2 := FND_API.G_TRUE,
219 p_msg_string OUT NOCOPY VARCHAR2)
220 IS
221 --
222 l_msg_count NUMBER ;
223 l_msg_data VARCHAR2(2000) ;
224 l_msg_buf VARCHAR2(2000) ;
225 --
226 BEGIN
227
228 if FND_API.to_Boolean( p_print_header ) then
229 -- Standard program failure message.
230 FND_MESSAGE.Set_Name('PSP', 'PSP_PROGRAM_FAILURE_HEADER');
231 l_msg_buf := substrb_get;
232 end if;
233
234 -- Count total number of messages.
235 FND_MSG_PUB.Count_And_Get( p_count => l_msg_count,
236 p_data => l_msg_data );
237
238 if l_msg_count = 1 then
239 --
240 FND_MESSAGE.Set_Encoded(l_msg_data);
241 l_msg_buf := l_msg_buf || l_new_line_char || substrb_get ;
242 --
243 elsif l_msg_count > 1 then
244 --
245 for i in 1..l_msg_count loop
246
247 if i = 1 then
248 l_msg_buf := l_msg_buf || l_new_line_char ||
249 substrb_get
250 ( p_msg_index => FND_MSG_PUB.G_FIRST,
251 p_encoded => FND_API.G_FALSE
252 );
253 else
254 l_msg_buf := l_msg_buf || l_new_line_char ||
255 substrb_get
256 ( p_msg_index => FND_MSG_PUB.G_NEXT,
257 p_encoded => FND_API.G_FALSE
258 );
259 end if;
260 end loop ;
261 elsif l_msg_count = 0 then
262 --
263 FND_MESSAGE.Set_Name('PSP', 'PSP_SERVER_ERROR_NO_MSG');
264 l_msg_buf := l_msg_buf || l_new_line_char || substrb_get ;
265 --
266 end if;
267
268 p_msg_string := l_msg_buf ;
269
270 END Get_Error_Message ;
271
272
273 PROCEDURE Get_Success_Message( p_msg_string OUT NOCOPY VARCHAR2 )
274 IS
275 BEGIN
276 --
277 FND_MESSAGE.Set_Name('PSP', 'PSP_PROGRAM_SUCCESS');
278 p_msg_string := substrb_get ;
279 --
280 END ;
281
282
283 END PSP_MESSAGE_S;