DBA Data[Home] [Help]

PACKAGE BODY: APPS.WSH_CC_SERVICE_SETUPS_PKG

Source


1 PACKAGE BODY WSH_CC_SERVICE_SETUPS_PKG AS
2    /* $Header: WSHSSTHB.pls 115.3 2002/06/03 12:32:05 pkm ship        $ */
3   --  Global constant holding the package name
4   G_PKG_NAME      CONSTANT VARCHAR2(30) := 'WSH_CC_SERVICE_SETUPS_PKG';
5 
6  /*----------------------------------------------------------*/
7  /* Insert_Row Procedure                                     */
8  /*----------------------------------------------------------*/
9  /*  --
10    -- Purpose
11    --  Insert a row into WSH_CC_SERVICE_SETUPS entity
12    --
13    -- Input Parameters
14    --   p_api_version
15    --      API version number (current version is 1.0)
16    --   p_init_msg_list (optional, default FND_API.G_FALSE)
17    --          Valid values: FND_API.G_FALSE or FND_API.G_TRUE.
18    --                           if set to FND_API.G_TRUE
19    --                                   initialize error message list
20    --                           if set to FND_API.G_FALSE - not initialize error
21    --                                   message list
22    --   p_commit (optional, default FND_API.G_FALSE)
23    --           whether or not to commit the changes to database
24    --
25    -- Input parameters for clear cross service setups informations
26    --
27    -- Output Parameters
28    --   x_return_status
29    --       if the process succeeds, the value is
30    --           fnd_api.g_ret_sts_success;
31    --       if there is an expected error, the value is
32    --           fnd_api.g_ret_sts_error;
33    --       if there is an unexpected error, the value is
34    --           fnd_api.g_ret_sts_unexp_error;
35    --   x_msg_count
36    --       if there is one or more errors, the number of error messages
37    --           in the buffer
38    --   x_msg_data
39    --       if there is one and only one error, the error message
40    --   (See fnd_api package for more details about the above output parameters)
41    --   p_CC_SERVICE_SEQUENCE_ID  - Clear Cross Service sequence Id ( PK)
42    --*/
43 
44  PROCEDURE Insert_Row
45  (
46    p_api_version        IN      NUMBER                          ,
47    p_init_msg_list      IN      VARCHAR2 := fnd_api.g_false     ,
48    p_commit             IN      VARCHAR2 := fnd_api.g_false     ,
49    x_return_status      OUT     VARCHAR2                        ,
50    x_msg_count          OUT     NUMBER                          ,
51    x_msg_data           OUT     VARCHAR2                        ,
52    p_APPLICATION_ID          IN  NUMBER,
53    p_MASTER_ORGANIZATION_ID  IN  NUMBER,
54    p_ORGANIZATION_ID         IN  NUMBER default null,
55    p_APPLICATION_USER_ID     IN  NUMBER default null,
56    p_SERVICE_TYPE_CODE       IN VARCHAR2,
57    p_SERVICE_VERSION         IN VARCHAR2 default null,
58    p_SERVICE_HANDLER         IN VARCHAR2,
59    p_SERVICE_DEFAULT_THRESHOLD  IN NUMBER default null,
60    p_COUNTRY_MATCH_FLAG      IN VARCHAR2 default null,
61    p_RED_FLAG                IN VARCHAR2 default null,
62    p_SHIP_FROM_COUNTRY_SCHEME  IN VARCHAR2 default null,
63    p_SHIP_FROM_COUNTRY_DOMAIN  IN VARCHAR2 default null,
64    p_SHIP_TO_COUNTRY_SCHEME    IN VARCHAR2 default null,
65    p_SHIP_TO_COUNTRY_DOMAIN    IN VARCHAR2 default null,
66    p_CHARGE_SCHEME             IN VARCHAR2 default null,
67    p_CHARGE_DOMAIN             IN VARCHAR2 default null,
68    p_SERVICE_PRIORITY          IN NUMBER   default null,
69    p_WF_ITEM_TYPE              IN VARCHAR2 default null,
70    p_WF_ACTIVITY               IN VARCHAR2 default null,
71    p_CC_SERVICE_SEQUENCE_ID  OUT  NUMBER
72   )
73 IS
74    l_CC_SERVICE_SEQUENCE_ID NUMBER ;
75    l_api_name        CONSTANT VARCHAR2(30)      := 'Insert_Row';
76    l_api_version     number := 1.0;
77 begin
78 --dbms_output.put_line('begin api');
79   -- Standard Start of API savepoint
80   SAVEPOINT  WSH_CC_SERVICE_SETUPS_PKG;
81   -- Standard call to check for call compatibility.
82   IF NOT FND_API.Compatible_API_Call ( l_api_version   ,
83                                        p_api_version   ,
84 							    l_api_name      ,
85 							    G_PKG_NAME )
86   THEN
87      FND_MESSAGE.SET_NAME('WSH', 'WSH_INCOMPATIBLE_API_CALL');
88      FND_MSG_PUB.ADD;
89      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
90   END IF;
91   -- Initialize message list if p_init_msg_list is set to TRUE.
92   IF FND_API.to_Boolean( p_init_msg_list ) THEN
93     FND_MSG_PUB.initialize;
94   END IF;
95    -- Initialize API return status to success
96   x_return_status := FND_API.G_RET_STS_SUCCESS;
97   --dbms_output.put_line('begin api-2');
98 
99   select wsh_cc_service_setups_s.nextval into l_CC_Service_Sequence_ID from dual;
100   /* Validate input parameters if any */
101 
102   -- Insert a row into wsh_cc_service_setups entity with all detail information
103     INSERT INTO Wsh_cc_Service_Setups
104     ( CC_SERVICE_SEQUENCE_ID
105      ,APPLICATION_ID
106      ,MASTER_ORGANIZATION_ID
107      ,ORGANIZATION_ID
108      ,APPLICATION_USER_ID
109      ,SERVICE_TYPE_CODE
110      ,SERVICE_VERSION
111      ,SERVICE_HANDLER
112      ,SERVICE_DEFAULT_THRESHOLD
113      ,COUNTRY_MATCH_FLAG
114      ,RED_FLAG
115      ,SHIP_FROM_COUNTRY_SCHEME
116      ,SHIP_FROM_COUNTRY_DOMAIN
117      ,SHIP_TO_COUNTRY_SCHEME
118      ,SHIP_TO_COUNTRY_DOMAIN
119      ,CHARGE_SCHEME
120      ,CHARGE_DOMAIN
121      ,SERVICE_PRIORITY
122      ,WF_ITEM_TYPE
123      ,WF_ACTIVITY
124      ,CREATION_DATE
125      ,CREATED_BY
126      ,LAST_UPDATE_DATE
127      ,LAST_UPDATED_BY
128      ,LAST_UPDATE_LOGIN
129      )
130     values (
131      l_CC_SERVICE_SEQUENCE_ID
132     ,p_APPLICATION_ID
133     ,p_MASTER_ORGANIZATION_ID
134     ,p_ORGANIZATION_ID
135     ,p_APPLICATION_USER_ID
136     ,p_SERVICE_TYPE_CODE
137     ,p_SERVICE_VERSION
138     ,p_SERVICE_HANDLER
139     ,p_SERVICE_DEFAULT_THRESHOLD
140     ,p_COUNTRY_MATCH_FLAG
141     ,p_RED_FLAG
142     ,p_SHIP_FROM_COUNTRY_SCHEME
143     ,p_SHIP_FROM_COUNTRY_DOMAIN
144     ,p_SHIP_TO_COUNTRY_SCHEME
145     ,p_SHIP_TO_COUNTRY_DOMAIN
146     ,p_CHARGE_SCHEME
147     ,p_CHARGE_DOMAIN
148     ,p_SERVICE_PRIORITY
149     ,p_WF_ITEM_TYPE
150     ,p_WF_ACTIVITY
151     ,sysdate
152     ,FND_GLOBAL.user_id
153     ,sysdate
154     ,FND_GLOBAL.user_id
155     ,FND_GLOBAL.login_id
156     ) ;
157   IF SQL%NOTFOUND THEN
158      FND_MESSAGE.SET_NAME('WSH', 'WSH_INSERT_FAILED');
159      FND_MSG_PUB.ADD;
160      x_return_status := FND_API.G_RET_STS_ERROR;
161      RAISE FND_API.G_EXC_ERROR ;
162   END IF;
163 --dbms_output.put_line('Seq Id got it '||l_CC_Service_SEQUENCE_ID||'success');
164   x_return_status := fnd_api.g_ret_sts_success;
165   p_CC_SERVICE_SEQUENCE_ID := l_CC_SERVICE_SEQUENCE_ID;
166   -- End of API body
167   -- Standard check of p_commit.
168   IF FND_API.To_Boolean( p_commit ) THEN
169      COMMIT WORK;
170   END IF;
171   -- Standard call to get message count and if count is 1,
172   -- get message info.
173   FND_MSG_PUB.Count_And_Get
174   (  p_count         =>      x_msg_count,
175      p_data          =>      x_msg_data
176    );
177 
178 EXCEPTION
179    WHEN FND_API.G_EXC_ERROR THEN
180      ROLLBACK TO WSH_CC_SERVICE_SETUPS_PKG;
181 	x_return_status := FND_API.G_RET_STS_ERROR;
182 	FND_MSG_PUB.Count_And_Get
183        (       p_count         =>      x_msg_count,
184 	          p_data          =>      x_msg_data
185 	   );
186    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
187      ROLLBACK TO WSH_CC_SERVICE_SETUPS_PKG;
188      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
189      FND_MSG_PUB.Count_And_Get
190         (       p_count         =>      x_msg_count,
191 	           p_data          =>      x_msg_data
192         );
193    WHEN OTHERS THEN
194      ROLLBACK TO WSH_CC_SERVICE_SETUPS_PKG;
195      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
196      IF   FND_MSG_PUB.Check_Msg_Level
197         (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
198      THEN
199        FND_MSG_PUB.Add_Exc_Msg
200 	  (    G_PKG_NAME      ,
201 	       l_api_name
202         );
203 	END IF;
204 	FND_MSG_PUB.Count_And_Get
205 	(       p_count         =>      x_msg_count,
206 	        p_data          =>      x_msg_data
207  	 );
208 End Insert_Row;
209  /*----------------------------------------------------------*/
210  /* Update_Row Procedure                                     */
211  /*----------------------------------------------------------*/
212  /*  --
213    -- Purpose
214    --  Update a row into WSH_CC_service_setups entity
215    --  for the given cc service seq id
216    --
217    -- Input Parameters
218    --   p_api_version
219    --      API version number (current version is 1.0)
220    --   p_init_msg_list (optional, default FND_API.G_FALSE)
221    --          Valid values: FND_API.G_FALSE or FND_API.G_TRUE.
222    --                           if set to FND_API.G_TRUE
223    --                                   initialize error message list
224    --                           if set to FND_API.G_FALSE - not initialize error
225    --                                   message list
226    --   p_commit (optional, default FND_API.G_FALSE)
227    --           whether or not to commit the changes to database
228    --
229    -- Input parameters for clear cross service setups informations
230    --
231    --
232    -- Output Parameters
233    --   x_return_status
234    --       if the process succeeds, the value is
235    --           fnd_api.g_ret_sts_success;
236    --       if there is an expected error, the value is
237    --           fnd_api.g_ret_sts_error;
238    --       if there is an unexpected error, the value is
239    --           fnd_api.g_ret_sts_unexp_error;
240    --   x_msg_count
241    --       if there is one or more errors, the number of error messages
242    --           in the buffer
243    --   x_msg_data
244    --       if there is one and only one error, the error message
245    --   (See fnd_api package for more details about the above output parameters)
246 
247    --*/
248  PROCEDURE Update_Row
249  (
250    p_api_version        IN      NUMBER                          ,
251    p_init_msg_list      IN      VARCHAR2 := fnd_api.g_false     ,
252    p_commit             IN      VARCHAR2 := fnd_api.g_false     ,
253    x_return_status      OUT     VARCHAR2                        ,
254    x_msg_count          OUT     NUMBER                          ,
255    x_msg_data           OUT     VARCHAR2                        ,
256    p_APPLICATION_ID          IN  NUMBER,
257    p_MASTER_ORGANIZATION_ID  IN  NUMBER,
258    p_ORGANIZATION_ID         IN  NUMBER default fnd_api.g_miss_num,
259    p_APPLICATION_USER_ID     IN  NUMBER default fnd_api.g_miss_num,
260    p_SERVICE_TYPE_CODE       IN VARCHAR2,
261    p_SERVICE_VERSION         IN VARCHAR2 default null,
262    p_SERVICE_HANDLER         IN VARCHAR2,
263    p_SERVICE_DEFAULT_THRESHOLD  IN NUMBER,
264    p_COUNTRY_MATCH_FLAG      IN VARCHAR2,
265    p_RED_FLAG                IN VARCHAR2,
266    p_SHIP_FROM_COUNTRY_SCHEME  IN VARCHAR2,
267    p_SHIP_FROM_COUNTRY_DOMAIN  IN VARCHAR2,
268    p_SHIP_TO_COUNTRY_SCHEME    IN VARCHAR2,
269    p_SHIP_TO_COUNTRY_DOMAIN    IN VARCHAR2,
270    p_CHARGE_SCHEME             IN VARCHAR2,
271    p_CHARGE_DOMAIN             IN VARCHAR2,
272    p_SERVICE_PRIORITY          IN NUMBER,
273    p_WF_ITEM_TYPE              IN VARCHAR2,
274    p_WF_ACTIVITY               IN VARCHAR2,
275    p_CC_SERVICE_SEQUENCE_ID  IN  NUMBER
276   )
277 IS
278    l_api_name        CONSTANT VARCHAR2(30) := 'Update_Row'  ;
279    l_api_version     number := 1.0;
280 BEGIN
281 --dbms_output.put_line('begin');
282   -- Standard Start of API savepoint
283   SAVEPOINT  WSH_CC_SERVICE_SETUPS_PKG;
284   -- Standard call to check for call compatibility.
285   IF NOT FND_API.Compatible_API_Call ( l_api_version   ,
286                                        p_api_version   ,
287 				       l_api_name      ,
288 				       G_PKG_NAME )
289   THEN
290      FND_MESSAGE.SET_NAME('WSH', 'WSH_INCOMPATIBLE_API_CALL');
291      FND_MSG_PUB.ADD;
292      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
293   END IF;
294   -- Initialize message list if p_init_msg_list is set to TRUE.
295   IF FND_API.to_Boolean( p_init_msg_list ) THEN
296     FND_MSG_PUB.initialize;
297   END IF;
298    -- Initialize API return status to success
299   x_return_status := FND_API.G_RET_STS_SUCCESS;
300 
301   -- Update a row into wsh_cc_users entity with all detail information
302   -- for the given cc seq id
303 
304  update wsh_cc_service_setups
305  SET
306   MASTER_ORGANIZATION_ID   = p_MASTER_ORGANIZATION_ID
307  ,APPLICATION_ID = p_APPLICATION_ID
308  ,ORGANIZATION_ID         = decode(p_ORGANIZATION_ID,fnd_api.g_miss_num,
309                             ORGANIZATION_ID,p_ORGANIZATION_ID)
310  ,APPLICATION_USER_ID     = decode(p_APPLICATION_USER_ID,fnd_api.g_miss_num,
311                             APPLICATION_USER_ID,p_APPLICATION_USER_ID)
312  ,SERVICE_TYPE_CODE = p_SERVICE_TYPE_CODE
313  ,SERVICE_VERSION =   p_SERVICE_VERSION
314  ,SERVICE_HANDLER =  p_SERVICE_HANDLER
315  ,SERVICE_DEFAULT_THRESHOLD = p_SERVICE_DEFAULT_THRESHOLD
316  ,COUNTRY_MATCH_FLAG = p_COUNTRY_MATCH_FLAG
317  ,RED_FLAG = p_RED_FLAG
318  ,SHIP_FROM_COUNTRY_SCHEME = p_SHIP_FROM_COUNTRY_SCHEME
319  ,SHIP_FROM_COUNTRY_DOMAIN = p_SHIP_FROM_COUNTRY_DOMAIN
320  ,SHIP_TO_COUNTRY_SCHEME = p_SHIP_TO_COUNTRY_SCHEME
321  ,SHIP_TO_COUNTRY_DOMAIN = p_SHIP_TO_COUNTRY_DOMAIN
322  ,CHARGE_SCHEME = p_CHARGE_SCHEME
323  ,CHARGE_DOMAIN =  p_CHARGE_DOMAIN
324  ,SERVICE_PRIORITY = p_SERVICE_PRIORITY
325  ,WF_ITEM_TYPE = p_WF_ITEM_TYPE
326  ,WF_ACTIVITY = p_WF_ACTIVITY
327  ,LAST_UPDATE_DATE         = sysdate
328  ,LAST_UPDATED_BY          = FND_GLOBAL.user_id
329  ,LAST_UPDATE_LOGIN        = FND_GLOBAL.login_id
330   where cc_service_sequence_id = p_cc_service_sequence_id ;
331   IF SQL%NOTFOUND THEN
332      FND_MESSAGE.SET_NAME('WSH', 'WSH_UPDATE_FAILED');
333      FND_MSG_PUB.ADD;
334      x_return_status := FND_API.G_RET_STS_ERROR;
335      RAISE FND_API.G_EXC_ERROR ;
336   END IF;
337 --dbms_output.put_line('begin-5');
338   x_return_status := fnd_api.g_ret_sts_success;
339 
340   -- End of API body
341   -- Standard check of p_commit.
342   IF FND_API.To_Boolean( p_commit ) THEN
343      COMMIT WORK;
344   END IF;
345   -- Standard call to get message count and if count is 1,
346   -- get message info.
347   FND_MSG_PUB.Count_And_Get
348   (  p_count         =>      x_msg_count,
349      p_data          =>      x_msg_data
350    );
351 
352 EXCEPTION
353    WHEN FND_API.G_EXC_ERROR THEN
354 --dbms_output.put_line(sqlerrm);
355      ROLLBACK TO WSH_CC_SERVICE_SETUPS_PKG;
356 	x_return_status := FND_API.G_RET_STS_ERROR;
357 	FND_MSG_PUB.Count_And_Get
358        (       p_count         =>      x_msg_count,
359 	          p_data          =>      x_msg_data
360 	   );
361    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
362 --dbms_output.put_line(sqlerrm);
363      ROLLBACK TO WSH_CC_SERVICE_SETUPS_PKG;
364      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
365      FND_MSG_PUB.Count_And_Get
366         (       p_count         =>      x_msg_count,
367 	           p_data          =>      x_msg_data
368         );
369    WHEN OTHERS THEN
370 --dbms_output.put_line(sqlerrm);
371      ROLLBACK TO WSH_CC_SERVICE_SETUPS_PKG;
372      x_return_status := 'W';
373      IF   FND_MSG_PUB.Check_Msg_Level
374         (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
375      THEN
376        FND_MSG_PUB.Add_Exc_Msg
377 	  (    G_PKG_NAME      ,
378 	       l_api_name
379         );
380 	END IF;
381 	FND_MSG_PUB.Count_And_Get
382 	(       p_count         =>      x_msg_count,
383 	        p_data          =>      x_msg_data
384  	 );
385 
386 End Update_Row;
387  /*----------------------------------------------------------*/
388  /* Delete_Row Procedure                                     */
389  /*----------------------------------------------------------*/
390  /*  --
391    -- Purpose
392    --  Delete a row from WSH_CC_Service_Setups entity
393    --  for the given  service seq id
394    --
395    -- Input Parameters
396    --   p_api_version
397    --      API version number (current version is 1.0)
398    --   p_init_msg_list (optional, default FND_API.G_FALSE)
399    --          Valid values: FND_API.G_FALSE or FND_API.G_TRUE.
400    --                           if set to FND_API.G_TRUE
401    --                                   initialize error message list
402    --                           if set to FND_API.G_FALSE - not initialize error
403    --                                   message list
404    --   p_commit (optional, default FND_API.G_FALSE)
405    --           whether or not to commit the changes to database
409    --
406    --
407    -- Input parameters for clear cross users informations
408    --     p_CC_SERVICE_SEQUENCE_ID  -- CC Service Seq Id
410    --
411    -- Output Parameters
412    --   x_return_status
413    --       if the process succeeds, the value is
414    --           fnd_api.g_ret_sts_success;
415    --       if there is an expected error, the value is
416    --           fnd_api.g_ret_sts_error;
417    --       if there is an unexpected error, the value is
418    --           fnd_api.g_ret_sts_unexp_error;
419    --   x_msg_count
420    --       if there is one or more errors, the number of error messages
421    --           in the buffer
422    --   x_msg_data
423    --       if there is one and only one error, the error message
424    --   (See fnd_api package for more details about the above output parameters)
425 
426    --*/
427  PROCEDURE Delete_Row
428  (
429    p_api_version        IN      NUMBER                          ,
430    p_init_msg_list      IN      VARCHAR2 := fnd_api.g_false     ,
431    p_commit             IN      VARCHAR2 := fnd_api.g_false     ,
432    x_return_status      OUT     VARCHAR2                        ,
433    x_msg_count          OUT     NUMBER                          ,
434    x_msg_data           OUT     VARCHAR2                        ,
435    p_CC_SERVICE_SEQUENCE_ID     IN  NUMBER
436   )
437 IS
438    l_api_name        CONSTANT VARCHAR2(30) := 'Delete_Row'  ;
439    l_api_version     number := 1.0;
440 BEGIN
441 --dbms_output.put_line('begin');
442   -- Standard Start of API savepoint
443   SAVEPOINT  WSH_CC_SERVICE_SETUPS_PKG;
444   -- Standard call to check for call compatibility.
445   IF NOT FND_API.Compatible_API_Call ( l_api_version   ,
446                                        p_api_version   ,
447 				       l_api_name      ,
448 				       G_PKG_NAME )
449   THEN
450      FND_MESSAGE.SET_NAME('WSH', 'WSH_INCOMPATIBLE_API_CALL');
451      FND_MSG_PUB.ADD;
452      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
453   END IF;
454   -- Initialize message list if p_init_msg_list is set to TRUE.
455   IF FND_API.to_Boolean( p_init_msg_list ) THEN
456     FND_MSG_PUB.initialize;
457   END IF;
458    -- Initialize API return status to success
459   x_return_status := FND_API.G_RET_STS_SUCCESS;
460 
461   -- Delete a row from wsh_cc_service_setups entity
462   -- for the given service seq id
463 
464  DELETE from wsh_cc_service_setups
465  WHERE cc_service_sequence_id = p_cc_service_sequence_id ;
466   IF SQL%NOTFOUND THEN
467      FND_MESSAGE.SET_NAME('WSH', 'WSH_DELETE_FAILED');
468      FND_MSG_PUB.ADD;
469      x_return_status := FND_API.G_RET_STS_ERROR;
470      RAISE FND_API.G_EXC_ERROR ;
471   END IF;
472 --dbms_output.put_line('begin-5');
473   x_return_status := fnd_api.g_ret_sts_success;
474 
475   -- End of API body
476   -- Standard check of p_commit.
477   IF FND_API.To_Boolean( p_commit ) THEN
478      COMMIT WORK;
479   END IF;
480   -- Standard call to get message count and if count is 1,
481   -- get message info.
482   FND_MSG_PUB.Count_And_Get
483   (  p_count         =>      x_msg_count,
484      p_data          =>      x_msg_data
485    );
486 
487 EXCEPTION
488    WHEN FND_API.G_EXC_ERROR THEN
489 --dbms_output.put_line(sqlerrm);
490      ROLLBACK TO WSH_CC_SERVICE_SETUPS_PKG;
491 	x_return_status := FND_API.G_RET_STS_ERROR;
492 	FND_MSG_PUB.Count_And_Get
493        (       p_count         =>      x_msg_count,
494 	          p_data          =>      x_msg_data
495 	   );
496    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
497 --dbms_output.put_line(sqlerrm);
498      ROLLBACK TO WSH_CC_SERVICE_SETUPS_PKG;
499      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
500      FND_MSG_PUB.Count_And_Get
501         (       p_count         =>      x_msg_count,
502 	           p_data          =>      x_msg_data
503         );
504    WHEN OTHERS THEN
505 --dbms_output.put_line(sqlerrm);
506      ROLLBACK TO WSH_CC_SERVICE_SETUPS_PKG;
507      x_return_status := 'W';
508      IF   FND_MSG_PUB.Check_Msg_Level
509         (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
510      THEN
511        FND_MSG_PUB.Add_Exc_Msg
512 	  (    G_PKG_NAME      ,
513 	       l_api_name
514         );
515 	END IF;
516 	FND_MSG_PUB.Count_And_Get
517 	(       p_count         =>      x_msg_count,
518 	        p_data          =>      x_msg_data
519  	 );
520 
521 End Delete_Row;
522  /*----------------------------------------------------------*/
523  /*----------------------------------------------------------*/
524  /* Lock_Row Procedure                                       */
525  /*----------------------------------------------------------*/
526  /*  --
527    -- Purpose
528    --  Check Lock a row of WSH_CC_SERVICE_SETUPS entity
529    --  for the given service seq id
530    --
531    -- Input Parameters
532    --   p_api_version
533    --      API version number (current version is 1.0)
534    --   p_init_msg_list (optional, default FND_API.G_FALSE)
535    --          Valid values: FND_API.G_FALSE or FND_API.G_TRUE.
536    --                           if set to FND_API.G_TRUE
537    --                                   initialize error message list
538    --                           if set to FND_API.G_FALSE - not initialize error
539    --                                   message list
540    --   p_commit (optional, default FND_API.G_FALSE)
541    --           whether or not to commit the changes to database
542    --
543    -- Input parameters for clear cross service setups informations
544    --
545    -- Output Parameters
546    --   x_return_status
547    --       if the process succeeds, the value is
548    --           fnd_api.g_ret_sts_success;
552    --           fnd_api.g_ret_sts_unexp_error;
549    --       if there is an expected error, the value is
550    --           fnd_api.g_ret_sts_error;
551    --       if there is an unexpected error, the value is
553    --   x_msg_count
554    --       if there is one or more errors, the number of error messages
555    --           in the buffer
556    --   x_msg_data
557    --       if there is one and only one error, the error message
558    --   (See fnd_api package for more details about the above output parameters)
559 
560    --*/
561  PROCEDURE Lock_Row
562  (
563    p_api_version        IN      NUMBER                          ,
564    p_init_msg_list      IN      VARCHAR2 := fnd_api.g_false     ,
565    p_commit             IN      VARCHAR2 := fnd_api.g_false     ,
566    x_return_status      OUT     VARCHAR2                        ,
567    x_msg_count          OUT     NUMBER                          ,
568    x_msg_data           OUT     VARCHAR2                        ,
569    p_APPLICATION_ID          IN  NUMBER,
570    p_MASTER_ORGANIZATION_ID  IN  NUMBER,
571    p_ORGANIZATION_ID         IN  NUMBER default fnd_api.g_miss_num,
572    p_APPLICATION_USER_ID     IN  NUMBER default fnd_api.g_miss_num,
573    p_SERVICE_TYPE_CODE       IN VARCHAR2,
574    p_SERVICE_VERSION         IN VARCHAR2 default null,
575    p_SERVICE_HANDLER         IN VARCHAR2,
576    p_SERVICE_DEFAULT_THRESHOLD  IN NUMBER,
577    p_COUNTRY_MATCH_FLAG      IN VARCHAR2,
578    p_RED_FLAG                IN VARCHAR2,
579    p_SHIP_FROM_COUNTRY_SCHEME  IN VARCHAR2,
580    p_SHIP_FROM_COUNTRY_DOMAIN  IN VARCHAR2,
581    p_SHIP_TO_COUNTRY_SCHEME    IN VARCHAR2,
582    p_SHIP_TO_COUNTRY_DOMAIN    IN VARCHAR2,
583    p_CHARGE_SCHEME             IN VARCHAR2,
584    p_CHARGE_DOMAIN             IN VARCHAR2,
585    p_SERVICE_PRIORITY          IN NUMBER,
586    p_WF_ITEM_TYPE              IN VARCHAR2,
587    p_WF_ACTIVITY               IN VARCHAR2,
588    p_CC_SERVICE_SEQUENCE_ID  IN  NUMBER,
589    p_rowid                   IN VARCHAR2
590   )
591 IS
592    CURSOR lock_row IS
593    SELECT *
594    FROM wsh_cc_service_setups
595    WHERE rowid = p_rowid
596    FOR UPDATE OF CC_SERVICE_SEQUENCE_ID NOWAIT;
597 
598    Recinfo lock_row%ROWTYPE;
599 
600    l_api_name        CONSTANT VARCHAR2(30) := 'Lock_Row'  ;
601    l_api_version     number := 1.0;
602 BEGIN
603 --dbms_output.put_line('begin');
604   -- Standard Start of API savepoint
605   SAVEPOINT  WSH_CC_SERVICE_SETUPS_PKG;
606   -- Standard call to check for call compatibility.
607   IF NOT FND_API.Compatible_API_Call ( l_api_version   ,
608                                        p_api_version   ,
609 				       l_api_name      ,
610 				       G_PKG_NAME )
611   THEN
612      FND_MESSAGE.SET_NAME('WSH', 'WSH_INCOMPATIBLE_API_CALL');
613      FND_MSG_PUB.ADD;
614      RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
615   END IF;
616   -- Initialize message list if p_init_msg_list is set to TRUE.
617   IF FND_API.to_Boolean( p_init_msg_list ) THEN
618     FND_MSG_PUB.initialize;
619   END IF;
620    -- Initialize API return status to success
621   x_return_status := FND_API.G_RET_STS_SUCCESS;
622 
623   -- Check Lock a row of wsh_cc_service_setups
624   OPEN lock_row;
625   FETCH lock_row into Recinfo;
626 
627   IF (lock_row%NOTFOUND) THEN
628      CLOSE lock_row;
629      FND_MESSAGE.Set_Name('FND','FORM_RECORD_DELETED');
630      app_exception.raise_exception;
631   END IF;
632   CLOSE lock_row;
633 
634   IF (
635 	     (Recinfo.CC_SERVICE_SEQUENCE_ID = p_CC_SERVICE_SEQUENCE_ID)
636      AND ((Recinfo.master_organization_id =p_master_organization_id) OR
637 	    ( (Recinfo.master_organization_id is null)
638 		  AND (p_master_organization_id is null )))
639      AND ((Recinfo.organization_id =p_organization_id) OR
640 	    ( (Recinfo.organization_id is null)
641 		  AND (p_organization_id is null )))
642      AND ((Recinfo.application_user_id =p_application_user_id) OR
643 	    ( (Recinfo.application_user_id is null)
644 		  AND (p_application_user_id is null )))
645      AND ((Recinfo.service_type_code =p_service_type_code) OR
646 	    ( (Recinfo.service_type_code is null)
647 		  AND (p_service_type_code is null )))
648      AND ((Recinfo.service_version =p_service_version) OR
649 	    ( (Recinfo.service_version is null)
650 		  AND (p_service_version is null )))
651      AND ((Recinfo.service_handler =p_service_handler) OR
652 	    ( (Recinfo.service_handler is null)
653 		  AND (p_service_handler is null )))
654      AND ((Recinfo.service_default_threshold =p_service_default_threshold) OR
655 	    ( (Recinfo.service_default_threshold is null)
656 		  AND (p_service_default_threshold is null )))
657      AND ((Recinfo.country_match_flag =p_country_match_flag) OR
658 	    ( (Recinfo.country_match_flag is null)
659 		  AND (p_country_match_flag is null )))
660      AND ((Recinfo.red_flag =p_red_flag) OR
661 	    ( (Recinfo.red_flag is null)
662 		  AND (p_red_flag is null )))
663      AND ((Recinfo.ship_from_country_scheme =p_ship_from_country_scheme) OR
664 	    ( (Recinfo.ship_from_country_scheme is null)
665 		  AND (p_ship_from_country_scheme is null )))
666      AND ((Recinfo.ship_from_country_domain =p_ship_from_country_domain) OR
667 	    ( (Recinfo.ship_from_country_domain is null)
668 		  AND (p_ship_from_country_domain is null )))
669      AND ((Recinfo.ship_to_country_scheme =p_ship_to_country_scheme) OR
670 	    ( (Recinfo.ship_to_country_scheme is null)
671 		  AND (p_ship_to_country_scheme is null )))
672      AND ((Recinfo.ship_to_country_domain =p_ship_to_country_domain) OR
673 	    ( (Recinfo.ship_to_country_domain is null)
674 		  AND (p_ship_to_country_domain is null )))
675      AND ((Recinfo.charge_scheme =p_charge_scheme) OR
676 	    ( (Recinfo.charge_scheme is null)
677 		  AND (p_charge_scheme is null )))
681      AND ((Recinfo.service_priority =p_service_priority) OR
678      AND ((Recinfo.charge_domain =p_charge_domain) OR
679 	    ( (Recinfo.charge_domain is null)
680 		  AND (p_charge_domain is null )))
682 	    ( (Recinfo.service_priority is null)
683 		  AND (p_service_priority is null )))
684      AND ((Recinfo.application_id =p_application_id) OR
685 	    ( (Recinfo.application_id is null)
686 		  AND (p_application_id is null )))
687      AND ((Recinfo.wf_item_type =p_wf_item_type) OR
688 	    ( (Recinfo.wf_item_type is null)
689 		  AND (p_wf_item_type is null )))
690      AND ((Recinfo.wf_activity =p_wf_activity) OR
691 	    ( (Recinfo.wf_activity is null)
692 		  AND (p_wf_activity is null )))
693      ) THEN
694        x_return_status := FND_API.G_RET_STS_SUCCESS;
695   ELSE
696     x_return_status := FND_API.G_RET_STS_ERROR;
697     FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
698     app_exception.raise_exception;
699   END IF;
700  EXCEPTION
701  WHEN others THEN
702      IF (lock_row%ISOPEN) then
703          close lock_row;
704 	End if;
705 End Lock_Row;
706 END WSH_CC_SERVICE_SETUPS_PKG;