DBA Data[Home] [Help]

PACKAGE BODY: APPS.ONT_ITEM_DEF_UTIL

Source


1 PACKAGE BODY ONT_ITEM_Def_Util AS
2 /* $Header: OEXDFWKB.pls 115.0 30-MAR-09 23:23:31 appldev ship $ */
3  
4 --  
5 --  Copyright (c) 1996 Oracle Corporation, Redwood Shores, CA, USA
6 --  All rights reserved.
7 --  
8 --  FILENAME
9 --  
10 --      ONT_ITEM_Def_Util
11 --  
12 --  DESCRIPTION
13 --  
14 --      Body of package ONT_ITEM_Def_Util
15 --  
16 --  NOTES
17 --  
18 --  HISTORY
19 --  
20 --  30-MAR-09 Created
21 --  
22  
23 --  Global constant holding the package name
24 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'ONT_ITEM_Def_Util';
25  
26  
27   g_database_object_name varchar2(30) :='OE_AK_INVENTORY_ITEMS_V';
28  
29  
30 FUNCTION Get_Attr_Val_Varchar2
31 (   p_attr_code                     IN  VARCHAR2
32 ,   p_record                        IN  OE_AK_INVENTORY_ITEMS_V%ROWTYPE 
33 ) RETURN VARCHAR2
34 IS
35 BEGIN
36  
37 IF p_attr_code =('ACCOUNTING_RULE_ID') THEN
38   IF NVL(p_record.ACCOUNTING_RULE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
39   RETURN p_record.ACCOUNTING_RULE_ID;
40   ELSE
41   RETURN NULL; 
42   END IF;
43 ELSIF p_attr_code =('BUILD_IN_WIP_FLAG') THEN
44   IF NVL(p_record.BUILD_IN_WIP_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
45   RETURN p_record.BUILD_IN_WIP_FLAG;
46   ELSE
47   RETURN NULL; 
48   END IF;
49 ELSIF p_attr_code =('CHARGE_PERIODICITY_CODE') THEN
50   IF NVL(p_record.CHARGE_PERIODICITY_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
51   RETURN p_record.CHARGE_PERIODICITY_CODE;
52   ELSE
53   RETURN NULL; 
54   END IF;
55 ELSIF p_attr_code =('DEFAULT_SHIPPING_ORG') THEN
56   IF NVL(p_record.DEFAULT_SHIPPING_ORG, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
57   RETURN p_record.DEFAULT_SHIPPING_ORG;
58   ELSE
59   RETURN NULL; 
60   END IF;
61 ELSIF p_attr_code =('INVENTORY_ITEM_ID') THEN
62   IF NVL(p_record.INVENTORY_ITEM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
63   RETURN p_record.INVENTORY_ITEM_ID;
64   ELSE
65   RETURN NULL; 
66   END IF;
67 ELSIF p_attr_code =('INVOICING_RULE_ID') THEN
68   IF NVL(p_record.INVOICING_RULE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
69   RETURN p_record.INVOICING_RULE_ID;
70   ELSE
71   RETURN NULL; 
72   END IF;
73 ELSIF p_attr_code =('ORGANIZATION_ID') THEN
74   IF NVL(p_record.ORGANIZATION_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
75   RETURN p_record.ORGANIZATION_ID;
76   ELSE
77   RETURN NULL; 
78   END IF;
79 ELSIF p_attr_code =('OVER_RETURN_TOLERANCE') THEN
80   IF NVL(p_record.OVER_RETURN_TOLERANCE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
81   RETURN p_record.OVER_RETURN_TOLERANCE;
82   ELSE
83   RETURN NULL; 
84   END IF;
85 ELSIF p_attr_code =('OVER_SHIPMENT_TOLERANCE') THEN
86   IF NVL(p_record.OVER_SHIPMENT_TOLERANCE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
87   RETURN p_record.OVER_SHIPMENT_TOLERANCE;
88   ELSE
89   RETURN NULL; 
90   END IF;
91 ELSIF p_attr_code =('PAYMENT_TERM_ID') THEN
92   IF NVL(p_record.PAYMENT_TERM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
93   RETURN p_record.PAYMENT_TERM_ID;
94   ELSE
95   RETURN NULL; 
96   END IF;
97 ELSIF p_attr_code =('PICK_COMPONENTS_FLAG') THEN
98   IF NVL(p_record.PICK_COMPONENTS_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
99   RETURN p_record.PICK_COMPONENTS_FLAG;
100   ELSE
101   RETURN NULL; 
102   END IF;
103 ELSIF p_attr_code =('PRIMARY_UOM_CODE') THEN
104   IF NVL(p_record.PRIMARY_UOM_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
105   RETURN p_record.PRIMARY_UOM_CODE;
106   ELSE
107   RETURN NULL; 
108   END IF;
109 ELSIF p_attr_code =('REPLENISH_TO_ORDER_FLAG') THEN
110   IF NVL(p_record.REPLENISH_TO_ORDER_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
111   RETURN p_record.REPLENISH_TO_ORDER_FLAG;
112   ELSE
113   RETURN NULL; 
114   END IF;
115 ELSIF p_attr_code =('SERVICE_DURATION') THEN
116   IF NVL(p_record.SERVICE_DURATION, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
117   RETURN p_record.SERVICE_DURATION;
118   ELSE
119   RETURN NULL; 
120   END IF;
121 ELSIF p_attr_code =('SERVICE_PERIOD') THEN
122   IF NVL(p_record.SERVICE_DURATION_PERIOD_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
123   RETURN p_record.SERVICE_DURATION_PERIOD_CODE;
124   ELSE
125   RETURN NULL; 
126   END IF;
127 ELSIF p_attr_code =('SHIP_MODEL_COMPLETE_FLAG') THEN
128   IF NVL(p_record.SHIP_MODEL_COMPLETE_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
129   RETURN p_record.SHIP_MODEL_COMPLETE_FLAG;
130   ELSE
131   RETURN NULL; 
132   END IF;
133 ELSIF p_attr_code =('SOURCE_TYPE_CODE') THEN
134   IF NVL(p_record.SOURCE_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
135   RETURN p_record.SOURCE_TYPE_CODE;
136   ELSE
137   RETURN NULL; 
138   END IF;
139 ELSIF p_attr_code =('UNDER_RETURN_TOLERANCE') THEN
140   IF NVL(p_record.UNDER_RETURN_TOLERANCE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
141   RETURN p_record.UNDER_RETURN_TOLERANCE;
142   ELSE
143   RETURN NULL; 
144   END IF;
145 ELSIF p_attr_code =('UNDER_SHIPMENT_TOLERANCE') THEN
146   IF NVL(p_record.UNDER_SHIPMENT_TOLERANCE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
147   RETURN p_record.UNDER_SHIPMENT_TOLERANCE;
148   ELSE
149   RETURN NULL; 
150   END IF;
151 ELSE
152 RETURN NULL; 
153 END IF;
154 END  Get_Attr_Val_Varchar2;
155  
156  
157 FUNCTION Get_Attr_Val_Date
158 (   p_attr_code                     IN  VARCHAR2
159 ,   p_record                        IN  OE_AK_INVENTORY_ITEMS_V%ROWTYPE 
160 ) RETURN DATE
161 IS
162 BEGIN
163  
164 IF p_attr_code =('ACCOUNTING_RULE_ID') THEN
165     IF NVL(p_record.ACCOUNTING_RULE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
166     RETURN to_date(p_record.ACCOUNTING_RULE_ID,'RRRR/MM/DD HH24:MI:SS');
167     ELSE
168     RETURN NULL; 
169     END IF;
170 ELSIF p_attr_code =('BUILD_IN_WIP_FLAG') THEN
171     IF NVL(p_record.BUILD_IN_WIP_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
172     RETURN to_date(p_record.BUILD_IN_WIP_FLAG,'RRRR/MM/DD HH24:MI:SS');
173     ELSE
174     RETURN NULL; 
175     END IF;
176 ELSIF p_attr_code =('CHARGE_PERIODICITY_CODE') THEN
177     IF NVL(p_record.CHARGE_PERIODICITY_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
178     RETURN to_date(p_record.CHARGE_PERIODICITY_CODE,'RRRR/MM/DD HH24:MI:SS');
179     ELSE
180     RETURN NULL; 
181     END IF;
182 ELSIF p_attr_code =('DEFAULT_SHIPPING_ORG') THEN
183     IF NVL(p_record.DEFAULT_SHIPPING_ORG, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
184     RETURN to_date(p_record.DEFAULT_SHIPPING_ORG,'RRRR/MM/DD HH24:MI:SS');
185     ELSE
186     RETURN NULL; 
187     END IF;
188 ELSIF p_attr_code =('INVENTORY_ITEM_ID') THEN
189     IF NVL(p_record.INVENTORY_ITEM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
190     RETURN to_date(p_record.INVENTORY_ITEM_ID,'RRRR/MM/DD HH24:MI:SS');
191     ELSE
192     RETURN NULL; 
193     END IF;
194 ELSIF p_attr_code =('INVOICING_RULE_ID') THEN
195     IF NVL(p_record.INVOICING_RULE_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
196     RETURN to_date(p_record.INVOICING_RULE_ID,'RRRR/MM/DD HH24:MI:SS');
197     ELSE
198     RETURN NULL; 
199     END IF;
200 ELSIF p_attr_code =('ORGANIZATION_ID') THEN
201     IF NVL(p_record.ORGANIZATION_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
202     RETURN to_date(p_record.ORGANIZATION_ID,'RRRR/MM/DD HH24:MI:SS');
203     ELSE
204     RETURN NULL; 
205     END IF;
206 ELSIF p_attr_code =('OVER_RETURN_TOLERANCE') THEN
207     IF NVL(p_record.OVER_RETURN_TOLERANCE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
208     RETURN to_date(p_record.OVER_RETURN_TOLERANCE,'RRRR/MM/DD HH24:MI:SS');
209     ELSE
210     RETURN NULL; 
211     END IF;
212 ELSIF p_attr_code =('OVER_SHIPMENT_TOLERANCE') THEN
213     IF NVL(p_record.OVER_SHIPMENT_TOLERANCE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
214     RETURN to_date(p_record.OVER_SHIPMENT_TOLERANCE,'RRRR/MM/DD HH24:MI:SS');
215     ELSE
216     RETURN NULL; 
217     END IF;
218 ELSIF p_attr_code =('PAYMENT_TERM_ID') THEN
219     IF NVL(p_record.PAYMENT_TERM_ID, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
220     RETURN to_date(p_record.PAYMENT_TERM_ID,'RRRR/MM/DD HH24:MI:SS');
221     ELSE
222     RETURN NULL; 
223     END IF;
224 ELSIF p_attr_code =('PICK_COMPONENTS_FLAG') THEN
225     IF NVL(p_record.PICK_COMPONENTS_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
226     RETURN to_date(p_record.PICK_COMPONENTS_FLAG,'RRRR/MM/DD HH24:MI:SS');
227     ELSE
228     RETURN NULL; 
229     END IF;
230 ELSIF p_attr_code =('PRIMARY_UOM_CODE') THEN
231     IF NVL(p_record.PRIMARY_UOM_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
232     RETURN to_date(p_record.PRIMARY_UOM_CODE,'RRRR/MM/DD HH24:MI:SS');
233     ELSE
234     RETURN NULL; 
235     END IF;
236 ELSIF p_attr_code =('REPLENISH_TO_ORDER_FLAG') THEN
237     IF NVL(p_record.REPLENISH_TO_ORDER_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
238     RETURN to_date(p_record.REPLENISH_TO_ORDER_FLAG,'RRRR/MM/DD HH24:MI:SS');
239     ELSE
240     RETURN NULL; 
241     END IF;
242 ELSIF p_attr_code =('SERVICE_DURATION') THEN
243     IF NVL(p_record.SERVICE_DURATION, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
244     RETURN to_date(p_record.SERVICE_DURATION,'RRRR/MM/DD HH24:MI:SS');
245     ELSE
246     RETURN NULL; 
247     END IF;
248 ELSIF p_attr_code =('SERVICE_PERIOD') THEN
249     IF NVL(p_record.SERVICE_DURATION_PERIOD_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
250     RETURN to_date(p_record.SERVICE_DURATION_PERIOD_CODE,'RRRR/MM/DD HH24:MI:SS');
251     ELSE
252     RETURN NULL; 
253     END IF;
254 ELSIF p_attr_code =('SHIP_MODEL_COMPLETE_FLAG') THEN
255     IF NVL(p_record.SHIP_MODEL_COMPLETE_FLAG, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
256     RETURN to_date(p_record.SHIP_MODEL_COMPLETE_FLAG,'RRRR/MM/DD HH24:MI:SS');
257     ELSE
258     RETURN NULL; 
259     END IF;
260 ELSIF p_attr_code =('SOURCE_TYPE_CODE') THEN
261     IF NVL(p_record.SOURCE_TYPE_CODE, FND_API.G_MISS_CHAR) <> FND_API.G_MISS_CHAR THEN
262     RETURN to_date(p_record.SOURCE_TYPE_CODE,'RRRR/MM/DD HH24:MI:SS');
263     ELSE
264     RETURN NULL; 
265     END IF;
266 ELSIF p_attr_code =('UNDER_RETURN_TOLERANCE') THEN
267     IF NVL(p_record.UNDER_RETURN_TOLERANCE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
268     RETURN to_date(p_record.UNDER_RETURN_TOLERANCE,'RRRR/MM/DD HH24:MI:SS');
269     ELSE
270     RETURN NULL; 
271     END IF;
272 ELSIF p_attr_code =('UNDER_SHIPMENT_TOLERANCE') THEN
273     IF NVL(p_record.UNDER_SHIPMENT_TOLERANCE, FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM THEN
274     RETURN to_date(p_record.UNDER_SHIPMENT_TOLERANCE,'RRRR/MM/DD HH24:MI:SS');
275     ELSE
276     RETURN NULL; 
277     END IF;
278 ELSE
279 RETURN NULL; 
280 END IF;
281  
282 END  Get_Attr_Val_Date;
283  
284  
285   PROCEDURE Clear_ITEM_Cache
286   IS  
287   BEGIN  
288   g_cached_record.INVENTORY_ITEM_ID := null;
289   g_cached_record.ORGANIZATION_ID := null;
290    END Clear_ITEM_Cache;
291  
292  
293 FUNCTION Sync_ITEM_Cache
294 (   p_INVENTORY_ITEM_ID             IN  NUMBER
295 ,   p_ORGANIZATION_ID               IN  NUMBER
296  
297  
298 ) RETURN NUMBER
299 IS
300 CURSOR cache IS 
301   SELECT * FROM   OE_AK_INVENTORY_ITEMS_V
302   WHERE INVENTORY_ITEM_ID  = p_INVENTORY_ITEM_ID
303   AND ORGANIZATION_ID  = p_ORGANIZATION_ID
304   ;
305 BEGIN
306  
307 IF (NVL(p_INVENTORY_ITEM_ID,FND_API.G_MISS_NUM)  = FND_API.G_MISS_NUM) 
308 OR (NVL(p_ORGANIZATION_ID,FND_API.G_MISS_NUM)  = FND_API.G_MISS_NUM) 
309 THEN
310   RETURN 0 ;
311 ELSIF (NVL(g_cached_record.INVENTORY_ITEM_ID,FND_API.G_MISS_NUM)  <>  p_INVENTORY_ITEM_ID) 
312 OR (NVL(g_cached_record.ORGANIZATION_ID,FND_API.G_MISS_NUM)  <>  p_ORGANIZATION_ID) 
313 THEN
314   Clear_ITEM_Cache;
315   Open cache;
316   FETCH cache into g_cached_record;
317   IF cache%NOTFOUND THEN
318     RETURN 0;
319   END IF;
320   Close cache;
321   RETURN 1 ;
322 END IF;
323  
324   RETURN 1 ;
325 EXCEPTION
326   WHEN OTHERS THEN 
327   RETURN 0 ;
328 END Sync_ITEM_Cache;
329  
330  
331 END ONT_ITEM_Def_Util;