DBA Data[Home] [Help]

PACKAGE: APPS.INV_VALIDATE

Source


1 PACKAGE INV_Validate AUTHID CURRENT_USER AS
2 /* $Header: INVSVATS.pls 120.7 2011/05/23 11:33:37 rdudani ship $ */
3 
4 --  Procedure Get_Attr_Tbl;
5 --
6 --  Used by generator to avoid overriding or duplicating existing
7 --  validation functions.
8 --
9 --  DO NOT MODIFY
10 
11 PROCEDURE Get_Attr_Tbl;
12 
13 --  Prototypes for validate functions.
14 
15 --  START GEN validate
16 
17 --  Generator will append new prototypes before end generate comment.
18 
19 T CONSTANT NUMBER := 1;
20 F CONSTANT NUMBER := 0;
21 
22 /*** Various row types for the IN OUT parameters ***/
23 SUBTYPE ORG     IS MTL_PARAMETERS%ROWTYPE;
24 SUBTYPE ITEM    IS MTL_SYSTEM_ITEMS%ROWTYPE;
25 SUBTYPE SUB     IS MTL_SECONDARY_INVENTORIES%ROWTYPE;
26 SUBTYPE LOCATOR IS MTL_ITEM_LOCATIONS%ROWTYPE;
27 SUBTYPE LOT     IS MTL_LOT_NUMBERS%ROWTYPE;
28 SUBTYPE SERIAL  IS MTL_SERIAL_NUMBERS%ROWTYPE;
29 SUBTYPE transaction IS mtl_transaction_types%ROWTYPE;
30 
31 /* Added the below types for Bug# 6633612
32  */
33 TYPE SERIAL_NUMBER_TBL IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
34 
35 g_kf_segment_values FND_FLEX_EXT.SegmentArray;
36 EXISTS_ONLY            CONSTANT VARCHAR2(20) :=  'FIND_COMBINATION';
37 
38 /* Bug# 3595460. Changed the operation CREATE_COMBINATION to CREATE_COMB_NO_AT */
39 --EXISTS_OR_CREATE       CONSTANT VARCHAR2(20) :=  'CREATE_COMBINATION';
40 EXISTS_OR_CREATE       CONSTANT VARCHAR2(20) :=  'CREATE_COMB_NO_AT';
41 
42 /***generate the concatenated segment given the application short name like
43 'INV' OR 'FND' AND the key flex field code LIKE 'MTLL' and the structure
44   NUMBER LIKE 101 ***/
45 FUNCTION concat_segments(p_appl_short_name IN VARCHAR2,
46                          p_key_flex_code IN VARCHAR2,
47                          p_structure_number IN NUMBER) RETURN VARCHAR2;
48 
49 FUNCTION Desc_Flex ( p_flex_name IN VARCHAR2 )RETURN NUMBER;
50 
51 function check_creation_updation(p_created_updated_by in number,
52                                  p_is_creation in number)return NUMBER;
53 
54 FUNCTION Created_By(p_created_by IN NUMBER)RETURN NUMBER;
55 
56 function check_date(p_date in date, p_msg in varchar2)return NUMBER;
57 
58 FUNCTION Creation_Date(p_creation_date IN DATE)RETURN NUMBER;
59 
60 -- Bug 4373226 added parameter transaction_date for
61 -- checking the conversion rate on the basis of
62 -- transaction date but not on sysdate
63 FUNCTION conversion_rate(from_org IN NUMBER,
64                          to_org IN NUMBER, transaction_date DATE DEFAULT SYSDATE) RETURN NUMBER;
65 
66 
67 FUNCTION Description(p_description IN VARCHAR2)RETURN NUMBER;
68 
69 /*** validates employee based on either employee id or the employee
70 name. If need to validate based on employee name then employee id should be
71   null. It returns F if all three are null. Also, if name results in multiple
72   records, gives a error asking for employee id. Passing any of the three
73   will return the other two if the validation is successful.
74 ***/
75   FUNCTION Employee(p_employee_id IN OUT NOCOPY NUMBER,
76                     p_last_name IN OUT NOCOPY VARCHAR2,
77                     p_full_name IN OUT NOCOPY VARCHAR2,
78                     p_org IN org)RETURN NUMBER;
79 
80 /*** Validates a from subinventory in the context of an org and item.
81  if it is an account transfer then p_acct_txn should be 1. else 0.***/
82 FUNCTION From_Subinventory(p_sub IN OUT NOCOPY SUB,
83                            p_org IN ORG,
84                            p_item IN ITEM,
85                            p_acct_txn IN NUMBER)RETURN NUMBER;
86 
87 /* Bug# 6633612
88  * Added Overloaded From_Subinventory function for Material Status Enhancement Project
89  * This function would call the existing From_Subinventory function and then
90  * call inv_material_status_grp.is_status_applicable() API to check validity of status
91  * for this subinventory for a given transaction type.
92  */
93 FUNCTION From_Subinventory(p_sub IN OUT NOCOPY SUB,
94                            p_org IN ORG,
95                            p_item IN ITEM,
96                            p_acct_txn IN NUMBER,
97                            p_trx_type_id IN NUMBER, -- For Bug# 6633612
98                            p_object_type IN VARCHAR2 DEFAULT 'Z'-- For Bug# 6633612
99                           )RETURN NUMBER;
100 
101 
102 FUNCTION Last_Updated_By(p_last_updated_by IN NUMBER)RETURN NUMBER;
103 
104 FUNCTION Last_Update_Date(p_last_update_date IN DATE)RETURN NUMBER;
105 
106 FUNCTION Last_Update_Login(p_last_update_login IN NUMBER)RETURN NUMBER;
107 
108 /*** Validates organization. ***/
109 FUNCTION Organization(p_org IN OUT nocopy ORG)RETURN NUMBER;
110 
111 FUNCTION Program_Application(p_program_application_id IN NUMBER)RETURN NUMBER;
112 
113 FUNCTION Program(p_program_id IN NUMBER)RETURN NUMBER;
114 
115 FUNCTION Program_Update_Date(p_program_update_date IN DATE)RETURN NUMBER;
116 
117 FUNCTION To_Account(p_to_account_id IN NUMBER)RETURN NUMBER;
118 
119 /*** Validates a from subinventory in the context of an org and item.
120  if it is an account transfer then p_acct_txn should be 1. else 0.***/
121 FUNCTION To_Subinventory(p_sub IN OUT NOCOPY SUB,
122                          p_org IN ORG,
123                          p_item IN ITEM,
124                          p_from_sub IN SUB,
125                          p_acct_txn IN NUMBER)RETURN NUMBER;
126 
127 /* Bug# 6633612
128  * Added Overloaded To_Subinventory function for Material Status Enhancement Project
129  * This function would call the existing To_Subinventory function and then
130  * call inv_material_status_grp.is_status_applicable() API to check validity of status
131  * for this subinventory for a given transaction type.
132  */
133 FUNCTION To_Subinventory(p_sub IN OUT NOCOPY SUB,
134                          p_org IN ORG,
135                          p_item IN ITEM,
136                          p_from_sub IN SUB,
137                          p_acct_txn IN NUMBER,
138                          p_trx_type_id IN NUMBER, -- For Bug# 6633612
139                          p_object_type IN VARCHAR2 DEFAULT 'Z' -- For Bug# 6633612
140                         )RETURN NUMBER;
141 
142 
143 /*** Validates a given transaction_type_id and if valid returns the corresponding
144   transaction_action_id and transaction_source_type_id***/
145 FUNCTION Transaction_Type(p_transaction_type_id IN NUMBER,
146                           x_transaction_action_id OUT NOCOPY NUMBER,
147                           x_transaction_source_type_id OUT NOCOPY NUMBER) RETURN NUMBER;
148 
149 /*** Validates a given transaction_type ***/
150 FUNCTION transaction_type(x_transaction IN OUT nocopy transaction)RETURN
151   NUMBER;
152 
153 /*** Validates locator in context of org,item,sub. This is mainly an internal
154      routine used by other public api functions. So, avoid using this. ***/
155 function check_locator(p_locator IN OUT nocopy locator,
156                        p_org IN ORG,
157                        p_item IN ITEM,
158                        p_sub IN SUB,
159                        p_project_id IN NUMBER,
160                        p_task_id IN NUMBER,
161                        p_txn_action_id IN number,
162                        p_is_from_locator in NUMBER,
163                        p_dynamic_ok IN BOOLEAN)RETURN NUMBER;
164 
165 /*** Validates from locator in the context of an org,item,sub,project,task
166     and a transaction_action ***/
167 FUNCTION From_Locator(p_locator IN OUT nocopy locator,
168                       p_org IN ORG,
169                       p_item IN ITEM,
170                       p_from_sub IN SUB,
171                       p_project_id IN NUMBER,
172                       p_task_id IN NUMBER,
173                       p_txn_action_id IN number
174                       )RETURN NUMBER;
175 
176 /*** Validates item in context of an org. p_validation_mode can be null. It
177     is useful if one needs to validate the item using the item-flexfield
178       then one needs to give the mode of validation chosen from the two
179       modes listed above***/
180 FUNCTION inventory_item(p_item IN OUT nocopy item,
181                         p_org IN org)RETURN NUMBER;
182 /***Added overloaded function to pass the transaction_type_id, because
183 we are allowing delivery of PO receipt for expense items as part of this bug***/
184 FUNCTION inventory_item(p_item IN OUT nocopy item,
185 		        p_org IN org,
186 			p_transaction_type IN NUMBER)RETURN NUMBER;--bug9267446
187 
188 /** Validates locator in the context of an org and sub  p_validation_mode
189     can be null. It is useful if one needs to validate the item using the
190       item-flexfield then one needs to give the mode of validation chosen
191       from the two modes listed above***/
192 FUNCTION validateLocator(p_locator IN OUT nocopy locator,
193                          p_org IN org,
194                          p_sub IN sub,
195                          p_validation_mode IN VARCHAR2 DEFAULT EXISTS_ONLY,
196                          p_value_or_id  IN VARCHAR2 DEFAULT 'V'
197                          ) RETURN NUMBER;
198 
199 /*** Validates locator in the context of an org,sub and a particular item ***/
200 FUNCTION validateLocator(p_locator IN OUT nocopy locator,
201                  p_org IN org,
202                  p_sub IN SUB,
203                  p_item IN item) RETURN NUMBER;
204 
205 /* Bug# 6633612
206  * Added Overloaded validateLocator function for Material Status Enhancement Project
207  * This function would call the existing validateLocator function and then
208  * call inv_material_status_grp.is_status_applicable() API to check validity of status
209  * for this subinventory, locator for a given transaction type.
210  */
211 FUNCTION validateLocator(p_locator IN OUT nocopy locator,
212                          p_org IN org,
213                          p_sub IN SUB,
214                          p_item IN item,
215                          p_trx_type_id IN NUMBER, -- For Bug# 6633612
216                          p_object_type IN VARCHAR2 DEFAULT 'L' -- For Bug# 6633612
217                         ) RETURN NUMBER;
218 
219 
220 /*** Validates a lot in the context of an org,sub,item,location and item revision ***/
221 FUNCTION Lot_Number(p_lot IN OUT nocopy lot,
222                     p_org IN ORG,
223                     p_item IN ITEM,
224                     p_from_sub IN SUB,
225                     p_loc in LOCATOR,
226                     p_revision in VARCHAR)RETURN NUMBER;
227 
228 /* Bug# 6633612
229  * Added Overloaded Lot_Number function for Material Status Enhancement Project
230  * This function would call the existing Lot_Number function and then
231  * call inv_material_status_grp.is_status_applicable() API to check validity of status
232  * for this subinventory, locator, lot for a given transaction type.
233  */
234 FUNCTION Lot_Number(p_lot IN OUT nocopy lot,
235                     p_org IN ORG,
236                     p_item IN ITEM,
237                     p_from_sub IN SUB,
238                     p_loc in LOCATOR,
239                     p_revision in VARCHAR,
240                     p_trx_type_id IN NUMBER, -- For Bug# 6633612
241                     p_object_type IN VARCHAR2 DEFAULT 'O', -- For Bug# 6633612
242 					p_lpn_id IN NUMBER DEFAULT NULL        -- bug 12569798
243                    )RETURN NUMBER;
244 
245 
246 /*** Validates a lot in the context of an org and item ***/
247 FUNCTION Lot_Number(p_lot IN OUT nocopy lot,
248                     p_org IN ORG,
249                     p_item IN ITEM)RETURN NUMBER;
250 
251 
252 /*** Validates a project ***/
253 FUNCTION Project(p_project_id IN NUMBER)RETURN NUMBER;
254 
255 FUNCTION Quantity(p_quantity IN NUMBER)RETURN NUMBER;
256 
257 FUNCTION Reason(p_reason_id IN NUMBER)RETURN NUMBER;
258 
259 FUNCTION Reference(p_reference IN VARCHAR2)RETURN NUMBER;
260 
261 FUNCTION Reference(p_reference_id IN NUMBER,
262                    p_reference_type_code IN NUMBER) RETURN NUMBER;
263 
264 FUNCTION Reference_Type(p_reference_type_code IN NUMBER)RETURN NUMBER;
265 
266 /*** Validates revision of an item in the context of org and item ***/
267 FUNCTION Revision(p_revision IN VARCHAR2,
268                   p_org IN ORG,
269                   p_item IN ITEM)RETURN NUMBER;
270 
271 /*** Validates serial numbers in context of org,item,sub,lot,loc. This is
272 mainly an internal routine used by other public api functions. So, avoid
273   using this. ***/
274 function check_serial(p_serial IN OUT nocopy serial,
275                          p_org in ORG,
276                          p_item IN ITEM,
277                          p_from_sub IN sub,
278                          p_lot in lot,
279                          p_loc in locator,
280                          p_revision in VARCHAR2,
281                          p_msg IN VARCHAR2,
282                          p_txn_type_id IN NUMBER DEFAULT NULL) RETURN NUMBER;
283 
284 /*** Validates serial number in reference to org,item,sub,lot,loc***/
285 function validate_serial(p_serial IN OUT nocopy serial,
286                          p_org in ORG,
287                          p_item IN ITEM,
288                          p_from_sub IN sub,
289                          p_lot in lot,
290                          p_loc in locator,
291                          p_revision in VARCHAR2,
292                          p_txn_type_id IN NUMBER DEFAULT NULL) RETURN NUMBER;
293 
294 /* Bug# 6633612
295  * Added Overloaded validate_serial function for Material Status Enhancement Project
296  * This function would call the existing validate_serial function and then
297  * call inv_material_status_grp.is_status_applicable() API to check validity of status
298  * for this subinventory, locator, lot, serial for a given transaction type.
299  */
300  function validate_serial(p_serial IN OUT nocopy serial,
301                           p_org in ORG,
302                           p_item IN ITEM,
303                           p_from_sub IN sub,
304                           p_lot in lot,
305                           p_loc in locator,
306                           p_revision in VARCHAR2,
307                           p_trx_type_id IN NUMBER, -- For Bug# 6633612
308                           p_object_type IN VARCHAR2 DEFAULT 'S' -- For Bug# 6633612
309                          ) RETURN NUMBER;
310 
311 /* Bug# 6633612
312  * Added validate_serial_range function for Material Status Enhancement Project
313  * This function would call the existing validate_serial function and then
314  * call inv_material_status_grp.is_status_applicable() API to check validity of status
315  * for this subinventory, locator, lot, serial for a given transaction type.
316  */
320                                 p_item IN ITEM,
317  function validate_serial_range(p_fm_serial IN OUT nocopy SERIAL_NUMBER_TBL,
318                                 p_to_serial IN OUT nocopy SERIAL_NUMBER_TBL,
319                                 p_org in ORG,
321                                 p_from_sub IN sub,
322                                 p_lot in lot,
323                                 p_loc in locator,
324                                 p_revision in VARCHAR2,
325                                 p_trx_type_id IN NUMBER, -- For Bug# 6633612
326                                 p_object_type IN VARCHAR2 DEFAULT 'S', -- For Bug# 6633612
327                                 x_errored_serials OUT nocopy SERIAL_NUMBER_TBL -- For Bug# 6633612
328                                ) RETURN NUMBER;
329 
330 /*** Validates starting serial number in reference to org,item,sub,lot,loc***/
331 FUNCTION Serial_Number_End(p_serial IN OUT nocopy serial,
332                            p_org in ORG,
333                            p_item IN ITEM,
334                            p_from_sub IN sub,
335                            p_lot in lot,
336                            p_loc in Locator,
337                            p_revision in VARCHAR2) RETURN NUMBER;
338 
339 /*** Validates ending serial number in reference to org,item,sub,lot,loc***/
340 FUNCTION Serial_Number_Start(p_serial IN OUT nocopy serial,
341                              p_org IN org,
342                              p_item in item,
343                              p_from_sub in sub,
344                              p_lot in lot,
345                              p_loc in Locator,
346                              p_revision in VARCHAR2)RETURN NUMBER;
347 
348 FUNCTION subinventory(p_sub IN OUT nocopy sub,
349                       p_org IN org) RETURN NUMBER;
350 
351 FUNCTION subinventory(p_sub IN OUT nocopy sub,
352                       p_org IN org,
353                       p_item IN item)RETURN NUMBER;
354 
355 FUNCTION Task(p_task_id IN NUMBER, p_project_id IN NUMBER)RETURN NUMBER;
356 
357 /*** Validates to locator in the context of an org,item,sub,project,task
358     and a transaction_action ***/
359 FUNCTION To_Locator(p_locator IN OUT nocopy locator,
360                     p_org           IN ORG,
361                     p_item          IN ITEM,
362                     p_to_sub        IN SUB,
363                     p_project_id    IN NUMBER,
364                     p_task_id       IN NUMBER,
365                     p_txn_action_id IN number)RETURN NUMBER;
366 
367 FUNCTION Transaction_Header(p_transaction_header_id IN NUMBER)RETURN NUMBER;
368 
369 FUNCTION HR_Location(p_hr_location IN NUMBER) RETURN NUMBER;
370 
371 /*** Validates the txn uom in the context of an org and an item ***/
372 FUNCTION Uom(p_uom_code IN VARCHAR2,
373              p_org IN ORG,
374              p_item IN ITEM)RETURN NUMBER;
375 
376 --  END GEN validate
377 PROCEDURE NUMBER_FROM_SEQUENCE (
378         p_sequence    IN   VARCHAR2,
379         x_prefix     OUT   NOCOPY VARCHAR2,
380         x_number     OUT   NOCOPY NUMBER
381 );
382 
383 FUNCTION Cost_Group(p_cost_group_id IN NUMBER,
384                      p_org_id IN NUMBER) return NUMBER;
385 
386 FUNCTION LPN(p_lpn_id IN NUMBER) RETURN NUMBER;
387 --INVCONV
388 FUNCTION Secondary_Quantity(p_secondary_quantity IN NUMBER)RETURN NUMBER;
389 --INVCONV
390 
391 --Start of new code added as part of eIB Build. Bug# 4348541
392 PROCEDURE check_pending_transaction(
393   p_transaction_type_id IN NUMBER,
394   p_pending_tran_flag   OUT NOCOPY NUMBER);
395 PROCEDURE check_location_required_setup(
396   p_transaction_type_id IN NUMBER,
397   p_required_flag       OUT NOCOPY VARCHAR2);
398 --End of new code added as part of eIB Build. Bug# 4348541
399 
400 END INV_Validate;