DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_CNCL_VALIDATE_LINE_SCREDIT

Source


1 PACKAGE BODY OE_CNCL_Validate_Line_Scredit AS
2 /* $Header: OEXVCLCB.pls 120.0 2005/05/31 23:39:23 appldev noship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'OE_CNCL_Validate_Line_Scredit';
7 
8 Function Duplicate_Salescredit
9 (p_salesrep_id          IN Number
10 ,p_sales_credit_type_id IN NUMBER
11 ,p_line_id              IN NUMBER
12 ,p_sales_credit_id      IN NUMBER
13 ) RETURN BOOLEAN IS
14 Cursor C_Dup_Salescredit(p_salesrep_id          NUMBER
15                         ,p_sales_credit_type_id NUMBER
16                         ,p_line_id              NUMBER
17                         ,p_sales_credit_id      NUMBER) IS
18     SELECT 'DUPLICATE'
19     FROM  oe_sales_credits
20     WHERE line_id = p_line_id
21     AND   salesrep_id = p_salesrep_id
22     AND   sales_credit_type_id  = p_sales_credit_type_id
23     AND   sales_credit_id <> nvl(p_sales_credit_id,-5);
24 l_dummy varchar2(30);
25 BEGIN
26   OE_DEBUG_PUB.Add('Entering OE_CNCL_VALIDATE_LINE_SCREDIT.Duplicate_Salescredit',1);
27   OPEN C_Dup_Salescredit(p_salesrep_id
28                         ,p_sales_credit_type_id
29                         ,p_line_id
30                         ,p_sales_credit_id);
31   FETCH C_Dup_Salescredit INTO l_dummy;
32   CLOSE C_Dup_Salescredit;
33   IF l_dummy =  'DUPLICATE' THEN
34         IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
35         THEN
36 
37             FND_MESSAGE.SET_NAME('ONT','OE_VAL_DUP_LINE_CREDIT');
38             oe_msg_pub.add;
39 
40         END IF;
41       OE_DEBUG_PUB.Add('Exiting OE_CNCL_VALIDATE_LINE_SCREDIT.Duplicate_Salescredit',1);
42       Return TRUE;
43   ELSE
44       OE_DEBUG_PUB.Add('Exiting OE_CNCL_VALIDATE_LINE_SCREDIT.Duplicate_Salescredit',1);
45      Return FALSE;
46   END IF;
47 END Duplicate_Salescredit;
48 
49 
50 --  Procedure Entity
51 
52 PROCEDURE Entity
53 (   x_return_status               OUT NOCOPY VARCHAR2  /* file.sql.39 change */
54 ,   p_Line_Scredit_rec            IN  OE_Order_PUB.Line_Scredit_Rec_Type
55 )
56 
57 IS
58 l_return_status               VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
59 BEGIN
60    OE_DEBUG_PUB.Add('Entering OE_CNCL_VALIDATE_LINE_SCREDIT.Entity',1);
61 
62     --  Check required attributes.
63 
64 /*    IF  p_Line_Scredit_rec.sales_credit_id IS NULL
65     THEN
66 		oe_debug_pub.add('Validate Entity - 1',1);
67 
68         l_return_status := FND_API.G_RET_STS_ERROR;
69 
70         IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
71         THEN
72 
73             FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
74             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','sales_credit');
75             oe_msg_pub.add;
76 
77         END IF;
78 
79     END IF;
80 */
81 
82     IF  p_Line_Scredit_rec.sales_credit_type_id IS NULL
83     THEN
84 		oe_debug_pub.add('Validate Entity - 1',1);
85 
86         l_return_status := FND_API.G_RET_STS_ERROR;
87 
88         IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
89         THEN
90 
91             FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
92             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','sales_credit_type_id');
93             oe_msg_pub.add;
94 
95         END IF;
96 
97     END IF;
98     --
99     --  Check rest of required attributes here.
100     --
101 /*    IF  p_line_Scredit_rec.HEADER_ID IS NULL
102     THEN
103 		oe_debug_pub.add('Validate Entity - 2',1);
104 
105         l_return_status := FND_API.G_RET_STS_ERROR;
106 
107         IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
108         THEN
109 
110             FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
111             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','HEADER');
112             oe_msg_pub.add;
113 
114         END IF;
115 
116     END IF;
117 
118     IF  p_line_Scredit_rec.line_id IS NULL
119     THEN
120 		oe_debug_pub.add('Validate Entity - 3',1);
121 
122         l_return_status := FND_API.G_RET_STS_ERROR;
123 
124         IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
125         THEN
126 
127             FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
128             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','LINE');
129             oe_msg_pub.add;
130 
131         END IF;
132 
133     END IF;
134 */
135 
136     IF  p_line_Scredit_rec.PERCENT IS NULL
137     THEN
138 		oe_debug_pub.add('Validate Entity - 5',1);
139 
140         l_return_status := FND_API.G_RET_STS_ERROR;
141 
142         IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
143         THEN
144 
145             FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
146             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','PERCENT');
147             oe_msg_pub.add;
148 
149         END IF;
150 
151     END IF;
152 
153 
154 
155     --  Return Error if a required attribute is missing.
156 
157     IF l_return_status = FND_API.G_RET_STS_ERROR THEN
158 
159         RAISE FND_API.G_EXC_ERROR;
160 
161     END IF;
162 
163     --
164     --  Check conditionally required attributes here.
165     --
166 
167 
168     --
169     --  Validate attribute dependencies here.
170     --
171      IF Duplicate_Salescredit
172            (p_salesrep_id=>p_Line_Scredit_rec.salesrep_id
173            ,p_sales_credit_type_id=>p_Line_Scredit_rec.sales_credit_type_id
174            ,p_line_id=>p_Line_Scredit_rec.line_id
175            ,p_sales_credit_id=>p_Line_Scredit_rec.sales_credit_id)
176       THEN
177 		oe_debug_pub.add('Validate Entity - 6',1);
178         l_return_status := FND_API.G_RET_STS_ERROR;
179       END IF;
180 
181        IF l_return_status = FND_API.G_RET_STS_ERROR THEN
182         RAISE FND_API.G_EXC_ERROR;
183       end if;
184 
185 
186     --  Done validating entity
187 
188     x_return_status := l_return_status;
189    OE_DEBUG_PUB.Add('Exiting OE_CNCL_VALIDATE_LINE_SCREDIT.Entity',1);
190 
191 EXCEPTION
192 
193     WHEN FND_API.G_EXC_ERROR THEN
194 
195         x_return_status := FND_API.G_RET_STS_ERROR;
196 
197     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
198 
199         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
200 
201     WHEN OTHERS THEN
202 
203         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
204 
205         IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
206         THEN
207             oe_msg_pub.add_Exc_Msg
208             (   G_PKG_NAME
209             ,   'Entity'
210             );
211         END IF;
212 
213 END Entity;
214 
215 --  Procedure Attributes
216 
217 PROCEDURE Attributes
218 (   x_return_status               OUT NOCOPY VARCHAR2  /* file.sql.39 change */
219 ,   p_Line_Scredit_rec            IN  OE_Order_PUB.Line_Scredit_Rec_Type
220 )
221 IS
222 BEGIN
223    OE_DEBUG_PUB.Add('Entering OE_CNCL_VALIDATE_LINE_SCREDIT.Attributes',1);
224 
225     x_return_status := FND_API.G_RET_STS_SUCCESS;
226 
227     --  Validate Line_Scredit attributes
228 
229     IF  p_Line_Scredit_rec.created_by IS NOT NULL
230     THEN
231         IF NOT OE_CNCL_Validate.Created_By(p_Line_Scredit_rec.created_by) THEN
232             x_return_status := FND_API.G_RET_STS_ERROR;
233         END IF;
234     END IF;
235 
236     IF  p_Line_Scredit_rec.creation_date IS NOT NULL
237     THEN
238         IF NOT OE_CNCL_Validate.Creation_Date(p_Line_Scredit_rec.creation_date) THEN
239             x_return_status := FND_API.G_RET_STS_ERROR;
240         END IF;
241     END IF;
242 
243     IF  p_Line_Scredit_rec.dw_update_advice_flag IS NOT NULL
244     THEN
245         IF NOT OE_CNCL_Validate.Dw_Update_Advice(p_Line_Scredit_rec.dw_update_advice_flag) THEN
246             x_return_status := FND_API.G_RET_STS_ERROR;
247         END IF;
248     END IF;
249 
250 /*    IF  p_Line_Scredit_rec.header_id IS NOT NULL
251     THEN
252         IF NOT OE_CNCL_Validate.Header(p_Line_Scredit_rec.header_id) THEN
253             x_return_status := FND_API.G_RET_STS_ERROR;
254         END IF;
255     END IF;
256 */
257 
258     IF  p_Line_Scredit_rec.last_updated_by IS NOT NULL
259     THEN
260         IF NOT OE_CNCL_Validate.Last_Updated_By(p_Line_Scredit_rec.last_updated_by) THEN
261             x_return_status := FND_API.G_RET_STS_ERROR;
262         END IF;
263     END IF;
264 
265     IF  p_Line_Scredit_rec.last_update_date IS NOT NULL
266     THEN
267         IF NOT OE_CNCL_Validate.Last_Update_Date(p_Line_Scredit_rec.last_update_date) THEN
268             x_return_status := FND_API.G_RET_STS_ERROR;
269         END IF;
270     END IF;
271 
272     IF  p_Line_Scredit_rec.last_update_login IS NOT NULL
273     THEN
274         IF NOT OE_CNCL_Validate.Last_Update_Login(p_Line_Scredit_rec.last_update_login) THEN
275             x_return_status := FND_API.G_RET_STS_ERROR;
276         END IF;
277     END IF;
278 
279 /*    IF  p_Line_Scredit_rec.line_id IS NOT NULL
280     THEN
281         IF NOT OE_CNCL_Validate.Line(p_Line_Scredit_rec.line_id) THEN
282             x_return_status := FND_API.G_RET_STS_ERROR;
283         END IF;
284     END IF;
285 */
286     IF  p_Line_Scredit_rec.percent IS NOT NULL
287     THEN
288         IF NOT OE_CNCL_Validate.Percent(p_Line_Scredit_rec.percent) THEN
289             x_return_status := FND_API.G_RET_STS_ERROR;
290         END IF;
291     END IF;
292 
293 
294     IF  p_Line_Scredit_rec.salesrep_id IS NOT NULL
295     THEN
296         IF NOT OE_CNCL_Validate.Salesrep(p_Line_Scredit_rec.salesrep_id) THEN
297             x_return_status := FND_API.G_RET_STS_ERROR;
298         END IF;
299     END IF;
300 
301 /*    IF  p_Line_Scredit_rec.sales_credit_id IS NOT NULL
302     THEN
303         IF NOT OE_CNCL_Validate.Sales_Credit(p_Line_Scredit_rec.sales_credit_id) THEN
304             x_return_status := FND_API.G_RET_STS_ERROR;
305         END IF;
306     END IF;
307 */
308 
309     IF  p_Line_Scredit_rec.wh_update_date IS NOT NULL
310     THEN
311         IF NOT OE_CNCL_Validate.Wh_Update_Date(p_Line_Scredit_rec.wh_update_date) THEN
312             x_return_status := FND_API.G_RET_STS_ERROR;
313         END IF;
314     END IF;
315 
316     IF   p_Line_Scredit_rec.attribute1 IS NOT NULL
317 
318     OR   p_Line_Scredit_rec.attribute10 IS NOT NULL
319     OR   p_Line_Scredit_rec.attribute11 IS NOT NULL
320     OR   p_Line_Scredit_rec.attribute12 IS NOT NULL
321     OR   p_Line_Scredit_rec.attribute13 IS NOT NULL
322     OR   p_Line_Scredit_rec.attribute14 IS NOT NULL
323     OR   p_Line_Scredit_rec.attribute15 IS NOT NULL
324     OR   p_Line_Scredit_rec.attribute2 IS NOT NULL
325     OR   p_Line_Scredit_rec.attribute3 IS NOT NULL
326     OR   p_Line_Scredit_rec.attribute4 IS NOT NULL
327     OR   p_Line_Scredit_rec.attribute5 IS NOT NULL
328     OR   p_Line_Scredit_rec.attribute6 IS NOT NULL
329     OR   p_Line_Scredit_rec.attribute7 IS NOT NULL
330     OR   p_Line_Scredit_rec.attribute8 IS NOT NULL
331     OR   p_Line_Scredit_rec.attribute9 IS NOT NULL
332     OR   p_Line_Scredit_rec.context IS NOT NULL
333     THEN
334 
335 
336          oe_debug_pub.add('Before calling Line Sales_Credits_Desc_Flex',2);
337          IF NOT OE_CNCL_VALIDATE.Sales_Credits_Desc_Flex
338           (p_context            => p_Line_Scredit_rec.context
339           ,p_attribute1         => p_Line_Scredit_rec.attribute1
340           ,p_attribute2         => p_Line_Scredit_rec.attribute2
341           ,p_attribute3         => p_Line_Scredit_rec.attribute3
342           ,p_attribute4         => p_Line_Scredit_rec.attribute4
343           ,p_attribute5         => p_Line_Scredit_rec.attribute5
344           ,p_attribute6         => p_Line_Scredit_rec.attribute6
345           ,p_attribute7         => p_Line_Scredit_rec.attribute7
346           ,p_attribute8         => p_Line_Scredit_rec.attribute8
347           ,p_attribute9         => p_Line_Scredit_rec.attribute9
348           ,p_attribute10        => p_Line_Scredit_rec.attribute10
349           ,p_attribute11        => p_Line_Scredit_rec.attribute11
350           ,p_attribute12        => p_Line_Scredit_rec.attribute12
351           ,p_attribute13        => p_Line_Scredit_rec.attribute13
352           ,p_attribute14        => p_Line_Scredit_rec.attribute14
353           ,p_attribute15        => p_Line_Scredit_rec.attribute15) THEN
354 
355            x_return_status := FND_API.G_RET_STS_ERROR;
356 
357          END IF;
358          oe_debug_pub.add('After Line Sales_Credits_Desc_Flex  ' || x_return_status,2);
359 
360     END IF;
361 
362    OE_DEBUG_PUB.Add('Exiting OE_CNCL_VALIDATE_LINE_SCREDIT.Attributes',1);
363     --  Done validating attributes
364 
365 EXCEPTION
366 
367     WHEN FND_API.G_EXC_ERROR THEN
368 
369         x_return_status := FND_API.G_RET_STS_ERROR;
370 
371     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
372 
373         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
374 
375     WHEN OTHERS THEN
376 
377         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
378 
379         IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
380         THEN
381             oe_msg_pub.add_Exc_Msg
382             (   G_PKG_NAME
383             ,   'Attributes'
384             );
385         END IF;
386 
387 END Attributes;
388 
389 
390 END OE_CNCL_Validate_Line_Scredit;