DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEX_STATUS_RULE_PUB

Source


1 PACKAGE BODY IEX_STATUS_RULE_PUB AS
2 /* $Header: iexpcstb.pls 120.1 2006/05/30 17:25:42 scherkas noship $ */
3 
4 
5 G_PKG_NAME  CONSTANT VARCHAR2(30):= 'IEX_STATUS_RULE_PUB';
6 G_FILE_NAME CONSTANT VARCHAR2(12) := 'iexpcstb.pls';
7 
8 
9 PG_DEBUG NUMBER(2) := TO_NUMBER(NVL(FND_PROFILE.value('IEX_DEBUG_LEVEL'), '20'));
10 
11 Procedure Create_Status_Rule
12            (p_api_version             IN NUMBER,
13             p_init_msg_list           IN VARCHAR2,
14             p_commit                  IN VARCHAR2,
15             p_status_rule_rec         IN iex_status_rule_pub.status_rule_rec_type,
16             x_dup_status              OUT NOCOPY VARCHAR2,
17             x_return_status           OUT NOCOPY VARCHAR2,
18             x_msg_count               OUT NOCOPY NUMBER,
19             x_msg_data                OUT NOCOPY VARCHAR2,
20             x_status_rule_id          OUT NOCOPY NUMBER)
21 
22 IS
23     l_api_name                    CONSTANT VARCHAR2(30) := 'Create_Status_Rule';
24     l_api_version_number          CONSTANT NUMBER   := 1.0;
25     l_return_status               VARCHAR2(1);
26     l_msg_count                   NUMBER;
27     l_msg_data                    VARCHAR2(32767);
28 
29 BEGIN
30       -- Standard Start of API savepoint
31       SAVEPOINT Create_Status_Rule_PUB;
32 
33       -- Standard call to check for call compatibility.
34       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
35                                            p_api_version,
36                                            l_api_name,
37                                            G_PKG_NAME)
38       THEN
39           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
40       END IF;
41 
42 
43       -- Initialize message list if p_init_msg_list is set to TRUE.
44       IF FND_API.to_Boolean( p_init_msg_list )
45       THEN
46           FND_MSG_PUB.initialize;
47       END IF;
48 
49       -- Debug Message
50       IEX_DEBUG_PUB.LogMessage('Public API: ' || l_api_name || ' start');
51 
52       IEX_DEBUG_PUB.LogMessage('Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
53 
54 
55       -- Initialize API return status to SUCCESS
56       x_return_status := FND_API.G_RET_STS_SUCCESS;
57 
58       --
59       -- API body
60       --
61 
62       IEX_DEBUG_PUB.LogMessage('Public API: Calling IEX_STATUS_RULE_PVT.Create_Status_Rule');
63 
64       IEX_STATUS_RULE_PVT.Create_Status_Rule(
65          p_api_version              => p_api_version
66        , p_init_msg_list            => FND_API.G_FALSE
67        , p_commit                   => p_commit
68        , p_status_rule_rec          => p_status_rule_rec
69        , x_status_rule_id                  => x_status_rule_id
70        , x_dup_status               => x_dup_status
71        , x_return_status            => x_return_status
72        , x_msg_count                => x_msg_count
73        , x_msg_data                 => x_msg_data);
74 
75       IF x_return_status = FND_API.G_RET_STS_ERROR then
76                 raise FND_API.G_EXC_ERROR;
77       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
78                raise FND_API.G_EXC_UNEXPECTED_ERROR;
79       END IF;
80 
81       --
82       -- End of API body
83       --
84 
85       -- Standard check for p_commit
86       IF FND_API.to_Boolean( p_commit )
87       THEN
88           COMMIT WORK;
89       END IF;
90 
91       -- Debug Message
92       IEX_DEBUG_PUB.LogMessage('PUB: ' || l_api_name || ' end');
93       IEX_DEBUG_PUB.LogMessage('End time:'
94                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
95 
96       -- Standard call to get message count and if count is 1, get message info.
97       FND_MSG_PUB.Count_And_Get
98       (  p_count          =>   x_msg_count,
99          p_data           =>   x_msg_data
100       );
101 
102       EXCEPTION
103           WHEN FND_API.G_EXC_ERROR THEN
104               ROLLBACK TO Create_Status_Rule_PUB;
105               x_return_status := FND_API.G_RET_STS_ERROR ;
106               FND_MSG_PUB.Count_And_Get
107               (  p_count          =>   x_msg_count,
108                  p_data           =>   x_msg_data
109               );
110 		    /*
111               as_utility_pvt.HANDLE_EXCEPTIONS(
112                    P_API_NAME => L_API_NAME
113                   ,P_PKG_NAME => G_PKG_NAME
114                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
115                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
116                   ,X_MSG_COUNT => X_MSG_COUNT
117                   ,X_MSG_DATA => X_MSG_DATA
118                   ,X_RETURN_STATUS => X_RETURN_STATUS);
119                */
120 
121           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
122               ROLLBACK TO Create_Status_Rule_PUB;
123               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
124               FND_MSG_PUB.Count_And_Get
125               (  p_count          =>   x_msg_count,
126                  p_data           =>   x_msg_data
127               );
128 		    /*
129               as_utility_pvt.HANDLE_EXCEPTIONS(
130                    P_API_NAME => L_API_NAME
131                   ,P_PKG_NAME => G_PKG_NAME
132                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
133                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
134                   ,X_MSG_COUNT => X_MSG_COUNT
135                   ,X_MSG_DATA => X_MSG_DATA
136                   ,X_RETURN_STATUS => X_RETURN_STATUS);
137                */
138 
139           WHEN OTHERS THEN
140               ROLLBACK TO Create_Status_Rule_PUB;
141               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
142               FND_MSG_PUB.Count_And_Get
143               (  p_count          =>   x_msg_count,
144                  p_data           =>   x_msg_data
145               );
146 		    /*
147               as_utility_pvt.HANDLE_EXCEPTIONS(
148                    P_API_NAME => L_API_NAME
149                   ,P_PKG_NAME => G_PKG_NAME
150                   ,P_EXCEPTION_LEVEL => as_utility_pvt.G_EXC_OTHERS
151                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
152                   ,X_MSG_COUNT => X_MSG_COUNT
153                   ,X_MSG_DATA => X_MSG_DATA
154                   ,X_RETURN_STATUS => X_RETURN_STATUS);
155                */
156 
157 
158 END Create_Status_Rule;
159 
160 
161 
162 Procedure Update_Status_Rule
163 	   (p_api_version             IN NUMBER,
164             p_init_msg_list           IN VARCHAR2,
165             p_commit                  IN VARCHAR2,
166             p_status_rule_tbl         IN iex_status_rule_pub.status_rule_tbl_type,
167             x_dup_status              OUT NOCOPY VARCHAR2,
168             x_return_status           OUT NOCOPY VARCHAR2,
169             x_msg_count               OUT NOCOPY NUMBER,
170             x_msg_data                OUT NOCOPY VARCHAR2)
171 IS
172     l_api_name                    CONSTANT VARCHAR2(30) := 'Update_Status_Rule';
173     l_api_version_number          CONSTANT NUMBER   := 1.0;
174     l_return_status               VARCHAR2(1);
175     l_msg_count                   NUMBER;
176     l_msg_data                    VARCHAR2(32767);
177     l_status_rule_rec                   iex_status_rule_pub.status_rule_rec_type;
178 
179 BEGIN
180 
181       -- Standard Start of API savepoint
182       SAVEPOINT Update_Status_Rule_PUB;
183 
184       -- Standard call to check for call compatibility.
185       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
186                          	             p_api_version,
187                                            l_api_name,
188                                            G_PKG_NAME)
189       THEN
190           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
191       END IF;
192 
193       -- Initialize message list if p_init_msg_list is set to TRUE.
194       IF FND_API.to_Boolean( p_init_msg_list )
195       THEN
196           FND_MSG_PUB.initialize;
197       END IF;
198 
199       -- Debug Message
200       IEX_DEBUG_PUB.LogMessage('PUB: ' || l_api_name || ' start');
201       IEX_DEBUG_PUB.LogMessage('Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
202 
203 
204       -- Initialize API return status to SUCCESS
205       x_return_status := FND_API.G_RET_STS_SUCCESS;
206 
207       --
208       -- Api body
209       --
210 
211       -- Debug Message
212       IEX_DEBUG_PUB.LogMessage('Public API: Calling IEX_STATUS_RULE_PVT.Update_Status_Rule');
213 
214       for i in 1..p_status_rule_tbl.count
215       LOOP
216           l_status_rule_rec := p_status_rule_tbl(i);
217 
218           IEX_STATUS_RULE_PVT.Update_Status_Rule(
219             p_api_version              => p_api_version
220           , p_init_msg_list            => p_init_msg_list
221           , p_commit                   => p_commit
222           , p_status_rule_rec          => l_status_rule_rec
223           , x_dup_status               => x_dup_status
224           , x_return_status            => x_return_status
225           , x_msg_count                => x_msg_count
226           , x_msg_data                 => x_msg_data
227           );
228 
229           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
230              RAISE FND_API.G_EXC_ERROR;
231           elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
232              raise FND_API.G_EXC_UNEXPECTED_ERROR;
233           END IF;
234 
235       END LOOP;
236       --
237       -- End of API body.
238       --
239 
240       -- Standard check for p_commit
241       IF FND_API.to_Boolean( p_commit )
242       THEN
243           COMMIT WORK;
244       END IF;
245 
246       -- Debug Message
247       IEX_DEBUG_PUB.LogMessage('PUB: ' || l_api_name || ' end');
248       IEX_DEBUG_PUB.LogMessage('End time:'
249                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
250 
251       -- Standard call to get message count and if count is 1, get message info.
252       FND_MSG_PUB.Count_And_Get
253       (  p_count          =>   x_msg_count,
254          p_data           =>   x_msg_data );
255 
256       EXCEPTION
257           WHEN FND_API.G_EXC_ERROR THEN
258               ROLLBACK TO Update_Status_Rule_PUB;
259               x_return_status := FND_API.G_RET_STS_ERROR ;
260               FND_MSG_PUB.Count_And_Get
261               (  p_count          =>   x_msg_count,
262                  p_data           =>   x_msg_data
263               );
264 		    /*
265               as_utility_pvt.HANDLE_EXCEPTIONS(
266                    P_API_NAME => L_API_NAME
267                   ,P_PKG_NAME => G_PKG_NAME
268                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
269                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
270                   ,X_MSG_COUNT => X_MSG_COUNT
271                   ,X_MSG_DATA => X_MSG_DATA
272                   ,X_RETURN_STATUS => X_RETURN_STATUS);
273               */
274 
275           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
276               ROLLBACK TO Update_Status_Rule_PUB;
277               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
278               FND_MSG_PUB.Count_And_Get
279               (  p_count          =>   x_msg_count,
280                  p_data           =>   x_msg_data
281               );
282 		    /*
283               as_utility_pvt.HANDLE_EXCEPTIONS(
284                    P_API_NAME => L_API_NAME
285                   ,P_PKG_NAME => G_PKG_NAME
286                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
287                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
288                   ,X_MSG_COUNT => X_MSG_COUNT
289                   ,X_MSG_DATA => X_MSG_DATA
290                   ,X_RETURN_STATUS => X_RETURN_STATUS);
291               */
292 
293           WHEN OTHERS THEN
294               ROLLBACK TO Update_Status_Rule_PUB;
295               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
296               FND_MSG_PUB.Count_And_Get
297               (  p_count          =>   x_msg_count,
298                  p_data           =>   x_msg_data
299               );
300 		    /*
301               as_utility_pvt.HANDLE_EXCEPTIONS(
302                    P_API_NAME => L_API_NAME
303                   ,P_PKG_NAME => G_PKG_NAME
304                   ,P_EXCEPTION_LEVEL => as_utility_pvt.G_EXC_OTHERS
305                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
306                   ,X_MSG_COUNT => X_MSG_COUNT
307                   ,X_MSG_DATA => X_MSG_DATA
308                   ,X_RETURN_STATUS => X_RETURN_STATUS);
309               */
310 
311 END Update_Status_Rule;
312 
313 
314 
315 Procedure Delete_Status_Rule
316            (p_api_version             IN NUMBER,
317             p_init_msg_list           IN VARCHAR2,
318             p_commit                  IN VARCHAR2,
319             p_status_rule_id_tbl             IN iex_status_rule_pub.status_rule_id_TBL_type,
320             x_return_status           OUT NOCOPY VARCHAR2,
321             x_msg_count               OUT NOCOPY NUMBER,
322             x_msg_data                OUT NOCOPY VARCHAR2)
323 
324 IS
325 
326     l_status_rule_id              NUMBER;
327     l_api_name              CONSTANT VARCHAR2(30) := 'Delete_Status_Rule';
328     l_api_version_number    CONSTANT NUMBER   := 1.0;
329     l_return_status         VARCHAR2(1);
330     l_msg_count             NUMBER;
331     l_msg_data              VARCHAR2(32767);
332 
333 BEGIN
334       -- Standard Start of API savepoint
335       SAVEPOINT Delete_Status_Rule_PUB;
336 
337       -- Standard call to check for call compatibility.
338       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
339                                            p_api_version,
340                                            l_api_name,
341                                            G_PKG_NAME)
342       THEN
343           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
344       END IF;
345 
346       -- Initialize message list if p_init_msg_list is set to TRUE.
347       IF FND_API.to_Boolean( p_init_msg_list )
348       THEN
349           FND_MSG_PUB.initialize;
350       END IF;
351 
352       -- Debug Message
353       IEX_DEBUG_PUB.LogMessage('PUB:' || l_api_name || ' start');
354       IEX_DEBUG_PUB.LogMessage('Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
355 
356 
357       -- Initialize API return status to SUCCESS
358       x_return_status := FND_API.G_RET_STS_SUCCESS;
359 
360       --
361       -- Api body
362       --
363 
364       IEX_DEBUG_PUB.LogMessage('Public API: Calling IEX_STATUS_RULE_PVT.Delete_Status_Rule');
365 
366       for i in 1..p_status_rule_id_tbl.count
367       loop
368          l_status_rule_id := p_status_rule_id_tbl(i);
369 
370          IEX_STATUS_RULE_PVT.Delete_Status_Rule(
371               p_api_version              => p_api_version
372             , p_init_msg_list            => p_init_msg_list
373             , p_commit                   => p_commit
374             , p_status_rule_id                  => l_status_rule_id
375             , x_return_status            => l_return_status
376             , x_msg_count                => l_msg_count
377             , x_msg_data                 => l_msg_data
378             );
379 
380          IF x_return_status = FND_API.G_RET_STS_ERROR then
381                 raise FND_API.G_EXC_ERROR;
382          elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
383                raise FND_API.G_EXC_UNEXPECTED_ERROR;
384          END IF;
385 
386       END loop;
387 
388       --
389       -- End of API body
390       --
391 
392       -- Standard check for p_commit
393       IF FND_API.to_Boolean( p_commit )
394       THEN
395           COMMIT WORK;
396       END IF;
397 
398       -- Debug Message
399       IEX_DEBUG_PUB.LogMessage('PUB: ' || l_api_name || ' end');
400       IEX_DEBUG_PUB.LogMessage('End time:'
401                                    || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
402 
403       FND_MSG_PUB.Count_And_Get
404       (  p_count          =>   x_msg_count,
405          p_data           =>   x_msg_data );
406 
407       EXCEPTION
408           WHEN FND_API.G_EXC_ERROR THEN
409               ROLLBACK TO Delete_Status_Rule_PUB;
410               x_return_status := FND_API.G_RET_STS_ERROR ;
411               FND_MSG_PUB.Count_And_Get
412               (  p_count          =>   x_msg_count,
413                  p_data           =>   x_msg_data
414               );
415 		    /*
416               as_utility_pvt.HANDLE_EXCEPTIONS(
417                    P_API_NAME => L_API_NAME
418                   ,P_PKG_NAME => G_PKG_NAME
419                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
420                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
421                   ,X_MSG_COUNT => X_MSG_COUNT
422                   ,X_MSG_DATA => X_MSG_DATA
423                   ,X_RETURN_STATUS => X_RETURN_STATUS);
424               */
425           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
426               ROLLBACK TO Delete_Status_Rule_PUB;
427               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
428               FND_MSG_PUB.Count_And_Get
429               (  p_count          =>   x_msg_count,
430                  p_data           =>   x_msg_data
431               );
432 		    /*
433               as_utility_pvt.HANDLE_EXCEPTIONS(
434                    P_API_NAME => L_API_NAME
435                   ,P_PKG_NAME => G_PKG_NAME
436                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
437                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
438                   ,X_MSG_COUNT => X_MSG_COUNT
439                   ,X_MSG_DATA => X_MSG_DATA
440                   ,X_RETURN_STATUS => X_RETURN_STATUS);
441               */
442           WHEN OTHERS THEN
443               ROLLBACK TO Delete_Status_Rule_PUB;
444               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
445               FND_MSG_PUB.Count_And_Get
446               (  p_count          =>   x_msg_count,
447                  p_data           =>   x_msg_data
448               );
449 		    /*
450               as_utility_pvt.HANDLE_EXCEPTIONS(
451                    P_API_NAME => L_API_NAME
452                   ,P_PKG_NAME => G_PKG_NAME
453                   ,P_EXCEPTION_LEVEL => as_utility_pvt.G_EXC_OTHERS
454                   ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PUB
455                   ,X_MSG_COUNT => X_MSG_COUNT
456                   ,X_MSG_DATA => X_MSG_DATA
457                   ,X_RETURN_STATUS => X_RETURN_STATUS);
458               */
459 
460 END Delete_Status_Rule;
461 
462 
463 Procedure Create_Status_Rule_Line
464             ( p_api_version             IN NUMBER,
465               p_init_msg_list           IN VARCHAR2,
466               p_commit                  IN VARCHAR2,
467               p_status_rule_line_rec    IN iex_status_rule_pub.status_rule_line_rec_type,
468               x_return_status           OUT NOCOPY VARCHAR2,
469               x_msg_count               OUT NOCOPY NUMBER,
470               x_msg_data                OUT NOCOPY VARCHAR2)
471 
472 IS
473     l_api_name                    CONSTANT VARCHAR2(30) := 'Create_Status_Rule_Line';
474     l_api_version_number          CONSTANT NUMBER   := 1.0;
475     l_return_status   VARCHAR2(1);
476     l_msg_count       NUMBER;
477     l_msg_data        VARCHAR2(32767);
478     l_status_rule_line_rec        iex_status_rule_pub.status_rule_line_rec_type;
479     x_status_rule_line_id         NUMBER;
480 
481 
482 BEGIN
483       -- Standard Start of API savepoint
484       SAVEPOINT Create_Status_Rule_Line_PUB;
485 
486       -- Standard call to check for call compatibility.
487       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
488                                            p_api_version,
489                                            l_api_name,
490                                            G_PKG_NAME)
491       THEN
492           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
493       END IF;
494 
495 
496       -- Initialize message list if p_init_msg_list is set to TRUE.
497       IF FND_API.to_Boolean( p_init_msg_list )
498       THEN
499           FND_MSG_PUB.initialize;
500       END IF;
501 
502       -- Debug Message
503       IEX_DEBUG_PUB.LogMessage('PUB: ' || l_api_name || ' start');
504       IEX_DEBUG_PUB.LogMessage('Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
505 
506 
507       -- Initialize API return status to SUCCESS
508       x_return_status := FND_API.G_RET_STS_SUCCESS;
509 
510       --
511       -- API body
512       --
513 
514       IEX_DEBUG_PUB.LogMessage('Public API: Calling IEX_STATUS_RULE_PVT.Create_Status_Rule_Line');
515 
516 
517           IEX_STATUS_RULE_PVT.Create_Status_Rule_Line(
518              p_api_version              => p_api_version
519            , p_init_msg_list            => FND_API.G_FALSE
520            , p_commit                   => p_Commit
521            , p_status_rule_line_rec     => p_status_rule_line_rec
522            , x_return_status            => x_return_status
523            , x_msg_count                => x_msg_count
524            , x_msg_data                 => x_msg_data
525            , x_status_rule_line_id        => x_status_rule_line_id
526           );
527 
528           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
529              RAISE FND_API.G_EXC_ERROR;
530           elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
531                raise FND_API.G_EXC_UNEXPECTED_ERROR;
532           END IF;
533 
534       --
535       -- End of API body
536       --
537 
538       -- Standard check for p_commit
539       IF FND_API.to_Boolean( p_commit )
540       THEN
541           COMMIT WORK;
542       END IF;
543 
544       -- Debug Message
545       IEX_DEBUG_PUB.LogMessage('PUB: ' || l_api_name || ' end');
546       IEX_DEBUG_PUB.LogMessage('End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
547 
548 
549       -- Standard call to get message count and if count is 1, get message info.
550       FND_MSG_PUB.Count_And_Get
551       (  p_count          =>   x_msg_count,
552          p_data           =>   x_msg_data
553       );
554 
555       EXCEPTION
556           WHEN FND_API.G_EXC_ERROR THEN
557               ROLLBACK To Create_Status_Rule_Line_PUB;
558               x_return_status := FND_API.G_RET_STS_ERROR ;
559               FND_MSG_PUB.Count_And_Get
560               (  p_count          =>   x_msg_count,
561                  p_data           =>   x_msg_data
562               );
563 
564           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
565               ROLLBACK TO Create_Status_Rule_Line_PUB;
566               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
567               FND_MSG_PUB.Count_And_Get
568               (  p_count          =>   x_msg_count,
569                  p_data           =>   x_msg_data
570               );
571 
572           WHEN OTHERS THEN
573               ROLLBACK TO Create_Status_Rule_Line_PUB;
574               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
575               FND_MSG_PUB.Count_And_Get
576               (  p_count          =>   x_msg_count,
577                  p_data           =>   x_msg_data
578               );
579 
580 END Create_Status_Rule_Line;
581 
582 
583 
584 Procedure Update_Status_Rule_Line
585             ( p_api_version             IN NUMBER,
586               p_init_msg_list           IN VARCHAR2,
587               p_commit                  IN VARCHAR2,
588               p_status_rule_line_TBL      IN iex_status_rule_pub.status_rule_line_tbl_type,
589               x_dup_status              OUT NOCOPY VARCHAR2,
590               x_return_status           OUT NOCOPY VARCHAR2,
591               x_msg_count               OUT NOCOPY NUMBER,
592               x_msg_data                OUT NOCOPY VARCHAR2)
593 
594 IS
595     l_api_name                  CONSTANT VARCHAR2(30) := 'Update_Status_Rule_Line';
596     l_api_version_number        CONSTANT NUMBER   := 1.0;
597     l_return_status   VARCHAR2(1);
598     l_msg_count       NUMBER;
599     l_msg_data        VARCHAR2(32767);
600     l_status_rule_line_REC        iex_status_rule_pub.status_rule_line_rec_type;
601 
602 BEGIN
603 
604       -- Standard Start of API savepoint
605       SAVEPOINT Update_Status_Rule_Line_PUB;
606 
607       -- Standard call to check for call compatibility.
608       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
609                          	             p_api_version,
610                                            l_api_name,
611                                            G_PKG_NAME)
612       THEN
613           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
614       END IF;
615 
616       -- Initialize message list if p_init_msg_list is set to TRUE.
617       IF FND_API.to_Boolean( p_init_msg_list )
618       THEN
619           FND_MSG_PUB.initialize;
620       END IF;
621 
622       -- Debug Message
623       IEX_DEBUG_PUB.LogMessage('PUB: ' || l_api_name || ' start');
624       IEX_DEBUG_PUB.LogMessage('Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
625 
626 
627       -- Initialize API return status to SUCCESS
628       x_return_status := FND_API.G_RET_STS_SUCCESS;
629 
630       --
631       -- Api body
632       --
633 
634       IEX_DEBUG_PUB.LogMessage('Public API: Calling IEX_STATUS_RULE_PVT.Update_Status_Rule_Line');
635 
636       for i in 1..p_status_rule_line_tbl.count
637       loop
638           l_status_rule_line_rec := p_status_rule_line_tbl(i);
639 
640           IEX_STATUS_RULE_PVT.Update_Status_Rule_Line(
641             p_api_version              => p_api_version
642           , p_init_msg_list            => FND_API.G_FALSE
643           , p_commit                   => p_commit
644           , p_status_rule_line_rec       => l_status_rule_line_rec
645           , x_return_status            => x_return_status
646           , x_msg_count                => x_msg_count
647           , x_msg_data                 => x_msg_data
648           );
649 
650           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
651              RAISE FND_API.G_EXC_ERROR;
652           elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
653              raise FND_API.G_EXC_UNEXPECTED_ERROR;
654           END IF;
655       END LOOP;
656       --
657       -- End of API body.
658       --
659 
660       -- Standard check for p_commit
661       IF FND_API.to_Boolean( p_commit )
662       THEN
663           COMMIT WORK;
664       END IF;
665 
666       -- Debug Message
667       IEX_DEBUG_PUB.LogMessage('PUB: ' || l_api_name || ' end');
668       IEX_DEBUG_PUB.LogMessage('End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
669 
670 
671       -- Standard call to get message count and if count is 1, get message info.
672       FND_MSG_PUB.Count_And_Get
673       (  p_count          =>   x_msg_count,
674          p_data           =>   x_msg_data );
675 
676       EXCEPTION
677           WHEN FND_API.G_EXC_ERROR THEN
678               ROLLBACK To Update_Status_Rule_Line_PUB;
679               x_return_status := FND_API.G_RET_STS_ERROR ;
680               FND_MSG_PUB.Count_And_Get
681               (  p_count          =>   x_msg_count,
682                  p_data           =>   x_msg_data
683               );
684 
685           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
686               ROLLBACK TO Update_Status_Rule_Line_PUB;
687               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
688               FND_MSG_PUB.Count_And_Get
689               (  p_count          =>   x_msg_count,
690                  p_data           =>   x_msg_data
691               );
692 
693           WHEN OTHERS THEN
694               ROLLBACK TO Update_Status_Rule_Line_PUB;
695               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
696               FND_MSG_PUB.Count_And_Get
697               (  p_count          =>   x_msg_count,
698                  p_data           =>   x_msg_data
699               );
700 
701 END Update_Status_Rule_Line;
702 
703 
704 
705 Procedure Delete_Status_Rule_Line
706             ( p_api_version             IN NUMBER,
707               p_init_msg_list           IN VARCHAR2,
708               p_commit                  IN VARCHAR2,
709               p_status_rule_id          IN NUMBER,
710               p_status_rule_line_ID_TBL IN iex_status_rule_pub.status_rule_line_ID_TBL_type,
711               x_return_status           OUT NOCOPY VARCHAR2,
712               x_msg_count               OUT NOCOPY NUMBER,
713               x_msg_data                OUT NOCOPY VARCHAR2)
714 
715 IS
716     l_api_name                    CONSTANT VARCHAR2(30) := 'Delete_Status_Rule_Line';
717     l_api_version_number          CONSTANT NUMBER   := 1.0;
718     l_return_status   VARCHAR2(1);
719     l_msg_count       NUMBER;
720     l_msg_data        VARCHAR2(32767);
721     l_status_rule_line_id           NUMBER;
722 
723 BEGIN
724       -- Standard Start of API savepoint
725       SAVEPOINT Delete_Status_Rule_Line_PUB;
726 
727       -- Standard call to check for call compatibility.
728       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
729                          	           p_api_version,
730                                            l_api_name,
731                                            G_PKG_NAME)
732       THEN
733           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
734       END IF;
735 
736       -- Initialize message list if p_init_msg_list is set to TRUE.
737       IF FND_API.to_Boolean( p_init_msg_list )
738       THEN
739           FND_MSG_PUB.initialize;
740       END IF;
741 
742       -- Debug Message
743       IEX_DEBUG_PUB.LogMessage('PUB:' || l_api_name || 'start');
744       IEX_DEBUG_PUB.LogMessage('Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
745 
746 
747       -- Initialize API return status to SUCCESS
748       x_return_status := FND_API.G_RET_STS_SUCCESS;
749 
750       --
751       -- Api body
752       --
753 
754       IEX_DEBUG_PUB.LogMessage('Public API: Calling IEX_STATUS_RULE_PVT.Delete_Status_Rule_Line');
755 
756       for i in 1..p_status_rule_line_id_Tbl.count
757       loop
758           l_status_rule_line_id := p_status_rule_line_id_tbl(i);
759 
760           IEX_STATUS_RULE_PVT.Delete_Status_Rule_Line(
761             p_api_version              => p_api_version
762           , p_init_msg_list            => FND_API.G_FALSE
763           , p_commit                   => p_commit
764           , p_status_rule_id           => p_status_rule_id
765           , p_status_rule_line_id        => l_status_rule_line_id
766           , x_return_status            => x_return_status
767           , x_msg_count                => x_msg_count
768           , x_msg_data                 => x_msg_data
769           );
770 
771           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
772              RAISE FND_API.G_EXC_ERROR;
773           elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
774              raise FND_API.G_EXC_UNEXPECTED_ERROR;
775           END IF;
776       end loop;
777       --
778       -- End of API body
779       --
780 
781       -- Standard check for p_commit
782       IF FND_API.to_Boolean( p_commit )
783       THEN
784           COMMIT WORK;
785       END IF;
786 
787       -- Debug Message
788       IEX_DEBUG_PUB.LogMessage('PUB: ' || l_api_name || ' end');
789       IEX_DEBUG_PUB.LogMessage('End time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'));
790 
791       FND_MSG_PUB.Count_And_Get
792       (  p_count          =>   x_msg_count,
793          p_data           =>   x_msg_data );
794 
795       EXCEPTION
796           WHEN FND_API.G_EXC_ERROR THEN
797               ROLLBACK To Delete_Status_Rule_Line_PUB;
798               x_return_status := FND_API.G_RET_STS_ERROR ;
799               FND_MSG_PUB.Count_And_Get
800               (  p_count          =>   x_msg_count,
801                  p_data           =>   x_msg_data
802               );
803 
804           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
805               ROLLBACK TO Delete_Status_Rule_Line_PUB;
806               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
807               FND_MSG_PUB.Count_And_Get
808               (  p_count          =>   x_msg_count,
809                  p_data           =>   x_msg_data
810               );
811 
812           WHEN OTHERS THEN
813               ROLLBACK TO Delete_Status_Rule_Line_PUB;
814               x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
815               FND_MSG_PUB.Count_And_Get
816               (  p_count          =>   x_msg_count,
817                  p_data           =>   x_msg_data
818               );
819 
820 END Delete_Status_Rule_Line;
821 
822 END IEX_STATUS_RULE_PUB;