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