DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_ACTION_SET_LINE_COND_PKG

Source


1 PACKAGE BODY pa_action_set_line_cond_pkg AS
2 /*$Header: PARASCKB.pls 120.2 2005/08/26 11:59:22 shyugen noship $*/
3 --
4 
5 PROCEDURE insert_row
6  (p_action_set_line_id        IN    pa_action_set_lines.action_set_line_id%TYPE
7  ,p_condition_date            IN    pa_action_set_line_cond.condition_date%TYPE                     := NULL
8  ,p_description               IN    pa_action_set_line_cond.description%TYPE                        := NULL
9  ,p_condition_code            IN    pa_action_set_line_cond.condition_code%TYPE
10  ,p_condition_attribute1      IN    pa_action_set_line_cond.condition_attribute1%TYPE               := NULL
11  ,p_condition_attribute2      IN    pa_action_set_line_cond.condition_attribute2%TYPE               := NULL
12  ,p_condition_attribute3      IN    pa_action_set_line_cond.condition_attribute3%TYPE               := NULL
13  ,p_condition_attribute4      IN    pa_action_set_line_cond.condition_attribute4%TYPE               := NULL
14  ,p_condition_attribute5      IN    pa_action_set_line_cond.condition_attribute5%TYPE               := NULL
15  ,p_condition_attribute6      IN    pa_action_set_line_cond.condition_attribute6%TYPE               := NULL
16  ,p_condition_attribute7      IN    pa_action_set_line_cond.condition_attribute7%TYPE               := NULL
17  ,p_condition_attribute8      IN    pa_action_set_line_cond.condition_attribute8%TYPE               := NULL
18  ,p_condition_attribute9      IN    pa_action_set_line_cond.condition_attribute9%TYPE               := NULL
19  ,p_condition_attribute10     IN    pa_action_set_line_cond.condition_attribute10%TYPE              := NULL
20  ,x_action_set_line_condition_id    OUT    NOCOPY NUMBER --File.Sql.39 bug 4440895
21  ,x_return_status                   OUT    NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
22 )
23 IS
24 
25   l_debug_mode            VARCHAR2(20) := 'N';
26 
27 BEGIN
28 
29   -- Initialize the return status to success
30   x_return_status := FND_API.G_RET_STS_SUCCESS;
31 
32   -- Bug 4403338
33   fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
34 
35   --Log Message - 4403338
36   IF l_debug_mode = 'Y' THEN
37     PA_DEBUG.write_log (x_module      => 'pa.plsql.PA_ACTION_SET_LINE_COND_Pkg.insert_row.begin'
38                      ,x_msg         => 'Beginning of insert row'
39                      ,x_log_level   => 5);
40   END IF;
41 
42   INSERT INTO pa_action_set_line_cond
43              (action_set_line_condition_id
44              ,action_set_line_id
45              ,condition_date
46              ,description
47              ,condition_code
48              ,condition_attribute1
49              ,condition_attribute2
50              ,condition_attribute3
51              ,condition_attribute4
52              ,condition_attribute5
53              ,condition_attribute6
54              ,condition_attribute7
55              ,condition_attribute8
56              ,condition_attribute9
57              ,condition_attribute10
58              ,creation_date
59              ,created_by
60              ,last_update_date
61              ,last_updated_by
62              ,last_update_login)
63        VALUES
64             ( pa_action_set_line_cond_s.NEXTVAL
65              ,p_action_set_line_id
66              ,p_condition_date
67              ,p_description
68              ,p_condition_code
69              ,p_condition_attribute1
70              ,p_condition_attribute2
71              ,p_condition_attribute3
72              ,p_condition_attribute4
73              ,p_condition_attribute5
74              ,p_condition_attribute6
75              ,p_condition_attribute7
76              ,p_condition_attribute8
77              ,p_condition_attribute9
78              ,p_condition_attribute10
79              ,sysdate
80              ,fnd_global.user_id
81              ,sysdate
82              ,fnd_global.user_id
83              ,fnd_global.login_id
84             )
85              RETURNING action_set_line_condition_id INTO x_action_set_line_condition_id;
86 
87 
88   -- Put any message text from message stack into the Message ARRAY
89   EXCEPTION
90     WHEN OTHERS THEN
91        -- Set the excetption Message and the stack
92        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_ACTION_SET_LINE_COND_PKG.Insert_row'
93                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
94        --
95        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
96        RAISE;
97 
98 END Insert_Row;
99 
100 
101 PROCEDURE update_row
102  (p_action_set_line_condition_id  IN    pa_action_set_line_cond.action_set_line_condition_id%TYPE
103  ,p_condition_date            IN    pa_action_set_line_cond.condition_date%TYPE                  := FND_API.G_MISS_DATE
104  ,p_description               IN    pa_action_set_line_cond.description%TYPE                     := FND_API.G_MISS_CHAR
105  ,p_record_version_number     IN    NUMBER                                                       := NULL
106  ,p_condition_code            IN    pa_action_set_line_cond.condition_code%TYPE                  := FND_API.G_MISS_CHAR
107  ,p_condition_attribute1      IN    pa_action_set_line_cond.condition_attribute1%TYPE            := FND_API.G_MISS_CHAR
108  ,p_condition_attribute2      IN    pa_action_set_line_cond.condition_attribute2%TYPE            := FND_API.G_MISS_CHAR
109  ,p_condition_attribute3      IN    pa_action_set_line_cond.condition_attribute3%TYPE            := FND_API.G_MISS_CHAR
110  ,p_condition_attribute4      IN    pa_action_set_line_cond.condition_attribute4%TYPE            := FND_API.G_MISS_CHAR
111  ,p_condition_attribute5      IN    pa_action_set_line_cond.condition_attribute5%TYPE            := FND_API.G_MISS_CHAR
112  ,p_condition_attribute6      IN    pa_action_set_line_cond.condition_attribute6%TYPE            := FND_API.G_MISS_CHAR
113  ,p_condition_attribute7      IN    pa_action_set_line_cond.condition_attribute7%TYPE            := FND_API.G_MISS_CHAR
114  ,p_condition_attribute8      IN    pa_action_set_line_cond.condition_attribute8%TYPE            := FND_API.G_MISS_CHAR
115  ,p_condition_attribute9      IN    pa_action_set_line_cond.condition_attribute9%TYPE            := FND_API.G_MISS_CHAR
116  ,p_condition_attribute10     IN    pa_action_set_line_cond.condition_attribute10%TYPE           := FND_API.G_MISS_CHAR
117  ,x_return_status                   OUT    NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
118 )
119 IS
120 e_row_is_locked  EXCEPTION;
121 PRAGMA EXCEPTION_INIT(e_row_is_locked, -54);
122 
123 l_rowid  ROWID;
124 l_debug_mode            VARCHAR2(20) := 'N';
125 
126 BEGIN
127 
128   -- Initialize the return status to success
129   x_return_status := FND_API.G_RET_STS_SUCCESS;
130 
131   -- Bug 4403338
132   fnd_profile.get('PA_DEBUG_MODE',l_debug_mode);
133 
134   --Log Message - 4403338
135   IF l_debug_mode = 'Y' THEN
136     PA_DEBUG.write_log (x_module      => 'pa.plsql.PA_ACTION_SET_LINE_COND_Pkg.update_row.begin'
137                      ,x_msg         => 'Beginning of update row'
138                      ,x_log_level   => 5);
139   END IF;
140 
141   SELECT rowid INTO l_rowid
142     FROM pa_action_set_line_cond
143    WHERE action_set_line_condition_id = p_action_set_line_condition_id
144      FOR UPDATE NOWAIT;
145 
146   UPDATE pa_action_set_line_cond
147      SET condition_date = decode(p_condition_date, FND_API.G_MISS_DATE, condition_date, p_condition_date)
148         ,description = decode(p_description, FND_API.G_MISS_CHAR, description, p_description)
149         ,condition_code = decode(p_condition_code, FND_API.G_MISS_CHAR, condition_code, p_condition_code)
150         ,condition_attribute1 = decode(p_condition_attribute1, FND_API.G_MISS_CHAR, condition_attribute1, p_condition_attribute1)
151         ,condition_attribute2 = decode(p_condition_attribute2, FND_API.G_MISS_CHAR, condition_attribute2, p_condition_attribute2)
152         ,condition_attribute3 = decode(p_condition_attribute3, FND_API.G_MISS_CHAR, condition_attribute3, p_condition_attribute3)
153         ,condition_attribute4 = decode(p_condition_attribute4, FND_API.G_MISS_CHAR, condition_attribute4, p_condition_attribute4)
154         ,condition_attribute5 = decode(p_condition_attribute5, FND_API.G_MISS_CHAR, condition_attribute5, p_condition_attribute5)
155         ,condition_attribute6 = decode(p_condition_attribute6, FND_API.G_MISS_CHAR, condition_attribute6, p_condition_attribute6)
156         ,condition_attribute7 = decode(p_condition_attribute7, FND_API.G_MISS_CHAR, condition_attribute7, p_condition_attribute7)
157         ,condition_attribute8 = decode(p_condition_attribute8, FND_API.G_MISS_CHAR, condition_attribute8, p_condition_attribute8)
158         ,condition_attribute9 = decode(p_condition_attribute9, FND_API.G_MISS_CHAR, condition_attribute9, p_condition_attribute9)
159         ,condition_attribute10 = decode(p_condition_attribute10, FND_API.G_MISS_CHAR, condition_attribute10, p_condition_attribute10)
160         ,last_update_date = sysdate
161         ,last_updated_by = fnd_global.user_id
162         ,last_update_login = fnd_global.login_id
163   WHERE rowid = l_rowid;
164 
165   IF (SQL%NOTFOUND) THEN
166 
167        PA_UTILS.Add_Message ( p_app_short_name => 'PA'
168                              ,p_msg_name => 'PA_XC_RECORD_CHANGED');
169        x_return_status := FND_API.G_RET_STS_ERROR;
170 
171   END IF;
172 
173   -- Put any message text from message stack into the Message ARRAY
174   EXCEPTION
175     WHEN e_row_is_locked THEN
176        PA_UTILS.Add_Message ( p_app_short_name => 'PA'
177                              ,p_msg_name => 'PA_ACTION_LINE_CHANGE_PENDING');
178        x_return_status := FND_API.G_RET_STS_ERROR;
179 
180     WHEN OTHERS THEN
181        -- Set the excetption Message and the stack
182        FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_ACTION_SET_LINE_COND_PKG.update_row'
183                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
184        --
185        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
186        RAISE;
187 
188   END update_row;
189 
190 PROCEDURE Delete_Row
191 ( p_action_set_line_condition_id IN    pa_action_set_line_cond.action_set_line_condition_id%TYPE
192  ,p_record_version_number        IN    NUMBER                                                := NULL
193  ,x_return_status                OUT   NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
194 )
195 IS
196 
197 BEGIN
198 
199  x_return_status := FND_API.G_RET_STS_SUCCESS;
200 
201     DELETE FROM  pa_action_set_line_cond
202           WHERE  action_set_line_condition_id = p_action_set_line_condition_id;
203 
204   --
205   IF (SQL%NOTFOUND) THEN
206 
207        PA_UTILS.Add_Message ( p_app_short_name => 'PA'
208                              ,p_msg_name => 'PA_XC_RECORD_CHANGED');
209        x_return_status := FND_API.G_RET_STS_ERROR;
210 
211   END IF;
212   --
213   --
214 
215   EXCEPTION
216     WHEN OTHERS THEN
217         -- Set the exception Message and the stack
218         FND_MSG_PUB.add_exc_msg( p_pkg_name       => 'PA_ACTION_SET_LINE_COND_PKG.Delete_Row'
219                                 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
220         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
221         RAISE;
222 END Delete_Row;
223 
224 
225 END pa_action_set_line_cond_pkg;