DBA Data[Home] [Help]

PACKAGE BODY: APPS.CN_PAYGROUP_PUB

Source


1 PACKAGE BODY CN_PAYGROUP_PUB as
2 -- $Header: cnppgrpb.pls 120.6 2005/11/02 22:01:09 sjustina ship $ --+
3 
4 
5 G_PKG_NAME                  CONSTANT VARCHAR2(30):='CN_PAYGROUP_PUB';
6 -- -------------------------------------------------------------------------+
7 --+
8 --  Procedure   : Get_PayGroup_ID
9 --  Description : This procedure is used to get the ID for the pay group
10 --  Calls       :
11 --+
12 -- -------------------------------------------------------------------------+
13 PROCEDURE Get_Pay_Group_Sum
14   (p_api_version                 IN      NUMBER,
15    p_init_msg_list               IN      VARCHAR2 := FND_API.G_FALSE,
16    p_commit                      IN      VARCHAR2 := FND_API.G_FALSE,
17    p_validation_level            IN      NUMBER := FND_API.G_VALID_LEVEL_FULL,
18    p_start_record                IN      NUMBER := -1,
19    p_fetch_size                  IN      NUMBER := -1,
20    p_search_name                 IN      VARCHAR2 := '%',
21    p_search_start_date           IN      DATE := FND_API.G_MISS_DATE,
22    p_search_end_date             IN      DATE := FND_API.G_MISS_DATE,
23    p_search_period_set_name      IN      VARCHAR2 := '%',
24    x_pay_group                   OUT NOCOPY     PayGroup_tbl_type,
25    x_total_record                OUT NOCOPY     NUMBER,
26    x_return_status               OUT NOCOPY     VARCHAR2,
27    x_msg_count                   OUT NOCOPY     NUMBER,
28    x_msg_data                    OUT NOCOPY     VARCHAR2,
29    p_org_id                      IN NUMBER := NULL
30  ) IS
31      l_api_name           CONSTANT VARCHAR2(30) := 'Get_Pay_Group_Sum';
32      l_api_version        CONSTANT NUMBER       := 1.0;
33 
34      l_counter      NUMBER;
35      CURSOR l_pay_group_cr(x_org_id NUMBER) IS
36            SELECT name,
37                   period_set_name,
38                   period_type,
39                   start_date,
40                   end_date,
41                   pay_group_description,
42                   attribute_category,
43                   attribute1,
44                   attribute2,
45                   attribute3,
46                   attribute4,
47                   attribute5,
48                   attribute6,
49                   attribute7,
50                   attribute8,
51                   attribute9,
52                   attribute10,
53                   attribute11,
54                   attribute12,
55                   attribute13,
56                   attribute14,
57                   attribute15,
58                   object_version_number,
59                   org_id
60            FROM cn_pay_groups
61 	     WHERE upper(name) like upper(p_search_name)
62 	     and (p_search_start_date is null
63 		  OR ( trunc(start_date) >= trunc(p_search_start_date)
64 		       AND
65 		       (p_search_end_date is null OR (nvl(end_date,p_search_end_date) <= p_search_end_date))
66 		       )
67 		  )
68 
69 	     and upper(period_set_name) like upper(p_search_period_set_name)
70 	     and org_id = x_org_id
71      ORDER BY name;
72 
73 BEGIN
74    -- Standard Start of API savepoint
75    SAVEPOINT   Get_Pay_Group_Sum;
76    -- Standard call to check for call compatibility.
77    IF NOT FND_API.Compatible_API_Call
78      (l_api_version           ,
79      p_api_version           ,
80      l_api_name              ,
81      G_PKG_NAME )
82    THEN
83       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
84    END IF;
85    -- Initialize message list if p_init_msg_list is set to TRUE.
86    IF FND_API.to_Boolean( p_init_msg_list ) THEN
87       FND_MSG_PUB.initialize;
88    END IF;
89    --  Initialize API return status to success
90    x_return_status := FND_API.G_RET_STS_SUCCESS;
91    -- API body
92 
93    x_pay_group := G_MISS_PAYGROUP_REC_TB ;
94    /**Start of MOAC Org Validation change */
95    l_org_id := p_org_id;
96    mo_global.validate_orgid_pub_api(org_id => l_org_id,status => l_status);
97    if (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
98     FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
99                    'cn.plsql.cn_paygroup_pub.get_pay_group_sum.org_validate',
100                      'Validated org_id = ' || l_org_id || ' status = '||l_status);
101   end if;
102    /**End of MOAC Org Validation change */
103 
104    l_counter := 0;
105    x_total_record := 0;
106 
107    FOR l_pay_group IN l_pay_group_cr(l_org_id) LOOP
108 
109       x_total_record := x_total_record +1;
110       IF (p_fetch_size = -1) OR (x_total_record >= p_start_record
111 	AND x_total_record <= (p_start_record + p_fetch_size - 1)) THEN
112 	 -- assign values of the row to x_srp_list
113 
114 
115 
116          x_pay_group(l_counter).name := l_pay_group.name;
117          x_pay_group(l_counter).period_set_name := l_pay_group.period_set_name;
118          x_pay_group(l_counter).period_type := l_pay_group.period_type;
119          x_pay_group(l_counter).start_date := l_pay_group.start_date;
120          x_pay_group(l_counter).end_date := l_pay_group.end_date;
121          x_pay_group(l_counter).pay_group_description := l_pay_group.pay_group_description;
122          x_pay_group(l_counter).object_version_number := l_pay_group.object_version_number;
123          x_pay_group(l_counter).org_id := l_pay_group.org_id;
124 
125          l_counter := l_counter + 1;
126 
127       END IF;
128    END LOOP;
129 
130    -- End of API body.
131    -- Standard check of p_commit.
132    IF FND_API.To_Boolean( p_commit ) THEN
133       COMMIT WORK;
134    END IF;
135    -- Standard call to get message count and if count is 1, get message info.
136    FND_MSG_PUB.Count_And_Get
137      (p_count                 =>      x_msg_count             ,
138      p_data                   =>      x_msg_data              ,
139      p_encoded                =>      FND_API.G_FALSE         );
140 EXCEPTION
141    WHEN FND_API.G_EXC_ERROR THEN
142      ROLLBACK TO Get_Pay_Group_Sum;
143      x_return_status := FND_API.G_RET_STS_ERROR ;
144      FND_MSG_PUB.Count_And_Get
145        (p_count                 =>      x_msg_count             ,
146        p_data                   =>      x_msg_data              ,
147        p_encoded                =>      FND_API.G_FALSE         );
148    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
149      ROLLBACK TO Get_Pay_Group_Sum;
150      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
151      FND_MSG_PUB.Count_And_Get
152        (p_count                 =>      x_msg_count             ,
153        p_data                   =>      x_msg_data              ,
154        p_encoded                =>      FND_API.G_FALSE         );
155    WHEN OTHERS THEN
156      ROLLBACK TO Get_Pay_Group_Sum;
157      x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
158      IF      FND_MSG_PUB.Check_Msg_Level
159        (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
160      THEN
161         FND_MSG_PUB.Add_Exc_Msg
162           (G_PKG_NAME          ,
163           l_api_name           );
164      END IF;
165      FND_MSG_PUB.Count_And_Get
166        (p_count                 =>      x_msg_count             ,
167        p_data                   =>      x_msg_data              ,
168        p_encoded                =>      FND_API.G_FALSE         );
169 END Get_Pay_Group_Sum;
170 
171 
172 
173 
174 
175 
176 
177 
178 
179 
180 
181 
182 
183 -- -------------------------------------------------------------------------+
184 --+
185 --  Procedure   : Get_PayGroup_ID
186 --  Description : This procedure is used to get the ID for the pay group
187 --  Calls       :
188 --+
189 -- -------------------------------------------------------------------------+
190 PROCEDURE Get_PayGroup_ID
191   (
192    x_return_status	    OUT NOCOPY VARCHAR2 ,
193    x_msg_count		    OUT NOCOPY NUMBER	 ,
194    x_msg_data		    OUT NOCOPY VARCHAR2 ,
195    p_PayGroup_rec           IN  PayGroup_Rec_Type,
196    p_loading_status         IN  VARCHAR2,
197    x_pay_group_id           OUT NOCOPY NUMBER,
198    x_loading_status         OUT NOCOPY VARCHAR2,
199    x_status		    OUT NOCOPY VARCHAR2
200    ) IS
201 
202       l_api_name  CONSTANT VARCHAR2(30) := 'Get_PayGroup_ID';
203 
204       CURSOR get_PayGroup_id(x_org_id NUMBER) is
205 	 SELECT pay_group_id
206 	   FROM cn_pay_groups
207 	   WHERE name = p_PayGroup_rec.name
208 	   AND start_date = p_PayGroup_rec.start_date
209 	   AND end_date = p_PayGroup_rec.end_date
210        and org_id= x_org_id;
211       l_get_PayGroup_id_rec get_PayGroup_id%ROWTYPE;
212 
213 BEGIN
214 
215    --  Initialize API return status to success
216    x_return_status  := FND_API.G_RET_STS_SUCCESS;
217    x_loading_status := p_loading_status ;
218 
219 
220    OPEN get_PayGroup_id(l_org_id);
221    FETCH get_PayGroup_id INTO l_get_PayGroup_id_rec;
222    IF get_PayGroup_id%ROWCOUNT = 0
223      THEN
224       x_status := 'NEW PAY GROUP';
225       SELECT cn_pay_groups_s.nextval
226         INTO x_pay_group_id
227         FROM dual;
228     ELSIF get_PayGroup_id%ROWCOUNT = 1
229       THEN
230       x_status := 'PAY GROUP EXISTS';
231       x_pay_group_id  := l_get_PayGroup_id_rec.pay_group_id;
232    END IF;
233    CLOSE get_PayGroup_id;
234 
235 EXCEPTION
236    WHEN OTHERS THEN
237       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
238       x_loading_status := 'UNEXPECTED_ERR';
239       IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
240 	THEN
241 	 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME ,l_api_name );
242       END IF;
243 
244 END Get_PayGroup_ID;
245 
246 
247 
248 --------------------------------------------------------------------------+
249 -- Procedure  : Create_PayGroup
250 -- Description: Public API to create a pay group
251 -- Calls      : validate_pay_group
252 --		CN_Pay_Groups_Pkg.Begin_Record
253 --------------------------------------------------------------------------+
254 PROCEDURE Create_PayGroup(
255 		p_api_version           	IN	     NUMBER,
256 		p_init_msg_list		        IN	     VARCHAR2 ,
257 		p_commit	    		    IN  	 VARCHAR2,
258 		p_validation_level		    IN  	 NUMBER,
259 		x_return_status		      OUT NOCOPY VARCHAR2,
260 		x_msg_count		          OUT NOCOPY NUMBER,
261 		x_msg_data		          OUT NOCOPY VARCHAR2,
262 		p_PayGroup_rec       IN OUT NOCOPY    PayGroup_Rec_Type,
263 		x_loading_status	      OUT NOCOPY VARCHAR2,
264 		x_status                  OUT NOCOPY VARCHAR2
265 		) IS
266 
267    l_api_name		     CONSTANT VARCHAR2(30) := 'Create_PayGroup';
268    l_api_version         CONSTANT NUMBER := 1.0;
269    l_create_rec          cn_paygroup_pvt.PayGroup_rec_type;
270 
271    l_pay_group_id	     NUMBER;
272    L_PKG_NAME                  CONSTANT VARCHAR2(30) := 'CN_PayGroup_PUB';
273 BEGIN
274 
275    -- Standard Start of API savepoint
276 
277    SAVEPOINT    Create_PayGroup;
278 
279 
280    -- Standard call to check for call compatibility.
281 
282    IF NOT FND_API.Compatible_API_Call ( l_api_version ,
283 					p_api_version ,
284 					l_api_name    ,
285 					L_PKG_NAME )
286      THEN
287       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
288    END IF;
289 
290 
291    -- Initialize message list if p_init_msg_list is set to TRUE.
292 
293    IF FND_API.to_Boolean( p_init_msg_list ) THEN
294       FND_MSG_PUB.initialize;
295    END IF;
296 
297 
298    --  Initialize API return status to success
299 
300    x_return_status := FND_API.G_RET_STS_SUCCESS;
301    x_loading_status := 'CN_INSERTED';
302    /**Start of MOAC Org Validation change */
303    l_org_id := p_PayGroup_rec.org_id;
304    mo_global.validate_orgid_pub_api(org_id => l_org_id,status => l_status);
305    if (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
306     FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
307                    'cn.plsql.cn_paygroup_pub.create_paygroup.org_validate',
308                      'Validated org_id = ' || l_org_id || ' status = '||l_status);
309   end if;
310    /**End of MOAC Org Validation change */
311 
312   p_PayGroup_rec.org_id := l_org_id;
313 
314      l_create_rec.pay_group_id := p_PayGroup_rec.pay_group_id;
315      l_create_rec.name        :=	p_PayGroup_rec.name;
316      l_create_rec.period_set_name := p_PayGroup_rec.period_set_name;
317      l_create_rec.period_type	:= p_PayGroup_rec.period_type;
318      l_create_rec.start_date :=		p_PayGroup_rec.start_date;
319      l_create_rec.end_date	:=	p_PayGroup_rec.end_date;
320      l_create_rec.pay_group_description := p_PayGroup_rec.pay_group_description;
321      l_create_rec.attribute_category:= p_PayGroup_rec.attribute_category;
322      l_create_rec.attribute1 := p_PayGroup_rec.attribute1;
323      l_create_rec.attribute2 := p_PayGroup_rec.attribute2;
324      l_create_rec.attribute3 := p_PayGroup_rec.attribute3;
325      l_create_rec.attribute4 := p_PayGroup_rec.attribute4;
326      l_create_rec.attribute5 := p_PayGroup_rec.attribute5;
327      l_create_rec.attribute6 := p_PayGroup_rec.attribute6;
328      l_create_rec.attribute7 := p_PayGroup_rec.attribute7;
329      l_create_rec.attribute8 := p_PayGroup_rec.attribute8;
330      l_create_rec.attribute9 := p_PayGroup_rec.attribute9;
331      l_create_rec.attribute10 := p_PayGroup_rec.attribute10;
332      l_create_rec.attribute11 := p_PayGroup_rec.attribute11;
333      l_create_rec.attribute12 := p_PayGroup_rec.attribute12;
334      l_create_rec.attribute13 := p_PayGroup_rec.attribute13;
335      l_create_rec.attribute14 := p_PayGroup_rec.attribute14;
336      l_create_rec.attribute15 := p_PayGroup_rec.attribute15;
337      l_create_rec.object_version_number := p_PayGroup_rec.object_version_number;
338      l_create_rec.org_id := p_PayGroup_rec.org_id;
339 
340               get_PayGroup_id(
341 		      x_return_status      => x_return_status,
342 		      x_msg_count          => x_msg_count,
343 		      x_msg_data           => x_msg_data,
344 		      p_PayGroup_rec       => p_PayGroup_rec,
345 		      x_pay_group_id       => l_pay_group_id,
346 		      p_loading_status     => x_loading_status,
347 		      x_loading_status     => x_loading_status,
348 		      x_status             => x_status
349 		      );
350 
351    l_create_rec.pay_group_id := l_pay_group_id;
352 
353 
354    cn_paygroup_pvt.create_Paygroup
355    (p_api_version => p_api_version,
356 	p_init_msg_list => p_init_msg_list,
357 	p_commit => p_commit,
358 	p_validation_level => p_validation_level,
359 	x_return_status => x_return_status,
360 	x_msg_count => x_msg_count,
361 	x_msg_data => x_msg_data,
362 	p_PayGroup_rec => l_create_rec,
363 	x_loading_status => x_loading_status,
364 	x_status => x_status
365    );
366 
367    -- Standard call to get message count and if count is 1, get message info.
368 
369    FND_MSG_PUB.Count_And_Get
370      (
371       p_count   =>  x_msg_count ,
372       p_data    =>  x_msg_data  ,
373       p_encoded => FND_API.G_FALSE
374       );
375 
376 EXCEPTION
377    WHEN FND_API.G_EXC_ERROR THEN
378       ROLLBACK TO Create_PayGroup;
379       x_return_status := FND_API.G_RET_STS_ERROR ;
380       FND_MSG_PUB.Count_And_Get
381 	(
382 	 p_count   =>  x_msg_count ,
383 	 p_data    =>  x_msg_data  ,
384 	 p_encoded => FND_API.G_FALSE
385 	 );
386    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
387       ROLLBACK TO Create_PayGroup;
388       x_loading_status := 'UNEXPECTED_ERR';
389       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
390       FND_MSG_PUB.Count_And_Get
391 	(
392 	 p_count   =>  x_msg_count ,
393 	 p_data    =>  x_msg_data   ,
394 	 p_encoded => FND_API.G_FALSE
395 	 );
396    WHEN OTHERS THEN
397       ROLLBACK TO Create_PayGroup;
398       x_loading_status := 'UNEXPECTED_ERR';
399       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
400       IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
401 	THEN
402 	 FND_MSG_PUB.Add_Exc_Msg( L_PKG_NAME ,l_api_name );
403       END IF;
404       FND_MSG_PUB.Count_And_Get
405 	(
406 	 p_count   =>  x_msg_count ,
407 	 p_data    =>  x_msg_data  ,
408 	 p_encoded => FND_API.G_FALSE
409 	 );
410 END Create_PayGroup;
411 
412 ---------------------------------------------------------------------------+
413 --  Procedure   : 	Update PayGroup
414 --  Description : 	This is a public procedure to update pay groups
415 --  Calls       : 	validate_pay_group
416 --			CN_Pay_Groups_Pkg.Begin_Record
417 ---------------------------------------------------------------------------+
418 
419 PROCEDURE  Update_PayGroup (
420 		p_api_version		   IN 	NUMBER,
421 		p_init_msg_list		   IN	VARCHAR2,
422 		p_commit	    	   IN  	VARCHAR2,
423 		p_validation_level	   IN  	NUMBER,
424 		x_return_status        OUT NOCOPY 	VARCHAR2,
425 		x_msg_count	           OUT NOCOPY 	NUMBER,
426 		x_msg_data	           OUT NOCOPY 	VARCHAR2,
427 		p_old_Paygroup_rec     IN  PayGroup_rec_type,
428 		p_PayGroup_rec         IN OUT NOCOPY     PayGroup_rec_type,
429 		x_status               OUT NOCOPY 	VARCHAR2,
430 		x_loading_status       OUT NOCOPY 	VARCHAR2
431 		)  IS
432 L_PKG_NAME                  CONSTANT VARCHAR2(30) := 'CN_PayGroup_PUB';
433 L_LAST_UPDATE_DATE          DATE    := sysdate;
434 L_LAST_UPDATED_BY           NUMBER  := fnd_global.user_id;
435 L_CREATION_DATE             DATE    := sysdate;
436 L_CREATED_BY                NUMBER  := fnd_global.user_id;
437 L_LAST_UPDATE_LOGIN         NUMBER  := fnd_global.login_id;
438 L_ROWID                     VARCHAR2(30);
439 L_PROGRAM_TYPE              VARCHAR2(30);
440 L_OBJECT_VERSION_NUMBER     NUMBER;
441 
442    l_api_name		         CONSTANT VARCHAR2(30)  := 'Update_PayGroup';
443    l_api_version       	     CONSTANT NUMBER        := 1.0;
444    l_update_rec          cn_paygroup_pvt.PayGroup_rec_type;
445    l_pay_group_id            NUMBER;
446 
447 BEGIN
448 
449    -- Standard Start of API savepoint
450 
451    SAVEPOINT    Update_PayGroup;
452 
453    -- Standard call to check for call compatibility.
454 
455    IF NOT FND_API.Compatible_API_Call ( l_api_version ,
456 					p_api_version ,
457 					l_api_name    ,
458 					L_PKG_NAME )
459      THEN
460       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
461    END IF;
462 
463    -- Initialize message list if p_init_msg_list is set to TRUE.
464 
465    IF FND_API.to_Boolean( p_init_msg_list ) THEN
466       FND_MSG_PUB.initialize;
467    END IF;
468 
469    --  Initialize API return status to success
470 
471    x_return_status := FND_API.G_RET_STS_SUCCESS;
472    x_loading_status := 'CN_UPDATED';
473    /**Start of MOAC Org Validation change */
474    l_org_id := p_PayGroup_rec.org_id;
475    mo_global.validate_orgid_pub_api(org_id => l_org_id,status => l_status);
476    if (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
477     FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
478                    'cn.plsql.cn_paygroup_pub.update_paygroup.org_validate',
479                      'Validated org_id = ' || l_org_id || ' status = '||l_status);
480   end if;
481 
482    if (l_org_id <> p_old_PayGroup_rec.org_id) then
483     FND_MESSAGE.SET_NAME ('FND' , 'FND_MO_OU_CANNOT_UPDATE');
484     if (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
485          FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR,
486                       'cn.plsql.cn_paygroup_pub.update_paygroup.error',
487                       true);
488     end if;
489 
490     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
491       FND_MESSAGE.SET_NAME ('FND' , 'FND_MO_OU_CANNOT_UPDATE');
492       FND_MSG_PUB.Add;
493     END IF;
494 
495     RAISE FND_API.G_EXC_ERROR ;
496   end if;
497    /**End of MOAC Org Validation change */
498    p_PayGroup_rec.org_id := l_org_id;
499 
500     get_PayGroup_id(
501 		      x_return_status      => x_return_status,
502 		      x_msg_count          => x_msg_count,
503 		      x_msg_data           => x_msg_data,
504 		      p_PayGroup_rec       => p_old_PayGroup_rec,
505 		      x_pay_group_id       => l_pay_group_id,
506 		      p_loading_status     => x_loading_status,
507 		      x_loading_status     => x_loading_status,
508 		      x_status             => x_status
509 		      );
510 
511      p_PayGroup_rec.pay_group_id :=  l_pay_group_id;
512 
513      l_update_rec.pay_group_id := p_PayGroup_rec.pay_group_id;
514      l_update_rec.name        :=	p_PayGroup_rec.name;
515      l_update_rec.period_set_name := p_PayGroup_rec.period_set_name;
516      l_update_rec.period_type	:= p_PayGroup_rec.period_type;
517      l_update_rec.start_date :=		p_PayGroup_rec.start_date;
518      l_update_rec.end_date	:=	p_PayGroup_rec.end_date;
519      l_update_rec.pay_group_description := p_PayGroup_rec.pay_group_description;
520      l_update_rec.attribute_category:= p_PayGroup_rec.attribute_category;
521      l_update_rec.attribute1 := p_PayGroup_rec.attribute1;
522      l_update_rec.attribute2 := p_PayGroup_rec.attribute2;
523      l_update_rec.attribute3 := p_PayGroup_rec.attribute3;
524      l_update_rec.attribute4 := p_PayGroup_rec.attribute4;
525      l_update_rec.attribute5 := p_PayGroup_rec.attribute5;
526      l_update_rec.attribute6 := p_PayGroup_rec.attribute6;
527      l_update_rec.attribute7 := p_PayGroup_rec.attribute7;
528      l_update_rec.attribute8 := p_PayGroup_rec.attribute8;
529      l_update_rec.attribute9 := p_PayGroup_rec.attribute9;
530      l_update_rec.attribute10 := p_PayGroup_rec.attribute10;
531      l_update_rec.attribute11 := p_PayGroup_rec.attribute11;
532      l_update_rec.attribute12 := p_PayGroup_rec.attribute12;
533      l_update_rec.attribute13 := p_PayGroup_rec.attribute13;
534      l_update_rec.attribute14 := p_PayGroup_rec.attribute14;
535      l_update_rec.attribute15 := p_PayGroup_rec.attribute15;
536      l_update_rec.object_version_number := p_PayGroup_rec.object_version_number;
537      l_update_rec.org_id := p_PayGroup_rec.org_id;
538 
539      cn_paygroup_pvt.Update_PayGroup (
540 		p_api_version => p_api_version,
541 		p_init_msg_list => p_init_msg_list,
542 		p_commit => p_commit,
543 		p_validation_level => p_validation_level,
544 		x_return_status => x_return_status,
545 		x_msg_count => x_msg_count,
546 		x_msg_data => x_msg_data,
547 		p_PayGroup_rec => l_update_rec,
548 		x_status => x_status,
549 		x_loading_status => x_loading_status
550 		);
551 
552    -- Standard call to get message count and if count is 1, get message info.
553 
554    FND_MSG_PUB.Count_And_Get
555      (
556       p_count   =>  x_msg_count ,
557       p_data    =>  x_msg_data  ,
558       p_encoded => FND_API.G_FALSE
559       );
560 EXCEPTION
561    WHEN FND_API.G_EXC_ERROR THEN
562       ROLLBACK TO Update_PayGroup;
563       x_return_status := FND_API.G_RET_STS_ERROR ;
564       FND_MSG_PUB.Count_And_Get
565 	(
566 	 p_count   =>  x_msg_count ,
567 	 p_data    =>  x_msg_data  ,
568 	 p_encoded => FND_API.G_FALSE
569 	 );
570    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
571       ROLLBACK TO Update_PayGroup;
572       x_loading_status := 'UNEXPECTED_ERR';
573       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
574       FND_MSG_PUB.Count_And_Get
575 	(
576 	 p_count   =>  x_msg_count ,
577 	 p_data    =>  x_msg_data   ,
578 	 p_encoded => FND_API.G_FALSE
579 	 );
580    WHEN OTHERS THEN
581       ROLLBACK TO Update_PayGroup;
582       x_loading_status := 'UNEXPECTED_ERR';
583       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
584       IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
585 	THEN
586 	 FND_MSG_PUB.Add_Exc_Msg( L_PKG_NAME ,l_api_name );
587       END IF;
588       FND_MSG_PUB.Count_And_Get
589 	(
590 	 p_count   =>  x_msg_count ,
591 	 p_data    =>  x_msg_data  ,
592 	 p_encoded => FND_API.G_FALSE
593 	 );
594 END Update_PayGroup;
595 
596 ---------------------------------------------------------------------------+
597 --  Procedure Name :  Pay Groups
598 --+
599 ---------------------------------------------------------------------------+
600 PROCEDURE  Delete_PayGroup
601   (    p_api_version			    IN 	NUMBER,
602        p_init_msg_list		        IN	VARCHAR2,
603        p_commit	    		        IN  	VARCHAR2,
604        p_validation_level		    IN  	NUMBER,
605        x_return_status       	    OUT NOCOPY 	VARCHAR2,
606        x_msg_count	                OUT NOCOPY 	NUMBER,
607        x_msg_data		            OUT NOCOPY 	VARCHAR2,
608        p_PayGroup_rec               IN  OUT NOCOPY PayGroup_rec_type ,
609        x_status		                OUT NOCOPY 	VARCHAR2,
610        x_loading_status    	        OUT NOCOPY 	VARCHAR2
611        )  IS
612 L_PKG_NAME                  CONSTANT VARCHAR2(30) := 'CN_PayGroup_PUB';
613 L_LAST_UPDATE_DATE          DATE    := sysdate;
614 L_LAST_UPDATED_BY           NUMBER  := fnd_global.user_id;
615 L_CREATION_DATE             DATE    := sysdate;
616 L_CREATED_BY                NUMBER  := fnd_global.user_id;
617 L_LAST_UPDATE_LOGIN         NUMBER  := fnd_global.login_id;
618 L_ROWID                     VARCHAR2(30);
619 L_PROGRAM_TYPE              VARCHAR2(30);
620 L_OBJECT_VERSION_NUMBER     NUMBER;
621 
622 	  l_api_name		CONSTANT VARCHAR2(30) := 'Delete_PayGroup';
623 	  l_api_version         CONSTANT NUMBER := 1.0;
624 	  l_delete_rec  cn_paygroup_pvt.PayGroup_rec_type;
625 	  l_pay_group_id         NUMBER;
626 
627 BEGIN
628    --
629    -- Standard Start of API savepoint
630    --
631    SAVEPOINT    Delete_PayGroup ;
632    --
633    -- Standard call to check for call compatibility.
634    --
635    IF NOT FND_API.Compatible_API_Call ( l_api_version ,
636 					p_api_version ,
637 					l_api_name    ,
638 					L_PKG_NAME )
639      THEN
640       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
641    END IF;
642 
643    -- Initialize message list if p_init_msg_list is set to TRUE.
644 
645    IF FND_API.to_Boolean( p_init_msg_list ) THEN
646       FND_MSG_PUB.initialize;
647    END IF;
648 
649    --  Initialize API return status to success
650 
651    x_return_status := FND_API.G_RET_STS_SUCCESS;
652    x_loading_status := 'CN_DELETED';
653 
654    /**Start of MOAC Org Validation change */
655    l_org_id := p_PayGroup_rec.org_id;
656    mo_global.validate_orgid_pub_api(org_id => l_org_id,status => l_status);
657    if (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL ) then
658     FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
659                    'cn.plsql.cn_paygroup_pub.delete_paygroup.org_validate',
660                      'Validated org_id = ' || l_org_id || ' status = '||l_status);
661   end if;
662    /**End of MOAC Org Validation change */
663    p_PayGroup_rec.org_id := l_org_id;
664 
665    get_PayGroup_id(
666 		      x_return_status      => x_return_status,
667 		      x_msg_count          => x_msg_count,
668 		      x_msg_data           => x_msg_data,
669 		      p_PayGroup_rec       => p_PayGroup_rec,
670 		      x_pay_group_id       => l_pay_group_id,
671 		      p_loading_status     => x_loading_status,
672 		      x_loading_status     => x_loading_status,
673 		      x_status             => x_status
674 		      );
675 
676      p_PayGroup_rec.pay_group_id :=  l_pay_group_id;
677 
678      l_delete_rec.pay_group_id := p_PayGroup_rec.pay_group_id;
679      l_delete_rec.name        :=	p_PayGroup_rec.name;
680      l_delete_rec.period_set_name := p_PayGroup_rec.period_set_name;
681      l_delete_rec.period_type	:= p_PayGroup_rec.period_type;
682      l_delete_rec.start_date :=		p_PayGroup_rec.start_date;
683      l_delete_rec.end_date	:=	p_PayGroup_rec.end_date;
684      l_delete_rec.pay_group_description := p_PayGroup_rec.pay_group_description;
685      l_delete_rec.attribute_category:= p_PayGroup_rec.attribute_category;
686      l_delete_rec.attribute1 := p_PayGroup_rec.attribute1;
687      l_delete_rec.attribute2 := p_PayGroup_rec.attribute2;
688      l_delete_rec.attribute3 := p_PayGroup_rec.attribute3;
689      l_delete_rec.attribute4 := p_PayGroup_rec.attribute4;
690      l_delete_rec.attribute5 := p_PayGroup_rec.attribute5;
691      l_delete_rec.attribute6 := p_PayGroup_rec.attribute6;
692      l_delete_rec.attribute7 := p_PayGroup_rec.attribute7;
693      l_delete_rec.attribute8 := p_PayGroup_rec.attribute8;
694      l_delete_rec.attribute9 := p_PayGroup_rec.attribute9;
695      l_delete_rec.attribute10 := p_PayGroup_rec.attribute10;
696      l_delete_rec.attribute11 := p_PayGroup_rec.attribute11;
697      l_delete_rec.attribute12 := p_PayGroup_rec.attribute12;
698      l_delete_rec.attribute13 := p_PayGroup_rec.attribute13;
699      l_delete_rec.attribute14 := p_PayGroup_rec.attribute14;
700      l_delete_rec.attribute15 := p_PayGroup_rec.attribute15;
701      l_delete_rec.object_version_number := p_PayGroup_rec.object_version_number;
702      l_delete_rec.org_id := p_PayGroup_rec.org_id;
703 
704     cn_paygroup_pvt.Delete_PayGroup
705   (    p_api_version => p_api_version,
706        p_init_msg_list => p_init_msg_list,
707        p_commit => p_commit,
708        p_validation_level => p_validation_level,
709        x_return_status => x_return_status,
710        x_msg_count => x_msg_count,
711        x_msg_data => x_msg_data,
712        p_PayGroup_rec => l_delete_rec,
713        x_status => x_status,
714        x_loading_status => x_loading_status
715        );
716 
717    -- Standard call to get message count and if count is 1, get message info.
718 
719    FND_MSG_PUB.Count_And_Get
720      (
721       p_count   =>  x_msg_count ,
722       p_data    =>  x_msg_data  ,
723       p_encoded => FND_API.G_FALSE
724       );
725 EXCEPTION
726    WHEN FND_API.G_EXC_ERROR THEN
727       ROLLBACK TO Delete_PayGroup;
728       x_return_status := FND_API.G_RET_STS_ERROR ;
729       FND_MSG_PUB.Count_And_Get
730 	(
731 	 p_count   =>  x_msg_count ,
732 	 p_data    =>  x_msg_data  ,
733 	 p_encoded => FND_API.G_FALSE
734 	 );
735    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
736       ROLLBACK TO Delete_PayGroup;
737       x_loading_status := 'UNEXPECTED_ERR';
738       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
739       FND_MSG_PUB.Count_And_Get
740 	(
741 	 p_count   =>  x_msg_count ,
742 	 p_data    =>  x_msg_data   ,
743 	 p_encoded => FND_API.G_FALSE
744 	 );
745    WHEN OTHERS THEN
746       ROLLBACK TO Delete_PayGroup;
747       x_loading_status := 'UNEXPECTED_ERR';
748       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
749       IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
750 	THEN
751 	 FND_MSG_PUB.Add_Exc_Msg( L_PKG_NAME ,l_api_name );
752       END IF;
753       FND_MSG_PUB.Count_And_Get
754 	(
755 	 p_count   =>  x_msg_count ,
756 	 p_data    =>  x_msg_data  ,
757 	 p_encoded => FND_API.G_FALSE
758 	 );
759 
760 END Delete_PayGroup;
761 
762 END CN_PAYGROUP_PUB ;