DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_CNCL_VAL_HEADER_SCREDIT

Source


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