DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_EDI_PVT

Source


1 PACKAGE BODY OE_EDI_PVT AS
2 /* $Header: OEXVEDIB.pls 115.15 2004/04/20 05:39:59 jjmcfarl ship $ */
3 
4 /*
5 ---------------------------------------------------------------
6 --  Start of Comments
7 --  API name    OE_EDI_PVT
8 --  Type        Private
9 --  Function
10 --  Pre-reqs
11 --  Parameters
12 --  Version     Current version = 1.0
13 --              Initial version = 1.0
14 --  Notes
15 --
16 --  End of Comments
17 ------------------------------------------------------------------
18 */
19 
20 /* -----------------------------------------------------------
21    Procedure: Pre_Process
22    -----------------------------------------------------------
23 */
24 PROCEDURE Pre_Process(
25    p_header_rec		IN OUT NOCOPY OE_Order_Pub.Header_Rec_Type
26   ,p_header_adj_tbl     IN OUT NOCOPY OE_Order_Pub.Header_Adj_Tbl_Type
27   ,p_header_scredit_tbl IN OUT NOCOPY OE_Order_Pub.Header_Scredit_Tbl_Type
28   ,p_line_tbl		IN OUT NOCOPY OE_Order_Pub.Line_Tbl_Type
29   ,p_line_adj_tbl	IN OUT NOCOPY OE_Order_Pub.Line_Adj_Tbl_Type
30   ,p_line_scredit_tbl   IN OUT NOCOPY OE_Order_Pub.Line_Scredit_Tbl_Type
31   ,p_lot_serial_tbl     IN OUT NOCOPY OE_Order_Pub.Lot_Serial_Tbl_Type
32   ,p_header_val_rec     IN OUT NOCOPY OE_Order_Pub.Header_Val_Rec_Type
33   ,p_header_adj_val_tbl IN OUT NOCOPY OE_Order_Pub.Header_Adj_Val_Tbl_Type
34   ,p_header_scredit_val_tbl IN OUT NOCOPY OE_Order_Pub.Header_Scredit_Val_Tbl_Type
35   ,p_line_val_tbl       IN OUT NOCOPY OE_Order_Pub.Line_Val_Tbl_Type
36   ,p_line_adj_val_tbl   IN OUT NOCOPY OE_Order_Pub.Line_Adj_Val_Tbl_Type
37   ,p_line_scredit_val_tbl IN OUT NOCOPY OE_Order_Pub.Line_Scredit_Val_Tbl_Type
38   ,p_lot_serial_val_tbl IN OUT NOCOPY OE_Order_Pub.Lot_Serial_Val_Tbl_Type
39 ,p_return_status OUT NOCOPY VARCHAR2
40 
41 ) IS
42    l_header_rec			OE_Order_Pub.Header_Rec_Type;
43    l_header_adj_tbl		OE_Order_Pub.Header_Adj_Tbl_Type;
44    l_header_scredit_tbl		OE_Order_Pub.Header_Scredit_Tbl_Type;
45    l_line_tbl			OE_Order_Pub.Line_Tbl_Type;
46    l_line_adj_tbl		OE_Order_Pub.Line_Adj_Tbl_Type;
47    l_line_scredit_tbl		OE_Order_Pub.Line_Scredit_Tbl_Type;
48    l_lot_serial_tbl		OE_Order_Pub.Lot_Serial_Tbl_Type;
49 
50    l_header_val_rec		OE_Order_Pub.Header_Val_Rec_Type;
51    l_header_adj_val_tbl		OE_Order_Pub.Header_Adj_Val_Tbl_Type;
52    l_header_scredit_val_tbl	OE_Order_Pub.Header_Scredit_Val_Tbl_Type;
53    l_line_val_tbl		OE_Order_Pub.Line_Val_Tbl_Type;
54    l_line_adj_val_tbl		OE_Order_Pub.Line_Adj_Val_Tbl_Type;
55    l_line_scredit_val_tbl	OE_Order_Pub.Line_Scredit_Val_Tbl_Type;
56    l_lot_serial_val_tbl		OE_Order_Pub.Lot_Serial_Val_Tbl_Type;
57 
58    l_line_exists		VARCHAR2(1);
59    l_change_sequence		VARCHAR2(50);
60    l_orig_sys_line_ref		VARCHAR2(50);
61    l_orig_sys_shipment_ref	VARCHAR2(50);
62    l_line_count			NUMBER;
63    l_line_id			NUMBER;
64    l_line_number		NUMBER;
65    l_shipment_number		NUMBER;
66    l_option_number		NUMBER;
67    l_header_ship_to_org_id	NUMBER;
68    l_line_ship_to_org_id	NUMBER;
69 
70    G_IMPORT_SHIPMENTS           VARCHAR2(3);
71 
72    l_customer_key_profile    VARCHAR2(1)   :=  'N';
73 /* -----------------------------------------------------------
74    Lines cursor: select only the open lines
75    -----------------------------------------------------------
76 */
77     CURSOR l_line_cursor IS
78     SELECT orig_sys_line_ref
79          , orig_sys_shipment_ref
80          , line_id
81          , line_number
82          , shipment_number
83          , option_number
84          , ship_to_org_id
85       FROM oe_order_lines
86      WHERE header_id 		    = l_header_rec.header_id
87        AND nvl(ordered_quantity, 0) > 0
88   ORDER BY orig_sys_line_ref, orig_sys_shipment_ref;
89 
90 --
91 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
92 --
93 BEGIN
94 
95    l_header_rec			:= p_header_rec;
96    l_header_adj_tbl		:= p_header_adj_tbl;
97    l_header_scredit_tbl		:= p_header_scredit_tbl;
98    l_line_tbl			:= p_line_tbl;
99    l_line_adj_tbl		:= p_line_adj_tbl;
100    l_line_scredit_tbl		:= p_line_scredit_tbl;
101    l_lot_serial_tbl		:= p_lot_serial_tbl;
102 
103    l_header_val_rec		:= p_header_val_rec;
104    l_header_adj_val_tbl		:= p_header_adj_val_tbl;
105    l_header_scredit_val_tbl	:= p_header_scredit_val_tbl;
106    l_line_val_tbl		:= p_line_val_tbl;
107    l_line_adj_val_tbl		:= p_line_adj_val_tbl;
108    l_line_scredit_val_tbl	:= p_line_scredit_val_tbl;
109    l_lot_serial_val_tbl		:= p_lot_serial_val_tbl;
110 
111    p_return_status := FND_API.G_RET_STS_SUCCESS; /* Init to Success */
112 
113    fnd_profile.get('ONT_IMP_MULTIPLE_SHIPMENTS', G_IMPORT_SHIPMENTS);
114    G_IMPORT_SHIPMENTS := nvl(G_IMPORT_SHIPMENTS, 'NO');
115 
116 
117  If OE_CODE_CONTROL.GET_CODE_RELEASE_LEVEL >= '110510' Then
118   fnd_profile.get('ONT_INCLUDE_CUST_IN_OI_KEY', l_customer_key_profile);
119   l_customer_key_profile := nvl(l_customer_key_profile, 'N');
120   IF l_debug_level  > 0 THEN
121       oe_debug_pub.add(  'DERIVED CUSTOMER KEY PROFILE SETTING = '||l_customer_key_profile ) ;
122   END IF;
123  End If;
124 
125 
126 
127 /* -----------------------------------------------------------
128    Set message context
129    -----------------------------------------------------------
130 */
131    IF l_debug_level  > 0 THEN
132        oe_debug_pub.add(  'BEFORE SETTING MESSAGE CONTEXT' ) ;
133    END IF;
134 
135    OE_MSG_PUB.set_msg_context(
136          p_entity_code                => 'HEADER'
137         ,p_entity_ref                 => null
138         ,p_entity_id                  => null
139         ,p_header_id                  => l_header_rec.header_id
140         ,p_line_id                    => null
141 --      ,p_batch_request_id           => l_header_rec.request_id
142         ,p_order_source_id            => l_header_rec.order_source_id
143         ,p_orig_sys_document_ref      => l_header_rec.orig_sys_document_ref
144         ,p_change_sequence            => l_header_rec.change_sequence
145         ,p_orig_sys_document_line_ref => null
146         ,p_orig_sys_shipment_ref      => null
147         ,p_source_document_type_id    => null
148         ,p_source_document_id         => null
149         ,p_source_document_line_id    => null
150         ,p_attribute_code             => null
151         ,p_constraint_id              => null
152         );
153 
154 /* -----------------------------------------------------------
155    Validate change sequence
156    -----------------------------------------------------------
157 */
158    IF l_debug_level  > 0 THEN
159        oe_debug_pub.add(  'BEFORE VALIDATING CHANGE SEQUENCE' ) ;
160    END IF;
161 
162  IF l_header_rec.force_apply_flag = 'Y' THEN
163   IF l_debug_level  > 0 THEN
164        oe_debug_pub.add(  'FORCE APPLY FLAG IS SET, NOT CHECKING EXISTENCE OF CHANGE_SEQUENCE' ) ;
165    END IF;
166  ELSE
167    IF  l_header_rec.operation IN (OE_Globals.G_OPR_CREATE,
168 				  OE_Globals.G_OPR_INSERT)
169    THEN
170     IF nvl(l_header_rec.change_sequence, ' ') <> ' ' THEN
171         IF l_debug_level  > 0 THEN
172             oe_debug_pub.add(  'CHANGE SEQUENCE NOT REQUIRED FOR NEW ORDERS... ' ) ;
173         END IF;
174         FND_MESSAGE.SET_NAME('ONT','OE_OI_CHANGE_SEQUENCE');
175         OE_MSG_PUB.Add;
176         p_return_status := FND_API.G_RET_STS_ERROR;
177     END IF;
178 
179    ELSIF  l_header_rec.operation = OE_Globals.G_OPR_DELETE THEN
180     IF nvl(l_header_rec.change_sequence, ' ') <> ' ' THEN
181         IF l_debug_level  > 0 THEN
182             oe_debug_pub.add(  'CHANGE SEQUENCE NOT REQUIRED FOR DELETING EXISTING ORDERS... ' ) ;
183         END IF;
184         FND_MESSAGE.SET_NAME('ONT','OE_OI_CHANGE_SEQUENCE');
185         OE_MSG_PUB.Add;
186         p_return_status := FND_API.G_RET_STS_ERROR;
187     END IF;
188 
189    ELSIF  l_header_rec.operation = OE_Globals.G_OPR_UPDATE THEN
190     IF nvl(l_header_rec.change_sequence,' ') = ' ' THEN
191         IF l_debug_level  > 0 THEN
192             oe_debug_pub.add(  'CHANGE SEQUENCE REQUIRED FOR CHANGES TO AN EXISTING ORDER... ' ) ;
193         END IF;
194         FND_MESSAGE.SET_NAME('ONT','OE_OI_CHANGE_SEQUENCE');
195         OE_MSG_PUB.Add;
196         p_return_status := FND_API.G_RET_STS_ERROR;
197     ELSE
198 /*     -----------------------------------------------------------
199 Validate change out nocopy of sequence
200 
201        -----------------------------------------------------------
202 */
203        IF l_debug_level  > 0 THEN
204 oe_debug_pub.add( 'BEFORE VALIDATING CHANGE OUT NOCOPY OF SEQUENCE' ) ;
205 
206        END IF;
207 
208        BEGIN
209         SELECT change_sequence, ship_to_org_id
210           INTO l_change_sequence, l_header_ship_to_org_id
211           FROM oe_order_headers
212          WHERE order_source_id       = l_header_rec.order_source_id
213            AND orig_sys_document_ref = l_header_rec.orig_sys_document_ref
214            AND decode(l_customer_key_profile, 'Y',
215 	       nvl(sold_to_org_id, FND_API.G_MISS_NUM), 1)
216                = decode(l_customer_key_profile, 'Y',
217 	       nvl(l_header_rec.sold_to_org_id, FND_API.G_MISS_NUM), 1);
218 
219 -- validation for whether change is out of sequence will be done in order import pre_process
220 
221         EXCEPTION
222         WHEN OTHERS THEN
223          IF l_debug_level  > 0 THEN
224              oe_debug_pub.add(  'UNEXPECTED ERROR: '||SQLERRM ) ;
225          END IF;
226 
227          IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
228 	    p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
229             OE_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, 'Pre_Process.header_change_sequence_validation');
230          END IF;
231        END;	  -- header change sequence is not null
232     END IF;	 -- If header change sequence is...
233    END IF;	-- If header operation code is...
234   END IF;       -- force apply flag
235 
236 /* -----------------------------------------------------------
237    Default ship-to-location code for all existing lines if the
238    code at the header level has changed.
239    -----------------------------------------------------------
240 */
241    IF l_debug_level  > 0 THEN
242        oe_debug_pub.add(  'BEFORE DEFAULTING SHIP-TO-LOCATION FOR ALL OPEN SHIPMENTS' ) ;
243    END IF;
244 
245    IF  l_header_rec.operation = OE_Globals.G_OPR_UPDATE AND -- update operation
246        nvl(l_header_rec.change_sequence,' ') <> ' ' AND	-- new code not null
247 	  l_header_rec.ship_to_org_id <> FND_API.G_MISS_NUM AND
248        nvl(l_header_rec.ship_to_org_id, FND_API.G_MISS_NUM) <>
249        nvl(l_header_ship_to_org_id, FND_API.G_MISS_NUM) -- new code not same as old
250    THEN
251        IF l_debug_level  > 0 THEN
252            oe_debug_pub.add(  'BEFORE READING ALL OPEN SHIPMENTS' ) ;
253        END IF;
254 
255        OPEN l_line_cursor;
256        LOOP
257           FETCH l_line_cursor
258            INTO l_orig_sys_line_ref
259               , l_orig_sys_shipment_ref
260               , l_line_id
261               , l_line_number
262               , l_shipment_number
263               , l_option_number
264               , l_line_ship_to_org_id;
265            EXIT WHEN l_line_cursor%NOTFOUND;
266 
267        IF nvl(l_line_ship_to_org_id, l_header_ship_to_org_id) <>
268           nvl(l_header_rec.ship_to_org_id, FND_API.G_MISS_NUM)
269        THEN
270           l_line_exists := 'N';
271           FOR I IN 1..l_line_tbl.count
272           LOOP
273             If OE_CODE_CONTROL.GET_CODE_RELEASE_LEVEL >= '110508' AND
274                G_IMPORT_SHIPMENTS = 'YES' Then
275               If l_line_tbl(I).orig_sys_line_ref     = l_orig_sys_line_ref AND
276                  l_line_tbl(I).orig_sys_shipment_ref = l_orig_sys_shipment_ref Then
277                 l_line_exists := 'Y';
278                 If l_line_tbl(I).operation = OE_Globals.G_OPR_UPDATE AND
279                    nvl(l_line_tbl(I).ship_to_org_id, FND_API.G_MISS_NUM) <>
280                    nvl(l_header_rec.ship_to_org_id, FND_API.G_MISS_NUM) Then
281 
282                   l_line_tbl(I).ship_to_org_id := l_header_rec.ship_to_org_id;
283                 End If;
284               End If;
285             Elsif (OE_CODE_CONTROL.GET_CODE_RELEASE_LEVEL >= '110508' AND
286                    G_IMPORT_SHIPMENTS = 'NO') OR
287                   OE_CODE_CONTROL.GET_CODE_RELEASE_LEVEL < '110508' Then
288               If l_line_tbl(I).orig_sys_line_ref   = l_orig_sys_line_ref Then
289                 l_line_exists := 'Y';
290                 If l_line_tbl(I).operation = OE_Globals.G_OPR_UPDATE AND
291                    nvl(l_line_tbl(I).ship_to_org_id, FND_API.G_MISS_NUM) <>
292                    nvl(l_header_rec.ship_to_org_id, FND_API.G_MISS_NUM) Then
293 
294                   l_line_tbl(I).ship_to_org_id := l_header_rec.ship_to_org_id;
295                 End If;
296               End If;
297 
298             End If;
299           END LOOP;
300 
301           IF l_line_exists = 'N' THEN
302        	     IF l_debug_level  > 0 THEN
303        	         oe_debug_pub.add(  'LINE DOES NOT EXIST. CREATING A NEW LINE...' ) ;
304        	     END IF;
305 
306 	     l_line_count := l_line_tbl.count + 1;
307              l_line_tbl(l_line_count).operation:= OE_Globals.G_OPR_UPDATE;
308              l_line_tbl(l_line_count).order_source_id := l_header_rec.order_source_id;
309              l_line_tbl(l_line_count).orig_sys_document_ref := l_header_rec.orig_sys_document_ref;
310              l_line_tbl(l_line_count).orig_sys_line_ref := l_orig_sys_line_ref;
311              l_line_tbl(l_line_count).orig_sys_shipment_ref := l_orig_sys_shipment_ref;
312              l_line_tbl(l_line_count).line_id := l_line_id;
313              l_line_tbl(l_line_count).line_number := l_line_number;
314              l_line_tbl(l_line_count).shipment_number:= l_shipment_number;
315              l_line_tbl(l_line_count).option_number := l_option_number;
316              l_line_tbl(l_line_count).ship_to_org_id := l_header_rec.ship_to_org_id;
317        	     IF l_debug_level  > 0 THEN
318        	         oe_debug_pub.add(  'COUNT: '||TO_CHAR ( L_LINE_COUNT ) ) ;
319        	     END IF;
320        	     IF l_debug_level  > 0 THEN
321        	         oe_debug_pub.add(  'ORIG_SYS_LINE_REF: '||L_ORIG_SYS_LINE_REF ) ;
322        	     END IF;
323        	     IF l_debug_level  > 0 THEN
324        	         oe_debug_pub.add(  'LINE_ID: '||L_LINE_ID ) ;
325        	     END IF;
326        	     IF l_debug_level  > 0 THEN
327        	         oe_debug_pub.add(  'SHIP_TO_ORG_ID: '||L_HEADER_REC.SHIP_TO_ORG_ID ) ;
328        	     END IF;
329           END IF;
330        END IF;
331        END LOOP;
332    END IF;
333 
334    IF (nvl(l_header_rec.SHIP_TO_ORG_ID,FND_API.G_MISS_NUM)
335              <> FND_API.G_MISS_NUM) THEN
336 
337       IF (nvl(l_header_val_rec.SHIP_TO_ORG,FND_API.G_MISS_CHAR)
338          <> FND_API.G_MISS_CHAR) THEN
339           p_header_val_rec.SHIP_TO_ORG := NULL;
340       END IF;
341       IF (nvl(l_header_val_rec.ship_to_address1,FND_API.G_MISS_CHAR)
342          <> FND_API.G_MISS_CHAR) THEN
343           p_header_val_rec.ship_to_address1 := NULL;
344       END IF;
345       IF (nvl(l_header_val_rec.ship_to_address2,FND_API.G_MISS_CHAR)
346          <> FND_API.G_MISS_CHAR) THEN
347           p_header_val_rec.ship_to_address2 := NULL;
348       END IF;
349       IF (nvl(l_header_val_rec.ship_to_address3,FND_API.G_MISS_CHAR)
350          <> FND_API.G_MISS_CHAR) THEN
351           p_header_val_rec.ship_to_address3 := NULL;
352       END IF;
353       IF (nvl(l_header_val_rec.ship_to_address4,FND_API.G_MISS_CHAR)
354          <> FND_API.G_MISS_CHAR) THEN
355           p_header_val_rec.ship_to_address4 := NULL;
356       END IF;
357       IF (nvl(l_header_val_rec.ship_to_location,FND_API.G_MISS_CHAR)
358          <> FND_API.G_MISS_CHAR) THEN
359           p_header_val_rec.ship_to_location := NULL;
360       END IF;
361 
362       IF l_debug_level  > 0 THEN
363           oe_debug_pub.add(  'CLEARING THE SHIP_TO_ORG IN HEADER' ) ;
364       END IF;
365    END IF;
366    --
367    IF (nvl(l_header_rec.INVOICE_TO_ORG_ID,FND_API.G_MISS_NUM)
368              <> FND_API.G_MISS_NUM) THEN
369 
370       IF (nvl(l_header_val_rec.INVOICE_TO_ORG,FND_API.G_MISS_CHAR)
371          <> FND_API.G_MISS_CHAR) THEN
372           p_header_val_rec.INVOICE_TO_ORG := NULL;
373       END IF;
374       IF (nvl(l_header_val_rec.invoice_to_address1,FND_API.G_MISS_CHAR)
375          <> FND_API.G_MISS_CHAR) THEN
376           p_header_val_rec.invoice_to_address1 := NULL;
377       END IF;
378       IF (nvl(l_header_val_rec.invoice_to_address2,FND_API.G_MISS_CHAR)
379          <> FND_API.G_MISS_CHAR) THEN
380           p_header_val_rec.invoice_to_address2 := NULL;
381       END IF;
382       IF (nvl(l_header_val_rec.invoice_to_address3,FND_API.G_MISS_CHAR)
383          <> FND_API.G_MISS_CHAR) THEN
384           p_header_val_rec.invoice_to_address3 := NULL;
385       END IF;
386       IF (nvl(l_header_val_rec.invoice_to_address4,FND_API.G_MISS_CHAR)
387          <> FND_API.G_MISS_CHAR) THEN
388           p_header_val_rec.invoice_to_address4 := NULL;
389       END IF;
390       IF (nvl(l_header_val_rec.invoice_to_location,FND_API.G_MISS_CHAR)
391          <> FND_API.G_MISS_CHAR) THEN
392           p_header_val_rec.invoice_to_location := NULL;
393       END IF;
394       IF l_debug_level  > 0 THEN
395           oe_debug_pub.add(  'CLEARING THE INVOICE_TO IN HEADER' ) ;
396       END IF;
397    END IF;
398    BEGIN
399      FOR I IN 1..l_line_tbl.count
400      LOOP
401        IF (nvl(l_line_tbl(I).SHIP_TO_ORG_ID,FND_API.G_MISS_NUM)
402                <> FND_API.G_MISS_NUM)  THEN
403 
404            IF (nvl(p_line_val_tbl(I).SHIP_TO_ORG ,FND_API.G_MISS_CHAR)
405                <> FND_API.G_MISS_CHAR) THEN
406               p_line_val_tbl(I).SHIP_TO_ORG := NULL;
407            END IF;
408            IF (nvl(p_line_val_tbl(I).ship_to_address1 ,FND_API.G_MISS_CHAR)
409                <> FND_API.G_MISS_CHAR) THEN
410               p_line_val_tbl(I).ship_to_address1 := NULL;
411            END IF;
412            IF (nvl(p_line_val_tbl(I).ship_to_address2 ,FND_API.G_MISS_CHAR)
413                <> FND_API.G_MISS_CHAR) THEN
414               p_line_val_tbl(I).ship_to_address2 := NULL;
415            END IF;
416            IF (nvl(p_line_val_tbl(I).ship_to_address3 ,FND_API.G_MISS_CHAR)
417                <> FND_API.G_MISS_CHAR) THEN
418               p_line_val_tbl(I).ship_to_address3 := NULL;
419            END IF;
420            IF (nvl(p_line_val_tbl(I).ship_to_address4 ,FND_API.G_MISS_CHAR)
421                <> FND_API.G_MISS_CHAR) THEN
422               p_line_val_tbl(I).ship_to_address4 := NULL;
423            END IF;
424            IF (nvl(p_line_val_tbl(I).ship_to_location ,FND_API.G_MISS_CHAR)
425                <> FND_API.G_MISS_CHAR) THEN
426               p_line_val_tbl(I).ship_to_location := NULL;
427            END IF;
428 
429        --
430            IF l_debug_level  > 0 THEN
431                oe_debug_pub.add(  'CLEARING THE SHIP_TO_ORG IN LINE' ) ;
432            END IF;
433        END IF;
434 
435        IF (nvl(l_line_tbl(I).INVOICE_TO_ORG_ID,FND_API.G_MISS_NUM)
436                <> FND_API.G_MISS_NUM)  THEN
437 
438            IF (nvl(p_line_val_tbl(I).INVOICE_TO_ORG ,FND_API.G_MISS_CHAR)
439                <> FND_API.G_MISS_CHAR) THEN
440               p_line_val_tbl(I).INVOICE_TO_ORG := NULL;
441            END IF;
442            IF (nvl(p_line_val_tbl(I).invoice_to_address1 ,FND_API.G_MISS_CHAR)
443                <> FND_API.G_MISS_CHAR) THEN
444               p_line_val_tbl(I).invoice_to_address1 := NULL;
445            END IF;
446            IF (nvl(p_line_val_tbl(I).invoice_to_address2 ,FND_API.G_MISS_CHAR)
447                <> FND_API.G_MISS_CHAR) THEN
448               p_line_val_tbl(I).invoice_to_address2 := NULL;
449            END IF;
450            IF (nvl(p_line_val_tbl(I).invoice_to_address3 ,FND_API.G_MISS_CHAR)
451                <> FND_API.G_MISS_CHAR) THEN
452               p_line_val_tbl(I).invoice_to_address3 := NULL;
453            END IF;
454            IF (nvl(p_line_val_tbl(I).invoice_to_address4 ,FND_API.G_MISS_CHAR)
455                <> FND_API.G_MISS_CHAR) THEN
456               p_line_val_tbl(I).invoice_to_address4 := NULL;
457            END IF;
458            IF (nvl(p_line_val_tbl(I).invoice_to_location ,FND_API.G_MISS_CHAR)
459                <> FND_API.G_MISS_CHAR) THEN
460               p_line_val_tbl(I).invoice_to_location := NULL;
461            END IF;
462 
463        --
464            IF l_debug_level  > 0 THEN
465                oe_debug_pub.add(  'CLEARING THE INVOICE_TO_ORG IN LINE' ) ;
466            END IF;
467        END IF;
468      END LOOP;
469    EXCEPTION
470      WHEN OTHERS THEN
471        NULL;
472    END;
473 
474    p_line_tbl := l_line_tbl;	-- line table could have changed
475 
476 END Pre_Process;
477 
478 
479 /* -----------------------------------------------------------
480    Procedure: Post_Process
481    -----------------------------------------------------------
482 */
483 PROCEDURE Post_Process(
484    p_header_rec			IN  	OE_Order_Pub.Header_Rec_Type
485   ,p_header_adj_tbl             IN	OE_Order_Pub.Header_Adj_Tbl_Type
486   ,p_header_scredit_tbl         IN	OE_Order_Pub.Header_Scredit_Tbl_Type
487   ,p_line_tbl			IN  	OE_Order_Pub.Line_Tbl_Type
488   ,p_line_adj_tbl		IN	OE_Order_Pub.Line_Adj_Tbl_Type
489   ,p_line_scredit_tbl           IN	OE_Order_Pub.Line_Scredit_Tbl_Type
490   ,p_lot_serial_tbl             IN	OE_Order_Pub.Lot_Serial_Tbl_Type
491 
492   ,p_header_val_rec             IN	OE_Order_Pub.Header_Val_Rec_Type
493   ,p_header_adj_val_tbl         IN	OE_Order_Pub.Header_Adj_Val_Tbl_Type
494   ,p_header_scredit_val_tbl     IN	OE_Order_Pub.Header_Scredit_Val_Tbl_Type
495   ,p_line_val_tbl               IN	OE_Order_Pub.Line_Val_Tbl_Type
496   ,p_line_adj_val_tbl           IN	OE_Order_Pub.Line_Adj_Val_Tbl_Type
497   ,p_line_scredit_val_tbl       IN	OE_Order_Pub.Line_Scredit_Val_Tbl_Type
498   ,p_lot_serial_val_tbl         IN	OE_Order_Pub.Lot_Serial_Val_Tbl_Type
499 
500 ,p_return_status OUT NOCOPY VARCHAR2
501 
502 ) IS
503    l_header_rec			OE_Order_Pub.Header_Rec_Type;
504    l_header_adj_tbl		OE_Order_Pub.Header_Adj_Tbl_Type;
505    l_header_scredit_tbl		OE_Order_Pub.Header_Scredit_Tbl_Type;
506    l_line_tbl			OE_Order_Pub.Line_Tbl_Type;
507    l_line_adj_tbl		OE_Order_Pub.Line_Adj_Tbl_Type;
508    l_line_scredit_tbl		OE_Order_Pub.Line_Scredit_Tbl_Type;
509    l_lot_serial_tbl		OE_Order_Pub.Lot_Serial_Tbl_Type;
510 
511    l_header_val_rec		OE_Order_Pub.Header_Val_Rec_Type;
512    l_header_adj_val_tbl		OE_Order_Pub.Header_Adj_Val_Tbl_Type;
513    l_header_scredit_val_tbl	OE_Order_Pub.Header_Scredit_Val_Tbl_Type;
514    l_line_val_tbl		OE_Order_Pub.Line_Val_Tbl_Type;
515    l_line_adj_val_tbl		OE_Order_Pub.Line_Adj_Val_Tbl_Type;
516    l_line_scredit_val_tbl	OE_Order_Pub.Line_Scredit_Val_Tbl_Type;
517    l_lot_serial_val_tbl		OE_Order_Pub.Lot_Serial_Val_Tbl_Type;
518 BEGIN
519 
520    l_header_rec			:= p_header_rec;
521    l_header_adj_tbl		:= p_header_adj_tbl;
522    l_header_scredit_tbl		:= p_header_scredit_tbl;
523    l_line_tbl			:= p_line_tbl;
524    l_line_adj_tbl		:= p_line_adj_tbl;
525    l_line_scredit_tbl		:= p_line_scredit_tbl;
526    l_lot_serial_tbl		:= p_lot_serial_tbl;
527 
528    l_header_val_rec		:= p_header_val_rec;
529    l_header_adj_val_tbl		:= p_header_adj_val_tbl;
530    l_header_scredit_val_tbl	:= p_header_scredit_val_tbl;
531    l_line_val_tbl		:= p_line_val_tbl;
532    l_line_adj_val_tbl		:= p_line_adj_val_tbl;
533    l_line_scredit_val_tbl	:= p_line_scredit_val_tbl;
534    l_lot_serial_val_tbl		:= p_lot_serial_val_tbl;
535 
536    p_return_status := FND_API.G_RET_STS_SUCCESS; /* Init to Success */
537 
538 /* --------------------------------------------------------------------
539    Have nothing to code here today. But have created this procedure for
540    future requirements.
541    --------------------------------------------------------------------
542 */
543 END POST_PROCESS;
544 
545 
546 END OE_EDI_PVT;