DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_TROHDR_UTIL

Source


1 PACKAGE BODY inv_trohdr_util AS
2   /* $Header: INVUTRHB.pls 120.0 2005/05/25 06:23:59 appldev noship $ */
3 
4   --  Global constant holding the package name
5 
6   g_pkg_name CONSTANT VARCHAR2(30) := 'INV_Trohdr_Util';
7 
8   --  Procedure Clear_Dependent_Attr
9 
10   PROCEDURE clear_dependent_attr(
11     p_attr_id        IN     NUMBER := fnd_api.g_miss_num
12   , p_trohdr_rec     IN     inv_move_order_pub.trohdr_rec_type
13   , p_old_trohdr_rec IN     inv_move_order_pub.trohdr_rec_type := inv_move_order_pub.g_miss_trohdr_rec
14   , x_trohdr_rec     IN OUT    NOCOPY inv_move_order_pub.trohdr_rec_type
15   ) IS
16     l_index        NUMBER                      := 0;
17     l_src_attr_tbl inv_globals.number_tbl_type;
18     l_dep_attr_tbl inv_globals.number_tbl_type;
19   BEGIN
20     --  Load out record
21 
22     x_trohdr_rec  := p_trohdr_rec;
23 
24     --  If attr_id is missing compare old and new records and for
25     --  every changed attribute clear its dependent fields.
26 
27     IF p_attr_id = fnd_api.g_miss_num THEN
28       IF NOT inv_globals.equal(p_trohdr_rec.attribute1, p_old_trohdr_rec.attribute1) THEN
29         l_index                  := l_index + 1;
30         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute1;
31       END IF;
32 
33       IF NOT inv_globals.equal(p_trohdr_rec.attribute10, p_old_trohdr_rec.attribute10) THEN
34         l_index                  := l_index + 1;
35         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute10;
36       END IF;
37 
38       IF NOT inv_globals.equal(p_trohdr_rec.attribute11, p_old_trohdr_rec.attribute11) THEN
39         l_index                  := l_index + 1;
40         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute11;
41       END IF;
42 
43       IF NOT inv_globals.equal(p_trohdr_rec.attribute12, p_old_trohdr_rec.attribute12) THEN
44         l_index                  := l_index + 1;
45         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute12;
46       END IF;
47 
48       IF NOT inv_globals.equal(p_trohdr_rec.attribute13, p_old_trohdr_rec.attribute13) THEN
49         l_index                  := l_index + 1;
50         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute13;
51       END IF;
52 
53       IF NOT inv_globals.equal(p_trohdr_rec.attribute14, p_old_trohdr_rec.attribute14) THEN
54         l_index                  := l_index + 1;
55         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute14;
56       END IF;
57 
58       IF NOT inv_globals.equal(p_trohdr_rec.attribute15, p_old_trohdr_rec.attribute15) THEN
59         l_index                  := l_index + 1;
60         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute15;
61       END IF;
62 
63       IF NOT inv_globals.equal(p_trohdr_rec.attribute2, p_old_trohdr_rec.attribute2) THEN
64         l_index                  := l_index + 1;
65         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute2;
66       END IF;
67 
68       IF NOT inv_globals.equal(p_trohdr_rec.attribute3, p_old_trohdr_rec.attribute3) THEN
69         l_index                  := l_index + 1;
70         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute3;
71       END IF;
72 
73       IF NOT inv_globals.equal(p_trohdr_rec.attribute4, p_old_trohdr_rec.attribute4) THEN
74         l_index                  := l_index + 1;
75         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute4;
76       END IF;
77 
78       IF NOT inv_globals.equal(p_trohdr_rec.attribute5, p_old_trohdr_rec.attribute5) THEN
79         l_index                  := l_index + 1;
80         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute5;
81       END IF;
82 
83       IF NOT inv_globals.equal(p_trohdr_rec.attribute6, p_old_trohdr_rec.attribute6) THEN
84         l_index                  := l_index + 1;
85         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute6;
86       END IF;
87 
88       IF NOT inv_globals.equal(p_trohdr_rec.attribute7, p_old_trohdr_rec.attribute7) THEN
89         l_index                  := l_index + 1;
90         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute7;
91       END IF;
92 
93       IF NOT inv_globals.equal(p_trohdr_rec.attribute8, p_old_trohdr_rec.attribute8) THEN
94         l_index                  := l_index + 1;
95         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute8;
96       END IF;
97 
98       IF NOT inv_globals.equal(p_trohdr_rec.attribute9, p_old_trohdr_rec.attribute9) THEN
99         l_index                  := l_index + 1;
100         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute9;
101       END IF;
102 
103       IF NOT inv_globals.equal(p_trohdr_rec.attribute_category, p_old_trohdr_rec.attribute_category) THEN
104         l_index                  := l_index + 1;
105         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute_category;
106       END IF;
107 
108       IF NOT inv_globals.equal(p_trohdr_rec.created_by, p_old_trohdr_rec.created_by) THEN
109         l_index                  := l_index + 1;
110         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_created_by;
111       END IF;
112 
113       IF NOT inv_globals.equal(p_trohdr_rec.creation_date, p_old_trohdr_rec.creation_date) THEN
114         l_index                  := l_index + 1;
115         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_creation_date;
116       END IF;
117 
118       IF NOT inv_globals.equal(p_trohdr_rec.date_required, p_old_trohdr_rec.date_required) THEN
119         l_index                  := l_index + 1;
120         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_date_required;
121       END IF;
122 
123       IF NOT inv_globals.equal(p_trohdr_rec.description, p_old_trohdr_rec.description) THEN
124         l_index                  := l_index + 1;
125         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_description;
126       END IF;
127 
128       IF NOT inv_globals.equal(p_trohdr_rec.from_subinventory_code, p_old_trohdr_rec.from_subinventory_code) THEN
129         l_index                  := l_index + 1;
130         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_from_subinventory;
131       END IF;
132 
133       IF NOT inv_globals.equal(p_trohdr_rec.header_id, p_old_trohdr_rec.header_id) THEN
134         l_index                  := l_index + 1;
135         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_header;
136       END IF;
137 
138       IF NOT inv_globals.equal(p_trohdr_rec.header_status, p_old_trohdr_rec.header_status) THEN
139         l_index                  := l_index + 1;
140         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_header_status;
141       END IF;
142 
143       IF NOT inv_globals.equal(p_trohdr_rec.last_updated_by, p_old_trohdr_rec.last_updated_by) THEN
144         l_index                  := l_index + 1;
145         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_last_updated_by;
146       END IF;
147 
148       IF NOT inv_globals.equal(p_trohdr_rec.last_update_date, p_old_trohdr_rec.last_update_date) THEN
149         l_index                  := l_index + 1;
150         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_last_update_date;
151       END IF;
152 
153       IF NOT inv_globals.equal(p_trohdr_rec.last_update_login, p_old_trohdr_rec.last_update_login) THEN
154         l_index                  := l_index + 1;
155         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_last_update_login;
156       END IF;
157 
158       IF NOT inv_globals.equal(p_trohdr_rec.organization_id, p_old_trohdr_rec.organization_id) THEN
159         l_index                  := l_index + 1;
160         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_organization;
161       END IF;
162 
163       IF NOT inv_globals.equal(p_trohdr_rec.program_application_id, p_old_trohdr_rec.program_application_id) THEN
164         l_index                  := l_index + 1;
165         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_program_application;
166       END IF;
167 
168       IF NOT inv_globals.equal(p_trohdr_rec.program_id, p_old_trohdr_rec.program_id) THEN
169         l_index                  := l_index + 1;
170         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_program;
171       END IF;
172 
173       IF NOT inv_globals.equal(p_trohdr_rec.program_update_date, p_old_trohdr_rec.program_update_date) THEN
174         l_index                  := l_index + 1;
175         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_program_update_date;
176       END IF;
177 
178       IF NOT inv_globals.equal(p_trohdr_rec.request_id, p_old_trohdr_rec.request_id) THEN
179         l_index                  := l_index + 1;
180         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_request;
181       END IF;
182 
183       IF NOT inv_globals.equal(p_trohdr_rec.request_number, p_old_trohdr_rec.request_number) THEN
184         l_index                  := l_index + 1;
185         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_request_number;
186       END IF;
187 
188       IF NOT inv_globals.equal(p_trohdr_rec.status_date, p_old_trohdr_rec.status_date) THEN
189         l_index                  := l_index + 1;
190         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_status_date;
191       END IF;
192 
193       IF NOT inv_globals.equal(p_trohdr_rec.to_account_id, p_old_trohdr_rec.to_account_id) THEN
194         l_index                  := l_index + 1;
195         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_to_account;
196       END IF;
197 
198       IF NOT inv_globals.equal(p_trohdr_rec.to_subinventory_code, p_old_trohdr_rec.to_subinventory_code) THEN
199         l_index                  := l_index + 1;
200         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_to_subinventory;
201       END IF;
202 
203       IF NOT inv_globals.equal(p_trohdr_rec.move_order_type, p_old_trohdr_rec.move_order_type) THEN
204         l_index                  := l_index + 1;
205         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_move_order_type;
206       END IF;
207 
208       IF NOT inv_globals.equal(p_trohdr_rec.transaction_type_id, p_old_trohdr_rec.transaction_type_id) THEN
209         l_index                  := l_index + 1;
210         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_transaction_type;
211       END IF;
212 
213       IF NOT inv_globals.equal(p_trohdr_rec.ship_to_location_id, p_old_trohdr_rec.ship_to_location_id) THEN
214         l_index                  := l_index + 1;
215         l_src_attr_tbl(l_index)  := inv_trohdr_util.g_ship_to_location_id;
216       END IF;
217     ELSIF p_attr_id = g_attribute1 THEN
218       l_index                  := l_index + 1;
219       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute1;
220     ELSIF p_attr_id = g_attribute10 THEN
221       l_index                  := l_index + 1;
222       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute10;
223     ELSIF p_attr_id = g_attribute11 THEN
224       l_index                  := l_index + 1;
225       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute11;
226     ELSIF p_attr_id = g_attribute12 THEN
227       l_index                  := l_index + 1;
228       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute12;
229     ELSIF p_attr_id = g_attribute13 THEN
230       l_index                  := l_index + 1;
231       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute13;
232     ELSIF p_attr_id = g_attribute14 THEN
233       l_index                  := l_index + 1;
234       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute14;
235     ELSIF p_attr_id = g_attribute15 THEN
236       l_index                  := l_index + 1;
237       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute15;
238     ELSIF p_attr_id = g_attribute2 THEN
239       l_index                  := l_index + 1;
240       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute2;
241     ELSIF p_attr_id = g_attribute3 THEN
242       l_index                  := l_index + 1;
243       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute3;
244     ELSIF p_attr_id = g_attribute4 THEN
245       l_index                  := l_index + 1;
246       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute4;
247     ELSIF p_attr_id = g_attribute5 THEN
248       l_index                  := l_index + 1;
249       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute5;
250     ELSIF p_attr_id = g_attribute6 THEN
251       l_index                  := l_index + 1;
252       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute6;
253     ELSIF p_attr_id = g_attribute7 THEN
254       l_index                  := l_index + 1;
255       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute7;
256     ELSIF p_attr_id = g_attribute8 THEN
257       l_index                  := l_index + 1;
258       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute8;
259     ELSIF p_attr_id = g_attribute9 THEN
260       l_index                  := l_index + 1;
261       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute9;
262     ELSIF p_attr_id = g_attribute_category THEN
263       l_index                  := l_index + 1;
264       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_attribute_category;
265     ELSIF p_attr_id = g_created_by THEN
266       l_index                  := l_index + 1;
267       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_created_by;
268     ELSIF p_attr_id = g_creation_date THEN
269       l_index                  := l_index + 1;
270       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_creation_date;
271     ELSIF p_attr_id = g_date_required THEN
272       l_index                  := l_index + 1;
273       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_date_required;
274     ELSIF p_attr_id = g_description THEN
275       l_index                  := l_index + 1;
276       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_description;
277     ELSIF p_attr_id = g_from_subinventory THEN
278       l_index                  := l_index + 1;
279       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_from_subinventory;
280     ELSIF p_attr_id = g_header THEN
281       l_index                  := l_index + 1;
282       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_header;
283     ELSIF p_attr_id = g_header_status THEN
284       l_index                  := l_index + 1;
285       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_header_status;
286     ELSIF p_attr_id = g_last_updated_by THEN
287       l_index                  := l_index + 1;
288       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_last_updated_by;
289     ELSIF p_attr_id = g_last_update_date THEN
290       l_index                  := l_index + 1;
291       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_last_update_date;
292     ELSIF p_attr_id = g_last_update_login THEN
293       l_index                  := l_index + 1;
294       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_last_update_login;
295     ELSIF p_attr_id = g_organization THEN
296       l_index                  := l_index + 1;
297       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_organization;
298     ELSIF p_attr_id = g_program_application THEN
299       l_index                  := l_index + 1;
300       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_program_application;
301     ELSIF p_attr_id = g_program THEN
302       l_index                  := l_index + 1;
303       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_program;
304     ELSIF p_attr_id = g_program_update_date THEN
305       l_index                  := l_index + 1;
306       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_program_update_date;
307     ELSIF p_attr_id = g_request THEN
308       l_index                  := l_index + 1;
309       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_request;
310     ELSIF p_attr_id = g_request_number THEN
311       l_index                  := l_index + 1;
312       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_request_number;
313     ELSIF p_attr_id = g_status_date THEN
314       l_index                  := l_index + 1;
315       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_status_date;
316     ELSIF p_attr_id = g_to_account THEN
317       l_index                  := l_index + 1;
318       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_to_account;
319     ELSIF p_attr_id = g_to_subinventory THEN
320       l_index                  := l_index + 1;
321       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_to_subinventory;
322     ELSIF p_attr_id = g_move_order_type THEN
323       l_index                  := l_index + 1;
324       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_move_order_type;
325     ELSIF p_attr_id = g_transaction_type THEN
326       l_index                  := l_index + 1;
327       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_transaction_type;
328     ELSIF p_attr_id = g_ship_to_location_id THEN
329       l_index                  := l_index + 1;
330       l_src_attr_tbl(l_index)  := inv_trohdr_util.g_ship_to_location_id;
331     END IF;
332   END clear_dependent_attr;
333 
334   --  Procedure Apply_Attribute_Changes
335 
336   PROCEDURE apply_attribute_changes(p_trohdr_rec IN inv_move_order_pub.trohdr_rec_type, p_old_trohdr_rec IN inv_move_order_pub.trohdr_rec_type := inv_move_order_pub.g_miss_trohdr_rec, x_trohdr_rec IN OUT NOCOPY inv_move_order_pub.trohdr_rec_type) IS
337   BEGIN
338     --  Load out record
339 
340     x_trohdr_rec  := p_trohdr_rec;
341 
342     IF NOT inv_globals.equal(p_trohdr_rec.attribute1, p_old_trohdr_rec.attribute1) THEN
343       NULL;
344     END IF;
345 
346     IF NOT inv_globals.equal(p_trohdr_rec.attribute10, p_old_trohdr_rec.attribute10) THEN
347       NULL;
348     END IF;
349 
350     IF NOT inv_globals.equal(p_trohdr_rec.attribute11, p_old_trohdr_rec.attribute11) THEN
351       NULL;
352     END IF;
353 
354     IF NOT inv_globals.equal(p_trohdr_rec.attribute12, p_old_trohdr_rec.attribute12) THEN
355       NULL;
356     END IF;
357 
358     IF NOT inv_globals.equal(p_trohdr_rec.attribute13, p_old_trohdr_rec.attribute13) THEN
359       NULL;
360     END IF;
361 
362     IF NOT inv_globals.equal(p_trohdr_rec.attribute14, p_old_trohdr_rec.attribute14) THEN
363       NULL;
364     END IF;
365 
366     IF NOT inv_globals.equal(p_trohdr_rec.attribute15, p_old_trohdr_rec.attribute15) THEN
367       NULL;
368     END IF;
369 
370     IF NOT inv_globals.equal(p_trohdr_rec.attribute2, p_old_trohdr_rec.attribute2) THEN
371       NULL;
372     END IF;
373 
374     IF NOT inv_globals.equal(p_trohdr_rec.attribute3, p_old_trohdr_rec.attribute3) THEN
375       NULL;
376     END IF;
377 
378     IF NOT inv_globals.equal(p_trohdr_rec.attribute4, p_old_trohdr_rec.attribute4) THEN
379       NULL;
380     END IF;
381 
382     IF NOT inv_globals.equal(p_trohdr_rec.attribute5, p_old_trohdr_rec.attribute5) THEN
383       NULL;
384     END IF;
385 
386     IF NOT inv_globals.equal(p_trohdr_rec.attribute6, p_old_trohdr_rec.attribute6) THEN
387       NULL;
388     END IF;
389 
390     IF NOT inv_globals.equal(p_trohdr_rec.attribute7, p_old_trohdr_rec.attribute7) THEN
391       NULL;
392     END IF;
393 
394     IF NOT inv_globals.equal(p_trohdr_rec.attribute8, p_old_trohdr_rec.attribute8) THEN
395       NULL;
396     END IF;
397 
398     IF NOT inv_globals.equal(p_trohdr_rec.attribute9, p_old_trohdr_rec.attribute9) THEN
399       NULL;
400     END IF;
401 
402     IF NOT inv_globals.equal(p_trohdr_rec.attribute_category, p_old_trohdr_rec.attribute_category) THEN
403       NULL;
404     END IF;
405 
406     IF NOT inv_globals.equal(p_trohdr_rec.created_by, p_old_trohdr_rec.created_by) THEN
407       NULL;
408     END IF;
409 
410     IF NOT inv_globals.equal(p_trohdr_rec.creation_date, p_old_trohdr_rec.creation_date) THEN
411       NULL;
412     END IF;
413 
414     IF NOT inv_globals.equal(p_trohdr_rec.date_required, p_old_trohdr_rec.date_required) THEN
415       NULL;
416     END IF;
417 
418     IF NOT inv_globals.equal(p_trohdr_rec.description, p_old_trohdr_rec.description) THEN
419       NULL;
420     END IF;
421 
422     IF NOT inv_globals.equal(p_trohdr_rec.from_subinventory_code, p_old_trohdr_rec.from_subinventory_code) THEN
423       NULL;
424     END IF;
425 
426     IF NOT inv_globals.equal(p_trohdr_rec.header_id, p_old_trohdr_rec.header_id) THEN
427       NULL;
428     END IF;
429 
430     IF NOT inv_globals.equal(p_trohdr_rec.header_status, p_old_trohdr_rec.header_status) THEN
431       NULL;
432     END IF;
433 
434     IF NOT inv_globals.equal(p_trohdr_rec.last_updated_by, p_old_trohdr_rec.last_updated_by) THEN
435       NULL;
436     END IF;
437 
438     IF NOT inv_globals.equal(p_trohdr_rec.last_update_date, p_old_trohdr_rec.last_update_date) THEN
439       NULL;
440     END IF;
441 
442     IF NOT inv_globals.equal(p_trohdr_rec.last_update_login, p_old_trohdr_rec.last_update_login) THEN
443       NULL;
444     END IF;
445 
446     IF NOT inv_globals.equal(p_trohdr_rec.organization_id, p_old_trohdr_rec.organization_id) THEN
447       NULL;
448     END IF;
449 
450     IF NOT inv_globals.equal(p_trohdr_rec.program_application_id, p_old_trohdr_rec.program_application_id) THEN
451       NULL;
452     END IF;
453 
454     IF NOT inv_globals.equal(p_trohdr_rec.program_id, p_old_trohdr_rec.program_id) THEN
455       NULL;
456     END IF;
457 
458     IF NOT inv_globals.equal(p_trohdr_rec.program_update_date, p_old_trohdr_rec.program_update_date) THEN
459       NULL;
460     END IF;
461 
462     IF NOT inv_globals.equal(p_trohdr_rec.request_id, p_old_trohdr_rec.request_id) THEN
463       NULL;
464     END IF;
465 
466     IF NOT inv_globals.equal(p_trohdr_rec.request_number, p_old_trohdr_rec.request_number) THEN
467       NULL;
468     END IF;
469 
470     IF NOT inv_globals.equal(p_trohdr_rec.status_date, p_old_trohdr_rec.status_date) THEN
471       NULL;
472     END IF;
473 
474     IF NOT inv_globals.equal(p_trohdr_rec.to_account_id, p_old_trohdr_rec.to_account_id) THEN
475       NULL;
476     END IF;
477 
478     IF NOT inv_globals.equal(p_trohdr_rec.to_subinventory_code, p_old_trohdr_rec.to_subinventory_code) THEN
479       NULL;
480     END IF;
481 
482     IF NOT inv_globals.equal(p_trohdr_rec.move_order_type, p_old_trohdr_rec.move_order_type) THEN
483       NULL;
484     END IF;
485 
486     IF NOT inv_globals.equal(p_trohdr_rec.transaction_type_id, p_old_trohdr_rec.transaction_type_id) THEN
487       NULL;
488     END IF;
489 
490     IF NOT inv_globals.equal(p_trohdr_rec.ship_to_location_id, p_old_trohdr_rec.ship_to_location_id) THEN
491       NULL;
492     END IF;
493   END apply_attribute_changes;
494 
495   --  Function Complete_Record
496 
497   FUNCTION complete_record(p_trohdr_rec IN inv_move_order_pub.trohdr_rec_type, p_old_trohdr_rec IN inv_move_order_pub.trohdr_rec_type)
498     RETURN inv_move_order_pub.trohdr_rec_type IS
499     l_trohdr_rec inv_move_order_pub.trohdr_rec_type := p_trohdr_rec;
500   BEGIN
501     IF l_trohdr_rec.attribute1 = fnd_api.g_miss_char THEN
502       l_trohdr_rec.attribute1  := p_old_trohdr_rec.attribute1;
503     END IF;
504 
505     IF l_trohdr_rec.attribute10 = fnd_api.g_miss_char THEN
506       l_trohdr_rec.attribute10  := p_old_trohdr_rec.attribute10;
507     END IF;
508 
509     IF l_trohdr_rec.attribute11 = fnd_api.g_miss_char THEN
510       l_trohdr_rec.attribute11  := p_old_trohdr_rec.attribute11;
511     END IF;
512 
513     IF l_trohdr_rec.attribute12 = fnd_api.g_miss_char THEN
514       l_trohdr_rec.attribute12  := p_old_trohdr_rec.attribute12;
515     END IF;
516 
517     IF l_trohdr_rec.attribute13 = fnd_api.g_miss_char THEN
518       l_trohdr_rec.attribute13  := p_old_trohdr_rec.attribute13;
519     END IF;
520 
521     IF l_trohdr_rec.attribute14 = fnd_api.g_miss_char THEN
522       l_trohdr_rec.attribute14  := p_old_trohdr_rec.attribute14;
523     END IF;
524 
525     IF l_trohdr_rec.attribute15 = fnd_api.g_miss_char THEN
526       l_trohdr_rec.attribute15  := p_old_trohdr_rec.attribute15;
527     END IF;
528 
529     IF l_trohdr_rec.attribute2 = fnd_api.g_miss_char THEN
530       l_trohdr_rec.attribute2  := p_old_trohdr_rec.attribute2;
531     END IF;
532 
533     IF l_trohdr_rec.attribute3 = fnd_api.g_miss_char THEN
534       l_trohdr_rec.attribute3  := p_old_trohdr_rec.attribute3;
535     END IF;
536 
537     IF l_trohdr_rec.attribute4 = fnd_api.g_miss_char THEN
538       l_trohdr_rec.attribute4  := p_old_trohdr_rec.attribute4;
539     END IF;
540 
541     IF l_trohdr_rec.attribute5 = fnd_api.g_miss_char THEN
542       l_trohdr_rec.attribute5  := p_old_trohdr_rec.attribute5;
543     END IF;
544 
545     IF l_trohdr_rec.attribute6 = fnd_api.g_miss_char THEN
546       l_trohdr_rec.attribute6  := p_old_trohdr_rec.attribute6;
547     END IF;
548 
549     IF l_trohdr_rec.attribute7 = fnd_api.g_miss_char THEN
550       l_trohdr_rec.attribute7  := p_old_trohdr_rec.attribute7;
551     END IF;
552 
553     IF l_trohdr_rec.attribute8 = fnd_api.g_miss_char THEN
554       l_trohdr_rec.attribute8  := p_old_trohdr_rec.attribute8;
555     END IF;
556 
557     IF l_trohdr_rec.attribute9 = fnd_api.g_miss_char THEN
558       l_trohdr_rec.attribute9  := p_old_trohdr_rec.attribute9;
559     END IF;
560 
561     IF l_trohdr_rec.attribute_category = fnd_api.g_miss_char THEN
562       l_trohdr_rec.attribute_category  := p_old_trohdr_rec.attribute_category;
563     END IF;
564 
565     IF l_trohdr_rec.created_by = fnd_api.g_miss_num THEN
566       l_trohdr_rec.created_by  := p_old_trohdr_rec.created_by;
567     END IF;
568 
569     IF l_trohdr_rec.creation_date = fnd_api.g_miss_date THEN
570       l_trohdr_rec.creation_date  := p_old_trohdr_rec.creation_date;
571     END IF;
572 
573     IF l_trohdr_rec.date_required = fnd_api.g_miss_date THEN
574       l_trohdr_rec.date_required  := p_old_trohdr_rec.date_required;
575     END IF;
576 
577     IF l_trohdr_rec.description = fnd_api.g_miss_char THEN
578       l_trohdr_rec.description  := p_old_trohdr_rec.description;
579     END IF;
580 
581     IF l_trohdr_rec.from_subinventory_code = fnd_api.g_miss_char THEN
582       l_trohdr_rec.from_subinventory_code  := p_old_trohdr_rec.from_subinventory_code;
583     END IF;
584 
585     IF l_trohdr_rec.header_id = fnd_api.g_miss_num THEN
586       l_trohdr_rec.header_id  := p_old_trohdr_rec.header_id;
587     END IF;
588 
589     IF l_trohdr_rec.header_status = fnd_api.g_miss_num THEN
590       l_trohdr_rec.header_status  := p_old_trohdr_rec.header_status;
591     END IF;
592 
593     IF l_trohdr_rec.last_updated_by = fnd_api.g_miss_num THEN
594       l_trohdr_rec.last_updated_by  := p_old_trohdr_rec.last_updated_by;
595     END IF;
596 
597     IF l_trohdr_rec.last_update_date = fnd_api.g_miss_date THEN
598       l_trohdr_rec.last_update_date  := p_old_trohdr_rec.last_update_date;
599     END IF;
600 
601     IF l_trohdr_rec.last_update_login = fnd_api.g_miss_num THEN
602       l_trohdr_rec.last_update_login  := p_old_trohdr_rec.last_update_login;
603     END IF;
604 
605     IF l_trohdr_rec.organization_id = fnd_api.g_miss_num THEN
606       l_trohdr_rec.organization_id  := p_old_trohdr_rec.organization_id;
607     END IF;
608 
609     IF l_trohdr_rec.program_application_id = fnd_api.g_miss_num THEN
610       l_trohdr_rec.program_application_id  := p_old_trohdr_rec.program_application_id;
611     END IF;
612 
613     IF l_trohdr_rec.program_id = fnd_api.g_miss_num THEN
614       l_trohdr_rec.program_id  := p_old_trohdr_rec.program_id;
615     END IF;
616 
617     IF l_trohdr_rec.program_update_date = fnd_api.g_miss_date THEN
618       l_trohdr_rec.program_update_date  := p_old_trohdr_rec.program_update_date;
619     END IF;
620 
621     IF l_trohdr_rec.request_id = fnd_api.g_miss_num THEN
622       l_trohdr_rec.request_id  := p_old_trohdr_rec.request_id;
623     END IF;
624 
625     IF l_trohdr_rec.request_number = fnd_api.g_miss_char THEN
626       l_trohdr_rec.request_number  := p_old_trohdr_rec.request_number;
627     END IF;
628 
629     IF l_trohdr_rec.status_date = fnd_api.g_miss_date THEN
630       l_trohdr_rec.status_date  := p_old_trohdr_rec.status_date;
631     END IF;
632 
633     IF l_trohdr_rec.to_account_id = fnd_api.g_miss_num THEN
634       l_trohdr_rec.to_account_id  := p_old_trohdr_rec.to_account_id;
635     END IF;
636 
637     IF l_trohdr_rec.to_subinventory_code = fnd_api.g_miss_char THEN
638       l_trohdr_rec.to_subinventory_code  := p_old_trohdr_rec.to_subinventory_code;
639     END IF;
640 
641     IF l_trohdr_rec.move_order_type = fnd_api.g_miss_num THEN
642       l_trohdr_rec.move_order_type  := p_old_trohdr_rec.move_order_type;
643     END IF;
644 
645     IF l_trohdr_rec.transaction_type_id = fnd_api.g_miss_num THEN
646       l_trohdr_rec.transaction_type_id  := p_old_trohdr_rec.transaction_type_id;
647     END IF;
648 
649     IF l_trohdr_rec.ship_to_location_id = fnd_api.g_miss_num THEN
650       l_trohdr_rec.ship_to_location_id  := p_old_trohdr_rec.ship_to_location_id;
651     END IF;
652 
653     RETURN l_trohdr_rec;
654   END complete_record;
655 
656   --  Function Convert_Miss_To_Null
657 
658   FUNCTION convert_miss_to_null(p_trohdr_rec IN inv_move_order_pub.trohdr_rec_type)
659     RETURN inv_move_order_pub.trohdr_rec_type IS
660     l_trohdr_rec inv_move_order_pub.trohdr_rec_type := p_trohdr_rec;
661   BEGIN
662     IF l_trohdr_rec.attribute1 = fnd_api.g_miss_char THEN
663       l_trohdr_rec.attribute1  := NULL;
664     END IF;
665 
666     IF l_trohdr_rec.attribute10 = fnd_api.g_miss_char THEN
667       l_trohdr_rec.attribute10  := NULL;
668     END IF;
669 
670     IF l_trohdr_rec.attribute11 = fnd_api.g_miss_char THEN
671       l_trohdr_rec.attribute11  := NULL;
672     END IF;
673 
674     IF l_trohdr_rec.attribute12 = fnd_api.g_miss_char THEN
675       l_trohdr_rec.attribute12  := NULL;
676     END IF;
677 
678     IF l_trohdr_rec.attribute13 = fnd_api.g_miss_char THEN
679       l_trohdr_rec.attribute13  := NULL;
680     END IF;
681 
682     IF l_trohdr_rec.attribute14 = fnd_api.g_miss_char THEN
683       l_trohdr_rec.attribute14  := NULL;
684     END IF;
685 
686     IF l_trohdr_rec.attribute15 = fnd_api.g_miss_char THEN
687       l_trohdr_rec.attribute15  := NULL;
688     END IF;
689 
690     IF l_trohdr_rec.attribute2 = fnd_api.g_miss_char THEN
691       l_trohdr_rec.attribute2  := NULL;
692     END IF;
693 
694     IF l_trohdr_rec.attribute3 = fnd_api.g_miss_char THEN
695       l_trohdr_rec.attribute3  := NULL;
696     END IF;
697 
698     IF l_trohdr_rec.attribute4 = fnd_api.g_miss_char THEN
699       l_trohdr_rec.attribute4  := NULL;
700     END IF;
701 
702     IF l_trohdr_rec.attribute5 = fnd_api.g_miss_char THEN
703       l_trohdr_rec.attribute5  := NULL;
704     END IF;
705 
706     IF l_trohdr_rec.attribute6 = fnd_api.g_miss_char THEN
707       l_trohdr_rec.attribute6  := NULL;
708     END IF;
709 
710     IF l_trohdr_rec.attribute7 = fnd_api.g_miss_char THEN
711       l_trohdr_rec.attribute7  := NULL;
712     END IF;
713 
714     IF l_trohdr_rec.attribute8 = fnd_api.g_miss_char THEN
715       l_trohdr_rec.attribute8  := NULL;
716     END IF;
717 
718     IF l_trohdr_rec.attribute9 = fnd_api.g_miss_char THEN
719       l_trohdr_rec.attribute9  := NULL;
720     END IF;
721 
722     IF l_trohdr_rec.attribute_category = fnd_api.g_miss_char THEN
723       l_trohdr_rec.attribute_category  := NULL;
724     END IF;
725 
726     IF l_trohdr_rec.created_by = fnd_api.g_miss_num THEN
727       l_trohdr_rec.created_by  := NULL;
728     END IF;
729 
730     IF l_trohdr_rec.creation_date = fnd_api.g_miss_date THEN
731       l_trohdr_rec.creation_date  := NULL;
732     END IF;
733 
734     IF l_trohdr_rec.date_required = fnd_api.g_miss_date THEN
735       l_trohdr_rec.date_required  := NULL;
736     END IF;
737 
738     IF l_trohdr_rec.description = fnd_api.g_miss_char THEN
739       l_trohdr_rec.description  := NULL;
740     END IF;
741 
742     IF l_trohdr_rec.from_subinventory_code = fnd_api.g_miss_char THEN
743       l_trohdr_rec.from_subinventory_code  := NULL;
744     END IF;
745 
746     IF l_trohdr_rec.header_id = fnd_api.g_miss_num THEN
747       l_trohdr_rec.header_id  := NULL;
748     END IF;
749 
750     IF l_trohdr_rec.header_status = fnd_api.g_miss_num THEN
751       l_trohdr_rec.header_status  := NULL;
752     END IF;
753 
754     IF l_trohdr_rec.last_updated_by = fnd_api.g_miss_num THEN
755       l_trohdr_rec.last_updated_by  := NULL;
756     END IF;
757 
758     IF l_trohdr_rec.last_update_date = fnd_api.g_miss_date THEN
759       l_trohdr_rec.last_update_date  := NULL;
760     END IF;
761 
762     IF l_trohdr_rec.last_update_login = fnd_api.g_miss_num THEN
763       l_trohdr_rec.last_update_login  := NULL;
764     END IF;
765 
766     IF l_trohdr_rec.organization_id = fnd_api.g_miss_num THEN
767       l_trohdr_rec.organization_id  := NULL;
768     END IF;
769 
770     IF l_trohdr_rec.program_application_id = fnd_api.g_miss_num THEN
771       l_trohdr_rec.program_application_id  := NULL;
772     END IF;
773 
774     IF l_trohdr_rec.program_id = fnd_api.g_miss_num THEN
775       l_trohdr_rec.program_id  := NULL;
776     END IF;
777 
778     IF l_trohdr_rec.program_update_date = fnd_api.g_miss_date THEN
779       l_trohdr_rec.program_update_date  := NULL;
780     END IF;
781 
782     IF l_trohdr_rec.request_id = fnd_api.g_miss_num THEN
783       l_trohdr_rec.request_id  := NULL;
784     END IF;
785 
786     IF l_trohdr_rec.request_number = fnd_api.g_miss_char THEN
787       l_trohdr_rec.request_number  := NULL;
788     END IF;
789 
790     IF l_trohdr_rec.status_date = fnd_api.g_miss_date THEN
791       l_trohdr_rec.status_date  := NULL;
792     END IF;
793 
794     IF l_trohdr_rec.to_account_id = fnd_api.g_miss_num THEN
795       l_trohdr_rec.to_account_id  := NULL;
796     END IF;
797 
798     IF l_trohdr_rec.to_subinventory_code = fnd_api.g_miss_char THEN
799       l_trohdr_rec.to_subinventory_code  := NULL;
800     END IF;
801 
802     IF l_trohdr_rec.move_order_type = fnd_api.g_miss_num THEN
803       l_trohdr_rec.move_order_type  := NULL;
804     END IF;
805 
806     IF l_trohdr_rec.transaction_type_id = fnd_api.g_miss_num THEN
807       l_trohdr_rec.transaction_type_id  := NULL;
808     END IF;
809 
810     IF l_trohdr_rec.ship_to_location_id = fnd_api.g_miss_num THEN
811       l_trohdr_rec.ship_to_location_id  := NULL;
812     END IF;
813 
814     RETURN l_trohdr_rec;
815   END convert_miss_to_null;
816 
817   --  Bug#2536932: Function convert_miss_to_null for TROHDR_VAL_REC_TYPE
818 
819   FUNCTION convert_miss_to_null(p_trohdr_val_rec IN inv_move_order_pub.trohdr_val_rec_type)
820      RETURN inv_move_order_pub.trohdr_val_rec_type IS
821      l_trohdr_val_rec inv_move_order_pub.trohdr_val_rec_type := p_trohdr_val_rec;
822   BEGIN
823      IF l_trohdr_val_rec.from_subinventory = FND_API.g_miss_char THEN
824         l_trohdr_val_rec.from_subinventory := NULL;
825      END IF;
826 
827      IF l_trohdr_val_rec.header = FND_API.g_miss_char THEN
828         l_trohdr_val_rec.header := NULL;
829      END IF;
830 
831      IF l_trohdr_val_rec.ORGANIZATION = FND_API.g_miss_char THEN
832         l_trohdr_val_rec.ORGANIZATION := NULL;
833      END IF;
834 
835      IF l_trohdr_val_rec.to_account = FND_API.g_miss_char THEN
836         l_trohdr_val_rec.to_account := NULL;
837      END IF;
838 
839      IF l_trohdr_val_rec.to_subinventory = FND_API.g_miss_char THEN
840         l_trohdr_val_rec.to_subinventory := NULL;
841      END IF;
842 
843      IF l_trohdr_val_rec.move_order_type = FND_API.g_miss_char THEN
844         l_trohdr_val_rec.move_order_type := NULL;
845      END IF;
846 
847      IF l_trohdr_val_rec.transaction_type = FND_API.g_miss_char THEN
848         l_trohdr_val_rec.transaction_type := NULL;
849      END IF;
850 
851      RETURN l_trohdr_val_rec;
852   END convert_miss_to_null;
853 
854   --  Procedure Update_Row
855 
856   PROCEDURE update_row(p_trohdr_rec IN inv_move_order_pub.trohdr_rec_type) IS
857   BEGIN
858     UPDATE mtl_txn_request_headers
859        SET attribute1 = p_trohdr_rec.attribute1
860          , attribute10 = p_trohdr_rec.attribute10
861          , attribute11 = p_trohdr_rec.attribute11
862          , attribute12 = p_trohdr_rec.attribute12
863          , attribute13 = p_trohdr_rec.attribute13
864          , attribute14 = p_trohdr_rec.attribute14
865          , attribute15 = p_trohdr_rec.attribute15
866          , attribute2 = p_trohdr_rec.attribute2
867          , attribute3 = p_trohdr_rec.attribute3
868          , attribute4 = p_trohdr_rec.attribute4
869          , attribute5 = p_trohdr_rec.attribute5
870          , attribute6 = p_trohdr_rec.attribute6
871          , attribute7 = p_trohdr_rec.attribute7
872          , attribute8 = p_trohdr_rec.attribute8
873          , attribute9 = p_trohdr_rec.attribute9
874          , attribute_category = p_trohdr_rec.attribute_category
875          , created_by = p_trohdr_rec.created_by
876          , creation_date = p_trohdr_rec.creation_date
877          , date_required = p_trohdr_rec.date_required
878          , description = p_trohdr_rec.description
879          , from_subinventory_code = p_trohdr_rec.from_subinventory_code
880          , header_id = p_trohdr_rec.header_id
881          , header_status = p_trohdr_rec.header_status
882          , last_updated_by = p_trohdr_rec.last_updated_by
883          , last_update_date = p_trohdr_rec.last_update_date
884          , last_update_login = p_trohdr_rec.last_update_login
885          , organization_id = p_trohdr_rec.organization_id
886          , program_application_id = p_trohdr_rec.program_application_id
887          , program_id = p_trohdr_rec.program_id
888          , program_update_date = p_trohdr_rec.program_update_date
889          , request_id = p_trohdr_rec.request_id
890          , request_number = p_trohdr_rec.request_number
891          , status_date = p_trohdr_rec.status_date
892          , to_account_id = p_trohdr_rec.to_account_id
893          , to_subinventory_code = p_trohdr_rec.to_subinventory_code
894          , move_order_type = p_trohdr_rec.move_order_type
895          , transaction_type_id = p_trohdr_rec.transaction_type_id
896          , ship_to_location_id = p_trohdr_rec.ship_to_location_id
897      WHERE header_id = p_trohdr_rec.header_id;
898   EXCEPTION
899     WHEN OTHERS THEN
900       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
901         fnd_msg_pub.add_exc_msg(g_pkg_name, 'Update_Row');
902       END IF;
903 
904       RAISE fnd_api.g_exc_unexpected_error;
905   END update_row;
906 
907   --  Procedure Insert_Row
908 
909   PROCEDURE insert_row(p_trohdr_rec IN inv_move_order_pub.trohdr_rec_type) IS
910   BEGIN
911     INSERT INTO mtl_txn_request_headers
912                 (
913                 attribute1
914               , attribute10
915               , attribute11
916               , attribute12
917               , attribute13
918               , attribute14
919               , attribute15
920               , attribute2
921               , attribute3
922               , attribute4
923               , attribute5
924               , attribute6
925               , attribute7
926               , attribute8
927               , attribute9
928               , attribute_category
929               , created_by
930               , creation_date
931               , date_required
932               , description
933               , from_subinventory_code
934               , header_id
935               , header_status
936               , last_updated_by
937               , last_update_date
938               , last_update_login
939               , organization_id
940               , program_application_id
941               , program_id
942               , program_update_date
943               , request_id
944               , request_number
945               , status_date
946               , to_account_id
947               , to_subinventory_code
948               , move_order_type
949               , transaction_type_id
950               , grouping_rule_id
951               , ship_to_location_id
952                 )
953          VALUES (
954                 p_trohdr_rec.attribute1
955               , p_trohdr_rec.attribute10
956               , p_trohdr_rec.attribute11
957               , p_trohdr_rec.attribute12
958               , p_trohdr_rec.attribute13
959               , p_trohdr_rec.attribute14
960               , p_trohdr_rec.attribute15
961               , p_trohdr_rec.attribute2
962               , p_trohdr_rec.attribute3
963               , p_trohdr_rec.attribute4
964               , p_trohdr_rec.attribute5
965               , p_trohdr_rec.attribute6
966               , p_trohdr_rec.attribute7
967               , p_trohdr_rec.attribute8
968               , p_trohdr_rec.attribute9
969               , p_trohdr_rec.attribute_category
970               , p_trohdr_rec.created_by
971               , p_trohdr_rec.creation_date
972               , p_trohdr_rec.date_required
973               , p_trohdr_rec.description
974               , p_trohdr_rec.from_subinventory_code
975               , p_trohdr_rec.header_id
976               , p_trohdr_rec.header_status
977               , p_trohdr_rec.last_updated_by
978               , p_trohdr_rec.last_update_date
979               , p_trohdr_rec.last_update_login
980               , p_trohdr_rec.organization_id
981               , p_trohdr_rec.program_application_id
982               , p_trohdr_rec.program_id
983               , p_trohdr_rec.program_update_date
984               , p_trohdr_rec.request_id
985               , p_trohdr_rec.request_number
986               , p_trohdr_rec.status_date
987               , p_trohdr_rec.to_account_id
988               , p_trohdr_rec.to_subinventory_code
989               , p_trohdr_rec.move_order_type
990               , p_trohdr_rec.transaction_type_id
991               , p_trohdr_rec.grouping_rule_id
992               , p_trohdr_rec.ship_to_location_id
993                 );
994   EXCEPTION
995     WHEN OTHERS THEN
996       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
997         fnd_msg_pub.add_exc_msg(g_pkg_name, 'Insert_Row');
998       END IF;
999 
1000       RAISE fnd_api.g_exc_unexpected_error;
1001   END insert_row;
1002 
1003   --  Procedure Delete_Row
1004 
1005   PROCEDURE delete_row(p_header_id IN NUMBER) IS
1006   BEGIN
1007     DELETE FROM mtl_txn_request_headers
1008           WHERE header_id = p_header_id;
1009   EXCEPTION
1010     WHEN OTHERS THEN
1011       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1012         fnd_msg_pub.add_exc_msg(g_pkg_name, 'Delete_Row');
1013       END IF;
1014 
1015       RAISE fnd_api.g_exc_unexpected_error;
1016   END delete_row;
1017 
1018   --  Procedure Update_Row_Status
1019 
1020   PROCEDURE update_row_status(p_header_id IN NUMBER, p_status IN NUMBER) IS
1021     l_trohdr_rec inv_move_order_pub.trohdr_rec_type;
1022   BEGIN
1023     l_trohdr_rec                    := inv_trohdr_util.query_row(p_header_id);
1024     l_trohdr_rec.header_status      := p_status;
1025     l_trohdr_rec.last_update_date   := SYSDATE;
1026     l_trohdr_rec.last_updated_by    := fnd_global.user_id;
1027     l_trohdr_rec.last_update_login  := fnd_global.login_id;
1028     inv_trohdr_util.update_row(l_trohdr_rec);
1029   EXCEPTION
1030     WHEN OTHERS THEN
1031       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1032         fnd_msg_pub.add_exc_msg(g_pkg_name, 'Update_Row_Status');
1033       END IF;
1034 
1035       RAISE fnd_api.g_exc_unexpected_error;
1036   END update_row_status;
1037 
1038   --  Function Query_Row
1039 
1040   FUNCTION query_row(p_header_id IN NUMBER)
1041     RETURN inv_move_order_pub.trohdr_rec_type IS
1042     l_trohdr_rec inv_move_order_pub.trohdr_rec_type;
1043   BEGIN
1044     SELECT attribute1
1045          , attribute10
1046          , attribute11
1047          , attribute12
1048          , attribute13
1049          , attribute14
1050          , attribute15
1051          , attribute2
1052          , attribute3
1053          , attribute4
1054          , attribute5
1055          , attribute6
1056          , attribute7
1057          , attribute8
1058          , attribute9
1059          , attribute_category
1060          , created_by
1061          , creation_date
1062          , date_required
1063          , description
1064          , from_subinventory_code
1065          , header_id
1066          , header_status
1067          , last_updated_by
1068          , last_update_date
1069          , last_update_login
1070          , organization_id
1071          , program_application_id
1072          , program_id
1073          , program_update_date
1074          , request_id
1075          , request_number
1076          , status_date
1077          , to_account_id
1078          , to_subinventory_code
1079          , move_order_type
1080          , transaction_type_id
1081          , grouping_rule_id
1082          , ship_to_location_id
1083       INTO l_trohdr_rec.attribute1
1084          , l_trohdr_rec.attribute10
1085          , l_trohdr_rec.attribute11
1086          , l_trohdr_rec.attribute12
1087          , l_trohdr_rec.attribute13
1088          , l_trohdr_rec.attribute14
1089          , l_trohdr_rec.attribute15
1090          , l_trohdr_rec.attribute2
1091          , l_trohdr_rec.attribute3
1092          , l_trohdr_rec.attribute4
1093          , l_trohdr_rec.attribute5
1094          , l_trohdr_rec.attribute6
1095          , l_trohdr_rec.attribute7
1096          , l_trohdr_rec.attribute8
1097          , l_trohdr_rec.attribute9
1098          , l_trohdr_rec.attribute_category
1099          , l_trohdr_rec.created_by
1100          , l_trohdr_rec.creation_date
1101          , l_trohdr_rec.date_required
1102          , l_trohdr_rec.description
1103          , l_trohdr_rec.from_subinventory_code
1104          , l_trohdr_rec.header_id
1105          , l_trohdr_rec.header_status
1106          , l_trohdr_rec.last_updated_by
1107          , l_trohdr_rec.last_update_date
1108          , l_trohdr_rec.last_update_login
1109          , l_trohdr_rec.organization_id
1110          , l_trohdr_rec.program_application_id
1111          , l_trohdr_rec.program_id
1112          , l_trohdr_rec.program_update_date
1113          , l_trohdr_rec.request_id
1114          , l_trohdr_rec.request_number
1115          , l_trohdr_rec.status_date
1116          , l_trohdr_rec.to_account_id
1117          , l_trohdr_rec.to_subinventory_code
1118          , l_trohdr_rec.move_order_type
1119          , l_trohdr_rec.transaction_type_id
1120          , l_trohdr_rec.grouping_rule_id
1121          , l_trohdr_rec.ship_to_location_id
1122       FROM mtl_txn_request_headers
1123      WHERE header_id = p_header_id;
1124 
1125     RETURN l_trohdr_rec;
1126   EXCEPTION
1127     WHEN OTHERS THEN
1128       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1129         fnd_msg_pub.add_exc_msg(g_pkg_name, 'Query_Row');
1130       END IF;
1131 
1132       RAISE fnd_api.g_exc_unexpected_error;
1133   END query_row;
1134 
1135   --  Procedure       lock_Row
1136   --
1137 
1138   PROCEDURE lock_row(x_return_status OUT NOCOPY VARCHAR2, p_trohdr_rec IN inv_move_order_pub.trohdr_rec_type, x_trohdr_rec IN OUT NOCOPY inv_move_order_pub.trohdr_rec_type) IS
1139     l_trohdr_rec inv_move_order_pub.trohdr_rec_type;
1140   BEGIN
1141     SELECT     attribute1
1142              , attribute10
1143              , attribute11
1144              , attribute12
1145              , attribute13
1146              , attribute14
1147              , attribute15
1148              , attribute2
1149              , attribute3
1150              , attribute4
1151              , attribute5
1152              , attribute6
1153              , attribute7
1154              , attribute8
1155              , attribute9
1156              , attribute_category
1157              , created_by
1158              , creation_date
1159              , date_required
1160              , description
1161              , from_subinventory_code
1162              , header_id
1163              , header_status
1164              , last_updated_by
1165              , last_update_date
1166              , last_update_login
1167              , organization_id
1168              , program_application_id
1169              , program_id
1170              , program_update_date
1171              , request_id
1172              , request_number
1173              , status_date
1174              , to_account_id
1175              , to_subinventory_code
1176              , move_order_type
1177              , transaction_type_id
1178              , grouping_rule_id
1179              , ship_to_location_id
1180           INTO l_trohdr_rec.attribute1
1181              , l_trohdr_rec.attribute10
1182              , l_trohdr_rec.attribute11
1183              , l_trohdr_rec.attribute12
1184              , l_trohdr_rec.attribute13
1185              , l_trohdr_rec.attribute14
1186              , l_trohdr_rec.attribute15
1187              , l_trohdr_rec.attribute2
1188              , l_trohdr_rec.attribute3
1189              , l_trohdr_rec.attribute4
1190              , l_trohdr_rec.attribute5
1191              , l_trohdr_rec.attribute6
1192              , l_trohdr_rec.attribute7
1193              , l_trohdr_rec.attribute8
1194              , l_trohdr_rec.attribute9
1195              , l_trohdr_rec.attribute_category
1196              , l_trohdr_rec.created_by
1197              , l_trohdr_rec.creation_date
1198              , l_trohdr_rec.date_required
1199              , l_trohdr_rec.description
1200              , l_trohdr_rec.from_subinventory_code
1201              , l_trohdr_rec.header_id
1202              , l_trohdr_rec.header_status
1203              , l_trohdr_rec.last_updated_by
1204              , l_trohdr_rec.last_update_date
1205              , l_trohdr_rec.last_update_login
1206              , l_trohdr_rec.organization_id
1207              , l_trohdr_rec.program_application_id
1208              , l_trohdr_rec.program_id
1209              , l_trohdr_rec.program_update_date
1210              , l_trohdr_rec.request_id
1211              , l_trohdr_rec.request_number
1212              , l_trohdr_rec.status_date
1213              , l_trohdr_rec.to_account_id
1214              , l_trohdr_rec.to_subinventory_code
1215              , l_trohdr_rec.move_order_type
1216              , l_trohdr_rec.transaction_type_id
1217              , l_trohdr_rec.grouping_rule_id
1218              , l_trohdr_rec.ship_to_location_id
1219           FROM mtl_txn_request_headers
1220          WHERE header_id = p_trohdr_rec.header_id
1221     FOR UPDATE NOWAIT;
1222 
1223     --  Row locked. Compare IN attributes to DB attributes.
1224 
1225     IF  inv_globals.equal(p_trohdr_rec.attribute1, l_trohdr_rec.attribute1)
1226         AND inv_globals.equal(p_trohdr_rec.attribute10, l_trohdr_rec.attribute10)
1227         AND inv_globals.equal(p_trohdr_rec.attribute11, l_trohdr_rec.attribute11)
1228         AND inv_globals.equal(p_trohdr_rec.attribute12, l_trohdr_rec.attribute12)
1229         AND inv_globals.equal(p_trohdr_rec.attribute13, l_trohdr_rec.attribute13)
1230         AND inv_globals.equal(p_trohdr_rec.attribute14, l_trohdr_rec.attribute14)
1231         AND inv_globals.equal(p_trohdr_rec.attribute15, l_trohdr_rec.attribute15)
1232         AND inv_globals.equal(p_trohdr_rec.attribute2, l_trohdr_rec.attribute2)
1233         AND inv_globals.equal(p_trohdr_rec.attribute3, l_trohdr_rec.attribute3)
1234         AND inv_globals.equal(p_trohdr_rec.attribute4, l_trohdr_rec.attribute4)
1235         AND inv_globals.equal(p_trohdr_rec.attribute5, l_trohdr_rec.attribute5)
1236         AND inv_globals.equal(p_trohdr_rec.attribute6, l_trohdr_rec.attribute6)
1237         AND inv_globals.equal(p_trohdr_rec.attribute7, l_trohdr_rec.attribute7)
1238         AND inv_globals.equal(p_trohdr_rec.attribute8, l_trohdr_rec.attribute8)
1239         AND inv_globals.equal(p_trohdr_rec.attribute9, l_trohdr_rec.attribute9)
1240         AND inv_globals.equal(p_trohdr_rec.attribute_category, l_trohdr_rec.attribute_category)
1241         AND inv_globals.equal(p_trohdr_rec.created_by, l_trohdr_rec.created_by)
1242         AND inv_globals.equal(p_trohdr_rec.creation_date, l_trohdr_rec.creation_date)
1243         AND inv_globals.equal(p_trohdr_rec.date_required, l_trohdr_rec.date_required)
1244         AND inv_globals.equal(p_trohdr_rec.description, l_trohdr_rec.description)
1245         AND inv_globals.equal(p_trohdr_rec.from_subinventory_code, l_trohdr_rec.from_subinventory_code)
1246         AND inv_globals.equal(p_trohdr_rec.header_id, l_trohdr_rec.header_id)
1247         AND inv_globals.equal(p_trohdr_rec.header_status, l_trohdr_rec.header_status)
1248         AND inv_globals.equal(p_trohdr_rec.last_updated_by, l_trohdr_rec.last_updated_by)
1249         AND inv_globals.equal(p_trohdr_rec.last_update_date, l_trohdr_rec.last_update_date)
1250         AND inv_globals.equal(p_trohdr_rec.last_update_login, l_trohdr_rec.last_update_login)
1251         AND inv_globals.equal(p_trohdr_rec.organization_id, l_trohdr_rec.organization_id)
1252         AND inv_globals.equal(p_trohdr_rec.program_application_id, l_trohdr_rec.program_application_id)
1253         AND inv_globals.equal(p_trohdr_rec.program_id, l_trohdr_rec.program_id)
1254         AND inv_globals.equal(p_trohdr_rec.program_update_date, l_trohdr_rec.program_update_date)
1255         AND inv_globals.equal(p_trohdr_rec.request_id, l_trohdr_rec.request_id)
1256         AND inv_globals.equal(p_trohdr_rec.request_number, l_trohdr_rec.request_number)
1257         AND inv_globals.equal(p_trohdr_rec.status_date, l_trohdr_rec.status_date)
1258         AND inv_globals.equal(p_trohdr_rec.to_account_id, l_trohdr_rec.to_account_id)
1259         AND inv_globals.equal(p_trohdr_rec.to_subinventory_code, l_trohdr_rec.to_subinventory_code)
1260         AND inv_globals.equal(p_trohdr_rec.move_order_type, l_trohdr_rec.move_order_type)
1261         AND inv_globals.equal(p_trohdr_rec.transaction_type_id, l_trohdr_rec.transaction_type_id)
1262         AND inv_globals.equal(p_trohdr_rec.grouping_rule_id, l_trohdr_rec.grouping_rule_id)
1263         AND inv_globals.equal(p_trohdr_rec.ship_to_location_id, l_trohdr_rec.ship_to_location_id) THEN
1264       --  Row has not changed. Set out parameter.
1265 
1266       x_trohdr_rec                := l_trohdr_rec;
1267       --  Set return status
1268 
1269       x_return_status             := fnd_api.g_ret_sts_success;
1270       x_trohdr_rec.return_status  := fnd_api.g_ret_sts_success;
1271     ELSE
1272       --  Row has changed by another user.
1273 
1274       x_return_status             := fnd_api.g_ret_sts_error;
1275       x_trohdr_rec.return_status  := fnd_api.g_ret_sts_error;
1276 
1277       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
1278         fnd_message.set_name('INV', 'OE_LOCK_ROW_CHANGED');
1279         fnd_msg_pub.ADD;
1280       END IF;
1281     END IF;
1282   EXCEPTION
1283     WHEN NO_DATA_FOUND THEN
1284       x_return_status             := fnd_api.g_ret_sts_error;
1285       x_trohdr_rec.return_status  := fnd_api.g_ret_sts_error;
1286 
1287       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
1288         fnd_message.set_name('INV', 'OE_LOCK_ROW_DELETED');
1289         fnd_msg_pub.ADD;
1290       END IF;
1291     WHEN app_exceptions.record_lock_exception THEN
1292       x_return_status             := fnd_api.g_ret_sts_error;
1293       x_trohdr_rec.return_status  := fnd_api.g_ret_sts_error;
1294 
1295       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_error) THEN
1296         fnd_message.set_name('INV', 'OE_LOCK_ROW_ALREADY_LOCKED');
1297         fnd_msg_pub.ADD;
1298       END IF;
1299     WHEN OTHERS THEN
1300       x_return_status             := fnd_api.g_ret_sts_unexp_error;
1301       x_trohdr_rec.return_status  := fnd_api.g_ret_sts_unexp_error;
1302 
1303       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
1304         fnd_msg_pub.add_exc_msg(g_pkg_name, 'Lock_Row');
1305       END IF;
1306   END lock_row;
1307 
1308   --  Function Get_Values
1309 
1310   FUNCTION get_values(p_trohdr_rec IN inv_move_order_pub.trohdr_rec_type, p_old_trohdr_rec IN inv_move_order_pub.trohdr_rec_type := inv_move_order_pub.g_miss_trohdr_rec)
1311     RETURN inv_move_order_pub.trohdr_val_rec_type IS
1312     l_trohdr_val_rec inv_move_order_pub.trohdr_val_rec_type;
1313   BEGIN
1314     --    IF p_trohdr_rec.from_subinventory_code IS NOT NULL AND
1315     --        p_trohdr_rec.from_subinventory_code <> FND_API.G_MISS_CHAR AND
1316     --        NOT INV_GLOBALS.Equal(p_trohdr_rec.from_subinventory_code,
1317     --        p_old_trohdr_rec.from_subinventory_code)
1318     --    THEN
1319     --        l_trohdr_val_rec.from_subinventory := INV_Id_To_Value.From_Subinventory
1320     --        (   p_from_subinventory_code      => p_trohdr_rec.from_subinventory_code
1321     --        );
1322     --    END IF;
1323 
1324     IF  p_trohdr_rec.header_id IS NOT NULL
1325         AND p_trohdr_rec.header_id <> fnd_api.g_miss_num
1326         AND NOT inv_globals.equal(p_trohdr_rec.header_id, p_old_trohdr_rec.header_id) THEN
1327       l_trohdr_val_rec.header  := inv_id_to_value.header(p_header_id => p_trohdr_rec.header_id);
1328     END IF;
1329 
1330     IF  p_trohdr_rec.organization_id IS NOT NULL
1331         AND p_trohdr_rec.organization_id <> fnd_api.g_miss_num
1332         AND NOT inv_globals.equal(p_trohdr_rec.organization_id, p_old_trohdr_rec.organization_id) THEN
1333       l_trohdr_val_rec.ORGANIZATION  := inv_id_to_value.ORGANIZATION(p_organization_id => p_trohdr_rec.organization_id);
1334     END IF;
1335 
1336     IF  p_trohdr_rec.to_account_id IS NOT NULL
1337         AND p_trohdr_rec.to_account_id <> fnd_api.g_miss_num
1338         AND NOT inv_globals.equal(p_trohdr_rec.to_account_id, p_old_trohdr_rec.to_account_id) THEN
1339       l_trohdr_val_rec.to_account  := inv_id_to_value.to_account(p_to_account_id => p_trohdr_rec.to_account_id);
1340     END IF;
1341 
1342     --    IF p_trohdr_rec.to_subinventory_code IS NOT NULL AND
1343     --        p_trohdr_rec.to_subinventory_code <> FND_API.G_MISS_CHAR AND
1344     --        NOT INV_GLOBALS.Equal(p_trohdr_rec.to_subinventory_code,
1345     --        p_old_trohdr_rec.to_subinventory_code)
1346     --    THEN
1347     --        l_trohdr_val_rec.to_subinventory := INV_Id_To_Value.To_Subinventory
1348     --        (   p_to_subinventory_code        => p_trohdr_rec.to_subinventory_code
1349     --        );
1350     --    END IF;
1351 
1352     IF  p_trohdr_rec.move_order_type IS NOT NULL
1353         AND p_trohdr_rec.move_order_type <> fnd_api.g_miss_num
1354         AND NOT inv_globals.equal(p_trohdr_rec.move_order_type, p_old_trohdr_rec.move_order_type) THEN
1355       l_trohdr_val_rec.move_order_type  := inv_id_to_value.move_order_type(p_move_order_type => p_trohdr_rec.move_order_type);
1356     END IF;
1357 
1358     /*IF p_trohdr_rec.transaction_type_id IS NOT NULL AND
1359         p_trohdr_rec.transaction_type_id <> FND_API.G_MISS_NUM AND
1360         NOT INV_GLOBALS.Equal(p_trohdr_rec.transaction_type_id,
1361         p_old_trohdr_rec.transaction_type_id)
1362     THEN
1363         l_trohdr_val_rec.transaction_type_id := INV_Id_To_Value.Transaction_Type_Id
1364         (   p_transaction_type_id         => p_trohdr_rec.transaction_type_id
1365         );
1366     END IF;*/
1367 
1368     RETURN l_trohdr_val_rec;
1369   END get_values;
1370 
1371   --  Function Get_Ids
1372 
1373   FUNCTION get_ids(p_trohdr_rec IN inv_move_order_pub.trohdr_rec_type, p_trohdr_val_rec IN inv_move_order_pub.trohdr_val_rec_type)
1374     RETURN inv_move_order_pub.trohdr_rec_type IS
1375     l_trohdr_rec inv_move_order_pub.trohdr_rec_type;
1376   BEGIN
1377     --  initialize  return_status.
1378 
1379     l_trohdr_rec.return_status  := fnd_api.g_ret_sts_success;
1380     --  initialize l_trohdr_rec.
1381 
1382     l_trohdr_rec                := p_trohdr_rec;
1383 
1384     IF p_trohdr_val_rec.from_subinventory <> fnd_api.g_miss_char THEN
1385       IF p_trohdr_rec.from_subinventory_code <> fnd_api.g_miss_char THEN
1386         l_trohdr_rec.from_subinventory_code  := p_trohdr_rec.from_subinventory_code;
1387 
1388         IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
1389           fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
1390           fnd_message.set_token('ATTRIBUTE', 'from_subinventory');
1391           fnd_msg_pub.ADD;
1392         END IF;
1393       ELSE
1394         l_trohdr_rec.from_subinventory_code  := inv_value_to_id.from_subinventory(p_organization_id => p_trohdr_rec.organization_id, p_from_subinventory => p_trohdr_val_rec.from_subinventory);
1395 
1396         IF l_trohdr_rec.from_subinventory_code = fnd_api.g_miss_char THEN
1397           l_trohdr_rec.return_status  := fnd_api.g_ret_sts_error;
1398         END IF;
1399       END IF;
1400     END IF;
1401 
1402     IF p_trohdr_val_rec.header <> fnd_api.g_miss_char THEN
1403       IF p_trohdr_rec.header_id <> fnd_api.g_miss_num THEN
1404         l_trohdr_rec.header_id  := p_trohdr_rec.header_id;
1405 
1406         IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
1407           fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
1408           fnd_message.set_token('ATTRIBUTE', 'header');
1409           fnd_msg_pub.ADD;
1410         END IF;
1411       ELSE
1412         l_trohdr_rec.header_id  := inv_value_to_id.header(p_header => p_trohdr_val_rec.header);
1413 
1414         IF l_trohdr_rec.header_id = fnd_api.g_miss_num THEN
1415           l_trohdr_rec.return_status  := fnd_api.g_ret_sts_error;
1416         END IF;
1417       END IF;
1418     END IF;
1419 
1420     IF p_trohdr_val_rec.ORGANIZATION <> fnd_api.g_miss_char THEN
1421       IF p_trohdr_rec.organization_id <> fnd_api.g_miss_num THEN
1422         l_trohdr_rec.organization_id  := p_trohdr_rec.organization_id;
1423 
1424         IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
1425           fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
1426           fnd_message.set_token('ATTRIBUTE', 'organization');
1427           fnd_msg_pub.ADD;
1428         END IF;
1429       ELSE
1430         l_trohdr_rec.organization_id  := inv_value_to_id.ORGANIZATION(p_organization => p_trohdr_val_rec.ORGANIZATION);
1431 
1432         IF l_trohdr_rec.organization_id = fnd_api.g_miss_num THEN
1433           l_trohdr_rec.return_status  := fnd_api.g_ret_sts_error;
1434         END IF;
1435       END IF;
1436     END IF;
1437 
1438     IF p_trohdr_val_rec.to_account <> fnd_api.g_miss_char THEN
1439       IF p_trohdr_rec.to_account_id <> fnd_api.g_miss_num THEN
1440         l_trohdr_rec.to_account_id  := p_trohdr_rec.to_account_id;
1441 
1442         IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
1443           fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
1444           fnd_message.set_token('ATTRIBUTE', 'to_account');
1445           fnd_msg_pub.ADD;
1446         END IF;
1447       ELSE
1448         l_trohdr_rec.to_account_id  := inv_value_to_id.to_account(p_organization_id => p_trohdr_rec.organization_id, p_to_account => p_trohdr_val_rec.to_account);
1449 
1450         IF l_trohdr_rec.to_account_id = fnd_api.g_miss_num THEN
1451           l_trohdr_rec.return_status  := fnd_api.g_ret_sts_error;
1452         END IF;
1453       END IF;
1454     END IF;
1455 
1456     IF p_trohdr_val_rec.to_subinventory <> fnd_api.g_miss_char THEN
1457       IF p_trohdr_rec.to_subinventory_code <> fnd_api.g_miss_char THEN
1458         l_trohdr_rec.to_subinventory_code  := p_trohdr_rec.to_subinventory_code;
1459 
1460         IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
1461           fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
1462           fnd_message.set_token('ATTRIBUTE', 'to_subinventory');
1463           fnd_msg_pub.ADD;
1464         END IF;
1465       ELSE
1466         l_trohdr_rec.to_subinventory_code  := inv_value_to_id.to_subinventory(p_organization_id => p_trohdr_rec.organization_id, p_to_subinventory => p_trohdr_val_rec.to_subinventory);
1467 
1468         IF l_trohdr_rec.to_subinventory_code = fnd_api.g_miss_char THEN
1469           l_trohdr_rec.return_status  := fnd_api.g_ret_sts_error;
1470         END IF;
1471       END IF;
1472     END IF;
1473 
1474     IF p_trohdr_val_rec.move_order_type <> fnd_api.g_miss_char THEN
1475       IF p_trohdr_rec.move_order_type <> fnd_api.g_miss_num THEN
1476         l_trohdr_rec.move_order_type  := p_trohdr_rec.move_order_type;
1477 
1478         IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_success) THEN
1479           fnd_message.set_name('INV', 'FND_BOTH_VAL_AND_ID_EXIST');
1480           fnd_message.set_token('ATTRIBUTE', 'move_order_type');
1481           fnd_msg_pub.ADD;
1482         END IF;
1483       ELSE
1484         l_trohdr_rec.move_order_type  := inv_value_to_id.move_order_type(p_move_order_type => p_trohdr_val_rec.move_order_type);
1485 
1486         IF l_trohdr_rec.move_order_type = fnd_api.g_miss_num THEN
1487           l_trohdr_rec.return_status  := fnd_api.g_ret_sts_error;
1488         END IF;
1489       END IF;
1490     END IF;
1491 
1492     /*
1493             IF p_trohdr_rec.transaction_type_id <> FND_API.G_MISS_NUM THEN
1494 
1495                 l_trohdr_rec.transaction_type_id := p_trohdr_rec.transaction_type_id;
1496 
1497                 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
1498                 THEN
1499 
1500                     FND_MESSAGE.SET_NAME('INV','FND_BOTH_VAL_AND_ID_EXIST');
1501                     FND_MESSAGE.SET_TOKEN('ATTRIBUTE','transaction_type_id');
1502                     FND_MSG_PUB.Add;
1503 
1504                 END IF;
1505 
1506             ELSE
1507 
1508                 l_trohdr_rec.transaction_type_id := INV_Value_To_Id.transaction_type_id
1509                 (   p_transaction_type_id            => p_trohdr_val_rec.transaction_type_id
1510                 );
1511         END IF;
1512     */
1513     RETURN l_trohdr_rec;
1514   END get_ids;
1515 END inv_trohdr_util;