DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_DEFAULT_TROHDR

Source


1 PACKAGE BODY INV_Default_Trohdr AS
2 /* $Header: INVDTRHB.pls 120.1 2005/06/17 04:24:30 appldev  $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'INV_Default_Trohdr';
7 
8 --  Package global used within the package.
9 g_trohdr_rec                  INV_Move_Order_PUB.Trohdr_Rec_Type;
10 
11 --  Cached Header record
12 g_cache_trohdr_rec            INV_Move_Order_PUB.Trohdr_Rec_Type;
13 
14 --  Get functions.
15 
16 FUNCTION Load_Request_Header
17 (p_header_id       IN NUMBER )
18 RETURN INV_Move_Order_PUB.Trohdr_Rec_Type
19 IS
20     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
21 BEGIN
22     /* inv_debug.message('In Load_Request_Header:'||to_char(p_header_id)); */
23 
24     IF p_header_id IS NOT NULL THEN
25 
26         IF g_cache_Trohdr_rec.header_id = FND_API.G_MISS_NUM OR
27            g_cache_Trohdr_rec.header_id <> p_header_id THEN
28 
29             g_cache_Trohdr_rec := INV_Trohdr_Util.Query_Row(p_header_id);
30 	    INV_Globals.g_max_line_num := null;
31 
32         END IF;
33 
34     END IF;
35 
36     RETURN g_cache_Trohdr_rec;
37 
38 END Load_request_Header;
39 
40 FUNCTION Get_Date_Required
41 RETURN DATE
42 IS
43     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
44 BEGIN
45 
46     RETURN Sysdate;
47 
48 END Get_Date_Required;
49 
50 FUNCTION Get_Description
51 RETURN VARCHAR2
52 IS
53     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
54 BEGIN
55 
56     RETURN NULL;
57 
58 END Get_Description;
59 
60 FUNCTION Get_From_Subinventory
61 RETURN VARCHAR2
62 IS
63     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
64 BEGIN
65 
66     RETURN NULL;
67 
68 END Get_From_Subinventory;
69 
70 FUNCTION Get_Header(p_organization_id in number)
71 RETURN NUMBER
72 IS
73 l_header_id number := null;
74     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
75 BEGIN
76 
77  If INV_globals.G_CALL_MODE = 'FORM'
78  then
79 	return null;
80  end if;
81 
82  l_header_id := INV_Transfer_Order_PVT.get_next_header_id(p_organization_id);
83 
84  RETURN l_header_id;
85 
86 END Get_Header;
87 
88 FUNCTION Get_Header_Status
89 RETURN NUMBER
90 IS
91     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
92 BEGIN
93  IF INV_globals.G_CALL_MODE = 'FORM'
94  THEN
95     RETURN 1;  /* Incomplete Status */
96  ELSE
97     RETURN 7;  /* PRE-APPROVED */
98  END IF;
99 END Get_Header_Status;
100 
101 FUNCTION Get_Organization
102 RETURN NUMBER
103 IS
104     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
105 BEGIN
106 
107     RETURN Inv_globals.g_org_id;
108 
109 END Get_Organization;
110 
111 FUNCTION Get_Request_Number
112 RETURN VARCHAR2
113 IS
114     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
115 BEGIN
116 
117     RETURN NULL;
118 
119 END Get_Request_Number;
120 
121 FUNCTION Get_Status_Date
122 RETURN DATE
123 IS
124     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
125 BEGIN
126 
127     RETURN Sysdate;
128 
129 END Get_Status_Date;
130 
131 FUNCTION Get_To_Account
132 RETURN NUMBER
133 IS
134     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
135 BEGIN
136 
137     RETURN NULL;
138 
139 END Get_To_Account;
140 
141 FUNCTION Get_To_Subinventory
142 RETURN VARCHAR2
143 IS
144     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
145 BEGIN
146 
147     RETURN NULL;
148 
149 END Get_To_Subinventory;
150 
151 FUNCTION Get_Move_Order_Type
152 RETURN NUMBER
153 IS
154     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
155 BEGIN
156 
157     RETURN 1; /* Move Order Type for Move Order Requisition */
158 
159 END Get_Move_Order_Type;
160 
161 FUNCTION Get_Transaction_Type_Id
162 RETURN NUMBER
163 IS
164     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
165 BEGIN
166 
167     RETURN 64; /* Move Order Type for Move Order Requisition */
168 
169 END Get_Transaction_Type_Id;
170 
171 PROCEDURE Get_Flex_Trohdr
172 IS
173     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
174 BEGIN
175 
176     --  In the future call Flex APIs for defaults
177 
178     IF g_trohdr_rec.attribute1 = FND_API.G_MISS_CHAR THEN
179         g_trohdr_rec.attribute1        := NULL;
180     END IF;
181 
182     IF g_trohdr_rec.attribute10 = FND_API.G_MISS_CHAR THEN
183         g_trohdr_rec.attribute10       := NULL;
184     END IF;
185 
186     IF g_trohdr_rec.attribute11 = FND_API.G_MISS_CHAR THEN
187         g_trohdr_rec.attribute11       := NULL;
188     END IF;
189 
190     IF g_trohdr_rec.attribute12 = FND_API.G_MISS_CHAR THEN
191         g_trohdr_rec.attribute12       := NULL;
192     END IF;
193 
194     IF g_trohdr_rec.attribute13 = FND_API.G_MISS_CHAR THEN
195         g_trohdr_rec.attribute13       := NULL;
196     END IF;
197 
198     IF g_trohdr_rec.attribute14 = FND_API.G_MISS_CHAR THEN
199         g_trohdr_rec.attribute14       := NULL;
200     END IF;
201 
202     IF g_trohdr_rec.attribute15 = FND_API.G_MISS_CHAR THEN
203         g_trohdr_rec.attribute15       := NULL;
204     END IF;
205 
206     IF g_trohdr_rec.attribute2 = FND_API.G_MISS_CHAR THEN
207         g_trohdr_rec.attribute2        := NULL;
208     END IF;
209 
210     IF g_trohdr_rec.attribute3 = FND_API.G_MISS_CHAR THEN
211         g_trohdr_rec.attribute3        := NULL;
212     END IF;
213 
214     IF g_trohdr_rec.attribute4 = FND_API.G_MISS_CHAR THEN
215         g_trohdr_rec.attribute4        := NULL;
216     END IF;
217 
218     IF g_trohdr_rec.attribute5 = FND_API.G_MISS_CHAR THEN
219         g_trohdr_rec.attribute5        := NULL;
220     END IF;
221 
222     IF g_trohdr_rec.attribute6 = FND_API.G_MISS_CHAR THEN
223         g_trohdr_rec.attribute6        := NULL;
224     END IF;
225 
226     IF g_trohdr_rec.attribute7 = FND_API.G_MISS_CHAR THEN
227         g_trohdr_rec.attribute7        := NULL;
228     END IF;
229 
230     IF g_trohdr_rec.attribute8 = FND_API.G_MISS_CHAR THEN
231         g_trohdr_rec.attribute8        := NULL;
232     END IF;
233 
234     IF g_trohdr_rec.attribute9 = FND_API.G_MISS_CHAR THEN
235         g_trohdr_rec.attribute9        := NULL;
236     END IF;
237 
238     IF g_trohdr_rec.attribute_category = FND_API.G_MISS_CHAR THEN
239         g_trohdr_rec.attribute_category := NULL;
240     END IF;
241 
242 END Get_Flex_Trohdr;
243 
244 --  Procedure Attributes
245 
246 PROCEDURE Attributes
247 (   p_trohdr_rec                    IN  INV_Move_Order_PUB.Trohdr_Rec_Type :=
248                                         INV_Move_Order_PUB.G_MISS_TROHDR_REC
249 ,   p_iteration                     IN  NUMBER := 1
250 ,   x_trohdr_rec                    OUT NOCOPY /* file.sql.39 change */ INV_Move_Order_PUB.Trohdr_Rec_Type
251 )
252 IS
253 l_org         INV_Validate.ORG;
254 l_fsub        INV_Validate.SUB;
255 l_tsub        INV_Validate.SUB;
256     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
257 BEGIN
258 
259     --  Check number of iterations.
260 
261     IF p_iteration > INV_GLOBALS.G_MAX_DEF_ITERATIONS THEN
262 
263         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
264         THEN
265 
266             FND_MESSAGE.SET_NAME('INV','OE_DEF_MAX_ITERATION');
267             FND_MSG_PUB.Add;
268 
269         END IF;
270 
271         RAISE FND_API.G_EXC_ERROR;
272 
273     END IF;
274 --   dbms_output.put_line('INV_Validate_default_trohdr iteration');
275     --  Initialize g_trohdr_rec
276 
277     g_trohdr_rec := p_trohdr_rec;
278 
279     --  Default missing attributes.
280     IF g_trohdr_rec.date_required = FND_API.G_MISS_DATE THEN
281         g_trohdr_rec.date_required := Get_Date_Required;
282         IF g_trohdr_rec.date_required IS NOT NULL THEN
283             IF INV_Validate_Trohdr.Date_Required(g_trohdr_rec.date_required) = INV_Validate_Trohdr.T
284             THEN
285                 INV_Trohdr_Util.Clear_Dependent_Attr
286                 (   p_attr_id                     => INV_Trohdr_Util.G_DATE_REQUIRED
287                 ,   p_trohdr_rec                  => g_trohdr_rec
288                 ,   x_trohdr_rec                  => g_trohdr_rec
289                 );
290             ELSE
291                 g_trohdr_rec.date_required := NULL;
292             END IF;
293         END IF;
294     END IF;
295 
296 --   dbms_output.put_line('INV_Validate_default_trohdr date required');
297 
298     IF g_trohdr_rec.description = FND_API.G_MISS_CHAR THEN
299         g_trohdr_rec.description := Get_Description;
300         IF g_trohdr_rec.description IS NOT NULL THEN
301             IF INV_Validate.Description(g_trohdr_rec.description)= INV_Validate.T
302             THEN
303                 INV_Trohdr_Util.Clear_Dependent_Attr
304                 (   p_attr_id                     => INV_Trohdr_Util.G_DESCRIPTION
305                 ,   p_trohdr_rec                  => g_trohdr_rec
306                 ,   x_trohdr_rec                  => g_trohdr_rec
307                 );
308             ELSE
309                 g_trohdr_rec.description := NULL;
310             END IF;
311         END IF;
312     END IF;
313    -- dbms_output.put_line('INV_Validate_default_trohdr description');
314 
315     IF g_trohdr_rec.organization_id = FND_API.G_MISS_NUM THEN
316 
317         g_trohdr_rec.organization_id := Get_Organization;
318         l_org.organization_id := g_trohdr_rec.organization_id;
319         IF g_trohdr_rec.organization_id IS NOT NULL THEN
320 
321             IF INV_Validate.Organization(l_org) = INV_Validate.T
322             THEN
323                 INV_Trohdr_Util.Clear_Dependent_Attr
324                 (   p_attr_id                     => INV_Trohdr_Util.G_ORGANIZATION
325                 ,   p_trohdr_rec                  => g_trohdr_rec
326                 ,   x_trohdr_rec                  => g_trohdr_rec
327                 );
328             ELSE
329                 g_trohdr_rec.organization_id := NULL;
330             END IF;
331 
332         END IF;
333 
334     END IF;
335    -- dbms_output.put_line('INV_Validate_default_trohdr organization');
336 
337 
338     IF g_trohdr_rec.from_subinventory_code = FND_API.G_MISS_CHAR THEN
339 
340         g_trohdr_rec.from_subinventory_code := Get_From_Subinventory;
341         l_fsub.secondary_inventory_name := g_trohdr_rec.from_subinventory_code;
342         IF g_trohdr_rec.from_subinventory_code IS NOT NULL THEN
343 
344             IF INV_Validate.subinventory(l_fsub,l_org) = INV_Validate.T
345             THEN
346                 INV_Trohdr_Util.Clear_Dependent_Attr
347                 (   p_attr_id                     => INV_Trohdr_Util.G_FROM_SUBINVENTORY
348                 ,   p_trohdr_rec                  => g_trohdr_rec
349                 ,   x_trohdr_rec                  => g_trohdr_rec
350                 );
351             ELSE
352                 g_trohdr_rec.from_subinventory_code := NULL;
353             END IF;
354 
355         END IF;
356 
357     END IF;
358    -- dbms_output.put_line('INV_Validate_default_trohdr from subinventory');
359 
360     IF g_trohdr_rec.header_id = FND_API.G_MISS_NUM THEN
361         g_trohdr_rec.header_id := Get_Header(g_trohdr_rec.organization_id);
362         IF g_trohdr_rec.header_id IS NOT NULL THEN
363             IF INV_Validate_Trohdr.Header(g_trohdr_rec.header_id) = INV_Validate_Trohdr.T
364             THEN
365                 INV_Trohdr_Util.Clear_Dependent_Attr
366                 (   p_attr_id                     => INV_Trohdr_Util.G_HEADER
367                 ,   p_trohdr_rec                  => g_trohdr_rec
368                 ,   x_trohdr_rec                  => g_trohdr_rec
369                 );
370             ELSE
371                 g_trohdr_rec.header_id := NULL;
372             END IF;
373             IF g_trohdr_rec.request_number = FND_API.G_MISS_CHAR THEN
374 	      g_trohdr_rec.request_number  := to_char(g_trohdr_rec.header_id);
375             END IF;
376         END IF;
377     END IF;
378    -- dbms_output.put_line('INV_Validate_default_trohdr header');
379 
380     IF g_trohdr_rec.header_status = FND_API.G_MISS_NUM THEN
381         g_trohdr_rec.header_status := Get_Header_Status;
382         IF g_trohdr_rec.header_status IS NOT NULL THEN
383             IF INV_Validate_Trohdr.Header_Status(g_trohdr_rec.header_status) = INV_Validate_Trohdr.T
384             THEN
385                 INV_Trohdr_Util.Clear_Dependent_Attr
386                 (   p_attr_id                     => INV_Trohdr_Util.G_HEADER_STATUS
387                 ,   p_trohdr_rec                  => g_trohdr_rec
388                 ,   x_trohdr_rec                  => g_trohdr_rec
389                 );
390             ELSE
391                 g_trohdr_rec.header_status := NULL;
392             END IF;
393         END IF;
394     END IF;
395    -- dbms_output.put_line('INV_Validate_default_trohdr header status');
396 
397     IF g_trohdr_rec.request_number = FND_API.G_MISS_CHAR THEN
398         g_trohdr_rec.request_number := Get_Request_Number;
399         IF g_trohdr_rec.request_number IS NOT NULL THEN
400             IF INV_Validate_Trohdr.Request_Number(g_trohdr_rec.request_number,
401                             l_org) = INV_Validate_Trohdr.T
402             THEN
403                 INV_Trohdr_Util.Clear_Dependent_Attr
404                 (   p_attr_id                     => INV_Trohdr_Util.G_REQUEST_NUMBER
405                 ,   p_trohdr_rec                  => g_trohdr_rec
406                 ,   x_trohdr_rec                  => g_trohdr_rec
407                 );
408             ELSE
409                 g_trohdr_rec.request_number := NULL;
410             END IF;
411         END IF;
412     END IF;
413    -- dbms_output.put_line('INV_Validate_default_trohdr request number');
414 
415     IF g_trohdr_rec.status_date = FND_API.G_MISS_DATE THEN
416 
417         g_trohdr_rec.status_date := Get_Status_Date;
418 
419         IF g_trohdr_rec.status_date IS NOT NULL THEN
420 
421             IF INV_Validate_Trohdr.Status_Date(g_trohdr_rec.status_date) = INV_Validate_Trohdr.T
422             THEN
423                 INV_Trohdr_Util.Clear_Dependent_Attr
424                 (   p_attr_id                     => INV_Trohdr_Util.G_STATUS_DATE
425                 ,   p_trohdr_rec                  => g_trohdr_rec
426                 ,   x_trohdr_rec                  => g_trohdr_rec
427                 );
428             ELSE
429                 g_trohdr_rec.status_date := NULL;
430             END IF;
431 
432         END IF;
433 
434     END IF;
435    -- dbms_output.put_line('INV_Validate_default_trohdr status date');
436 
437     IF g_trohdr_rec.to_account_id = FND_API.G_MISS_NUM THEN
438 
439         g_trohdr_rec.to_account_id := Get_To_Account;
440 
441         IF g_trohdr_rec.to_account_id IS NOT NULL THEN
442 
443             IF INV_Validate.To_Account(g_trohdr_rec.to_account_id) = INV_Validate.T
444             THEN
445                 INV_Trohdr_Util.Clear_Dependent_Attr
446                 (   p_attr_id                     => INV_Trohdr_Util.G_TO_ACCOUNT
447                 ,   p_trohdr_rec                  => g_trohdr_rec
448                 ,   x_trohdr_rec                  => g_trohdr_rec
449                 );
450             ELSE
451                 g_trohdr_rec.to_account_id := NULL;
452             END IF;
453 
454         END IF;
455 
456     END IF;
457    -- dbms_output.put_line('INV_Validate_default_trohdr to account');
458 
459     IF g_trohdr_rec.to_subinventory_code = FND_API.G_MISS_CHAR THEN
460 
461         g_trohdr_rec.to_subinventory_code := Get_To_Subinventory;
462         l_tsub.secondary_inventory_name := g_trohdr_rec.to_subinventory_code;
463         IF g_trohdr_rec.to_subinventory_code IS NOT NULL THEN
464 
465             IF INV_Validate.subinventory(l_tsub,l_org) = INV_Validate.T
466             THEN
467                 INV_Trohdr_Util.Clear_Dependent_Attr
468                 (   p_attr_id                     => INV_Trohdr_Util.G_TO_SUBINVENTORY
469                 ,   p_trohdr_rec                  => g_trohdr_rec
470                 ,   x_trohdr_rec                  => g_trohdr_rec
471                 );
472             ELSE
473                 g_trohdr_rec.to_subinventory_code := NULL;
474             END IF;
475 
476         END IF;
477 
478     END IF;
479    -- dbms_output.put_line('INV_Validate_default_trohdr to subinventory');
480 
481     IF g_trohdr_rec.move_order_type = FND_API.G_MISS_NUM THEN
485         IF g_trohdr_rec.move_order_type IS NOT NULL THEN
482 
483         g_trohdr_rec.move_order_type := Get_Move_Order_Type;
484 
486 
487             /*IF INV_Validate.Move_Order_Type(g_trohdr_rec.move_order_type)
488             THEN*/
489                 INV_Trohdr_Util.Clear_Dependent_Attr
490                 (   p_attr_id                     => INV_Trohdr_Util.G_MOVE_ORDER_TYPE
491                 ,   p_trohdr_rec                  => g_trohdr_rec
492                 ,   x_trohdr_rec                  => g_trohdr_rec
493                 );
494             --ELSE
495             --    g_trohdr_rec.move_order_type := NULL;
496            -- END IF;
497         END IF;
498     END IF;
499    -- dbms_output.put_line('INV_Validate_default_trohdr move oreders');
500 
501     IF g_trohdr_rec.transaction_type_id = FND_API.G_MISS_NUM THEN
502 
503         g_trohdr_rec.transaction_type_id := Get_Transaction_type_id;
504 
505         IF g_trohdr_rec.transaction_type_id IS NOT NULL THEN
506 
507             /*IF INV_Validate.Move_Order_Type(g_trohdr_rec.move_order_type)
508             THEN*/
509                 INV_Trohdr_Util.Clear_Dependent_Attr
510                 (   p_attr_id                     => INV_Trohdr_Util.G_TRANSACTION_TYPE
511                 ,   p_trohdr_rec                  => g_trohdr_rec
512                 ,   x_trohdr_rec                  => g_trohdr_rec
513                 );
514             --ELSE
515             --    g_trohdr_rec.move_order_type := NULL;
516            -- END IF;
517         END IF;
518     END IF;
519 
520     IF g_trohdr_rec.ship_to_location_id = FND_API.G_MISS_NUM THEN
521        g_trohdr_rec.ship_to_location_id := NULL; --  nothing to default;
522     END IF;
523 
524 
525    -- dbms_output.put_line('INV_Validate_default_trohdr transaction type');
526 
527     IF g_trohdr_rec.attribute1 = FND_API.G_MISS_CHAR
528     OR  g_trohdr_rec.attribute10 = FND_API.G_MISS_CHAR
529     OR  g_trohdr_rec.attribute11 = FND_API.G_MISS_CHAR
530     OR  g_trohdr_rec.attribute12 = FND_API.G_MISS_CHAR
531     OR  g_trohdr_rec.attribute13 = FND_API.G_MISS_CHAR
532     OR  g_trohdr_rec.attribute14 = FND_API.G_MISS_CHAR
533     OR  g_trohdr_rec.attribute15 = FND_API.G_MISS_CHAR
534     OR  g_trohdr_rec.attribute2 = FND_API.G_MISS_CHAR
535     OR  g_trohdr_rec.attribute3 = FND_API.G_MISS_CHAR
536     OR  g_trohdr_rec.attribute4 = FND_API.G_MISS_CHAR
537     OR  g_trohdr_rec.attribute5 = FND_API.G_MISS_CHAR
538     OR  g_trohdr_rec.attribute6 = FND_API.G_MISS_CHAR
539     OR  g_trohdr_rec.attribute7 = FND_API.G_MISS_CHAR
540     OR  g_trohdr_rec.attribute8 = FND_API.G_MISS_CHAR
541     OR  g_trohdr_rec.attribute9 = FND_API.G_MISS_CHAR
542     OR  g_trohdr_rec.attribute_category = FND_API.G_MISS_CHAR
543     THEN
544 
545         Get_Flex_Trohdr;
546 
547     END IF;
548 
549     IF g_trohdr_rec.created_by = FND_API.G_MISS_NUM THEN
550 
551        g_trohdr_rec.created_by := NULL;
552        -- dbms_output.put_line('INV_Validate_default_trohdr created by null');
553 
554     END IF;
555 
556     IF g_trohdr_rec.creation_date = FND_API.G_MISS_DATE THEN
557 
558         g_trohdr_rec.creation_date := NULL;
559        -- dbms_output.put_line('INV_Validate_default_trohdr creation date null');
560 
561     END IF;
562 
563     IF g_trohdr_rec.last_updated_by = FND_API.G_MISS_NUM THEN
564 
565         g_trohdr_rec.last_updated_by := NULL;
566        -- dbms_output.put_line('INV_Validate_default_trohdr updated by null');
567 
568     END IF;
569 
570     IF g_trohdr_rec.last_update_date = FND_API.G_MISS_DATE THEN
571 
572         g_trohdr_rec.last_update_date := NULL;
573        -- dbms_output.put_line('INV_Validate_default_trohdr update date null');
574 
575     END IF;
576 
577     IF g_trohdr_rec.last_update_login = FND_API.G_MISS_NUM THEN
578 
579         g_trohdr_rec.last_update_login := NULL;
580        -- dbms_output.put_line('INV_Validate_default_trohdr last update login null');
581 
582     END IF;
583 
584     IF g_trohdr_rec.program_application_id = FND_API.G_MISS_NUM THEN
585 
586         g_trohdr_rec.program_application_id := NULL;
587        -- dbms_output.put_line('INV_Validate_default_trohdr application id null');
588 
589     END IF;
590 
591     IF g_trohdr_rec.program_id = FND_API.G_MISS_NUM THEN
592 
593         g_trohdr_rec.program_id := NULL;
594        -- dbms_output.put_line('INV_Validate_default_trohdr program id null');
595 
596     END IF;
597 
598     IF g_trohdr_rec.program_update_date = FND_API.G_MISS_DATE THEN
599 
600         g_trohdr_rec.program_update_date := NULL;
601        -- dbms_output.put_line('INV_Validate_default_trohdr program update null');
602 
603     END IF;
604 
605     IF g_trohdr_rec.request_id = FND_API.G_MISS_NUM THEN
606 
607         g_trohdr_rec.request_id := NULL;
608        -- dbms_output.put_line('INV_Validate_default_trohdr request null');
609 
610     END IF;
611 
612     --  Redefault if there are any missing attributes.
613 
614     IF  g_trohdr_rec.attribute1 = FND_API.G_MISS_CHAR
615     OR  g_trohdr_rec.attribute10 = FND_API.G_MISS_CHAR
616     OR  g_trohdr_rec.attribute11 = FND_API.G_MISS_CHAR
617     OR  g_trohdr_rec.attribute12 = FND_API.G_MISS_CHAR
618     OR  g_trohdr_rec.attribute13 = FND_API.G_MISS_CHAR
619     OR  g_trohdr_rec.attribute14 = FND_API.G_MISS_CHAR
620     OR  g_trohdr_rec.attribute15 = FND_API.G_MISS_CHAR
621     OR  g_trohdr_rec.attribute2 = FND_API.G_MISS_CHAR
622     OR  g_trohdr_rec.attribute3 = FND_API.G_MISS_CHAR
623     OR  g_trohdr_rec.attribute4 = FND_API.G_MISS_CHAR
624     OR  g_trohdr_rec.attribute5 = FND_API.G_MISS_CHAR
625     OR  g_trohdr_rec.attribute6 = FND_API.G_MISS_CHAR
626     OR  g_trohdr_rec.attribute7 = FND_API.G_MISS_CHAR
627     OR  g_trohdr_rec.attribute8 = FND_API.G_MISS_CHAR
628     OR  g_trohdr_rec.attribute9 = FND_API.G_MISS_CHAR
629     OR  g_trohdr_rec.attribute_category = FND_API.G_MISS_CHAR
630     OR  g_trohdr_rec.created_by = FND_API.G_MISS_NUM
631     OR  g_trohdr_rec.creation_date = FND_API.G_MISS_DATE
632     OR  g_trohdr_rec.date_required = FND_API.G_MISS_DATE
633     OR  g_trohdr_rec.description = FND_API.G_MISS_CHAR
634     OR  g_trohdr_rec.from_subinventory_code = FND_API.G_MISS_CHAR
635     OR  g_trohdr_rec.header_id = FND_API.G_MISS_NUM
636     OR  g_trohdr_rec.header_status = FND_API.G_MISS_NUM
637     OR  g_trohdr_rec.last_updated_by = FND_API.G_MISS_NUM
638     OR  g_trohdr_rec.last_update_date = FND_API.G_MISS_DATE
639     OR  g_trohdr_rec.last_update_login = FND_API.G_MISS_NUM
640     OR  g_trohdr_rec.organization_id = FND_API.G_MISS_NUM
641     OR  g_trohdr_rec.program_application_id = FND_API.G_MISS_NUM
642     OR  g_trohdr_rec.program_id = FND_API.G_MISS_NUM
643     OR  g_trohdr_rec.program_update_date = FND_API.G_MISS_DATE
644     OR  g_trohdr_rec.request_id = FND_API.G_MISS_NUM
645     OR  g_trohdr_rec.request_number = FND_API.G_MISS_CHAR
646     OR  g_trohdr_rec.status_date = FND_API.G_MISS_DATE
647     OR  g_trohdr_rec.to_account_id = FND_API.G_MISS_NUM
648     OR  g_trohdr_rec.to_subinventory_code = FND_API.G_MISS_CHAR
649     OR  g_trohdr_rec.move_order_type = FND_API.G_MISS_NUM
650     OR  g_trohdr_rec.transaction_type_id = FND_API.G_MISS_NUM
651     THEN
652        -- dbms_output.put_line('INV_Validate_default_trohdr big null');
653 
654         INV_Default_Trohdr.Attributes
655         (   p_trohdr_rec                  => g_trohdr_rec
656         ,   p_iteration                   => p_iteration + 1
657         ,   x_trohdr_rec                  => x_trohdr_rec
658         );
659 
660     ELSE
661 
662         --  Done defaulting attributes
663 
664         x_trohdr_rec := g_trohdr_rec;
665 
666     END IF;
667 
668 END Attributes;
669 
670 END INV_Default_Trohdr;