DBA Data[Home] [Help]

PACKAGE BODY: APPS.WIP_VALIDATE

Source


1 PACKAGE BODY WIP_Validate AS
2 /* $Header: WIPSVATB.pls 120.2 2006/02/21 11:18:00 sjchen noship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'WIP_Validate';
7 
8 --  Procedure Get_Attr_Tbl.
9 --
10 --  Used by generator to avoid overriding or duplicating existing
11 --  validation functions.
12 --
13 --  DO NOT REMOVE
14 
15 PROCEDURE Get_Attr_Tbl
16 IS
17 I                             NUMBER:=0;
18 BEGIN
19 
20     FND_API.g_attr_tbl.DELETE;
21 
22 --  START GEN attributes
23 
24 --  Generator will append new attributes before end generate comment.
25 
26     I := I + 1;
27     FND_API.g_attr_tbl(I).name     := 'Desc_Flex';
28     I := I + 1;
29     FND_API.g_attr_tbl(I).name     := 'created_by';
30     I := I + 1;
31     FND_API.g_attr_tbl(I).name     := 'creation_date';
32     I := I + 1;
33     FND_API.g_attr_tbl(I).name     := 'description';
34     I := I + 1;
35     FND_API.g_attr_tbl(I).name     := 'entity_type';
36     I := I + 1;
37     FND_API.g_attr_tbl(I).name     := 'last_updated_by';
38     I := I + 1;
39     FND_API.g_attr_tbl(I).name     := 'last_update_date';
40     I := I + 1;
41     FND_API.g_attr_tbl(I).name     := 'last_update_login';
42     I := I + 1;
43     FND_API.g_attr_tbl(I).name     := 'organization';
44     I := I + 1;
45     FND_API.g_attr_tbl(I).name     := 'primary_item';
46     I := I + 1;
47     FND_API.g_attr_tbl(I).name     := 'program_application';
48     I := I + 1;
49     FND_API.g_attr_tbl(I).name     := 'program';
50     I := I + 1;
51     FND_API.g_attr_tbl(I).name     := 'program_update_date';
52     I := I + 1;
53     FND_API.g_attr_tbl(I).name     := 'request';
54     I := I + 1;
55     FND_API.g_attr_tbl(I).name     := 'wip_entity';
56     I := I + 1;
57     FND_API.g_attr_tbl(I).name     := 'wip_entity_name';
58 
59     I := I + 1;
60     FND_API.g_attr_tbl(I).name     := 'alternate_bom_designator';
61     I := I + 1;
62     FND_API.g_attr_tbl(I).name     := 'alternate_rout_designator';
63     I := I + 1;
64     FND_API.g_attr_tbl(I).name     := 'bom_revision';
65     I := I + 1;
66     FND_API.g_attr_tbl(I).name     := 'bom_revision_date';
67     I := I + 1;
68     FND_API.g_attr_tbl(I).name     := 'build_sequence';
69     I := I + 1;
70     FND_API.g_attr_tbl(I).name     := 'class';
71     I := I + 1;
72     FND_API.g_attr_tbl(I).name     := 'completion_locator';
73     I := I + 1;
74     FND_API.g_attr_tbl(I).name     := 'completion_subinventory';
75     I := I + 1;
76     FND_API.g_attr_tbl(I).name     := 'date_closed';
77     I := I + 1;
78     FND_API.g_attr_tbl(I).name     := 'demand_class';
79     I := I + 1;
80     FND_API.g_attr_tbl(I).name     := 'demand_source_delivery';
81     I := I + 1;
82     FND_API.g_attr_tbl(I).name     := 'demand_source_header';
83     I := I + 1;
84     FND_API.g_attr_tbl(I).name     := 'demand_source_line';
85     I := I + 1;
86     FND_API.g_attr_tbl(I).name     := 'demand_source_type';
87     I := I + 1;
88     FND_API.g_attr_tbl(I).name     := 'kanban_card';
89     I := I + 1;
90     FND_API.g_attr_tbl(I).name     := 'line';
91     I := I + 1;
92     FND_API.g_attr_tbl(I).name     := 'material_account';
93     I := I + 1;
94     FND_API.g_attr_tbl(I).name     := 'material_overhead_account';
95     I := I + 1;
96     FND_API.g_attr_tbl(I).name     := 'material_variance_account';
97     I := I + 1;
98     FND_API.g_attr_tbl(I).name     := 'mps_net_quantity';
99     I := I + 1;
100     FND_API.g_attr_tbl(I).name     := 'mps_scheduled_cpl_date';
101     I := I + 1;
102     FND_API.g_attr_tbl(I).name     := 'osp_account';
103     I := I + 1;
104     FND_API.g_attr_tbl(I).name     := 'osp_variance_account';
105     I := I + 1;
106     FND_API.g_attr_tbl(I).name     := 'overhead_account';
107     I := I + 1;
108     FND_API.g_attr_tbl(I).name     := 'overhead_variance_account';
109     I := I + 1;
110     FND_API.g_attr_tbl(I).name     := 'planned_quantity';
111     I := I + 1;
112     FND_API.g_attr_tbl(I).name     := 'project';
113     I := I + 1;
114     FND_API.g_attr_tbl(I).name     := 'quantity_completed';
115     I := I + 1;
116     FND_API.g_attr_tbl(I).name     := 'resource_account';
117     I := I + 1;
118     FND_API.g_attr_tbl(I).name     := 'resource_variance_account';
119     I := I + 1;
120     FND_API.g_attr_tbl(I).name     := 'routing_revision';
121     I := I + 1;
122     FND_API.g_attr_tbl(I).name     := 'routing_revision_date';
123     I := I + 1;
124     FND_API.g_attr_tbl(I).name     := 'scheduled_completion_date';
125     I := I + 1;
126     FND_API.g_attr_tbl(I).name     := 'scheduled';
127     I := I + 1;
128     FND_API.g_attr_tbl(I).name     := 'scheduled_start_date';
129     I := I + 1;
130     FND_API.g_attr_tbl(I).name     := 'schedule_group';
131     I := I + 1;
132     FND_API.g_attr_tbl(I).name     := 'schedule_number';
133     I := I + 1;
134     FND_API.g_attr_tbl(I).name     := 'status';
135     I := I + 1;
136     FND_API.g_attr_tbl(I).name     := 'std_cost_adj_account';
137     I := I + 1;
138     FND_API.g_attr_tbl(I).name     := 'task';
139 
140     I := I + 1;
141     FND_API.g_attr_tbl(I).name     := 'bom_reference';
142     I := I + 1;
143     FND_API.g_attr_tbl(I).name     := 'common_bom_sequence';
144     I := I + 1;
145     FND_API.g_attr_tbl(I).name     := 'common_rout_sequence';
146     I := I + 1;
147     FND_API.g_attr_tbl(I).name     := 'date_completed';
148     I := I + 1;
149     FND_API.g_attr_tbl(I).name     := 'date_released';
150     I := I + 1;
151     FND_API.g_attr_tbl(I).name     := 'firm_planned';
152     I := I + 1;
153     FND_API.g_attr_tbl(I).name     := 'job_type';
154     I := I + 1;
155     FND_API.g_attr_tbl(I).name     := 'lot_number';
156     I := I + 1;
157     FND_API.g_attr_tbl(I).name     := 'net_quantity';
158     I := I + 1;
159     FND_API.g_attr_tbl(I).name     := 'overcpl_tolerance_type';
160     I := I + 1;
161     FND_API.g_attr_tbl(I).name     := 'overcpl_tolerance_value';
162     I := I + 1;
163     FND_API.g_attr_tbl(I).name     := 'project_costed';
164     I := I + 1;
165     FND_API.g_attr_tbl(I).name     := 'quantity_scrapped';
166     I := I + 1;
167     FND_API.g_attr_tbl(I).name     := 'routing_reference';
168     I := I + 1;
169     FND_API.g_attr_tbl(I).name     := 'source';
170     I := I + 1;
171     FND_API.g_attr_tbl(I).name     := 'source_line';
172     I := I + 1;
173     FND_API.g_attr_tbl(I).name     := 'start_quantity';
174     I := I + 1;
175     FND_API.g_attr_tbl(I).name     := 'status_type';
176     I := I + 1;
177     FND_API.g_attr_tbl(I).name     := 'wip_supply_type';
178 
179     I := I + 1;
180     FND_API.g_attr_tbl(I).name     := 'daily_production_rate';
181     I := I + 1;
182     FND_API.g_attr_tbl(I).name     := 'first_unit_cpl_date';
183     I := I + 1;
184     FND_API.g_attr_tbl(I).name     := 'first_unit_start_date';
185     I := I + 1;
186     FND_API.g_attr_tbl(I).name     := 'last_unit_cpl_date';
187     I := I + 1;
188     FND_API.g_attr_tbl(I).name     := 'last_unit_start_date';
189     I := I + 1;
190     FND_API.g_attr_tbl(I).name     := 'processing_work_days';
191     I := I + 1;
192     FND_API.g_attr_tbl(I).name     := 'repetitive_schedule';
193 
194     I := I + 1;
195     FND_API.g_attr_tbl(I).name     := 'dummy';
196 
197     I := I + 1;
198     FND_API.g_attr_tbl(I).name     := 'acct_period';
199     I := I + 1;
200     FND_API.g_attr_tbl(I).name     := 'allowed_units_lookup';
201     I := I + 1;
202     FND_API.g_attr_tbl(I).name     := 'completion_transaction';
203     I := I + 1;
204     FND_API.g_attr_tbl(I).name     := 'containers';
205     I := I + 1;
206     FND_API.g_attr_tbl(I).name     := 'cost_group';
207     I := I + 1;
208     FND_API.g_attr_tbl(I).name     := 'currency';
209     I := I + 1;
210     FND_API.g_attr_tbl(I).name     := 'currency_conversion_date';
211     I := I + 1;
212     FND_API.g_attr_tbl(I).name     := 'currency_conversion_rate';
213     I := I + 1;
214     FND_API.g_attr_tbl(I).name     := 'currency_conversion_type';
215     I := I + 1;
216     FND_API.g_attr_tbl(I).name     := 'current_loc_control';
217     I := I + 1;
218     FND_API.g_attr_tbl(I).name     := 'customer_ship';
219     I := I + 1;
220     FND_API.g_attr_tbl(I).name     := 'cycle_count';
221     I := I + 1;
222     FND_API.g_attr_tbl(I).name     := 'demand';
223     I := I + 1;
224     FND_API.g_attr_tbl(I).name     := 'department';
225     I := I + 1;
226     FND_API.g_attr_tbl(I).name     := 'department';
227     I := I + 1;
228     FND_API.g_attr_tbl(I).name     := 'distribution_account';
229     I := I + 1;
230     FND_API.g_attr_tbl(I).name     := 'employee';
231     I := I + 1;
232     FND_API.g_attr_tbl(I).name     := 'encumbrance_account';
233     I := I + 1;
234     FND_API.g_attr_tbl(I).name     := 'encumbrance_amount';
235     I := I + 1;
236     FND_API.g_attr_tbl(I).name     := 'error';
237     I := I + 1;
238     FND_API.g_attr_tbl(I).name     := 'error_explanation';
239     I := I + 1;
240     FND_API.g_attr_tbl(I).name     := 'expected_arrival_date';
241     I := I + 1;
242     FND_API.g_attr_tbl(I).name     := 'expenditure_type';
243     I := I + 1;
244     FND_API.g_attr_tbl(I).name     := 'final_completion';
245     I := I + 1;
246     FND_API.g_attr_tbl(I).name     := 'flow_schedule';
247     I := I + 1;
248     FND_API.g_attr_tbl(I).name     := 'freight';
249     I := I + 1;
250     FND_API.g_attr_tbl(I).name     := 'inventory_item';
251     I := I + 1;
252     FND_API.g_attr_tbl(I).name     := 'item_description';
253     I := I + 1;
254     FND_API.g_attr_tbl(I).name     := 'item_inventory_asset';
255     I := I + 1;
256     FND_API.g_attr_tbl(I).name     := 'item_loc_control';
257     I := I + 1;
258     FND_API.g_attr_tbl(I).name     := 'item_lot_control';
259     I := I + 1;
260     FND_API.g_attr_tbl(I).name     := 'item_ordering';
261     I := I + 1;
262     FND_API.g_attr_tbl(I).name     := 'item_primary_uom';
263     I := I + 1;
264     FND_API.g_attr_tbl(I).name     := 'item_restrict_loc';
265     I := I + 1;
266     FND_API.g_attr_tbl(I).name     := 'item_restrict_subinv';
267     I := I + 1;
268     FND_API.g_attr_tbl(I).name     := 'item_rev_qty_control';
269     I := I + 1;
270     FND_API.g_attr_tbl(I).name     := 'item_segments';
271     I := I + 1;
272     FND_API.g_attr_tbl(I).name     := 'item_serial_control';
273     I := I + 1;
274     FND_API.g_attr_tbl(I).name     := 'item_shelf_life';
275     I := I + 1;
276     FND_API.g_attr_tbl(I).name     := 'item_shelf_life_days';
277     I := I + 1;
278     FND_API.g_attr_tbl(I).name     := 'item_trx_enabled';
279     I := I + 1;
280     FND_API.g_attr_tbl(I).name     := 'item_uom_class';
281     I := I + 1;
282     FND_API.g_attr_tbl(I).name     := 'locator';
283     I := I + 1;
284     FND_API.g_attr_tbl(I).name     := 'locator_segments';
285     I := I + 1;
286     FND_API.g_attr_tbl(I).name     := 'lock_flag';
287     I := I + 1;
288     FND_API.g_attr_tbl(I).name     := 'lot_alpha_prefix';
289     I := I + 1;
290     FND_API.g_attr_tbl(I).name     := 'lot_expiration_date';
291     I := I + 1;
292     FND_API.g_attr_tbl(I).name     := 'material_alloc_temp';
293     I := I + 1;
294     FND_API.g_attr_tbl(I).name     := 'movement';
295     I := I + 1;
296     FND_API.g_attr_tbl(I).name     := 'move_transaction';
297     I := I + 1;
298     FND_API.g_attr_tbl(I).name     := 'negative_req';
299     I := I + 1;
300     FND_API.g_attr_tbl(I).name     := 'new_average_cost';
301     I := I + 1;
302     FND_API.g_attr_tbl(I).name     := 'next_lot_number';
303     I := I + 1;
304     FND_API.g_attr_tbl(I).name     := 'next_serial_number';
305     I := I + 1;
306     FND_API.g_attr_tbl(I).name     := 'number_of_lots_entered';
307     I := I + 1;
308     FND_API.g_attr_tbl(I).name     := 'operation_seq_num';
309     I := I + 1;
310     FND_API.g_attr_tbl(I).name     := 'overcpl_primary_qty';
311     I := I + 1;
312     FND_API.g_attr_tbl(I).name     := 'overcpl_transaction';
313     I := I + 1;
314     FND_API.g_attr_tbl(I).name     := 'overcpl_transaction_qty';
315     I := I + 1;
316     FND_API.g_attr_tbl(I).name     := 'pa_expenditure_org';
317     I := I + 1;
318     FND_API.g_attr_tbl(I).name     := 'percentage_change';
319     I := I + 1;
320     FND_API.g_attr_tbl(I).name     := 'physical_adjustment';
321     I := I + 1;
322     FND_API.g_attr_tbl(I).name     := 'picking_line';
323     I := I + 1;
324     FND_API.g_attr_tbl(I).name     := 'posting';
325     I := I + 1;
326     FND_API.g_attr_tbl(I).name     := 'primary_quantity';
327     I := I + 1;
328     FND_API.g_attr_tbl(I).name     := 'primary_switch';
329     I := I + 1;
330     FND_API.g_attr_tbl(I).name     := 'process';
331     I := I + 1;
332     FND_API.g_attr_tbl(I).name     := 'process_type';
333     I := I + 1;
334     FND_API.g_attr_tbl(I).name     := 'qa_collection';
335     I := I + 1;
336     FND_API.g_attr_tbl(I).name     := 'rcv_transaction';
337     I := I + 1;
338     FND_API.g_attr_tbl(I).name     := 'reason';
339     I := I + 1;
340     FND_API.g_attr_tbl(I).name     := 'receiving_document';
341     I := I + 1;
342     FND_API.g_attr_tbl(I).name     := 'repetitive_line';
343     I := I + 1;
344     FND_API.g_attr_tbl(I).name     := 'required';
345     I := I + 1;
346     FND_API.g_attr_tbl(I).name     := 'req_distribution';
347     I := I + 1;
348     FND_API.g_attr_tbl(I).name     := 'requisition_line';
349     I := I + 1;
350     FND_API.g_attr_tbl(I).name     := 'reservation_quantity';
351     I := I + 1;
352     FND_API.g_attr_tbl(I).name     := 'revision';
353     I := I + 1;
354     FND_API.g_attr_tbl(I).name     := 'rma_line';
355     I := I + 1;
356     FND_API.g_attr_tbl(I).name     := 'schedule';
357     I := I + 1;
358     FND_API.g_attr_tbl(I).name     := 'schedule_update';
359     I := I + 1;
360     FND_API.g_attr_tbl(I).name     := 'serial_alpha_prefix';
361     I := I + 1;
362     FND_API.g_attr_tbl(I).name     := 'serial_number';
363     I := I + 1;
364     FND_API.g_attr_tbl(I).name     := 'setup_teardown';
365     I := I + 1;
366     FND_API.g_attr_tbl(I).name     := 'shipment_number';
367     I := I + 1;
368     FND_API.g_attr_tbl(I).name     := 'shippable';
369     I := I + 1;
370     FND_API.g_attr_tbl(I).name     := 'shipped_quantity';
371     I := I + 1;
372     FND_API.g_attr_tbl(I).name     := 'ship_to_location';
373     I := I + 1;
374     FND_API.g_attr_tbl(I).name     := 'source_project';
375     I := I + 1;
376     FND_API.g_attr_tbl(I).name     := 'source_task';
377     I := I + 1;
378     FND_API.g_attr_tbl(I).name     := 'subinventory';
379     I := I + 1;
380     FND_API.g_attr_tbl(I).name     := 'supply_locator';
381     I := I + 1;
382     FND_API.g_attr_tbl(I).name     := 'supply_subinventory';
383     I := I + 1;
384     FND_API.g_attr_tbl(I).name     := 'to_project';
385     I := I + 1;
386     FND_API.g_attr_tbl(I).name     := 'to_task';
387     I := I + 1;
388     FND_API.g_attr_tbl(I).name     := 'transaction_action';
392     FND_API.g_attr_tbl(I).name     := 'transaction_date';
389     I := I + 1;
390     FND_API.g_attr_tbl(I).name     := 'transaction_cost';
391     I := I + 1;
393     I := I + 1;
394     FND_API.g_attr_tbl(I).name     := 'transaction_header';
395     I := I + 1;
396     FND_API.g_attr_tbl(I).name     := 'transaction_line_number';
397     I := I + 1;
398     FND_API.g_attr_tbl(I).name     := 'transaction_mode';
399     I := I + 1;
400     FND_API.g_attr_tbl(I).name     := 'transaction_quantity';
401     I := I + 1;
402     FND_API.g_attr_tbl(I).name     := 'transaction_reference';
403     I := I + 1;
404     FND_API.g_attr_tbl(I).name     := 'transaction_sequence';
405     I := I + 1;
406     FND_API.g_attr_tbl(I).name     := 'transaction_source';
407     I := I + 1;
408     FND_API.g_attr_tbl(I).name     := 'transaction_source_name';
409     I := I + 1;
410     FND_API.g_attr_tbl(I).name     := 'transaction_src_type';
411     I := I + 1;
412     FND_API.g_attr_tbl(I).name     := 'transaction_temp';
413     I := I + 1;
414     FND_API.g_attr_tbl(I).name     := 'transaction_type';
415     I := I + 1;
416     FND_API.g_attr_tbl(I).name     := 'transaction_uom';
417     I := I + 1;
418     FND_API.g_attr_tbl(I).name     := 'transfer_cost';
419     I := I + 1;
420     FND_API.g_attr_tbl(I).name     := 'transfer_organization';
421     I := I + 1;
422     FND_API.g_attr_tbl(I).name     := 'transfer_percentage';
423     I := I + 1;
424     FND_API.g_attr_tbl(I).name     := 'transfer_subinventory';
425     I := I + 1;
426     FND_API.g_attr_tbl(I).name     := 'transfer_to_location';
427     I := I + 1;
428     FND_API.g_attr_tbl(I).name     := 'transportation_account';
429     I := I + 1;
430     FND_API.g_attr_tbl(I).name     := 'transportation_cost';
431     I := I + 1;
432     FND_API.g_attr_tbl(I).name     := 'trx_source_delivery';
433     I := I + 1;
434     FND_API.g_attr_tbl(I).name     := 'trx_source_line';
435     I := I + 1;
436     FND_API.g_attr_tbl(I).name     := 'ussgl_transaction';
437     I := I + 1;
438     FND_API.g_attr_tbl(I).name     := 'valid_locator';
439     I := I + 1;
440     FND_API.g_attr_tbl(I).name     := 'valid_subinventory';
441     I := I + 1;
442     FND_API.g_attr_tbl(I).name     := 'value_change';
443     I := I + 1;
444     FND_API.g_attr_tbl(I).name     := 'vendor_lot_number';
445     I := I + 1;
446     FND_API.g_attr_tbl(I).name     := 'waybill_airbill';
447     I := I + 1;
448     FND_API.g_attr_tbl(I).name     := 'wip_commit';
449     I := I + 1;
450     FND_API.g_attr_tbl(I).name     := 'wip_entity_type';
451 
452     I := I + 1;
453     FND_API.g_attr_tbl(I).name     := 'activity';
454     I := I + 1;
455     FND_API.g_attr_tbl(I).name     := 'activity_name';
456     I := I + 1;
457     FND_API.g_attr_tbl(I).name     := 'actual_resource_rate';
458     I := I + 1;
459     FND_API.g_attr_tbl(I).name     := 'autocharge_type';
460     I := I + 1;
461     FND_API.g_attr_tbl(I).name     := 'basis_type';
462     I := I + 1;
463     FND_API.g_attr_tbl(I).name     := 'created_by_name';
464     I := I + 1;
465     FND_API.g_attr_tbl(I).name     := 'currency_actual_rsc_rate';
466     I := I + 1;
467     FND_API.g_attr_tbl(I).name     := 'employee_num';
468     I := I + 1;
469     FND_API.g_attr_tbl(I).name     := 'group_id';
470     I := I + 1;
471     FND_API.g_attr_tbl(I).name     := 'last_updated_by_name';
472     I := I + 1;
473     FND_API.g_attr_tbl(I).name     := 'po_header';
474     I := I + 1;
475     FND_API.g_attr_tbl(I).name     := 'po_line';
476     I := I + 1;
477     FND_API.g_attr_tbl(I).name     := 'primary_uom';
478     I := I + 1;
479     FND_API.g_attr_tbl(I).name     := 'primary_uom_class';
480     I := I + 1;
481     FND_API.g_attr_tbl(I).name     := 'process_phase';
482     I := I + 1;
483     FND_API.g_attr_tbl(I).name     := 'process_status';
484     I := I + 1;
485     FND_API.g_attr_tbl(I).name     := 'project_number';
486     I := I + 1;
487     FND_API.g_attr_tbl(I).name     := 'reason_name';
488     I := I + 1;
489     FND_API.g_attr_tbl(I).name     := 'receiving_account';
490     I := I + 1;
491     FND_API.g_attr_tbl(I).name     := 'reference';
492     I := I + 1;
493     FND_API.g_attr_tbl(I).name     := 'resource_code';
494     I := I + 1;
495     FND_API.g_attr_tbl(I).name     := 'resource_id';
496     I := I + 1;
497     FND_API.g_attr_tbl(I).name     := 'resource_seq_num';
498     I := I + 1;
499     FND_API.g_attr_tbl(I).name     := 'resource_type';
500     I := I + 1;
501     FND_API.g_attr_tbl(I).name     := 'standard_rate';
502     I := I + 1;
503     FND_API.g_attr_tbl(I).name     := 'task_number';
504     I := I + 1;
505     FND_API.g_attr_tbl(I).name     := 'transaction';
506     I := I + 1;
507     FND_API.g_attr_tbl(I).name     := 'usage_rate_or_amount';
508 
509     I := I + 1;
510     FND_API.g_attr_tbl(I).name     := 'fm_department';
511     I := I + 1;
512     FND_API.g_attr_tbl(I).name     := 'fm_department';
513     I := I + 1;
514     FND_API.g_attr_tbl(I).name     := 'fm_intraop_step_type';
518     FND_API.g_attr_tbl(I).name     := 'fm_operation_seq_num';
515     I := I + 1;
516     FND_API.g_attr_tbl(I).name     := 'fm_operation';
517     I := I + 1;
519     I := I + 1;
520     FND_API.g_attr_tbl(I).name     := 'kanban';
521     I := I + 1;
522     FND_API.g_attr_tbl(I).name     := 'overcompletion';
523     I := I + 1;
524     FND_API.g_attr_tbl(I).name     := 'overmove_txn_qty';
525     I := I + 1;
526     FND_API.g_attr_tbl(I).name     := 'scrap_account';
527     I := I + 1;
528     FND_API.g_attr_tbl(I).name     := 'to_department';
529     I := I + 1;
530     FND_API.g_attr_tbl(I).name     := 'to_department';
531     I := I + 1;
532     FND_API.g_attr_tbl(I).name     := 'to_intraop_step_type';
533     I := I + 1;
534     FND_API.g_attr_tbl(I).name     := 'to_operation';
535     I := I + 1;
536     FND_API.g_attr_tbl(I).name     := 'to_operation_seq_num';
537     I := I + 1;
538     FND_API.g_attr_tbl(I).name     := 'transaction_link';
539 
540     I := I + 1;
541     FND_API.g_attr_tbl(I).name     := 'currency_act_rsc_rate';
542 
543 --  END GEN attributes
544 
545 END Get_Attr_Tbl;
546 
547 --  Prototypes for validate functions.
548 
549 --  START GEN validate
550 
551 --  Generator will append new prototypes before end generate comment.
552 
553 
554 FUNCTION Desc_Flex ( p_flex_name IN VARCHAR2 )
555 RETURN BOOLEAN
556 IS
557 BEGIN
558 
559    --  Call FND validate API.
560    --  This call is temporarily commented out
561 /*
562     IF  FND_FLEX_DESCVAL.Validate_Desccols
563         (   appl_short_name               => 'WIP'
564         ,   desc_flex_name                => p_flex_name
565         )
566     THEN
567         RETURN TRUE;
568     ELSE
569       --  Prepare the encoded message by setting it on the message
570       --  dictionary stack. Then, add it to the API message list.
571 
572         FND_MESSAGE.Set_Encoded(FND_FLEX_DESCVAL.Encoded_Error_Message);
573         FND_MSG_PUB.Add;
574         --  Derive return status.
575 
576         IF FND_FLEX_DESCVAL.value_error OR
577             FND_FLEX_DESCVAL.unsupported_error
578         THEN
579             --  In case of an expected error return FALSE
580             RETURN FALSE;
581         ELSE
582             --  In case of an unexpected error raise an exception.
583             RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
584         END IF;
585     END IF;
586 */
587 
588     RETURN TRUE;
589 
590 END Desc_Flex;
591 
592 FUNCTION Entity_Type ( p_entity_type IN NUMBER )
593 RETURN BOOLEAN
594 IS
595 l_dummy                       VARCHAR2(10);
596 BEGIN
597 
598     IF p_entity_type IS NULL OR
599         p_entity_type = FND_API.G_MISS_NUM
600     THEN
601         RETURN TRUE;
602     END IF;
603 
604     SELECT  'VALID'
605       INTO     l_dummy
606       FROM     mfg_lookups
607       WHERE    lookup_type = 'WIP_ENTITY'
608       AND      lookup_code = p_entity_type;
609 
610     RETURN TRUE;
611 
612 EXCEPTION
613 
614     WHEN NO_DATA_FOUND THEN
615 
616        Wip_Globals.Add_Error_Message(
617                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
618                                 p_token1_name   => 'ATTRIBUTE',
619                                 p_token1_value  => 'entity_type');
620         RETURN FALSE;
621 
622     WHEN OTHERS THEN
623 
624         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
625         THEN
626             FND_MSG_PUB.Add_Exc_Msg
627             (   G_PKG_NAME
628             ,   'Entity_Type'
629             );
630         END IF;
631 
632         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
633 
634 END Entity_Type;
635 
636 FUNCTION Organization ( p_organization_code IN NUMBER )
637 RETURN BOOLEAN
638 IS
639 l_dummy                       VARCHAR2(10);
640 BEGIN
641 
642     IF p_organization_code IS NULL OR
643         p_organization_code = FND_API.G_MISS_NUM
644     THEN
645         RETURN TRUE;
646     END IF;
647 
648     SELECT  'VALID'
649     INTO     l_dummy
650     FROM     mtl_parameters
651     WHERE    organization_code = p_organization_code;
652 
653     RETURN TRUE;
654 
655 EXCEPTION
656 
657     WHEN NO_DATA_FOUND THEN
658 
659        Wip_Globals.Add_Error_Message(
660                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
661                                 p_token1_name   => 'ATTRIBUTE',
662                                 p_token1_value  => 'organization_code');
663 
664        RETURN FALSE;
665 
666     WHEN OTHERS THEN
667 
668         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
669         THEN
670             FND_MSG_PUB.Add_Exc_Msg
671             (   G_PKG_NAME
672             ,   'Organization'
673             );
674         END IF;
675 
679 
676         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
677 
678 END Organization;
680 FUNCTION Organization ( p_organization_id IN NUMBER )
681 RETURN BOOLEAN
682 IS
683 l_dummy                       VARCHAR2(10);
684 BEGIN
685 
686     IF p_organization_id IS NULL OR
687         p_organization_id = FND_API.G_MISS_NUM
688     THEN
689         RETURN TRUE;
690     END IF;
691 
692     SELECT  'VALID'
693     INTO     l_dummy
694     FROM     mtl_parameters
695     WHERE    organization_id = p_organization_id;
696 
697     RETURN TRUE;
698 
699 EXCEPTION
700 
701     WHEN NO_DATA_FOUND THEN
702 
703        Wip_Globals.Add_Error_Message(
704                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
705                                 p_token1_name   => 'ATTRIBUTE',
706                                 p_token1_value  => 'organization');
707 
708        RETURN FALSE;
709 
710     WHEN OTHERS THEN
711 
712         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
713         THEN
714             FND_MSG_PUB.Add_Exc_Msg
715             (   G_PKG_NAME
716             ,   'Organization'
717             );
718         END IF;
719 
720         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
721 
722 END Organization;
723 
724 FUNCTION Primary_Item ( p_primary_item_id IN NUMBER,
725                         p_organization_id IN NUMBER )
726 RETURN BOOLEAN
727 IS
728 l_dummy                       VARCHAR2(10);
729 BEGIN
730 
731     IF p_primary_item_id IS NULL OR
732         p_primary_item_id = FND_API.G_MISS_NUM
733     THEN
734         RETURN TRUE;
735     END IF;
736 
737     SELECT  'VALID'
738       INTO     l_dummy
739       FROM     mtl_system_items
740       WHERE    inventory_item_id = p_primary_item_id
741       AND      organization_id = p_organization_id;
742 
743     RETURN TRUE;
744 
745 EXCEPTION
746 
747     WHEN NO_DATA_FOUND THEN
748 
749        Wip_Globals.Add_Error_Message(
750                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
751                                 p_token1_name   => 'ATTRIBUTE',
752                                 p_token1_value  => 'primary_item');
753 
754         RETURN FALSE;
755 
756     WHEN OTHERS THEN
757 
758         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
759         THEN
760             FND_MSG_PUB.Add_Exc_Msg
761             (   G_PKG_NAME
762             ,   'Primary_Item'
763             );
764         END IF;
765 
766         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
767 
768 END Primary_Item;
769 
770 FUNCTION Wip_Entity ( p_wip_entity_id IN NUMBER )
771 RETURN BOOLEAN
772 IS
773 l_dummy                       VARCHAR2(10);
774 BEGIN
775 
776     IF p_wip_entity_id IS NULL OR
777         p_wip_entity_id = FND_API.G_MISS_NUM
778     THEN
779         RETURN TRUE;
780     END IF;
781 
782     SELECT  'VALID'
783     INTO     l_dummy
784     FROM     wip_entities
785     WHERE    wip_entity_id = p_wip_entity_id;
786 
787     RETURN TRUE;
788 
789 EXCEPTION
790 
791     WHEN NO_DATA_FOUND THEN
792 
793        Wip_Globals.Add_Error_Message(
794                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
795                                 p_token1_name   => 'ATTRIBUTE',
796                                 p_token1_value  => 'wip_entity');
797 
798         RETURN FALSE;
799 
800     WHEN OTHERS THEN
801 
802         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
803         THEN
804             FND_MSG_PUB.Add_Exc_Msg
805             (   G_PKG_NAME
806             ,   'Wip_Entity'
807             );
808         END IF;
809 
810         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
811 
812 END Wip_Entity;
813 
814 FUNCTION Wip_Entity_Name ( p_wip_entity_name IN VARCHAR2,
815                            p_organization_id IN NUMBER)
816 RETURN BOOLEAN
817 IS
818 l_dummy                       VARCHAR2(10);
819 BEGIN
820 
821     IF p_wip_entity_name IS NULL OR
822         p_wip_entity_name = FND_API.G_MISS_CHAR
823     THEN
824         RETURN TRUE;
825     END IF;
826 
827     SELECT  'VALID'
828       INTO     l_dummy
829       FROM     wip_entities
830       WHERE    wip_entity_name = p_wip_entity_name
831       AND      organization_id = p_organization_id;
832 
833     RETURN TRUE;
834 
835 EXCEPTION
836 
837     WHEN NO_DATA_FOUND THEN
838 
839        Wip_Globals.Add_Error_Message(
840                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
841                                 p_token1_name   => 'ATTRIBUTE',
842                                 p_token1_value  => 'wip_entity_name');
843 
844         RETURN FALSE;
848 
845 
846 
847     WHEN OTHERS THEN
849         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
850         THEN
851             FND_MSG_PUB.Add_Exc_Msg
852             (   G_PKG_NAME
853             ,   'Wip_Entity_Name'
854             );
855         END IF;
856 
857         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
858 
859 END Wip_Entity_Name;
860 
861 FUNCTION Alternate_Bom_Designator ( p_alternate_bom_designator IN VARCHAR2,
862                                     p_organization_id          IN NUMBER)
863 RETURN BOOLEAN
864 IS
865 l_dummy                       VARCHAR2(10);
866 BEGIN
867 
868     IF p_alternate_bom_designator IS NULL OR
869         p_alternate_bom_designator = FND_API.G_MISS_CHAR
870     THEN
871         RETURN TRUE;
872     END IF;
873 
874     SELECT  'VALID'
875       INTO     l_dummy
876       FROM     bom_alternate_designators
877       WHERE    alternate_designator_code = p_alternate_bom_designator
878       AND      organization_id = p_organization_id;
879 
880     RETURN TRUE;
881 
882 EXCEPTION
883 
884     WHEN NO_DATA_FOUND THEN
885 
886        Wip_Globals.Add_Error_Message(
887                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
888                                 p_token1_name   => 'ATTRIBUTE',
889                                 p_token1_value  => 'alternate_bom_designator');
890 
891         RETURN FALSE;
892 
893     WHEN OTHERS THEN
894 
895         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
896         THEN
897             FND_MSG_PUB.Add_Exc_Msg
898             (   G_PKG_NAME
899             ,   'Alternate_Bom_Designator'
900             );
901         END IF;
902 
903         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
904 
905 END Alternate_Bom_Designator;
906 
907 FUNCTION Alternate_Rout_Designator ( p_alternate_rout_designator IN VARCHAR2,
908                                      p_organization_id           IN NUMBER)
909 RETURN BOOLEAN
910 IS
911 l_dummy                       VARCHAR2(10);
912 BEGIN
913 
914     IF p_alternate_rout_designator IS NULL OR
915         p_alternate_rout_designator = FND_API.G_MISS_CHAR
916     THEN
917         RETURN TRUE;
918     END IF;
919 
920     SELECT  'VALID'
921       INTO     l_dummy
922       FROM     bom_alternate_designators
923       WHERE    alternate_designator_code = p_alternate_rout_designator
924       AND      organization_id = p_organization_id;
925 
926     RETURN TRUE;
927 
928 EXCEPTION
929 
930     WHEN NO_DATA_FOUND THEN
931 
932        Wip_Globals.Add_Error_Message(
933                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
934                                 p_token1_name   => 'ATTRIBUTE',
935                                 p_token1_value  => 'alternate_rout_designator');
936 
937         RETURN FALSE;
938 
939     WHEN OTHERS THEN
940 
941         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
942         THEN
943             FND_MSG_PUB.Add_Exc_Msg
944             (   G_PKG_NAME
945             ,   'Alternate_Rout_Designator'
946             );
947         END IF;
948 
949         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
950 
951 END Alternate_Rout_Designator;
952 
953 FUNCTION Bom_Revision ( p_bom_revision      IN VARCHAR2,
954                         p_inventory_item_id IN NUMBER,
955                         p_organization_id   IN NUMBER)
956 RETURN BOOLEAN
957 IS
958 l_dummy                       VARCHAR2(10);
959 BEGIN
960 
961     IF p_bom_revision IS NULL OR
962         p_bom_revision = FND_API.G_MISS_CHAR
963     THEN
964         RETURN TRUE;
965     END IF;
966 
967     SELECT  'VALID'
968       INTO     l_dummy
969       FROM     mtl_item_revisions
970       WHERE    revision = p_bom_revision
971       AND      inventory_item_id = p_inventory_item_id
972       AND      organization_id = p_organization_id;
973 
974     RETURN TRUE;
975 
976 EXCEPTION
977 
978     WHEN NO_DATA_FOUND THEN
979 
980        Wip_Globals.Add_Error_Message(
981                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
982                                 p_token1_name   => 'ATTRIBUTE',
983                                 p_token1_value  => 'bom_revision');
984 
985        RETURN FALSE;
986 
987     WHEN OTHERS THEN
988 
989         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
990         THEN
991             FND_MSG_PUB.Add_Exc_Msg
992             (   G_PKG_NAME
993             ,   'Bom_Revision'
994             );
995         END IF;
996 
997         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
998 
999 END Bom_Revision;
1000 
1001 FUNCTION Build_Sequence ( p_build_sequence      IN NUMBER,
1002                           p_wip_entity_id       IN NUMBER,
1006 RETURN BOOLEAN
1003                           p_organization_id     IN NUMBER,
1004                           p_line_id             IN NUMBER,
1005                           p_schedule_group_id   IN NUMBER)
1007 IS
1008    l_dummy                       VARCHAR2(10);
1009 BEGIN
1010 
1011     IF p_build_sequence IS NULL OR
1012         p_build_sequence = FND_API.G_MISS_NUM
1013     THEN
1014         RETURN TRUE;
1015     END IF;
1016 
1017     -- check that the combination of build sequence, schedule group and production
1018     -- line is unique across all wip entities.
1019 
1020     SELECT 'VALID'
1021       INTO l_dummy
1022       FROM dual
1023       WHERE NOT EXISTS (
1024                         SELECT '1'
1025                         FROM wip_discrete_jobs
1026                         WHERE wip_entity_id <> p_wip_entity_id
1027                         AND build_sequence = p_build_sequence
1028                         AND Nvl(p_schedule_group_id, Nvl(schedule_group_id,-1)) = Nvl(schedule_group_id,-1)
1029                         AND Nvl(p_line_id, Nvl(line_id,-1)) = Nvl(line_id,-1)
1030                         )
1031       AND NOT EXISTS (
1032                       SELECT '1'
1033                       FROM wip_flow_schedules
1034                       WHERE wip_entity_id <> p_wip_entity_id
1035                       AND build_sequence = p_build_sequence
1036                       AND Nvl(p_schedule_group_id, Nvl(schedule_group_id,-1)) = Nvl(schedule_group_id,-1)
1037                       AND Nvl(p_line_id, Nvl(line_id,-1)) = Nvl(line_id,-1)
1038                       );
1039 
1040     RETURN TRUE;
1041 
1042 EXCEPTION
1043 
1044     WHEN NO_DATA_FOUND THEN
1045 
1046        Wip_Globals.Add_Error_Message(
1047                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1048                                 p_token1_name   => 'ATTRIBUTE',
1049                                 p_token1_value  => 'build_sequence');
1050 
1051        RETURN FALSE;
1052 
1053     WHEN OTHERS THEN
1054 
1055         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1056         THEN
1057             FND_MSG_PUB.Add_Exc_Msg
1058             (   G_PKG_NAME
1059             ,   'Build_Sequence'
1060             );
1061         END IF;
1062 
1063         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1064 
1065 END Build_Sequence;
1066 
1067 FUNCTION Class ( p_class_code      IN VARCHAR2,
1068                  p_organization_id IN NUMBER)
1069 RETURN BOOLEAN
1070 IS
1071 l_dummy                       VARCHAR2(10);
1072 BEGIN
1073 
1074     IF p_class_code IS NULL OR
1075         p_class_code = FND_API.G_MISS_CHAR
1076     THEN
1077         RETURN TRUE;
1078     END IF;
1079 
1080     SELECT  'VALID'
1081       INTO     l_dummy
1082       FROM     wip_accounting_classes
1083       WHERE    class_code = p_class_code
1084       AND      organization_id = p_organization_id;
1085 
1086     RETURN TRUE;
1087 
1088 EXCEPTION
1089 
1090     WHEN NO_DATA_FOUND THEN
1091 
1092        Wip_Globals.Add_Error_Message(
1093                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1094                                 p_token1_name   => 'ATTRIBUTE',
1095                                 p_token1_value  => 'class');
1096 
1097         RETURN FALSE;
1098 
1099     WHEN OTHERS THEN
1100 
1101         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1102         THEN
1103             FND_MSG_PUB.Add_Exc_Msg
1104             (   G_PKG_NAME
1105             ,   'Class'
1106             );
1107         END IF;
1108 
1109         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1110 
1111 END Class;
1112 
1113 FUNCTION Completion_Subinventory ( p_completion_subinventory IN VARCHAR2,
1114                                    p_organization_id         IN NUMBER)
1115 RETURN BOOLEAN
1116 IS
1117 l_dummy                       VARCHAR2(10);
1118 BEGIN
1119 
1120     IF p_completion_subinventory IS NULL OR
1121         p_completion_subinventory = FND_API.G_MISS_CHAR
1122     THEN
1123         RETURN TRUE;
1124     END IF;
1125 
1126     SELECT  'VALID'
1127       INTO     l_dummy
1128       FROM     mtl_secondary_inventories
1129       WHERE    secondary_inventory_name = p_completion_subinventory
1130       AND      organization_id = p_organization_id;
1131 
1132     RETURN TRUE;
1133 
1134 EXCEPTION
1135 
1136     WHEN NO_DATA_FOUND THEN
1137 
1138        Wip_Globals.Add_Error_Message(
1139                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1140                                 p_token1_name   => 'ATTRIBUTE',
1141                                 p_token1_value  => 'completion_subinventory');
1142 
1143         RETURN FALSE;
1144 
1145     WHEN OTHERS THEN
1146 
1147         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1148         THEN
1149             FND_MSG_PUB.Add_Exc_Msg
1150             (   G_PKG_NAME
1151             ,   'Completion_Subinventory'
1155         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1152             );
1153         END IF;
1154 
1156 
1157 END Completion_Subinventory;
1158 
1159 FUNCTION Demand_Class ( p_demand_class IN VARCHAR2 )
1160 RETURN BOOLEAN
1161 IS
1162 l_dummy                       VARCHAR2(10);
1163 BEGIN
1164 
1165     IF p_demand_class IS NULL OR
1166         p_demand_class = FND_API.G_MISS_CHAR
1167     THEN
1168         RETURN TRUE;
1169     END IF;
1170 
1171     SELECT  'VALID'
1172     INTO     l_dummy
1173     FROM     so_demand_classes_active_v
1174     WHERE    demand_class = p_demand_class;
1175 
1176     RETURN TRUE;
1177 
1178 EXCEPTION
1179 
1180     WHEN NO_DATA_FOUND THEN
1181 
1182        Wip_Globals.Add_Error_Message(
1183                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1184                                 p_token1_name   => 'ATTRIBUTE',
1185                                 p_token1_value  => 'demand_class');
1186 
1187         RETURN FALSE;
1188 
1189     WHEN OTHERS THEN
1190 
1191         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1192         THEN
1193             FND_MSG_PUB.Add_Exc_Msg
1194             (   G_PKG_NAME
1195             ,   'Demand_Class'
1196             );
1197         END IF;
1198 
1199         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1200 
1201 END Demand_Class;
1202 
1203 FUNCTION Demand_Source_Delivery ( p_demand_source_delivery  IN VARCHAR2,
1204                                   p_demand_source_line      IN VARCHAR2,
1205                                   p_demand_source_header_id IN NUMBER,
1206                                   p_demand_source_type      IN NUMBER,
1207                                   p_inventory_item_id       IN NUMBER)
1208 RETURN BOOLEAN
1209 IS
1210 l_dummy                       VARCHAR2(10);
1211 BEGIN
1212 
1213     IF p_demand_source_delivery IS NULL OR
1214         p_demand_source_delivery = FND_API.G_MISS_CHAR
1215     THEN
1216         RETURN TRUE;
1217     END IF;
1218 
1219     SELECT  'VALID'
1220       INTO     l_dummy
1221       FROM     mtl_demand
1222       WHERE    demand_source_delivery = p_demand_source_delivery
1223       AND      demand_source_line = p_demand_source_line
1224       AND      demand_source_header_id = p_demand_source_header_id
1225       AND      demand_source_type = p_demand_source_type
1226       AND      inventory_item_id = p_inventory_item_id;
1227 
1228     RETURN TRUE;
1229 
1230 EXCEPTION
1231 
1232     WHEN NO_DATA_FOUND THEN
1233 
1234        Wip_Globals.Add_Error_Message(
1235                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1236                                 p_token1_name   => 'ATTRIBUTE',
1237                                 p_token1_value  => 'demand_source_delivery');
1238 
1239         RETURN FALSE;
1240 
1241     WHEN OTHERS THEN
1242 
1243         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1244         THEN
1245             FND_MSG_PUB.Add_Exc_Msg
1246             (   G_PKG_NAME
1247             ,   'Demand_Source_Delivery'
1248             );
1249         END IF;
1250 
1251         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1252 
1253 END Demand_Source_Delivery;
1254 
1255 FUNCTION Demand_Source_Header ( p_demand_source_header_id IN NUMBER,
1256                                 p_demand_source_type      IN NUMBER,
1257                                 p_inventory_item_id       IN NUMBER)
1258 RETURN BOOLEAN
1259 IS
1260 l_dummy                       VARCHAR2(10);
1261 BEGIN
1262 
1263     IF p_demand_source_header_id IS NULL OR
1264         p_demand_source_header_id = FND_API.G_MISS_NUM
1265     THEN
1266         RETURN TRUE;
1267     END IF;
1268 
1269     SELECT  'VALID'
1270       INTO     l_dummy
1271       FROM     mtl_demand
1272       WHERE    demand_source_header_id = p_demand_source_header_id
1273       AND      inventory_item_id = p_inventory_item_id
1274       AND      demand_source_type = p_demand_source_type
1275       AND      rownum = 1;
1276 
1277     RETURN TRUE;
1278 
1279 EXCEPTION
1280 
1281     WHEN NO_DATA_FOUND THEN
1282 
1283        Wip_Globals.Add_Error_Message(
1284                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1285                                 p_token1_name   => 'ATTRIBUTE',
1286                                 p_token1_value  => 'demand_source_header');
1287 
1288         RETURN FALSE;
1289 
1290     WHEN OTHERS THEN
1291 
1292         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1293         THEN
1294             FND_MSG_PUB.Add_Exc_Msg
1295             (   G_PKG_NAME
1296             ,   'Demand_Source_Header'
1297             );
1298         END IF;
1299 
1300         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1301 
1302 END Demand_Source_Header;
1303 
1304 FUNCTION Demand_Source_Line ( p_demand_source_line      IN VARCHAR2,
1308 RETURN BOOLEAN
1305                               p_demand_source_header_id IN NUMBER,
1306                               p_demand_source_type      IN NUMBER,
1307                               p_inventory_item_id       IN NUMBER)
1309 IS
1310 l_dummy                       VARCHAR2(10);
1311 BEGIN
1312 
1313     IF p_demand_source_line IS NULL OR
1314         p_demand_source_line = FND_API.G_MISS_CHAR
1315     THEN
1316         RETURN TRUE;
1317     END IF;
1318 
1319     SELECT  'VALID'
1320       INTO     l_dummy
1321       FROM     mtl_demand
1322       WHERE    demand_source_line = p_demand_source_line
1323       AND      demand_source_header_id = p_demand_source_header_id
1324       AND      demand_source_type = p_demand_source_type
1325       AND      inventory_item_id = p_inventory_item_id
1326       AND      rownum = 1;
1327 
1328     RETURN TRUE;
1329 
1330 EXCEPTION
1331 
1332     WHEN NO_DATA_FOUND THEN
1333 
1334        Wip_Globals.Add_Error_Message(
1335                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1336                                 p_token1_name   => 'ATTRIBUTE',
1337                                 p_token1_value  => 'demand_source_line');
1338 
1339         RETURN FALSE;
1340 
1341     WHEN OTHERS THEN
1342 
1343         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1344         THEN
1345             FND_MSG_PUB.Add_Exc_Msg
1346             (   G_PKG_NAME
1347             ,   'Demand_Source_Line'
1348             );
1349         END IF;
1350 
1351         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1352 
1353 END Demand_Source_Line;
1354 
1355 FUNCTION Kanban_Card ( p_kanban_card_id   IN NUMBER,
1356                        p_organization_id  IN NUMBER)
1357 RETURN BOOLEAN
1358 IS
1359 l_dummy                       VARCHAR2(10);
1360 BEGIN
1361 
1362     IF p_kanban_card_id IS NULL OR
1363         p_kanban_card_id = FND_API.G_MISS_NUM
1364     THEN
1365         RETURN TRUE;
1366     END IF;
1367 
1368     SELECT  'VALID'
1369       INTO     l_dummy
1370       FROM     mtl_kanban_cards
1371       WHERE    kanban_card_id = p_kanban_card_id
1372       AND      organization_id = p_organization_id;
1373 
1374     RETURN TRUE;
1375 
1376 EXCEPTION
1377 
1378     WHEN NO_DATA_FOUND THEN
1379 
1380        Wip_Globals.Add_Error_Message(
1381                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1382                                 p_token1_name   => 'ATTRIBUTE',
1383                                 p_token1_value  => 'kanban_card');
1384 
1385         RETURN FALSE;
1386 
1387     WHEN OTHERS THEN
1388 
1389         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1390         THEN
1391             FND_MSG_PUB.Add_Exc_Msg
1392             (   G_PKG_NAME
1393             ,   'Kanban_Card'
1394             );
1395         END IF;
1396 
1397         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1398 
1399 END Kanban_Card;
1400 
1401 FUNCTION Line ( p_line_code IN VARCHAR2 )
1402 RETURN BOOLEAN
1403 IS
1404 l_dummy                       VARCHAR2(10);
1405 BEGIN
1406 
1407     IF p_line_code IS NULL OR
1408         p_line_code = FND_API.G_MISS_NUM
1409     THEN
1410         RETURN TRUE;
1411     END IF;
1412 
1413     SELECT  'VALID'
1414       INTO     l_dummy
1415       FROM     wip_lines
1416       WHERE    line_code = p_line_code;
1417 
1418     RETURN TRUE;
1419 
1420 EXCEPTION
1421 
1422     WHEN NO_DATA_FOUND THEN
1423 
1424        Wip_Globals.Add_Error_Message(
1425                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1426                                 p_token1_name   => 'ATTRIBUTE',
1427                                 p_token1_value  => 'line_code');
1428 
1429     WHEN OTHERS THEN
1430 
1431         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1432         THEN
1433             FND_MSG_PUB.Add_Exc_Msg
1434             (   G_PKG_NAME
1435             ,   'Line'
1436             );
1437         END IF;
1438 
1439         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1440 
1441 END Line;
1442 
1443 FUNCTION Line ( p_line_id IN NUMBER )
1444 RETURN BOOLEAN
1445 IS
1446 l_dummy                       VARCHAR2(10);
1447 BEGIN
1448 
1449     IF p_line_id IS NULL OR
1450         p_line_id = FND_API.G_MISS_NUM
1451     THEN
1452         RETURN TRUE;
1453     END IF;
1454 
1455     SELECT  'VALID'
1456       INTO     l_dummy
1457       FROM     wip_lines
1458       WHERE    line_id = p_line_id;
1459 
1460     RETURN TRUE;
1461 
1462 EXCEPTION
1463 
1464     WHEN NO_DATA_FOUND THEN
1465 
1466        Wip_Globals.Add_Error_Message(
1467                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1468                                 p_token1_name   => 'ATTRIBUTE',
1472 
1469                                 p_token1_value  => 'line_id');
1470 
1471     WHEN OTHERS THEN
1473         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1474         THEN
1475             FND_MSG_PUB.Add_Exc_Msg
1476             (   G_PKG_NAME
1477             ,   'Line'
1478             );
1479         END IF;
1480 
1481         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1482 
1483 END Line;
1484 
1485 FUNCTION Material_Account ( p_material_account IN NUMBER )
1486 RETURN BOOLEAN
1487 IS
1488 l_dummy                       VARCHAR2(10);
1489 BEGIN
1490 
1491     IF p_material_account IS NULL OR
1492         p_material_account = FND_API.G_MISS_NUM
1493     THEN
1494         RETURN TRUE;
1495     END IF;
1496 
1497     SELECT  'VALID'
1498     INTO     l_dummy
1499     FROM     gl_code_combinations
1500     WHERE    code_combination_id = p_material_account;
1501 
1502     RETURN TRUE;
1503 
1504 EXCEPTION
1505 
1506     WHEN NO_DATA_FOUND THEN
1507 
1508        Wip_Globals.Add_Error_Message(
1509                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1510                                 p_token1_name   => 'ATTRIBUTE',
1511                                 p_token1_value  => 'material_account');
1512 
1513         RETURN FALSE;
1514 
1515     WHEN OTHERS THEN
1516 
1517         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1518         THEN
1519             FND_MSG_PUB.Add_Exc_Msg
1520             (   G_PKG_NAME
1521             ,   'Material_Account'
1522             );
1523         END IF;
1524 
1525         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1526 
1527 END Material_Account;
1528 
1529 FUNCTION Material_Overhead_Account ( p_material_overhead_account IN NUMBER )
1530 RETURN BOOLEAN
1531 IS
1532 l_dummy                       VARCHAR2(10);
1533 BEGIN
1534 
1535     IF p_material_overhead_account IS NULL OR
1536         p_material_overhead_account = FND_API.G_MISS_NUM
1537     THEN
1538         RETURN TRUE;
1539     END IF;
1540 
1541     SELECT  'VALID'
1542     INTO     l_dummy
1543     FROM     gl_code_combinations
1544     WHERE    code_combination_id = p_material_overhead_account;
1545 
1546 
1547     RETURN TRUE;
1548 
1549 EXCEPTION
1550 
1551     WHEN NO_DATA_FOUND THEN
1552 
1553        Wip_Globals.Add_Error_Message(
1554                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1555                                 p_token1_name   => 'ATTRIBUTE',
1556                                 p_token1_value  => 'material_overhead_account');
1557 
1558         RETURN FALSE;
1559 
1560     WHEN OTHERS THEN
1561 
1562         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1563         THEN
1564             FND_MSG_PUB.Add_Exc_Msg
1565             (   G_PKG_NAME
1566             ,   'Material_Overhead_Account'
1567             );
1568         END IF;
1569 
1570         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1571 
1572 END Material_Overhead_Account;
1573 
1574 FUNCTION Material_Variance_Account ( p_material_variance_account IN NUMBER )
1575 RETURN BOOLEAN
1576 IS
1577 l_dummy                       VARCHAR2(10);
1578 BEGIN
1579 
1580     IF p_material_variance_account IS NULL OR
1581         p_material_variance_account = FND_API.G_MISS_NUM
1582     THEN
1583         RETURN TRUE;
1584     END IF;
1585 
1586     SELECT  'VALID'
1587     INTO     l_dummy
1588     FROM     gl_code_combinations
1589     WHERE    code_combination_id = p_material_variance_account;
1590 
1591     RETURN TRUE;
1592 
1593 EXCEPTION
1594 
1595     WHEN NO_DATA_FOUND THEN
1596 
1597        Wip_Globals.Add_Error_Message(
1598                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1599                                 p_token1_name   => 'ATTRIBUTE',
1600                                 p_token1_value  => 'material_variance_account');
1601 
1602         RETURN FALSE;
1603 
1604     WHEN OTHERS THEN
1605 
1606         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1607         THEN
1608             FND_MSG_PUB.Add_Exc_Msg
1609             (   G_PKG_NAME
1610             ,   'Material_Variance_Account'
1611             );
1612         END IF;
1613 
1614         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1615 
1616 END Material_Variance_Account;
1617 
1618 FUNCTION Osp_Account ( p_osp_account IN NUMBER )
1619 RETURN BOOLEAN
1620 IS
1621 l_dummy                       VARCHAR2(10);
1622 BEGIN
1623 
1624     IF p_osp_account IS NULL OR
1625         p_osp_account = FND_API.G_MISS_NUM
1626     THEN
1627         RETURN TRUE;
1628     END IF;
1629 
1630     SELECT  'VALID'
1631     INTO     l_dummy
1632     FROM     gl_code_combinations
1633     WHERE    code_combination_id = p_osp_account;
1634 
1635     RETURN TRUE;
1636 
1637 EXCEPTION
1638 
1642                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1639     WHEN NO_DATA_FOUND THEN
1640 
1641        Wip_Globals.Add_Error_Message(
1643                                 p_token1_name   => 'ATTRIBUTE',
1644                                 p_token1_value  => 'osp_account');
1645 
1646         RETURN FALSE;
1647 
1648     WHEN OTHERS THEN
1649 
1650         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1651         THEN
1652             FND_MSG_PUB.Add_Exc_Msg
1653             (   G_PKG_NAME
1654             ,   'Osp_Account'
1655             );
1656         END IF;
1657 
1658         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1659 
1660 END Osp_Account;
1661 
1662 FUNCTION Osp_Variance_Account ( p_osp_variance_account IN NUMBER )
1663 RETURN BOOLEAN
1664 IS
1665 l_dummy                       VARCHAR2(10);
1666 BEGIN
1667 
1668     IF p_osp_variance_account IS NULL OR
1669         p_osp_variance_account = FND_API.G_MISS_NUM
1670     THEN
1671         RETURN TRUE;
1672     END IF;
1673 
1674     SELECT  'VALID'
1675     INTO     l_dummy
1676     FROM     gl_code_combinations
1677     WHERE    code_combination_id = p_osp_variance_account;
1678 
1679     RETURN TRUE;
1680 
1681 EXCEPTION
1682 
1683     WHEN NO_DATA_FOUND THEN
1684 
1685        Wip_Globals.Add_Error_Message(
1686                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1687                                 p_token1_name   => 'ATTRIBUTE',
1688                                 p_token1_value  => 'osp_variance_account');
1689 
1690         RETURN FALSE;
1691 
1692     WHEN OTHERS THEN
1693 
1694         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1695         THEN
1696             FND_MSG_PUB.Add_Exc_Msg
1697             (   G_PKG_NAME
1698             ,   'Osp_Variance_Account'
1699             );
1700         END IF;
1701 
1702         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1703 
1704 END Osp_Variance_Account;
1705 
1706 FUNCTION Overhead_Account ( p_overhead_account IN NUMBER )
1707 RETURN BOOLEAN
1708 IS
1709 l_dummy                       VARCHAR2(10);
1710 BEGIN
1711 
1712     IF p_overhead_account IS NULL OR
1713         p_overhead_account = FND_API.G_MISS_NUM
1714     THEN
1715         RETURN TRUE;
1716     END IF;
1717 
1718     SELECT  'VALID'
1719     INTO     l_dummy
1720     FROM     gl_code_combinations
1721     WHERE    code_combination_id = p_overhead_account;
1722 
1723     RETURN TRUE;
1724 
1725 EXCEPTION
1726 
1727     WHEN NO_DATA_FOUND THEN
1728 
1729        Wip_Globals.Add_Error_Message(
1730                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1731                                 p_token1_name   => 'ATTRIBUTE',
1732                                 p_token1_value  => 'overhead_account');
1733 
1734         RETURN FALSE;
1735 
1736     WHEN OTHERS THEN
1737 
1738         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1739         THEN
1740             FND_MSG_PUB.Add_Exc_Msg
1741             (   G_PKG_NAME
1742             ,   'Overhead_Account'
1743             );
1744         END IF;
1745 
1746         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1747 
1748 END Overhead_Account;
1749 
1750 FUNCTION Overhead_Variance_Account ( p_overhead_variance_account IN NUMBER )
1751 RETURN BOOLEAN
1752 IS
1753 l_dummy                       VARCHAR2(10);
1754 BEGIN
1755 
1756     IF p_overhead_variance_account IS NULL OR
1757         p_overhead_variance_account = FND_API.G_MISS_NUM
1758     THEN
1759         RETURN TRUE;
1760     END IF;
1761 
1762     SELECT  'VALID'
1763     INTO     l_dummy
1764     FROM     gl_code_combinations
1765     WHERE    code_combination_id = p_overhead_variance_account;
1766 
1767     RETURN TRUE;
1768 
1769 EXCEPTION
1770 
1771     WHEN NO_DATA_FOUND THEN
1772 
1773        Wip_Globals.Add_Error_Message(
1774                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1775                                 p_token1_name   => 'ATTRIBUTE',
1776                                 p_token1_value  => 'overhead_variance_account');
1777 
1778         RETURN FALSE;
1779 
1780     WHEN OTHERS THEN
1781 
1782         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1783         THEN
1784             FND_MSG_PUB.Add_Exc_Msg
1785             (   G_PKG_NAME
1786             ,   'Overhead_Variance_Account'
1787             );
1788         END IF;
1789 
1790         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1791 
1792 END Overhead_Variance_Account;
1793 
1794 FUNCTION Project ( p_project_id      IN NUMBER,
1795                    p_organization_id IN NUMBER)
1796 RETURN BOOLEAN
1797 IS
1798 l_dummy                       VARCHAR2(10);
1799 BEGIN
1800 
1801     IF p_project_id IS NULL OR
1802         p_project_id = FND_API.G_MISS_NUM
1803     THEN
1807     -- fix MOAC, set id so project view works
1804         RETURN TRUE;
1805     END IF;
1806 
1808     fnd_profile.put('MFG_ORGANIZATION_ID',p_organization_id);
1809 
1810     SELECT  'VALID'
1811       INTO     l_dummy
1812       FROM     mtl_project_v mpv, mtl_parameters mp
1813       WHERE    mpv.project_id = p_project_id
1814       AND      mp.organization_id = p_organization_id
1815       AND      mp.project_reference_enabled = 1;
1816 
1817     RETURN TRUE;
1818 
1819 EXCEPTION
1820 
1821     WHEN NO_DATA_FOUND THEN
1822 
1823        Wip_Globals.Add_Error_Message(
1824                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1825                                 p_token1_name   => 'ATTRIBUTE',
1826                                 p_token1_value  => 'project');
1827 
1828         RETURN FALSE;
1829 
1830     WHEN OTHERS THEN
1831 
1832         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1833         THEN
1834             FND_MSG_PUB.Add_Exc_Msg
1835             (   G_PKG_NAME
1836             ,   'Project'
1837             );
1838         END IF;
1839 
1840         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1841 
1842 END Project;
1843 
1844 FUNCTION Resource_Account ( p_resource_account IN NUMBER )
1845 RETURN BOOLEAN
1846 IS
1847 l_dummy                       VARCHAR2(10);
1848 BEGIN
1849 
1850     IF p_resource_account IS NULL OR
1851         p_resource_account = FND_API.G_MISS_NUM
1852     THEN
1853         RETURN TRUE;
1854     END IF;
1855 
1856     SELECT  'VALID'
1857     INTO     l_dummy
1858     FROM     gl_code_combinations
1859     WHERE    code_combination_id = p_resource_account;
1860 
1861     RETURN TRUE;
1862 
1863 EXCEPTION
1864 
1865     WHEN NO_DATA_FOUND THEN
1866 
1867        Wip_Globals.Add_Error_Message(
1868                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1869                                 p_token1_name   => 'ATTRIBUTE',
1870                                 p_token1_value  => 'resource_account');
1871 
1872         RETURN FALSE;
1873 
1874     WHEN OTHERS THEN
1875 
1876         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1877         THEN
1878             FND_MSG_PUB.Add_Exc_Msg
1879             (   G_PKG_NAME
1880             ,   'Resource_Account'
1881             );
1882         END IF;
1883 
1884         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1885 
1886 END Resource_Account;
1887 
1888 FUNCTION Resource_Variance_Account ( p_resource_variance_account IN NUMBER )
1889 RETURN BOOLEAN
1890 IS
1891 l_dummy                       VARCHAR2(10);
1892 BEGIN
1893 
1894     IF p_resource_variance_account IS NULL OR
1895         p_resource_variance_account = FND_API.G_MISS_NUM
1896     THEN
1897         RETURN TRUE;
1898     END IF;
1899 
1900     SELECT  'VALID'
1901     INTO     l_dummy
1902     FROM     gl_code_combinations
1903     WHERE    code_combination_id = p_resource_variance_account;
1904 
1905     RETURN TRUE;
1906 
1907 EXCEPTION
1908 
1909     WHEN NO_DATA_FOUND THEN
1910 
1911        Wip_Globals.Add_Error_Message(
1912                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1913                                 p_token1_name   => 'ATTRIBUTE',
1914                                 p_token1_value  => 'resource_variance_account');
1915 
1916         RETURN FALSE;
1917 
1918     WHEN OTHERS THEN
1919 
1920         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1921         THEN
1922             FND_MSG_PUB.Add_Exc_Msg
1923             (   G_PKG_NAME
1924             ,   'Resource_Variance_Account'
1925             );
1926         END IF;
1927 
1928         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1929 
1930 END Resource_Variance_Account;
1931 
1932 FUNCTION Routing_Revision ( p_routing_revision  IN VARCHAR2,
1933                             p_inventory_item_id IN NUMBER,
1934                             p_organization_id   IN NUMBER)
1935 RETURN BOOLEAN
1936 IS
1937 l_dummy                       VARCHAR2(10);
1938 BEGIN
1939 
1940     IF p_routing_revision IS NULL OR
1941         p_routing_revision = FND_API.G_MISS_CHAR
1942     THEN
1943         RETURN TRUE;
1944     END IF;
1945 
1946     SELECT  'VALID'
1947       INTO     l_dummy
1948       FROM     mtl_rtg_item_revisions
1949       WHERE    process_revision = p_routing_revision
1950       AND      inventory_item_id = p_inventory_item_id
1951       AND      organization_id = p_organization_id;
1952 
1953     RETURN TRUE;
1954 
1955 EXCEPTION
1956 
1957     WHEN NO_DATA_FOUND THEN
1958 
1959        Wip_Globals.Add_Error_Message(
1960                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
1961                                 p_token1_name   => 'ATTRIBUTE',
1962                                 p_token1_value  => 'routing_revision');
1963 
1964         RETURN FALSE;
1965 
1969         THEN
1966     WHEN OTHERS THEN
1967 
1968         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1970             FND_MSG_PUB.Add_Exc_Msg
1971             (   G_PKG_NAME
1972             ,   'Routing_Revision'
1973             );
1974         END IF;
1975 
1976         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1977 
1978 END Routing_Revision;
1979 
1980 FUNCTION Schedule_Group ( p_schedule_group_id IN NUMBER )
1981 RETURN BOOLEAN
1982 IS
1983 l_dummy                       VARCHAR2(10);
1984 BEGIN
1985 
1986     IF p_schedule_group_id IS NULL OR
1987         p_schedule_group_id = FND_API.G_MISS_NUM
1988     THEN
1989         RETURN TRUE;
1990     END IF;
1991 
1992     SELECT  'VALID'
1993     INTO     l_dummy
1994     FROM     wip_schedule_groups
1995     WHERE    schedule_group_id = p_schedule_group_id;
1996 
1997     RETURN TRUE;
1998 
1999 EXCEPTION
2000 
2001     WHEN NO_DATA_FOUND THEN
2002 
2003        Wip_Globals.Add_Error_Message(
2004                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2005                                 p_token1_name   => 'ATTRIBUTE',
2006                                 p_token1_value  => 'schedule_group');
2007 
2008         RETURN FALSE;
2009 
2010     WHEN OTHERS THEN
2011 
2012         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2013         THEN
2014             FND_MSG_PUB.Add_Exc_Msg
2015             (   G_PKG_NAME
2016             ,   'Schedule_Group'
2017             );
2018         END IF;
2019 
2020         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2021 
2022 END Schedule_Group;
2023 
2024 FUNCTION Std_Cost_Adj_Account ( p_std_cost_adj_account IN NUMBER )
2025 RETURN BOOLEAN
2026 IS
2027 l_dummy                       VARCHAR2(10);
2028 BEGIN
2029 
2030     IF p_std_cost_adj_account IS NULL OR
2031         p_std_cost_adj_account = FND_API.G_MISS_NUM
2032     THEN
2033         RETURN TRUE;
2034     END IF;
2035 
2036     SELECT  'VALID'
2037     INTO     l_dummy
2038     FROM     gl_code_combinations
2039     WHERE    code_combination_id = p_std_cost_adj_account;
2040 
2041     RETURN TRUE;
2042 
2043 EXCEPTION
2044 
2045     WHEN NO_DATA_FOUND THEN
2046 
2047        Wip_Globals.Add_Error_Message(
2048                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2049                                 p_token1_name   => 'ATTRIBUTE',
2050                                 p_token1_value  => 'std_cost_adj_account');
2051 
2052         RETURN FALSE;
2053 
2054     WHEN OTHERS THEN
2055 
2056         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2057         THEN
2058             FND_MSG_PUB.Add_Exc_Msg
2059             (   G_PKG_NAME
2060             ,   'Std_Cost_Adj_Account'
2061             );
2062         END IF;
2063 
2064         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2065 
2066 END Std_Cost_Adj_Account;
2067 
2068 FUNCTION Task ( p_task_id         IN NUMBER,
2069                 p_project_id      IN NUMBER,
2070                 p_organization_id IN NUMBER)
2071 RETURN BOOLEAN
2072 IS
2073 l_dummy                       VARCHAR2(10);
2074 BEGIN
2075 
2076     IF p_task_id IS NULL OR
2077         p_task_id = FND_API.G_MISS_NUM
2078     THEN
2079         RETURN TRUE;
2080     END IF;
2081 
2082       SELECT  'VALID'
2083         INTO     l_dummy
2084         FROM     pa_tasks_expend_v ptv, mtl_parameters mp
2085         WHERE    ptv.task_id = p_task_id
2086         AND      ptv.project_id = p_project_id
2087         AND      mp.organization_id = p_organization_id
2088         AND      mp.project_reference_enabled = 1
2089         AND      mp.project_control_level = 2;
2090 
2091     RETURN TRUE;
2092 
2093 EXCEPTION
2094 
2095     WHEN NO_DATA_FOUND THEN
2096 
2097        Wip_Globals.Add_Error_Message(
2098                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2099                                 p_token1_name   => 'ATTRIBUTE',
2100                                 p_token1_value  => 'task');
2101 
2102         RETURN FALSE;
2103 
2104     WHEN OTHERS THEN
2105 
2106         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2107         THEN
2108             FND_MSG_PUB.Add_Exc_Msg
2109             (   G_PKG_NAME
2110             ,   'Task'
2111             );
2112         END IF;
2113 
2114         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2115 
2116 END Task;
2117 
2118 
2119 FUNCTION Bom_Reference ( p_bom_reference_id IN NUMBER,
2120                          p_organization_id  IN NUMBER)
2121 RETURN BOOLEAN
2122 IS
2123 l_dummy                       VARCHAR2(10);
2124 BEGIN
2125 
2126     IF p_bom_reference_id IS NULL OR
2127         p_bom_reference_id = FND_API.G_MISS_NUM
2128     THEN
2129         RETURN TRUE;
2130     END IF;
2131 
2132     SELECT  'VALID'
2136       AND      organization_id = p_organization_id;
2133       INTO     l_dummy
2134       FROM     mtl_system_items
2135       WHERE    inventory_item_id = p_bom_reference_id
2137 
2138     RETURN TRUE;
2139 
2140 EXCEPTION
2141 
2142     WHEN NO_DATA_FOUND THEN
2143 
2144        Wip_Globals.Add_Error_Message(
2145                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2146                                 p_token1_name   => 'ATTRIBUTE',
2147                                 p_token1_value  => 'bom_reference');
2148 
2149         RETURN FALSE;
2150 
2151     WHEN OTHERS THEN
2152 
2153         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2154         THEN
2155             FND_MSG_PUB.Add_Exc_Msg
2156             (   G_PKG_NAME
2157             ,   'Bom_Reference'
2158             );
2159         END IF;
2160 
2161         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2162 
2163 END Bom_Reference;
2164 
2165 FUNCTION Common_Bom_Sequence ( p_common_bom_sequence_id IN NUMBER )
2166 RETURN BOOLEAN
2167 IS
2168 l_dummy                       VARCHAR2(10);
2169 BEGIN
2170 
2171     IF p_common_bom_sequence_id IS NULL OR
2172         p_common_bom_sequence_id = FND_API.G_MISS_NUM
2173     THEN
2174         RETURN TRUE;
2175     END IF;
2176 
2177     SELECT  'VALID'
2178     INTO     l_dummy
2179     FROM     bom_bill_of_materials
2180     WHERE    bill_sequence_id = p_common_bom_sequence_id;
2181 
2182     RETURN TRUE;
2183 
2184 EXCEPTION
2185 
2186     WHEN NO_DATA_FOUND THEN
2187 
2188        Wip_Globals.Add_Error_Message(
2189                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2190                                 p_token1_name   => 'ATTRIBUTE',
2191                                 p_token1_value  => 'common_bom_sequence');
2192 
2193         RETURN FALSE;
2194 
2195     WHEN OTHERS THEN
2196 
2197         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2198         THEN
2199             FND_MSG_PUB.Add_Exc_Msg
2200             (   G_PKG_NAME
2201             ,   'Common_Bom_Sequence'
2202             );
2203         END IF;
2204 
2205         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2206 
2207 END Common_Bom_Sequence;
2208 
2209 FUNCTION Common_Rout_Sequence ( p_common_rout_sequence_id IN NUMBER )
2210 RETURN BOOLEAN
2211 IS
2212 l_dummy                       VARCHAR2(10);
2213 BEGIN
2214 
2215     IF p_common_rout_sequence_id IS NULL OR
2216         p_common_rout_sequence_id = FND_API.G_MISS_NUM
2217     THEN
2218         RETURN TRUE;
2219     END IF;
2220 
2221     SELECT  'VALID'
2222     INTO     l_dummy
2223     FROM     bom_operational_routings
2224     WHERE    routing_sequence_id = p_common_rout_sequence_id;
2225 
2226     RETURN TRUE;
2227 
2228 EXCEPTION
2229 
2230     WHEN NO_DATA_FOUND THEN
2231 
2232        Wip_Globals.Add_Error_Message(
2233                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2234                                 p_token1_name   => 'ATTRIBUTE',
2235                                 p_token1_value  => 'common_rout_sequence');
2236 
2237         RETURN FALSE;
2238 
2239     WHEN OTHERS THEN
2240 
2241         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2242         THEN
2243             FND_MSG_PUB.Add_Exc_Msg
2244             (   G_PKG_NAME
2245             ,   'Common_Rout_Sequence'
2246             );
2247         END IF;
2248 
2249         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2250 
2251 END Common_Rout_Sequence;
2252 
2253 FUNCTION Firm_Planned ( p_firm_planned_flag IN NUMBER )
2254 RETURN BOOLEAN
2255 IS
2256 l_dummy                       VARCHAR2(10);
2257 BEGIN
2258 
2259     IF p_firm_planned_flag IS NULL OR
2260         p_firm_planned_flag = FND_API.G_MISS_NUM
2261     THEN
2262         RETURN TRUE;
2263     END IF;
2264 
2265     SELECT  'VALID'
2266       INTO     l_dummy
2267       FROM     mfg_lookups
2268       WHERE    lookup_type = 'SYS_YES_NO'
2269       AND      lookup_code = p_firm_planned_flag;
2270 
2271     RETURN TRUE;
2272 
2273 EXCEPTION
2274 
2275     WHEN NO_DATA_FOUND THEN
2276 
2277        Wip_Globals.Add_Error_Message(
2278                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2279                                 p_token1_name   => 'ATTRIBUTE',
2280                                 p_token1_value  => 'firm_planned');
2281 
2282         RETURN FALSE;
2283 
2284     WHEN OTHERS THEN
2285 
2286         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2287         THEN
2288             FND_MSG_PUB.Add_Exc_Msg
2289             (   G_PKG_NAME
2290             ,   'Firm_Planned'
2291             );
2292         END IF;
2293 
2294         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2295 
2296 END Firm_Planned;
2297 
2301 l_dummy                       VARCHAR2(10);
2298 FUNCTION Job_Type ( p_job_type IN NUMBER )
2299 RETURN BOOLEAN
2300 IS
2302 BEGIN
2303 
2304     IF p_job_type IS NULL OR
2305         p_job_type = FND_API.G_MISS_NUM
2306     THEN
2307         RETURN TRUE;
2308     END IF;
2309 
2310     SELECT  'VALID'
2311       INTO     l_dummy
2312       FROM     mfg_lookups
2313       WHERE    lookup_type = 'WIP_DISCRETE_JOB'
2314       AND      lookup_code = p_job_type;
2315 
2316     RETURN TRUE;
2317 
2318 EXCEPTION
2319 
2320     WHEN NO_DATA_FOUND THEN
2321 
2322        Wip_Globals.Add_Error_Message(
2323                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2324                                 p_token1_name   => 'ATTRIBUTE',
2325                                 p_token1_value  => 'job_type');
2326 
2327         RETURN FALSE;
2328 
2329     WHEN OTHERS THEN
2330 
2331         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2332         THEN
2333             FND_MSG_PUB.Add_Exc_Msg
2334             (   G_PKG_NAME
2335             ,   'Job_Type'
2336             );
2337         END IF;
2338 
2339         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2340 
2341 END Job_Type;
2342 
2343 FUNCTION Overcpl_Tolerance_Type ( p_overcpl_tolerance_type IN NUMBER )
2344 RETURN BOOLEAN
2345 IS
2346 l_dummy                       VARCHAR2(10);
2347 BEGIN
2348 
2349     IF p_overcpl_tolerance_type IS NULL OR
2350         p_overcpl_tolerance_type = FND_API.G_MISS_NUM
2351     THEN
2352         RETURN TRUE;
2353     END IF;
2354 
2355     --  SELECT  'VALID'
2356     --  INTO     l_dummy
2357     --  FROM     DB_TABLE
2358     --  WHERE    DB_COLUMN = p_overcpl_tolerance_type;
2359 
2360     RETURN TRUE;
2361 
2362 EXCEPTION
2363 
2364     WHEN NO_DATA_FOUND THEN
2365 
2366        Wip_Globals.Add_Error_Message(
2367                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2368                                 p_token1_name   => 'ATTRIBUTE',
2369                                 p_token1_value  => 'overcpl_tolerance_type');
2370 
2371         RETURN FALSE;
2372 
2373     WHEN OTHERS THEN
2374 
2375         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2376         THEN
2377             FND_MSG_PUB.Add_Exc_Msg
2378             (   G_PKG_NAME
2379             ,   'Overcpl_Tolerance_Type'
2380             );
2381         END IF;
2382 
2383         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2384 
2385 END Overcpl_Tolerance_Type;
2386 
2387 FUNCTION Routing_Reference ( p_routing_reference_id IN NUMBER,
2388                              p_organization_id      IN NUMBER)
2389 RETURN BOOLEAN
2390 IS
2391 l_dummy                       VARCHAR2(10);
2392 BEGIN
2393 
2394     IF p_routing_reference_id IS NULL OR
2395         p_routing_reference_id = FND_API.G_MISS_NUM
2396     THEN
2397         RETURN TRUE;
2398     END IF;
2399 
2400     SELECT  'VALID'
2401       INTO     l_dummy
2402       FROM     mtl_system_items
2403       WHERE    inventory_item_id = p_routing_reference_id
2404       AND      organization_id = p_organization_id;
2405 
2406     RETURN TRUE;
2407 
2408 EXCEPTION
2409 
2410     WHEN NO_DATA_FOUND THEN
2411 
2412        Wip_Globals.Add_Error_Message(
2413                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2414                                 p_token1_name   => 'ATTRIBUTE',
2415                                 p_token1_value  => 'routing_reference');
2416 
2417         RETURN FALSE;
2418 
2419     WHEN OTHERS THEN
2420 
2421         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2422         THEN
2423             FND_MSG_PUB.Add_Exc_Msg
2424             (   G_PKG_NAME
2425             ,   'Routing_Reference'
2426             );
2427         END IF;
2428 
2429         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2430 
2431 END Routing_Reference;
2432 
2433 FUNCTION Status_Type ( p_status_type IN NUMBER )
2434 RETURN BOOLEAN
2435 IS
2436 l_dummy                       VARCHAR2(10);
2437 BEGIN
2438 
2439     IF p_status_type IS NULL OR
2440         p_status_type = FND_API.G_MISS_NUM
2441     THEN
2442         RETURN TRUE;
2443     END IF;
2444 
2445     SELECT  'VALID'
2446       INTO     l_dummy
2447       FROM     mfg_lookups
2448       WHERE    lookup_type = 'WIP_JOB_STATUS'
2449       AND      lookup_code = p_status_type;
2450 
2451     RETURN TRUE;
2452 
2453 EXCEPTION
2454 
2455     WHEN NO_DATA_FOUND THEN
2456 
2457        Wip_Globals.Add_Error_Message(
2458                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2459                                 p_token1_name   => 'ATTRIBUTE',
2460                                 p_token1_value  => 'status_type');
2461 
2462         RETURN FALSE;
2463 
2464     WHEN OTHERS THEN
2465 
2469             (   G_PKG_NAME
2466         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2467         THEN
2468             FND_MSG_PUB.Add_Exc_Msg
2470             ,   'Status_Type'
2471             );
2472         END IF;
2473 
2474         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2475 
2476 END Status_Type;
2477 
2478 FUNCTION Wip_Supply_Type ( p_wip_supply_type IN NUMBER )
2479 RETURN BOOLEAN
2480 IS
2481 l_dummy                       VARCHAR2(10);
2482 BEGIN
2483 
2484     IF p_wip_supply_type IS NULL OR
2485         p_wip_supply_type = FND_API.G_MISS_NUM
2486     THEN
2487         RETURN TRUE;
2488     END IF;
2489 
2490     SELECT  'VALID'
2491       INTO     l_dummy
2492       FROM     mfg_lookups
2493       WHERE    lookup_type = 'WIP_SUPPLY'
2494       AND      lookup_code = p_wip_supply_type;
2495 
2496     RETURN TRUE;
2497 
2498 EXCEPTION
2499 
2500     WHEN NO_DATA_FOUND THEN
2501 
2502        Wip_Globals.Add_Error_Message(
2503                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2504                                 p_token1_name   => 'ATTRIBUTE',
2505                                 p_token1_value  => 'wip_supply_type');
2506 
2507         RETURN FALSE;
2508 
2509     WHEN OTHERS THEN
2510 
2511         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2512         THEN
2513             FND_MSG_PUB.Add_Exc_Msg
2514             (   G_PKG_NAME
2515             ,   'Wip_Supply_Type'
2516             );
2517         END IF;
2518 
2519         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2520 
2521 END Wip_Supply_Type;
2522 
2523 
2524 FUNCTION Repetitive_Schedule ( p_repetitive_schedule_id IN NUMBER )
2525 RETURN BOOLEAN
2526 IS
2527 l_dummy                       VARCHAR2(10);
2528 BEGIN
2529 
2530     IF p_repetitive_schedule_id IS NULL OR
2531         p_repetitive_schedule_id = FND_API.G_MISS_NUM
2532     THEN
2533         RETURN TRUE;
2534     END IF;
2535 
2536     SELECT  'VALID'
2537     INTO     l_dummy
2538     FROM     wip_repetitive_schedules
2539     WHERE    repetitive_schedule_id = p_repetitive_schedule_id;
2540 
2541     RETURN TRUE;
2542 
2543 EXCEPTION
2544 
2545     WHEN NO_DATA_FOUND THEN
2546 
2547        Wip_Globals.Add_Error_Message(
2548                                 p_message_name  => 'WIP_INVALID_ATTRIBUTE',
2549                                 p_token1_name   => 'ATTRIBUTE',
2550                                 p_token1_value  => 'repetitive_schedule_id');
2551 
2552         RETURN FALSE;
2553 
2554     WHEN OTHERS THEN
2555 
2556         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2557         THEN
2558             FND_MSG_PUB.Add_Exc_Msg
2559             (   G_PKG_NAME
2560             ,   'Repetitive_Schedule'
2561             );
2562         END IF;
2563 
2564         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2565 
2566 END Repetitive_Schedule;
2567 
2568 FUNCTION Acct_Period ( p_acct_period_id  IN NUMBER,
2569                        p_organization_id IN NUMBER)
2570 RETURN BOOLEAN
2571 IS
2572 l_dummy                       VARCHAR2(10);
2573 BEGIN
2574 
2575     IF p_acct_period_id IS NULL OR
2576         p_acct_period_id = FND_API.G_MISS_NUM
2577     THEN
2578         RETURN TRUE;
2579     END IF;
2580 
2581     SELECT  'VALID'
2582       INTO     l_dummy
2583       FROM     org_acct_periods
2584       WHERE    acct_period_id = p_acct_period_id
2585       AND      organization_id = p_organization_id;
2586 
2587     RETURN TRUE;
2588 
2589 EXCEPTION
2590 
2591     WHEN NO_DATA_FOUND THEN
2592 
2593         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2594         THEN
2595 
2596             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
2597             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','acct_period');
2598             FND_MSG_PUB.Add;
2599 
2600         END IF;
2601 
2602         RETURN FALSE;
2603 
2604     WHEN OTHERS THEN
2605 
2606         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2607         THEN
2608             FND_MSG_PUB.Add_Exc_Msg
2609             (   G_PKG_NAME
2610             ,   'Acct_Period'
2611             );
2612         END IF;
2613 
2614         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2615 
2616 END Acct_Period;
2617 
2618 
2619 FUNCTION Completion_Transaction ( p_completion_transaction_id IN NUMBER )
2620 RETURN BOOLEAN
2621 IS
2622 l_dummy                       VARCHAR2(10);
2623 BEGIN
2624 
2625     RETURN TRUE;
2626 
2627 EXCEPTION
2628 
2629     WHEN NO_DATA_FOUND THEN
2630 
2631         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2632         THEN
2633 
2634             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
2635             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','completion_transaction');
2636             FND_MSG_PUB.Add;
2640         RETURN FALSE;
2637 
2638         END IF;
2639 
2641 
2642     WHEN OTHERS THEN
2643 
2644         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2645         THEN
2646             FND_MSG_PUB.Add_Exc_Msg
2647             (   G_PKG_NAME
2648             ,   'Completion_Transaction'
2649             );
2650         END IF;
2651 
2652         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2653 
2654 END Completion_Transaction;
2655 /*
2656 FUNCTION Cost_Group ( p_cost_group_id IN NUMBER )
2657 RETURN BOOLEAN
2658 IS
2659 l_dummy                       VARCHAR2(10);
2660 BEGIN
2661 
2662     RETURN TRUE;
2663 
2664 EXCEPTION
2665 
2666     WHEN NO_DATA_FOUND THEN
2667 
2668         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2669         THEN
2670 
2671             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
2672             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','cost_group');
2673             FND_MSG_PUB.Add;
2674 
2675         END IF;
2676 
2677         RETURN FALSE;
2678 
2679     WHEN OTHERS THEN
2680 
2681         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2682         THEN
2683             FND_MSG_PUB.Add_Exc_Msg
2684             (   G_PKG_NAME
2685             ,   'Cost_Group'
2686             );
2687         END IF;
2688 
2689         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2690 
2691 END Cost_Group;
2692 
2693 FUNCTION Current_Loc_Control ( p_current_loc_control_code IN NUMBER )
2694 RETURN BOOLEAN
2695 IS
2696 l_dummy                       VARCHAR2(10);
2697 BEGIN
2698 
2699     RETURN TRUE;
2700 
2701 EXCEPTION
2702 
2703     WHEN NO_DATA_FOUND THEN
2704 
2705         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2706         THEN
2707 
2708             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
2709             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','current_loc_control');
2710             FND_MSG_PUB.Add;
2711 
2712         END IF;
2713 
2714         RETURN FALSE;
2715 
2716     WHEN OTHERS THEN
2717 
2718         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2719         THEN
2720             FND_MSG_PUB.Add_Exc_Msg
2721             (   G_PKG_NAME
2722             ,   'Current_Loc_Control'
2723             );
2724         END IF;
2725 
2726         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2727 
2728 END Current_Loc_Control;
2729 
2730 FUNCTION Demand ( p_demand_id IN NUMBER )
2731 RETURN BOOLEAN
2732 IS
2733 l_dummy                       VARCHAR2(10);
2734 BEGIN
2735 
2736     RETURN TRUE;
2737 
2738 EXCEPTION
2739 
2740     WHEN NO_DATA_FOUND THEN
2741 
2742         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2743         THEN
2744 
2745             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
2746             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','demand');
2747             FND_MSG_PUB.Add;
2748 
2749         END IF;
2750 
2751         RETURN FALSE;
2752 
2753     WHEN OTHERS THEN
2754 
2755         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2756         THEN
2757             FND_MSG_PUB.Add_Exc_Msg
2758             (   G_PKG_NAME
2759             ,   'Demand'
2760             );
2761         END IF;
2762 
2763         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2764 
2765 END Demand;
2766 
2767 FUNCTION Distribution_Account ( p_distribution_account_id IN NUMBER )
2768 RETURN BOOLEAN
2769 IS
2770 l_dummy                       VARCHAR2(10);
2771 BEGIN
2772 
2773     IF p_distribution_account_id IS NULL OR
2774         p_distribution_account_id = FND_API.G_MISS_NUM
2775     THEN
2776         RETURN TRUE;
2777     END IF;
2778 
2779     --  SELECT  'VALID'
2780     --  INTO     l_dummy
2781     --  FROM     DB_TABLE
2782     --  WHERE    DB_COLUMN = p_distribution_account_id;
2783 
2784     RETURN TRUE;
2785 
2786 EXCEPTION
2787 
2788     WHEN NO_DATA_FOUND THEN
2789 
2790         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2791         THEN
2792 
2793             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
2794             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','distribution_account');
2795             FND_MSG_PUB.Add;
2796 
2797         END IF;
2798 
2799         RETURN FALSE;
2800 
2801     WHEN OTHERS THEN
2802 
2803         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2804         THEN
2805             FND_MSG_PUB.Add_Exc_Msg
2806             (   G_PKG_NAME
2807             ,   'Distribution_Account'
2808             );
2809         END IF;
2810 
2811         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2812 
2813 END Distribution_Account;
2814 
2815 FUNCTION Encumbrance_Account ( p_encumbrance_account IN NUMBER )
2816 RETURN BOOLEAN
2817 IS
2821     IF p_encumbrance_account IS NULL OR
2818 l_dummy                       VARCHAR2(10);
2819 BEGIN
2820 
2822         p_encumbrance_account = FND_API.G_MISS_NUM
2823     THEN
2824         RETURN TRUE;
2825     END IF;
2826 
2827     --  SELECT  'VALID'
2828     --  INTO     l_dummy
2829     --  FROM     DB_TABLE
2830     --  WHERE    DB_COLUMN = p_encumbrance_account;
2831 
2832     RETURN TRUE;
2833 
2834 EXCEPTION
2835 
2836     WHEN NO_DATA_FOUND THEN
2837 
2838         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2839         THEN
2840 
2841             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
2842             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','encumbrance_account');
2843             FND_MSG_PUB.Add;
2844 
2845         END IF;
2846 
2847         RETURN FALSE;
2848 
2849     WHEN OTHERS THEN
2850 
2851         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2852         THEN
2853             FND_MSG_PUB.Add_Exc_Msg
2854             (   G_PKG_NAME
2855             ,   'Encumbrance_Account'
2856             );
2857         END IF;
2858 
2859         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2860 
2861 END Encumbrance_Account;
2862 
2863 FUNCTION Encumbrance_Amount ( p_encumbrance_amount IN NUMBER )
2864 RETURN BOOLEAN
2865 IS
2866 l_dummy                       VARCHAR2(10);
2867 BEGIN
2868 
2869     RETURN TRUE;
2870 
2871 EXCEPTION
2872 
2873     WHEN NO_DATA_FOUND THEN
2874 
2875         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2876         THEN
2877 
2878             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
2879             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','encumbrance_amount');
2880             FND_MSG_PUB.Add;
2881 
2882         END IF;
2883 
2884         RETURN FALSE;
2885 
2886     WHEN OTHERS THEN
2887 
2888         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2889         THEN
2890             FND_MSG_PUB.Add_Exc_Msg
2891             (   G_PKG_NAME
2892             ,   'Encumbrance_Amount'
2893             );
2894         END IF;
2895 
2896         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2897 
2898 END Encumbrance_Amount;
2899 
2900 FUNCTION Final_Completion ( p_final_completion_flag IN VARCHAR2 )
2901 RETURN BOOLEAN
2902 IS
2903 l_dummy                       VARCHAR2(10);
2904 BEGIN
2905 
2906     RETURN TRUE;
2907 
2908 EXCEPTION
2909 
2910     WHEN NO_DATA_FOUND THEN
2911 
2912         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2913         THEN
2914 
2915             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
2916             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','final_completion');
2917             FND_MSG_PUB.Add;
2918 
2919         END IF;
2920 
2921         RETURN FALSE;
2922 
2923     WHEN OTHERS THEN
2924 
2925         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2926         THEN
2927             FND_MSG_PUB.Add_Exc_Msg
2928             (   G_PKG_NAME
2929             ,   'Final_Completion'
2930             );
2931         END IF;
2932 
2933         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2934 
2935 END Final_Completion;
2936 
2937 FUNCTION Flow_Schedule ( p_flow_schedule IN VARCHAR2 )
2938 RETURN BOOLEAN
2939 IS
2940 l_dummy                       VARCHAR2(10);
2941 BEGIN
2942 
2943     RETURN TRUE;
2944 
2945 EXCEPTION
2946 
2947     WHEN NO_DATA_FOUND THEN
2948 
2949         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
2950         THEN
2951 
2952             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
2953             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','flow_schedule');
2954             FND_MSG_PUB.Add;
2955 
2956         END IF;
2957 
2958         RETURN FALSE;
2959 
2960     WHEN OTHERS THEN
2961 
2962         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2963         THEN
2964             FND_MSG_PUB.Add_Exc_Msg
2965             (   G_PKG_NAME
2966             ,   'Flow_Schedule'
2967             );
2968         END IF;
2969 
2970         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2971 
2972 END Flow_Schedule;
2973 
2974 FUNCTION Inventory_Item ( p_inventory_item_id IN NUMBER,
2975                           p_organization_id IN NUMBER)
2976 RETURN BOOLEAN
2977 IS
2978 l_dummy                       VARCHAR2(10);
2979 BEGIN
2980 
2981     IF p_inventory_item_id IS NULL OR
2982         p_inventory_item_id = FND_API.G_MISS_NUM
2983     THEN
2984         RETURN TRUE;
2985     END IF;
2986 
2987     SELECT  'VALID'
2988       INTO     l_dummy
2989       FROM     mtl_system_items
2990       WHERE    inventory_item_id = p_inventory_item_id
2991       AND      organization_id = p_organization_id;
2992 
2993 
2994     RETURN TRUE;
2995 
2996 EXCEPTION
2997 
3001         THEN
2998     WHEN NO_DATA_FOUND THEN
2999 
3000         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3002 
3003             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3004             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','inventory_item');
3005             FND_MSG_PUB.Add;
3006 
3007         END IF;
3008 
3009         RETURN FALSE;
3010 
3011     WHEN OTHERS THEN
3012 
3013         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3014         THEN
3015             FND_MSG_PUB.Add_Exc_Msg
3016             (   G_PKG_NAME
3017             ,   'Inventory_Item'
3018             );
3019         END IF;
3020 
3021         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3022 
3023 END Inventory_Item;
3024 
3025 FUNCTION Item_Description ( p_item_description IN VARCHAR2 )
3026 RETURN BOOLEAN
3027 IS
3028 l_dummy                       VARCHAR2(10);
3029 BEGIN
3030 
3031     RETURN TRUE;
3032 
3033 EXCEPTION
3034 
3035     WHEN NO_DATA_FOUND THEN
3036 
3037         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3038         THEN
3039 
3040             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3041             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','item_description');
3042             FND_MSG_PUB.Add;
3043 
3044         END IF;
3045 
3046         RETURN FALSE;
3047 
3048     WHEN OTHERS THEN
3049 
3050         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3051         THEN
3052             FND_MSG_PUB.Add_Exc_Msg
3053             (   G_PKG_NAME
3054             ,   'Item_Description'
3055             );
3056         END IF;
3057 
3058         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3059 
3060 END Item_Description;
3061 
3062 FUNCTION Item_Inventory_Asset ( p_item_inventory_asset_flag IN VARCHAR2 )
3063 RETURN BOOLEAN
3064 IS
3065 l_dummy                       VARCHAR2(10);
3066 BEGIN
3067 
3068     RETURN TRUE;
3069 
3070 EXCEPTION
3071 
3072     WHEN NO_DATA_FOUND THEN
3073 
3074         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3075         THEN
3076 
3077             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3078             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','item_inventory_asset');
3079             FND_MSG_PUB.Add;
3080 
3081         END IF;
3082 
3083         RETURN FALSE;
3084 
3085     WHEN OTHERS THEN
3086 
3087         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3088         THEN
3089             FND_MSG_PUB.Add_Exc_Msg
3090             (   G_PKG_NAME
3091             ,   'Item_Inventory_Asset'
3092             );
3093         END IF;
3094 
3095         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3096 
3097 END Item_Inventory_Asset;
3098 
3099 FUNCTION Item_Loc_Control ( p_item_loc_control_code IN NUMBER )
3100 RETURN BOOLEAN
3101 IS
3102 l_dummy                       VARCHAR2(10);
3103 BEGIN
3104 
3105     RETURN TRUE;
3106 
3107 EXCEPTION
3108 
3109     WHEN NO_DATA_FOUND THEN
3110 
3111         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3112         THEN
3113 
3114             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3115             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','item_loc_control');
3116             FND_MSG_PUB.Add;
3117 
3118         END IF;
3119 
3120         RETURN FALSE;
3121 
3122     WHEN OTHERS THEN
3123 
3124         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3125         THEN
3126             FND_MSG_PUB.Add_Exc_Msg
3127             (   G_PKG_NAME
3128             ,   'Item_Loc_Control'
3129             );
3130         END IF;
3131 
3132         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3133 
3134 END Item_Loc_Control;
3135 
3136 FUNCTION Item_Lot_Control ( p_item_lot_control_code IN NUMBER )
3137 RETURN BOOLEAN
3138 IS
3139 l_dummy                       VARCHAR2(10);
3140 BEGIN
3141 
3142     RETURN TRUE;
3143 
3144 EXCEPTION
3145 
3146     WHEN NO_DATA_FOUND THEN
3147 
3148         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3149         THEN
3150 
3151             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3152             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','item_lot_control');
3153             FND_MSG_PUB.Add;
3154 
3155         END IF;
3156 
3157         RETURN FALSE;
3158 
3159     WHEN OTHERS THEN
3160 
3161         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3162         THEN
3163             FND_MSG_PUB.Add_Exc_Msg
3164             (   G_PKG_NAME
3165             ,   'Item_Lot_Control'
3166             );
3167         END IF;
3168 
3169         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3170 
3171 END Item_Lot_Control;
3172 
3173 FUNCTION Item_Primary_Uom ( p_item_primary_uom_code IN VARCHAR2 )
3174 RETURN BOOLEAN
3175 IS
3179     IF p_item_primary_uom_code IS NULL OR
3176 l_dummy                       VARCHAR2(10);
3177 BEGIN
3178 
3180         p_item_primary_uom_code = FND_API.G_MISS_CHAR
3181     THEN
3182         RETURN TRUE;
3183     END IF;
3184 
3185     --  SELECT  'VALID'
3186     --  INTO     l_dummy
3187     --  FROM     DB_TABLE
3188     --  WHERE    DB_COLUMN = p_item_primary_uom_code;
3189 
3190     RETURN TRUE;
3191 
3192 EXCEPTION
3193 
3194     WHEN NO_DATA_FOUND THEN
3195 
3196         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3197         THEN
3198 
3199             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3200             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','item_primary_uom');
3201             FND_MSG_PUB.Add;
3202 
3203         END IF;
3204 
3205         RETURN FALSE;
3206 
3207     WHEN OTHERS THEN
3208 
3209         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3210         THEN
3211             FND_MSG_PUB.Add_Exc_Msg
3212             (   G_PKG_NAME
3213             ,   'Item_Primary_Uom'
3214             );
3215         END IF;
3216 
3217         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3218 
3219 END Item_Primary_Uom;
3220 
3221 FUNCTION Item_Restrict_Loc ( p_item_restrict_loc_code IN NUMBER )
3222 RETURN BOOLEAN
3223 IS
3224 l_dummy                       VARCHAR2(10);
3225 BEGIN
3226 
3227     IF p_item_restrict_loc_code IS NULL OR
3228         p_item_restrict_loc_code = FND_API.G_MISS_NUM
3229     THEN
3230         RETURN TRUE;
3231     END IF;
3232 
3233     --  SELECT  'VALID'
3234     --  INTO     l_dummy
3235     --  FROM     DB_TABLE
3236     --  WHERE    DB_COLUMN = p_item_restrict_loc_code;
3237 
3238     RETURN TRUE;
3239 
3240 EXCEPTION
3241 
3242     WHEN NO_DATA_FOUND THEN
3243 
3244         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3245         THEN
3246 
3247             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3248             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','item_restrict_loc');
3249             FND_MSG_PUB.Add;
3250 
3251         END IF;
3252 
3253         RETURN FALSE;
3254 
3255     WHEN OTHERS THEN
3256 
3257         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3258         THEN
3259             FND_MSG_PUB.Add_Exc_Msg
3260             (   G_PKG_NAME
3261             ,   'Item_Restrict_Loc'
3262             );
3263         END IF;
3264 
3265         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3266 
3267 END Item_Restrict_Loc;
3268 
3269 FUNCTION Item_Restrict_Subinv ( p_item_restrict_subinv_code IN NUMBER )
3270 RETURN BOOLEAN
3271 IS
3272 l_dummy                       VARCHAR2(10);
3273 BEGIN
3274 
3275     IF p_item_restrict_subinv_code IS NULL OR
3276         p_item_restrict_subinv_code = FND_API.G_MISS_NUM
3277     THEN
3278         RETURN TRUE;
3279     END IF;
3280 
3281     --  SELECT  'VALID'
3282     --  INTO     l_dummy
3283     --  FROM     DB_TABLE
3284     --  WHERE    DB_COLUMN = p_item_restrict_subinv_code;
3285 
3286     RETURN TRUE;
3287 
3288 EXCEPTION
3289 
3290     WHEN NO_DATA_FOUND THEN
3291 
3292         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3293         THEN
3294 
3295             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3296             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','item_restrict_subinv');
3297             FND_MSG_PUB.Add;
3298 
3299         END IF;
3300 
3301         RETURN FALSE;
3302 
3303     WHEN OTHERS THEN
3304 
3305         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3306         THEN
3307             FND_MSG_PUB.Add_Exc_Msg
3308             (   G_PKG_NAME
3309             ,   'Item_Restrict_Subinv'
3310             );
3311         END IF;
3312 
3313         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3314 
3315 END Item_Restrict_Subinv;
3316 
3317 FUNCTION Item_Rev_Qty_Control ( p_item_rev_qty_control_code IN NUMBER )
3318 RETURN BOOLEAN
3319 IS
3320 l_dummy                       VARCHAR2(10);
3321 BEGIN
3322 
3323     IF p_item_rev_qty_control_code IS NULL OR
3324         p_item_rev_qty_control_code = FND_API.G_MISS_NUM
3325     THEN
3326         RETURN TRUE;
3327     END IF;
3328 
3329     --  SELECT  'VALID'
3330     --  INTO     l_dummy
3331     --  FROM     DB_TABLE
3332     --  WHERE    DB_COLUMN = p_item_rev_qty_control_code;
3333 
3334     RETURN TRUE;
3335 
3336 EXCEPTION
3337 
3338     WHEN NO_DATA_FOUND THEN
3339 
3340         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3341         THEN
3342 
3343             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3344             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','item_rev_qty_control');
3345             FND_MSG_PUB.Add;
3346 
3347         END IF;
3348 
3349         RETURN FALSE;
3350 
3354         THEN
3351     WHEN OTHERS THEN
3352 
3353         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3355             FND_MSG_PUB.Add_Exc_Msg
3356             (   G_PKG_NAME
3357             ,   'Item_Rev_Qty_Control'
3358             );
3359         END IF;
3360 
3361         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3362 
3363 END Item_Rev_Qty_Control;
3364 
3365 FUNCTION Item_Segments ( p_item_segments IN VARCHAR2 )
3366 RETURN BOOLEAN
3367 IS
3368 l_dummy                       VARCHAR2(10);
3369 BEGIN
3370 
3371     IF p_item_segments IS NULL OR
3372         p_item_segments = FND_API.G_MISS_CHAR
3373     THEN
3374         RETURN TRUE;
3375     END IF;
3376 
3377     --  SELECT  'VALID'
3378     --  INTO     l_dummy
3379     --  FROM     DB_TABLE
3380     --  WHERE    DB_COLUMN = p_item_segments;
3381 
3382     RETURN TRUE;
3383 
3384 EXCEPTION
3385 
3386     WHEN NO_DATA_FOUND THEN
3387 
3388         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3389         THEN
3390 
3391             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3392             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','item_segments');
3393             FND_MSG_PUB.Add;
3394 
3395         END IF;
3396 
3397         RETURN FALSE;
3398 
3399     WHEN OTHERS THEN
3400 
3401         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3402         THEN
3403             FND_MSG_PUB.Add_Exc_Msg
3404             (   G_PKG_NAME
3405             ,   'Item_Segments'
3406             );
3407         END IF;
3408 
3409         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3410 
3411 END Item_Segments;
3412 
3413 FUNCTION Item_Serial_Control ( p_item_serial_control_code IN NUMBER )
3414 RETURN BOOLEAN
3415 IS
3416 l_dummy                       VARCHAR2(10);
3417 BEGIN
3418 
3419     IF p_item_serial_control_code IS NULL OR
3420         p_item_serial_control_code = FND_API.G_MISS_NUM
3421     THEN
3422         RETURN TRUE;
3423     END IF;
3424 
3425     --  SELECT  'VALID'
3426     --  INTO     l_dummy
3427     --  FROM     DB_TABLE
3428     --  WHERE    DB_COLUMN = p_item_serial_control_code;
3429 
3430     RETURN TRUE;
3431 
3432 EXCEPTION
3433 
3434     WHEN NO_DATA_FOUND THEN
3435 
3436         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3437         THEN
3438 
3439             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3440             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','item_serial_control');
3441             FND_MSG_PUB.Add;
3442 
3443         END IF;
3444 
3445         RETURN FALSE;
3446 
3447     WHEN OTHERS THEN
3448 
3449         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3450         THEN
3451             FND_MSG_PUB.Add_Exc_Msg
3452             (   G_PKG_NAME
3453             ,   'Item_Serial_Control'
3454             );
3455         END IF;
3456 
3457         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3458 
3459 END Item_Serial_Control;
3460 
3461 FUNCTION Item_Trx_Enabled ( p_item_trx_enabled_flag IN VARCHAR2 )
3462 RETURN BOOLEAN
3463 IS
3464 l_dummy                       VARCHAR2(10);
3465 BEGIN
3466 
3467     IF p_item_trx_enabled_flag IS NULL OR
3468         p_item_trx_enabled_flag = FND_API.G_MISS_CHAR
3469     THEN
3470         RETURN TRUE;
3471     END IF;
3472 
3473     --  SELECT  'VALID'
3474     --  INTO     l_dummy
3475     --  FROM     DB_TABLE
3476     --  WHERE    DB_COLUMN = p_item_trx_enabled_flag;
3477 
3478     RETURN TRUE;
3479 
3480 EXCEPTION
3481 
3482     WHEN NO_DATA_FOUND THEN
3483 
3484         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3485         THEN
3486 
3487             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3488             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','item_trx_enabled');
3489             FND_MSG_PUB.Add;
3490 
3491         END IF;
3492 
3493         RETURN FALSE;
3494 
3495     WHEN OTHERS THEN
3496 
3497         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3498         THEN
3499             FND_MSG_PUB.Add_Exc_Msg
3500             (   G_PKG_NAME
3501             ,   'Item_Trx_Enabled'
3502             );
3503         END IF;
3504 
3505         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3506 
3507 END Item_Trx_Enabled;
3508 
3509 FUNCTION Item_Uom_Class ( p_item_uom_class IN VARCHAR2 )
3510 RETURN BOOLEAN
3511 IS
3512 l_dummy                       VARCHAR2(10);
3513 BEGIN
3514 
3515     IF p_item_uom_class IS NULL OR
3516         p_item_uom_class = FND_API.G_MISS_CHAR
3517     THEN
3518         RETURN TRUE;
3519     END IF;
3520 
3521     --  SELECT  'VALID'
3522     --  INTO     l_dummy
3523     --  FROM     DB_TABLE
3524     --  WHERE    DB_COLUMN = p_item_uom_class;
3525 
3526     RETURN TRUE;
3527 
3528 EXCEPTION
3529 
3533         THEN
3530     WHEN NO_DATA_FOUND THEN
3531 
3532         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3534 
3535             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3536             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','item_uom_class');
3537             FND_MSG_PUB.Add;
3538 
3539         END IF;
3540 
3541         RETURN FALSE;
3542 
3543     WHEN OTHERS THEN
3544 
3545         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3546         THEN
3547             FND_MSG_PUB.Add_Exc_Msg
3548             (   G_PKG_NAME
3549             ,   'Item_Uom_Class'
3550             );
3551         END IF;
3552 
3553         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3554 
3555 END Item_Uom_Class;
3556 
3557 FUNCTION Locator ( p_locator_id IN NUMBER )
3558 RETURN BOOLEAN
3559 IS
3560 l_dummy                       VARCHAR2(10);
3561 BEGIN
3562 
3563     IF p_locator_id IS NULL OR
3564         p_locator_id = FND_API.G_MISS_NUM
3565     THEN
3566         RETURN TRUE;
3567     END IF;
3568 
3569     --  SELECT  'VALID'
3570     --  INTO     l_dummy
3571     --  FROM     DB_TABLE
3572     --  WHERE    DB_COLUMN = p_locator_id;
3573 
3574     RETURN TRUE;
3575 
3576 EXCEPTION
3577 
3578     WHEN NO_DATA_FOUND THEN
3579 
3580         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3581         THEN
3582 
3583             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3584             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','locator');
3585             FND_MSG_PUB.Add;
3586 
3587         END IF;
3588 
3589         RETURN FALSE;
3590 
3591     WHEN OTHERS THEN
3592 
3593         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3594         THEN
3595             FND_MSG_PUB.Add_Exc_Msg
3596             (   G_PKG_NAME
3597             ,   'Locator'
3598             );
3599         END IF;
3600 
3601         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3602 
3603 END Locator;
3604 
3605 FUNCTION Locator_Segments ( p_locator_segments IN VARCHAR2 )
3606 RETURN BOOLEAN
3607 IS
3608 l_dummy                       VARCHAR2(10);
3609 BEGIN
3610 
3611     IF p_locator_segments IS NULL OR
3612         p_locator_segments = FND_API.G_MISS_CHAR
3613     THEN
3614         RETURN TRUE;
3615     END IF;
3616 
3617     --  SELECT  'VALID'
3618     --  INTO     l_dummy
3619     --  FROM     DB_TABLE
3620     --  WHERE    DB_COLUMN = p_locator_segments;
3621 
3622     RETURN TRUE;
3623 
3624 EXCEPTION
3625 
3626     WHEN NO_DATA_FOUND THEN
3627 
3628         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3629         THEN
3630 
3631             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3632             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','locator_segments');
3633             FND_MSG_PUB.Add;
3634 
3635         END IF;
3636 
3637         RETURN FALSE;
3638 
3639     WHEN OTHERS THEN
3640 
3641         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3642         THEN
3643             FND_MSG_PUB.Add_Exc_Msg
3644             (   G_PKG_NAME
3645             ,   'Locator_Segments'
3646             );
3647         END IF;
3648 
3649         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3650 
3651 END Locator_Segments;
3652 
3653 FUNCTION Lock_Flag ( p_lock_flag IN VARCHAR2 )
3654 RETURN BOOLEAN
3655 IS
3656 l_dummy                       VARCHAR2(10);
3657 BEGIN
3658 
3659     IF p_lock_flag IS NULL OR
3660         p_lock_flag = FND_API.G_MISS_CHAR
3661     THEN
3662         RETURN TRUE;
3663     END IF;
3664 
3665     --  SELECT  'VALID'
3666     --  INTO     l_dummy
3667     --  FROM     DB_TABLE
3668     --  WHERE    DB_COLUMN = p_lock_flag;
3669 
3670     RETURN TRUE;
3671 
3672 EXCEPTION
3673 
3674     WHEN NO_DATA_FOUND THEN
3675 
3676         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3677         THEN
3678 
3679             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3680             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','lock');
3681             FND_MSG_PUB.Add;
3682 
3683         END IF;
3684 
3685         RETURN FALSE;
3686 
3687     WHEN OTHERS THEN
3688 
3689         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3690         THEN
3691             FND_MSG_PUB.Add_Exc_Msg
3692             (   G_PKG_NAME
3693             ,   'Lock'
3694             );
3695         END IF;
3696 
3697         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3698 
3699 END Lock_Flag;
3700 
3701 FUNCTION Lot_Alpha_Prefix ( p_lot_alpha_prefix IN VARCHAR2 )
3702 RETURN BOOLEAN
3703 IS
3704 l_dummy                       VARCHAR2(10);
3705 BEGIN
3706 
3707     IF p_lot_alpha_prefix IS NULL OR
3708         p_lot_alpha_prefix = FND_API.G_MISS_CHAR
3709     THEN
3713     --  SELECT  'VALID'
3710         RETURN TRUE;
3711     END IF;
3712 
3714     --  INTO     l_dummy
3715     --  FROM     DB_TABLE
3716     --  WHERE    DB_COLUMN = p_lot_alpha_prefix;
3717 
3718     RETURN TRUE;
3719 
3720 EXCEPTION
3721 
3722     WHEN NO_DATA_FOUND THEN
3723 
3724         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3725         THEN
3726 
3727             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3728             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','lot_alpha_prefix');
3729             FND_MSG_PUB.Add;
3730 
3731         END IF;
3732 
3733         RETURN FALSE;
3734 
3735     WHEN OTHERS THEN
3736 
3737         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3738         THEN
3739             FND_MSG_PUB.Add_Exc_Msg
3740             (   G_PKG_NAME
3741             ,   'Lot_Alpha_Prefix'
3742             );
3743         END IF;
3744 
3745         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3746 
3747 END Lot_Alpha_Prefix;
3748 
3749 FUNCTION Lot_Expiration_Date ( p_lot_expiration_date IN DATE )
3750 RETURN BOOLEAN
3751 IS
3752 l_dummy                       VARCHAR2(10);
3753 BEGIN
3754 
3755     IF p_lot_expiration_date IS NULL OR
3756         p_lot_expiration_date = FND_API.G_MISS_DATE
3757     THEN
3758         RETURN TRUE;
3759     END IF;
3760 
3761     --  SELECT  'VALID'
3762     --  INTO     l_dummy
3763     --  FROM     DB_TABLE
3764     --  WHERE    DB_COLUMN = p_lot_expiration_date;
3765 
3766     RETURN TRUE;
3767 
3768 EXCEPTION
3769 
3770     WHEN NO_DATA_FOUND THEN
3771 
3772         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3773         THEN
3774 
3775             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3776             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','lot_expiration_date');
3777             FND_MSG_PUB.Add;
3778 
3779         END IF;
3780 
3781         RETURN FALSE;
3782 
3783     WHEN OTHERS THEN
3784 
3785         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3786         THEN
3787             FND_MSG_PUB.Add_Exc_Msg
3788             (   G_PKG_NAME
3789             ,   'Lot_Expiration_Date'
3790             );
3791         END IF;
3792 
3793         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3794 
3795 END Lot_Expiration_Date;
3796 
3797 FUNCTION Material_Alloc_Temp ( p_material_alloc_temp_id IN NUMBER )
3798 RETURN BOOLEAN
3799 IS
3800 l_dummy                       VARCHAR2(10);
3801 BEGIN
3802 
3803     IF p_material_alloc_temp_id IS NULL OR
3804         p_material_alloc_temp_id = FND_API.G_MISS_NUM
3805     THEN
3806         RETURN TRUE;
3807     END IF;
3808 
3809     --  SELECT  'VALID'
3810     --  INTO     l_dummy
3811     --  FROM     DB_TABLE
3812     --  WHERE    DB_COLUMN = p_material_alloc_temp_id;
3813 
3814     RETURN TRUE;
3815 
3816 EXCEPTION
3817 
3818     WHEN NO_DATA_FOUND THEN
3819 
3820         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3821         THEN
3822 
3823             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3824             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','material_alloc_temp');
3825             FND_MSG_PUB.Add;
3826 
3827         END IF;
3828 
3829         RETURN FALSE;
3830 
3831     WHEN OTHERS THEN
3832 
3833         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3834         THEN
3835             FND_MSG_PUB.Add_Exc_Msg
3836             (   G_PKG_NAME
3837             ,   'Material_Alloc_Temp'
3838             );
3839         END IF;
3840 
3841         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3842 
3843 END Material_Alloc_Temp;
3844 
3845 FUNCTION Negative_Req ( p_negative_req_flag IN NUMBER )
3846 RETURN BOOLEAN
3847 IS
3848 l_dummy                       VARCHAR2(10);
3849 BEGIN
3850 
3851     IF p_negative_req_flag IS NULL OR
3852         p_negative_req_flag = FND_API.G_MISS_NUM
3853     THEN
3854         RETURN TRUE;
3855     END IF;
3856 
3857     --  SELECT  'VALID'
3858     --  INTO     l_dummy
3859     --  FROM     DB_TABLE
3860     --  WHERE    DB_COLUMN = p_negative_req_flag;
3861 
3862     RETURN TRUE;
3863 
3864 EXCEPTION
3865 
3866     WHEN NO_DATA_FOUND THEN
3867 
3868         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3869         THEN
3870 
3871             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3872             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','negative_req');
3873             FND_MSG_PUB.Add;
3874 
3875         END IF;
3876 
3877         RETURN FALSE;
3878 
3879     WHEN OTHERS THEN
3880 
3881         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3882         THEN
3883             FND_MSG_PUB.Add_Exc_Msg
3884             (   G_PKG_NAME
3885             ,   'Negative_Req'
3886             );
3887         END IF;
3888 
3892 
3889         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3890 
3891 END Negative_Req;
3893 FUNCTION New_Average_Cost ( p_new_average_cost IN NUMBER )
3894 RETURN BOOLEAN
3895 IS
3896 l_dummy                       VARCHAR2(10);
3897 BEGIN
3898 
3899     IF p_new_average_cost IS NULL OR
3900         p_new_average_cost = FND_API.G_MISS_NUM
3901     THEN
3902         RETURN TRUE;
3903     END IF;
3904 
3905     --  SELECT  'VALID'
3906     --  INTO     l_dummy
3907     --  FROM     DB_TABLE
3908     --  WHERE    DB_COLUMN = p_new_average_cost;
3909 
3910     RETURN TRUE;
3911 
3912 EXCEPTION
3913 
3914     WHEN NO_DATA_FOUND THEN
3915 
3916         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3917         THEN
3918 
3919             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3920             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','new_average_cost');
3921             FND_MSG_PUB.Add;
3922 
3923         END IF;
3924 
3925         RETURN FALSE;
3926 
3927     WHEN OTHERS THEN
3928 
3929         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3930         THEN
3931             FND_MSG_PUB.Add_Exc_Msg
3932             (   G_PKG_NAME
3933             ,   'New_Average_Cost'
3934             );
3935         END IF;
3936 
3937         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3938 
3939 END New_Average_Cost;
3940 
3941 FUNCTION Next_Lot_Number ( p_next_lot_number IN VARCHAR2 )
3942 RETURN BOOLEAN
3943 IS
3944 l_dummy                       VARCHAR2(10);
3945 BEGIN
3946 
3947     IF p_next_lot_number IS NULL OR
3948         p_next_lot_number = FND_API.G_MISS_CHAR
3949     THEN
3950         RETURN TRUE;
3951     END IF;
3952 
3953     --  SELECT  'VALID'
3954     --  INTO     l_dummy
3955     --  FROM     DB_TABLE
3956     --  WHERE    DB_COLUMN = p_next_lot_number;
3957 
3958     RETURN TRUE;
3959 
3960 EXCEPTION
3961 
3962     WHEN NO_DATA_FOUND THEN
3963 
3964         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
3965         THEN
3966 
3967             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
3968             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','next_lot_number');
3969             FND_MSG_PUB.Add;
3970 
3971         END IF;
3972 
3973         RETURN FALSE;
3974 
3975     WHEN OTHERS THEN
3976 
3977         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3978         THEN
3979             FND_MSG_PUB.Add_Exc_Msg
3980             (   G_PKG_NAME
3981             ,   'Next_Lot_Number'
3982             );
3983         END IF;
3984 
3985         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3986 
3987 END Next_Lot_Number;
3988 
3989 FUNCTION Next_Serial_Number ( p_next_serial_number IN VARCHAR2 )
3990 RETURN BOOLEAN
3991 IS
3992 l_dummy                       VARCHAR2(10);
3993 BEGIN
3994 
3995     IF p_next_serial_number IS NULL OR
3996         p_next_serial_number = FND_API.G_MISS_CHAR
3997     THEN
3998         RETURN TRUE;
3999     END IF;
4000 
4001     --  SELECT  'VALID'
4002     --  INTO     l_dummy
4003     --  FROM     DB_TABLE
4004     --  WHERE    DB_COLUMN = p_next_serial_number;
4005 
4006     RETURN TRUE;
4007 
4008 EXCEPTION
4009 
4010     WHEN NO_DATA_FOUND THEN
4011 
4012         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4013         THEN
4014 
4015             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4016             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','next_serial_number');
4017             FND_MSG_PUB.Add;
4018 
4019         END IF;
4020 
4021         RETURN FALSE;
4022 
4023     WHEN OTHERS THEN
4024 
4025         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4026         THEN
4027             FND_MSG_PUB.Add_Exc_Msg
4028             (   G_PKG_NAME
4029             ,   'Next_Serial_Number'
4030             );
4031         END IF;
4032 
4033         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4034 
4035 END Next_Serial_Number;
4036 
4037 FUNCTION Number_Of_Lots_Entered ( p_number_of_lots_entered IN NUMBER )
4038 RETURN BOOLEAN
4039 IS
4040 l_dummy                       VARCHAR2(10);
4041 BEGIN
4042 
4043     IF p_number_of_lots_entered IS NULL OR
4044         p_number_of_lots_entered = FND_API.G_MISS_NUM
4045     THEN
4046         RETURN TRUE;
4047     END IF;
4048 
4049     --  SELECT  'VALID'
4050     --  INTO     l_dummy
4051     --  FROM     DB_TABLE
4052     --  WHERE    DB_COLUMN = p_number_of_lots_entered;
4053 
4054     RETURN TRUE;
4055 
4056 EXCEPTION
4057 
4058     WHEN NO_DATA_FOUND THEN
4059 
4060         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4061         THEN
4062 
4063             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4064             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','number_of_lots_entered');
4065             FND_MSG_PUB.Add;
4066 
4067         END IF;
4068 
4069         RETURN FALSE;
4070 
4071     WHEN OTHERS THEN
4072 
4073         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4077             ,   'Number_Of_Lots_Entered'
4074         THEN
4075             FND_MSG_PUB.Add_Exc_Msg
4076             (   G_PKG_NAME
4078             );
4079         END IF;
4080 
4081         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4082 
4083 END Number_Of_Lots_Entered;
4084 
4085 FUNCTION Overcpl_Primary_Qty ( p_overcpl_primary_qty IN NUMBER )
4086 RETURN BOOLEAN
4087 IS
4088 l_dummy                       VARCHAR2(10);
4089 BEGIN
4090 
4091     IF p_overcpl_primary_qty IS NULL OR
4092         p_overcpl_primary_qty = FND_API.G_MISS_NUM
4093     THEN
4094         RETURN TRUE;
4095     END IF;
4096 
4097     --  SELECT  'VALID'
4098     --  INTO     l_dummy
4099     --  FROM     DB_TABLE
4100     --  WHERE    DB_COLUMN = p_overcpl_primary_qty;
4101 
4102     RETURN TRUE;
4103 
4104 EXCEPTION
4105 
4106     WHEN NO_DATA_FOUND THEN
4107 
4108         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4109         THEN
4110 
4111             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4112             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','overcpl_primary_qty');
4113             FND_MSG_PUB.Add;
4114 
4115         END IF;
4116 
4117         RETURN FALSE;
4118 
4119     WHEN OTHERS THEN
4120 
4121         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4122         THEN
4123             FND_MSG_PUB.Add_Exc_Msg
4124             (   G_PKG_NAME
4125             ,   'Overcpl_Primary_Qty'
4126             );
4127         END IF;
4128 
4129         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4130 
4131 END Overcpl_Primary_Qty;
4132 
4133 FUNCTION Overcpl_Transaction ( p_overcpl_transaction_id IN NUMBER )
4134 RETURN BOOLEAN
4135 IS
4136 l_dummy                       VARCHAR2(10);
4137 BEGIN
4138 
4139     IF p_overcpl_transaction_id IS NULL OR
4140         p_overcpl_transaction_id = FND_API.G_MISS_NUM
4141     THEN
4142         RETURN TRUE;
4143     END IF;
4144 
4145     --  SELECT  'VALID'
4146     --  INTO     l_dummy
4147     --  FROM     DB_TABLE
4148     --  WHERE    DB_COLUMN = p_overcpl_transaction_id;
4149 
4150     RETURN TRUE;
4151 
4152 EXCEPTION
4153 
4154     WHEN NO_DATA_FOUND THEN
4155 
4156         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4157         THEN
4158 
4159             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4160             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','overcpl_transaction');
4161             FND_MSG_PUB.Add;
4162 
4163         END IF;
4164 
4165         RETURN FALSE;
4166 
4167     WHEN OTHERS THEN
4168 
4169         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4170         THEN
4171             FND_MSG_PUB.Add_Exc_Msg
4172             (   G_PKG_NAME
4173             ,   'Overcpl_Transaction'
4174             );
4175         END IF;
4176 
4177         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4178 
4179 END Overcpl_Transaction;
4180 
4181 FUNCTION Overcpl_Transaction_Qty ( p_overcpl_transaction_qty IN NUMBER )
4182 RETURN BOOLEAN
4183 IS
4184 l_dummy                       VARCHAR2(10);
4185 BEGIN
4186 
4187     IF p_overcpl_transaction_qty IS NULL OR
4188         p_overcpl_transaction_qty = FND_API.G_MISS_NUM
4189     THEN
4190         RETURN TRUE;
4191     END IF;
4192 
4193     --  SELECT  'VALID'
4194     --  INTO     l_dummy
4195     --  FROM     DB_TABLE
4196     --  WHERE    DB_COLUMN = p_overcpl_transaction_qty;
4197 
4198     RETURN TRUE;
4199 
4200 EXCEPTION
4201 
4202     WHEN NO_DATA_FOUND THEN
4203 
4204         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4205         THEN
4206 
4207             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4208             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','overcpl_transaction_qty');
4209             FND_MSG_PUB.Add;
4210 
4211         END IF;
4212 
4213         RETURN FALSE;
4214 
4215     WHEN OTHERS THEN
4216 
4217         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4218         THEN
4219             FND_MSG_PUB.Add_Exc_Msg
4220             (   G_PKG_NAME
4221             ,   'Overcpl_Transaction_Qty'
4222             );
4223         END IF;
4224 
4225         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4226 
4227 END Overcpl_Transaction_Qty;
4228 
4229 FUNCTION Pa_Expenditure_Org ( p_pa_expenditure_org_id IN NUMBER )
4230 RETURN BOOLEAN
4231 IS
4232 l_dummy                       VARCHAR2(10);
4233 BEGIN
4234 
4235     IF p_pa_expenditure_org_id IS NULL OR
4236         p_pa_expenditure_org_id = FND_API.G_MISS_NUM
4237     THEN
4238         RETURN TRUE;
4239     END IF;
4240 
4241     --  SELECT  'VALID'
4242     --  INTO     l_dummy
4243     --  FROM     DB_TABLE
4244     --  WHERE    DB_COLUMN = p_pa_expenditure_org_id;
4245 
4246     RETURN TRUE;
4247 
4248 EXCEPTION
4249 
4250     WHEN NO_DATA_FOUND THEN
4251 
4252         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4253         THEN
4254 
4255             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4256             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','pa_expenditure_org');
4260 
4257             FND_MSG_PUB.Add;
4258 
4259         END IF;
4261         RETURN FALSE;
4262 
4263     WHEN OTHERS THEN
4264 
4265         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4266         THEN
4267             FND_MSG_PUB.Add_Exc_Msg
4268             (   G_PKG_NAME
4269             ,   'Pa_Expenditure_Org'
4270             );
4271         END IF;
4272 
4273         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4274 
4275 END Pa_Expenditure_Org;
4276 
4277 FUNCTION Percentage_Change ( p_percentage_change IN NUMBER )
4278 RETURN BOOLEAN
4279 IS
4280 l_dummy                       VARCHAR2(10);
4281 BEGIN
4282 
4283     IF p_percentage_change IS NULL OR
4284         p_percentage_change = FND_API.G_MISS_NUM
4285     THEN
4286         RETURN TRUE;
4287     END IF;
4288 
4289     --  SELECT  'VALID'
4290     --  INTO     l_dummy
4291     --  FROM     DB_TABLE
4292     --  WHERE    DB_COLUMN = p_percentage_change;
4293 
4294     RETURN TRUE;
4295 
4296 EXCEPTION
4297 
4298     WHEN NO_DATA_FOUND THEN
4299 
4300         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4301         THEN
4302 
4303             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4304             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','percentage_change');
4305             FND_MSG_PUB.Add;
4306 
4307         END IF;
4308 
4309         RETURN FALSE;
4310 
4311     WHEN OTHERS THEN
4312 
4313         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4314         THEN
4315             FND_MSG_PUB.Add_Exc_Msg
4316             (   G_PKG_NAME
4317             ,   'Percentage_Change'
4318             );
4319         END IF;
4320 
4321         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4322 
4323 END Percentage_Change;
4324 
4325 FUNCTION Posting ( p_posting_flag IN VARCHAR2 )
4326 RETURN BOOLEAN
4327 IS
4328 l_dummy                       VARCHAR2(10);
4329 BEGIN
4330 
4331     IF p_posting_flag IS NULL OR
4332         p_posting_flag = FND_API.G_MISS_CHAR
4333     THEN
4334         RETURN TRUE;
4335     END IF;
4336 
4337     --  SELECT  'VALID'
4338     --  INTO     l_dummy
4339     --  FROM     DB_TABLE
4340     --  WHERE    DB_COLUMN = p_posting_flag;
4341 
4342     RETURN TRUE;
4343 
4344 EXCEPTION
4345 
4346     WHEN NO_DATA_FOUND THEN
4347 
4348         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4349         THEN
4350 
4351             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4352             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','posting');
4353             FND_MSG_PUB.Add;
4354 
4355         END IF;
4356 
4357         RETURN FALSE;
4358 
4359     WHEN OTHERS THEN
4360 
4361         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4362         THEN
4363             FND_MSG_PUB.Add_Exc_Msg
4364             (   G_PKG_NAME
4365             ,   'Posting'
4366             );
4367         END IF;
4368 
4369         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4370 
4371 END Posting;
4372 
4373 FUNCTION Primary_Switch ( p_primary_switch IN NUMBER )
4374 RETURN BOOLEAN
4375 IS
4376 l_dummy                       VARCHAR2(10);
4377 BEGIN
4378 
4379     IF p_primary_switch IS NULL OR
4380         p_primary_switch = FND_API.G_MISS_NUM
4381     THEN
4382         RETURN TRUE;
4383     END IF;
4384 
4385     --  SELECT  'VALID'
4386     --  INTO     l_dummy
4387     --  FROM     DB_TABLE
4388     --  WHERE    DB_COLUMN = p_primary_switch;
4389 
4390     RETURN TRUE;
4391 
4392 EXCEPTION
4393 
4394     WHEN NO_DATA_FOUND THEN
4395 
4396         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4397         THEN
4398 
4399             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4400             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','primary_switch');
4401             FND_MSG_PUB.Add;
4402 
4403         END IF;
4404 
4405         RETURN FALSE;
4406 
4407     WHEN OTHERS THEN
4408 
4409         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4410         THEN
4411             FND_MSG_PUB.Add_Exc_Msg
4412             (   G_PKG_NAME
4413             ,   'Primary_Switch'
4414             );
4415         END IF;
4416 
4417         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4418 
4419 END Primary_Switch;
4420 
4421 FUNCTION Process ( p_process_flag IN VARCHAR2 )
4422 RETURN BOOLEAN
4423 IS
4424 l_dummy                       VARCHAR2(10);
4425 BEGIN
4426 
4427     IF p_process_flag IS NULL OR
4428         p_process_flag = FND_API.G_MISS_CHAR
4429     THEN
4430         RETURN TRUE;
4431     END IF;
4432 
4433     --  SELECT  'VALID'
4434     --  INTO     l_dummy
4435     --  FROM     DB_TABLE
4436     --  WHERE    DB_COLUMN = p_process_flag;
4437 
4438     RETURN TRUE;
4439 
4440 EXCEPTION
4441 
4442     WHEN NO_DATA_FOUND THEN
4443 
4444         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4445         THEN
4446 
4450 
4447             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4448             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','process');
4449             FND_MSG_PUB.Add;
4451         END IF;
4452 
4453         RETURN FALSE;
4454 
4455     WHEN OTHERS THEN
4456 
4457         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4458         THEN
4459             FND_MSG_PUB.Add_Exc_Msg
4460             (   G_PKG_NAME
4461             ,   'Process'
4462             );
4463         END IF;
4464 
4465         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4466 
4467 END Process;
4468 
4469 FUNCTION Process_Type ( p_process_type IN NUMBER )
4470 RETURN BOOLEAN
4471 IS
4472 l_dummy                       VARCHAR2(10);
4473 BEGIN
4474 
4475     IF p_process_type IS NULL OR
4476         p_process_type = FND_API.G_MISS_NUM
4477     THEN
4478         RETURN TRUE;
4479     END IF;
4480 
4481     --  SELECT  'VALID'
4482     --  INTO     l_dummy
4483     --  FROM     DB_TABLE
4484     --  WHERE    DB_COLUMN = p_process_type;
4485 
4486     RETURN TRUE;
4487 
4488 EXCEPTION
4489 
4490     WHEN NO_DATA_FOUND THEN
4491 
4492         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4493         THEN
4494 
4495             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4496             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','process_type');
4497             FND_MSG_PUB.Add;
4498 
4499         END IF;
4500 
4501         RETURN FALSE;
4502 
4503     WHEN OTHERS THEN
4504 
4505         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4506         THEN
4507             FND_MSG_PUB.Add_Exc_Msg
4508             (   G_PKG_NAME
4509             ,   'Process_Type'
4510             );
4511         END IF;
4512 
4513         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4514 
4515 END Process_Type;
4516 
4517 FUNCTION Qa_Collection ( p_qa_collection_id IN NUMBER )
4518 RETURN BOOLEAN
4519 IS
4520 l_dummy                       VARCHAR2(10);
4521 BEGIN
4522 
4523     IF p_qa_collection_id IS NULL OR
4524         p_qa_collection_id = FND_API.G_MISS_NUM
4525     THEN
4526         RETURN TRUE;
4527     END IF;
4528 
4529     --  SELECT  'VALID'
4530     --  INTO     l_dummy
4531     --  FROM     DB_TABLE
4532     --  WHERE    DB_COLUMN = p_qa_collection_id;
4533 
4534     RETURN TRUE;
4535 
4536 EXCEPTION
4537 
4538     WHEN NO_DATA_FOUND THEN
4539 
4540         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4541         THEN
4542 
4543             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4544             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','qa_collection');
4545             FND_MSG_PUB.Add;
4546 
4547         END IF;
4548 
4549         RETURN FALSE;
4550 
4551     WHEN OTHERS THEN
4552 
4553         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4554         THEN
4555             FND_MSG_PUB.Add_Exc_Msg
4556             (   G_PKG_NAME
4557             ,   'Qa_Collection'
4558             );
4559         END IF;
4560 
4561         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4562 
4563 END Qa_Collection;
4564 
4565 FUNCTION Receiving_Document ( p_receiving_document IN VARCHAR2 )
4566 RETURN BOOLEAN
4567 IS
4568 l_dummy                       VARCHAR2(10);
4569 BEGIN
4570 
4571     IF p_receiving_document IS NULL OR
4572         p_receiving_document = FND_API.G_MISS_CHAR
4573     THEN
4574         RETURN TRUE;
4575     END IF;
4576 
4577     --  SELECT  'VALID'
4578     --  INTO     l_dummy
4579     --  FROM     DB_TABLE
4580     --  WHERE    DB_COLUMN = p_receiving_document;
4581 
4582     RETURN TRUE;
4583 
4584 EXCEPTION
4585 
4586     WHEN NO_DATA_FOUND THEN
4587 
4588         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4589         THEN
4590 
4591             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4592             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','receiving_document');
4593             FND_MSG_PUB.Add;
4594 
4595         END IF;
4596 
4597         RETURN FALSE;
4598 
4599     WHEN OTHERS THEN
4600 
4601         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4602         THEN
4603             FND_MSG_PUB.Add_Exc_Msg
4604             (   G_PKG_NAME
4605             ,   'Receiving_Document'
4606             );
4607         END IF;
4608 
4609         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4610 
4611 END Receiving_Document;
4612 
4613 FUNCTION Repetitive_Line ( p_repetitive_line_id IN NUMBER )
4614 RETURN BOOLEAN
4615 IS
4616 l_dummy                       VARCHAR2(10);
4617 BEGIN
4618 
4619     IF p_repetitive_line_id IS NULL OR
4620         p_repetitive_line_id = FND_API.G_MISS_NUM
4621     THEN
4622         RETURN TRUE;
4623     END IF;
4624 
4625     --  SELECT  'VALID'
4626     --  INTO     l_dummy
4627     --  FROM     DB_TABLE
4628     --  WHERE    DB_COLUMN = p_repetitive_line_id;
4629 
4630     RETURN TRUE;
4631 
4635 
4632 EXCEPTION
4633 
4634     WHEN NO_DATA_FOUND THEN
4636         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4637         THEN
4638 
4639             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4640             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','repetitive_line');
4641             FND_MSG_PUB.Add;
4642 
4643         END IF;
4644 
4645         RETURN FALSE;
4646 
4647     WHEN OTHERS THEN
4648 
4649         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4650         THEN
4651             FND_MSG_PUB.Add_Exc_Msg
4652             (   G_PKG_NAME
4653             ,   'Repetitive_Line'
4654             );
4655         END IF;
4656 
4657         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4658 
4659 END Repetitive_Line;
4660 
4661 FUNCTION Required ( p_required_flag IN VARCHAR2 )
4662 RETURN BOOLEAN
4663 IS
4664 l_dummy                       VARCHAR2(10);
4665 BEGIN
4666 
4667     IF p_required_flag IS NULL OR
4668         p_required_flag = FND_API.G_MISS_CHAR
4669     THEN
4670         RETURN TRUE;
4671     END IF;
4672 
4673     --  SELECT  'VALID'
4674     --  INTO     l_dummy
4675     --  FROM     DB_TABLE
4676     --  WHERE    DB_COLUMN = p_required_flag;
4677 
4678     RETURN TRUE;
4679 
4680 EXCEPTION
4681 
4682     WHEN NO_DATA_FOUND THEN
4683 
4684         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4685         THEN
4686 
4687             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4688             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','required');
4689             FND_MSG_PUB.Add;
4690 
4691         END IF;
4692 
4693         RETURN FALSE;
4694 
4695     WHEN OTHERS THEN
4696 
4697         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4698         THEN
4699             FND_MSG_PUB.Add_Exc_Msg
4700             (   G_PKG_NAME
4701             ,   'Required'
4702             );
4703         END IF;
4704 
4705         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4706 
4707 END Required;
4708 
4709 FUNCTION Req_Distribution ( p_req_distribution_id IN NUMBER )
4710 RETURN BOOLEAN
4711 IS
4712 l_dummy                       VARCHAR2(10);
4713 BEGIN
4714 
4715     IF p_req_distribution_id IS NULL OR
4716         p_req_distribution_id = FND_API.G_MISS_NUM
4717     THEN
4718         RETURN TRUE;
4719     END IF;
4720 
4721     --  SELECT  'VALID'
4722     --  INTO     l_dummy
4723     --  FROM     DB_TABLE
4724     --  WHERE    DB_COLUMN = p_req_distribution_id;
4725 
4726     RETURN TRUE;
4727 
4728 EXCEPTION
4729 
4730     WHEN NO_DATA_FOUND THEN
4731 
4732         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4733         THEN
4734 
4735             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4736             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','req_distribution');
4737             FND_MSG_PUB.Add;
4738 
4739         END IF;
4740 
4741         RETURN FALSE;
4742 
4743     WHEN OTHERS THEN
4744 
4745         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4746         THEN
4747             FND_MSG_PUB.Add_Exc_Msg
4748             (   G_PKG_NAME
4749             ,   'Req_Distribution'
4750             );
4751         END IF;
4752 
4753         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4754 
4755 END Req_Distribution;
4756 
4757 FUNCTION Requisition_Line ( p_requisition_line_id IN NUMBER )
4758 RETURN BOOLEAN
4759 IS
4760 l_dummy                       VARCHAR2(10);
4761 BEGIN
4762 
4763     IF p_requisition_line_id IS NULL OR
4764         p_requisition_line_id = FND_API.G_MISS_NUM
4765     THEN
4766         RETURN TRUE;
4767     END IF;
4768 
4769     --  SELECT  'VALID'
4770     --  INTO     l_dummy
4771     --  FROM     DB_TABLE
4772     --  WHERE    DB_COLUMN = p_requisition_line_id;
4773 
4774     RETURN TRUE;
4775 
4776 EXCEPTION
4777 
4778     WHEN NO_DATA_FOUND THEN
4779 
4780         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4781         THEN
4782 
4783             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4784             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','requisition_line');
4785             FND_MSG_PUB.Add;
4786 
4787         END IF;
4788 
4789         RETURN FALSE;
4790 
4791     WHEN OTHERS THEN
4792 
4793         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4794         THEN
4795             FND_MSG_PUB.Add_Exc_Msg
4796             (   G_PKG_NAME
4797             ,   'Requisition_Line'
4798             );
4799         END IF;
4800 
4801         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4802 
4803 END Requisition_Line;
4804 
4805 FUNCTION Reservation_Quantity ( p_reservation_quantity IN NUMBER )
4806 RETURN BOOLEAN
4807 IS
4808 l_dummy                       VARCHAR2(10);
4809 BEGIN
4810 
4811     IF p_reservation_quantity IS NULL OR
4812         p_reservation_quantity = FND_API.G_MISS_NUM
4813     THEN
4814         RETURN TRUE;
4815     END IF;
4816 
4820     --  WHERE    DB_COLUMN = p_reservation_quantity;
4817     --  SELECT  'VALID'
4818     --  INTO     l_dummy
4819     --  FROM     DB_TABLE
4821 
4822     RETURN TRUE;
4823 
4824 EXCEPTION
4825 
4826     WHEN NO_DATA_FOUND THEN
4827 
4828         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4829         THEN
4830 
4831             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4832             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','reservation_quantity');
4833             FND_MSG_PUB.Add;
4834 
4835         END IF;
4836 
4837         RETURN FALSE;
4838 
4839     WHEN OTHERS THEN
4840 
4841         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4842         THEN
4843             FND_MSG_PUB.Add_Exc_Msg
4844             (   G_PKG_NAME
4845             ,   'Reservation_Quantity'
4846             );
4847         END IF;
4848 
4849         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4850 
4851 END Reservation_Quantity;
4852 
4853 FUNCTION Revision ( p_revision IN VARCHAR2 )
4854 RETURN BOOLEAN
4855 IS
4856 l_dummy                       VARCHAR2(10);
4857 BEGIN
4858 
4859     IF p_revision IS NULL OR
4860         p_revision = FND_API.G_MISS_CHAR
4861     THEN
4862         RETURN TRUE;
4863     END IF;
4864 
4865     --  SELECT  'VALID'
4866     --  INTO     l_dummy
4867     --  FROM     DB_TABLE
4868     --  WHERE    DB_COLUMN = p_revision;
4869 
4870     RETURN TRUE;
4871 
4872 EXCEPTION
4873 
4874     WHEN NO_DATA_FOUND THEN
4875 
4876         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4877         THEN
4878 
4879             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4880             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','revision');
4881             FND_MSG_PUB.Add;
4882 
4883         END IF;
4884 
4885         RETURN FALSE;
4886 
4887     WHEN OTHERS THEN
4888 
4889         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4890         THEN
4891             FND_MSG_PUB.Add_Exc_Msg
4892             (   G_PKG_NAME
4893             ,   'Revision'
4894             );
4895         END IF;
4896 
4897         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4898 
4899 END Revision;
4900 
4901 FUNCTION Schedule ( p_schedule_id IN NUMBER )
4902 RETURN BOOLEAN
4903 IS
4904 l_dummy                       VARCHAR2(10);
4905 BEGIN
4906 
4907     IF p_schedule_id IS NULL OR
4908         p_schedule_id = FND_API.G_MISS_NUM
4909     THEN
4910         RETURN TRUE;
4911     END IF;
4912 
4913     --  SELECT  'VALID'
4914     --  INTO     l_dummy
4915     --  FROM     DB_TABLE
4916     --  WHERE    DB_COLUMN = p_schedule_id;
4917 
4918     RETURN TRUE;
4919 
4920 EXCEPTION
4921 
4922     WHEN NO_DATA_FOUND THEN
4923 
4924         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4925         THEN
4926 
4927             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4928             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','schedule');
4929             FND_MSG_PUB.Add;
4930 
4931         END IF;
4932 
4933         RETURN FALSE;
4934 
4935     WHEN OTHERS THEN
4936 
4937         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4938         THEN
4939             FND_MSG_PUB.Add_Exc_Msg
4940             (   G_PKG_NAME
4941             ,   'Schedule'
4942             );
4943         END IF;
4944 
4945         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4946 
4947 END Schedule;
4948 
4949 FUNCTION Serial_Alpha_Prefix ( p_serial_alpha_prefix IN VARCHAR2 )
4950 RETURN BOOLEAN
4951 IS
4952 l_dummy                       VARCHAR2(10);
4953 BEGIN
4954 
4955     IF p_serial_alpha_prefix IS NULL OR
4956         p_serial_alpha_prefix = FND_API.G_MISS_CHAR
4957     THEN
4958         RETURN TRUE;
4959     END IF;
4960 
4961     --  SELECT  'VALID'
4962     --  INTO     l_dummy
4963     --  FROM     DB_TABLE
4964     --  WHERE    DB_COLUMN = p_serial_alpha_prefix;
4965 
4966     RETURN TRUE;
4967 
4968 EXCEPTION
4969 
4970     WHEN NO_DATA_FOUND THEN
4971 
4972         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
4973         THEN
4974 
4975             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
4976             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','serial_alpha_prefix');
4977             FND_MSG_PUB.Add;
4978 
4979         END IF;
4980 
4981         RETURN FALSE;
4982 
4983     WHEN OTHERS THEN
4984 
4985         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4986         THEN
4987             FND_MSG_PUB.Add_Exc_Msg
4988             (   G_PKG_NAME
4989             ,   'Serial_Alpha_Prefix'
4990             );
4991         END IF;
4992 
4993         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4994 
4995 END Serial_Alpha_Prefix;
4996 
4997 FUNCTION Serial_Number ( p_serial_number IN VARCHAR2 )
4998 RETURN BOOLEAN
4999 IS
5000 l_dummy                       VARCHAR2(10);
5001 BEGIN
5002 
5003     IF p_serial_number IS NULL OR
5007     END IF;
5004         p_serial_number = FND_API.G_MISS_CHAR
5005     THEN
5006         RETURN TRUE;
5008 
5009     --  SELECT  'VALID'
5010     --  INTO     l_dummy
5011     --  FROM     DB_TABLE
5012     --  WHERE    DB_COLUMN = p_serial_number;
5013 
5014     RETURN TRUE;
5015 
5016 EXCEPTION
5017 
5018     WHEN NO_DATA_FOUND THEN
5019 
5020         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5021         THEN
5022 
5023             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5024             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','serial_number');
5025             FND_MSG_PUB.Add;
5026 
5027         END IF;
5028 
5029         RETURN FALSE;
5030 
5031     WHEN OTHERS THEN
5032 
5033         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5034         THEN
5035             FND_MSG_PUB.Add_Exc_Msg
5036             (   G_PKG_NAME
5037             ,   'Serial_Number'
5038             );
5039         END IF;
5040 
5041         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5042 
5043 END Serial_Number;
5044 
5045 FUNCTION Source_Project ( p_source_project_id IN NUMBER )
5046 RETURN BOOLEAN
5047 IS
5048 l_dummy                       VARCHAR2(10);
5049 BEGIN
5050 
5051     IF p_source_project_id IS NULL OR
5052         p_source_project_id = FND_API.G_MISS_NUM
5053     THEN
5054         RETURN TRUE;
5055     END IF;
5056 
5057     --  SELECT  'VALID'
5058     --  INTO     l_dummy
5059     --  FROM     DB_TABLE
5060     --  WHERE    DB_COLUMN = p_source_project_id;
5061 
5062     RETURN TRUE;
5063 
5064 EXCEPTION
5065 
5066     WHEN NO_DATA_FOUND THEN
5067 
5068         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5069         THEN
5070 
5071             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5072             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','source_project');
5073             FND_MSG_PUB.Add;
5074 
5075         END IF;
5076 
5077         RETURN FALSE;
5078 
5079     WHEN OTHERS THEN
5080 
5081         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5082         THEN
5083             FND_MSG_PUB.Add_Exc_Msg
5084             (   G_PKG_NAME
5085             ,   'Source_Project'
5086             );
5087         END IF;
5088 
5089         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5090 
5091 END Source_Project;
5092 
5093 FUNCTION Source_Task ( p_source_task_id IN NUMBER )
5094 RETURN BOOLEAN
5095 IS
5096 l_dummy                       VARCHAR2(10);
5097 BEGIN
5098 
5099     IF p_source_task_id IS NULL OR
5100         p_source_task_id = FND_API.G_MISS_NUM
5101     THEN
5102         RETURN TRUE;
5103     END IF;
5104 
5105     --  SELECT  'VALID'
5106     --  INTO     l_dummy
5107     --  FROM     DB_TABLE
5108     --  WHERE    DB_COLUMN = p_source_task_id;
5109 
5110     RETURN TRUE;
5111 
5112 EXCEPTION
5113 
5114     WHEN NO_DATA_FOUND THEN
5115 
5116         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5117         THEN
5118 
5119             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5120             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','source_task');
5121             FND_MSG_PUB.Add;
5122 
5123         END IF;
5124 
5125         RETURN FALSE;
5126 
5127     WHEN OTHERS THEN
5128 
5129         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5130         THEN
5131             FND_MSG_PUB.Add_Exc_Msg
5132             (   G_PKG_NAME
5133             ,   'Source_Task'
5134             );
5135         END IF;
5136 
5137         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5138 
5139 END Source_Task;
5140 
5141 FUNCTION Subinventory ( p_subinventory_code IN VARCHAR2 )
5142 RETURN BOOLEAN
5143 IS
5144 l_dummy                       VARCHAR2(10);
5145 BEGIN
5146 
5147     IF p_subinventory_code IS NULL OR
5148         p_subinventory_code = FND_API.G_MISS_CHAR
5149     THEN
5150         RETURN TRUE;
5151     END IF;
5152 
5153     --  SELECT  'VALID'
5154     --  INTO     l_dummy
5155     --  FROM     DB_TABLE
5156     --  WHERE    DB_COLUMN = p_subinventory_code;
5157 
5158     RETURN TRUE;
5159 
5160 EXCEPTION
5161 
5162     WHEN NO_DATA_FOUND THEN
5163 
5164         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5165         THEN
5166 
5167             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5168             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','subinventory');
5169             FND_MSG_PUB.Add;
5170 
5171         END IF;
5172 
5173         RETURN FALSE;
5174 
5175     WHEN OTHERS THEN
5176 
5177         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5178         THEN
5179             FND_MSG_PUB.Add_Exc_Msg
5180             (   G_PKG_NAME
5181             ,   'Subinventory'
5182             );
5183         END IF;
5184 
5185         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5186 
5187 END Subinventory;
5188 
5192 l_dummy                       VARCHAR2(10);
5189 FUNCTION Supply_Locator ( p_supply_locator_id IN NUMBER )
5190 RETURN BOOLEAN
5191 IS
5193 BEGIN
5194 
5195     IF p_supply_locator_id IS NULL OR
5196         p_supply_locator_id = FND_API.G_MISS_NUM
5197     THEN
5198         RETURN TRUE;
5199     END IF;
5200 
5201     --  SELECT  'VALID'
5202     --  INTO     l_dummy
5203     --  FROM     DB_TABLE
5204     --  WHERE    DB_COLUMN = p_supply_locator_id;
5205 
5206     RETURN TRUE;
5207 
5208 EXCEPTION
5209 
5210     WHEN NO_DATA_FOUND THEN
5211 
5212         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5213         THEN
5214 
5215             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5216             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','supply_locator');
5217             FND_MSG_PUB.Add;
5218 
5219         END IF;
5220 
5221         RETURN FALSE;
5222 
5223     WHEN OTHERS THEN
5224 
5225         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5226         THEN
5227             FND_MSG_PUB.Add_Exc_Msg
5228             (   G_PKG_NAME
5229             ,   'Supply_Locator'
5230             );
5231         END IF;
5232 
5233         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5234 
5235 END Supply_Locator;
5236 
5237 FUNCTION Supply_Subinventory ( p_supply_subinventory IN VARCHAR2 )
5238 RETURN BOOLEAN
5239 IS
5240 l_dummy                       VARCHAR2(10);
5241 BEGIN
5242 
5243     IF p_supply_subinventory IS NULL OR
5244         p_supply_subinventory = FND_API.G_MISS_CHAR
5245     THEN
5246         RETURN TRUE;
5247     END IF;
5248 
5249     --  SELECT  'VALID'
5250     --  INTO     l_dummy
5251     --  FROM     DB_TABLE
5252     --  WHERE    DB_COLUMN = p_supply_subinventory;
5253 
5254     RETURN TRUE;
5255 
5256 EXCEPTION
5257 
5258     WHEN NO_DATA_FOUND THEN
5259 
5260         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5261         THEN
5262 
5263             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5264             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','supply_subinventory');
5265             FND_MSG_PUB.Add;
5266 
5267         END IF;
5268 
5269         RETURN FALSE;
5270 
5271     WHEN OTHERS THEN
5272 
5273         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5274         THEN
5275             FND_MSG_PUB.Add_Exc_Msg
5276             (   G_PKG_NAME
5277             ,   'Supply_Subinventory'
5278             );
5279         END IF;
5280 
5281         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5282 
5283 END Supply_Subinventory;
5284 
5285 FUNCTION To_Project ( p_to_project_id IN NUMBER )
5286 RETURN BOOLEAN
5287 IS
5288 l_dummy                       VARCHAR2(10);
5289 BEGIN
5290 
5291     IF p_to_project_id IS NULL OR
5292         p_to_project_id = FND_API.G_MISS_NUM
5293     THEN
5294         RETURN TRUE;
5295     END IF;
5296 
5297     --  SELECT  'VALID'
5298     --  INTO     l_dummy
5299     --  FROM     DB_TABLE
5300     --  WHERE    DB_COLUMN = p_to_project_id;
5301 
5302     RETURN TRUE;
5303 
5304 EXCEPTION
5305 
5306     WHEN NO_DATA_FOUND THEN
5307 
5308         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5309         THEN
5310 
5311             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5312             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','to_project');
5313             FND_MSG_PUB.Add;
5314 
5315         END IF;
5316 
5317         RETURN FALSE;
5318 
5319     WHEN OTHERS THEN
5320 
5321         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5322         THEN
5323             FND_MSG_PUB.Add_Exc_Msg
5324             (   G_PKG_NAME
5325             ,   'To_Project'
5326             );
5327         END IF;
5328 
5329         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5330 
5331 END To_Project;
5332 
5333 FUNCTION To_Task ( p_to_task_id IN NUMBER )
5334 RETURN BOOLEAN
5335 IS
5336 l_dummy                       VARCHAR2(10);
5337 BEGIN
5338 
5339     IF p_to_task_id IS NULL OR
5340         p_to_task_id = FND_API.G_MISS_NUM
5341     THEN
5342         RETURN TRUE;
5343     END IF;
5344 
5345     --  SELECT  'VALID'
5346     --  INTO     l_dummy
5347     --  FROM     DB_TABLE
5348     --  WHERE    DB_COLUMN = p_to_task_id;
5349 
5350     RETURN TRUE;
5351 
5352 EXCEPTION
5353 
5354     WHEN NO_DATA_FOUND THEN
5355 
5356         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5357         THEN
5358 
5359             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5360             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','to_task');
5361             FND_MSG_PUB.Add;
5362 
5363         END IF;
5364 
5365         RETURN FALSE;
5366 
5367     WHEN OTHERS THEN
5368 
5369         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5370         THEN
5371             FND_MSG_PUB.Add_Exc_Msg
5372             (   G_PKG_NAME
5373             ,   'To_Task'
5377         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5374             );
5375         END IF;
5376 
5378 
5379 END To_Task;
5380 
5381 FUNCTION Transaction_Action ( p_transaction_action_id IN NUMBER )
5382 RETURN BOOLEAN
5383 IS
5384 l_dummy                       VARCHAR2(10);
5385 BEGIN
5386 
5387     IF p_transaction_action_id IS NULL OR
5388         p_transaction_action_id = FND_API.G_MISS_NUM
5389     THEN
5390         RETURN TRUE;
5391     END IF;
5392 
5393     --  SELECT  'VALID'
5394     --  INTO     l_dummy
5395     --  FROM     DB_TABLE
5396     --  WHERE    DB_COLUMN = p_transaction_action_id;
5397 
5398     RETURN TRUE;
5399 
5400 EXCEPTION
5401 
5402     WHEN NO_DATA_FOUND THEN
5403 
5404         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5405         THEN
5406 
5407             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5408             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_action');
5409             FND_MSG_PUB.Add;
5410 
5411         END IF;
5412 
5413         RETURN FALSE;
5414 
5415     WHEN OTHERS THEN
5416 
5417         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5418         THEN
5419             FND_MSG_PUB.Add_Exc_Msg
5420             (   G_PKG_NAME
5421             ,   'Transaction_Action'
5422             );
5423         END IF;
5424 
5425         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5426 
5427 END Transaction_Action;
5428 
5429 FUNCTION Transaction_Cost ( p_transaction_cost IN NUMBER )
5430 RETURN BOOLEAN
5431 IS
5432 l_dummy                       VARCHAR2(10);
5433 BEGIN
5434 
5435     IF p_transaction_cost IS NULL OR
5436         p_transaction_cost = FND_API.G_MISS_NUM
5437     THEN
5438         RETURN TRUE;
5439     END IF;
5440 
5441     --  SELECT  'VALID'
5442     --  INTO     l_dummy
5443     --  FROM     DB_TABLE
5444     --  WHERE    DB_COLUMN = p_transaction_cost;
5445 
5446     RETURN TRUE;
5447 
5448 EXCEPTION
5449 
5450     WHEN NO_DATA_FOUND THEN
5451 
5452         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5453         THEN
5454 
5455             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5456             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_cost');
5457             FND_MSG_PUB.Add;
5458 
5459         END IF;
5460 
5461         RETURN FALSE;
5462 
5463     WHEN OTHERS THEN
5464 
5465         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5466         THEN
5467             FND_MSG_PUB.Add_Exc_Msg
5468             (   G_PKG_NAME
5469             ,   'Transaction_Cost'
5470             );
5471         END IF;
5472 
5473         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5474 
5475 END Transaction_Cost;
5476 
5477 FUNCTION Transaction_Date ( p_transaction_date IN DATE )
5478 RETURN BOOLEAN
5479 IS
5480 l_dummy                       VARCHAR2(10);
5481 BEGIN
5482 
5483     IF p_transaction_date IS NULL OR
5484         p_transaction_date = FND_API.G_MISS_DATE
5485     THEN
5486         RETURN TRUE;
5487     END IF;
5488 
5489     --  SELECT  'VALID'
5490     --  INTO     l_dummy
5491     --  FROM     DB_TABLE
5492     --  WHERE    DB_COLUMN = p_transaction_date;
5493 
5494     RETURN TRUE;
5495 
5496 EXCEPTION
5497 
5498     WHEN NO_DATA_FOUND THEN
5499 
5500         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5501         THEN
5502 
5503             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5504             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_date');
5505             FND_MSG_PUB.Add;
5506 
5507         END IF;
5508 
5509         RETURN FALSE;
5510 
5511     WHEN OTHERS THEN
5512 
5513         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5514         THEN
5515             FND_MSG_PUB.Add_Exc_Msg
5516             (   G_PKG_NAME
5517             ,   'Transaction_Date'
5518             );
5519         END IF;
5520 
5521         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5522 
5523 END Transaction_Date;
5524 
5525 FUNCTION Transaction_Header ( p_transaction_header_id IN NUMBER )
5526 RETURN BOOLEAN
5527 IS
5528 l_dummy                       VARCHAR2(10);
5529 BEGIN
5530 
5531     IF p_transaction_header_id IS NULL OR
5532         p_transaction_header_id = FND_API.G_MISS_NUM
5533     THEN
5534         RETURN TRUE;
5535     END IF;
5536 
5537     --  SELECT  'VALID'
5538     --  INTO     l_dummy
5539     --  FROM     DB_TABLE
5540     --  WHERE    DB_COLUMN = p_transaction_header_id;
5541 
5542     RETURN TRUE;
5543 
5544 EXCEPTION
5545 
5546     WHEN NO_DATA_FOUND THEN
5547 
5548         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5549         THEN
5550 
5551             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5555         END IF;
5552             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_header');
5553             FND_MSG_PUB.Add;
5554 
5556 
5557         RETURN FALSE;
5558 
5559     WHEN OTHERS THEN
5560 
5561         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5562         THEN
5563             FND_MSG_PUB.Add_Exc_Msg
5564             (   G_PKG_NAME
5565             ,   'Transaction_Header'
5566             );
5567         END IF;
5568 
5569         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5570 
5571 END Transaction_Header;
5572 
5573 FUNCTION Transaction_Line_Number ( p_transaction_line_number IN NUMBER )
5574 RETURN BOOLEAN
5575 IS
5576 l_dummy                       VARCHAR2(10);
5577 BEGIN
5578 
5579     IF p_transaction_line_number IS NULL OR
5580         p_transaction_line_number = FND_API.G_MISS_NUM
5581     THEN
5582         RETURN TRUE;
5583     END IF;
5584 
5585     --  SELECT  'VALID'
5586     --  INTO     l_dummy
5587     --  FROM     DB_TABLE
5588     --  WHERE    DB_COLUMN = p_transaction_line_number;
5589 
5590     RETURN TRUE;
5591 
5592 EXCEPTION
5593 
5594     WHEN NO_DATA_FOUND THEN
5595 
5596         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5597         THEN
5598 
5599             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5600             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_line_number');
5601             FND_MSG_PUB.Add;
5602 
5603         END IF;
5604 
5605         RETURN FALSE;
5606 
5607     WHEN OTHERS THEN
5608 
5609         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5610         THEN
5611             FND_MSG_PUB.Add_Exc_Msg
5612             (   G_PKG_NAME
5613             ,   'Transaction_Line_Number'
5614             );
5615         END IF;
5616 
5617         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5618 
5619 END Transaction_Line_Number;
5620 
5621 FUNCTION Transaction_Mode ( p_transaction_mode IN NUMBER )
5622 RETURN BOOLEAN
5623 IS
5624 l_dummy                       VARCHAR2(10);
5625 BEGIN
5626 
5627     IF p_transaction_mode IS NULL OR
5628         p_transaction_mode = FND_API.G_MISS_NUM
5629     THEN
5630         RETURN TRUE;
5631     END IF;
5632 
5633     --  SELECT  'VALID'
5634     --  INTO     l_dummy
5635     --  FROM     DB_TABLE
5636     --  WHERE    DB_COLUMN = p_transaction_mode;
5637 
5638     RETURN TRUE;
5639 
5640 EXCEPTION
5641 
5642     WHEN NO_DATA_FOUND THEN
5643 
5644         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5645         THEN
5646 
5647             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5648             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_mode');
5649             FND_MSG_PUB.Add;
5650 
5651         END IF;
5652 
5653         RETURN FALSE;
5654 
5655     WHEN OTHERS THEN
5656 
5657         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5658         THEN
5659             FND_MSG_PUB.Add_Exc_Msg
5660             (   G_PKG_NAME
5661             ,   'Transaction_Mode'
5662             );
5663         END IF;
5664 
5665         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5666 
5667 END Transaction_Mode;
5668 
5669 FUNCTION Transaction_Quantity ( p_transaction_quantity IN NUMBER )
5670 RETURN BOOLEAN
5671 IS
5672 l_dummy                       VARCHAR2(10);
5673 BEGIN
5674 
5675     IF p_transaction_quantity IS NULL OR
5676         p_transaction_quantity = FND_API.G_MISS_NUM
5677     THEN
5678         RETURN TRUE;
5679     END IF;
5680 
5681     --  SELECT  'VALID'
5682     --  INTO     l_dummy
5683     --  FROM     DB_TABLE
5684     --  WHERE    DB_COLUMN = p_transaction_quantity;
5685 
5686     RETURN TRUE;
5687 
5688 EXCEPTION
5689 
5690     WHEN NO_DATA_FOUND THEN
5691 
5692         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5693         THEN
5694 
5695             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5696             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_quantity');
5697             FND_MSG_PUB.Add;
5698 
5699         END IF;
5700 
5701         RETURN FALSE;
5702 
5703     WHEN OTHERS THEN
5704 
5705         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5706         THEN
5707             FND_MSG_PUB.Add_Exc_Msg
5708             (   G_PKG_NAME
5709             ,   'Transaction_Quantity'
5710             );
5711         END IF;
5712 
5713         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5714 
5715 END Transaction_Quantity;
5716 
5717 FUNCTION Transaction_Reference ( p_transaction_reference IN VARCHAR2 )
5718 RETURN BOOLEAN
5719 IS
5720 l_dummy                       VARCHAR2(10);
5721 BEGIN
5722 
5723     IF p_transaction_reference IS NULL OR
5724         p_transaction_reference = FND_API.G_MISS_CHAR
5725     THEN
5729     --  SELECT  'VALID'
5726         RETURN TRUE;
5727     END IF;
5728 
5730     --  INTO     l_dummy
5731     --  FROM     DB_TABLE
5732     --  WHERE    DB_COLUMN = p_transaction_reference;
5733 
5734     RETURN TRUE;
5735 
5736 EXCEPTION
5737 
5738     WHEN NO_DATA_FOUND THEN
5739 
5740         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5741         THEN
5742 
5743             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5744             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_reference');
5745             FND_MSG_PUB.Add;
5746 
5747         END IF;
5748 
5749         RETURN FALSE;
5750 
5751     WHEN OTHERS THEN
5752 
5753         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5754         THEN
5755             FND_MSG_PUB.Add_Exc_Msg
5756             (   G_PKG_NAME
5757             ,   'Transaction_Reference'
5758             );
5759         END IF;
5760 
5761         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5762 
5763 END Transaction_Reference;
5764 
5765 FUNCTION Transaction_Sequence ( p_transaction_sequence_id IN NUMBER )
5766 RETURN BOOLEAN
5767 IS
5768 l_dummy                       VARCHAR2(10);
5769 BEGIN
5770 
5771     IF p_transaction_sequence_id IS NULL OR
5772         p_transaction_sequence_id = FND_API.G_MISS_NUM
5773     THEN
5774         RETURN TRUE;
5775     END IF;
5776 
5777     --  SELECT  'VALID'
5778     --  INTO     l_dummy
5779     --  FROM     DB_TABLE
5780     --  WHERE    DB_COLUMN = p_transaction_sequence_id;
5781 
5782     RETURN TRUE;
5783 
5784 EXCEPTION
5785 
5786     WHEN NO_DATA_FOUND THEN
5787 
5788         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5789         THEN
5790 
5791             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5792             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_sequence');
5793             FND_MSG_PUB.Add;
5794 
5795         END IF;
5796 
5797         RETURN FALSE;
5798 
5799     WHEN OTHERS THEN
5800 
5801         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5802         THEN
5803             FND_MSG_PUB.Add_Exc_Msg
5804             (   G_PKG_NAME
5805             ,   'Transaction_Sequence'
5806             );
5807         END IF;
5808 
5809         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5810 
5811 END Transaction_Sequence;
5812 
5813 FUNCTION Transaction_Source ( p_transaction_source_id IN NUMBER )
5814 RETURN BOOLEAN
5815 IS
5816 l_dummy                       VARCHAR2(10);
5817 BEGIN
5818 
5819     IF p_transaction_source_id IS NULL OR
5820         p_transaction_source_id = FND_API.G_MISS_NUM
5821     THEN
5822         RETURN TRUE;
5823     END IF;
5824 
5825     --  SELECT  'VALID'
5826     --  INTO     l_dummy
5827     --  FROM     DB_TABLE
5828     --  WHERE    DB_COLUMN = p_transaction_source_id;
5829 
5830     RETURN TRUE;
5831 
5832 EXCEPTION
5833 
5834     WHEN NO_DATA_FOUND THEN
5835 
5836         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5837         THEN
5838 
5839             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5840             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_source');
5841             FND_MSG_PUB.Add;
5842 
5843         END IF;
5844 
5845         RETURN FALSE;
5846 
5847     WHEN OTHERS THEN
5848 
5849         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5850         THEN
5851             FND_MSG_PUB.Add_Exc_Msg
5852             (   G_PKG_NAME
5853             ,   'Transaction_Source'
5854             );
5855         END IF;
5856 
5857         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5858 
5859 END Transaction_Source;
5860 
5861 FUNCTION Transaction_Source_Name ( p_transaction_source_name IN VARCHAR2 )
5862 RETURN BOOLEAN
5863 IS
5864 l_dummy                       VARCHAR2(10);
5865 BEGIN
5866 
5867     IF p_transaction_source_name IS NULL OR
5868         p_transaction_source_name = FND_API.G_MISS_CHAR
5869     THEN
5870         RETURN TRUE;
5871     END IF;
5872 
5873     --  SELECT  'VALID'
5874     --  INTO     l_dummy
5875     --  FROM     DB_TABLE
5876     --  WHERE    DB_COLUMN = p_transaction_source_name;
5877 
5878     RETURN TRUE;
5879 
5880 EXCEPTION
5881 
5882     WHEN NO_DATA_FOUND THEN
5883 
5884         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5885         THEN
5886 
5887             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5888             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_source_name');
5889             FND_MSG_PUB.Add;
5890 
5891         END IF;
5892 
5893         RETURN FALSE;
5894 
5895     WHEN OTHERS THEN
5896 
5897         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5898         THEN
5899             FND_MSG_PUB.Add_Exc_Msg
5903         END IF;
5900             (   G_PKG_NAME
5901             ,   'Transaction_Source_Name'
5902             );
5904 
5905         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5906 
5907 END Transaction_Source_Name;
5908 
5909 FUNCTION Transaction_Src_Type ( p_transaction_src_type_id IN NUMBER )
5910 RETURN BOOLEAN
5911 IS
5912 l_dummy                       VARCHAR2(10);
5913 BEGIN
5914 
5915     IF p_transaction_src_type_id IS NULL OR
5916         p_transaction_src_type_id = FND_API.G_MISS_NUM
5917     THEN
5918         RETURN TRUE;
5919     END IF;
5920 
5921     --  SELECT  'VALID'
5922     --  INTO     l_dummy
5923     --  FROM     DB_TABLE
5924     --  WHERE    DB_COLUMN = p_transaction_src_type_id;
5925 
5926     RETURN TRUE;
5927 
5928 EXCEPTION
5929 
5930     WHEN NO_DATA_FOUND THEN
5931 
5932         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5933         THEN
5934 
5935             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5936             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_src_type');
5937             FND_MSG_PUB.Add;
5938 
5939         END IF;
5940 
5941         RETURN FALSE;
5942 
5943     WHEN OTHERS THEN
5944 
5945         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5946         THEN
5947             FND_MSG_PUB.Add_Exc_Msg
5948             (   G_PKG_NAME
5949             ,   'Transaction_Src_Type'
5950             );
5951         END IF;
5952 
5953         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5954 
5955 END Transaction_Src_Type;
5956 
5957 FUNCTION Transaction_Temp ( p_transaction_temp_id IN NUMBER )
5958 RETURN BOOLEAN
5959 IS
5960 l_dummy                       VARCHAR2(10);
5961 BEGIN
5962 
5963     IF p_transaction_temp_id IS NULL OR
5964         p_transaction_temp_id = FND_API.G_MISS_NUM
5965     THEN
5966         RETURN TRUE;
5967     END IF;
5968 
5969     --  SELECT  'VALID'
5970     --  INTO     l_dummy
5971     --  FROM     DB_TABLE
5972     --  WHERE    DB_COLUMN = p_transaction_temp_id;
5973 
5974     RETURN TRUE;
5975 
5976 EXCEPTION
5977 
5978     WHEN NO_DATA_FOUND THEN
5979 
5980         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
5981         THEN
5982 
5983             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
5984             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_temp');
5985             FND_MSG_PUB.Add;
5986 
5987         END IF;
5988 
5989         RETURN FALSE;
5990 
5991     WHEN OTHERS THEN
5992 
5993         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5994         THEN
5995             FND_MSG_PUB.Add_Exc_Msg
5996             (   G_PKG_NAME
5997             ,   'Transaction_Temp'
5998             );
5999         END IF;
6000 
6001         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6002 
6003 END Transaction_Temp;
6004 
6005 FUNCTION Transfer_Cost ( p_transfer_cost IN NUMBER )
6006 RETURN BOOLEAN
6007 IS
6008 l_dummy                       VARCHAR2(10);
6009 BEGIN
6010 
6011     IF p_transfer_cost IS NULL OR
6012         p_transfer_cost = FND_API.G_MISS_NUM
6013     THEN
6014         RETURN TRUE;
6015     END IF;
6016 
6017     --  SELECT  'VALID'
6018     --  INTO     l_dummy
6019     --  FROM     DB_TABLE
6020     --  WHERE    DB_COLUMN = p_transfer_cost;
6021 
6022     RETURN TRUE;
6023 
6024 EXCEPTION
6025 
6026     WHEN NO_DATA_FOUND THEN
6027 
6028         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6029         THEN
6030 
6031             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6032             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transfer_cost');
6033             FND_MSG_PUB.Add;
6034 
6035         END IF;
6036 
6037         RETURN FALSE;
6038 
6039     WHEN OTHERS THEN
6040 
6041         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6042         THEN
6043             FND_MSG_PUB.Add_Exc_Msg
6044             (   G_PKG_NAME
6045             ,   'Transfer_Cost'
6046             );
6047         END IF;
6048 
6049         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6050 
6051 END Transfer_Cost;
6052 
6053 FUNCTION Transfer_Organization ( p_transfer_organization IN NUMBER )
6054 RETURN BOOLEAN
6055 IS
6056 l_dummy                       VARCHAR2(10);
6057 BEGIN
6058 
6059     IF p_transfer_organization IS NULL OR
6060         p_transfer_organization = FND_API.G_MISS_NUM
6061     THEN
6062         RETURN TRUE;
6063     END IF;
6064 
6065     --  SELECT  'VALID'
6066     --  INTO     l_dummy
6067     --  FROM     DB_TABLE
6068     --  WHERE    DB_COLUMN = p_transfer_organization;
6069 
6070     RETURN TRUE;
6071 
6072 EXCEPTION
6073 
6074     WHEN NO_DATA_FOUND THEN
6075 
6076         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6080             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transfer_organization');
6077         THEN
6078 
6079             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6081             FND_MSG_PUB.Add;
6082 
6083         END IF;
6084 
6085         RETURN FALSE;
6086 
6087     WHEN OTHERS THEN
6088 
6089         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6090         THEN
6091             FND_MSG_PUB.Add_Exc_Msg
6092             (   G_PKG_NAME
6093             ,   'Transfer_Organization'
6094             );
6095         END IF;
6096 
6097         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6098 
6099 END Transfer_Organization;
6100 
6101 FUNCTION Transfer_Subinventory ( p_transfer_subinventory IN VARCHAR2 )
6102 RETURN BOOLEAN
6103 IS
6104 l_dummy                       VARCHAR2(10);
6105 BEGIN
6106 
6107     IF p_transfer_subinventory IS NULL OR
6108         p_transfer_subinventory = FND_API.G_MISS_CHAR
6109     THEN
6110         RETURN TRUE;
6111     END IF;
6112 
6113     --  SELECT  'VALID'
6114     --  INTO     l_dummy
6115     --  FROM     DB_TABLE
6116     --  WHERE    DB_COLUMN = p_transfer_subinventory;
6117 
6118     RETURN TRUE;
6119 
6120 EXCEPTION
6121 
6122     WHEN NO_DATA_FOUND THEN
6123 
6124         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6125         THEN
6126 
6127             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6128             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transfer_subinventory');
6129             FND_MSG_PUB.Add;
6130 
6131         END IF;
6132 
6133         RETURN FALSE;
6134 
6135     WHEN OTHERS THEN
6136 
6137         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6138         THEN
6139             FND_MSG_PUB.Add_Exc_Msg
6140             (   G_PKG_NAME
6141             ,   'Transfer_Subinventory'
6142             );
6143         END IF;
6144 
6145         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6146 
6147 END Transfer_Subinventory;
6148 
6149 FUNCTION Transfer_To_Location ( p_transfer_to_location IN NUMBER )
6150 RETURN BOOLEAN
6151 IS
6152 l_dummy                       VARCHAR2(10);
6153 BEGIN
6154 
6155     IF p_transfer_to_location IS NULL OR
6156         p_transfer_to_location = FND_API.G_MISS_NUM
6157     THEN
6158         RETURN TRUE;
6159     END IF;
6160 
6161     --  SELECT  'VALID'
6162     --  INTO     l_dummy
6163     --  FROM     DB_TABLE
6164     --  WHERE    DB_COLUMN = p_transfer_to_location;
6165 
6166     RETURN TRUE;
6167 
6168 EXCEPTION
6169 
6170     WHEN NO_DATA_FOUND THEN
6171 
6172         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6173         THEN
6174 
6175             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6176             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transfer_to_location');
6177             FND_MSG_PUB.Add;
6178 
6179         END IF;
6180 
6181         RETURN FALSE;
6182 
6183     WHEN OTHERS THEN
6184 
6185         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6186         THEN
6187             FND_MSG_PUB.Add_Exc_Msg
6188             (   G_PKG_NAME
6189             ,   'Transfer_To_Location'
6190             );
6191         END IF;
6192 
6193         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6194 
6195 END Transfer_To_Location;
6196 
6197 FUNCTION Transportation_Account ( p_transportation_account IN NUMBER )
6198 RETURN BOOLEAN
6199 IS
6200 l_dummy                       VARCHAR2(10);
6201 BEGIN
6202 
6203     IF p_transportation_account IS NULL OR
6204         p_transportation_account = FND_API.G_MISS_NUM
6205     THEN
6206         RETURN TRUE;
6207     END IF;
6208 
6209     --  SELECT  'VALID'
6210     --  INTO     l_dummy
6211     --  FROM     DB_TABLE
6212     --  WHERE    DB_COLUMN = p_transportation_account;
6213 
6214     RETURN TRUE;
6215 
6216 EXCEPTION
6217 
6218     WHEN NO_DATA_FOUND THEN
6219 
6220         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6221         THEN
6222 
6223             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6224             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transportation_account');
6225             FND_MSG_PUB.Add;
6226 
6227         END IF;
6228 
6229         RETURN FALSE;
6230 
6231     WHEN OTHERS THEN
6232 
6233         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6234         THEN
6235             FND_MSG_PUB.Add_Exc_Msg
6236             (   G_PKG_NAME
6237             ,   'Transportation_Account'
6238             );
6239         END IF;
6240 
6241         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6242 
6243 END Transportation_Account;
6244 
6245 FUNCTION Transportation_Cost ( p_transportation_cost IN NUMBER )
6246 RETURN BOOLEAN
6247 IS
6248 l_dummy                       VARCHAR2(10);
6249 BEGIN
6250 
6254         RETURN TRUE;
6251     IF p_transportation_cost IS NULL OR
6252         p_transportation_cost = FND_API.G_MISS_NUM
6253     THEN
6255     END IF;
6256 
6257     --  SELECT  'VALID'
6258     --  INTO     l_dummy
6259     --  FROM     DB_TABLE
6260     --  WHERE    DB_COLUMN = p_transportation_cost;
6261 
6262     RETURN TRUE;
6263 
6264 EXCEPTION
6265 
6266     WHEN NO_DATA_FOUND THEN
6267 
6268         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6269         THEN
6270 
6271             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6272             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transportation_cost');
6273             FND_MSG_PUB.Add;
6274 
6275         END IF;
6276 
6277         RETURN FALSE;
6278 
6279     WHEN OTHERS THEN
6280 
6281         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6282         THEN
6283             FND_MSG_PUB.Add_Exc_Msg
6284             (   G_PKG_NAME
6285             ,   'Transportation_Cost'
6286             );
6287         END IF;
6288 
6289         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6290 
6291 END Transportation_Cost;
6292 
6293 FUNCTION Trx_Source_Delivery ( p_trx_source_delivery_id IN NUMBER )
6294 RETURN BOOLEAN
6295 IS
6296 l_dummy                       VARCHAR2(10);
6297 BEGIN
6298 
6299     IF p_trx_source_delivery_id IS NULL OR
6300         p_trx_source_delivery_id = FND_API.G_MISS_NUM
6301     THEN
6302         RETURN TRUE;
6303     END IF;
6304 
6305     --  SELECT  'VALID'
6306     --  INTO     l_dummy
6307     --  FROM     DB_TABLE
6308     --  WHERE    DB_COLUMN = p_trx_source_delivery_id;
6309 
6310     RETURN TRUE;
6311 
6312 EXCEPTION
6313 
6314     WHEN NO_DATA_FOUND THEN
6315 
6316         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6317         THEN
6318 
6319             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6320             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','trx_source_delivery');
6321             FND_MSG_PUB.Add;
6322 
6323         END IF;
6324 
6325         RETURN FALSE;
6326 
6327     WHEN OTHERS THEN
6328 
6329         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6330         THEN
6331             FND_MSG_PUB.Add_Exc_Msg
6332             (   G_PKG_NAME
6333             ,   'Trx_Source_Delivery'
6334             );
6335         END IF;
6336 
6337         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6338 
6339 END Trx_Source_Delivery;
6340 
6341 FUNCTION Trx_Source_Line ( p_trx_source_line_id IN NUMBER )
6342 RETURN BOOLEAN
6343 IS
6344 l_dummy                       VARCHAR2(10);
6345 BEGIN
6346 
6347     IF p_trx_source_line_id IS NULL OR
6348         p_trx_source_line_id = FND_API.G_MISS_NUM
6349     THEN
6350         RETURN TRUE;
6351     END IF;
6352 
6353     --  SELECT  'VALID'
6354     --  INTO     l_dummy
6355     --  FROM     DB_TABLE
6356     --  WHERE    DB_COLUMN = p_trx_source_line_id;
6357 
6358     RETURN TRUE;
6359 
6360 EXCEPTION
6361 
6362     WHEN NO_DATA_FOUND THEN
6363 
6364         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6365         THEN
6366 
6367             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6368             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','trx_source_line');
6369             FND_MSG_PUB.Add;
6370 
6371         END IF;
6372 
6373         RETURN FALSE;
6374 
6375     WHEN OTHERS THEN
6376 
6377         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6378         THEN
6379             FND_MSG_PUB.Add_Exc_Msg
6380             (   G_PKG_NAME
6381             ,   'Trx_Source_Line'
6382             );
6383         END IF;
6384 
6385         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6386 
6387 END Trx_Source_Line;
6388 
6389 FUNCTION Valid_Locator ( p_valid_locator_flag IN VARCHAR2 )
6390 RETURN BOOLEAN
6391 IS
6392 l_dummy                       VARCHAR2(10);
6393 BEGIN
6394 
6395     IF p_valid_locator_flag IS NULL OR
6396         p_valid_locator_flag = FND_API.G_MISS_CHAR
6397     THEN
6398         RETURN TRUE;
6399     END IF;
6400 
6401     --  SELECT  'VALID'
6402     --  INTO     l_dummy
6403     --  FROM     DB_TABLE
6404     --  WHERE    DB_COLUMN = p_valid_locator_flag;
6405 
6406     RETURN TRUE;
6407 
6408 EXCEPTION
6409 
6410     WHEN NO_DATA_FOUND THEN
6411 
6412         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6413         THEN
6414 
6415             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6416             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','valid_locator');
6417             FND_MSG_PUB.Add;
6418 
6419         END IF;
6420 
6421         RETURN FALSE;
6422 
6423     WHEN OTHERS THEN
6424 
6425         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6426         THEN
6430             );
6427             FND_MSG_PUB.Add_Exc_Msg
6428             (   G_PKG_NAME
6429             ,   'Valid_Locator'
6431         END IF;
6432 
6433         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6434 
6435 END Valid_Locator;
6436 
6437 FUNCTION Valid_Subinventory ( p_valid_subinventory_flag IN VARCHAR2 )
6438 RETURN BOOLEAN
6439 IS
6440 l_dummy                       VARCHAR2(10);
6441 BEGIN
6442 
6443     IF p_valid_subinventory_flag IS NULL OR
6444         p_valid_subinventory_flag = FND_API.G_MISS_CHAR
6445     THEN
6446         RETURN TRUE;
6447     END IF;
6448 
6449     --  SELECT  'VALID'
6450     --  INTO     l_dummy
6451     --  FROM     DB_TABLE
6452     --  WHERE    DB_COLUMN = p_valid_subinventory_flag;
6453 
6454     RETURN TRUE;
6455 
6456 EXCEPTION
6457 
6458     WHEN NO_DATA_FOUND THEN
6459 
6460         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6461         THEN
6462 
6463             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6464             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','valid_subinventory');
6465             FND_MSG_PUB.Add;
6466 
6467         END IF;
6468 
6469         RETURN FALSE;
6470 
6471     WHEN OTHERS THEN
6472 
6473         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6474         THEN
6475             FND_MSG_PUB.Add_Exc_Msg
6476             (   G_PKG_NAME
6477             ,   'Valid_Subinventory'
6478             );
6479         END IF;
6480 
6481         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6482 
6483 END Valid_Subinventory;
6484 
6485 FUNCTION Value_Change ( p_value_change IN NUMBER )
6486 RETURN BOOLEAN
6487 IS
6488 l_dummy                       VARCHAR2(10);
6489 BEGIN
6490 
6491     IF p_value_change IS NULL OR
6492         p_value_change = FND_API.G_MISS_NUM
6493     THEN
6494         RETURN TRUE;
6495     END IF;
6496 
6497     --  SELECT  'VALID'
6498     --  INTO     l_dummy
6499     --  FROM     DB_TABLE
6500     --  WHERE    DB_COLUMN = p_value_change;
6501 
6502     RETURN TRUE;
6503 
6504 EXCEPTION
6505 
6506     WHEN NO_DATA_FOUND THEN
6507 
6508         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6509         THEN
6510 
6511             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6512             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','value_change');
6513             FND_MSG_PUB.Add;
6514 
6515         END IF;
6516 
6517         RETURN FALSE;
6518 
6519     WHEN OTHERS THEN
6520 
6521         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6522         THEN
6523             FND_MSG_PUB.Add_Exc_Msg
6524             (   G_PKG_NAME
6525             ,   'Value_Change'
6526             );
6527         END IF;
6528 
6529         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6530 
6531 END Value_Change;
6532 
6533 FUNCTION Vendor_Lot_Number ( p_vendor_lot_number IN VARCHAR2 )
6534 RETURN BOOLEAN
6535 IS
6536 l_dummy                       VARCHAR2(10);
6537 BEGIN
6538 
6539     IF p_vendor_lot_number IS NULL OR
6540         p_vendor_lot_number = FND_API.G_MISS_CHAR
6541     THEN
6542         RETURN TRUE;
6543     END IF;
6544 
6545     --  SELECT  'VALID'
6546     --  INTO     l_dummy
6547     --  FROM     DB_TABLE
6548     --  WHERE    DB_COLUMN = p_vendor_lot_number;
6549 
6550     RETURN TRUE;
6551 
6552 EXCEPTION
6553 
6554     WHEN NO_DATA_FOUND THEN
6555 
6556         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6557         THEN
6558 
6559             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6560             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','vendor_lot_number');
6561             FND_MSG_PUB.Add;
6562 
6563         END IF;
6564 
6565         RETURN FALSE;
6566 
6567     WHEN OTHERS THEN
6568 
6569         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6570         THEN
6571             FND_MSG_PUB.Add_Exc_Msg
6572             (   G_PKG_NAME
6573             ,   'Vendor_Lot_Number'
6574             );
6575         END IF;
6576 
6577         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6578 
6579 END Vendor_Lot_Number;
6580 
6581 FUNCTION Wip_Commit ( p_wip_commit_flag IN VARCHAR2 )
6582 RETURN BOOLEAN
6583 IS
6584 l_dummy                       VARCHAR2(10);
6585 BEGIN
6586 
6587     IF p_wip_commit_flag IS NULL OR
6588         p_wip_commit_flag = FND_API.G_MISS_CHAR
6589     THEN
6590         RETURN TRUE;
6591     END IF;
6592 
6593     --  SELECT  'VALID'
6594     --  INTO     l_dummy
6595     --  FROM     DB_TABLE
6596     --  WHERE    DB_COLUMN = p_wip_commit_flag;
6597 
6598     RETURN TRUE;
6599 
6600 EXCEPTION
6601 
6602     WHEN NO_DATA_FOUND THEN
6603 
6604         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6605         THEN
6606 
6610 
6607             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6608             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','wip_commit');
6609             FND_MSG_PUB.Add;
6611         END IF;
6612 
6613         RETURN FALSE;
6614 
6615     WHEN OTHERS THEN
6616 
6617         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6618         THEN
6619             FND_MSG_PUB.Add_Exc_Msg
6620             (   G_PKG_NAME
6621             ,   'Wip_Commit'
6622             );
6623         END IF;
6624 
6625         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6626 
6627 END Wip_Commit;
6628 
6629 FUNCTION Wip_Entity_Type ( p_wip_entity_type IN NUMBER )
6630 RETURN BOOLEAN
6631 IS
6632 l_dummy                       VARCHAR2(10);
6633 BEGIN
6634 
6635     IF p_wip_entity_type IS NULL OR
6636         p_wip_entity_type = FND_API.G_MISS_NUM
6637     THEN
6638         RETURN TRUE;
6639     END IF;
6640 
6641     --  SELECT  'VALID'
6642     --  INTO     l_dummy
6643     --  FROM     DB_TABLE
6644     --  WHERE    DB_COLUMN = p_wip_entity_type;
6645 
6646     RETURN TRUE;
6647 
6648 EXCEPTION
6649 
6650     WHEN NO_DATA_FOUND THEN
6651 
6652         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6653         THEN
6654 
6655             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6656             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','wip_entity_type');
6657             FND_MSG_PUB.Add;
6658 
6659         END IF;
6660 
6661         RETURN FALSE;
6662 
6663     WHEN OTHERS THEN
6664 
6665         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6666         THEN
6667             FND_MSG_PUB.Add_Exc_Msg
6668             (   G_PKG_NAME
6669             ,   'Wip_Entity_Type'
6670             );
6671         END IF;
6672 
6673         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6674 
6675 END Wip_Entity_Type;
6676 
6677 */
6678 FUNCTION Activity ( p_activity_id IN NUMBER )
6679 RETURN BOOLEAN
6680 IS
6681 l_dummy                       VARCHAR2(10);
6682 BEGIN
6683 
6684     IF p_activity_id IS NULL OR
6685         p_activity_id = FND_API.G_MISS_NUM
6686     THEN
6687         RETURN TRUE;
6688     END IF;
6689 
6690     --  SELECT  'VALID'
6691     --  INTO     l_dummy
6692     --  FROM     DB_TABLE
6693     --  WHERE    DB_COLUMN = p_activity_id;
6694 
6695     RETURN TRUE;
6696 
6697 EXCEPTION
6698 
6699     WHEN NO_DATA_FOUND THEN
6700 
6701         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6702         THEN
6703 
6704             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6705             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','activity');
6706             FND_MSG_PUB.Add;
6707 
6708         END IF;
6709 
6710         RETURN FALSE;
6711 
6712     WHEN OTHERS THEN
6713 
6714         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6715         THEN
6716             FND_MSG_PUB.Add_Exc_Msg
6717             (   G_PKG_NAME
6718             ,   'Activity'
6719             );
6720         END IF;
6721 
6722         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6723 
6724 END Activity;
6725 
6726 FUNCTION Activity_Name ( p_activity_name IN VARCHAR2 )
6727 RETURN BOOLEAN
6728 IS
6729 l_dummy                       VARCHAR2(10);
6730 BEGIN
6731 
6732     IF p_activity_name IS NULL OR
6733         p_activity_name = FND_API.G_MISS_CHAR
6734     THEN
6735         RETURN TRUE;
6736     END IF;
6737 
6738     --  SELECT  'VALID'
6739     --  INTO     l_dummy
6740     --  FROM     DB_TABLE
6741     --  WHERE    DB_COLUMN = p_activity_name;
6742 
6743     RETURN TRUE;
6744 
6745 EXCEPTION
6746 
6747     WHEN NO_DATA_FOUND THEN
6748 
6749         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6750         THEN
6751 
6752             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6753             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','activity_name');
6754             FND_MSG_PUB.Add;
6755 
6756         END IF;
6757 
6758         RETURN FALSE;
6759 
6760     WHEN OTHERS THEN
6761 
6762         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6763         THEN
6764             FND_MSG_PUB.Add_Exc_Msg
6765             (   G_PKG_NAME
6766             ,   'Activity_Name'
6767             );
6768         END IF;
6769 
6770         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6771 
6772 END Activity_Name;
6773 
6774 FUNCTION Actual_Resource_Rate ( p_actual_resource_rate IN NUMBER )
6775 RETURN BOOLEAN
6776 IS
6777 l_dummy                       VARCHAR2(10);
6778 BEGIN
6779 
6780     IF p_actual_resource_rate IS NULL OR
6781         p_actual_resource_rate = FND_API.G_MISS_NUM
6782     THEN
6783         RETURN TRUE;
6784     END IF;
6785 
6786     --  SELECT  'VALID'
6790 
6787     --  INTO     l_dummy
6788     --  FROM     DB_TABLE
6789     --  WHERE    DB_COLUMN = p_actual_resource_rate;
6791     RETURN TRUE;
6792 
6793 EXCEPTION
6794 
6795     WHEN NO_DATA_FOUND THEN
6796 
6797         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6798         THEN
6799 
6800             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6801             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','actual_resource_rate');
6802             FND_MSG_PUB.Add;
6803 
6804         END IF;
6805 
6806         RETURN FALSE;
6807 
6808     WHEN OTHERS THEN
6809 
6810         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6811         THEN
6812             FND_MSG_PUB.Add_Exc_Msg
6813             (   G_PKG_NAME
6814             ,   'Actual_Resource_Rate'
6815             );
6816         END IF;
6817 
6818         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6819 
6820 END Actual_Resource_Rate;
6821 
6822 FUNCTION Autocharge_Type ( p_autocharge_type IN NUMBER )
6823 RETURN BOOLEAN
6824 IS
6825 l_dummy                       VARCHAR2(10);
6826 BEGIN
6827 
6828     IF p_autocharge_type IS NULL OR
6829         p_autocharge_type = FND_API.G_MISS_NUM
6830     THEN
6831         RETURN TRUE;
6832     END IF;
6833 
6834     SELECT  'VALID'
6835       INTO     l_dummy
6836       FROM     MFG_LOOKUPS
6837       WHERE    lookup_type = 'BOM_AUTOCHARGE_TYPE'
6838       AND      lookup_code = p_autocharge_type;
6839 
6840     RETURN TRUE;
6841 
6842 EXCEPTION
6843 
6844     WHEN NO_DATA_FOUND THEN
6845 
6846         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6847         THEN
6848 
6849             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6850             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','autocharge_type');
6851             FND_MSG_PUB.Add;
6852 
6853         END IF;
6854 
6855         RETURN FALSE;
6856 
6857     WHEN OTHERS THEN
6858 
6859         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6860         THEN
6861             FND_MSG_PUB.Add_Exc_Msg
6862             (   G_PKG_NAME
6863             ,   'Autocharge_Type'
6864             );
6865         END IF;
6866 
6867         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6868 
6869 END Autocharge_Type;
6870 
6871 FUNCTION Basis_Type ( p_basis_type IN NUMBER )
6872 RETURN BOOLEAN
6873 IS
6874 l_dummy                       VARCHAR2(10);
6875 BEGIN
6876 
6877     IF p_basis_type IS NULL OR
6878         p_basis_type = FND_API.G_MISS_NUM
6879     THEN
6880         RETURN TRUE;
6881     END IF;
6882 
6883     SELECT  'VALID'
6884       INTO     l_dummy
6885       FROM     MFG_LOOKUPS
6886       WHERE    lookup_type = 'CST_BASIS'
6887       AND      lookup_code = p_basis_type;
6888 
6889     RETURN TRUE;
6890 
6891 EXCEPTION
6892 
6893     WHEN NO_DATA_FOUND THEN
6894 
6895         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6896         THEN
6897 
6898             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6899             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','basis_type');
6900             FND_MSG_PUB.Add;
6901 
6902         END IF;
6903 
6904         RETURN FALSE;
6905 
6906     WHEN OTHERS THEN
6907 
6908         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6909         THEN
6910             FND_MSG_PUB.Add_Exc_Msg
6911             (   G_PKG_NAME
6912             ,   'Basis_Type'
6913             );
6914         END IF;
6915 
6916         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6917 
6918 END Basis_Type;
6919 
6920 FUNCTION Created_By_Name ( p_created_by_name IN VARCHAR2 )
6921 RETURN BOOLEAN
6922 IS
6923 l_dummy                       VARCHAR2(10);
6924 BEGIN
6925 
6926     IF p_created_by_name IS NULL OR
6927         p_created_by_name = FND_API.G_MISS_CHAR
6928     THEN
6929         RETURN TRUE;
6930     END IF;
6931 
6932     SELECT  'VALID'
6933     INTO     l_dummy
6934     FROM     fnd_user
6935     WHERE    user_name = p_created_by_name;
6936 
6937     RETURN TRUE;
6938 
6939 EXCEPTION
6940 
6941     WHEN NO_DATA_FOUND THEN
6942 
6943         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6944         THEN
6945 
6946             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6947             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','created_by_name');
6948             FND_MSG_PUB.Add;
6949 
6950         END IF;
6951 
6952         RETURN FALSE;
6953 
6954     WHEN OTHERS THEN
6955 
6956         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6957         THEN
6958             FND_MSG_PUB.Add_Exc_Msg
6959             (   G_PKG_NAME
6960             ,   'Created_By_Name'
6961             );
6962         END IF;
6963 
6964         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6968 FUNCTION Currency ( p_currency_code IN VARCHAR2 )
6965 
6966 END Created_By_Name;
6967 
6969 RETURN BOOLEAN
6970 IS
6971 l_dummy                       VARCHAR2(10);
6972 BEGIN
6973 
6974     RETURN TRUE;
6975 
6976 EXCEPTION
6977 
6978     WHEN NO_DATA_FOUND THEN
6979 
6980         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
6981         THEN
6982 
6983             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
6984             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','currency');
6985             FND_MSG_PUB.Add;
6986 
6987         END IF;
6988 
6989         RETURN FALSE;
6990 
6991     WHEN OTHERS THEN
6992 
6993         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6994         THEN
6995             FND_MSG_PUB.Add_Exc_Msg
6996             (   G_PKG_NAME
6997             ,   'Currency'
6998             );
6999         END IF;
7000 
7001         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7002 
7003 END Currency;
7004 
7005 FUNCTION Currency_Conversion_Date ( p_currency_conversion_date IN DATE )
7006 RETURN BOOLEAN
7007 IS
7008 l_dummy                       VARCHAR2(10);
7009 BEGIN
7010 
7011     RETURN TRUE;
7012 
7013 EXCEPTION
7014 
7015     WHEN NO_DATA_FOUND THEN
7016 
7017         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7018         THEN
7019 
7020             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7021             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','currency_conversion_date');
7022             FND_MSG_PUB.Add;
7023 
7024         END IF;
7025 
7026         RETURN FALSE;
7027 
7028     WHEN OTHERS THEN
7029 
7030         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7031         THEN
7032             FND_MSG_PUB.Add_Exc_Msg
7033             (   G_PKG_NAME
7034             ,   'Currency_Conversion_Date'
7035             );
7036         END IF;
7037 
7038         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7039 
7040 END Currency_Conversion_Date;
7041 
7042 FUNCTION Currency_Conversion_Rate ( p_currency_conversion_rate IN NUMBER )
7043 RETURN BOOLEAN
7044 IS
7045 l_dummy                       VARCHAR2(10);
7046 BEGIN
7047 
7048     RETURN TRUE;
7049 
7050 EXCEPTION
7051 
7052     WHEN NO_DATA_FOUND THEN
7053 
7054         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7055         THEN
7056 
7057             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7058             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','currency_conversion_rate');
7059             FND_MSG_PUB.Add;
7060 
7061         END IF;
7062 
7063         RETURN FALSE;
7064 
7065     WHEN OTHERS THEN
7066 
7067         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7068         THEN
7069             FND_MSG_PUB.Add_Exc_Msg
7070             (   G_PKG_NAME
7071             ,   'Currency_Conversion_Rate'
7072             );
7073         END IF;
7074 
7075         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7076 
7077 END Currency_Conversion_Rate;
7078 
7079 FUNCTION Currency_Conversion_Type ( p_currency_conversion_type IN VARCHAR2 )
7080 RETURN BOOLEAN
7081 IS
7082 l_dummy                       VARCHAR2(10);
7083 BEGIN
7084 
7085     RETURN TRUE;
7086 
7087 EXCEPTION
7088 
7089     WHEN NO_DATA_FOUND THEN
7090 
7091         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7092         THEN
7093 
7094             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7095             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','currency_conversion_type');
7096             FND_MSG_PUB.Add;
7097 
7098         END IF;
7099 
7100         RETURN FALSE;
7101 
7102     WHEN OTHERS THEN
7103 
7104         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7105         THEN
7106             FND_MSG_PUB.Add_Exc_Msg
7107             (   G_PKG_NAME
7108             ,   'Currency_Conversion_Type'
7109             );
7110         END IF;
7111 
7112         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7113 
7114 END Currency_Conversion_Type;
7115 
7116 FUNCTION Currency_Actual_Rsc_Rate ( p_currency_actual_rsc_rate IN NUMBER )
7117 RETURN BOOLEAN
7118 IS
7119 l_dummy                       VARCHAR2(10);
7120 BEGIN
7121 
7122     IF p_currency_actual_rsc_rate IS NULL OR
7123         p_currency_actual_rsc_rate = FND_API.G_MISS_NUM
7124     THEN
7125         RETURN TRUE;
7126     END IF;
7127 
7128     --  SELECT  'VALID'
7129     --  INTO     l_dummy
7130     --  FROM     DB_TABLE
7131     --  WHERE    DB_COLUMN = p_currency_actual_rsc_rate;
7132 
7133     RETURN TRUE;
7134 
7135 EXCEPTION
7136 
7137     WHEN NO_DATA_FOUND THEN
7138 
7139         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7140         THEN
7141 
7142             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7146         END IF;
7143             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','currency_actual_rsc_rate');
7144             FND_MSG_PUB.Add;
7145 
7147 
7148         RETURN FALSE;
7149 
7150     WHEN OTHERS THEN
7151 
7152         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7153         THEN
7154             FND_MSG_PUB.Add_Exc_Msg
7155             (   G_PKG_NAME
7156             ,   'Currency_Actual_Rsc_Rate'
7157             );
7158         END IF;
7159 
7160         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7161 
7162 END Currency_Actual_Rsc_Rate;
7163 
7164 FUNCTION Department_Code ( p_department_code IN VARCHAR2,
7165                       p_organization_id IN NUMBER,
7166                       p_attribute_name  IN VARCHAR2 DEFAULT NULL)
7167 RETURN BOOLEAN
7168 IS
7169 l_dummy                       VARCHAR2(10);
7170 BEGIN
7171 
7172    IF p_department_code IS NULL OR
7173       p_department_code = FND_API.G_MISS_CHAR
7174     THEN
7175         RETURN TRUE;
7176     END IF;
7177 
7178 
7179    SELECT     'VALID'
7180      INTO     l_dummy
7181      FROM     bom_departments
7182      WHERE    department_code = p_department_code
7183      AND      organization_id = p_organization_id;
7184 
7185     RETURN TRUE;
7186 
7187 EXCEPTION
7188 
7189     WHEN NO_DATA_FOUND THEN
7190 
7191         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7192         THEN
7193 
7194             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7195             FND_MESSAGE.SET_TOKEN('ATTRIBUTE', nvl(p_attribute_name,'Department_Code'));
7196             FND_MSG_PUB.Add;
7197 
7198         END IF;
7199 
7200         RETURN FALSE;
7201 
7202     WHEN OTHERS THEN
7203 
7204         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7205         THEN
7206             FND_MSG_PUB.Add_Exc_Msg
7207             (   G_PKG_NAME
7208             ,   'Department_Code'
7209             );
7210         END IF;
7211 
7212         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7213 
7214 END Department_Code;
7215 
7216 FUNCTION Department_Id ( p_department_id  IN NUMBER,
7217                          p_attribute_name IN VARCHAR2 DEFAULT NULL)
7218 RETURN BOOLEAN
7219 IS
7220 l_dummy                       VARCHAR2(10);
7221 BEGIN
7222 
7223    IF p_department_id IS NULL OR
7224       p_department_id = FND_API.G_MISS_NUM
7225     THEN
7226         RETURN TRUE;
7227     END IF;
7228 
7229 
7230    SELECT     'VALID'
7231      INTO     l_dummy
7232      FROM     bom_departments
7233      WHERE    department_id = p_department_id;
7234 
7235     RETURN TRUE;
7236 
7237 EXCEPTION
7238 
7239     WHEN NO_DATA_FOUND THEN
7240 
7241         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7242         THEN
7243 
7244             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7245             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',nvl(p_attribute_name,'Department_Id'));
7246             FND_MSG_PUB.Add;
7247 
7248         END IF;
7249 
7250         RETURN FALSE;
7251 
7252     WHEN OTHERS THEN
7253 
7254         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7255         THEN
7256             FND_MSG_PUB.Add_Exc_Msg
7257             (   G_PKG_NAME
7258             ,   'Department_Id'
7259             );
7260         END IF;
7261 
7262         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7263 
7264 END Department_Id;
7265 
7266 FUNCTION Employee ( p_employee_code IN VARCHAR2 )
7267 RETURN BOOLEAN
7268 IS
7269 l_dummy                       VARCHAR2(10);
7270 BEGIN
7271 
7272     RETURN TRUE;
7273 
7274 EXCEPTION
7275 
7276     WHEN NO_DATA_FOUND THEN
7277 
7278         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7279         THEN
7280 
7281             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7282             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','employee_code');
7283             FND_MSG_PUB.Add;
7284 
7285         END IF;
7286 
7287         RETURN FALSE;
7288 
7289     WHEN OTHERS THEN
7290 
7291         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7292         THEN
7293             FND_MSG_PUB.Add_Exc_Msg
7294             (   G_PKG_NAME
7295             ,   'Employee'
7296             );
7297         END IF;
7298 
7299         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7300 
7301 END Employee;
7302 
7303 FUNCTION Employee_Num ( p_employee_num IN VARCHAR2 )
7304 RETURN BOOLEAN
7305 IS
7306 l_dummy                       VARCHAR2(10);
7307 BEGIN
7308 
7309     IF p_employee_num IS NULL OR
7310         p_employee_num = FND_API.G_MISS_CHAR
7311     THEN
7312         RETURN TRUE;
7313     END IF;
7314 
7315     --  SELECT  'VALID'
7316     --  INTO     l_dummy
7317     --  FROM     DB_TABLE
7321 
7318     --  WHERE    DB_COLUMN = p_employee_num;
7319 
7320     RETURN TRUE;
7322 EXCEPTION
7323 
7324     WHEN NO_DATA_FOUND THEN
7325 
7326         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7327         THEN
7328 
7329             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7330             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','employee_num');
7331             FND_MSG_PUB.Add;
7332 
7333         END IF;
7334 
7335         RETURN FALSE;
7336 
7337     WHEN OTHERS THEN
7338 
7339         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7340         THEN
7341             FND_MSG_PUB.Add_Exc_Msg
7342             (   G_PKG_NAME
7343             ,   'Employee_Num'
7344             );
7345         END IF;
7346 
7347         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7348 
7349 END Employee_Num;
7350 
7351 FUNCTION Group_Id ( p_group_id IN NUMBER )
7352 RETURN BOOLEAN
7353 IS
7354 l_dummy                       VARCHAR2(10);
7355 BEGIN
7356 
7357     IF p_group_id IS NULL OR
7358         p_group_id = FND_API.G_MISS_NUM
7359     THEN
7360         RETURN TRUE;
7361     END IF;
7362 
7363     --  SELECT  'VALID'
7364     --  INTO     l_dummy
7365     --  FROM     DB_TABLE
7366     --  WHERE    DB_COLUMN = p_group_id;
7367 
7368     RETURN TRUE;
7369 
7370 EXCEPTION
7371 
7372     WHEN NO_DATA_FOUND THEN
7373 
7374         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7375         THEN
7376 
7377             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7378             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','group');
7379             FND_MSG_PUB.Add;
7380 
7381         END IF;
7382 
7383         RETURN FALSE;
7384 
7385     WHEN OTHERS THEN
7386 
7387         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7388         THEN
7389             FND_MSG_PUB.Add_Exc_Msg
7390             (   G_PKG_NAME
7391             ,   'Group'
7392             );
7393         END IF;
7394 
7395         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7396 
7397 END Group_Id;
7398 
7399 FUNCTION Last_Updated_By_Name ( p_last_updated_by_name IN VARCHAR2 )
7400 RETURN BOOLEAN
7401 IS
7402 l_dummy                       VARCHAR2(10);
7403 BEGIN
7404 
7405     IF p_last_updated_by_name IS NULL OR
7406         p_last_updated_by_name = FND_API.G_MISS_CHAR
7407     THEN
7408         RETURN TRUE;
7409     END IF;
7410 
7411     SELECT  'VALID'
7412     INTO     l_dummy
7413     FROM     fnd_user
7414     WHERE    user_name = p_last_updated_by_name;
7415 
7416     RETURN TRUE;
7417 
7418 EXCEPTION
7419 
7420     WHEN NO_DATA_FOUND THEN
7421 
7422         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7423         THEN
7424 
7425             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7426             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','last_updated_by_name');
7427             FND_MSG_PUB.Add;
7428 
7429         END IF;
7430 
7431         RETURN FALSE;
7432 
7433     WHEN OTHERS THEN
7434 
7435         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7436         THEN
7437             FND_MSG_PUB.Add_Exc_Msg
7438             (   G_PKG_NAME
7439             ,   'Last_Updated_By_Name'
7440             );
7441         END IF;
7442 
7443         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7444 
7445 END Last_Updated_By_Name;
7446 
7447 FUNCTION Move_Transaction ( p_move_transaction_id IN NUMBER )
7448 RETURN BOOLEAN
7449 IS
7450 l_dummy                       VARCHAR2(10);
7451 BEGIN
7452 
7453     RETURN TRUE;
7454 
7455 EXCEPTION
7456 
7457     WHEN NO_DATA_FOUND THEN
7458 
7459         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7460         THEN
7461 
7462             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7463             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','move_transaction');
7464             FND_MSG_PUB.Add;
7465 
7466         END IF;
7467 
7468         RETURN FALSE;
7469 
7470     WHEN OTHERS THEN
7471 
7472         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7473         THEN
7474             FND_MSG_PUB.Add_Exc_Msg
7475             (   G_PKG_NAME
7476             ,   'Move_Transaction'
7477             );
7478         END IF;
7479 
7480         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7481 
7482 END Move_Transaction;
7483 
7484 FUNCTION Operation_Seq_Num ( p_operation_seq_num IN NUMBER ,
7485                              p_attribute_name    IN VARCHAR2 DEFAULT NULL)
7486 RETURN BOOLEAN
7487 IS
7488 l_dummy                       VARCHAR2(10);
7489 BEGIN
7490 
7491     RETURN TRUE;
7492 
7493 EXCEPTION
7494 
7495     WHEN NO_DATA_FOUND THEN
7496 
7497         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7498         THEN
7502             FND_MSG_PUB.Add;
7499 
7500             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7501             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',nvl(p_attribute_name,'Operation_Seq_Num'));
7503 
7504         END IF;
7505 
7506         RETURN FALSE;
7507 
7508     WHEN OTHERS THEN
7509 
7510         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7511         THEN
7512             FND_MSG_PUB.Add_Exc_Msg
7513             (   G_PKG_NAME
7514             ,   'Operation_Seq_Num'
7515             );
7516         END IF;
7517 
7518         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7519 
7520 END Operation_Seq_Num;
7521 
7522 FUNCTION Po_Header ( p_po_header_id IN NUMBER )
7523 RETURN BOOLEAN
7524 IS
7525 l_dummy                       VARCHAR2(10);
7526 BEGIN
7527 
7528     IF p_po_header_id IS NULL OR
7529         p_po_header_id = FND_API.G_MISS_NUM
7530     THEN
7531         RETURN TRUE;
7532     END IF;
7533 
7534     SELECT  'VALID'
7535     INTO     l_dummy
7536     FROM     po_headers_all
7537     WHERE    po_header_id = p_po_header_id;
7538 
7539     RETURN TRUE;
7540 
7541 EXCEPTION
7542 
7543     WHEN NO_DATA_FOUND THEN
7544 
7545         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7546         THEN
7547 
7548             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7549             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','po_header');
7550             FND_MSG_PUB.Add;
7551 
7552         END IF;
7553 
7554         RETURN FALSE;
7555 
7556     WHEN OTHERS THEN
7557 
7558         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7559         THEN
7560             FND_MSG_PUB.Add_Exc_Msg
7561             (   G_PKG_NAME
7562             ,   'Po_Header'
7563             );
7564         END IF;
7565 
7566         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7567 
7568 END Po_Header;
7569 
7570 FUNCTION Po_Line ( p_po_line_id IN NUMBER )
7571 RETURN BOOLEAN
7572 IS
7573 l_dummy                       VARCHAR2(10);
7574 BEGIN
7575 
7576     IF p_po_line_id IS NULL OR
7577         p_po_line_id = FND_API.G_MISS_NUM
7578     THEN
7579         RETURN TRUE;
7580     END IF;
7581 
7582     SELECT  'VALID'
7583     INTO     l_dummy
7584     FROM     po_lines_all
7585     WHERE    po_line_id = p_po_line_id;
7586 
7587     RETURN TRUE;
7588 
7589 EXCEPTION
7590 
7591     WHEN NO_DATA_FOUND THEN
7592 
7593         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7594         THEN
7595 
7596             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7597             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','po_line');
7598             FND_MSG_PUB.Add;
7599 
7600         END IF;
7601 
7602         RETURN FALSE;
7603 
7604     WHEN OTHERS THEN
7605 
7606         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7607         THEN
7608             FND_MSG_PUB.Add_Exc_Msg
7609             (   G_PKG_NAME
7610             ,   'Po_Line'
7611             );
7612         END IF;
7613 
7614         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7615 
7616 END Po_Line;
7617 
7618 FUNCTION Primary_Quantity ( p_primary_quantity IN NUMBER )
7619 RETURN BOOLEAN
7620 IS
7621 l_dummy                       VARCHAR2(10);
7622 BEGIN
7623 
7624     RETURN TRUE;
7625 
7626 EXCEPTION
7627 
7628     WHEN NO_DATA_FOUND THEN
7629 
7630         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7631         THEN
7632 
7633             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7634             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','primary_quantity');
7635             FND_MSG_PUB.Add;
7636 
7637         END IF;
7638 
7639         RETURN FALSE;
7640 
7641     WHEN OTHERS THEN
7642 
7643         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7644         THEN
7645             FND_MSG_PUB.Add_Exc_Msg
7646             (   G_PKG_NAME
7647             ,   'Primary_Quantity'
7648             );
7649         END IF;
7650 
7651         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7652 
7653 END Primary_Quantity;
7654 
7655 FUNCTION Primary_Uom ( p_primary_uom IN VARCHAR2 )
7656 RETURN BOOLEAN
7657 IS
7658 l_dummy                       VARCHAR2(10);
7659 BEGIN
7660 
7661     IF p_primary_uom IS NULL OR
7662         p_primary_uom = FND_API.G_MISS_CHAR
7663     THEN
7664         RETURN TRUE;
7665     END IF;
7666 
7667     SELECT  'VALID'
7668     INTO     l_dummy
7669     FROM     mtl_units_of_measure
7670     WHERE    uom_code = p_primary_uom;
7671 
7672     RETURN TRUE;
7673 
7674 EXCEPTION
7675 
7676     WHEN NO_DATA_FOUND THEN
7677 
7678         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7679         THEN
7680 
7684 
7681             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7682             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','primary_uom');
7683             FND_MSG_PUB.Add;
7685         END IF;
7686 
7687         RETURN FALSE;
7688 
7689     WHEN OTHERS THEN
7690 
7691         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7692         THEN
7693             FND_MSG_PUB.Add_Exc_Msg
7694             (   G_PKG_NAME
7695             ,   'Primary_Uom'
7696             );
7697         END IF;
7698 
7699         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7700 
7701 END Primary_Uom;
7702 
7703 FUNCTION Primary_Uom_Class ( p_primary_uom_class IN VARCHAR2 )
7704 RETURN BOOLEAN
7705 IS
7706 l_dummy                       VARCHAR2(10);
7707 BEGIN
7708 
7709     IF p_primary_uom_class IS NULL OR
7710         p_primary_uom_class = FND_API.G_MISS_CHAR
7711     THEN
7712         RETURN TRUE;
7713     END IF;
7714 
7715     --  SELECT  'VALID'
7716     --  INTO     l_dummy
7717     --  FROM     DB_TABLE
7718     --  WHERE    DB_COLUMN = p_primary_uom_class;
7719 
7720     RETURN TRUE;
7721 
7722 EXCEPTION
7723 
7724     WHEN NO_DATA_FOUND THEN
7725 
7726         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7727         THEN
7728 
7729             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7730             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','primary_uom_class');
7731             FND_MSG_PUB.Add;
7732 
7733         END IF;
7734 
7735         RETURN FALSE;
7736 
7737     WHEN OTHERS THEN
7738 
7739         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7740         THEN
7741             FND_MSG_PUB.Add_Exc_Msg
7742             (   G_PKG_NAME
7743             ,   'Primary_Uom_Class'
7744             );
7745         END IF;
7746 
7747         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7748 
7749 END Primary_Uom_Class;
7750 
7751 FUNCTION Process_Phase ( p_process_phase IN NUMBER,
7752                          p_lookup_type IN VARCHAR2)
7753 RETURN BOOLEAN
7754 IS
7755 l_dummy                       VARCHAR2(10);
7756 BEGIN
7757 
7758     IF p_process_phase IS NULL OR
7759         p_process_phase = FND_API.G_MISS_NUM
7760     THEN
7761         RETURN TRUE;
7762     END IF;
7763 
7764     SELECT  'VALID'
7765       INTO     l_dummy
7766       FROM     MFG_LOOKUPS
7767       WHERE    lookup_type = p_lookup_type
7768       AND      lookup_code = p_process_phase;
7769 
7770     RETURN TRUE;
7771 
7772 EXCEPTION
7773 
7774     WHEN NO_DATA_FOUND THEN
7775 
7776         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7777         THEN
7778 
7779             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7780             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','process_phase');
7781             FND_MSG_PUB.Add;
7782 
7783         END IF;
7784 
7785         RETURN FALSE;
7786 
7787     WHEN OTHERS THEN
7788 
7789         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7790         THEN
7791             FND_MSG_PUB.Add_Exc_Msg
7792             (   G_PKG_NAME
7793             ,   'Process_Phase'
7794             );
7795         END IF;
7796 
7797         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7798 
7799 END Process_Phase;
7800 
7801 FUNCTION Process_Status ( p_process_status IN NUMBER )
7802 RETURN BOOLEAN
7803 IS
7804 l_dummy                       VARCHAR2(10);
7805 BEGIN
7806 
7807     IF p_process_status IS NULL OR
7808         p_process_status = FND_API.G_MISS_NUM
7809     THEN
7810         RETURN TRUE;
7811     END IF;
7812 
7813     SELECT  'VALID'
7814       INTO     l_dummy
7815       FROM     MFG_LOOKUPS
7816       WHERE    lookup_type = 'WIP_PROCESS_STATUS'
7817       AND      lookup_code = p_process_status;
7818 
7819     RETURN TRUE;
7820 
7821 EXCEPTION
7822 
7823     WHEN NO_DATA_FOUND THEN
7824 
7825         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7826         THEN
7827 
7828             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7829             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','process_status');
7830             FND_MSG_PUB.Add;
7831 
7832         END IF;
7833 
7834         RETURN FALSE;
7835 
7836     WHEN OTHERS THEN
7837 
7838         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7839         THEN
7840             FND_MSG_PUB.Add_Exc_Msg
7841             (   G_PKG_NAME
7842             ,   'Process_Status'
7843             );
7844         END IF;
7845 
7846         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7847 
7848 END Process_Status;
7849 
7850 FUNCTION Project_Number ( p_project_number IN VARCHAR2 )
7851 RETURN BOOLEAN
7852 IS
7853 l_dummy                       VARCHAR2(10);
7854 BEGIN
7855 
7856     IF p_project_number IS NULL OR
7860     END IF;
7857         p_project_number = FND_API.G_MISS_CHAR
7858     THEN
7859         RETURN TRUE;
7861 
7862     --  SELECT  'VALID'
7863     --  INTO     l_dummy
7864     --  FROM     DB_TABLE
7865     --  WHERE    DB_COLUMN = p_project_number;
7866 
7867     RETURN TRUE;
7868 
7869 EXCEPTION
7870 
7871     WHEN NO_DATA_FOUND THEN
7872 
7873         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7874         THEN
7875 
7876             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7877             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','project_number');
7878             FND_MSG_PUB.Add;
7879 
7880         END IF;
7881 
7882         RETURN FALSE;
7883 
7884     WHEN OTHERS THEN
7885 
7886         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7887         THEN
7888             FND_MSG_PUB.Add_Exc_Msg
7889             (   G_PKG_NAME
7890             ,   'Project_Number'
7891             );
7892         END IF;
7893 
7894         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7895 
7896 END Project_Number;
7897 
7898 FUNCTION Rcv_Transaction ( p_rcv_transaction_id IN NUMBER )
7899 RETURN BOOLEAN
7900 IS
7901 l_dummy                       VARCHAR2(10);
7902 BEGIN
7903 
7904     IF p_rcv_transaction_id IS NULL OR
7905         p_rcv_transaction_id = FND_API.G_MISS_NUM
7906     THEN
7907         RETURN TRUE;
7908     END IF;
7909 
7910     SELECT  'VALID'
7911     INTO     l_dummy
7912     FROM     dual
7913     WHERE exists (select 'EXISTS'
7914                   from rcv_transactions_interface rti
7915                   where rti.interface_transaction_id = p_rcv_transaction_id)
7916       OR  exists (select 'EXISTS'
7917                   from rcv_transactions rt
7918                   where rt.transaction_id = p_rcv_transaction_id);
7919 
7920     RETURN TRUE;
7921 
7922 EXCEPTION
7923 
7924     WHEN NO_DATA_FOUND THEN
7925 
7926         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7927         THEN
7928 
7929             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7930             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','rcv_transaction');
7931             FND_MSG_PUB.Add;
7932 
7933         END IF;
7934 
7935         RETURN FALSE;
7936 
7937     WHEN OTHERS THEN
7938 
7939         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7940         THEN
7941             FND_MSG_PUB.Add_Exc_Msg
7942             (   G_PKG_NAME
7943             ,   'Rcv_Transaction'
7944             );
7945         END IF;
7946 
7947         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7948 
7949 END Rcv_Transaction;
7950 
7951 FUNCTION Reason ( p_reason_id IN NUMBER )
7952 RETURN BOOLEAN
7953 IS
7954 l_dummy                       VARCHAR2(10);
7955 BEGIN
7956 
7957     RETURN TRUE;
7958 
7959 EXCEPTION
7960 
7961     WHEN NO_DATA_FOUND THEN
7962 
7963         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
7964         THEN
7965 
7966             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
7967             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','reason');
7968             FND_MSG_PUB.Add;
7969 
7970         END IF;
7971 
7972         RETURN FALSE;
7973 
7974     WHEN OTHERS THEN
7975 
7976         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7977         THEN
7978             FND_MSG_PUB.Add_Exc_Msg
7979             (   G_PKG_NAME
7980             ,   'Reason'
7981             );
7982         END IF;
7983 
7984         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7985 
7986 END Reason;
7987 
7988 FUNCTION Reason_Name ( p_reason_name IN VARCHAR2 )
7989 RETURN BOOLEAN
7990 IS
7991 l_dummy                       VARCHAR2(10);
7992 BEGIN
7993 
7994     IF p_reason_name IS NULL OR
7995         p_reason_name = FND_API.G_MISS_CHAR
7996     THEN
7997         RETURN TRUE;
7998     END IF;
7999 
8000     --  SELECT  'VALID'
8001     --  INTO     l_dummy
8002     --  FROM     DB_TABLE
8003     --  WHERE    DB_COLUMN = p_reason_name;
8004 
8005     RETURN TRUE;
8006 
8007 EXCEPTION
8008 
8009     WHEN NO_DATA_FOUND THEN
8010 
8011         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8012         THEN
8013 
8014             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8015             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','reason_name');
8016             FND_MSG_PUB.Add;
8017 
8018         END IF;
8019 
8020         RETURN FALSE;
8021 
8022     WHEN OTHERS THEN
8023 
8024         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8025         THEN
8026             FND_MSG_PUB.Add_Exc_Msg
8027             (   G_PKG_NAME
8028             ,   'Reason_Name'
8029             );
8030         END IF;
8031 
8032         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8033 
8037 RETURN BOOLEAN
8034 END Reason_Name;
8035 
8036 FUNCTION Receiving_Account ( p_receiving_account_id IN NUMBER )
8038 IS
8039 l_dummy                       VARCHAR2(10);
8040 BEGIN
8041 
8042     RETURN TRUE;
8043 
8044 EXCEPTION
8045 
8046     WHEN NO_DATA_FOUND THEN
8047 
8048         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8049         THEN
8050 
8051             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8052             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','receiving_account');
8053             FND_MSG_PUB.Add;
8054 
8055         END IF;
8056 
8057         RETURN FALSE;
8058 
8059     WHEN OTHERS THEN
8060 
8061         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8062         THEN
8063             FND_MSG_PUB.Add_Exc_Msg
8064             (   G_PKG_NAME
8065             ,   'Receiving_Account'
8066             );
8067         END IF;
8068 
8069         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8070 
8071 END Receiving_Account;
8072 
8073 FUNCTION Reference ( p_reference IN VARCHAR2 )
8074 RETURN BOOLEAN
8075 IS
8076 l_dummy                       VARCHAR2(10);
8077 BEGIN
8078 
8079     RETURN TRUE;
8080 
8081 EXCEPTION
8082 
8083     WHEN NO_DATA_FOUND THEN
8084 
8085         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8086         THEN
8087 
8088             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8089             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','reference');
8090             FND_MSG_PUB.Add;
8091 
8092         END IF;
8093 
8094         RETURN FALSE;
8095 
8096     WHEN OTHERS THEN
8097 
8098         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8099         THEN
8100             FND_MSG_PUB.Add_Exc_Msg
8101             (   G_PKG_NAME
8102             ,   'Reference'
8103             );
8104         END IF;
8105 
8106         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8107 
8108 END Reference;
8109 
8110 FUNCTION Resource_Code ( p_resource_code IN VARCHAR2,
8111                          p_organization_id IN NUMBER)
8112 RETURN BOOLEAN
8113 IS
8114 l_dummy                       VARCHAR2(10);
8115 BEGIN
8116 
8117     IF p_resource_code IS NULL OR
8118         p_resource_code = FND_API.G_MISS_CHAR
8119     THEN
8120         RETURN TRUE;
8121     END IF;
8122 
8123     SELECT  'VALID'
8124     INTO     l_dummy
8125     FROM     bom_resources
8126     WHERE    resource_code = p_resource_code
8127     AND      organization_id = p_organization_id;
8128 
8129     RETURN TRUE;
8130 
8131 EXCEPTION
8132 
8133     WHEN NO_DATA_FOUND THEN
8134 
8135         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8136         THEN
8137 
8138             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8139             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','resource_code');
8140             FND_MSG_PUB.Add;
8141 
8142         END IF;
8143 
8144         RETURN FALSE;
8145 
8146     WHEN OTHERS THEN
8147 
8148         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8149         THEN
8150             FND_MSG_PUB.Add_Exc_Msg
8151             (   G_PKG_NAME
8152             ,   'Resource'
8153             );
8154         END IF;
8155 
8156         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8157 
8158 END Resource_Code;
8159 
8160 FUNCTION Resource_Id ( p_resource_id IN NUMBER )
8161 RETURN BOOLEAN
8162 IS
8163 l_dummy                       VARCHAR2(10);
8164 BEGIN
8165 
8166     IF p_resource_id IS NULL OR
8167         p_resource_id = FND_API.G_MISS_NUM
8168     THEN
8169         RETURN TRUE;
8170     END IF;
8171 
8172    SELECT  'VALID'
8173      INTO     l_dummy
8174      FROM     bom_resources
8175      WHERE    resource_id = p_resource_id;
8176 
8177     RETURN TRUE;
8178 
8179 EXCEPTION
8180 
8181     WHEN NO_DATA_FOUND THEN
8182 
8183         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8184         THEN
8185 
8186             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8187             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','resource');
8188             FND_MSG_PUB.Add;
8189 
8190         END IF;
8191 
8192         RETURN FALSE;
8193 
8194     WHEN OTHERS THEN
8195 
8196         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8197         THEN
8198             FND_MSG_PUB.Add_Exc_Msg
8199             (   G_PKG_NAME
8200             ,   'Resource'
8201             );
8202         END IF;
8203 
8204         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8205 
8206 END Resource_Id;
8207 
8208 FUNCTION Resource_Seq_Num ( p_resource_seq_num IN NUMBER )
8209 RETURN BOOLEAN
8210 IS
8211 l_dummy                       VARCHAR2(10);
8212 BEGIN
8213 
8214     IF p_resource_seq_num IS NULL OR
8215         p_resource_seq_num = FND_API.G_MISS_NUM
8219 
8216     THEN
8217         RETURN TRUE;
8218     END IF;
8220     --  SELECT  'VALID'
8221     --  INTO     l_dummy
8222     --  FROM     DB_TABLE
8223     --  WHERE    DB_COLUMN = p_resource_seq_num;
8224 
8225     RETURN TRUE;
8226 
8227 EXCEPTION
8228 
8229     WHEN NO_DATA_FOUND THEN
8230 
8231         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8232         THEN
8233 
8234             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8235             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','resource_seq_num');
8236             FND_MSG_PUB.Add;
8237 
8238         END IF;
8239 
8240         RETURN FALSE;
8241 
8242     WHEN OTHERS THEN
8243 
8244         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8245         THEN
8246             FND_MSG_PUB.Add_Exc_Msg
8247             (   G_PKG_NAME
8248             ,   'Resource_Seq_Num'
8249             );
8250         END IF;
8251 
8252         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8253 
8254 END Resource_Seq_Num;
8255 
8256 FUNCTION Resource_Type ( p_resource_type IN NUMBER )
8257 RETURN BOOLEAN
8258 IS
8259 l_dummy                       VARCHAR2(10);
8260 BEGIN
8261 
8262     IF p_resource_type IS NULL OR
8263         p_resource_type = FND_API.G_MISS_NUM
8264     THEN
8265         RETURN TRUE;
8266     END IF;
8267 
8268     SELECT  'VALID'
8269       INTO     l_dummy
8270       FROM     MFG_LOOKUPS
8271       WHERE    lookup_type = 'BOM_RESOURCE_TYPE'
8272       AND      lookup_code = p_resource_type;
8273 
8274     RETURN TRUE;
8275 
8276 EXCEPTION
8277 
8278     WHEN NO_DATA_FOUND THEN
8279 
8280         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8281         THEN
8282 
8283             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8284             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','resource_type');
8285             FND_MSG_PUB.Add;
8286 
8287         END IF;
8288 
8289         RETURN FALSE;
8290 
8291     WHEN OTHERS THEN
8292 
8293         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8294         THEN
8295             FND_MSG_PUB.Add_Exc_Msg
8296             (   G_PKG_NAME
8297             ,   'Resource_Type'
8298             );
8299         END IF;
8300 
8301         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8302 
8303 END Resource_Type;
8304 
8305 FUNCTION Standard_Rate ( p_standard_rate_flag IN NUMBER )
8306 RETURN BOOLEAN
8307 IS
8308 l_dummy                       VARCHAR2(10);
8309 BEGIN
8310 
8311     IF p_standard_rate_flag IS NULL OR
8312         p_standard_rate_flag = FND_API.G_MISS_NUM
8313     THEN
8314         RETURN TRUE;
8315     END IF;
8316 
8317     SELECT  'VALID'
8318       INTO     l_dummy
8319       FROM     MFG_LOOKUPS
8320       WHERE    lookup_type = 'SYS_YES_NO'
8321       AND      lookup_code = p_standard_rate_flag;
8322 
8323     RETURN TRUE;
8324 
8325 EXCEPTION
8326 
8327     WHEN NO_DATA_FOUND THEN
8328 
8329         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8330         THEN
8331 
8332             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8333             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','standard_rate');
8334             FND_MSG_PUB.Add;
8335 
8336         END IF;
8337 
8338         RETURN FALSE;
8339 
8340     WHEN OTHERS THEN
8341 
8342         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8343         THEN
8344             FND_MSG_PUB.Add_Exc_Msg
8345             (   G_PKG_NAME
8346             ,   'Standard_Rate'
8347             );
8348         END IF;
8349 
8350         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8351 
8352 END Standard_Rate;
8353 
8354 FUNCTION Task_Number ( p_task_number IN VARCHAR2 )
8355 RETURN BOOLEAN
8356 IS
8357 l_dummy                       VARCHAR2(10);
8358 BEGIN
8359 
8360     IF p_task_number IS NULL OR
8361         p_task_number = FND_API.G_MISS_CHAR
8362     THEN
8363         RETURN TRUE;
8364     END IF;
8365 
8366     --  SELECT  'VALID'
8367     --  INTO     l_dummy
8368     --  FROM     DB_TABLE
8369     --  WHERE    DB_COLUMN = p_task_number;
8370 
8371     RETURN TRUE;
8372 
8373 EXCEPTION
8374 
8375     WHEN NO_DATA_FOUND THEN
8376 
8377         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8378         THEN
8379 
8380             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8381             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','task_number');
8382             FND_MSG_PUB.Add;
8383 
8384         END IF;
8385 
8386         RETURN FALSE;
8387 
8388     WHEN OTHERS THEN
8389 
8390         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8391         THEN
8392             FND_MSG_PUB.Add_Exc_Msg
8393             (   G_PKG_NAME
8394             ,   'Task_Number'
8395             );
8396         END IF;
8400 END Task_Number;
8397 
8398         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8399 
8401 
8402 FUNCTION Transaction ( p_transaction_id IN NUMBER )
8403 RETURN BOOLEAN
8404 IS
8405 l_dummy                       VARCHAR2(10);
8406 BEGIN
8407 
8408     IF p_transaction_id IS NULL OR
8409         p_transaction_id = FND_API.G_MISS_NUM
8410     THEN
8411         RETURN TRUE;
8412     END IF;
8413 
8414     --  SELECT  'VALID'
8415     --  INTO     l_dummy
8416     --  FROM     DB_TABLE
8417     --  WHERE    DB_COLUMN = p_transaction_id;
8418 
8419     RETURN TRUE;
8420 
8421 EXCEPTION
8422 
8423     WHEN NO_DATA_FOUND THEN
8424 
8425         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8426         THEN
8427 
8428             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8429             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction');
8430             FND_MSG_PUB.Add;
8431 
8432         END IF;
8433 
8434         RETURN FALSE;
8435 
8436     WHEN OTHERS THEN
8437 
8438         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8439         THEN
8440             FND_MSG_PUB.Add_Exc_Msg
8441             (   G_PKG_NAME
8442             ,   'Transaction'
8443             );
8444         END IF;
8445 
8446         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8447 
8448 END Transaction;
8449 
8450 FUNCTION Usage_Rate_Or_Amount ( p_usage_rate_or_amount IN NUMBER )
8451 RETURN BOOLEAN
8452 IS
8453 l_dummy                       VARCHAR2(10);
8454 BEGIN
8455 
8456     IF p_usage_rate_or_amount IS NULL OR
8457         p_usage_rate_or_amount = FND_API.G_MISS_NUM
8458     THEN
8459         RETURN TRUE;
8460     END IF;
8461 
8462     --  SELECT  'VALID'
8463     --  INTO     l_dummy
8464     --  FROM     DB_TABLE
8465     --  WHERE    DB_COLUMN = p_usage_rate_or_amount;
8466 
8467     RETURN TRUE;
8468 
8469 EXCEPTION
8470 
8471     WHEN NO_DATA_FOUND THEN
8472 
8473         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8474         THEN
8475 
8476             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8477             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','usage_rate_or_amount');
8478             FND_MSG_PUB.Add;
8479 
8480         END IF;
8481 
8482         RETURN FALSE;
8483 
8484     WHEN OTHERS THEN
8485 
8486         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8487         THEN
8488             FND_MSG_PUB.Add_Exc_Msg
8489             (   G_PKG_NAME
8490             ,   'Usage_Rate_Or_Amount'
8491             );
8492         END IF;
8493 
8494         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8495 
8496 END Usage_Rate_Or_Amount;
8497 
8498 /*
8499 FUNCTION Fm_Department_Code ( p_fm_department_code IN VARCHAR2,
8500                          p_organization_id    IN NUMBER )
8501 RETURN BOOLEAN
8502 IS
8503 l_dummy                       VARCHAR2(10);
8504 BEGIN
8505 
8506     IF p_fm_department_code IS NULL OR
8507         p_fm_department_code = FND_API.G_MISS_CHAR
8508     THEN
8509         RETURN TRUE;
8510     END IF;
8511 
8512     SELECT  'VALID'
8513     INTO     l_dummy
8514     FROM     bom_departments
8515     WHERE    department_code = p_fm_department_code
8516     AND      organization_id = p_organization_id;
8517 
8518     RETURN TRUE;
8519 
8520 EXCEPTION
8521 
8522     WHEN NO_DATA_FOUND THEN
8523 
8524         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8525         THEN
8526 
8527             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8528             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','fm_department_code');
8529             FND_MSG_PUB.Add;
8530 
8531         END IF;
8532 
8533         RETURN FALSE;
8534 
8535     WHEN OTHERS THEN
8536 
8537         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8538         THEN
8539             FND_MSG_PUB.Add_Exc_Msg
8540             (   G_PKG_NAME
8541             ,   'Fm_Department_code'
8542             );
8543         END IF;
8544 
8545         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8546 
8547 END Fm_Department_Code;
8548 */
8549 /*
8550 FUNCTION Fm_Department_Id ( p_fm_department_id IN NUMBER )
8551 RETURN BOOLEAN
8552 IS
8553 l_dummy                       VARCHAR2(10);
8554 BEGIN
8555 
8556     IF p_fm_department_id IS NULL OR
8557         p_fm_department_id = FND_API.G_MISS_NUM
8558     THEN
8559         RETURN TRUE;
8560     END IF;
8561 
8562     SELECT  'VALID'
8563     INTO     l_dummy
8564     FROM     bom_departments
8565     WHERE    department_id = p_fm_department_id;
8566 
8567     RETURN TRUE;
8568 
8569 EXCEPTION
8570 
8571     WHEN NO_DATA_FOUND THEN
8572 
8573         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8574         THEN
8575 
8576             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8580         END IF;
8577             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','fm_department_id');
8578             FND_MSG_PUB.Add;
8579 
8581 
8582         RETURN FALSE;
8583 
8584     WHEN OTHERS THEN
8585 
8586         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8587         THEN
8588             FND_MSG_PUB.Add_Exc_Msg
8589             (   G_PKG_NAME
8590             ,   'Fm_Department_id'
8591             );
8592         END IF;
8593 
8594         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8595 
8596 END Fm_Department_Id;
8597 */
8598 
8599 FUNCTION Intraop_Step_Type ( p_intraop_step_type IN NUMBER,
8600                              p_attribute_name       IN VARCHAR2 DEFAULT NULL)
8601 RETURN BOOLEAN
8602 IS
8603 l_dummy                       VARCHAR2(10);
8604 BEGIN
8605 
8606     IF p_intraop_step_type IS NULL OR
8607         p_intraop_step_type = FND_API.G_MISS_NUM
8608     THEN
8609         RETURN TRUE;
8610     END IF;
8611 
8612     SELECT  'VALID'
8613     INTO     l_dummy
8614     FROM     mfg_lookups ml
8615     WHERE    ml.lookup_code = p_intraop_step_type
8616     AND      ml.lookup_type = 'WIP_INTRAOPERATION_STEP';
8617 
8618     RETURN TRUE;
8619 
8620 EXCEPTION
8621 
8622     WHEN NO_DATA_FOUND THEN
8623 
8624         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8625         THEN
8626 
8627             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8628             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',nvl(p_attribute_name,'Intraop_Step_Type'));
8629             FND_MSG_PUB.Add;
8630 
8631         END IF;
8632 
8633         RETURN FALSE;
8634 
8635     WHEN OTHERS THEN
8636 
8637         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8638         THEN
8639             FND_MSG_PUB.Add_Exc_Msg
8640             (   G_PKG_NAME
8641             ,   'Intraop_Step_Type'
8642             );
8643         END IF;
8644 
8645         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8646 
8647 END Intraop_Step_Type;
8648 
8649 FUNCTION Operation_Code ( p_operation_code IN VARCHAR2,
8650                           p_attribute_name IN VARCHAR2 DEFAULT NULL)
8651 RETURN BOOLEAN
8652 IS
8653 l_dummy                       VARCHAR2(10);
8654 BEGIN
8655 
8656     IF p_operation_code IS NULL OR
8657         p_operation_code = FND_API.G_MISS_CHAR
8658     THEN
8659         RETURN TRUE;
8660     END IF;
8661 
8662 
8663     SELECT  'VALID'
8664     INTO     l_dummy
8665     FROM     bom_standard_operations
8666     WHERE    operation_code = p_operation_code;
8667 
8668     RETURN TRUE;
8669 
8670 EXCEPTION
8671 
8672     WHEN NO_DATA_FOUND THEN
8673 
8674         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8675         THEN
8676 
8677             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8678             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',nvl(p_attribute_name,'Operation_Code'));
8679             FND_MSG_PUB.Add;
8680 
8681         END IF;
8682 
8683         RETURN FALSE;
8684 
8685     WHEN OTHERS THEN
8686 
8687         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8688         THEN
8689             FND_MSG_PUB.Add_Exc_Msg
8690             (   G_PKG_NAME
8691             ,   'Operation_Code'
8692             );
8693         END IF;
8694 
8695         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8696 
8697 END Operation_Code;
8698 
8699 /*
8700 FUNCTION Operation_Seq_Num ( p_operation_seq_num IN NUMBER
8701                              p_attribute_name    IN VARCHAR2 )
8702 RETURN BOOLEAN
8703 IS
8704 l_dummy                       VARCHAR2(10);
8705 BEGIN
8706 
8707     IF p_operation_seq_num IS NULL OR
8708         p_operation_seq_num = FND_API.G_MISS_NUM
8709     THEN
8710         RETURN TRUE;
8711     END IF;
8712 
8713     --  SELECT  'VALID'
8714     --  INTO     l_dummy
8715     --  FROM     DB_TABLE
8716     --  WHERE    DB_COLUMN = p_fm_operation_seq_num;
8717 
8718     RETURN TRUE;
8719 
8720 EXCEPTION
8721 
8722     WHEN NO_DATA_FOUND THEN
8723 
8724         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8725         THEN
8726 
8727             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8728             FND_MESSAGE.SET_TOKEN('ATTRIBUTE',p_attribute_name);
8729             FND_MSG_PUB.Add;
8730 
8731         END IF;
8732 
8733         RETURN FALSE;
8734 
8735     WHEN OTHERS THEN
8736 
8737         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8738         THEN
8739             FND_MSG_PUB.Add_Exc_Msg
8740             (   G_PKG_NAME
8741             ,   'Operation_Seq_Num'
8742             );
8743         END IF;
8744 
8745         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8746 
8747 END Operation_Seq_Num;
8748 */
8749 
8750 FUNCTION Kanban ( p_kanban_id IN NUMBER )
8754 BEGIN
8751 RETURN BOOLEAN
8752 IS
8753 l_dummy                       VARCHAR2(10);
8755 
8756     IF p_kanban_id IS NULL OR
8757         p_kanban_id = FND_API.G_MISS_NUM
8758     THEN
8759         RETURN TRUE;
8760     END IF;
8761 
8762     --  SELECT  'VALID'
8763     --  INTO     l_dummy
8764     --  FROM     DB_TABLE
8765     --  WHERE    DB_COLUMN = p_kanban_id;
8766 
8767     RETURN TRUE;
8768 
8769 EXCEPTION
8770 
8771     WHEN NO_DATA_FOUND THEN
8772 
8773         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8774         THEN
8775 
8776             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8777             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','kanban');
8778             FND_MSG_PUB.Add;
8779 
8780         END IF;
8781 
8782         RETURN FALSE;
8783 
8784     WHEN OTHERS THEN
8785 
8786         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8787         THEN
8788             FND_MSG_PUB.Add_Exc_Msg
8789             (   G_PKG_NAME
8790             ,   'Kanban'
8791             );
8792         END IF;
8793 
8794         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8795 
8796 END Kanban;
8797 
8798 FUNCTION Overcompletion ( p_overcompletion_flag IN VARCHAR2 )
8799 RETURN BOOLEAN
8800 IS
8801 l_dummy                       VARCHAR2(10);
8802 BEGIN
8803 
8804     IF p_overcompletion_flag IS NULL OR
8805         p_overcompletion_flag = FND_API.G_MISS_CHAR
8806     THEN
8807         RETURN TRUE;
8808     END IF;
8809 
8810     --  SELECT  'VALID'
8811     --  INTO     l_dummy
8812     --  FROM     DB_TABLE
8813     --  WHERE    DB_COLUMN = p_overcompletion_flag;
8814 
8815     RETURN TRUE;
8816 
8817 EXCEPTION
8818 
8819     WHEN NO_DATA_FOUND THEN
8820 
8821         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8822         THEN
8823 
8824             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8825             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','overcompletion');
8826             FND_MSG_PUB.Add;
8827 
8828         END IF;
8829 
8830         RETURN FALSE;
8831 
8832     WHEN OTHERS THEN
8833 
8834         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8835         THEN
8836             FND_MSG_PUB.Add_Exc_Msg
8837             (   G_PKG_NAME
8838             ,   'Overcompletion'
8839             );
8840         END IF;
8841 
8842         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8843 
8844 END Overcompletion;
8845 
8846 FUNCTION Overmove_Txn_Qty ( p_overmove_txn_qty IN NUMBER )
8847 RETURN BOOLEAN
8848 IS
8849 l_dummy                       VARCHAR2(10);
8850 BEGIN
8851 
8852     IF p_overmove_txn_qty IS NULL OR
8853         p_overmove_txn_qty = FND_API.G_MISS_NUM
8854     THEN
8855         RETURN TRUE;
8856     END IF;
8857 
8858     --  SELECT  'VALID'
8859     --  INTO     l_dummy
8860     --  FROM     DB_TABLE
8861     --  WHERE    DB_COLUMN = p_overmove_txn_qty;
8862 
8863     RETURN TRUE;
8864 
8865 EXCEPTION
8866 
8867     WHEN NO_DATA_FOUND THEN
8868 
8869         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8870         THEN
8871 
8872             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8873             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','overmove_txn_qty');
8874             FND_MSG_PUB.Add;
8875 
8876         END IF;
8877 
8878         RETURN FALSE;
8879 
8880     WHEN OTHERS THEN
8881 
8882         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8883         THEN
8884             FND_MSG_PUB.Add_Exc_Msg
8885             (   G_PKG_NAME
8886             ,   'Overmove_Txn_Qty'
8887             );
8888         END IF;
8889 
8890         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8891 
8892 END Overmove_Txn_Qty;
8893 
8894 FUNCTION Scrap_Account ( p_scrap_account_id IN NUMBER )
8895 RETURN BOOLEAN
8896 IS
8897 l_dummy                       VARCHAR2(10);
8898 BEGIN
8899 
8900     IF p_scrap_account_id IS NULL OR
8901         p_scrap_account_id = FND_API.G_MISS_NUM
8902     THEN
8903         RETURN TRUE;
8904     END IF;
8905 
8906     SELECT  'VALID'
8907     INTO     l_dummy
8908     FROM     gl_code_combinations
8909     WHERE    code_combination_id = p_scrap_account_id;
8910 
8911     RETURN TRUE;
8912 
8913 EXCEPTION
8914 
8915     WHEN NO_DATA_FOUND THEN
8916 
8917         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8918         THEN
8919 
8920             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8921             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','scrap_account');
8922             FND_MSG_PUB.Add;
8923 
8924         END IF;
8925 
8926         RETURN FALSE;
8927 
8928     WHEN OTHERS THEN
8929 
8930         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8931         THEN
8932             FND_MSG_PUB.Add_Exc_Msg
8936         END IF;
8933             (   G_PKG_NAME
8934             ,   'Scrap_Account'
8935             );
8937 
8938         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8939 
8940 END Scrap_Account;
8941 
8942 /*
8943 FUNCTION To_Department_Code ( p_to_department_code IN VARCHAR2 ,
8944                               p_organization_id    IN NUMBER)
8945 RETURN BOOLEAN
8946 IS
8947 l_dummy                       VARCHAR2(10);
8948 BEGIN
8949 
8950     IF p_to_department_code IS NULL OR
8951         p_to_department_code = FND_API.G_MISS_CHAR
8952     THEN
8953         RETURN TRUE;
8954     END IF;
8955 
8956     SELECT  'VALID'
8957     INTO     l_dummy
8958     FROM     bom_departments
8959     WHERE    department_code = p_to_department_code
8960     AND      organization_id = p_organization_id;
8961 
8962     RETURN TRUE;
8963 
8964 EXCEPTION
8965 
8966     WHEN NO_DATA_FOUND THEN
8967 
8968         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
8969         THEN
8970 
8971             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
8972             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','to_department_code');
8973             FND_MSG_PUB.Add;
8974 
8975         END IF;
8976 
8977         RETURN FALSE;
8978 
8979     WHEN OTHERS THEN
8980 
8981         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8982         THEN
8983             FND_MSG_PUB.Add_Exc_Msg
8984             (   G_PKG_NAME
8985             ,   'To_Department_Code'
8986             );
8987         END IF;
8988 
8989         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8990 
8991 END To_Department_Code;
8992 */
8993 
8994 /*
8995 FUNCTION To_Department_Id ( p_to_department_id IN NUMBER )
8996 RETURN BOOLEAN
8997 IS
8998 l_dummy                       VARCHAR2(10);
8999 BEGIN
9000 
9001     IF p_to_department_id IS NULL OR
9002         p_to_department_id = FND_API.G_MISS_NUM
9003     THEN
9004         RETURN TRUE;
9005     END IF;
9006 
9007     SELECT  'VALID'
9008     INTO     l_dummy
9009     FROM     bom_departments
9010     WHERE    department_id = p_to_department_id;
9011 
9012     RETURN TRUE;
9013 
9014 EXCEPTION
9015 
9016     WHEN NO_DATA_FOUND THEN
9017 
9018         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
9019         THEN
9020 
9021             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
9022             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','to_department_id');
9023             FND_MSG_PUB.Add;
9024 
9025         END IF;
9026 
9027         RETURN FALSE;
9028 
9029     WHEN OTHERS THEN
9030 
9031         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9032         THEN
9033             FND_MSG_PUB.Add_Exc_Msg
9034             (   G_PKG_NAME
9035             ,   'To_Department_Id'
9036             );
9037         END IF;
9038 
9039         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9040 
9041 END To_Department_Id;
9042 */
9043 
9044 /*
9045 FUNCTION To_Intraop_Step_Type ( p_to_intraop_step_type IN NUMBER )
9046 RETURN BOOLEAN
9047 IS
9048 l_dummy                       VARCHAR2(10);
9049 BEGIN
9050 
9051     IF p_to_intraop_step_type IS NULL OR
9052         p_to_intraop_step_type = FND_API.G_MISS_NUM
9053     THEN
9054         RETURN TRUE;
9055     END IF;
9056 
9057     SELECT  'VALID'
9058     INTO     l_dummy
9059     FROM     mfg_lookups ml
9060     WHERE    ml.lookup_code = p_to_intraop_step_type
9061     AND      ml.lookup_type = 'WIP_INTRAOPERATION_STEP';
9062 
9063     RETURN TRUE;
9064 
9065 EXCEPTION
9066 
9067     WHEN NO_DATA_FOUND THEN
9068 
9069         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
9070         THEN
9071 
9072             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
9073             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','to_intraop_step_type');
9074             FND_MSG_PUB.Add;
9075 
9076         END IF;
9077 
9078         RETURN FALSE;
9079 
9080     WHEN OTHERS THEN
9081 
9082         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9083         THEN
9084             FND_MSG_PUB.Add_Exc_Msg
9085             (   G_PKG_NAME
9086             ,   'To_Intraop_Step_Type'
9087             );
9088         END IF;
9089 
9090         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9091 
9092 END To_Intraop_Step_Type;
9093 */
9094 
9095 FUNCTION To_Operation ( p_to_operation_code IN VARCHAR2 )
9096 RETURN BOOLEAN
9097 IS
9098 l_dummy                       VARCHAR2(10);
9099 BEGIN
9100 
9101     IF p_to_operation_code IS NULL OR
9102         p_to_operation_code = FND_API.G_MISS_CHAR
9103     THEN
9104         RETURN TRUE;
9105     END IF;
9106 
9107     SELECT  'VALID'
9108     INTO     l_dummy
9109     FROM     bom_standard_operations
9110     WHERE    operation_code = p_to_operation_code;
9111 
9112     RETURN TRUE;
9113 
9114 EXCEPTION
9115 
9116     WHEN NO_DATA_FOUND THEN
9117 
9121             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
9118         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
9119         THEN
9120 
9122             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','to_operation_code');
9123             FND_MSG_PUB.Add;
9124 
9125         END IF;
9126 
9127         RETURN FALSE;
9128 
9129     WHEN OTHERS THEN
9130 
9131         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9132         THEN
9133             FND_MSG_PUB.Add_Exc_Msg
9134             (   G_PKG_NAME
9135             ,   'To_Operation'
9136             );
9137         END IF;
9138 
9139         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9140 
9141 END To_Operation;
9142 
9143 FUNCTION To_Operation_Seq_Num ( p_to_operation_seq_num IN NUMBER )
9144 RETURN BOOLEAN
9145 IS
9146 l_dummy                       VARCHAR2(10);
9147 BEGIN
9148 
9149     IF p_to_operation_seq_num IS NULL OR
9150         p_to_operation_seq_num = FND_API.G_MISS_NUM
9151     THEN
9152         RETURN TRUE;
9153     END IF;
9154 
9155     --  SELECT  'VALID'
9156     --  INTO     l_dummy
9157     --  FROM     DB_TABLE
9158     --  WHERE    DB_COLUMN = p_to_operation_seq_num;
9159 
9160     RETURN TRUE;
9161 
9162 EXCEPTION
9163 
9164     WHEN NO_DATA_FOUND THEN
9165 
9166         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
9167         THEN
9168 
9169             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
9170             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','to_operation_seq_num');
9171             FND_MSG_PUB.Add;
9172 
9173         END IF;
9174 
9175         RETURN FALSE;
9176 
9177     WHEN OTHERS THEN
9178 
9179         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9180         THEN
9181             FND_MSG_PUB.Add_Exc_Msg
9182             (   G_PKG_NAME
9183             ,   'To_Operation_Seq_Num'
9184             );
9185         END IF;
9186 
9187         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9188 
9189 END To_Operation_Seq_Num;
9190 
9191 FUNCTION Transaction_Link ( p_transaction_link_id IN NUMBER )
9192 RETURN BOOLEAN
9193 IS
9194 l_dummy                       VARCHAR2(10);
9195 BEGIN
9196 
9197     IF p_transaction_link_id IS NULL OR
9198         p_transaction_link_id = FND_API.G_MISS_NUM
9199     THEN
9200         RETURN TRUE;
9201     END IF;
9202 
9203     --  SELECT  'VALID'
9204     --  INTO     l_dummy
9205     --  FROM     DB_TABLE
9206     --  WHERE    DB_COLUMN = p_transaction_link_id;
9207 
9208     RETURN TRUE;
9209 
9210 EXCEPTION
9211 
9212     WHEN NO_DATA_FOUND THEN
9213 
9214         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
9215         THEN
9216 
9217             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
9218             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_link');
9219             FND_MSG_PUB.Add;
9220 
9221         END IF;
9222 
9223         RETURN FALSE;
9224 
9225     WHEN OTHERS THEN
9226 
9227         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9228         THEN
9229             FND_MSG_PUB.Add_Exc_Msg
9230             (   G_PKG_NAME
9231             ,   'Transaction_Link'
9232             );
9233         END IF;
9234 
9235         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9236 
9237 END Transaction_Link;
9238 
9239 FUNCTION Transaction_Type ( p_transaction_type_id IN NUMBER,
9240                             p_lookup_type IN VARCHAR2)
9241 RETURN BOOLEAN
9242 IS
9243 l_dummy                       VARCHAR2(10);
9244 BEGIN
9245 
9246     IF p_transaction_type_id IS NULL OR
9247         p_transaction_type_id = FND_API.G_MISS_NUM
9248     THEN
9249         RETURN TRUE;
9250     END IF;
9251 
9252     SELECT  'VALID'
9253     INTO     l_dummy
9254     FROM     mfg_lookups ml
9255     WHERE    ml.lookup_code = p_transaction_type_id
9256     AND      ml.lookup_type = p_lookup_type;
9257 
9258     RETURN TRUE;
9259 
9260 EXCEPTION
9261 
9262     WHEN NO_DATA_FOUND THEN
9263 
9264         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
9265         THEN
9266 
9267             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
9268             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_type');
9269             FND_MSG_PUB.Add;
9270 
9271         END IF;
9272 
9273         RETURN FALSE;
9274 
9275     WHEN OTHERS THEN
9276 
9277         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9278         THEN
9279             FND_MSG_PUB.Add_Exc_Msg
9280             (   G_PKG_NAME
9281             ,   'Transaction_Type'
9282             );
9283         END IF;
9284 
9285         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9286 
9287 END Transaction_Type;
9288 
9289 FUNCTION Transaction_Uom ( p_transaction_uom IN VARCHAR2 )
9290 RETURN BOOLEAN
9291 IS
9292 l_dummy                       VARCHAR2(10);
9293 BEGIN
9294 
9295     IF p_transaction_uom IS NULL OR
9296         p_transaction_uom = FND_API.G_MISS_CHAR
9297     THEN
9298         RETURN TRUE;
9299     END IF;
9300 
9301     SELECT  'VALID'
9302     INTO     l_dummy
9303     FROM     mtl_units_of_measure
9304     WHERE    uom_code = p_transaction_uom;
9305 
9306     RETURN TRUE;
9307 
9308 EXCEPTION
9309 
9310     WHEN NO_DATA_FOUND THEN
9311 
9312         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
9313         THEN
9314 
9315             FND_MESSAGE.SET_NAME('WIP','WIP_INVALID_ATTRIBUTE');
9316             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_uom');
9317             FND_MSG_PUB.Add;
9318 
9319         END IF;
9320 
9321         RETURN FALSE;
9322 
9323     WHEN OTHERS THEN
9324 
9325         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9326         THEN
9327             FND_MSG_PUB.Add_Exc_Msg
9328             (   G_PKG_NAME
9329             ,   'Transaction_Uom'
9330             );
9331         END IF;
9332 
9333         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9334 
9335 END Transaction_Uom;
9336 
9337 
9338 --  END GEN validate
9339 
9340 END WIP_Validate;