DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_ORDER_PUB

Source


1 PACKAGE BODY OE_Order_PUB AS
2 /* $Header: OEXPORDB.pls 120.13.12000000.2 2007/07/16 10:57:09 gtewani ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'OE_Order_PUB';
7 
8 
9 --  Header record type
10 
11 FUNCTION G_MISS_HEADER_REC RETURN Header_Rec_Type IS
12 l_record				Header_Rec_Type;
13 BEGIN
14 
15     l_record.accounting_rule_id              := FND_API.G_MISS_NUM;
16     l_record.accounting_rule_duration        := FND_API.G_MISS_NUM;
17     l_record.agreement_id                    := FND_API.G_MISS_NUM;
18     l_record.attribute1                      := FND_API.G_MISS_CHAR;
19     l_record.attribute10                     := FND_API.G_MISS_CHAR;
20     l_record.attribute11                     := FND_API.G_MISS_CHAR;
21     l_record.attribute12                     := FND_API.G_MISS_CHAR;
22     l_record.attribute13                     := FND_API.G_MISS_CHAR;
23     l_record.attribute14                     := FND_API.G_MISS_CHAR;
24     l_record.attribute15                     := FND_API.G_MISS_CHAR;
25     l_record.attribute16                     := FND_API.G_MISS_CHAR;
26     l_record.attribute17                     := FND_API.G_MISS_CHAR;
27     l_record.attribute18                     := FND_API.G_MISS_CHAR;
28     l_record.attribute19                     := FND_API.G_MISS_CHAR;
29     l_record.attribute2                      := FND_API.G_MISS_CHAR;
30     l_record.attribute20                     := FND_API.G_MISS_CHAR;
31     l_record.attribute3                      := FND_API.G_MISS_CHAR;
32     l_record.attribute4                      := FND_API.G_MISS_CHAR;
33     l_record.attribute5                      := FND_API.G_MISS_CHAR;
34     l_record.attribute6                      := FND_API.G_MISS_CHAR;
35     l_record.attribute7                      := FND_API.G_MISS_CHAR;
36     l_record.attribute8                      := FND_API.G_MISS_CHAR;
37     l_record.attribute9                      := FND_API.G_MISS_CHAR;
38     l_record.booked_flag                     := FND_API.G_MISS_CHAR;
39     l_record.cancelled_flag                  := FND_API.G_MISS_CHAR;
40     l_record.context                         := FND_API.G_MISS_CHAR;
41     l_record.conversion_rate                 := FND_API.G_MISS_NUM;
42     l_record.conversion_rate_date            := FND_API.G_MISS_DATE;
43     l_record.conversion_type_code            := FND_API.G_MISS_CHAR;
44     l_record.customer_preference_set_code    := FND_API.G_MISS_CHAR;
45     l_record.created_by                      := FND_API.G_MISS_NUM;
46     l_record.creation_date                   := FND_API.G_MISS_DATE;
47     l_record.cust_po_number                  := FND_API.G_MISS_CHAR;
48     l_record.deliver_to_contact_id           := FND_API.G_MISS_NUM;
49     l_record.deliver_to_org_id               := FND_API.G_MISS_NUM;
50     l_record.demand_class_code               := FND_API.G_MISS_CHAR;
51     l_record.earliest_schedule_limit	  	:= FND_API.G_MISS_NUM;
52     l_record.expiration_date                 := FND_API.G_MISS_DATE;
53     l_record.fob_point_code                  := FND_API.G_MISS_CHAR;
54     l_record.freight_carrier_code            := FND_API.G_MISS_CHAR;
55     l_record.freight_terms_code              := FND_API.G_MISS_CHAR;
56     l_record.global_attribute1               := FND_API.G_MISS_CHAR;
57     l_record.global_attribute10              := FND_API.G_MISS_CHAR;
58     l_record.global_attribute11              := FND_API.G_MISS_CHAR;
59     l_record.global_attribute12              := FND_API.G_MISS_CHAR;
60     l_record.global_attribute13              := FND_API.G_MISS_CHAR;
61     l_record.global_attribute14              := FND_API.G_MISS_CHAR;
62     l_record.global_attribute15              := FND_API.G_MISS_CHAR;
63     l_record.global_attribute16              := FND_API.G_MISS_CHAR;
64     l_record.global_attribute17              := FND_API.G_MISS_CHAR;
65     l_record.global_attribute18              := FND_API.G_MISS_CHAR;
66     l_record.global_attribute19              := FND_API.G_MISS_CHAR;
67     l_record.global_attribute2               := FND_API.G_MISS_CHAR;
68     l_record.global_attribute20              := FND_API.G_MISS_CHAR;
69     l_record.global_attribute3               := FND_API.G_MISS_CHAR;
70     l_record.global_attribute4               := FND_API.G_MISS_CHAR;
71     l_record.global_attribute5               := FND_API.G_MISS_CHAR;
72     l_record.global_attribute6               := FND_API.G_MISS_CHAR;
73     l_record.global_attribute7               := FND_API.G_MISS_CHAR;
74     l_record.global_attribute8               := FND_API.G_MISS_CHAR;
75     l_record.global_attribute9               := FND_API.G_MISS_CHAR;
76     l_record.global_attribute_category       := FND_API.G_MISS_CHAR;
77     l_record.TP_CONTEXT                      := FND_API.G_MISS_CHAR;
78     l_record.TP_ATTRIBUTE1                   := FND_API.G_MISS_CHAR;
79     l_record.TP_ATTRIBUTE2                   := FND_API.G_MISS_CHAR;
80     l_record.TP_ATTRIBUTE3                   := FND_API.G_MISS_CHAR;
81     l_record.TP_ATTRIBUTE4                   := FND_API.G_MISS_CHAR;
82     l_record.TP_ATTRIBUTE5                   := FND_API.G_MISS_CHAR;
83     l_record.TP_ATTRIBUTE6                   := FND_API.G_MISS_CHAR;
84     l_record.TP_ATTRIBUTE7                   := FND_API.G_MISS_CHAR;
85     l_record.TP_ATTRIBUTE8                   := FND_API.G_MISS_CHAR;
86     l_record.TP_ATTRIBUTE9                   := FND_API.G_MISS_CHAR;
87     l_record.TP_ATTRIBUTE10                  := FND_API.G_MISS_CHAR;
88     l_record.TP_ATTRIBUTE11                  := FND_API.G_MISS_CHAR;
89     l_record.TP_ATTRIBUTE12                  := FND_API.G_MISS_CHAR;
90     l_record.TP_ATTRIBUTE13                  := FND_API.G_MISS_CHAR;
91     l_record.TP_ATTRIBUTE14                  := FND_API.G_MISS_CHAR;
92     l_record.TP_ATTRIBUTE15                  := FND_API.G_MISS_CHAR;
93     l_record.header_id                       := FND_API.G_MISS_NUM;
94     l_record.invoice_to_contact_id           := FND_API.G_MISS_NUM;
95     l_record.invoice_to_org_id               := FND_API.G_MISS_NUM;
96     l_record.invoicing_rule_id               := FND_API.G_MISS_NUM;
97     l_record.last_updated_by                 := FND_API.G_MISS_NUM;
98     l_record.last_update_date                := FND_API.G_MISS_DATE;
99     l_record.last_update_login               := FND_API.G_MISS_NUM;
100     l_record.latest_schedule_limit           := FND_API.G_MISS_NUM;
101     l_record.open_flag                       := FND_API.G_MISS_CHAR;
102     l_record.order_category_code             := FND_API.G_MISS_CHAR;
103     l_record.ordered_date                    := FND_API.G_MISS_DATE;
104     l_record.order_date_type_code	     := FND_API.G_MISS_CHAR;
105     l_record.order_number                    := FND_API.G_MISS_NUM;
106     l_record.order_source_id                 := FND_API.G_MISS_NUM;
107     l_record.order_type_id                   := FND_API.G_MISS_NUM;
108     l_record.org_id                          := FND_API.G_MISS_NUM;
109     l_record.orig_sys_document_ref           := FND_API.G_MISS_CHAR;
110     l_record.partial_shipments_allowed       := FND_API.G_MISS_CHAR;
111     l_record.payment_term_id                 := FND_API.G_MISS_NUM;
112     l_record.price_list_id                   := FND_API.G_MISS_NUM;
113     l_record.pricing_date                    := FND_API.G_MISS_DATE;
114     l_record.program_application_id          := FND_API.G_MISS_NUM;
115     l_record.program_id                      := FND_API.G_MISS_NUM;
116     l_record.program_update_date             := FND_API.G_MISS_DATE;
117     l_record.request_date                    := FND_API.G_MISS_DATE;
118     l_record.request_id                      := FND_API.G_MISS_NUM;
119     l_record.return_reason_code		     := FND_API.G_MISS_CHAR;
120     l_record.salesrep_id		     := FND_API.G_MISS_NUM;
121     l_record.sales_channel_code              := FND_API.G_MISS_CHAR;
122     l_record.shipment_priority_code          := FND_API.G_MISS_CHAR;
123     l_record.shipping_method_code            := FND_API.G_MISS_CHAR;
124     l_record.ship_from_org_id                := FND_API.G_MISS_NUM;
125     l_record.ship_tolerance_above            := FND_API.G_MISS_NUM;
126     l_record.ship_tolerance_below            := FND_API.G_MISS_NUM;
127     l_record.ship_to_contact_id              := FND_API.G_MISS_NUM;
128     l_record.ship_to_org_id                  := FND_API.G_MISS_NUM;
129     l_record.sold_from_org_id		     := FND_API.G_MISS_NUM;
130     l_record.sold_to_contact_id              := FND_API.G_MISS_NUM;
131     l_record.sold_to_org_id                  := FND_API.G_MISS_NUM;
132     l_record.sold_to_phone_id                := FND_API.G_MISS_NUM;
133     l_record.source_document_id              := FND_API.G_MISS_NUM;
134     l_record.source_document_type_id         := FND_API.G_MISS_NUM;
135     l_record.tax_exempt_flag                 := FND_API.G_MISS_CHAR;
136     l_record.tax_exempt_number               := FND_API.G_MISS_CHAR;
137     l_record.tax_exempt_reason_code          := FND_API.G_MISS_CHAR;
138     l_record.tax_point_code                  := FND_API.G_MISS_CHAR;
139     l_record.transactional_curr_code         := FND_API.G_MISS_CHAR;
140     l_record.version_number                  := FND_API.G_MISS_NUM;
141     l_record.return_status                   := FND_API.G_MISS_CHAR;
142     l_record.db_flag                         := FND_API.G_MISS_CHAR;
143     l_record.operation                       := FND_API.G_MISS_CHAR;
144     l_record.first_ack_code                  := FND_API.G_MISS_CHAR;
145     l_record.first_ack_date                  := FND_API.G_MISS_DATE;
146     l_record.last_ack_code                   := FND_API.G_MISS_CHAR;
147     l_record.last_ack_date                   := FND_API.G_MISS_DATE;
148     l_record.change_reason                   := FND_API.G_MISS_CHAR;
149     l_record.change_comments                 := FND_API.G_MISS_CHAR;
150     l_record.change_sequence 	  	     := FND_API.G_MISS_CHAR;
151     l_record.change_request_code	     := FND_API.G_MISS_CHAR;
152     l_record.ready_flag		  	     := FND_API.G_MISS_CHAR;
153     l_record.status_flag		     := FND_API.G_MISS_CHAR;
154     l_record.force_apply_flag		     := FND_API.G_MISS_CHAR;
155     l_record.drop_ship_flag		     := FND_API.G_MISS_CHAR;
156     l_record.customer_payment_term_id	     := FND_API.G_MISS_NUM;
157     l_record.payment_type_code               := FND_API.G_MISS_CHAR;
158     l_record.payment_amount                  := FND_API.G_MISS_NUM;
159     l_record.check_number                    := FND_API.G_MISS_CHAR;
160     l_record.credit_card_code                := FND_API.G_MISS_CHAR;
161     l_record.credit_card_holder_name         := FND_API.G_MISS_CHAR;
162     l_record.credit_card_number              := FND_API.G_MISS_CHAR;
163     l_record.credit_card_expiration_date     := FND_API.G_MISS_DATE;
164     l_record.credit_card_approval_code       := FND_API.G_MISS_CHAR;
165     l_record.credit_card_approval_date       := FND_API.G_MISS_DATE;
166     l_record.shipping_instructions           := FND_API.G_MISS_CHAR;
167     l_record.packing_instructions            := FND_API.G_MISS_CHAR;
168     l_record.flow_status_code                := 'ENTERED';
169     l_record.booked_date	    	     := FND_API.G_MISS_DATE;
170     l_record.marketing_source_code_id        := FND_API.G_MISS_NUM;
171     l_record.upgraded_flag                   := FND_API.G_MISS_CHAR;
172     l_record.ship_to_customer_id             := FND_API.G_MISS_NUM;
173     l_record.invoice_to_customer_id          := FND_API.G_MISS_NUM;
174     l_record.deliver_to_customer_id          := FND_API.G_MISS_NUM;
175     l_record.Blanket_Number                  := FND_API.G_MISS_NUM;
176     l_record.minisite_Id                     := FND_API.G_MISS_NUM;
177     l_record.IB_OWNER                        := FND_API.G_MISS_CHAR;
178     l_record.IB_INSTALLED_AT_LOCATION        := FND_API.G_MISS_CHAR;
179     l_record.IB_CURRENT_LOCATION             := FND_API.G_MISS_CHAR;
180     l_record.END_CUSTOMER_ID                 := FND_API.G_MISS_NUM;
181     l_record.END_CUSTOMER_CONTACT_ID         := FND_API.G_MISS_NUM;
182     l_record.END_CUSTOMER_SITE_USE_ID        := FND_API.G_MISS_NUM;
183     l_record.SUPPLIER_SIGNATURE           := FND_API.G_MISS_CHAR;
184     l_record.SUPPLIER_SIGNATURE_DATE      := FND_API.G_MISS_DATE;
185     l_record.CUSTOMER_SIGNATURE           := FND_API.G_MISS_CHAR;
186     l_record.CUSTOMER_SIGNATURE_DATE      := FND_API.G_MISS_DATE;
187 ----
188     IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510' THEN
189 
190     l_record.Default_Fulfillment_Set         := FND_API.G_MISS_CHAR;
191     l_record.Line_Set_Name                   := FND_API.G_MISS_CHAR;
192     l_record.Fulfillment_Set_Name            := FND_API.G_MISS_CHAR;
193 
194     -- Quoting Changes
195     l_record.quote_date                      := FND_API.G_MISS_DATE;
196     l_record.quote_number                    := FND_API.G_MISS_NUM;
197     l_record.sales_document_name             := FND_API.G_MISS_CHAR;
198     l_record.transaction_phase_code          := FND_API.G_MISS_CHAR;
199     l_record.user_status_code                := FND_API.G_MISS_CHAR;
200     l_record.draft_submitted_flag            := FND_API.G_MISS_CHAR;
201     l_record.source_document_version_number  := FND_API.G_MISS_NUM;
202     l_record.sold_to_site_use_id             := FND_API.G_MISS_NUM;
203     -- Contract Changes
204     l_record.contract_template_id            := FND_API.G_MISS_NUM;
205     l_record.contract_source_doc_type_code  := FND_API.G_MISS_CHAR;
206     l_record.contract_source_document_id     := FND_API.G_MISS_NUM;
207 
208     -- distributed orders
209     l_record.IB_owner                        := FND_API.G_MISS_CHAR;
210     l_record.IB_installed_at_location        := FND_API.G_MISS_CHAR;
211     l_record.IB_current_location             := FND_API.G_MISS_CHAR;
212     l_record.end_customer_id                 := FND_API.G_MISS_NUM;
213     l_record.end_customer_contact_id         := FND_API.G_MISS_NUM;
214     l_record.end_customer_site_use_id        := FND_API.G_MISS_NUM;
215     END IF;
216 
217 --key Transaction Dates
218     IF  OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110509' THEN
219     l_record.order_firmed_date  	     := FND_API.G_MISS_DATE;
220     END IF ;
221 
222     RETURN l_record;
223 
224 END G_MISS_HEADER_REC;
225 
226 
227 procedure set_context   (p_org_id in number) is
228    l_org_id number ;
229    l_return_status varchar2(1);
230    l_debug_level  CONSTANT NUMBER := oe_debug_pub.g_debug_level;
231 begin
232    l_org_id := p_org_id;
233    if l_debug_level  > 0 then
234     oe_debug_pub.add('Entering set_context');
235     oe_debug_pub.add('Org_id is '||nvl(p_org_id,-1));
236    end if;
237    MO_GLOBAL.validate_orgid_pub_api(org_id=>l_org_id , status=>l_return_status);
238    if l_debug_level  > 0 then
239      oe_debug_pub.add('After call to mo_global.validate_orgid_pub_api Org_id'||l_org_id|| 'Return status'||nvl(l_return_status,'?'));
240    end if;
241    --If return status is O then we need not do anythinf (backward compatibility)
242    --If return status is F then raise error
243    --If return status is S (in case org_id was passed to process order API) then set context to the passed org_id
244    --If return status is C/D ( in case org_id was not passed to process order API) then check for default org_id
245    -- and if this is null raise error else set context to the default org_id .
246    --Status C means current_org_id and D means default org_id ,even if mo_global returns C we will get default org_id
247        if l_return_status ='O' then
248           null;
249        elsif l_return_status='F' then
250           raise FND_API.G_EXC_ERROR;
251        else
252 	  If p_org_id is null then -- In this case we will look at org_id passed to process order API and not that which is returned by mo_global.validate_pub_api
253               if l_debug_level  > 0 then
254                  oe_debug_pub.add('Before call to mo_utils.get_default_orgid');
255              end if;
256              l_org_id :=mo_utils.get_default_org_id ;
257              if l_debug_level  > 0 then
258                  oe_debug_pub.add('Default org_id is '||l_org_id );
259              end if;
260 	     if l_org_id is null then
261                raise FND_API.G_EXC_ERROR;
262              end if;
263           end if;
264           MO_GLOBAL.set_policy_context('S',l_org_id);
265           OE_GLOBALS.Set_Context();
266        end if;
267 end ;
268 
269 --  Header_Adj record type
270 
271 FUNCTION G_MISS_HEADER_ADJ_REC RETURN Header_Adj_Rec_Type IS
272 l_record            Header_Adj_Rec_Type;
273 BEGIN
274 
275     l_record.attribute1                      := FND_API.G_MISS_CHAR;
276     l_record.attribute10                     := FND_API.G_MISS_CHAR;
277     l_record.attribute11                     := FND_API.G_MISS_CHAR;
278     l_record.attribute12                     := FND_API.G_MISS_CHAR;
279     l_record.attribute13                     := FND_API.G_MISS_CHAR;
280     l_record.attribute14                     := FND_API.G_MISS_CHAR;
281     l_record.attribute15                     := FND_API.G_MISS_CHAR;
282     l_record.attribute2                      := FND_API.G_MISS_CHAR;
283     l_record.attribute3                      := FND_API.G_MISS_CHAR;
284     l_record.attribute4                      := FND_API.G_MISS_CHAR;
285     l_record.attribute5                      := FND_API.G_MISS_CHAR;
286     l_record.attribute6                      := FND_API.G_MISS_CHAR;
287     l_record.attribute7                      := FND_API.G_MISS_CHAR;
288     l_record.attribute8                      := FND_API.G_MISS_CHAR;
289     l_record.attribute9                      := FND_API.G_MISS_CHAR;
290     l_record.automatic_flag                  := FND_API.G_MISS_CHAR;
291     l_record.context                         := FND_API.G_MISS_CHAR;
292     l_record.created_by                      := FND_API.G_MISS_NUM;
293     l_record.creation_date                   := FND_API.G_MISS_DATE;
294     l_record.discount_id                     := FND_API.G_MISS_NUM;
295     l_record.discount_line_id                := FND_API.G_MISS_NUM;
296     l_record.header_id                       := FND_API.G_MISS_NUM;
297     l_record.last_updated_by                 := FND_API.G_MISS_NUM;
298     l_record.last_update_date                := FND_API.G_MISS_DATE;
299     l_record.last_update_login               := FND_API.G_MISS_NUM;
300     l_record.line_id                         := FND_API.G_MISS_NUM;
301     l_record.percent                         := FND_API.G_MISS_NUM;
302     l_record.price_adjustment_id             := FND_API.G_MISS_NUM;
303     l_record.program_application_id          := FND_API.G_MISS_NUM;
304     l_record.program_id                      := FND_API.G_MISS_NUM;
305     l_record.program_update_date             := FND_API.G_MISS_DATE;
306     l_record.request_id                      := FND_API.G_MISS_NUM;
307     l_record.return_status                   := FND_API.G_MISS_CHAR;
308     l_record.db_flag                         := FND_API.G_MISS_CHAR;
309     l_record.operation                       := FND_API.G_MISS_CHAR;
310     l_record.orig_sys_discount_ref  	 	:= FND_API.G_MISS_CHAR;
311     l_record.change_request_code  	  	:= FND_API.G_MISS_CHAR;
312     l_record.status_flag	  	      	:= FND_API.G_MISS_CHAR;
313     l_record.list_header_id	  	     := FND_API.G_MISS_NUM;
314     l_record.list_line_id	  	 	:= FND_API.G_MISS_NUM;
315     l_record.list_line_type_code	    	:= FND_API.G_MISS_CHAR;
316     l_record.modifier_mechanism_type_code   	:= FND_API.G_MISS_CHAR;
317     l_record.modified_from	  	 	:= FND_API.G_MISS_CHAR;
318     l_record.modified_to	  	 	:= FND_API.G_MISS_CHAR;
319     l_record.updated_flag	  	 	:= FND_API.G_MISS_CHAR;
320     l_record.update_allowed	  	 	:= FND_API.G_MISS_CHAR;
321     l_record.applied_flag		      	:= FND_API.G_MISS_CHAR;
322     l_record.change_reason_code		    	:= FND_API.G_MISS_CHAR;
323     l_record.change_reason_text		     	:= FND_API.G_MISS_CHAR;
324     l_record.operand                        	:= FND_API.G_MISS_NUM;
325     l_record.operand_per_pqty                   := FND_API.G_MISS_NUM;
326     l_record.arithmetic_operator            	:= FND_API.G_MISS_CHAR;
327     l_record.cost_id                        	:= FND_API.G_MISS_NUM;
328     l_record.tax_code                       	:= FND_API.G_MISS_CHAR;
329     l_record.tax_exempt_flag                	:= FND_API.G_MISS_CHAR;
330     l_record.tax_exempt_number               := FND_API.G_MISS_CHAR;
331     l_record.tax_exempt_reason_code          := FND_API.G_MISS_CHAR;
332     l_record.parent_adjustment_id            := FND_API.G_MISS_NUM;
333     l_record.invoiced_flag                  	:= FND_API.G_MISS_CHAR;
334     l_record.estimated_flag                 	:= FND_API.G_MISS_CHAR;
335     l_record.inc_in_sales_performance       	:= FND_API.G_MISS_CHAR;
336     l_record.split_action_code              	:= FND_API.G_MISS_CHAR;
337     l_record.adjusted_amount				:=  FND_API.G_MISS_NUM;
338     l_record.adjusted_amount_per_pqty                   :=  FND_API.G_MISS_NUM;
339     l_record.pricing_phase_id		 		:= FND_API.G_MISS_NUM;
340     l_record.charge_type_code               	:= FND_API.G_MISS_CHAR;
341     l_record.charge_subtype_code            	:= FND_API.G_MISS_CHAR;
342     l_record.list_line_no                    := FND_API.G_MISS_CHAR;
343     l_record.source_system_code              := FND_API.G_MISS_CHAR;
344     l_record.benefit_qty                    	:= FND_API.G_MISS_NUM;
345     l_record.benefit_uom_code                := FND_API.G_MISS_CHAR;
346     l_record.print_on_invoice_flag          	:= FND_API.G_MISS_CHAR;
347     l_record.expiration_date                 := FND_API.G_MISS_DATE;
348     l_record.rebate_transaction_type_code   	:= FND_API.G_MISS_CHAR;
349     l_record.rebate_transaction_reference	:= FND_API.G_MISS_CHAR;
350     l_record.rebate_payment_system_code     	:= FND_API.G_MISS_CHAR;
351     l_record.redeemed_date                  	:= FND_API.G_MISS_DATE;
352     l_record.redeemed_flag                  	:= FND_API.G_MISS_CHAR;
353     l_record.accrual_flag                   	:= FND_API.G_MISS_CHAR;
354     l_record.range_break_quantity		     := FND_API.G_MISS_NUM;
355     l_record.accrual_conversion_rate	     := FND_API.G_MISS_NUM;
356     l_record.pricing_group_sequence	    	:= FND_API.G_MISS_NUM;
357     l_record.modifier_level_code			:= FND_API.G_MISS_CHAR;
358     l_record.price_break_type_code		   	:= FND_API.G_MISS_CHAR;
359     l_record.substitution_attribute		:= FND_API.G_MISS_CHAR;
360     l_record.proration_type_code		   	:= FND_API.G_MISS_CHAR;
361     l_record.credit_or_charge_flag          	:= FND_API.G_MISS_CHAR;
362     l_record.include_on_returns_flag        	:= FND_API.G_MISS_CHAR;
363     l_record.ac_attribute1                   := FND_API.G_MISS_CHAR;
364     l_record.ac_attribute10                  := FND_API.G_MISS_CHAR;
365     l_record.ac_attribute11                  := FND_API.G_MISS_CHAR;
366     l_record.ac_attribute12                  := FND_API.G_MISS_CHAR;
367     l_record.ac_attribute13                  := FND_API.G_MISS_CHAR;
368     l_record.ac_attribute14                  := FND_API.G_MISS_CHAR;
369     l_record.ac_attribute15                  := FND_API.G_MISS_CHAR;
370     l_record.ac_attribute2                   := FND_API.G_MISS_CHAR;
371     l_record.ac_attribute3                   := FND_API.G_MISS_CHAR;
372     l_record.ac_attribute4                   := FND_API.G_MISS_CHAR;
373     l_record.ac_attribute5                   := FND_API.G_MISS_CHAR;
374     l_record.ac_attribute6                   := FND_API.G_MISS_CHAR;
375     l_record.ac_attribute7                   := FND_API.G_MISS_CHAR;
376     l_record.ac_attribute8                   := FND_API.G_MISS_CHAR;
377     l_record.ac_attribute9                   := FND_API.G_MISS_CHAR;
378     l_record.ac_context                      := FND_API.G_MISS_CHAR;
379 
380     RETURN l_record;
381 
382 END G_MISS_HEADER_ADJ_REC;
383 
384 
385 -- Header_Price_Att_Rec_Type
386 
387 FUNCTION G_MISS_HEADER_PRICE_ATT_REC
388 RETURN Header_Price_Att_Rec_Type IS
389 l_record			Header_Price_Att_Rec_Type;
390 BEGIN
391 
392      l_record.order_price_attrib_id 	:=	FND_API.G_MISS_NUM;
393      l_record.header_id				:=	FND_API.G_MISS_NUM;
394 	l_record.line_id			:=	FND_API.G_MISS_NUM;
395 	l_record.creation_date			:=	FND_API.G_MISS_DATE;
396 	l_record.created_by			:=	FND_API.G_MISS_NUM;
397 	l_record.last_update_date		:=	FND_API.G_MISS_DATE;
398 	l_record.last_updated_by		:=	FND_API.G_MISS_NUM;
399 	l_record.last_update_login		:=	FND_API.G_MISS_NUM;
400 	l_record.program_application_id		:=	FND_API.G_MISS_NUM;
401 	l_record.program_id			:=	FND_API.G_MISS_NUM;
402 	l_record.program_update_date		:=	FND_API.G_MISS_DATE;
403 	l_record.request_id			:=	FND_API.G_MISS_NUM;
404    	l_record.flex_title			:=	FND_API.G_MISS_CHAR;
405 	l_record.pricing_context		:=	FND_API.G_MISS_CHAR;
406 	l_record.pricing_attribute1		:=	FND_API.G_MISS_CHAR;
407 	l_record.pricing_attribute2		:=	FND_API.G_MISS_CHAR;
408 	l_record.pricing_attribute3		:=	FND_API.G_MISS_CHAR;
409 	l_record.pricing_attribute4		:=	FND_API.G_MISS_CHAR;
410 	l_record.pricing_attribute5		:=	FND_API.G_MISS_CHAR;
411 	l_record.pricing_attribute6		:=	FND_API.G_MISS_CHAR;
412 	l_record.pricing_attribute7		:=	FND_API.G_MISS_CHAR;
413 	l_record.pricing_attribute8		:=	FND_API.G_MISS_CHAR;
414 	l_record.pricing_attribute9		:=	FND_API.G_MISS_CHAR;
415 	l_record.pricing_attribute10		:=	FND_API.G_MISS_CHAR;
416 	l_record.pricing_attribute11		:=	FND_API.G_MISS_CHAR;
417 	l_record.pricing_attribute12		:=	FND_API.G_MISS_CHAR;
418 	l_record.pricing_attribute13		:=	FND_API.G_MISS_CHAR;
419 	l_record.pricing_attribute14		:=	FND_API.G_MISS_CHAR;
420 	l_record.pricing_attribute15		:=	FND_API.G_MISS_CHAR;
421 	l_record.pricing_attribute16		:=	FND_API.G_MISS_CHAR;
422 	l_record.pricing_attribute17		:=	FND_API.G_MISS_CHAR;
423 	l_record.pricing_attribute18		:=	FND_API.G_MISS_CHAR;
424 	l_record.pricing_attribute19		:=	FND_API.G_MISS_CHAR;
425 	l_record.pricing_attribute20		:=	FND_API.G_MISS_CHAR;
426 	l_record.pricing_attribute21		:=	FND_API.G_MISS_CHAR;
427 	l_record.pricing_attribute22		:=	FND_API.G_MISS_CHAR;
428 	l_record.pricing_attribute23		:=	FND_API.G_MISS_CHAR;
429 	l_record.pricing_attribute24		:=	FND_API.G_MISS_CHAR;
430 	l_record.pricing_attribute25		:=	FND_API.G_MISS_CHAR;
431 	l_record.pricing_attribute26		:=	FND_API.G_MISS_CHAR;
432 	l_record.pricing_attribute27		:=	FND_API.G_MISS_CHAR;
433 	l_record.pricing_attribute28		:=	FND_API.G_MISS_CHAR;
434 	l_record.pricing_attribute29		:=	FND_API.G_MISS_CHAR;
435 	l_record.pricing_attribute30		:=	FND_API.G_MISS_CHAR;
436 	l_record.pricing_attribute31		:=	FND_API.G_MISS_CHAR;
437 	l_record.pricing_attribute32		:=	FND_API.G_MISS_CHAR;
438 	l_record.pricing_attribute33		:=	FND_API.G_MISS_CHAR;
439 	l_record.pricing_attribute34		:=	FND_API.G_MISS_CHAR;
440 	l_record.pricing_attribute35		:=	FND_API.G_MISS_CHAR;
441 	l_record.pricing_attribute36		:=	FND_API.G_MISS_CHAR;
442 	l_record.pricing_attribute37		:=	FND_API.G_MISS_CHAR;
443 	l_record.pricing_attribute38		:=	FND_API.G_MISS_CHAR;
444 	l_record.pricing_attribute39		:=	FND_API.G_MISS_CHAR;
445 	l_record.pricing_attribute40		:=	FND_API.G_MISS_CHAR;
446 	l_record.pricing_attribute41		:=	FND_API.G_MISS_CHAR;
447 	l_record.pricing_attribute42		:=	FND_API.G_MISS_CHAR;
448 	l_record.pricing_attribute43		:=	FND_API.G_MISS_CHAR;
449 	l_record.pricing_attribute44		:=	FND_API.G_MISS_CHAR;
450 	l_record.pricing_attribute45		:=	FND_API.G_MISS_CHAR;
451 	l_record.pricing_attribute46		:=	FND_API.G_MISS_CHAR;
452 	l_record.pricing_attribute47		:=	FND_API.G_MISS_CHAR;
453 	l_record.pricing_attribute48		:=	FND_API.G_MISS_CHAR;
454 	l_record.pricing_attribute49		:=	FND_API.G_MISS_CHAR;
455 	l_record.pricing_attribute50		:=	FND_API.G_MISS_CHAR;
456 	l_record.pricing_attribute51		:=	FND_API.G_MISS_CHAR;
457 	l_record.pricing_attribute52		:=	FND_API.G_MISS_CHAR;
458 	l_record.pricing_attribute53		:=	FND_API.G_MISS_CHAR;
459 	l_record.pricing_attribute54		:=	FND_API.G_MISS_CHAR;
460 	l_record.pricing_attribute55		:=	FND_API.G_MISS_CHAR;
461 	l_record.pricing_attribute56		:=	FND_API.G_MISS_CHAR;
462 	l_record.pricing_attribute57		:=	FND_API.G_MISS_CHAR;
463 	l_record.pricing_attribute58		:=	FND_API.G_MISS_CHAR;
464 	l_record.pricing_attribute59		:=	FND_API.G_MISS_CHAR;
465 	l_record.pricing_attribute60		:=	FND_API.G_MISS_CHAR;
466 	l_record.pricing_attribute61		:=	FND_API.G_MISS_CHAR;
467 	l_record.pricing_attribute62		:=	FND_API.G_MISS_CHAR;
468 	l_record.pricing_attribute63		:=	FND_API.G_MISS_CHAR;
469 	l_record.pricing_attribute64		:=	FND_API.G_MISS_CHAR;
470 	l_record.pricing_attribute65		:=	FND_API.G_MISS_CHAR;
471 	l_record.pricing_attribute66		:=	FND_API.G_MISS_CHAR;
472 	l_record.pricing_attribute67		:=	FND_API.G_MISS_CHAR;
473 	l_record.pricing_attribute68		:=	FND_API.G_MISS_CHAR;
474 	l_record.pricing_attribute69		:=	FND_API.G_MISS_CHAR;
475 	l_record.pricing_attribute70		:=	FND_API.G_MISS_CHAR;
476 	l_record.pricing_attribute71		:=	FND_API.G_MISS_CHAR;
477 	l_record.pricing_attribute72		:=	FND_API.G_MISS_CHAR;
478 	l_record.pricing_attribute73		:=	FND_API.G_MISS_CHAR;
479 	l_record.pricing_attribute74		:=	FND_API.G_MISS_CHAR;
480 	l_record.pricing_attribute75		:=	FND_API.G_MISS_CHAR;
481 	l_record.pricing_attribute76		:=	FND_API.G_MISS_CHAR;
482 	l_record.pricing_attribute77		:=	FND_API.G_MISS_CHAR;
483 	l_record.pricing_attribute78		:=	FND_API.G_MISS_CHAR;
484 	l_record.pricing_attribute79		:=	FND_API.G_MISS_CHAR;
485 	l_record.pricing_attribute80		:=	FND_API.G_MISS_CHAR;
486 	l_record.pricing_attribute81		:=	FND_API.G_MISS_CHAR;
487 	l_record.pricing_attribute82		:=	FND_API.G_MISS_CHAR;
488 	l_record.pricing_attribute83		:=	FND_API.G_MISS_CHAR;
489 	l_record.pricing_attribute84		:=	FND_API.G_MISS_CHAR;
490 	l_record.pricing_attribute85		:=	FND_API.G_MISS_CHAR;
491 	l_record.pricing_attribute86		:=	FND_API.G_MISS_CHAR;
492 	l_record.pricing_attribute87		:=	FND_API.G_MISS_CHAR;
493 	l_record.pricing_attribute88		:=	FND_API.G_MISS_CHAR;
494 	l_record.pricing_attribute89		:=	FND_API.G_MISS_CHAR;
495 	l_record.pricing_attribute90		:=	FND_API.G_MISS_CHAR;
496 	l_record.pricing_attribute91		:=	FND_API.G_MISS_CHAR;
497 	l_record.pricing_attribute92		:=	FND_API.G_MISS_CHAR;
498 	l_record.pricing_attribute93		:=	FND_API.G_MISS_CHAR;
499 	l_record.pricing_attribute94		:=	FND_API.G_MISS_CHAR;
500 	l_record.pricing_attribute95		:=	FND_API.G_MISS_CHAR;
501 	l_record.pricing_attribute96		:=	FND_API.G_MISS_CHAR;
502 	l_record.pricing_attribute97		:=	FND_API.G_MISS_CHAR;
503 	l_record.pricing_attribute98		:=	FND_API.G_MISS_CHAR;
504 	l_record.pricing_attribute99		:=	FND_API.G_MISS_CHAR;
505 	l_record.pricing_attribute100		:=	FND_API.G_MISS_CHAR;
506 	l_record.context 			:=	FND_API.G_MISS_CHAR;
507 	l_record.attribute1			:=	FND_API.G_MISS_CHAR;
508 	l_record.attribute2			:=	FND_API.G_MISS_CHAR;
509 	l_record.attribute3			:=	FND_API.G_MISS_CHAR;
510 	l_record.attribute4			:=	FND_API.G_MISS_CHAR;
511 	l_record.attribute5			:=	FND_API.G_MISS_CHAR;
512 	l_record.attribute6			:=	FND_API.G_MISS_CHAR;
513 	l_record.attribute7			:=	FND_API.G_MISS_CHAR;
514 	l_record.attribute8			:=	FND_API.G_MISS_CHAR;
515 	l_record.attribute9			:=	FND_API.G_MISS_CHAR;
516 	l_record.attribute10			:=	FND_API.G_MISS_CHAR;
517 	l_record.attribute11			:=	FND_API.G_MISS_CHAR;
518 	l_record.attribute12			:=	FND_API.G_MISS_CHAR;
519 	l_record.attribute13			:=	FND_API.G_MISS_CHAR;
520 	l_record.attribute14			:=	FND_API.G_MISS_CHAR;
521 	l_record.attribute15			:=	FND_API.G_MISS_CHAR;
522 	l_record.Override_Flag			:=	FND_API.G_MISS_CHAR;
523    	l_record.return_status       		:= 	FND_API.G_MISS_CHAR;
524    	l_record.db_flag              		:= 	FND_API.G_MISS_CHAR;
525    	l_record.operation            		:= 	FND_API.G_MISS_CHAR;
526        l_record.orig_sys_atts_ref        :=      FND_API.G_MISS_CHAR; -- 1433292
527        l_record.change_request_code      :=      FND_API.G_MISS_CHAR;
528 	RETURN l_record;
529 
530 END G_MISS_HEADER_PRICE_ATT_REC;
531 
532 
533 -- Header_Adj_Att_Rec_Type
534 
535 FUNCTION G_MISS_HEADER_ADJ_ATT_REC
536 RETURN Header_Adj_Att_Rec_Type IS
537 l_record			Header_Adj_Att_Rec_Type;
538 BEGIN
539 
540    l_record.price_adj_attrib_id		:=	FND_API.G_MISS_NUM;
541    l_record.price_adjustment_id      	:=	FND_API.G_MISS_NUM;
542    l_record.Adj_index                   := 	FND_API.G_MISS_NUM;
543    l_record.flex_title			:=	FND_API.G_MISS_CHAR;
544    l_record.pricing_context           	:=	FND_API.G_MISS_CHAR;
545    l_record.pricing_attribute        	:=	FND_API.G_MISS_CHAR;
546    l_record.creation_date               :=	FND_API.G_MISS_DATE;
547    l_record.created_by                  :=	FND_API.G_MISS_NUM;
548    l_record.last_update_date            :=	FND_API.G_MISS_DATE;
549    l_record.last_updated_by            	:=	FND_API.G_MISS_NUM;
550    l_record.last_update_login      	:=	FND_API.G_MISS_NUM;
551    l_record.program_application_id 	:=	FND_API.G_MISS_NUM;
552    l_record.program_id             	:=	FND_API.G_MISS_NUM;
553    l_record.program_update_date    	:=	FND_API.G_MISS_DATE;
554    l_record.request_id             	:=	FND_API.G_MISS_NUM;
555    l_record.pricing_attr_value_from 	:=	FND_API.G_MISS_CHAR;
556    l_record.pricing_attr_value_to  	:=	FND_API.G_MISS_CHAR;
557    l_record.comparison_operator    	:=	FND_API.G_MISS_CHAR;
558    l_record.return_status              	:= 	FND_API.G_MISS_CHAR;
559    l_record.db_flag                    	:= 	FND_API.G_MISS_CHAR;
560    l_record.operation                 	:= 	FND_API.G_MISS_CHAR;
561 
562    RETURN l_record;
563 
564 END G_MISS_HEADER_ADJ_ATT_REC;
565 
566 
567 
568 -- Header_Adj_Assoc_Rec_Type
569 
570 FUNCTION G_MISS_HEADER_ADJ_ASSOC_REC
571 RETURN Header_Adj_Assoc_Rec_Type IS
572 l_record				Header_Adj_Assoc_Rec_Type;
573 BEGIN
574 
575    l_record.price_adj_assoc_id          :=   FND_API.G_MISS_NUM;
576    l_record.line_id                    	:=   FND_API.G_MISS_NUM;
577    l_record.Line_Index			:=   FND_API.G_MISS_NUM;
578    l_record.price_adjustment_id        	:=   FND_API.G_MISS_NUM;
579    l_record.Adj_index                  	:=   FND_API.G_MISS_NUM;
580    l_record.rltd_Price_Adj_Id          	:=   FND_API.G_MISS_NUM;
581    l_record.Rltd_Adj_Index             	:=   FND_API.G_MISS_NUM;
582    l_record.creation_date               :=   FND_API.G_MISS_DATE;
583    l_record.created_by                 	:=   FND_API.G_MISS_NUM;
584    l_record.last_update_date            :=   FND_API.G_MISS_DATE;
585    l_record.last_updated_by            	:=   FND_API.G_MISS_NUM;
586    l_record.last_update_login          	:=   FND_API.G_MISS_NUM;
587    l_record.program_application_id 	:=   FND_API.G_MISS_NUM;
588    l_record.program_id                 	:=   FND_API.G_MISS_NUM;
589    l_record.program_update_date         :=   FND_API.G_MISS_DATE;
590    l_record.request_id                 	:=   FND_API.G_MISS_NUM;
591    l_record.return_status              	:=   FND_API.G_MISS_CHAR;
592    l_record.db_flag                    	:=   FND_API.G_MISS_CHAR;
593    l_record.operation                 	:=   FND_API.G_MISS_CHAR;
594 
595    RETURN l_record;
596 
597 END G_MISS_HEADER_ADJ_ASSOC_REC;
598 
599 
600 --  Header_Scredit record type
601 
602 FUNCTION G_MISS_HEADER_SCREDIT_REC
603 RETURN Header_Scredit_Rec_Type IS
604 l_record		Header_Scredit_Rec_Type;
605 BEGIN
606 
607     l_record.attribute1                      := FND_API.G_MISS_CHAR;
608     l_record.attribute10                     := FND_API.G_MISS_CHAR;
609     l_record.attribute11                     := FND_API.G_MISS_CHAR;
610     l_record.attribute12                     := FND_API.G_MISS_CHAR;
611     l_record.attribute13                     := FND_API.G_MISS_CHAR;
612     l_record.attribute14                     := FND_API.G_MISS_CHAR;
613     l_record.attribute15                     := FND_API.G_MISS_CHAR;
614     l_record.attribute2                      := FND_API.G_MISS_CHAR;
615     l_record.attribute3                      := FND_API.G_MISS_CHAR;
616     l_record.attribute4                      := FND_API.G_MISS_CHAR;
617     l_record.attribute5                      := FND_API.G_MISS_CHAR;
618     l_record.attribute6                      := FND_API.G_MISS_CHAR;
619     l_record.attribute7                      := FND_API.G_MISS_CHAR;
620     l_record.attribute8                      := FND_API.G_MISS_CHAR;
621     l_record.attribute9                      := FND_API.G_MISS_CHAR;
622     l_record.context                         := FND_API.G_MISS_CHAR;
623     l_record.created_by                      := FND_API.G_MISS_NUM;
624     l_record.creation_date                   := FND_API.G_MISS_DATE;
625     l_record.dw_update_advice_flag           := FND_API.G_MISS_CHAR;
626     l_record.header_id                       := FND_API.G_MISS_NUM;
627     l_record.last_updated_by                 := FND_API.G_MISS_NUM;
628     l_record.last_update_date                := FND_API.G_MISS_DATE;
629     l_record.last_update_login               := FND_API.G_MISS_NUM;
630     l_record.line_id                         := FND_API.G_MISS_NUM;
631     l_record.percent                         := FND_API.G_MISS_NUM;
632     l_record.salesrep_id                     := FND_API.G_MISS_NUM;
633     l_record.sales_credit_type_id            := FND_API.G_MISS_NUM;
634     l_record.sales_credit_id                 := FND_API.G_MISS_NUM;
635     l_record.wh_update_date                  := FND_API.G_MISS_DATE;
636     l_record.return_status                   := FND_API.G_MISS_CHAR;
637     l_record.db_flag                         := FND_API.G_MISS_CHAR;
638     l_record.operation                       := FND_API.G_MISS_CHAR;
639     l_record.orig_sys_credit_ref	     := FND_API.G_MISS_CHAR;
640     l_record.change_request_code	     := FND_API.G_MISS_CHAR;
641     l_record.status_flag		     := FND_API.G_MISS_CHAR;
642 
643     RETURN l_record;
644 
645 END G_MISS_HEADER_SCREDIT_REC;
646 
647 -- Line record type
648 FUNCTION GET_G_MISS_LINE_REC
649 RETURN Line_Rec_Type IS
650 BEGIN
651    RETURN G_MISS_LINE_REC;
652 END;
653 
654 
655 --  Line_Adj record type
656 
657 FUNCTION G_MISS_LINE_ADJ_REC
658 RETURN Line_Adj_Rec_Type IS
659 l_record				Line_Adj_Rec_Type;
660 BEGIN
661 
662     l_record.attribute1                      := FND_API.G_MISS_CHAR;
663     l_record.attribute10                     := FND_API.G_MISS_CHAR;
664     l_record.attribute11                     := FND_API.G_MISS_CHAR;
665     l_record.attribute12                     := FND_API.G_MISS_CHAR;
666     l_record.attribute13                     := FND_API.G_MISS_CHAR;
667     l_record.attribute14                     := FND_API.G_MISS_CHAR;
668     l_record.attribute15                     := FND_API.G_MISS_CHAR;
669     l_record.attribute2                      := FND_API.G_MISS_CHAR;
670     l_record.attribute3                      := FND_API.G_MISS_CHAR;
671     l_record.attribute4                      := FND_API.G_MISS_CHAR;
672     l_record.attribute5                      := FND_API.G_MISS_CHAR;
673     l_record.attribute6                      := FND_API.G_MISS_CHAR;
674     l_record.attribute7                      := FND_API.G_MISS_CHAR;
675     l_record.attribute8                      := FND_API.G_MISS_CHAR;
676     l_record.attribute9                      := FND_API.G_MISS_CHAR;
677     l_record.automatic_flag                  := FND_API.G_MISS_CHAR;
678     l_record.context                         := FND_API.G_MISS_CHAR;
679     l_record.created_by                      := FND_API.G_MISS_NUM;
680     l_record.creation_date                   := FND_API.G_MISS_DATE;
681     l_record.discount_id                     := FND_API.G_MISS_NUM;
682     l_record.discount_line_id                := FND_API.G_MISS_NUM;
683     l_record.header_id                       := FND_API.G_MISS_NUM;
684     l_record.last_updated_by                 := FND_API.G_MISS_NUM;
685     l_record.last_update_date                := FND_API.G_MISS_DATE;
686     l_record.last_update_login               := FND_API.G_MISS_NUM;
687     l_record.line_id                         := FND_API.G_MISS_NUM;
688     l_record.percent                         := FND_API.G_MISS_NUM;
689     l_record.price_adjustment_id             := FND_API.G_MISS_NUM;
690     l_record.program_application_id          := FND_API.G_MISS_NUM;
691     l_record.program_id                      := FND_API.G_MISS_NUM;
692     l_record.program_update_date             := FND_API.G_MISS_DATE;
693     l_record.request_id                      := FND_API.G_MISS_NUM;
694     l_record.return_status                   := FND_API.G_MISS_CHAR;
695     l_record.db_flag                         := FND_API.G_MISS_CHAR;
696     l_record.operation                       := FND_API.G_MISS_CHAR;
697     l_record.line_index                      := FND_API.G_MISS_NUM;
698     l_record.orig_sys_discount_ref           := FND_API.G_MISS_CHAR;
699     l_record.change_request_code	  	  	:= FND_API.G_MISS_CHAR;
700     l_record.status_flag		  	      	:= FND_API.G_MISS_CHAR;
701     l_record.list_header_id                  := FND_API.G_MISS_NUM;
702     l_record.list_line_id                    := FND_API.G_MISS_NUM;
703     l_record.list_line_type_code             := FND_API.G_MISS_CHAR;
704     l_record.modifier_mechanism_type_code    := FND_API.G_MISS_CHAR;
705     l_record.modified_from                   := FND_API.G_MISS_CHAR;
706     l_record.modified_to                     := FND_API.G_MISS_CHAR;
707     l_record.updated_flag                    := FND_API.G_MISS_CHAR;
708     l_record.update_allowed                  := FND_API.G_MISS_CHAR;
709     l_record.applied_flag                    := FND_API.G_MISS_CHAR;
710     l_record.change_reason_code              := FND_API.G_MISS_CHAR;
711     l_record.change_reason_text              := FND_API.G_MISS_CHAR;
712     l_record.operand                         := FND_API.G_MISS_NUM;
713     l_record.operand_per_pqty                := FND_API.G_MISS_NUM;
714     l_record.arithmetic_operator             := FND_API.G_MISS_CHAR;
715     l_record.cost_id                         := FND_API.G_MISS_NUM;
716     l_record.tax_code                        := FND_API.G_MISS_CHAR;
717     l_record.tax_exempt_flag                 := FND_API.G_MISS_CHAR;
718     l_record.tax_exempt_number               := FND_API.G_MISS_CHAR;
719     l_record.tax_exempt_reason_code          := FND_API.G_MISS_CHAR;
720     l_record.parent_adjustment_id            := FND_API.G_MISS_NUM;
721     l_record.invoiced_flag                   := FND_API.G_MISS_CHAR;
722     l_record.estimated_flag                  := FND_API.G_MISS_CHAR;
723     l_record.inc_in_sales_performance        := FND_API.G_MISS_CHAR;
724     l_record.split_action_code               := FND_API.G_MISS_CHAR;
725     l_record.adjusted_amount			    	:=  FND_API.G_MISS_NUM;
726     l_record.adjusted_amount_per_pqty                   :=  FND_API.G_MISS_NUM;
727     l_record.pricing_phase_id		    	     := FND_API.G_MISS_NUM;
728     l_record.charge_type_code                := FND_API.G_MISS_CHAR;
729     l_record.charge_subtype_code             := FND_API.G_MISS_CHAR;
730     l_record.list_line_no                    := FND_API.G_MISS_CHAR;
731     l_record.source_system_code              := FND_API.G_MISS_CHAR;
732     l_record.benefit_qty                     := FND_API.G_MISS_NUM;
733     l_record.benefit_uom_code                := FND_API.G_MISS_CHAR;
734     l_record.print_on_invoice_flag           := FND_API.G_MISS_CHAR;
735     l_record.expiration_date                 := FND_API.G_MISS_DATE;
736     l_record.rebate_transaction_type_code    := FND_API.G_MISS_CHAR;
737     l_record.rebate_transaction_reference    := FND_API.G_MISS_CHAR;
738     l_record.rebate_payment_system_code      := FND_API.G_MISS_CHAR;
739     l_record.redeemed_date                   := FND_API.G_MISS_DATE;
740     l_record.redeemed_flag                   := FND_API.G_MISS_CHAR;
741     l_record.accrual_flag                    := FND_API.G_MISS_CHAR;
742     l_record.range_break_quantity			:= FND_API.G_MISS_NUM;
743     l_record.accrual_conversion_rate		:= FND_API.G_MISS_NUM;
744     l_record.pricing_group_sequence		:=  FND_API.G_MISS_NUM;
745     l_record.modifier_level_code			:=  FND_API.G_MISS_CHAR;
746     l_record.price_break_type_code		   	:=  FND_API.G_MISS_CHAR;
747     l_record.substitution_attribute	   	:=  FND_API.G_MISS_CHAR;
748     l_record.proration_type_code		   	:=  FND_API.G_MISS_CHAR;
749     l_record.credit_or_charge_flag          	:= FND_API.G_MISS_CHAR;
750     l_record.include_on_returns_flag        	:= FND_API.G_MISS_CHAR;
751     l_record.ac_attribute1                   := FND_API.G_MISS_CHAR;
752     l_record.ac_attribute10                  := FND_API.G_MISS_CHAR;
753     l_record.ac_attribute11                  := FND_API.G_MISS_CHAR;
754     l_record.ac_attribute12                  := FND_API.G_MISS_CHAR;
755     l_record.ac_attribute13                  := FND_API.G_MISS_CHAR;
756     l_record.ac_attribute14                  := FND_API.G_MISS_CHAR;
757     l_record.ac_attribute15                  := FND_API.G_MISS_CHAR;
758     l_record.ac_attribute2                   := FND_API.G_MISS_CHAR;
759     l_record.ac_attribute3                   := FND_API.G_MISS_CHAR;
760     l_record.ac_attribute4                   := FND_API.G_MISS_CHAR;
761     l_record.ac_attribute5                   := FND_API.G_MISS_CHAR;
762     l_record.ac_attribute6                   := FND_API.G_MISS_CHAR;
763     l_record.ac_attribute7                   := FND_API.G_MISS_CHAR;
764     l_record.ac_attribute8                   := FND_API.G_MISS_CHAR;
765     l_record.ac_attribute9                   := FND_API.G_MISS_CHAR;
766     l_record.ac_context                      := FND_API.G_MISS_CHAR;
767     l_record.TAX_RATE_ID                     := FND_API.G_MISS_NUM;
768 
769     RETURN l_record;
770 
771 END G_MISS_LINE_ADJ_REC;
772 
773 
774 -- Line_Price_Att_Rec_Type
775 
776 FUNCTION G_MISS_Line_Price_Att_Rec
777 RETURN Line_Price_Att_Rec_Type IS
778 l_record			Line_Price_Att_Rec_Type;
779 BEGIN
780 
781     l_record.order_price_attrib_id 		:=	FND_API.G_MISS_NUM;
782     l_record.header_id					:=	FND_API.G_MISS_NUM;
783     l_record.line_id					:=	FND_API.G_MISS_NUM;
784     l_record.line_index					:=	FND_API.G_MISS_NUM;
785     l_record.creation_date				:=	FND_API.G_MISS_DATE;
786     l_record.created_by					:=	FND_API.G_MISS_NUM;
787     l_record.last_update_date				:=	FND_API.G_MISS_DATE;
788     l_record.last_updated_by				:=	FND_API.G_MISS_NUM;
789     l_record.last_update_login			:=	FND_API.G_MISS_NUM;
790     l_record.program_application_id		:=	FND_API.G_MISS_NUM;
791     l_record.program_id					:=	FND_API.G_MISS_NUM;
792     l_record.program_update_date			:=	FND_API.G_MISS_DATE;
793     l_record.request_id					:=	FND_API.G_MISS_NUM;
794     l_record.flex_title					:=	FND_API.G_MISS_CHAR;
795     l_record.pricing_context				:=	FND_API.G_MISS_CHAR;
796     l_record.pricing_attribute1			:=	FND_API.G_MISS_CHAR;
797     l_record.pricing_attribute2			:=	FND_API.G_MISS_CHAR;
798     l_record.pricing_attribute3			:=	FND_API.G_MISS_CHAR;
799     l_record.pricing_attribute4			:=	FND_API.G_MISS_CHAR;
800     l_record.pricing_attribute5			:=	FND_API.G_MISS_CHAR;
801     l_record.pricing_attribute6			:=	FND_API.G_MISS_CHAR;
802     l_record.pricing_attribute7			:=	FND_API.G_MISS_CHAR;
803     l_record.pricing_attribute8			:=	FND_API.G_MISS_CHAR;
804     l_record.pricing_attribute9			:=	FND_API.G_MISS_CHAR;
805     l_record.pricing_attribute10			:=	FND_API.G_MISS_CHAR;
806     l_record.pricing_attribute11			:=	FND_API.G_MISS_CHAR;
807     l_record.pricing_attribute12			:=	FND_API.G_MISS_CHAR;
808     l_record.pricing_attribute13			:=	FND_API.G_MISS_CHAR;
809     l_record.pricing_attribute14			:=	FND_API.G_MISS_CHAR;
810     l_record.pricing_attribute15			:=	FND_API.G_MISS_CHAR;
811     l_record.pricing_attribute16			:=	FND_API.G_MISS_CHAR;
812     l_record.pricing_attribute17			:=	FND_API.G_MISS_CHAR;
813     l_record.pricing_attribute18			:=	FND_API.G_MISS_CHAR;
814     l_record.pricing_attribute19			:=	FND_API.G_MISS_CHAR;
815     l_record.pricing_attribute20			:=	FND_API.G_MISS_CHAR;
816     l_record.pricing_attribute21			:=	FND_API.G_MISS_CHAR;
817     l_record.pricing_attribute22			:=	FND_API.G_MISS_CHAR;
818     l_record.pricing_attribute23			:=	FND_API.G_MISS_CHAR;
819     l_record.pricing_attribute24			:=	FND_API.G_MISS_CHAR;
820     l_record.pricing_attribute25			:=	FND_API.G_MISS_CHAR;
821     l_record.pricing_attribute26			:=	FND_API.G_MISS_CHAR;
822     l_record.pricing_attribute27			:=	FND_API.G_MISS_CHAR;
823     l_record.pricing_attribute28			:=	FND_API.G_MISS_CHAR;
824     l_record.pricing_attribute29			:=	FND_API.G_MISS_CHAR;
825     l_record.pricing_attribute30			:=	FND_API.G_MISS_CHAR;
826     l_record.pricing_attribute31			:=	FND_API.G_MISS_CHAR;
827     l_record.pricing_attribute32			:=	FND_API.G_MISS_CHAR;
828     l_record.pricing_attribute33			:=	FND_API.G_MISS_CHAR;
829     l_record.pricing_attribute34			:=	FND_API.G_MISS_CHAR;
830     l_record.pricing_attribute35			:=	FND_API.G_MISS_CHAR;
831     l_record.pricing_attribute36			:=	FND_API.G_MISS_CHAR;
832     l_record.pricing_attribute37			:=	FND_API.G_MISS_CHAR;
833     l_record.pricing_attribute38			:=	FND_API.G_MISS_CHAR;
834     l_record.pricing_attribute39			:=	FND_API.G_MISS_CHAR;
835     l_record.pricing_attribute40			:=	FND_API.G_MISS_CHAR;
836     l_record.pricing_attribute41			:=	FND_API.G_MISS_CHAR;
837     l_record.pricing_attribute42			:=	FND_API.G_MISS_CHAR;
838     l_record.pricing_attribute43			:=	FND_API.G_MISS_CHAR;
839     l_record.pricing_attribute44			:=	FND_API.G_MISS_CHAR;
840     l_record.pricing_attribute45			:=	FND_API.G_MISS_CHAR;
841     l_record.pricing_attribute46			:=	FND_API.G_MISS_CHAR;
842     l_record.pricing_attribute47			:=	FND_API.G_MISS_CHAR;
843     l_record.pricing_attribute48			:=	FND_API.G_MISS_CHAR;
844     l_record.pricing_attribute49			:=	FND_API.G_MISS_CHAR;
845     l_record.pricing_attribute50			:=	FND_API.G_MISS_CHAR;
846     l_record.pricing_attribute51			:=	FND_API.G_MISS_CHAR;
847     l_record.pricing_attribute52			:=	FND_API.G_MISS_CHAR;
848     l_record.pricing_attribute53			:=	FND_API.G_MISS_CHAR;
849     l_record.pricing_attribute54			:=	FND_API.G_MISS_CHAR;
850     l_record.pricing_attribute55			:=	FND_API.G_MISS_CHAR;
851     l_record.pricing_attribute56			:=	FND_API.G_MISS_CHAR;
852     l_record.pricing_attribute57			:=	FND_API.G_MISS_CHAR;
853     l_record.pricing_attribute58			:=	FND_API.G_MISS_CHAR;
854     l_record.pricing_attribute59			:=	FND_API.G_MISS_CHAR;
855     l_record.pricing_attribute60			:=	FND_API.G_MISS_CHAR;
856     l_record.pricing_attribute61			:=	FND_API.G_MISS_CHAR;
857     l_record.pricing_attribute62			:=	FND_API.G_MISS_CHAR;
858     l_record.pricing_attribute63			:=	FND_API.G_MISS_CHAR;
859     l_record.pricing_attribute64			:=	FND_API.G_MISS_CHAR;
860     l_record.pricing_attribute65			:=	FND_API.G_MISS_CHAR;
861     l_record.pricing_attribute66			:=	FND_API.G_MISS_CHAR;
862     l_record.pricing_attribute67			:=	FND_API.G_MISS_CHAR;
863     l_record.pricing_attribute68			:=	FND_API.G_MISS_CHAR;
864     l_record.pricing_attribute69			:=	FND_API.G_MISS_CHAR;
865     l_record.pricing_attribute70			:=	FND_API.G_MISS_CHAR;
866     l_record.pricing_attribute71			:=	FND_API.G_MISS_CHAR;
867     l_record.pricing_attribute72			:=	FND_API.G_MISS_CHAR;
868     l_record.pricing_attribute73			:=	FND_API.G_MISS_CHAR;
869     l_record.pricing_attribute74			:=	FND_API.G_MISS_CHAR;
870     l_record.pricing_attribute75			:=	FND_API.G_MISS_CHAR;
871     l_record.pricing_attribute76			:=	FND_API.G_MISS_CHAR;
872     l_record.pricing_attribute77			:=	FND_API.G_MISS_CHAR;
873     l_record.pricing_attribute78			:=	FND_API.G_MISS_CHAR;
874     l_record.pricing_attribute79			:=	FND_API.G_MISS_CHAR;
875     l_record.pricing_attribute80			:=	FND_API.G_MISS_CHAR;
876     l_record.pricing_attribute81			:=	FND_API.G_MISS_CHAR;
877     l_record.pricing_attribute82			:=	FND_API.G_MISS_CHAR;
878     l_record.pricing_attribute83			:=	FND_API.G_MISS_CHAR;
879     l_record.pricing_attribute84			:=	FND_API.G_MISS_CHAR;
880     l_record.pricing_attribute85			:=	FND_API.G_MISS_CHAR;
881     l_record.pricing_attribute86			:=	FND_API.G_MISS_CHAR;
882     l_record.pricing_attribute87			:=	FND_API.G_MISS_CHAR;
883     l_record.pricing_attribute88			:=	FND_API.G_MISS_CHAR;
884     l_record.pricing_attribute89			:=	FND_API.G_MISS_CHAR;
885     l_record.pricing_attribute90			:=	FND_API.G_MISS_CHAR;
886     l_record.pricing_attribute91			:=	FND_API.G_MISS_CHAR;
887     l_record.pricing_attribute92			:=	FND_API.G_MISS_CHAR;
888     l_record.pricing_attribute93			:=	FND_API.G_MISS_CHAR;
889     l_record.pricing_attribute94			:=	FND_API.G_MISS_CHAR;
890     l_record.pricing_attribute95			:=	FND_API.G_MISS_CHAR;
891     l_record.pricing_attribute96			:=	FND_API.G_MISS_CHAR;
892     l_record.pricing_attribute97			:=	FND_API.G_MISS_CHAR;
893     l_record.pricing_attribute98			:=	FND_API.G_MISS_CHAR;
894     l_record.pricing_attribute99			:=	FND_API.G_MISS_CHAR;
895     l_record.pricing_attribute100			:=	FND_API.G_MISS_CHAR;
896     l_record.context 					:=	FND_API.G_MISS_CHAR;
897     l_record.attribute1					:=	FND_API.G_MISS_CHAR;
898     l_record.attribute2					:=	FND_API.G_MISS_CHAR;
899     l_record.attribute3					:=	FND_API.G_MISS_CHAR;
900     l_record.attribute4					:=	FND_API.G_MISS_CHAR;
901     l_record.attribute5					:=	FND_API.G_MISS_CHAR;
902     l_record.attribute6					:=	FND_API.G_MISS_CHAR;
903     l_record.attribute7					:=	FND_API.G_MISS_CHAR;
904     l_record.attribute8					:=	FND_API.G_MISS_CHAR;
905     l_record.attribute9					:=	FND_API.G_MISS_CHAR;
906     l_record.attribute10					:=	FND_API.G_MISS_CHAR;
907     l_record.attribute11					:=	FND_API.G_MISS_CHAR;
908     l_record.attribute12					:=	FND_API.G_MISS_CHAR;
909     l_record.attribute13					:=	FND_API.G_MISS_CHAR;
910     l_record.attribute14					:=	FND_API.G_MISS_CHAR;
911     l_record.attribute15					:=	FND_API.G_MISS_CHAR;
912     l_record.Override_Flag				:=	FND_API.G_MISS_CHAR;
913     l_record.return_status            	     := 	FND_API.G_MISS_CHAR;
914     l_record.db_flag                  	     := 	FND_API.G_MISS_CHAR;
915     l_record.operation                	    	:= 	FND_API.G_MISS_CHAR;
916     l_record.orig_sys_atts_ref        :=      FND_API.G_MISS_CHAR;  -- 1433292
917     l_record.change_request_code      :=      FND_API.G_MISS_CHAR;
918     RETURN l_record;
919 
920 END G_MISS_Line_Price_Att_Rec;
921 
922 
923 -- Line_Adj_Att_Rec_Type
924 
925 FUNCTION G_MISS_Line_Adj_Att_Rec
926 RETURN Line_Adj_Att_Rec_Type IS
927 l_record				Line_Adj_Att_Rec_Type;
928 BEGIN
929 
930     l_record.price_adj_attrib_id      	 	:=   FND_API.G_MISS_NUM;
931     l_record.price_adjustment_id      	 	:=   FND_API.G_MISS_NUM;
932     l_record.Adj_index					:=   FND_API.G_MISS_NUM;
933     l_record.flex_title             	    	:=   FND_API.G_MISS_CHAR;
934     l_record.pricing_context        	    	:=   FND_API.G_MISS_CHAR;
935     l_record.pricing_attribute      	    	:=   FND_API.G_MISS_CHAR;
936     l_record.creation_date          	     :=   FND_API.G_MISS_DATE;
937     l_record.created_by             	     :=   FND_API.G_MISS_NUM;
938     l_record.last_update_date       	     :=   FND_API.G_MISS_DATE;
939     l_record.last_updated_by        	     :=   FND_API.G_MISS_NUM;
940     l_record.last_update_login      	    	:=   FND_API.G_MISS_NUM;
941     l_record.program_application_id 	    	:=   FND_API.G_MISS_NUM;
942     l_record.program_id             	    	:=   FND_API.G_MISS_NUM;
943     l_record.program_update_date    	 	:=   FND_API.G_MISS_DATE;
944     l_record.request_id             	    	:=   FND_API.G_MISS_NUM;
945     l_record.pricing_attr_value_from 	 	:=   FND_API.G_MISS_CHAR;
946     l_record.pricing_attr_value_to  	  	:=   FND_API.G_MISS_CHAR;
947     l_record.comparison_operator     	   	:=   FND_API.G_MISS_CHAR;
948     l_record.return_status            	    	:=   FND_API.G_MISS_CHAR;
949     l_record.db_flag                  	    	:=   FND_API.G_MISS_CHAR;
950     l_record.operation                	   	:=   FND_API.G_MISS_CHAR;
951 
952     RETURN l_record;
953 
954 END G_MISS_Line_Adj_Att_Rec;
955 
956 
957 
958 -- Line_Adj_Assoc_Rec_Type
959 
960 FUNCTION G_MISS_Line_Adj_Assoc_Rec
961 RETURN Line_Adj_Assoc_Rec_Type IS
962 l_record				Line_Adj_Assoc_Rec_Type;
963 BEGIN
964 
965    l_record.price_adj_assoc_id              	:=   FND_API.G_MISS_NUM;
966    l_record.line_id                	    	:=   FND_API.G_MISS_NUM;
967    l_record.Line_index						:=   FND_API.G_MISS_NUM;
968    l_record.price_adjustment_id    	    	:=   FND_API.G_MISS_NUM;
969    l_record.Adj_index						:=   FND_API.G_MISS_NUM;
970    l_record.rltd_Price_Adj_Id      	    	:=   FND_API.G_MISS_NUM;
971    l_record.Rltd_Adj_Index         	    	:= 	FND_API.G_MISS_NUM;
972    l_record.creation_date          	      	:=   FND_API.G_MISS_DATE;
973    l_record.created_by             	    	:=   FND_API.G_MISS_NUM;
974    l_record.last_update_date       	      	:=   FND_API.G_MISS_DATE;
975    l_record.last_updated_by        	    	:=   FND_API.G_MISS_NUM;
976    l_record.last_update_login      	    	:=   FND_API.G_MISS_NUM;
977    l_record.program_application_id 	        	:=   FND_API.G_MISS_NUM;
978    l_record.program_id             	     	:=   FND_API.G_MISS_NUM;
979    l_record.program_update_date    	     		:=   FND_API.G_MISS_DATE;
980    l_record.request_id             	     	:=   FND_API.G_MISS_NUM;
981    l_record.return_status            	    :=   FND_API.G_MISS_CHAR;
982    l_record.db_flag                  	    :=   FND_API.G_MISS_CHAR;
983    l_record.operation                	   :=   FND_API.G_MISS_CHAR;
984 
985    RETURN l_record;
986 
987 END G_MISS_Line_Adj_Assoc_Rec;
988 
989 
990 --  Line_Scredit record type
991 
992 FUNCTION G_MISS_LINE_SCREDIT_REC
993 RETURN Line_Scredit_Rec_Type IS
994 l_record 					Line_Scredit_Rec_Type;
995 BEGIN
996 
997     l_record.attribute1                      := FND_API.G_MISS_CHAR;
998     l_record.attribute10                     := FND_API.G_MISS_CHAR;
999     l_record.attribute11                     := FND_API.G_MISS_CHAR;
1000     l_record.attribute12                     := FND_API.G_MISS_CHAR;
1001     l_record.attribute13                     := FND_API.G_MISS_CHAR;
1002     l_record.attribute14                     := FND_API.G_MISS_CHAR;
1003     l_record.attribute15                     := FND_API.G_MISS_CHAR;
1004     l_record.attribute2                      := FND_API.G_MISS_CHAR;
1005     l_record.attribute3                      := FND_API.G_MISS_CHAR;
1006     l_record.attribute4                      := FND_API.G_MISS_CHAR;
1007     l_record.attribute5                      := FND_API.G_MISS_CHAR;
1008     l_record.attribute6                      := FND_API.G_MISS_CHAR;
1009     l_record.attribute7                      := FND_API.G_MISS_CHAR;
1010     l_record.attribute8                      := FND_API.G_MISS_CHAR;
1011     l_record.attribute9                      := FND_API.G_MISS_CHAR;
1012     l_record.context                         := FND_API.G_MISS_CHAR;
1013     l_record.created_by                      := FND_API.G_MISS_NUM;
1014     l_record.creation_date                   := FND_API.G_MISS_DATE;
1015     l_record.dw_update_advice_flag           := FND_API.G_MISS_CHAR;
1016     l_record.header_id                       := FND_API.G_MISS_NUM;
1017     l_record.last_updated_by                 := FND_API.G_MISS_NUM;
1018     l_record.last_update_date                := FND_API.G_MISS_DATE;
1019     l_record.last_update_login               := FND_API.G_MISS_NUM;
1020     l_record.line_id                         := FND_API.G_MISS_NUM;
1021     l_record.percent                         := FND_API.G_MISS_NUM;
1022     l_record.salesrep_id                     := FND_API.G_MISS_NUM;
1023     l_record.sales_credit_id                 := FND_API.G_MISS_NUM;
1024     l_record.sales_credit_type_id            := FND_API.G_MISS_NUM;
1025     l_record.wh_update_date                  := FND_API.G_MISS_DATE;
1026     l_record.return_status                   := FND_API.G_MISS_CHAR;
1027     l_record.db_flag                         := FND_API.G_MISS_CHAR;
1028     l_record.operation                       := FND_API.G_MISS_CHAR;
1029     l_record.line_index                      := FND_API.G_MISS_NUM;
1030     l_record.orig_sys_credit_ref             := FND_API.G_MISS_CHAR;
1031     l_record.change_request_code	  	  	:= FND_API.G_MISS_CHAR;
1032     l_record.status_flag		  	      	:= FND_API.G_MISS_CHAR;
1033 
1034     RETURN l_record;
1035 
1036 END G_MISS_LINE_SCREDIT_REC;
1037 
1038 
1039 --  Lot_Serial record type
1040 
1041 FUNCTION G_MISS_LOT_SERIAL_REC
1042 RETURN Lot_Serial_Rec_Type IS
1043 l_record					Lot_Serial_Rec_Type;
1044 BEGIN
1045 
1046     l_record.attribute1                      := FND_API.G_MISS_CHAR;
1047     l_record.attribute10                     := FND_API.G_MISS_CHAR;
1048     l_record.attribute11                     := FND_API.G_MISS_CHAR;
1049     l_record.attribute12                     := FND_API.G_MISS_CHAR;
1050     l_record.attribute13                     := FND_API.G_MISS_CHAR;
1051     l_record.attribute14                     := FND_API.G_MISS_CHAR;
1052     l_record.attribute15                     := FND_API.G_MISS_CHAR;
1053     l_record.attribute2                      := FND_API.G_MISS_CHAR;
1054     l_record.attribute3                      := FND_API.G_MISS_CHAR;
1055     l_record.attribute4                      := FND_API.G_MISS_CHAR;
1056     l_record.attribute5                      := FND_API.G_MISS_CHAR;
1057     l_record.attribute6                      := FND_API.G_MISS_CHAR;
1058     l_record.attribute7                      := FND_API.G_MISS_CHAR;
1059     l_record.attribute8                      := FND_API.G_MISS_CHAR;
1060     l_record.attribute9                      := FND_API.G_MISS_CHAR;
1061     l_record.context                         := FND_API.G_MISS_CHAR;
1062     l_record.created_by                      := FND_API.G_MISS_NUM;
1063     l_record.creation_date                   := FND_API.G_MISS_DATE;
1064     l_record.from_serial_number              := FND_API.G_MISS_CHAR;
1065     l_record.last_updated_by                 := FND_API.G_MISS_NUM;
1066     l_record.last_update_date                := FND_API.G_MISS_DATE;
1067     l_record.last_update_login               := FND_API.G_MISS_NUM;
1068     l_record.line_id                         := FND_API.G_MISS_NUM;
1069     l_record.lot_number                      := FND_API.G_MISS_CHAR;
1070  --   l_record.sublot_number                   := FND_API.G_MISS_CHAR; --OPM 2380194  INVCONV
1071     l_record.lot_serial_id                   := FND_API.G_MISS_NUM;
1072     l_record.quantity                        := FND_API.G_MISS_NUM;
1073     l_record.quantity2                       := FND_API.G_MISS_NUM;   --OPM 2380194
1074     l_record.to_serial_number                := FND_API.G_MISS_CHAR;
1075     l_record.return_status                   := FND_API.G_MISS_CHAR;
1076     l_record.db_flag                         := FND_API.G_MISS_CHAR;
1077     l_record.operation                       := FND_API.G_MISS_CHAR;
1078     l_record.line_index                      := FND_API.G_MISS_NUM;
1079     l_record.orig_sys_lotserial_ref          := FND_API.G_MISS_CHAR;
1080     l_record.change_request_code	  	  	:= FND_API.G_MISS_CHAR;
1081     l_record.status_flag		  	      	:= FND_API.G_MISS_CHAR;
1082     l_record.line_set_id                     := FND_API.G_MISS_NUM;
1083 
1084     RETURN l_record;
1085 
1086 END G_MISS_LOT_SERIAL_REC;
1087 
1088 
1089 FUNCTION G_MISS_HEADER_VAL_REC
1090 RETURN Header_Val_Rec_Type IS
1091 l_record		Header_Val_Rec_Type;
1092 BEGIN
1093 
1094     l_record.accounting_rule                 := FND_API.G_MISS_CHAR;
1095     l_record.agreement                       := FND_API.G_MISS_CHAR;
1096     l_record.conversion_type                 := FND_API.G_MISS_CHAR;
1097     l_record.deliver_to_address1             := FND_API.G_MISS_CHAR;
1098     l_record.deliver_to_address2             := FND_API.G_MISS_CHAR;
1099     l_record.deliver_to_address3             := FND_API.G_MISS_CHAR;
1100     l_record.deliver_to_address4             := FND_API.G_MISS_CHAR;
1101     l_record.deliver_to_contact              := FND_API.G_MISS_CHAR;
1102     l_record.deliver_to_location             := FND_API.G_MISS_CHAR;
1103     l_record.deliver_to_org                  := FND_API.G_MISS_CHAR;
1104     l_record.deliver_to_state                := FND_API.G_MISS_CHAR;
1105     l_record.deliver_to_city                 := FND_API.G_MISS_CHAR;
1106     l_record.deliver_to_zip                  := FND_API.G_MISS_CHAR;
1107     l_record.deliver_to_county               := FND_API.G_MISS_CHAR;
1108     l_record.deliver_to_country              := FND_API.G_MISS_CHAR;
1109     l_record.deliver_to_province             := FND_API.G_MISS_CHAR;
1110     l_record.demand_class                    := FND_API.G_MISS_CHAR;
1111     l_record.fob_point                       := FND_API.G_MISS_CHAR;
1112     l_record.freight_terms                   := FND_API.G_MISS_CHAR;
1113     l_record.invoice_to_address1             := FND_API.G_MISS_CHAR;
1114     l_record.invoice_to_address2             := FND_API.G_MISS_CHAR;
1115     l_record.invoice_to_address3             := FND_API.G_MISS_CHAR;
1116     l_record.invoice_to_address4             := FND_API.G_MISS_CHAR;
1117     l_record.invoice_to_city                 := FND_API.G_MISS_CHAR;
1118     l_record.invoice_to_state                := FND_API.G_MISS_CHAR;
1119     l_record.invoice_to_zip                  := FND_API.G_MISS_CHAR;
1120     l_record.invoice_to_county               := FND_API.G_MISS_CHAR;
1121     l_record.invoice_to_country              := FND_API.G_MISS_CHAR;
1122     l_record.invoice_to_province             := FND_API.G_MISS_CHAR;
1123     l_record.invoice_to_contact              := FND_API.G_MISS_CHAR;
1124     l_record.invoice_to_location             := FND_API.G_MISS_CHAR;
1125     l_record.invoice_to_org                  := FND_API.G_MISS_CHAR;
1126     l_record.invoicing_rule                  := FND_API.G_MISS_CHAR;
1127     l_record.order_source                    := FND_API.G_MISS_CHAR;
1128     l_record.order_type                      := FND_API.G_MISS_CHAR;
1129     l_record.payment_term                    := FND_API.G_MISS_CHAR;
1130     l_record.price_list                      := FND_API.G_MISS_CHAR;
1131     l_record. RETURN_reason            := FND_API.G_MISS_CHAR;
1132     l_record.salesrep                 := FND_API.G_MISS_CHAR;
1133     l_record.shipment_priority               := FND_API.G_MISS_CHAR;
1134     l_record.ship_from_address1              := FND_API.G_MISS_CHAR;
1135     l_record.ship_from_address2              := FND_API.G_MISS_CHAR;
1136     l_record.ship_from_address3              := FND_API.G_MISS_CHAR;
1137     l_record.ship_from_address4              := FND_API.G_MISS_CHAR;
1138     l_record.ship_from_location              := FND_API.G_MISS_CHAR;
1139     l_record.ship_from_org                   := FND_API.G_MISS_CHAR;
1140     l_record.ship_to_address1                := FND_API.G_MISS_CHAR;
1141     l_record.ship_to_address2                := FND_API.G_MISS_CHAR;
1142     l_record.ship_to_address3                := FND_API.G_MISS_CHAR;
1143     l_record.ship_to_address4                := FND_API.G_MISS_CHAR;
1144     l_record.ship_to_city                    := FND_API.G_MISS_CHAR;
1145     l_record.ship_to_state                   := FND_API.G_MISS_CHAR;
1146     l_record.ship_to_zip                     := FND_API.G_MISS_CHAR;
1147     l_record.ship_to_country                 := FND_API.G_MISS_CHAR;
1148     l_record.ship_to_county                  := FND_API.G_MISS_CHAR;
1149     l_record.ship_to_province                := FND_API.G_MISS_CHAR;
1150     l_record.ship_to_contact                 := FND_API.G_MISS_CHAR;
1151     l_record.ship_to_location                := FND_API.G_MISS_CHAR;
1152     l_record.ship_to_org                     := FND_API.G_MISS_CHAR;
1153     l_record.sold_to_contact                 := FND_API.G_MISS_CHAR;
1154     l_record.sold_to_org                     := FND_API.G_MISS_CHAR;
1155     l_record.sold_from_org                   := FND_API.G_MISS_CHAR;
1156     l_record.tax_exempt                      := FND_API.G_MISS_CHAR;
1157     l_record.tax_exempt_reason               := FND_API.G_MISS_CHAR;
1158     l_record.tax_point                       := FND_API.G_MISS_CHAR;
1159     l_record.customer_payment_term         := FND_API.G_MISS_CHAR;
1160     l_record.payment_type                    := FND_API.G_MISS_CHAR;
1161     l_record.credit_card                     := FND_API.G_MISS_CHAR;
1162     l_record.status                          := FND_API.G_MISS_CHAR;
1163     l_record.freight_carrier                 := FND_API.G_MISS_CHAR;
1164     l_record.shipping_method                 := FND_API.G_MISS_CHAR;
1165     l_record.order_date_type                 := FND_API.G_MISS_CHAR;
1166     l_record.customer_number                  := FND_API.G_MISS_CHAR;
1167     l_record.sales_channel                   := FND_API.G_MISS_CHAR;
1168     l_record.ship_to_customer_name           := FND_API.G_MISS_CHAR;
1169     l_record.invoice_to_customer_name        := FND_API.G_MISS_CHAR;
1170     l_record.ship_to_customer_number        := FND_API.G_MISS_CHAR;
1171     l_record.invoice_to_customer_number    := FND_API.G_MISS_CHAR;
1172     l_record.ship_to_customer_id            := FND_API.G_MISS_NUM;
1173     l_record.invoice_to_customer_id        := FND_API.G_MISS_NUM;
1174     l_record.deliver_to_customer_id       := FND_API.G_MISS_NUM;
1175     l_record.deliver_to_customer_number      := FND_API.G_MISS_CHAR;
1176     l_record.deliver_to_customer_name        := FND_API.G_MISS_CHAR;
1177     l_record.deliver_to_customer_Number_oi    := FND_API.G_MISS_CHAR;
1178     l_record.deliver_to_customer_Name_oi     := FND_API.G_MISS_CHAR;
1179     l_record.ship_to_customer_Number_oi     := FND_API.G_MISS_CHAR;
1180     l_record.ship_to_customer_Name_oi      := FND_API.G_MISS_CHAR;
1181     l_record.invoice_to_customer_Number_oi    := FND_API.G_MISS_CHAR;
1182     l_record.invoice_to_customer_Name_oi     := FND_API.G_MISS_CHAR;
1183 --added for Ac Desc, Reg ID proj
1184     l_record.account_description	    := FND_API.G_MISS_CHAR;
1185     l_record.registry_id		    := FND_API.G_MISS_CHAR;
1186 
1187 
1188     RETURN l_record;
1189 
1190 END G_MISS_HEADER_VAL_REC;
1191 
1192 FUNCTION G_MISS_HEADER_ADJ_VAL_REC
1193 RETURN Header_Adj_Val_Rec_Type IS
1194 l_record		Header_Adj_Val_Rec_Type;
1195 BEGIN
1196 
1197     l_record.discount                       := FND_API.G_MISS_CHAR;
1198     l_record.list_name                      := FND_API.G_MISS_CHAR;
1199     l_record.version_no                     := FND_API.G_MISS_CHAR;
1200 
1201     RETURN l_record;
1202 
1203 END G_MISS_HEADER_ADJ_VAL_REC;
1204 
1205 FUNCTION G_MISS_HEADER_SCREDIT_VAL_REC RETURN Header_Scredit_Val_Rec_Type IS
1206 l_record		Header_Scredit_Val_Rec_Type;
1207 BEGIN
1208 
1209     l_record.salesrep                        := FND_API.G_MISS_CHAR;
1210     l_record.sales_credit_type               := FND_API.G_MISS_CHAR;
1211 
1212     RETURN l_record;
1213 
1214 END G_MISS_HEADER_SCREDIT_VAL_REC;
1215 
1216 FUNCTION G_MISS_LINE_VAL_REC RETURN Line_Val_Rec_Type IS
1217 l_record		Line_Val_Rec_Type;
1218 BEGIN
1219 
1220     l_record.accounting_rule                 := FND_API.G_MISS_CHAR;
1221     l_record.agreement                       := FND_API.G_MISS_CHAR;
1222     l_record.commitment               := FND_API.G_MISS_CHAR;
1223     l_record.commitment_applied_amount       := FND_API.G_MISS_NUM;
1224     l_record.deliver_to_address1             := FND_API.G_MISS_CHAR;
1225     l_record.deliver_to_address2             := FND_API.G_MISS_CHAR;
1226     l_record.deliver_to_address3             := FND_API.G_MISS_CHAR;
1227     l_record.deliver_to_address4             := FND_API.G_MISS_CHAR;
1228     l_record.deliver_to_contact              := FND_API.G_MISS_CHAR;
1229     l_record.deliver_to_location             := FND_API.G_MISS_CHAR;
1230     l_record.deliver_to_org                  := FND_API.G_MISS_CHAR;
1231     l_record.deliver_to_state                := FND_API.G_MISS_CHAR;
1232     l_record.deliver_to_city                 := FND_API.G_MISS_CHAR;
1233     l_record.deliver_to_zip                  := FND_API.G_MISS_CHAR;
1234     l_record.deliver_to_county               := FND_API.G_MISS_CHAR;
1235     l_record.deliver_to_country              := FND_API.G_MISS_CHAR;
1236     l_record.deliver_to_province             := FND_API.G_MISS_CHAR;
1237     l_record.demand_class                    := FND_API.G_MISS_CHAR;
1238     l_record.demand_bucket_type              := FND_API.G_MISS_CHAR;
1239     l_record.fob_point                       := FND_API.G_MISS_CHAR;
1240     l_record.freight_terms                   := FND_API.G_MISS_CHAR;
1241     l_record.inventory_item                  := FND_API.G_MISS_CHAR;
1242     l_record.invoice_to_address1             := FND_API.G_MISS_CHAR;
1243     l_record.invoice_to_address2             := FND_API.G_MISS_CHAR;
1244     l_record.invoice_to_address3             := FND_API.G_MISS_CHAR;
1245     l_record.invoice_to_address4             := FND_API.G_MISS_CHAR;
1246     l_record.invoice_to_contact              := FND_API.G_MISS_CHAR;
1247     l_record.invoice_to_location             := FND_API.G_MISS_CHAR;
1248     l_record.invoice_to_org                  := FND_API.G_MISS_CHAR;
1249     l_record.invoice_to_city                 := FND_API.G_MISS_CHAR;
1250     l_record.invoice_to_state                := FND_API.G_MISS_CHAR;
1251     l_record.invoice_to_zip                  := FND_API.G_MISS_CHAR;
1252     l_record.invoice_to_county               := FND_API.G_MISS_CHAR;
1253     l_record.invoice_to_country              := FND_API.G_MISS_CHAR;
1254     l_record.invoice_to_province             := FND_API.G_MISS_CHAR;
1255     l_record.invoicing_rule                  := FND_API.G_MISS_CHAR;
1256     l_record.item_type                       := FND_API.G_MISS_CHAR;
1257     l_record.line_type                       := FND_API.G_MISS_CHAR;
1258     l_record.over_ship_reason              := FND_API.G_MISS_CHAR;
1259     l_record.payment_term                    := FND_API.G_MISS_CHAR;
1260     l_record.price_list                      := FND_API.G_MISS_CHAR;
1261     l_record.project                         := FND_API.G_MISS_CHAR;
1262     l_record. RETURN_reason                   := FND_API.G_MISS_CHAR;
1263     l_record.rla_schedule_type               := FND_API.G_MISS_CHAR;
1264     l_record.salesrep                 := FND_API.G_MISS_CHAR;
1265     l_record.shipment_priority               := FND_API.G_MISS_CHAR;
1266     l_record.ship_from_address1              := FND_API.G_MISS_CHAR;
1267     l_record.ship_from_address2              := FND_API.G_MISS_CHAR;
1268     l_record.ship_from_address3              := FND_API.G_MISS_CHAR;
1269     l_record.ship_from_address4              := FND_API.G_MISS_CHAR;
1270     l_record.ship_from_location              := FND_API.G_MISS_CHAR;
1271     l_record.ship_from_org                   := FND_API.G_MISS_CHAR;
1272     l_record.ship_to_address1                := FND_API.G_MISS_CHAR;
1273     l_record.ship_to_address2                := FND_API.G_MISS_CHAR;
1274     l_record.ship_to_address3                := FND_API.G_MISS_CHAR;
1275     l_record.ship_to_address4                := FND_API.G_MISS_CHAR;
1276     l_record.ship_to_contact                 := FND_API.G_MISS_CHAR;
1277     l_record.ship_to_location                := FND_API.G_MISS_CHAR;
1278     l_record.ship_to_org                     := FND_API.G_MISS_CHAR;
1279     l_record.ship_to_city                    := FND_API.G_MISS_CHAR;
1280     l_record.ship_to_state                   := FND_API.G_MISS_CHAR;
1281     l_record.ship_to_zip                     := FND_API.G_MISS_CHAR;
1282     l_record.ship_to_country                 := FND_API.G_MISS_CHAR;
1283     l_record.ship_to_county                  := FND_API.G_MISS_CHAR;
1284     l_record.ship_to_province                := FND_API.G_MISS_CHAR;
1285     l_record.source_type                     := FND_API.G_MISS_CHAR;
1286     l_record.intermed_ship_to_address1       := FND_API.G_MISS_CHAR;
1287     l_record.intermed_ship_to_address2       := FND_API.G_MISS_CHAR;
1288     l_record.intermed_ship_to_address3       := FND_API.G_MISS_CHAR;
1289     l_record.intermed_ship_to_address4       := FND_API.G_MISS_CHAR;
1290     l_record.intermed_ship_to_contact        := FND_API.G_MISS_CHAR;
1291     l_record.intermed_ship_to_location       := FND_API.G_MISS_CHAR;
1292     l_record.intermed_ship_to_org            := FND_API.G_MISS_CHAR;
1293     l_record.intermed_ship_to_city           := FND_API.G_MISS_CHAR;
1294     l_record.intermed_ship_to_state          := FND_API.G_MISS_CHAR;
1295     l_record.intermed_ship_to_zip            := FND_API.G_MISS_CHAR;
1296     l_record.intermed_ship_to_country        := FND_API.G_MISS_CHAR;
1297     l_record.intermed_ship_to_county         := FND_API.G_MISS_CHAR;
1298     l_record.intermed_ship_to_province       := FND_API.G_MISS_CHAR;
1299     l_record.sold_to_org                     := FND_API.G_MISS_CHAR;
1300     l_record.sold_from_org                   := FND_API.G_MISS_CHAR;
1301     l_record.task                            := FND_API.G_MISS_CHAR;
1302     l_record.tax_exempt                      := FND_API.G_MISS_CHAR;
1303     l_record.tax_exempt_reason               := FND_API.G_MISS_CHAR;
1304     l_record.tax_point                       := FND_API.G_MISS_CHAR;
1305     l_record.veh_cus_item_cum_key            := FND_API.G_MISS_CHAR;
1306     l_record.visible_demand                  := FND_API.G_MISS_CHAR;
1307     l_record.customer_payment_term         := FND_API.G_MISS_CHAR;
1308     l_record.ref_order_number              := FND_API.G_MISS_NUM;
1309     l_record.ref_line_number               := FND_API.G_MISS_NUM;
1310     l_record.ref_shipment_number           := FND_API.G_MISS_NUM;
1311     l_record.ref_option_number             := FND_API.G_MISS_NUM;
1312     l_record.ref_invoice_number                := FND_API.G_MISS_CHAR;
1313     l_record.ref_invoice_line_number       := FND_API.G_MISS_NUM;
1314     l_record.credit_invoice_number            := FND_API.G_MISS_CHAR;
1315     l_record.tax_group                         := FND_API.G_MISS_CHAR;
1316     l_record.status                          := FND_API.G_MISS_CHAR;
1317     l_record.freight_carrier                 := FND_API.G_MISS_CHAR;
1318     l_record.shipping_method                 := FND_API.G_MISS_CHAR;
1319     l_record.calculate_price_descr              := FND_API.G_MISS_CHAR;
1320     l_record.deliver_to_customer_Number_oi    := FND_API.G_MISS_CHAR;
1321     l_record.deliver_to_customer_Name_oi     := FND_API.G_MISS_CHAR;
1322     l_record.ship_to_customer_Number_oi     := FND_API.G_MISS_CHAR;
1323     l_record.ship_to_customer_Name_oi      := FND_API.G_MISS_CHAR;
1324     l_record.invoice_to_customer_Number_oi    := FND_API.G_MISS_CHAR;
1325     l_record.invoice_to_customer_Name_oi     := FND_API.G_MISS_CHAR;
1326     l_record.original_ordered_item           := FND_API.G_MISS_CHAR;
1327     l_record.original_inventory_item         := FND_API.G_MISS_CHAR;
1328     l_record.original_item_identifier_type   := FND_API.G_MISS_CHAR;
1329     l_record.item_relationship_type_dsp      := FND_API.G_MISS_CHAR;
1330 
1331     RETURN l_record;
1332 
1333 END G_MISS_LINE_VAL_REC;
1334 
1335 FUNCTION G_MISS_LINE_ADJ_VAL_REC RETURN Line_Adj_Val_Rec_Type IS
1336 l_record		Line_Adj_Val_Rec_Type;
1337 BEGIN
1338 
1339     l_record.discount                        := FND_API.G_MISS_CHAR;
1340     l_record.List_name                := FND_API.G_MISS_CHAR;
1341     l_record.version_no                     := FND_API.G_MISS_CHAR;
1342 
1343     RETURN l_record;
1344 
1345 END G_MISS_LINE_ADJ_VAL_REC;
1346 
1347 
1348 FUNCTION G_MISS_LINE_SCREDIT_VAL_REC RETURN Line_Scredit_Val_Rec_Type IS
1349 l_record		Line_Scredit_Val_Rec_Type;
1350 BEGIN
1351 
1352     l_record.salesrep                        := FND_API.G_MISS_CHAR;
1353     l_record.sales_credit_type                := FND_API.G_MISS_CHAR;
1354 
1355     RETURN l_record;
1356 
1357 END G_MISS_LINE_SCREDIT_VAL_REC;
1358 
1359 FUNCTION G_MISS_LOT_SERIAL_VAL_REC RETURN Lot_Serial_Val_Rec_Type IS
1360 l_record		Lot_Serial_Val_Rec_Type;
1361 BEGIN
1362 
1363     l_record.line                            := FND_API.G_MISS_CHAR;
1364     l_record.lot_serial                      := FND_API.G_MISS_CHAR;
1365 
1366     RETURN l_record;
1367 
1368 END G_MISS_LOT_SERIAL_VAL_REC;
1369 
1370 
1371 -- lkxu
1372 FUNCTION G_MISS_PAYMENT_TYPES_REC RETURN Payment_Types_Rec_Type IS
1373 l_record		Payment_Types_Rec_Type;
1374 BEGIN
1375 
1376     l_record.payment_trx_id                  := FND_API.G_MISS_NUM;
1377     l_record.commitment_applied_amount       := FND_API.G_MISS_NUM;
1378     l_record.commitment_interfaced_amount    := FND_API.G_MISS_NUM;
1379     l_record.payment_level_code  	     := FND_API.G_MISS_CHAR;
1380     l_record.header_id 			     := FND_API.G_MISS_NUM;
1381     l_record.line_id 			     := FND_API.G_MISS_NUM;
1382     l_record.creation_date                   := FND_API.G_MISS_DATE;
1383     l_record.created_by	                     := FND_API.G_MISS_NUM;
1384     l_record.last_update_date                := FND_API.G_MISS_DATE;
1385     l_record.last_updated_by                 := FND_API.G_MISS_NUM;
1386     l_record.last_update_login               := FND_API.G_MISS_NUM;
1387     l_record.request_id                      := FND_API.G_MISS_NUM;
1388     l_record.program_application_id          := FND_API.G_MISS_NUM;
1389     l_record.program_id  	             := FND_API.G_MISS_NUM;
1390     l_record.program_update_date             := FND_API.G_MISS_DATE;
1391     l_record.context  			     := FND_API.G_MISS_CHAR;
1392     l_record.attribute1			     := FND_API.G_MISS_CHAR;
1393     l_record.attribute2			     := FND_API.G_MISS_CHAR;
1394     l_record.attribute3			     := FND_API.G_MISS_CHAR;
1395     l_record.attribute4			     := FND_API.G_MISS_CHAR;
1396     l_record.attribute5			     := FND_API.G_MISS_CHAR;
1397     l_record.attribute6			     := FND_API.G_MISS_CHAR;
1398     l_record.attribute7			     := FND_API.G_MISS_CHAR;
1399     l_record.attribute8			     := FND_API.G_MISS_CHAR;
1400     l_record.attribute9			     := FND_API.G_MISS_CHAR;
1401     l_record.attribute10		     := FND_API.G_MISS_CHAR;
1402     l_record.attribute11		     := FND_API.G_MISS_CHAR;
1403     l_record.attribute12		     := FND_API.G_MISS_CHAR;
1404     l_record.attribute13		     := FND_API.G_MISS_CHAR;
1405     l_record.attribute14		     := FND_API.G_MISS_CHAR;
1406     l_record.attribute15		     := FND_API.G_MISS_CHAR;
1407 
1408 
1409     RETURN l_record;
1410 
1411 END G_MISS_PAYMENT_TYPES_REC;
1412 
1413 --serla begin
1414 --  Header_Payment record type
1415 
1416 FUNCTION G_MISS_HEADER_PAYMENT_REC
1417 RETURN Header_Payment_Rec_Type IS
1418 l_record                Header_Payment_Rec_Type;
1419 BEGIN
1420               l_record.ATTRIBUTE1                     := FND_API.G_MISS_CHAR;
1421               l_record.ATTRIBUTE2                     := FND_API.G_MISS_CHAR;
1422               l_record.ATTRIBUTE3                     := FND_API.G_MISS_CHAR;
1423               l_record.ATTRIBUTE4                     := FND_API.G_MISS_CHAR;
1424               l_record.ATTRIBUTE5                     := FND_API.G_MISS_CHAR;
1425               l_record.ATTRIBUTE6                     := FND_API.G_MISS_CHAR;
1426               l_record.ATTRIBUTE7                     := FND_API.G_MISS_CHAR;
1427               l_record.ATTRIBUTE8                     := FND_API.G_MISS_CHAR;
1428               l_record.ATTRIBUTE9                     := FND_API.G_MISS_CHAR;
1429               l_record.ATTRIBUTE10                    := FND_API.G_MISS_CHAR;
1430               l_record.ATTRIBUTE11                    := FND_API.G_MISS_CHAR;
1431               l_record.ATTRIBUTE12                    := FND_API.G_MISS_CHAR;
1432               l_record.ATTRIBUTE13                    := FND_API.G_MISS_CHAR;
1433               l_record.ATTRIBUTE14                    := FND_API.G_MISS_CHAR;
1434               l_record.ATTRIBUTE15                    := FND_API.G_MISS_CHAR;
1435               l_record.CHECK_NUMBER                   := FND_API.G_MISS_CHAR;
1436               l_record.CREATED_BY                     := FND_API.G_MISS_NUM;
1437               l_record.CREATION_DATE                  := FND_API.G_MISS_DATE;
1438               l_record.CREDIT_CARD_APPROVAL_CODE      := FND_API.G_MISS_CHAR;
1439               l_record.CREDIT_CARD_APPROVAL_DATE      := FND_API.G_MISS_DATE;
1440               l_record.CREDIT_CARD_CODE               := FND_API.G_MISS_CHAR;
1441               l_record.CREDIT_CARD_EXPIRATION_DATE    := FND_API.G_MISS_DATE;
1442               l_record.CREDIT_CARD_HOLDER_NAME        := FND_API.G_MISS_CHAR;
1443               l_record.CREDIT_CARD_NUMBER             := FND_API.G_MISS_CHAR;
1444               l_record.PAYMENT_LEVEL_CODE             := FND_API.G_MISS_CHAR;
1445               l_record.COMMITMENT_APPLIED_AMOUNT      := FND_API.G_MISS_NUM;
1446               l_record.COMMITMENT_INTERFACED_AMOUNT   := FND_API.G_MISS_NUM;
1447               l_record.CONTEXT                        := FND_API.G_MISS_CHAR;
1448               l_record.PAYMENT_NUMBER                 := FND_API.G_MISS_NUM;
1449               l_record.HEADER_ID                      := FND_API.G_MISS_NUM;
1450               l_record.LAST_UPDATED_BY                := FND_API.G_MISS_NUM;
1451               l_record.LAST_UPDATE_DATE               := FND_API.G_MISS_DATE;
1452               l_record.LAST_UPDATE_LOGIN              := FND_API.G_MISS_NUM;
1453               l_record.LINE_ID                        := FND_API.G_MISS_NUM;
1454               l_record.PAYMENT_AMOUNT                 := FND_API.G_MISS_NUM;
1455               l_record.PAYMENT_COLLECTION_EVENT       := FND_API.G_MISS_CHAR;
1456               l_record.PAYMENT_TRX_ID                 := FND_API.G_MISS_NUM;
1457               l_record.PAYMENT_TYPE_CODE              := FND_API.G_MISS_CHAR;
1458               l_record.PAYMENT_SET_ID                 := FND_API.G_MISS_NUM;
1459               l_record.PREPAID_AMOUNT                 := FND_API.G_MISS_NUM;
1460               l_record.PROGRAM_APPLICATION_ID         := FND_API.G_MISS_NUM;
1461               l_record.PROGRAM_ID                     := FND_API.G_MISS_NUM;
1462               l_record.PROGRAM_UPDATE_DATE            := FND_API.G_MISS_DATE;
1463               l_record.RECEIPT_METHOD_ID              := FND_API.G_MISS_NUM;
1464               l_record.REQUEST_ID                     := FND_API.G_MISS_NUM;
1465               l_record.TANGIBLE_ID                    := FND_API.G_MISS_CHAR;
1466               l_record.RETURN_STATUS                  := FND_API.G_MISS_CHAR;
1467               l_record.DB_FLAG                        := FND_API.G_MISS_CHAR;
1468               l_record.OPERATION                      := FND_API.G_MISS_CHAR;
1469               l_record.LOCK_CONTROL                   := FND_API.G_MISS_NUM;
1470               l_record.DEFER_PAYMENT_PROCESSING_FLAG  := FND_API.G_MISS_CHAR;
1471               l_record.TRXN_EXTENSION_ID              := FND_API.G_MISS_NUM;
1472 
1473    RETURN l_record;
1474 
1475 END G_MISS_HEADER_PAYMENT_REC;
1476 
1477 --  Line_Payment record type
1478 
1479 FUNCTION G_MISS_LINE_PAYMENT_REC
1480 RETURN Line_Payment_Rec_Type IS
1481 l_record                Line_Payment_Rec_Type;
1482 BEGIN
1483               l_record.ATTRIBUTE1                     := FND_API.G_MISS_CHAR;
1484               l_record.ATTRIBUTE2                     := FND_API.G_MISS_CHAR;
1485               l_record.ATTRIBUTE3                     := FND_API.G_MISS_CHAR;
1486               l_record.ATTRIBUTE4                     := FND_API.G_MISS_CHAR;
1487               l_record.ATTRIBUTE5                     := FND_API.G_MISS_CHAR;
1488               l_record.ATTRIBUTE6                     := FND_API.G_MISS_CHAR;
1489               l_record.ATTRIBUTE7                     := FND_API.G_MISS_CHAR;
1490               l_record.ATTRIBUTE8                     := FND_API.G_MISS_CHAR;
1491               l_record.ATTRIBUTE9                     := FND_API.G_MISS_CHAR;
1492               l_record.ATTRIBUTE10                    := FND_API.G_MISS_CHAR;
1493               l_record.ATTRIBUTE11                    := FND_API.G_MISS_CHAR;
1494               l_record.ATTRIBUTE12                    := FND_API.G_MISS_CHAR;
1495               l_record.ATTRIBUTE13                    := FND_API.G_MISS_CHAR;
1496               l_record.ATTRIBUTE14                    := FND_API.G_MISS_CHAR;
1497               l_record.ATTRIBUTE15                    := FND_API.G_MISS_CHAR;
1498               l_record.CHECK_NUMBER                   := FND_API.G_MISS_CHAR;
1499               l_record.CREATED_BY                     := FND_API.G_MISS_NUM;
1500               l_record.CREATION_DATE                  := FND_API.G_MISS_DATE;
1501               l_record.CREDIT_CARD_APPROVAL_CODE      := FND_API.G_MISS_CHAR;
1502               l_record.CREDIT_CARD_APPROVAL_DATE      := FND_API.G_MISS_DATE;
1503               l_record.CREDIT_CARD_CODE               := FND_API.G_MISS_CHAR;
1504               l_record.CREDIT_CARD_EXPIRATION_DATE    := FND_API.G_MISS_DATE;
1505               l_record.CREDIT_CARD_HOLDER_NAME        := FND_API.G_MISS_CHAR;
1506               l_record.CREDIT_CARD_NUMBER             := FND_API.G_MISS_CHAR;
1507               l_record.PAYMENT_LEVEL_CODE             := FND_API.G_MISS_CHAR;
1508               l_record.COMMITMENT_APPLIED_AMOUNT      := FND_API.G_MISS_NUM;
1509               l_record.COMMITMENT_INTERFACED_AMOUNT   := FND_API.G_MISS_NUM;
1510               l_record.CONTEXT                        := FND_API.G_MISS_CHAR;
1511               l_record.PAYMENT_NUMBER                 := FND_API.G_MISS_NUM;
1512               l_record.HEADER_ID                      := FND_API.G_MISS_NUM;
1513               l_record.LAST_UPDATED_BY                := FND_API.G_MISS_NUM;
1514               l_record.LAST_UPDATE_DATE               := FND_API.G_MISS_DATE;
1515               l_record.LAST_UPDATE_LOGIN              := FND_API.G_MISS_NUM;
1516               l_record.LINE_ID                        := FND_API.G_MISS_NUM;
1517               l_record.PAYMENT_AMOUNT                 := FND_API.G_MISS_NUM;
1518               l_record.PAYMENT_COLLECTION_EVENT       := FND_API.G_MISS_CHAR;
1519               l_record.PAYMENT_TRX_ID                 := FND_API.G_MISS_NUM;
1520               l_record.PAYMENT_TYPE_CODE              := FND_API.G_MISS_CHAR;
1521               l_record.PAYMENT_SET_ID                 := FND_API.G_MISS_NUM;
1522               l_record.PREPAID_AMOUNT                 := FND_API.G_MISS_NUM;
1523               l_record.PROGRAM_APPLICATION_ID         := FND_API.G_MISS_NUM;
1524               l_record.PROGRAM_ID                     := FND_API.G_MISS_NUM;
1525               l_record.PROGRAM_UPDATE_DATE            := FND_API.G_MISS_DATE;
1526               l_record.RECEIPT_METHOD_ID              := FND_API.G_MISS_NUM;
1527               l_record.REQUEST_ID                     := FND_API.G_MISS_NUM;
1528               l_record.TANGIBLE_ID                    := FND_API.G_MISS_CHAR;
1529               l_record.RETURN_STATUS                  := FND_API.G_MISS_CHAR;
1530               l_record.DB_FLAG                        := FND_API.G_MISS_CHAR;
1531               l_record.OPERATION                      := FND_API.G_MISS_CHAR;
1532               l_record.LOCK_CONTROL                   := FND_API.G_MISS_NUM;
1533               l_record.DEFER_PAYMENT_PROCESSING_FLAG  := FND_API.G_MISS_CHAR;
1534               l_record.TRXN_EXTENSION_ID              := FND_API.G_MISS_NUM;
1535 
1536   RETURN l_record;
1537 
1538 END G_MISS_LINE_PAYMENT_REC;
1539 
1540 FUNCTION G_MISS_HEADER_PAYMENT_VAL_REC
1541 RETURN Header_Payment_Val_Rec_Type IS
1542 l_record                Header_Payment_Val_Rec_Type;
1543 BEGIN
1544       l_record.PAYMENT_COLLECTION_EVENT_NAME    := FND_API.G_MISS_CHAR;
1545       l_record.RECEIPT_METHOD                   := FND_API.G_MISS_CHAR;
1546       l_record.PAYMENT_TYPE                     := FND_API.G_MISS_CHAR;
1547 
1548   RETURN l_record;
1549 
1550 END G_MISS_HEADER_PAYMENT_VAL_REC;
1551 
1552 FUNCTION G_MISS_LINE_PAYMENT_VAL_REC
1553 RETURN Line_Payment_Val_Rec_Type IS
1554 l_record                Line_Payment_Val_Rec_Type;
1555 BEGIN
1556       l_record.PAYMENT_COLLECTION_EVENT_NAME    := FND_API.G_MISS_CHAR;
1557       l_record.RECEIPT_METHOD                   := FND_API.G_MISS_CHAR;
1558       l_record.PAYMENT_TYPE                     := FND_API.G_MISS_CHAR;
1559 
1560   RETURN l_record;
1561 
1562 END G_MISS_LINE_PAYMENT_VAL_REC;
1563 --serla end
1564 --  Start of Comments
1565 --  API name    Process_Order
1566 --  Type        Public
1567 --
1568 --  Pre-reqs
1569 --
1570 --  Parameters
1571 --
1572 --  Version     Current version = 1.0
1573 --              Initial version = 1.0
1574 --
1575 --  Notes
1576 --
1577 --  End of Comments
1578 
1579 PROCEDURE Process_Order
1580 (   p_org_id                        IN  NUMBER := NULL  --MOAC
1581 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
1582 ,   p_api_version_number            IN  NUMBER
1583 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
1584 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
1585 ,   p_action_commit                 IN  VARCHAR2 := FND_API.G_FALSE
1586 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1587 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
1588 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1589 ,   p_header_rec                    IN  Header_Rec_Type :=
1590                                         G_MISS_HEADER_REC
1591 ,   p_old_header_rec                IN  Header_Rec_Type :=
1592                                         G_MISS_HEADER_REC
1593 ,   p_header_val_rec                IN  Header_Val_Rec_Type :=
1594                                         G_MISS_HEADER_VAL_REC
1595 ,   p_old_header_val_rec            IN  Header_Val_Rec_Type :=
1596                                         G_MISS_HEADER_VAL_REC
1597 ,   p_Header_Adj_tbl                IN  Header_Adj_Tbl_Type :=
1598                                         G_MISS_HEADER_ADJ_TBL
1599 ,   p_old_Header_Adj_tbl            IN  Header_Adj_Tbl_Type :=
1600                                         G_MISS_HEADER_ADJ_TBL
1601 ,   p_Header_Adj_val_tbl            IN  Header_Adj_Val_Tbl_Type :=
1602                                         G_MISS_HEADER_ADJ_VAL_TBL
1603 ,   p_old_Header_Adj_val_tbl        IN  Header_Adj_Val_Tbl_Type :=
1604                                         G_MISS_HEADER_ADJ_VAL_TBL
1605 ,   p_Header_price_Att_tbl          IN  Header_Price_Att_Tbl_Type :=
1606                                         G_MISS_HEADER_PRICE_ATT_TBL
1607 ,   p_old_Header_Price_Att_tbl      IN  Header_Price_Att_Tbl_Type :=
1608                                         G_MISS_HEADER_PRICE_ATT_TBL
1609 ,   p_Header_Adj_Att_tbl            IN  Header_Adj_Att_Tbl_Type :=
1610                                         G_MISS_HEADER_ADJ_ATT_TBL
1611 ,   p_old_Header_Adj_Att_tbl        IN  Header_Adj_Att_Tbl_Type :=
1612     G_MISS_HEADER_ADJ_ATT_TBL
1613 ,   p_Header_Adj_Assoc_tbl            IN  Header_Adj_Assoc_Tbl_Type :=
1614                                         G_MISS_HEADER_ADJ_ASSOC_TBL
1615 ,   p_old_Header_Adj_Assoc_tbl        IN  Header_Adj_Assoc_Tbl_Type :=
1616     G_MISS_HEADER_ADJ_ASSOC_TBL
1617 ,   p_Header_Scredit_tbl            IN  Header_Scredit_Tbl_Type :=
1618                                         G_MISS_HEADER_SCREDIT_TBL
1619 ,   p_old_Header_Scredit_tbl        IN  Header_Scredit_Tbl_Type :=
1620                                         G_MISS_HEADER_SCREDIT_TBL
1621 ,   p_Header_Scredit_val_tbl        IN  Header_Scredit_Val_Tbl_Type :=
1622                                         G_MISS_HEADER_SCREDIT_VAL_TBL
1623 ,   p_old_Header_Scredit_val_tbl    IN  Header_Scredit_Val_Tbl_Type :=
1624                                         G_MISS_HEADER_SCREDIT_VAL_TBL
1625 ,   p_line_tbl                      IN  Line_Tbl_Type :=
1626                                         G_MISS_LINE_TBL
1627 ,   p_old_line_tbl                  IN  Line_Tbl_Type :=
1628                                         G_MISS_LINE_TBL
1629 ,   p_line_val_tbl                  IN  Line_Val_Tbl_Type :=
1630                                         G_MISS_LINE_VAL_TBL
1631 ,   p_old_line_val_tbl              IN  Line_Val_Tbl_Type :=
1632                                         G_MISS_LINE_VAL_TBL
1633 ,   p_Line_Adj_tbl                  IN  Line_Adj_Tbl_Type :=
1634                                         G_MISS_LINE_ADJ_TBL
1635 ,   p_old_Line_Adj_tbl              IN  Line_Adj_Tbl_Type :=
1636                                         G_MISS_LINE_ADJ_TBL
1637 ,   p_Line_Adj_val_tbl              IN  Line_Adj_Val_Tbl_Type :=
1638                                         G_MISS_LINE_ADJ_VAL_TBL
1639 ,   p_old_Line_Adj_val_tbl          IN  Line_Adj_Val_Tbl_Type :=
1640                                         G_MISS_LINE_ADJ_VAL_TBL
1641 ,   p_Line_price_Att_tbl            IN  Line_Price_Att_Tbl_Type :=
1642                                         G_MISS_LINE_PRICE_ATT_TBL
1643 ,   p_old_Line_Price_Att_tbl        IN  Line_Price_Att_Tbl_Type :=
1644                                         G_MISS_LINE_PRICE_ATT_TBL
1645 ,   p_Line_Adj_Att_tbl              IN  Line_Adj_Att_Tbl_Type :=
1646                                         G_MISS_LINE_ADJ_ATT_TBL
1647 ,   p_old_Line_Adj_Att_tbl          IN  Line_Adj_Att_Tbl_Type :=
1648     G_MISS_LINE_ADJ_ATT_TBL
1649 ,   p_Line_Adj_Assoc_tbl              IN  Line_Adj_Assoc_Tbl_Type :=
1650                                         G_MISS_LINE_ADJ_ASSOC_TBL
1651 ,   p_old_Line_Adj_Assoc_tbl          IN  Line_Adj_Assoc_Tbl_Type :=
1652     G_MISS_LINE_ADJ_ASSOC_TBL
1653 ,   p_Line_Scredit_tbl              IN  Line_Scredit_Tbl_Type :=
1654                                         G_MISS_LINE_SCREDIT_TBL
1655 ,   p_old_Line_Scredit_tbl          IN  Line_Scredit_Tbl_Type :=
1656                                         G_MISS_LINE_SCREDIT_TBL
1657 ,   p_Line_Scredit_val_tbl          IN  Line_Scredit_Val_Tbl_Type :=
1658                                         G_MISS_LINE_SCREDIT_VAL_TBL
1659 ,   p_old_Line_Scredit_val_tbl      IN  Line_Scredit_Val_Tbl_Type :=
1660                                         G_MISS_LINE_SCREDIT_VAL_TBL
1661 ,   p_Lot_Serial_tbl                IN  Lot_Serial_Tbl_Type :=
1662                                         G_MISS_LOT_SERIAL_TBL
1663 ,   p_old_Lot_Serial_tbl            IN  Lot_Serial_Tbl_Type :=
1664                                         G_MISS_LOT_SERIAL_TBL
1665 ,   p_Lot_Serial_val_tbl            IN  Lot_Serial_Val_Tbl_Type :=
1666                                         G_MISS_LOT_SERIAL_VAL_TBL
1667 ,   p_old_Lot_Serial_val_tbl        IN  Lot_Serial_Val_Tbl_Type :=
1668                                         G_MISS_LOT_SERIAL_VAL_TBL
1669 ,   p_action_request_tbl	    IN  Request_Tbl_Type :=
1670 					G_MISS_REQUEST_TBL
1671 ,   x_header_rec                    OUT NOCOPY /* file.sql.39 change */ Header_Rec_Type
1672 ,   x_header_val_rec                OUT NOCOPY /* file.sql.39 change */ Header_Val_Rec_Type
1673 ,   x_Header_Adj_tbl                OUT NOCOPY /* file.sql.39 change */ Header_Adj_Tbl_Type
1674 ,   x_Header_Adj_val_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Val_Tbl_Type
1675 ,   x_Header_price_Att_tbl          OUT NOCOPY /* file.sql.39 change */ Header_Price_Att_Tbl_Type
1676 ,   x_Header_Adj_Att_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Att_Tbl_Type
1677 ,   x_Header_Adj_Assoc_tbl          OUT NOCOPY /* file.sql.39 change */ Header_Adj_Assoc_Tbl_Type
1678 ,   x_Header_Scredit_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Tbl_Type
1679 ,   x_Header_Scredit_val_tbl        OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Val_Tbl_Type
1680 ,   x_line_tbl                      OUT NOCOPY /* file.sql.39 change */ Line_Tbl_Type
1681 ,   x_line_val_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Val_Tbl_Type
1682 ,   x_Line_Adj_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Adj_Tbl_Type
1683 ,   x_Line_Adj_val_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Val_Tbl_Type
1684 ,   x_Line_price_Att_tbl            OUT NOCOPY /* file.sql.39 change */ Line_Price_Att_Tbl_Type
1685 ,   x_Line_Adj_Att_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Att_Tbl_Type
1686 ,   x_Line_Adj_Assoc_tbl            OUT NOCOPY /* file.sql.39 change */ Line_Adj_Assoc_Tbl_Type
1687 ,   x_Line_Scredit_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Tbl_Type
1688 ,   x_Line_Scredit_val_tbl          OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Val_Tbl_Type
1689 ,   x_Lot_Serial_tbl                OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Tbl_Type
1690 ,   x_Lot_Serial_val_tbl            OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Val_Tbl_Type
1691 ,   x_action_request_tbl	    OUT NOCOPY /* file.sql.39 change */ Request_Tbl_Type
1692 --For bug 3390458
1693 ,   p_rtrim_data                    IN  Varchar2 :='N'
1694 ,   p_validate_desc_flex            in varchar2 default 'Y'  --bug4343612
1695 )
1696 IS
1697 l_api_version_number          CONSTANT NUMBER := 1.0;
1698 l_api_name                    CONSTANT VARCHAR2(30):= 'Process_Order';
1699 l_control_rec                 OE_GLOBALS.Control_Rec_Type;
1700 l_return_status               VARCHAR2(1);
1701 l_header_rec                  Header_Rec_Type;
1702 l_Header_Adj_tbl              Header_Adj_Tbl_Type;
1703 l_Header_price_Att_tbl        Header_Price_Att_Tbl_Type ;
1704 l_Header_Adj_Att_tbl          Header_Adj_Att_Tbl_Type ;
1705 l_Header_Adj_Assoc_tbl        Header_Adj_Assoc_Tbl_Type ;
1706 l_Header_Scredit_tbl          Header_Scredit_Tbl_Type;
1707 l_line_tbl                    Line_Tbl_Type;
1708 l_Line_Adj_tbl                Line_Adj_Tbl_Type;
1709 l_Line_price_Att_tbl          Line_Price_Att_Tbl_Type ;
1710 l_Line_Adj_Att_tbl            Line_Adj_Att_Tbl_Type ;
1711 l_Line_Adj_Assoc_tbl          Line_Adj_Assoc_Tbl_Type ;
1712 l_Line_Scredit_tbl            Line_Scredit_Tbl_Type;
1713 l_Lot_Serial_tbl              Lot_Serial_Tbl_Type;
1714 l_old_header_rec              Header_Rec_Type;
1715 l_old_Header_Adj_tbl          Header_Adj_Tbl_Type;
1716 l_old_Header_price_Att_tbl    Header_Price_Att_Tbl_Type ;
1717 l_old_Header_Adj_Att_tbl      Header_Adj_Att_Tbl_Type ;
1718 l_old_Header_Adj_Assoc_tbl    Header_Adj_Assoc_Tbl_Type ;
1719 l_old_Header_Scredit_tbl      Header_Scredit_Tbl_Type;
1720 l_old_line_tbl                Line_Tbl_Type;
1721 l_old_Line_Adj_tbl            Line_Adj_Tbl_Type;
1722 l_old_Line_price_Att_tbl      Line_Price_Att_Tbl_Type ;
1723 l_old_Line_Adj_Att_tbl        Line_Adj_Att_Tbl_Type ;
1724 l_old_Line_Adj_Assoc_tbl      Line_Adj_Assoc_Tbl_Type ;
1725 l_old_Line_Scredit_tbl        Line_Scredit_Tbl_Type;
1726 l_old_Lot_Serial_tbl          Lot_Serial_Tbl_Type;
1727 x_Header_Payment_tbl          Header_Payment_Tbl_Type;
1728 x_Header_Payment_val_tbl      Header_Payment_Val_Tbl_Type;
1729 x_Line_Payment_tbl            Line_Payment_Tbl_Type;
1730 x_Line_Payment_val_tbl        Line_Payment_Val_Tbl_Type;
1731 
1732 BEGIN
1733 
1734  -- Call over loaded process_order to pass payment tables
1735 
1736        Process_Order
1737 (   p_org_id                            => p_org_id --MOAC
1738 ,   p_operating_unit                    => p_operating_unit
1739 ,   p_api_version_number            	=> p_api_version_number
1740 ,   p_init_msg_list                 	=> p_init_msg_list
1741 ,   p_return_values                 	=> p_return_values
1742 ,   p_action_commit                	=> p_action_commit
1743 ,   x_return_status                 	=> x_return_status
1744 ,   x_msg_count                     	=> x_msg_count
1745 ,   x_msg_data                      	=> x_msg_data
1746 ,   p_header_rec                    	=> p_header_rec
1747 ,   p_old_header_rec                	=> p_old_header_rec
1748 ,   p_header_val_rec                	=> p_header_val_rec
1749 ,   p_old_header_val_rec            	=> p_old_header_val_rec
1750 ,   p_Header_Adj_tbl                	=> p_Header_Adj_tbl
1751 ,   p_old_Header_Adj_tbl            	=> p_old_Header_Adj_tbl
1752 ,   p_Header_Adj_val_tbl            	=> p_Header_Adj_val_tbl
1753 ,   p_old_Header_Adj_val_tbl            => p_old_Header_Adj_val_tbl
1754 ,   p_Header_price_Att_tbl              => p_Header_price_Att_tbl
1755 ,   p_old_Header_Price_Att_tbl          => p_old_Header_Price_Att_tbl
1756 ,   p_Header_Adj_Att_tbl                => p_Header_Adj_Att_tbl
1757 ,   p_old_Header_Adj_Att_tbl            => p_old_Header_Adj_Att_tbl
1758 ,   p_Header_Adj_Assoc_tbl              => p_Header_Adj_Assoc_tbl
1759 ,   p_old_Header_Adj_Assoc_tbl          => p_old_Header_Adj_Assoc_tbl
1760 ,   p_Header_Scredit_tbl            	=> p_Header_Scredit_tbl
1761 ,   p_old_Header_Scredit_tbl            => p_old_Header_Scredit_tbl
1762 ,   p_Header_Scredit_val_tbl            => p_Header_Scredit_val_tbl
1763 ,   p_old_Header_Scredit_val_tbl        => p_old_Header_Scredit_val_tbl
1764 ,   p_Header_Payment_tbl            	=> G_MISS_HEADER_PAYMENT_TBL
1765 ,   p_old_Header_Payment_tbl            => G_MISS_HEADER_PAYMENT_TBL
1766 ,   p_Header_Payment_val_tbl            => G_MISS_HEADER_PAYMENT_VAL_TBL
1767 ,   p_old_Header_Payment_val_tbl        => G_MISS_HEADER_PAYMENT_VAL_TBL
1768 ,   p_line_tbl                      	=> p_line_tbl
1769 ,   p_old_line_tbl                  	=> p_old_line_tbl
1770 ,   p_line_val_tbl                  	=> p_line_val_tbl
1771 ,   p_old_line_val_tbl              	=> p_old_line_val_tbl
1772 ,   p_Line_Adj_tbl                  	=> p_Line_Adj_tbl
1773 ,   p_old_Line_Adj_tbl              	=> p_old_Line_Adj_tbl
1774 ,   p_Line_Adj_val_tbl              	=> p_Line_Adj_val_tbl
1775 ,   p_old_Line_Adj_val_tbl          	=> p_old_Line_Adj_val_tbl
1776 ,   p_Line_price_Att_tbl                => p_Line_price_Att_tbl
1777 ,   p_old_Line_Price_Att_tbl            => p_old_Line_Price_Att_tbl
1778 ,   p_Line_Adj_Att_tbl                  => p_Line_Adj_Att_tbl
1779 ,   p_old_Line_Adj_Att_tbl              => p_old_Line_Adj_Att_tbl
1780 ,   p_Line_Adj_Assoc_tbl                => p_Line_Adj_Assoc_tbl
1781 ,   p_old_Line_Adj_Assoc_tbl            => p_old_Line_Adj_Assoc_tbl
1782 ,   p_Line_Scredit_tbl              	=> p_Line_Scredit_tbl
1783 ,   p_old_Line_Scredit_tbl          	=> p_old_Line_Scredit_tbl
1784 ,   p_Line_Scredit_val_tbl          	=> p_Line_Scredit_val_tbl
1785 ,   p_old_Line_Scredit_val_tbl      	=> p_old_Line_Scredit_val_tbl
1786 ,   p_Line_Payment_tbl            	=> G_MISS_LINE_PAYMENT_TBL
1787 ,   p_old_Line_Payment_tbl              => G_MISS_LINE_PAYMENT_TBL
1788 ,   p_Line_Payment_val_tbl              => G_MISS_LINE_PAYMENT_VAL_TBL
1789 ,   p_old_Line_Payment_val_tbl          => G_MISS_LINE_PAYMENT_VAL_TBL
1790 ,   p_Lot_Serial_tbl              	=> p_Lot_Serial_tbl
1791 ,   p_old_Lot_Serial_tbl          	=> p_old_Lot_Serial_tbl
1792 ,   p_Lot_Serial_val_tbl          	=> p_Lot_Serial_val_tbl
1793 ,   p_old_Lot_Serial_val_tbl      	=> p_old_Lot_Serial_val_tbl
1794 ,   p_action_request_tbl                => p_action_request_tbl
1795 ,   x_header_rec                    	=> x_header_rec
1796 ,   x_header_val_rec                	=> x_header_val_rec
1797 ,   x_Header_Adj_tbl                	=> x_Header_Adj_tbl
1798 ,   x_Header_Adj_val_tbl            	=> x_Header_Adj_val_tbl
1799 ,   x_Header_price_Att_tbl              => x_Header_price_Att_tbl
1800 ,   x_Header_Adj_Att_tbl                => x_Header_Adj_Att_tbl
1801 ,   x_Header_Adj_Assoc_tbl              => x_Header_Adj_Assoc_tbl
1802 ,   x_Header_Scredit_tbl            	=> x_Header_Scredit_tbl
1803 ,   x_Header_Scredit_val_tbl        	=> x_Header_Scredit_val_tbl
1804 ,   x_Header_Payment_tbl            	=> x_Header_Payment_tbl
1805 ,   x_Header_Payment_val_tbl        	=> x_Header_Payment_val_tbl
1806 ,   x_line_tbl                   	=> x_line_tbl
1807 ,   x_line_val_tbl                  	=> x_line_val_tbl
1808 ,   x_Line_Adj_tbl                  	=> x_Line_Adj_tbl
1809 ,   x_Line_Adj_val_tbl              	=> x_Line_Adj_val_tbl
1810 ,   x_Line_price_Att_tbl                => x_Line_price_Att_tbl
1811 ,   x_Line_Adj_Att_tbl                  => x_Line_Adj_Att_tbl
1812 ,   x_Line_Adj_Assoc_tbl                => x_Line_Adj_Assoc_tbl
1813 ,   x_Line_Scredit_tbl              	=> x_Line_Scredit_tbl
1814 ,   x_Line_Scredit_val_tbl          	=> x_Line_Scredit_val_tbl
1815 ,   x_Line_Payment_tbl              	=> x_Line_Payment_tbl
1816 ,   x_Line_Payment_val_tbl          	=> x_Line_Payment_val_tbl
1817 ,   x_Lot_Serial_tbl                    => x_Lot_Serial_tbl
1818 ,   x_Lot_Serial_Val_tbl                => x_Lot_Serial_Val_tbl
1819 ,   x_action_request_tbl	        => x_action_request_tbl
1820 --For bug 3390458
1821 ,   p_rtrim_data                        =>p_rtrim_data
1822 ,   p_validate_desc_flex                =>p_validate_desc_flex --for bug4343612
1823 );
1824 
1825 
1826 EXCEPTION
1827 
1828     WHEN FND_API.G_EXC_ERROR THEN
1829 
1830         x_return_status := FND_API.G_RET_STS_ERROR;
1831 
1832         --  Get message count and data
1833 
1834         OE_MSG_PUB.Count_And_Get
1835         (   p_count                       => x_msg_count
1836         ,   p_data                        => x_msg_data
1837         );
1838 
1839     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1840 
1841         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1842 
1843         --  Get message count and data
1844 
1845         OE_MSG_PUB.Count_And_Get
1846         (   p_count                       => x_msg_count
1847         ,   p_data                        => x_msg_data
1848         );
1849 
1850     WHEN OTHERS THEN
1851 
1852         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1853 
1854         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1855         THEN
1856             OE_MSG_PUB.Add_Exc_Msg
1857             (   G_PKG_NAME
1858             ,   'Process_Order'
1859             );
1860         END IF;
1861 
1862         --  Get message count and data
1863 
1864         OE_MSG_PUB.Count_And_Get
1865         (   p_count                       => x_msg_count
1866         ,   p_data                        => x_msg_data
1867         );
1868 
1869 END Process_Order;
1870 
1871 
1872 --  Start of Comments
1873 --  API name    Lock_Order
1874 --  Type        Public
1875 --
1876 --  Pre-reqs
1877 --
1878 --  Parameters
1879 --
1880 --  Version     Current version = 1.0
1881 --              Initial version = 1.0
1882 --
1883 --  Notes
1884 --
1885 --  End of Comments
1886 
1887 PROCEDURE Lock_Order
1888 (   p_api_version_number            IN  NUMBER
1889 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
1890 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
1891 ,  p_org_id                        IN  NUMBER := NULL  --MOAC
1892 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
1893 
1894 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1895 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
1896 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1897 ,   p_header_rec                    IN  Header_Rec_Type :=
1898                                         G_MISS_HEADER_REC
1899 ,   p_header_val_rec                IN  Header_Val_Rec_Type :=
1900                                         G_MISS_HEADER_VAL_REC
1901 ,   p_Header_Adj_tbl                IN  Header_Adj_Tbl_Type :=
1902                                         G_MISS_HEADER_ADJ_TBL
1903 ,   p_Header_Adj_val_tbl            IN  Header_Adj_Val_Tbl_Type :=
1904                                         G_MISS_HEADER_ADJ_VAL_TBL
1905 ,   p_Header_price_Att_tbl          IN  Header_Price_Att_Tbl_Type :=
1906                                         G_MISS_HEADER_PRICE_ATT_TBL
1907 ,   p_Header_Adj_Att_tbl            IN  Header_Adj_Att_Tbl_Type :=
1908                                         G_MISS_HEADER_ADJ_ATT_TBL
1909 ,   p_Header_Adj_Assoc_tbl            IN  Header_Adj_Assoc_Tbl_Type :=
1910                                         G_MISS_HEADER_ADJ_ASSOC_TBL
1911 ,   p_Header_Scredit_tbl            IN  Header_Scredit_Tbl_Type :=
1912                                         G_MISS_HEADER_SCREDIT_TBL
1913 ,   p_Header_Scredit_val_tbl        IN  Header_Scredit_Val_Tbl_Type :=
1914                                         G_MISS_HEADER_SCREDIT_VAL_TBL
1915 ,   p_line_tbl                      IN  Line_Tbl_Type :=
1916                                         G_MISS_LINE_TBL
1917 ,   p_line_val_tbl                  IN  Line_Val_Tbl_Type :=
1918                                         G_MISS_LINE_VAL_TBL
1919 ,   p_Line_Adj_tbl                  IN  Line_Adj_Tbl_Type :=
1920                                         G_MISS_LINE_ADJ_TBL
1921 ,   p_Line_Adj_val_tbl              IN  Line_Adj_Val_Tbl_Type :=
1922                                         G_MISS_LINE_ADJ_VAL_TBL
1923 ,   p_Line_price_Att_tbl            IN  Line_Price_Att_Tbl_Type :=
1924                                         G_MISS_LINE_PRICE_ATT_TBL
1925 ,   p_Line_Adj_Att_tbl              IN  Line_Adj_Att_Tbl_Type :=
1926                                         G_MISS_LINE_ADJ_ATT_TBL
1927 ,   p_Line_Adj_Assoc_tbl              IN  Line_Adj_Assoc_Tbl_Type :=
1928                                         G_MISS_LINE_ADJ_ASSOC_TBL
1929 ,   p_Line_Scredit_tbl              IN  Line_Scredit_Tbl_Type :=
1930                                         G_MISS_LINE_SCREDIT_TBL
1931 ,   p_Line_Scredit_val_tbl          IN  Line_Scredit_Val_Tbl_Type :=
1932                                         G_MISS_LINE_SCREDIT_VAL_TBL
1933 ,   p_Lot_Serial_tbl                IN  Lot_Serial_Tbl_Type :=
1934                                         G_MISS_LOT_SERIAL_TBL
1935 ,   p_Lot_Serial_val_tbl            IN  Lot_Serial_Val_Tbl_Type :=
1936                                         G_MISS_LOT_SERIAL_VAL_TBL
1937 ,   x_header_rec                    OUT NOCOPY /* file.sql.39 change */ Header_Rec_Type
1938 ,   x_header_val_rec                OUT NOCOPY /* file.sql.39 change */ Header_Val_Rec_Type
1939 ,   x_Header_Adj_tbl                OUT NOCOPY /* file.sql.39 change */ Header_Adj_Tbl_Type
1940 ,   x_Header_Adj_val_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Val_Tbl_Type
1941 ,   x_Header_price_Att_tbl          OUT NOCOPY /* file.sql.39 change */ Header_Price_Att_Tbl_Type
1942 ,   x_Header_Adj_Att_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Att_Tbl_Type
1943 ,   x_Header_Adj_Assoc_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Assoc_Tbl_Type
1944 ,   x_Header_Scredit_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Tbl_Type
1945 ,   x_Header_Scredit_val_tbl        OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Val_Tbl_Type
1946 ,   x_line_tbl                      OUT NOCOPY /* file.sql.39 change */ Line_Tbl_Type
1947 ,   x_line_val_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Val_Tbl_Type
1948 ,   x_Line_Adj_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Adj_Tbl_Type
1949 ,   x_Line_Adj_val_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Val_Tbl_Type
1950 ,   x_Line_price_Att_tbl            OUT NOCOPY /* file.sql.39 change */ Line_Price_Att_Tbl_Type
1951 ,   x_Line_Adj_Att_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Att_Tbl_Type
1952 ,   x_Line_Adj_Assoc_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Assoc_Tbl_Type
1953 ,   x_Line_Scredit_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Tbl_Type
1954 ,   x_Line_Scredit_val_tbl          OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Val_Tbl_Type
1955 ,   x_Lot_Serial_tbl                OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Tbl_Type
1956 ,   x_Lot_Serial_val_tbl            OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Val_Tbl_Type
1957 )
1958 IS
1959 l_api_version_number          CONSTANT NUMBER := 1.0;
1960 l_api_name                    CONSTANT VARCHAR2(30):= 'Lock_Order';
1961 l_return_status               VARCHAR2(1);
1962 l_header_rec                  Header_Rec_Type;
1963 l_Header_Adj_tbl              Header_Adj_Tbl_Type;
1964 l_Header_price_Att_tbl        Header_Price_Att_Tbl_Type ;
1965 l_Header_Adj_Att_tbl          Header_Adj_Att_Tbl_Type ;
1966 l_Header_Adj_Assoc_tbl        Header_Adj_Assoc_Tbl_Type ;
1967 l_Header_Scredit_tbl          Header_Scredit_Tbl_Type;
1968 l_line_tbl                    Line_Tbl_Type;
1969 l_Line_Adj_tbl                Line_Adj_Tbl_Type;
1970 l_Line_price_Att_tbl          Line_Price_Att_Tbl_Type ;
1971 l_Line_Adj_Att_tbl            Line_Adj_Att_Tbl_Type ;
1972 l_Line_Adj_Assoc_tbl          Line_Adj_Assoc_Tbl_Type ;
1973 l_Line_Scredit_tbl            Line_Scredit_Tbl_Type;
1974 l_Lot_Serial_tbl              Lot_Serial_Tbl_Type;
1975 x_Header_Payment_tbl        	Header_Payment_Tbl_Type;
1976 x_Header_Payment_val_tbl        	Header_Payment_Val_Tbl_Type;
1977 x_Line_Payment_tbl          	Line_Payment_Tbl_Type;
1978 x_Line_Payment_val_tbl          	Line_Payment_Val_Tbl_Type;
1979 
1980 BEGIN
1981 
1982 -- Calling over loaded lock_order
1983 Lock_Order
1984 (   p_api_version_number            	=> p_api_version_number
1985 ,   p_init_msg_list                     => p_init_msg_list
1986 ,   p_return_values                 	=> p_return_values
1987 ,   p_org_id				=> p_org_id
1988 ,   p_operating_unit			=> p_operating_unit
1989 ,   x_return_status                 	=> x_return_status
1990 ,   x_msg_count                     	=> x_msg_count
1991 ,   x_msg_data                      	=> x_msg_data
1992 ,   p_header_rec                    	=> p_header_rec
1993 ,   p_header_val_rec                	=> p_header_val_rec
1994 ,   p_Header_Adj_tbl                	=> p_Header_Adj_tbl
1995 ,   p_Header_Adj_val_tbl            	=> p_Header_Adj_val_tbl
1996 ,   p_Header_price_Att_tbl              => p_Header_price_Att_tbl
1997 ,   p_Header_Adj_Att_tbl                => p_Header_Adj_Att_tbl
1998 ,   p_Header_Adj_Assoc_tbl              => p_Header_Adj_Assoc_tbl
1999 ,   p_Header_Scredit_tbl            	=> p_Header_Scredit_tbl
2000 ,   p_Header_Scredit_val_tbl            => p_Header_Scredit_val_tbl
2001 ,   p_Header_Payment_tbl                => G_MISS_HEADER_PAYMENT_TBL
2002 ,   p_Header_Payment_val_tbl            => G_MISS_HEADER_PAYMENT_VAL_TBL
2003 ,   p_line_tbl                      	=> p_line_tbl
2004 ,   p_line_val_tbl                  	=> p_line_val_tbl
2005 ,   p_Line_Adj_tbl                  	=> p_Line_Adj_tbl
2006 ,   p_Line_Adj_val_tbl              	=> p_Line_Adj_val_tbl
2007 ,   p_Line_price_Att_tbl                => p_Line_price_Att_tbl
2008 ,   p_Line_Adj_Att_tbl                  => p_Line_Adj_Att_tbl
2009 ,   p_Line_Adj_Assoc_tbl                => p_Line_Adj_Assoc_tbl
2010 ,   p_Line_Scredit_tbl              	=> p_Line_Scredit_tbl
2011 ,   p_Line_Scredit_val_tbl          	=> p_Line_Scredit_val_tbl
2012 ,   p_Line_Payment_tbl                	=> G_MISS_LINE_PAYMENT_TBL
2013 ,   p_Line_Payment_val_tbl              => G_MISS_LINE_PAYMENT_VAL_TBL
2014 ,   p_Lot_Serial_tbl                    => p_Lot_Serial_tbl
2015 ,   p_Lot_Serial_val_tbl                => p_Lot_Serial_val_tbl
2016 ,   x_header_rec                    	=> x_header_rec
2017 ,   x_header_val_rec                	=> x_header_val_rec
2018 ,   x_Header_Adj_tbl                	=> x_Header_Adj_tbl
2019 ,   x_Header_Adj_val_tbl            	=> x_Header_Adj_val_tbl
2020 ,   x_Header_price_Att_tbl              => x_Header_price_Att_tbl
2021 ,   x_Header_Adj_Att_tbl                => x_Header_Adj_Att_tbl
2022 ,   x_Header_Adj_Assoc_tbl              => x_Header_Adj_Assoc_tbl
2023 ,   x_Header_Scredit_tbl            	=> x_Header_Scredit_tbl
2024 ,   x_Header_Scredit_val_tbl        	=> x_Header_Scredit_val_tbl
2025 ,   x_Header_Payment_tbl        	=> x_Header_Payment_tbl
2026 ,   x_Header_Payment_val_tbl            => x_Header_Payment_val_tbl
2027 ,   x_line_tbl                      	=> x_line_tbl
2028 ,   x_line_val_tbl                  	=> x_line_val_tbl
2029 ,   x_Line_Adj_tbl                  	=> x_Line_Adj_tbl
2030 ,   x_Line_Adj_val_tbl              	=> x_Line_Adj_val_tbl
2031 ,   x_Line_price_Att_tbl                => x_Line_price_Att_tbl
2032 ,   x_Line_Adj_Att_tbl                  => x_Line_Adj_Att_tbl
2033 ,   x_Line_Adj_Assoc_tbl                => x_Line_Adj_Assoc_tbl
2034 ,   x_Line_Scredit_tbl              	=> x_Line_Scredit_tbl
2035 ,   x_Line_Scredit_val_tbl          	=> x_Line_Scredit_val_tbl
2036 ,   x_Line_Payment_tbl          	=> x_Line_Payment_tbl
2037 ,   x_Line_Payment_val_tbl          	=> x_Line_Payment_val_tbl
2038 ,   x_Lot_Serial_tbl                    => x_Lot_Serial_tbl
2039 ,   x_Lot_Serial_val_tbl                => x_Lot_Serial_val_tbl
2040 );
2041 
2042 
2043 EXCEPTION
2044 
2045     WHEN FND_API.G_EXC_ERROR THEN
2046 
2047         x_return_status := FND_API.G_RET_STS_ERROR;
2048 
2049         --  Get message count and data
2050 
2051         OE_MSG_PUB.Count_And_Get
2052         (   p_count                       => x_msg_count
2053         ,   p_data                        => x_msg_data
2054         );
2055 
2056     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2057 
2058         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2059 
2060         --  Get message count and data
2061 
2062         OE_MSG_PUB.Count_And_Get
2063         (   p_count                       => x_msg_count
2064         ,   p_data                        => x_msg_data
2065         );
2066 
2067     WHEN OTHERS THEN
2068 
2069         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2070 
2071         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2072         THEN
2073             OE_MSG_PUB.Add_Exc_Msg
2074             (   G_PKG_NAME
2075             ,   'Lock_Order'
2076             );
2077         END IF;
2078 
2079         --  Get message count and data
2080 
2081         OE_MSG_PUB.Count_And_Get
2082         (   p_count                       => x_msg_count
2083         ,   p_data                        => x_msg_data
2084         );
2085 
2086 END Lock_Order;
2087 
2088 
2089 --  Start of Comments
2090 --  API name    Get_Order
2091 --  Type        Public
2092 --
2093 --  Pre-reqs
2094 --
2095 --  Parameters
2096 --
2097 --  Version     Current version = 1.0
2098 --              Initial version = 1.0
2099 --
2100 --  Notes
2101 --
2102 --  End of Comments
2103 
2104 PROCEDURE Get_Order
2105 (   p_api_version_number            IN  NUMBER
2106 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
2107 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
2108 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2109 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
2110 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2111 ,   p_header_id                     IN  NUMBER :=
2112                                         FND_API.G_MISS_NUM
2113 ,   p_header                        IN  VARCHAR2 :=
2114                                         FND_API.G_MISS_CHAR
2115 , p_org_id                        IN  NUMBER := NULL  --MOAC
2116 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
2117 ,   x_header_rec                    OUT NOCOPY /* file.sql.39 change */ Header_Rec_Type
2118 ,   x_header_val_rec                OUT NOCOPY /* file.sql.39 change */ Header_Val_Rec_Type
2119 ,   x_Header_Adj_tbl                OUT NOCOPY /* file.sql.39 change */ Header_Adj_Tbl_Type
2120 ,   x_Header_Adj_val_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Val_Tbl_Type
2121 ,   x_Header_price_Att_tbl          OUT NOCOPY /* file.sql.39 change */ Header_Price_Att_Tbl_Type
2122 ,   x_Header_Adj_Att_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Att_Tbl_Type
2123 ,   x_Header_Adj_Assoc_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Assoc_Tbl_Type
2124 ,   x_Header_Scredit_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Tbl_Type
2125 ,   x_Header_Scredit_val_tbl        OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Val_Tbl_Type
2126 ,   x_line_tbl                      OUT NOCOPY /* file.sql.39 change */ Line_Tbl_Type
2127 ,   x_line_val_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Val_Tbl_Type
2128 ,   x_Line_Adj_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Adj_Tbl_Type
2129 ,   x_Line_Adj_val_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Val_Tbl_Type
2130 ,   x_Line_price_Att_tbl            OUT NOCOPY /* file.sql.39 change */ Line_Price_Att_Tbl_Type
2131 ,   x_Line_Adj_Att_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Att_Tbl_Type
2132 ,   x_Line_Adj_Assoc_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Assoc_Tbl_Type
2133 ,   x_Line_Scredit_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Tbl_Type
2134 ,   x_Line_Scredit_val_tbl          OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Val_Tbl_Type
2135 ,   x_Lot_Serial_tbl                OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Tbl_Type
2136 ,   x_Lot_Serial_val_tbl            OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Val_Tbl_Type
2137 )
2138 IS
2139 l_api_version_number          CONSTANT NUMBER := 1.0;
2140 l_api_name                    CONSTANT VARCHAR2(30):= 'Get_Order';
2141 l_header_id                   NUMBER := p_header_id;
2142 x_Header_Payment_tbl        	Header_Payment_Tbl_Type;
2143 x_Header_Payment_val_tbl        	Header_Payment_Val_Tbl_Type;
2144 x_Line_Payment_tbl          	Line_Payment_Tbl_Type;
2145 x_Line_Payment_val_tbl          	Line_Payment_Val_Tbl_Type;
2146 
2147 BEGIN
2148 
2149 -- Calling over loaded get_order
2150 Get_Order
2151     (   p_api_version_number          => p_api_version_number
2152     ,   p_init_msg_list               => p_init_msg_list
2153     ,   p_return_values               => p_return_values
2154 ,   p_org_id                            => p_org_id --MOAC
2155 ,   p_operating_unit                    => p_operating_unit
2156     ,   x_return_status               => x_return_status
2157     ,   x_msg_count                   => x_msg_count
2158     ,   x_msg_data                    => x_msg_data
2159     ,   p_header_id                   => p_header_id
2160     ,   p_header                      => p_header
2161     ,   x_header_rec                  => x_header_rec
2162     ,   x_header_val_rec              => x_header_val_rec
2163     ,   x_Header_Adj_tbl              => x_Header_Adj_tbl
2164     ,   x_Header_Adj_val_tbl          => x_Header_Adj_val_tbl
2165     ,   x_Header_price_Att_tbl        => x_Header_price_Att_tbl
2166     ,   x_Header_Adj_Att_tbl          => x_Header_Adj_Att_tbl
2167     ,   x_Header_Adj_Assoc_tbl        => x_Header_Adj_Assoc_tbl
2168     ,   x_Header_Scredit_tbl          => x_Header_Scredit_tbl
2169     ,   x_Header_Scredit_val_tbl      => x_Header_Scredit_val_tbl
2170     ,   x_Header_Payment_tbl          => x_Header_Payment_tbl
2171     ,   x_Header_Payment_val_tbl      => x_Header_Payment_val_tbl
2172     ,   x_line_tbl                    => x_line_tbl
2173     ,   x_line_val_tbl                => x_line_val_tbl
2174     ,   x_Line_Adj_tbl                => x_Line_Adj_tbl
2175     ,   x_Line_Adj_val_tbl            => x_Line_Adj_val_tbl
2176     ,   x_Line_price_Att_tbl          => x_Line_price_Att_tbl
2177     ,   x_Line_Adj_Att_tbl            => x_Line_Adj_Att_tbl
2178     ,   x_Line_Adj_Assoc_tbl          => x_Line_Adj_Assoc_tbl
2179     ,   x_Line_Scredit_tbl            => x_Line_Scredit_tbl
2180     ,   x_Line_Scredit_val_tbl        => x_Line_Scredit_val_tbl
2181     ,   x_Line_Payment_tbl            => x_Line_Payment_tbl
2182     ,   x_Line_Payment_val_tbl        => x_Line_Payment_val_tbl
2183     ,   x_Lot_Serial_tbl              => x_Lot_Serial_tbl
2184     ,   x_Lot_Serial_val_tbl          => x_Lot_Serial_val_tbl
2185     );
2186 
2187 
2188 EXCEPTION
2189 
2190     WHEN FND_API.G_EXC_ERROR THEN
2191 
2192         x_return_status := FND_API.G_RET_STS_ERROR;
2193 
2194         --  Get message count and data
2195 
2196         OE_MSG_PUB.Count_And_Get
2197         (   p_count                       => x_msg_count
2198         ,   p_data                        => x_msg_data
2199         );
2200 
2201     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2202 
2203         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2204 
2205         --  Get message count and data
2206 
2207         OE_MSG_PUB.Count_And_Get
2208         (   p_count                       => x_msg_count
2209         ,   p_data                        => x_msg_data
2210         );
2211 
2212     WHEN OTHERS THEN
2213 
2214         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2215 
2216         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2217         THEN
2218             OE_MSG_PUB.Add_Exc_Msg
2219             (   G_PKG_NAME
2220             ,   'Get_Order'
2221             );
2222         END IF;
2223 
2224         --  Get message count and data
2225 
2226         OE_MSG_PUB.Count_And_Get
2227         (   p_count                       => x_msg_count
2228         ,   p_data                        => x_msg_data
2229         );
2230 
2231 END Get_Order;
2232 
2233 
2234 
2235 --  Procedure Id_To_Value
2236 
2237 PROCEDURE Id_To_Value
2238 (   p_header_rec                    IN  Header_Rec_Type
2239 ,   p_Header_Adj_tbl                IN  Header_Adj_Tbl_Type
2240 ,   p_Header_Scredit_tbl            IN  Header_Scredit_Tbl_Type
2241 ,   p_line_tbl                      IN  Line_Tbl_Type
2242 ,   p_Line_Adj_tbl                  IN  Line_Adj_Tbl_Type
2243 ,   p_Line_Scredit_tbl              IN  Line_Scredit_Tbl_Type
2244 ,   p_Lot_Serial_tbl                IN  Lot_Serial_Tbl_Type
2245 , p_org_id                        IN  NUMBER := NULL  --MOAC
2246 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
2247 
2248 ,   x_header_val_rec                OUT NOCOPY /* file.sql.39 change */ Header_Val_Rec_Type
2249 ,   x_Header_Adj_val_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Val_Tbl_Type
2250 ,   x_Header_Scredit_val_tbl        OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Val_Tbl_Type
2251 ,   x_line_val_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Val_Tbl_Type
2252 ,   x_Line_Adj_val_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Val_Tbl_Type
2253 ,   x_Line_Scredit_val_tbl          OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Val_Tbl_Type
2254 ,   x_Lot_Serial_val_tbl            OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Val_Tbl_Type
2255 )
2256 IS
2257 x_Header_Payment_val_tbl        	Header_Payment_Val_Tbl_Type;
2258 x_Line_Payment_val_tbl          	Line_Payment_Val_Tbl_Type;
2259 
2260 BEGIN
2261 
2262 -- Calling over loaded Id_To_Value
2263 Id_To_Value
2264 (   p_header_rec                        => p_header_rec
2265 ,   p_Header_Adj_tbl                    => p_Header_Adj_tbl
2266 ,   p_Header_Scredit_tbl                => p_Header_Scredit_tbl
2267 ,   p_Header_Payment_tbl                => G_MISS_HEADER_PAYMENT_TBL
2268 ,   p_line_tbl                          => p_line_tbl
2269 ,   p_Line_Adj_tbl                      => p_Line_Adj_tbl
2270 ,   p_Line_Scredit_tbl                  => p_Line_Scredit_tbl
2271 ,   p_Line_Payment_tbl                  => G_MISS_LINE_PAYMENT_TBL
2272 ,   p_Lot_Serial_tbl                    => p_Lot_Serial_tbl
2273 ,   p_org_id                            => p_org_id --MOAC
2274 ,   p_operating_unit                    => p_operating_unit
2275 ,   x_header_val_rec                    => x_header_val_rec
2276 ,   x_Header_Adj_val_tbl                => x_Header_Adj_val_tbl
2277 ,   x_Header_Scredit_val_tbl            => x_Header_Scredit_val_tbl
2278 ,   x_Header_Payment_val_tbl            => x_Header_Payment_val_tbl
2279 ,   x_line_val_tbl                      => x_line_val_tbl
2280 ,   x_Line_Adj_val_tbl                  => x_Line_Adj_val_tbl
2281 ,   x_Line_Scredit_val_tbl              => x_Line_Scredit_val_tbl
2282 ,   x_Line_Payment_val_tbl              => x_Line_Payment_val_tbl
2283 ,   x_Lot_Serial_val_tbl                => x_Lot_Serial_val_tbl
2284 );
2285 
2286 
2287 EXCEPTION
2288 
2289     WHEN OTHERS THEN
2290 
2291         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2292         THEN
2293             OE_MSG_PUB.Add_Exc_Msg
2294             (   G_PKG_NAME
2295             ,   'Id_To_Value'
2296             );
2297         END IF;
2298 
2299         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2300 
2301 END Id_To_Value;
2302 
2303 --  Procedure Value_To_Id
2304 
2305 PROCEDURE Value_To_Id (
2306     p_header_rec                    IN  Header_Rec_Type
2307 ,   p_header_val_rec                IN  Header_Val_Rec_Type
2308 ,   p_Header_Adj_tbl                IN  Header_Adj_Tbl_Type
2309 ,   p_Header_Adj_val_tbl            IN  Header_Adj_Val_Tbl_Type
2310 ,   p_Header_Scredit_tbl            IN  Header_Scredit_Tbl_Type
2311 ,   p_Header_Scredit_val_tbl        IN  Header_Scredit_Val_Tbl_Type
2312 ,   p_line_tbl                      IN  Line_Tbl_Type
2313 ,   p_line_val_tbl                  IN  Line_Val_Tbl_Type
2314 ,   p_Line_Adj_tbl                  IN  Line_Adj_Tbl_Type
2315 ,   p_Line_Adj_val_tbl              IN  Line_Adj_Val_Tbl_Type
2316 ,   p_Line_Scredit_tbl              IN  Line_Scredit_Tbl_Type
2317 ,   p_Line_Scredit_val_tbl          IN  Line_Scredit_Val_Tbl_Type
2318 ,   p_Lot_Serial_tbl                IN  Lot_Serial_Tbl_Type
2319 ,   p_Lot_Serial_val_tbl            IN  Lot_Serial_Val_Tbl_Type
2320 , p_org_id                        IN  NUMBER := NULL  --MOAC
2321 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
2322 
2323 ,   x_header_rec                    OUT NOCOPY /* file.sql.39 change */ Header_Rec_Type
2324 ,   x_Header_Adj_tbl                OUT NOCOPY /* file.sql.39 change */ Header_Adj_Tbl_Type
2325 ,   x_Header_Scredit_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Tbl_Type
2326 ,   x_line_tbl                      OUT NOCOPY /* file.sql.39 change */ Line_Tbl_Type
2327 ,   x_Line_Adj_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Adj_Tbl_Type
2328 ,   x_Line_Scredit_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Tbl_Type
2329 ,   x_Lot_Serial_tbl                OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Tbl_Type
2330 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2331 )
2332 IS
2333 x_Header_Payment_tbl        	Header_Payment_Tbl_Type;
2334 x_Line_Payment_tbl          	Line_Payment_Tbl_Type;
2335 
2336 BEGIN
2337 
2338     --  Init x_return_status.
2339 
2340     x_return_status := FND_API.G_RET_STS_SUCCESS;
2341 
2342 -- Calling over loaded Value_To_Id
2343 Value_To_Id
2344  (  p_header_rec                  => p_header_rec
2345 ,   p_header_val_rec              => p_header_val_rec
2346 ,   p_Header_Adj_tbl              => p_Header_Adj_tbl
2347 ,   p_Header_Adj_val_tbl          => p_Header_Adj_val_tbl
2348 ,   p_Header_Scredit_tbl          => p_Header_Scredit_tbl
2349 ,   p_Header_Scredit_val_tbl      => p_Header_Scredit_val_tbl
2350 ,   p_Header_Payment_tbl          => G_MISS_HEADER_PAYMENT_TBL
2351 ,   p_Header_Payment_val_tbl      => G_MISS_HEADER_PAYMENT_VAL_TBL
2352 ,   p_line_tbl                    => p_line_tbl
2353 ,   p_line_val_tbl                => p_line_val_tbl
2354 ,   p_Line_Adj_tbl                => p_Line_Adj_tbl
2355 ,   p_Line_Adj_val_tbl            => p_Line_Adj_val_tbl
2356 ,   p_Line_Scredit_tbl            => p_Line_Scredit_tbl
2357 ,   p_Line_Scredit_val_tbl        => p_Line_Scredit_val_tbl
2358 ,   p_Line_Payment_tbl            => G_MISS_LINE_PAYMENT_TBL
2359 ,   p_Line_Payment_val_tbl        => G_MISS_LINE_PAYMENT_VAL_TBL
2360 ,   p_Lot_Serial_tbl              => p_Lot_Serial_tbl
2361 ,   p_Lot_Serial_val_tbl          => p_Lot_Serial_val_tbl
2362 ,   p_org_id                            => p_org_id --MOAC
2363 ,   p_operating_unit                    => p_operating_unit
2364 ,   x_header_rec                  => x_header_rec
2365 ,   x_Header_Adj_tbl              => x_Header_Adj_tbl
2366 ,   x_Header_Scredit_tbl          => x_Header_Scredit_tbl
2367 ,   x_Header_Payment_tbl          => x_Header_Payment_tbl
2368 ,   x_line_tbl                    => x_line_tbl
2369 ,   x_Line_Adj_tbl                => x_Line_Adj_tbl
2370 ,   x_Line_Scredit_tbl            => x_Line_Scredit_tbl
2371 ,   x_Line_Payment_tbl            => x_Line_Payment_tbl
2372 ,   x_Lot_Serial_tbl              => x_Lot_Serial_tbl
2373 ,   x_return_status               => x_return_status
2374 );
2375 
2376 
2377 EXCEPTION
2378 
2379     WHEN OTHERS THEN
2380 
2381         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2382         THEN
2383             OE_MSG_PUB.Add_Exc_Msg
2384             (   G_PKG_NAME
2385             ,   'Value_To_Id'
2386             );
2387         END IF;
2388 
2389         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2390 
2391 END Value_To_Id;
2392 
2393 
2394 PROCEDURE Process_Line(
2395     p_line_tbl                      IN  Line_Tbl_Type :=
2396                                         G_MISS_LINE_TBL
2397 , p_org_id                        IN  NUMBER := NULL  --MOAC
2398 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
2399 
2400 ,   x_line_out_tbl                      OUT NOCOPY /* file.sql.39 change */ Line_Tbl_Type
2401 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2402 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
2403 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2404 ) IS
2405 l_line_tbl                      OE_ORDER_PUB.Line_Tbl_Type;
2406 l_control_rec                   OE_GLOBALS.control_rec_type;
2407 l_api_name                      CONSTANT VARCHAR2(30) := 'Update Line';
2408 l_header_out_rec                OE_ORDER_PUB.Header_Rec_Type;
2409 l_line_adj_out_tbl              oe_order_pub.line_Adj_Tbl_Type;
2410 l_header_adj_out_tbl            OE_Order_PUB.Header_Adj_Tbl_Type;
2411 l_Header_Scredit_out_tbl        OE_Order_PUB.Header_Scredit_Tbl_Type;
2412 l_Line_Scredit_out_tbl          OE_Order_PUB.Line_Scredit_Tbl_Type;
2413 l_Header_Payment_out_tbl        OE_Order_PUB.Header_Payment_Tbl_Type;
2414 l_Line_Payment_out_tbl          OE_Order_PUB.Line_Payment_Tbl_Type;
2415 l_action_request_out_tbl        OE_Order_PUB.request_tbl_type;
2416 l_Lot_Serial_tbl                OE_Order_PUB.Lot_Serial_Tbl_Type;
2417 l_Header_price_Att_tbl		OE_Order_PUB.Header_Price_Att_Tbl_Type;
2418 l_Header_Adj_Att_tbl		OE_Order_PUB.Header_Adj_Att_Tbl_Type;
2419 l_Header_Adj_Assoc_tbl		OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
2420 l_Line_price_Att_tbl		OE_Order_PUB.Line_Price_Att_Tbl_Type;
2421 l_Line_Adj_Att_tbl		OE_Order_PUB.Line_Adj_Att_Tbl_Type;
2422 l_Line_Adj_Assoc_tbl		OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
2423 l_return_status                 VARCHAR2(30);
2424 l_org_id number;
2425 
2426 BEGIN
2427 
2428     -- Logic added for MOAC
2429 
2430 
2431     -- FIND Org_Id logic :
2432     -- We first look at p_org_id to set Context.
2433     -- If p_org_id passed in, we ignore p_operating_unit.
2434     -- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
2435     -- If both are not passed in, we get the context from MO Get_Default_Org API.
2436     --
2437     IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
2438        l_org_id :=  p_org_id;
2439 
2440        -- ignore p_operating_unit since p_org_id has passed in.
2441        -- We check if both p_org_id and p_operating_unit pass in,
2442        -- add a message just for the information.
2443        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR)  THEN
2444           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2445             THEN
2446                 fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
2447                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
2448                 OE_MSG_PUB.Add;
2449             END IF;
2450        END IF;
2451 
2452     ELSE
2453        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
2454            -- call value_to_id to get org_id
2455            l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
2456        -- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
2457        /*
2458         ELSE
2459            -- Both p_org_id and p_operating_unit are not passed in.
2460            l_org_id := MO_UTILS.get_default_org_id ;
2461         */
2462         END IF;
2463      END IF;
2464 
2465     -- Validate Org_Id
2466     -- call new API : MO_GLOBAL.validate_orgid_pub_api
2467     -- Instead of calling old function - MO_GLOBAL.check_valid_org
2468     -- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
2469     -- without adding code to call MO_GLOBAL.init
2470     --Calling MO_GLOBAL.validate_orgid_pub_api has been shifted to set_context as it has to be called by all procedures
2471    /* MO_GLOBAL.validate_orgid_pub_api
2472     (   ORG_ID  =>  l_org_id
2473      ,  Status  =>  l_return_status
2474     ) ;*/
2475    /* IF(l_return_status ='F') THEN
2476        -- return Failure
2477        raise FND_API.G_EXC_ERROR;
2478     END IF;*/
2479 
2480     -- Set Application Context
2481     -- Since we pass validation, we start to Set Application Context
2482     -- Call MO set_policy_context to set application context by sending
2483     -- p_access_mode ='S' (Single Operating Unit Access) and org_id
2484     -- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
2485     --
2486    -- MO_GLOBAL.set_policy_context('S',l_org_id);
2487    -- OE_GLOBALS.Set_Context();
2488    --Moved the logic to set context to new procedure set_context
2489      set_context(p_org_id =>l_org_id);
2490     --  From now on, we are in single access mode.
2491 
2492 
2493 
2494  x_line_out_tbl := p_line_tbl;
2495 
2496  OE_Order_PVT.Process_order
2497     (   p_api_version_number          => 1.0
2498     ,   p_init_msg_list               => FND_API.G_TRUE
2499     ,   p_validation_level            => FND_API.G_VALID_LEVEL_FULL
2500     ,   x_return_status               => l_return_status
2501     ,   x_msg_count                   => x_msg_count
2502     ,   x_msg_data                    => x_msg_data
2503     ,   p_control_rec                 => l_control_rec
2504     ,   p_x_line_tbl                  => x_line_out_tbl
2505     ,   p_x_header_rec                  => l_header_out_rec
2506     ,   p_x_Header_Adj_tbl              => l_Header_Adj_out_tbl
2507     ,   p_x_Header_Scredit_tbl          => l_Header_Scredit_out_tbl
2508     ,   p_x_Header_Payment_tbl          => l_Header_Payment_out_tbl
2509     ,   p_x_Line_Adj_tbl                => l_Line_Adj_out_tbl
2510     ,   p_x_Line_Scredit_tbl            => l_Line_Scredit_out_tbl
2511     ,   p_x_Line_Payment_tbl            => l_Line_Payment_out_tbl
2512     ,   p_x_Action_Request_tbl          => l_Action_Request_out_Tbl
2513     ,   p_x_lot_serial_tbl              => l_lot_serial_tbl
2514     ,   p_x_Header_price_Att_tbl		=> l_Header_price_Att_tbl
2515     ,   p_x_Header_Adj_Att_tbl			=> l_Header_Adj_Att_tbl
2516     ,   p_x_Header_Adj_Assoc_tbl		=> l_Header_Adj_Assoc_tbl
2517     ,   p_x_Line_price_Att_tbl			=> l_Line_price_Att_tbl
2518     ,   p_x_Line_Adj_Att_tbl			=> l_Line_Adj_Att_tbl
2519     ,   p_x_Line_Adj_Assoc_tbl		=> l_Line_Adj_Assoc_tbl
2520     );
2521 
2522     x_return_status := l_return_status;
2523     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2524         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2525     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2526         RAISE FND_API.G_EXC_ERROR;
2527     END IF;
2528 
2529 EXCEPTION
2530 
2531     WHEN FND_API.G_EXC_ERROR THEN
2532 
2533         x_return_status := FND_API.G_RET_STS_ERROR;
2534 
2535         --  Get message count and data
2536 
2537 
2538         OE_MSG_PUB.Count_And_Get
2539         (   p_count                       => x_msg_count
2540         ,   p_data                        => x_msg_data
2541         );
2542 
2543     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2544 
2545         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2546         --  Get message count and data
2547 
2548         OE_MSG_PUB.Count_And_Get
2549         (   p_count                       => x_msg_count
2550         ,   p_data                        => x_msg_data
2551         );
2552 
2553     WHEN OTHERS THEN
2554 
2555         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2556 
2557         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2558         THEN
2559             OE_MSG_PUB.Add_Exc_Msg
2560             (   G_PKG_NAME
2561             ,   'Gen_Gapless_Sequence'
2562             );
2563         END IF;
2564 
2565         --  Get message count and data
2566 
2567         OE_MSG_PUB.Count_And_Get
2568         (   p_count                       => x_msg_count
2569         ,   p_data                        => x_msg_data
2570         );
2571 
2572 END Process_Line;
2573 
2574 PROCEDURE Process_header
2575 (
2576     p_header_rec                      IN  Header_Rec_Type :=
2577                                         G_MISS_HEADER_REC
2578 , p_org_id                        IN  NUMBER := NULL  --MOAC
2579 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
2580 
2581 ,   x_header_out_rec                      OUT NOCOPY /* file.sql.39 change */ Header_Rec_Type
2582 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2583 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
2584 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2585 )IS
2586 l_control_rec                   OE_GLOBALS.Control_Rec_Type;
2587 l_api_name                      CONSTANT VARCHAR2(30) := 'Process_header';
2588 l_line_out_tbl                  OE_ORDER_PUB.Line_Tbl_Type;
2589 l_line_adj_out_tbl              oe_order_pub.line_Adj_Tbl_Type;
2590 l_header_adj_out_tbl            OE_Order_PUB.Header_Adj_Tbl_Type;
2591 l_Header_Scredit_out_tbl        OE_Order_PUB.Header_Scredit_Tbl_Type;
2592 l_Line_Scredit_out_tbl          OE_Order_PUB.Line_Scredit_Tbl_Type;
2593 l_Header_Payment_out_tbl        OE_Order_PUB.Header_Payment_Tbl_Type;
2594 l_Line_Payment_out_tbl          OE_Order_PUB.Line_Payment_Tbl_Type;
2595 l_action_request_out_tbl        OE_Order_PUB.request_tbl_type;
2596 l_Lot_Serial_tbl                OE_Order_PUB.Lot_Serial_Tbl_Type;
2597 l_Header_price_Att_tbl		OE_Order_PUB.Header_Price_Att_Tbl_Type;
2598 l_Header_Adj_Att_tbl		OE_Order_PUB.Header_Adj_Att_Tbl_Type;
2599 l_Header_Adj_Assoc_tbl		OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
2600 l_Line_price_Att_tbl		OE_Order_PUB.Line_Price_Att_Tbl_Type;
2601 l_Line_Adj_Att_tbl		OE_Order_PUB.Line_Adj_Att_Tbl_Type;
2602 l_Line_Adj_Assoc_tbl		OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
2603 l_return_status                 VARCHAR2(30);
2604 l_org_id number;
2605 
2606 Begin
2607 
2608     -- Logic added for MOAC
2609 
2610 
2611     -- FIND Org_Id logic :
2612     -- We first look at p_org_id to set Context.
2613     -- If p_org_id passed in, we ignore p_operating_unit.
2614     -- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
2615     -- If both are not passed in, we get the context from MO Get_Default_Org API.
2616     --
2617     IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
2618        l_org_id :=  p_org_id;
2619 
2620        -- ignore p_operating_unit since p_org_id has passed in.
2621        -- We check if both p_org_id and p_operating_unit pass in,
2622        -- add a message just for the information.
2623        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR)  THEN
2624           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2625             THEN
2626                 fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
2627                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
2628                 OE_MSG_PUB.Add;
2629             END IF;
2630        END IF;
2631 
2632     ELSE
2633        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
2634            -- call value_to_id to get org_id
2635            l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
2636        -- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
2637        /*
2638         ELSE
2639            -- Both p_org_id and p_operating_unit are not passed in.
2640            l_org_id := MO_UTILS.get_default_org_id ;
2641         */
2642         END IF;
2643      END IF;
2644 
2645     -- Validate Org_Id
2646     -- call new API : MO_GLOBAL.validate_orgid_pub_api
2647     -- Instead of calling old function - MO_GLOBAL.check_valid_org
2648     -- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
2649     -- without adding code to call MO_GLOBAL.init
2650 
2651    /* MO_GLOBAL.validate_orgid_pub_api
2652     (   ORG_ID  =>  l_org_id
2653      ,  Status  =>  l_return_status
2654     ) ;*/
2655    /* IF(l_return_status ='F') THEN
2656        -- return Failure
2657        raise FND_API.G_EXC_ERROR;
2658     END IF;*/
2659 
2660     -- Set Application Context
2661     -- Since we pass validation, we start to Set Application Context
2662     -- Call MO set_policy_context to set application context by sending
2663     -- p_access_mode ='S' (Single Operating Unit Access) and org_id
2664     -- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
2665     --
2666     --MO_GLOBAL.set_policy_context('S',l_org_id);
2667     --OE_GLOBALS.Set_Context();
2668     --Moved the logic to set context to new procedure set_context
2669      set_context(p_org_id =>l_org_id);
2670 
2671     --  From now on, we are in single access mode.
2672 
2673 
2674 
2675  x_header_out_rec := p_header_rec;
2676 
2677    OE_Order_PVT.Process_order
2678     (   p_api_version_number          => 1.0
2679     ,   p_init_msg_list               => FND_API.G_TRUE
2680     ,   p_validation_level => FND_API.G_VALID_LEVEL_FULL
2681     ,   x_return_status               => l_return_status
2682     ,   x_msg_count                   => x_msg_count
2683     ,   x_msg_data                    => x_msg_data
2684     ,   p_control_rec                 => l_control_rec
2685     ,   p_x_header_rec                  => x_header_out_rec
2686     ,   p_x_Header_Adj_tbl              => l_Header_Adj_out_tbl
2687     ,   p_x_Header_Scredit_tbl          => l_Header_Scredit_out_tbl
2688     ,   p_x_Header_Payment_tbl          => l_Header_Payment_out_tbl
2689     ,   p_x_line_tbl                    => l_line_out_tbl
2690     ,   p_x_Line_Adj_tbl                => l_Line_Adj_out_tbl
2691     ,   p_x_Line_Scredit_tbl            => l_Line_Scredit_out_tbl
2692     ,   p_x_Line_Payment_tbl            => l_Line_Payment_out_tbl
2693     ,   p_x_Action_Request_tbl          => l_Action_Request_out_Tbl
2694     ,   p_x_lot_serial_tbl              => l_lot_serial_tbl
2695     ,   p_x_Header_price_Att_tbl		=> l_Header_price_Att_tbl
2696     ,   p_x_Header_Adj_Att_tbl			=> l_Header_Adj_Att_tbl
2697     ,   p_x_Header_Adj_Assoc_tbl		=> l_Header_Adj_Assoc_tbl
2698     ,   p_x_Line_price_Att_tbl			=> l_Line_price_Att_tbl
2699     ,   p_x_Line_Adj_Att_tbl			=> l_Line_Adj_Att_tbl
2700     ,   p_x_Line_Adj_Assoc_tbl		=> l_Line_Adj_Assoc_tbl
2701     );
2702 
2703     x_return_status := l_return_status;
2704     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2705         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2706     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2707         RAISE FND_API.G_EXC_ERROR;
2708     END IF;
2709 
2710 
2711 EXCEPTION
2712 
2713     WHEN FND_API.G_EXC_ERROR THEN
2714 
2715         x_return_status := FND_API.G_RET_STS_ERROR;
2716 
2717         --  Get message count and data
2718 
2719 
2720         OE_MSG_PUB.Count_And_Get
2721         (   p_count                       => x_msg_count
2722         ,   p_data                        => x_msg_data
2723         );
2724 
2725     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2726 
2727         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2728         --  Get message count and data
2729 
2730         OE_MSG_PUB.Count_And_Get
2731         (   p_count                       => x_msg_count
2732         ,   p_data                        => x_msg_data
2733         );
2734 
2735     WHEN OTHERS THEN
2736 
2737         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2738 
2739         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2740         THEN
2741             OE_MSG_PUB.Add_Exc_Msg
2742             (   G_PKG_NAME
2743             ,   'Gen_Gapless_Sequence'
2744             );
2745         END IF;
2746 
2747         --  Get message count and data
2748 
2749         OE_MSG_PUB.Count_And_Get
2750         (   p_count                       => x_msg_count
2751         ,   p_data                        => x_msg_data
2752         );
2753 
2754 END Process_Header;
2755 
2756 
2757 PROCEDURE Delete_Order
2758 (
2759     p_header_id                      NUMBER
2760 , p_org_id                        IN  NUMBER := NULL  --MOAC
2761 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
2762 
2763 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2764 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
2765 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2766 )IS
2767 l_header_rec                OE_ORDER_PUB.Header_Rec_Type;
2768 l_old_header_rec            OE_ORDER_PUB.Header_Rec_Type;
2769 l_control_rec               OE_GLOBALS.Control_Rec_Type;
2770 l_api_name         CONSTANT VARCHAR2(30) := 'Delete Order';
2771 l_header_out_rec            OE_ORDER_PUB.Header_Rec_Type;
2772 l_line_out_tbl              OE_ORDER_PUB.Line_Tbl_Type;
2773 l_line_adj_out_tbl          oe_order_pub.line_Adj_Tbl_Type;
2774 l_header_adj_out_tbl        OE_Order_PUB.Header_Adj_Tbl_Type;
2775 l_Header_Scredit_out_tbl    OE_Order_PUB.Header_Scredit_Tbl_Type;
2776 l_Line_Scredit_out_tbl      OE_Order_PUB.Line_Scredit_Tbl_Type;
2777 l_Header_Payment_out_tbl    OE_Order_PUB.Header_Payment_Tbl_Type;
2778 l_Line_Payment_out_tbl      OE_Order_PUB.Line_Payment_Tbl_Type;
2779 l_action_request_out_tbl    OE_Order_PUB.request_tbl_type;
2780 l_Lot_Serial_tbl            OE_Order_PUB.Lot_Serial_Tbl_Type;
2781 l_Header_price_Att_tbl		OE_Order_PUB.Header_Price_Att_Tbl_Type;
2782 l_Header_Adj_Att_tbl		OE_Order_PUB.Header_Adj_Att_Tbl_Type;
2783 l_Header_Adj_Assoc_tbl		OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
2784 l_Line_price_Att_tbl		OE_Order_PUB.Line_Price_Att_Tbl_Type;
2785 l_Line_Adj_Att_tbl		OE_Order_PUB.Line_Adj_Att_Tbl_Type;
2786 l_Line_Adj_Assoc_tbl		OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
2787 l_return_status         VARCHAR2(30);
2788 l_org_id number;
2789 
2790 Begin
2791     -- Logic added for MOAC
2792 
2793 
2794     -- FIND Org_Id logic :
2795     -- We first look at p_org_id to set Context.
2796     -- If p_org_id passed in, we ignore p_operating_unit.
2797     -- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
2798     -- If both are not passed in, we get the context from MO Get_Default_Org API.
2799     --
2800     IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
2801        l_org_id :=  p_org_id;
2802 
2803        -- ignore p_operating_unit since p_org_id has passed in.
2804        -- We check if both p_org_id and p_operating_unit pass in,
2805        -- add a message just for the information.
2806        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR)  THEN
2807           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2808             THEN
2809                 fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
2810                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
2811                 OE_MSG_PUB.Add;
2812             END IF;
2813        END IF;
2814 
2815     ELSE
2816        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
2817            -- call value_to_id to get org_id
2818            l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
2819        -- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
2820        /*
2821         ELSE
2822            -- Both p_org_id and p_operating_unit are not passed in.
2823            l_org_id := MO_UTILS.get_default_org_id ;
2824         */
2825         END IF;
2826      END IF;
2827 
2828     -- Validate Org_Id
2829     -- call new API : MO_GLOBAL.validate_orgid_pub_api
2830     -- Instead of calling old function - MO_GLOBAL.check_valid_org
2831     -- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
2832     -- without adding code to call MO_GLOBAL.init
2833 
2834     /*MO_GLOBAL.validate_orgid_pub_api
2835     (   ORG_ID  =>  l_org_id
2836      ,  Status  =>  l_return_status
2837     ) ;*/
2838     /*IF(l_return_status ='F') THEN
2839        -- return Failure
2840        raise FND_API.G_EXC_ERROR;
2841     END IF;*/
2842 
2843     -- Set Application Context
2844     -- Since we pass validation, we start to Set Application Context
2845     -- Call MO set_policy_context to set application context by sending
2846     -- p_access_mode ='S' (Single Operating Unit Access) and org_id
2847     -- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
2848     --
2849     --MO_GLOBAL.set_policy_context('S',l_org_id);
2850     --OE_GLOBALS.Set_Context();
2851     --Moved the logic to set context to new procedure set_context
2852      set_context(p_org_id =>l_org_id);
2853 
2854     --  From now on, we are in single access mode.
2855 
2856 
2857 
2858 
2859     l_header_rec              := OE_Order_PUB.G_MISS_HEADER_REC;
2860     l_header_rec.header_id    := p_header_id;
2861     --  Set Operation.  Bug #1198949
2862     l_header_rec.operation := OE_GLOBALS.G_OPR_DELETE;
2863 
2864 
2865 
2866     OE_ORDER_PVT.Process_order
2867     (   p_api_version_number          => 1.0
2868     ,   p_init_msg_list               => FND_API.G_TRUE
2869     ,   p_validation_level            => FND_API.G_VALID_LEVEL_FULL
2870     ,   x_return_status               => l_return_status
2871     ,   x_msg_count                   => x_msg_count
2872     ,   x_msg_data                    => x_msg_data
2873     ,   p_control_rec                 => l_control_rec
2874     ,   p_x_header_rec                => l_header_rec
2875     ,   p_x_Header_Adj_tbl              => l_Header_Adj_out_tbl
2876     ,   p_x_Header_Scredit_tbl          => l_Header_Scredit_out_tbl
2877     ,   p_x_Header_Payment_tbl          => l_Header_Payment_out_tbl
2878     ,   p_x_line_tbl                    => l_line_out_tbl
2879     ,   p_x_Line_Adj_tbl                => l_Line_Adj_out_tbl
2880     ,   p_x_Line_Scredit_tbl            => l_Line_Scredit_out_tbl
2881     ,   p_x_Line_Payment_tbl            => l_Line_Payment_out_tbl
2882     ,   p_x_Action_Request_tbl          => l_Action_Request_out_Tbl
2883     ,   p_x_lot_serial_tbl              => l_lot_serial_tbl
2884     ,   p_x_Header_price_Att_tbl		=> l_Header_price_Att_tbl
2885     ,   p_x_Header_Adj_Att_tbl			=> l_Header_Adj_Att_tbl
2886     ,   p_x_Header_Adj_Assoc_tbl		=> l_Header_Adj_Assoc_tbl
2887     ,   p_x_Line_price_Att_tbl			=> l_Line_price_Att_tbl
2888     ,   p_x_Line_Adj_Att_tbl			=> l_Line_Adj_Att_tbl
2889     ,   p_x_Line_Adj_Assoc_tbl		=> l_Line_Adj_Assoc_tbl
2890    );
2891     x_return_status := l_return_status;
2892     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2893         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2894     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2895         RAISE FND_API.G_EXC_ERROR;
2896     END IF;
2897 EXCEPTION
2898 
2899     WHEN FND_API.G_EXC_ERROR THEN
2900 
2901         x_return_status := FND_API.G_RET_STS_ERROR;
2902 
2903         --  Get message count and data
2904 
2905 
2906         OE_MSG_PUB.Count_And_Get
2907         (   p_count                       => x_msg_count
2908         ,   p_data                        => x_msg_data
2909         );
2910 
2911     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2912 
2913         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2914         --  Get message count and data
2915 
2916         OE_MSG_PUB.Count_And_Get
2917         (   p_count                       => x_msg_count
2918         ,   p_data                        => x_msg_data
2919         );
2920 
2921     WHEN OTHERS THEN
2922 
2923         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2924 
2925         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2926         THEN
2927             OE_MSG_PUB.Add_Exc_Msg
2928             (   G_PKG_NAME
2929             ,   'Delete_Order'
2930             );
2931         END IF;
2932 
2933         --  Get message count and data
2934 
2935         OE_MSG_PUB.Count_And_Get
2936         (   p_count                       => x_msg_count
2937         ,   p_data                        => x_msg_data
2938         );
2939 
2940 NULL;
2941 END Delete_Order;
2942 
2943 
2944 
2945 PROCEDURE Delete_Line
2946 (
2947     p_line_id                       NUMBER
2948 , p_org_id                        IN  NUMBER := NULL  --MOAC
2949 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
2950 
2951 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2952 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
2953 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2954 )IS
2955 l_line_tbl                  OE_ORDER_PUB.Line_tbl_Type;
2956 l_control_rec               OE_GLOBALS.control_rec_type;
2957 l_api_name         CONSTANT VARCHAR2(30) := 'Update Line';
2958 l_header_out_rec            OE_ORDER_PUB.Header_Rec_Type;
2959 l_line_out_tbl              OE_ORDER_PUB.Line_Tbl_Type;
2960 l_line_adj_out_tbl          oe_order_pub.line_Adj_Tbl_Type;
2961 l_header_adj_out_tbl        OE_Order_PUB.Header_Adj_Tbl_Type;
2962 l_Header_Scredit_out_tbl    OE_Order_PUB.Header_Scredit_Tbl_Type;
2963 l_Line_Scredit_out_tbl      OE_Order_PUB.Line_Scredit_Tbl_Type;
2964 l_Header_Payment_out_tbl    OE_Order_PUB.Header_Payment_Tbl_Type;
2965 l_Line_Payment_out_tbl      OE_Order_PUB.Line_Payment_Tbl_Type;
2966 l_action_request_out_tbl    OE_Order_PUB.request_tbl_type;
2967 l_Lot_Serial_tbl            OE_Order_PUB.Lot_Serial_Tbl_Type;
2968 l_Header_price_Att_tbl		OE_Order_PUB.Header_Price_Att_Tbl_Type;
2969 l_Header_Adj_Att_tbl		OE_Order_PUB.Header_Adj_Att_Tbl_Type;
2970 l_Header_Adj_Assoc_tbl		OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
2971 l_Line_price_Att_tbl		OE_Order_PUB.Line_Price_Att_Tbl_Type;
2972 l_Line_Adj_Att_tbl			OE_Order_PUB.Line_Adj_Att_Tbl_Type;
2973 l_Line_Adj_Assoc_tbl		OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
2974 l_return_status         VARCHAR2(30);
2975 l_org_id number;
2976 
2977 Begin
2978     -- Logic added for MOAC
2979 
2980 
2981     -- FIND Org_Id logic :
2982     -- We first look at p_org_id to set Context.
2983     -- If p_org_id passed in, we ignore p_operating_unit.
2984     -- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
2985     -- If both are not passed in, we get the context from MO Get_Default_Org API.
2986     --
2987     IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
2988        l_org_id :=  p_org_id;
2989 
2990        -- ignore p_operating_unit since p_org_id has passed in.
2991        -- We check if both p_org_id and p_operating_unit pass in,
2992        -- add a message just for the information.
2993        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR)  THEN
2994           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2995             THEN
2996                 fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
2997                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
2998                 OE_MSG_PUB.Add;
2999             END IF;
3000        END IF;
3001 
3002     ELSE
3003        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
3004            -- call value_to_id to get org_id
3005            l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
3006        -- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
3007        /*
3008         ELSE
3009            -- Both p_org_id and p_operating_unit are not passed in.
3010            l_org_id := MO_UTILS.get_default_org_id ;
3011         */
3012         END IF;
3013      END IF;
3014 
3015     -- Validate Org_Id
3016     -- call new API : MO_GLOBAL.validate_orgid_pub_api
3017     -- Instead of calling old function - MO_GLOBAL.check_valid_org
3018     -- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
3019     -- without adding code to call MO_GLOBAL.init
3020 
3021    /* MO_GLOBAL.validate_orgid_pub_api
3022     (   ORG_ID  =>  l_org_id
3023      ,  Status  =>  l_return_status
3024     ) ;*/
3025    /* IF(l_return_status ='F') THEN
3026        -- return Failure
3027        raise FND_API.G_EXC_ERROR;
3028     END IF;*/
3029 
3030     -- Set Application Context
3031     -- Since we pass validation, we start to Set Application Context
3032     -- Call MO set_policy_context to set application context by sending
3033     -- p_access_mode ='S' (Single Operating Unit Access) and org_id
3034     -- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
3035     --
3036     --MO_GLOBAL.set_policy_context('S',l_org_id);
3037     --OE_GLOBALS.Set_Context();
3038     --Moved the logic to set context to new procedure set_context
3039      set_context(p_org_id =>l_org_id);
3040 
3041 
3042     --  From now on, we are in single access mode.
3043 
3044 
3045 
3046 
3047     l_line_tbl(1)		 := OE_Order_PUB.G_MISS_LINE_REC;
3048     l_line_tbl(1).line_id := p_line_id;
3049 
3050     --  Set Operation.
3051 
3052     l_line_tbl(1).operation := OE_GLOBALS.G_OPR_DELETE;
3053 
3054     OE_Order_PVT.Process_order
3055     (   p_api_version_number          => 1.0
3056     ,   p_init_msg_list               => FND_API.G_TRUE
3057     ,   p_validation_level            => FND_API.G_VALID_LEVEL_FULL
3058     ,   x_return_status               => l_return_status
3059     ,   x_msg_count                   => x_msg_count
3060     ,   x_msg_data                    => x_msg_data
3061     ,   p_control_rec                 => l_control_rec
3062     ,   p_x_line_tbl                    => l_line_tbl
3063     ,   p_x_header_rec                  => l_header_out_rec
3064     ,   p_x_Header_Adj_tbl              => l_Header_Adj_out_tbl
3065     ,   p_x_Header_Scredit_tbl          => l_Header_Scredit_out_tbl
3066     ,   p_x_Header_Payment_tbl          => l_Header_Payment_out_tbl
3067     ,   p_x_Line_Adj_tbl                => l_Line_Adj_out_tbl
3068     ,   p_x_Line_Scredit_tbl            => l_Line_Scredit_out_tbl
3069     ,   p_x_Line_Payment_tbl            => l_Line_Payment_out_tbl
3070     ,   p_x_Action_Request_tbl          => l_Action_Request_out_Tbl
3071     ,   p_x_lot_serial_tbl              => l_lot_serial_tbl
3072     ,   p_x_Header_price_Att_tbl		=> l_Header_price_Att_tbl
3073     ,   p_x_Header_Adj_Att_tbl			=> l_Header_Adj_Att_tbl
3074     ,   p_x_Header_Adj_Assoc_tbl		=> l_Header_Adj_Assoc_tbl
3075     ,   p_x_Line_price_Att_tbl			=> l_Line_price_Att_tbl
3076     ,   p_x_Line_Adj_Att_tbl			=> l_Line_Adj_Att_tbl
3077     ,   p_x_Line_Adj_Assoc_tbl		=> l_Line_Adj_Assoc_tbl
3078     );
3079 
3080 	x_return_status := l_return_status;
3081     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3082         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3083     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3084         RAISE FND_API.G_EXC_ERROR;
3085     END IF;
3086 
3087 EXCEPTION
3088 
3089     WHEN FND_API.G_EXC_ERROR THEN
3090 
3091         x_return_status := FND_API.G_RET_STS_ERROR;
3092 
3093         --  Get message count and data
3094 
3095 
3096         OE_MSG_PUB.Count_And_Get
3097         (   p_count                       => x_msg_count
3098         ,   p_data                        => x_msg_data
3099         );
3100 
3101     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3102 
3103         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3104         --  Get message count and data
3105 
3106         OE_MSG_PUB.Count_And_Get
3107         (   p_count                       => x_msg_count
3108         ,   p_data                        => x_msg_data
3109         );
3110 
3111 
3112     WHEN OTHERS THEN
3113 
3114         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3115         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3116         THEN
3117             OE_MSG_PUB.Add_Exc_Msg
3118             (   G_PKG_NAME
3119             ,   'Gen_Gapless_Sequence'
3120             );
3121         END IF;
3122 
3123         --  Get message count and data
3124 
3125         OE_MSG_PUB.Count_And_Get
3126         (   p_count                       => x_msg_count
3127         ,   p_data                        => x_msg_data
3128         );
3129 
3130 
3131 END Delete_Line;
3132 
3133 
3134 PROCEDURE update_header
3135 (
3136     p_header_id                    IN  NUMBER
3137 , p_org_id                        IN  NUMBER := NULL  --MOAC
3138 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
3139 ,   p_header_val_rec               IN  Header_val_Rec_Type :=
3140                                         G_MISS_HEADER_VAL_REC
3141 
3142 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
3143 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
3144 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
3145 )IS
3146 l_header_rec                OE_ORDER_PUB.Header_Rec_Type;
3147 l_old_header_rec            OE_ORDER_PUB.Header_Rec_Type;
3148 l_control_rec               OE_GLOBALS.Control_Rec_Type;
3149 l_api_name         CONSTANT VARCHAR2(30) := 'Process_header';
3150 l_header_out_rec            OE_ORDER_PUB.Header_Rec_Type;
3151 l_line_out_tbl              OE_ORDER_PUB.Line_Tbl_Type;
3152 l_line_adj_out_tbl          oe_order_pub.line_Adj_Tbl_Type;
3153 l_header_adj_out_tbl        OE_Order_PUB.Header_Adj_Tbl_Type;
3154 l_Header_Scredit_out_tbl    OE_Order_PUB.Header_Scredit_Tbl_Type;
3155 l_Line_Scredit_out_tbl      OE_Order_PUB.Line_Scredit_Tbl_Type;
3156 l_Header_Payment_out_tbl    OE_Order_PUB.Header_Payment_Tbl_Type;
3157 l_Line_Payment_out_tbl      OE_Order_PUB.Line_Payment_Tbl_Type;
3158 l_action_request_out_tbl    OE_Order_PUB.request_tbl_type;
3159 l_Lot_Serial_tbl        OE_Order_PUB.Lot_Serial_Tbl_Type;
3160 l_Header_price_Att_tbl		OE_Order_PUB.Header_Price_Att_Tbl_Type;
3161 l_Header_Adj_Att_tbl		OE_Order_PUB.Header_Adj_Att_Tbl_Type;
3162 l_Header_Adj_Assoc_tbl		OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
3163 l_Line_price_Att_tbl		OE_Order_PUB.Line_Price_Att_Tbl_Type;
3164 l_Line_Adj_Att_tbl			OE_Order_PUB.Line_Adj_Att_Tbl_Type;
3165 l_Line_Adj_Assoc_tbl		OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
3166 l_return_status         VARCHAR2(30);
3167 l_org_id number;
3168 
3169 BEGIN
3170     -- Logic added for MOAC
3171 
3172 
3173     -- FIND Org_Id logic :
3174     -- We first look at p_org_id to set Context.
3175     -- If p_org_id passed in, we ignore p_operating_unit.
3176     -- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
3177     -- If both are not passed in, we get the context from MO Get_Default_Org API.
3178     --
3179     IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
3180        l_org_id :=  p_org_id;
3181 
3182        -- ignore p_operating_unit since p_org_id has passed in.
3183        -- We check if both p_org_id and p_operating_unit pass in,
3184        -- add a message just for the information.
3185        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR)  THEN
3186           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3187             THEN
3188                 fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
3189                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
3190                 OE_MSG_PUB.Add;
3191             END IF;
3192        END IF;
3193 
3194     ELSE
3195        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
3196            -- call value_to_id to get org_id
3197            l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
3198        -- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
3199        /*
3200         ELSE
3201            -- Both p_org_id and p_operating_unit are not passed in.
3202            l_org_id := MO_UTILS.get_default_org_id ;
3203         */
3204         END IF;
3205      END IF;
3206 
3207     -- Validate Org_Id
3208     -- call new API : MO_GLOBAL.validate_orgid_pub_api
3209     -- Instead of calling old function - MO_GLOBAL.check_valid_org
3210     -- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
3211     -- without adding code to call MO_GLOBAL.init
3212 
3213     /*MO_GLOBAL.validate_orgid_pub_api
3214     (   ORG_ID  =>  l_org_id
3215      ,  Status  =>  l_return_status
3216     ) ;*/
3217     /*IF(l_return_status ='F') THEN
3218        -- return Failure
3219        raise FND_API.G_EXC_ERROR;
3220     END IF;*/
3221 
3222     -- Set Application Context
3223     -- Since we pass validation, we start to Set Application Context
3224     -- Call MO set_policy_context to set application context by sending
3225     -- p_access_mode ='S' (Single Operating Unit Access) and org_id
3226     -- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
3227     --
3228     --MO_GLOBAL.set_policy_context('S',l_org_id);
3229     --OE_GLOBALS.Set_Context();
3230     --Moved the logic to set context to new procedure set_context
3231      set_context(p_org_id =>l_org_id);
3232 
3233     --  From now on, we are in single access mode.
3234 
3235 
3236 
3237 
3238     l_header_rec		:= OE_Order_PUB.G_MISS_HEADER_REC;
3239     l_header_rec.header_id := p_header_id;
3240 
3241     OE_Header_Util.Get_Ids
3242 	( p_x_header_rec	=> l_header_rec
3243          ,p_header_val_rec	=> p_header_val_rec
3244 	);
3245 
3246     l_return_status := l_header_rec.return_status;
3247     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3248         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3249     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3250         RAISE FND_API.G_EXC_ERROR;
3251     END IF;
3252 
3253 
3254     l_header_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
3255 
3256    OE_Order_PVT.Process_order
3257     (   p_api_version_number          => 1.0
3258     ,   p_init_msg_list               => FND_API.G_TRUE
3259     ,   p_validation_level            => FND_API.G_VALID_LEVEL_FULL
3260     ,   x_return_status               => l_return_status
3261     ,   x_msg_count                   => x_msg_count
3262     ,   x_msg_data                    => x_msg_data
3263     ,   p_control_rec                 => l_control_rec
3264     ,   p_x_header_rec                  => l_header_rec
3265     ,   p_x_Header_Adj_tbl              => l_Header_Adj_out_tbl
3266     ,   p_x_Header_Scredit_tbl          => l_Header_Scredit_out_tbl
3267     ,   p_x_Header_Payment_tbl          => l_Header_Payment_out_tbl
3268     ,   p_x_line_tbl                    => l_line_out_tbl
3269     ,   p_x_Line_Adj_tbl                => l_Line_Adj_out_tbl
3270     ,   p_x_Line_Scredit_tbl            => l_Line_Scredit_out_tbl
3271     ,   p_x_Line_Payment_tbl            => l_Line_Payment_out_tbl
3272     ,   p_x_Action_Request_tbl          => l_Action_Request_out_Tbl
3273     ,   p_x_lot_serial_tbl              => l_lot_serial_tbl
3274     ,   p_x_Header_price_Att_tbl		=> l_Header_price_Att_tbl
3275     ,   p_x_Header_Adj_Att_tbl			=> l_Header_Adj_Att_tbl
3276     ,   p_x_Header_Adj_Assoc_tbl		=> l_Header_Adj_Assoc_tbl
3277     ,   p_x_Line_price_Att_tbl			=> l_Line_price_Att_tbl
3278     ,   p_x_Line_Adj_Att_tbl			=> l_Line_Adj_Att_tbl
3279     ,   p_x_Line_Adj_Assoc_tbl		=> l_Line_Adj_Assoc_tbl
3280     );
3281     x_return_status := l_return_status;
3282     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3283         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3284     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3285         RAISE FND_API.G_EXC_ERROR;
3286     END IF;
3287 
3288 
3289 EXCEPTION
3290 
3291     WHEN FND_API.G_EXC_ERROR THEN
3292 
3293         x_return_status := FND_API.G_RET_STS_ERROR;
3294 
3295         --  Get message count and data
3296 
3297 
3298         OE_MSG_PUB.Count_And_Get
3299         (   p_count                       => x_msg_count
3300         ,   p_data                        => x_msg_data
3301         );
3302 
3303     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3304 
3305         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3306         --  Get message count and data
3307 
3308         OE_MSG_PUB.Count_And_Get
3309         (   p_count                       => x_msg_count
3310         ,   p_data                        => x_msg_data
3311         );
3312 
3313     WHEN OTHERS THEN
3314 
3315         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3316 
3317         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3318         THEN
3319             OE_MSG_PUB.Add_Exc_Msg
3320             (   G_PKG_NAME
3321             ,   'Update Header'
3322             );
3323         END IF;
3324 
3325         --  Get message count and data
3326 
3327         OE_MSG_PUB.Count_And_Get
3328         (   p_count                       => x_msg_count
3329         ,   p_data                        => x_msg_data
3330         );
3331 
3332 END update_header;
3333 
3334 PROCEDURE Update_Line
3335 (
3336     p_line_id                      IN  NUMBER
3337 ,   p_line_val_rec                 IN  Line_Val_rec_Type :=
3338                                         G_MISS_LINE_VAL_REC
3339 , p_org_id                        IN  NUMBER := NULL  --MOAC
3340 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
3341 
3342 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
3343 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
3344 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
3345 )IS
3346 l_line_rec                 OE_ORDER_PUB.Line_rec_Type;
3347 l_line_tbl                 OE_ORDER_PUB.Line_tbl_Type;
3348 l_control_rec               OE_GLOBALS.control_rec_type;
3349 l_api_name         CONSTANT VARCHAR2(30) := 'Update Line';
3350 l_header_out_rec            OE_ORDER_PUB.Header_Rec_Type;
3351 l_line_out_tbl              OE_ORDER_PUB.Line_Tbl_Type;
3352 l_line_adj_out_tbl          oe_order_pub.line_Adj_Tbl_Type;
3353 l_header_adj_out_tbl        OE_Order_PUB.Header_Adj_Tbl_Type;
3354 l_Header_Scredit_out_tbl    OE_Order_PUB.Header_Scredit_Tbl_Type;
3355 l_Line_Scredit_out_tbl      OE_Order_PUB.Line_Scredit_Tbl_Type;
3356 l_Header_Payment_out_tbl    OE_Order_PUB.Header_Payment_Tbl_Type;
3357 l_Line_Payment_out_tbl      OE_Order_PUB.Line_Payment_Tbl_Type;
3358 l_action_request_out_tbl    OE_Order_PUB.request_tbl_type;
3359 l_Lot_Serial_tbl        OE_Order_PUB.Lot_Serial_Tbl_Type;
3360 l_Header_price_Att_tbl		OE_Order_PUB.Header_Price_Att_Tbl_Type;
3361 l_Header_Adj_Att_tbl		OE_Order_PUB.Header_Adj_Att_Tbl_Type;
3362 l_Header_Adj_Assoc_tbl		OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
3363 l_Line_price_Att_tbl		OE_Order_PUB.Line_Price_Att_Tbl_Type;
3364 l_Line_Adj_Att_tbl			OE_Order_PUB.Line_Adj_Att_Tbl_Type;
3365 l_Line_Adj_Assoc_tbl		OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
3366 l_return_status         VARCHAR2(30);
3367 l_org_id number;
3368 
3369 Begin
3370     -- Logic added for MOAC
3371 
3372 
3373     -- FIND Org_Id logic :
3374     -- We first look at p_org_id to set Context.
3375     -- If p_org_id passed in, we ignore p_operating_unit.
3376     -- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
3377     -- If both are not passed in, we get the context from MO Get_Default_Org API.
3378     --
3379     IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
3380        l_org_id :=  p_org_id;
3381 
3382        -- ignore p_operating_unit since p_org_id has passed in.
3383        -- We check if both p_org_id and p_operating_unit pass in,
3384        -- add a message just for the information.
3385        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR)  THEN
3386           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3387             THEN
3388                 fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
3389                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
3390                 OE_MSG_PUB.Add;
3391             END IF;
3392        END IF;
3393 
3394     ELSE
3395        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
3396            -- call value_to_id to get org_id
3397            l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
3398        -- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
3399        /*
3400         ELSE
3401            -- Both p_org_id and p_operating_unit are not passed in.
3402            l_org_id := MO_UTILS.get_default_org_id ;
3403         */
3404         END IF;
3405      END IF;
3406 
3407     -- Validate Org_Id
3408     -- call new API : MO_GLOBAL.validate_orgid_pub_api
3409     -- Instead of calling old function - MO_GLOBAL.check_valid_org
3410     -- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
3411     -- without adding code to call MO_GLOBAL.init
3412 
3413     /*MO_GLOBAL.validate_orgid_pub_api
3414     (   ORG_ID  =>  l_org_id
3415      ,  Status  =>  l_return_status
3416     ) ;*/
3417     /*IF(l_return_status ='F') THEN
3418        -- return Failure
3419        raise FND_API.G_EXC_ERROR;
3420     END IF;*/
3421 
3422     -- Set Application Context
3423     -- Since we pass validation, we start to Set Application Context
3424     -- Call MO set_policy_context to set application context by sending
3425     -- p_access_mode ='S' (Single Operating Unit Access) and org_id
3426     -- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
3427     --
3428     --MO_GLOBAL.set_policy_context('S',l_org_id);
3429     --OE_GLOBALS.Set_Context();
3430     --Moved the logic to set context to new procedure set_context
3431      set_context(p_org_id =>l_org_id);
3432 
3433     --  From now on, we are in single access mode.
3434 
3435 
3436 
3437 
3438     l_line_rec	        := OE_Order_PUB.G_MISS_LINE_REC;
3439     l_line_rec.line_id := p_line_id;
3440     OE_Line_Util.Get_Ids
3441 	(p_x_line_rec		=> l_line_rec
3442 	 ,p_line_val_rec	=> p_Line_val_rec
3443 	);
3444     l_return_status := l_line_rec.return_status;
3445     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3446         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3447     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3448         RAISE FND_API.G_EXC_ERROR;
3449     END IF;
3450 
3451     l_line_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
3452     l_line_tbl(1) := l_line_rec;
3453 
3454 
3455     OE_Order_PVT.Process_order
3456     (   p_api_version_number          => 1.0
3457     ,   p_init_msg_list               => FND_API.G_TRUE
3458     ,   p_validation_level            => FND_API.G_VALID_LEVEL_FULL
3459     ,   x_return_status               => l_return_status
3460     ,   x_msg_count                   => x_msg_count
3461     ,   x_msg_data                    => x_msg_data
3462     ,   p_control_rec                 => l_control_rec
3463     ,   p_x_line_tbl                    => l_line_tbl
3464     ,   p_x_header_rec                  => l_header_out_rec
3465     ,   p_x_Header_Adj_tbl              => l_Header_Adj_out_tbl
3466     ,   p_x_Header_Scredit_tbl          => l_Header_Scredit_out_tbl
3467     ,   p_x_Header_Payment_tbl          => l_Header_Payment_out_tbl
3468     ,   p_x_Line_Adj_tbl                => l_Line_Adj_out_tbl
3469     ,   p_x_Line_Scredit_tbl            => l_Line_Scredit_out_tbl
3470     ,   p_x_Line_Payment_tbl            => l_Line_Payment_out_tbl
3471     ,   p_x_Action_Request_tbl          => l_Action_Request_out_Tbl
3472     ,   p_x_lot_serial_tbl              => l_lot_serial_tbl
3473     ,   p_x_Header_price_Att_tbl		=> l_Header_price_Att_tbl
3474     ,   p_x_Header_Adj_Att_tbl			=> l_Header_Adj_Att_tbl
3475     ,   p_x_Header_Adj_Assoc_tbl		=> l_Header_Adj_Assoc_tbl
3476     ,   p_x_Line_price_Att_tbl			=> l_Line_price_Att_tbl
3477     ,   p_x_Line_Adj_Att_tbl			=> l_Line_Adj_Att_tbl
3478     ,   p_x_Line_Adj_Assoc_tbl		=> l_Line_Adj_Assoc_tbl
3479     );
3480 
3481     x_return_status := l_return_status;
3482     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3483         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3484     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3485         RAISE FND_API.G_EXC_ERROR;
3486     END IF;
3487 
3488 EXCEPTION
3489 
3490     WHEN FND_API.G_EXC_ERROR THEN
3491 
3492         x_return_status := FND_API.G_RET_STS_ERROR;
3493 
3494         --  Get message count and data
3495 
3496 
3497         OE_MSG_PUB.Count_And_Get
3498         (   p_count                       => x_msg_count
3499         ,   p_data                        => x_msg_data
3500         );
3501 
3502     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3503 
3504         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3505         --  Get message count and data
3506 
3507         OE_MSG_PUB.Count_And_Get
3508         (   p_count                       => x_msg_count
3509         ,   p_data                        => x_msg_data
3510         );
3511 
3512 
3513     WHEN OTHERS THEN
3514 
3515         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3516         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3517         THEN
3518             OE_MSG_PUB.Add_Exc_Msg
3519             (   G_PKG_NAME
3520             ,   'Update_Line'
3521             );
3522         END IF;
3523 
3524         --  Get message count and data
3525 
3526         OE_MSG_PUB.Count_And_Get
3527         (   p_count                       => x_msg_count
3528         ,   p_data                        => x_msg_data
3529         );
3530 NULL;
3531 END update_Line;
3532 
3533 -- serla
3534 -- All new Overloaded APIs for the Multiple Payments
3535 
3536 PROCEDURE Process_Order
3537 (   p_org_id                        IN  NUMBER := NULL --MOAC
3538 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
3539 ,   p_api_version_number            IN  NUMBER
3540 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
3541 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
3542 ,   p_action_commit                 IN  VARCHAR2 := FND_API.G_FALSE
3543 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
3544 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
3545 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
3546 ,   p_header_rec                    IN  Header_Rec_Type :=
3547                                         G_MISS_HEADER_REC
3548 ,   p_old_header_rec                IN  Header_Rec_Type :=
3549                                         G_MISS_HEADER_REC
3550 ,   p_header_val_rec                IN  Header_Val_Rec_Type :=
3551                                         G_MISS_HEADER_VAL_REC
3552 ,   p_old_header_val_rec            IN  Header_Val_Rec_Type :=
3553                                         G_MISS_HEADER_VAL_REC
3554 ,   p_Header_Adj_tbl                IN  Header_Adj_Tbl_Type :=
3555                                         G_MISS_HEADER_ADJ_TBL
3556 ,   p_old_Header_Adj_tbl            IN  Header_Adj_Tbl_Type :=
3557                                         G_MISS_HEADER_ADJ_TBL
3558 ,   p_Header_Adj_val_tbl            IN  Header_Adj_Val_Tbl_Type :=
3559                                         G_MISS_HEADER_ADJ_VAL_TBL
3560 ,   p_old_Header_Adj_val_tbl        IN  Header_Adj_Val_Tbl_Type :=
3561                                         G_MISS_HEADER_ADJ_VAL_TBL
3562 ,   p_Header_price_Att_tbl          IN  Header_Price_Att_Tbl_Type :=
3563                                         G_MISS_HEADER_PRICE_ATT_TBL
3564 ,   p_old_Header_Price_Att_tbl      IN  Header_Price_Att_Tbl_Type :=
3565                                         G_MISS_HEADER_PRICE_ATT_TBL
3566 ,   p_Header_Adj_Att_tbl            IN  Header_Adj_Att_Tbl_Type :=
3567                                         G_MISS_HEADER_ADJ_ATT_TBL
3568 ,   p_old_Header_Adj_Att_tbl        IN  Header_Adj_Att_Tbl_Type :=
3569     G_MISS_HEADER_ADJ_ATT_TBL
3570 ,   p_Header_Adj_Assoc_tbl            IN  Header_Adj_Assoc_Tbl_Type :=
3571                                         G_MISS_HEADER_ADJ_ASSOC_TBL
3572 ,   p_old_Header_Adj_Assoc_tbl        IN  Header_Adj_Assoc_Tbl_Type :=
3573     G_MISS_HEADER_ADJ_ASSOC_TBL
3574 ,   p_Header_Scredit_tbl            IN  Header_Scredit_Tbl_Type :=
3575                                         G_MISS_HEADER_SCREDIT_TBL
3576 ,   p_old_Header_Scredit_tbl        IN  Header_Scredit_Tbl_Type :=
3577                                         G_MISS_HEADER_SCREDIT_TBL
3578 ,   p_Header_Scredit_val_tbl        IN  Header_Scredit_Val_Tbl_Type :=
3579                                         G_MISS_HEADER_SCREDIT_VAL_TBL
3580 ,   p_old_Header_Scredit_val_tbl    IN  Header_Scredit_Val_Tbl_Type :=
3581                                         G_MISS_HEADER_SCREDIT_VAL_TBL
3582 ,   p_Header_Payment_tbl            IN  Header_Payment_Tbl_Type :=
3583                                         G_MISS_HEADER_PAYMENT_TBL
3584 ,   p_old_Header_Payment_tbl        IN  Header_Payment_Tbl_Type :=
3585                                         G_MISS_HEADER_PAYMENT_TBL
3586 ,   p_Header_Payment_val_tbl        IN  Header_Payment_Val_Tbl_Type :=
3587                                         G_MISS_HEADER_PAYMENT_VAL_TBL
3588 ,   p_old_Header_Payment_val_tbl    IN  Header_Payment_Val_Tbl_Type :=
3589                                         G_MISS_HEADER_PAYMENT_VAL_TBL
3590 ,   p_line_tbl                      IN  Line_Tbl_Type :=
3591                                         G_MISS_LINE_TBL
3592 ,   p_old_line_tbl                  IN  Line_Tbl_Type :=
3593                                         G_MISS_LINE_TBL
3594 ,   p_line_val_tbl                  IN  Line_Val_Tbl_Type :=
3595                                         G_MISS_LINE_VAL_TBL
3596 ,   p_old_line_val_tbl              IN  Line_Val_Tbl_Type :=
3597                                         G_MISS_LINE_VAL_TBL
3598 ,   p_Line_Adj_tbl                  IN  Line_Adj_Tbl_Type :=
3599                                         G_MISS_LINE_ADJ_TBL
3600 ,   p_old_Line_Adj_tbl              IN  Line_Adj_Tbl_Type :=
3601                                         G_MISS_LINE_ADJ_TBL
3602 ,   p_Line_Adj_val_tbl              IN  Line_Adj_Val_Tbl_Type :=
3603                                         G_MISS_LINE_ADJ_VAL_TBL
3604 ,   p_old_Line_Adj_val_tbl          IN  Line_Adj_Val_Tbl_Type :=
3605                                         G_MISS_LINE_ADJ_VAL_TBL
3606 ,   p_Line_price_Att_tbl            IN  Line_Price_Att_Tbl_Type :=
3607                                         G_MISS_LINE_PRICE_ATT_TBL
3608 ,   p_old_Line_Price_Att_tbl        IN  Line_Price_Att_Tbl_Type :=
3609                                         G_MISS_LINE_PRICE_ATT_TBL
3610 ,   p_Line_Adj_Att_tbl              IN  Line_Adj_Att_Tbl_Type :=
3611                                         G_MISS_LINE_ADJ_ATT_TBL
3612 ,   p_old_Line_Adj_Att_tbl          IN  Line_Adj_Att_Tbl_Type :=
3613     G_MISS_LINE_ADJ_ATT_TBL
3614 ,   p_Line_Adj_Assoc_tbl              IN  Line_Adj_Assoc_Tbl_Type :=
3615                                         G_MISS_LINE_ADJ_ASSOC_TBL
3616 ,   p_old_Line_Adj_Assoc_tbl          IN  Line_Adj_Assoc_Tbl_Type :=
3617     G_MISS_LINE_ADJ_ASSOC_TBL
3618 ,   p_Line_Scredit_tbl              IN  Line_Scredit_Tbl_Type :=
3619                                         G_MISS_LINE_SCREDIT_TBL
3620 ,   p_old_Line_Scredit_tbl          IN  Line_Scredit_Tbl_Type :=
3621                                         G_MISS_LINE_SCREDIT_TBL
3622 ,   p_Line_Scredit_val_tbl          IN  Line_Scredit_Val_Tbl_Type :=
3623                                         G_MISS_LINE_SCREDIT_VAL_TBL
3624 ,   p_old_Line_Scredit_val_tbl      IN  Line_Scredit_Val_Tbl_Type :=
3625                                         G_MISS_LINE_SCREDIT_VAL_TBL
3626 ,   p_Line_Payment_tbl              IN  Line_Payment_Tbl_Type :=
3627                                         G_MISS_LINE_PAYMENT_TBL
3628 ,   p_old_Line_Payment_tbl          IN  Line_Payment_Tbl_Type :=
3629                                         G_MISS_LINE_PAYMENT_TBL
3630 ,   p_Line_Payment_val_tbl          IN  Line_Payment_Val_Tbl_Type :=
3631                                         G_MISS_LINE_PAYMENT_VAL_TBL
3632 ,   p_old_Line_Payment_val_tbl      IN  Line_Payment_Val_Tbl_Type :=
3633                                         G_MISS_LINE_PAYMENT_VAL_TBL
3634 ,   p_Lot_Serial_tbl                IN  Lot_Serial_Tbl_Type :=
3635                                         G_MISS_LOT_SERIAL_TBL
3636 ,   p_old_Lot_Serial_tbl            IN  Lot_Serial_Tbl_Type :=
3637                                         G_MISS_LOT_SERIAL_TBL
3638 ,   p_Lot_Serial_val_tbl            IN  Lot_Serial_Val_Tbl_Type :=
3639                                         G_MISS_LOT_SERIAL_VAL_TBL
3640 ,   p_old_Lot_Serial_val_tbl        IN  Lot_Serial_Val_Tbl_Type :=
3641                                         G_MISS_LOT_SERIAL_VAL_TBL
3642 ,   p_action_request_tbl	    IN  Request_Tbl_Type :=
3643 					G_MISS_REQUEST_TBL
3644 ,   x_header_rec                    OUT NOCOPY /* file.sql.39 change */ Header_Rec_Type
3645 ,   x_header_val_rec                OUT NOCOPY /* file.sql.39 change */ Header_Val_Rec_Type
3646 ,   x_Header_Adj_tbl                OUT NOCOPY /* file.sql.39 change */ Header_Adj_Tbl_Type
3647 ,   x_Header_Adj_val_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Val_Tbl_Type
3648 ,   x_Header_price_Att_tbl          OUT NOCOPY /* file.sql.39 change */ Header_Price_Att_Tbl_Type
3649 ,   x_Header_Adj_Att_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Att_Tbl_Type
3650 ,   x_Header_Adj_Assoc_tbl          OUT NOCOPY /* file.sql.39 change */ Header_Adj_Assoc_Tbl_Type
3651 ,   x_Header_Scredit_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Tbl_Type
3652 ,   x_Header_Scredit_val_tbl        OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Val_Tbl_Type
3653 ,   x_Header_Payment_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Payment_Tbl_Type
3654 ,   x_Header_Payment_val_tbl        OUT NOCOPY /* file.sql.39 change */ Header_Payment_Val_Tbl_Type
3655 ,   x_line_tbl                      OUT NOCOPY /* file.sql.39 change */ Line_Tbl_Type
3656 ,   x_line_val_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Val_Tbl_Type
3657 ,   x_Line_Adj_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Adj_Tbl_Type
3658 ,   x_Line_Adj_val_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Val_Tbl_Type
3659 ,   x_Line_price_Att_tbl            OUT NOCOPY /* file.sql.39 change */ Line_Price_Att_Tbl_Type
3660 ,   x_Line_Adj_Att_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Att_Tbl_Type
3661 ,   x_Line_Adj_Assoc_tbl            OUT NOCOPY /* file.sql.39 change */ Line_Adj_Assoc_Tbl_Type
3662 ,   x_Line_Scredit_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Tbl_Type
3663 ,   x_Line_Scredit_val_tbl          OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Val_Tbl_Type
3664 ,   x_Line_Payment_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Payment_Tbl_Type
3665 ,   x_Line_Payment_val_tbl          OUT NOCOPY /* file.sql.39 change */ Line_Payment_Val_Tbl_Type
3666 ,   x_Lot_Serial_tbl                OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Tbl_Type
3667 ,   x_Lot_Serial_val_tbl            OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Val_Tbl_Type
3668 ,   x_action_request_tbl	    OUT NOCOPY /* file.sql.39 change */ Request_Tbl_Type
3669 --For bug 3390458
3670 ,   p_rtrim_data                    IN  Varchar2 :='N'
3671 ,   p_validate_desc_flex            in varchar2 default 'Y'  --bug4343612
3672 )
3673 IS
3674 --MOAC
3675 l_org_id                      NUMBER;
3676 l_operating_unit              VARCHAR2(240);
3677 
3678 l_api_version_number          CONSTANT NUMBER := 1.0;
3679 l_api_name                    CONSTANT VARCHAR2(30):= 'Process_Order';
3680 l_control_rec                 OE_GLOBALS.Control_Rec_Type;
3681 l_return_status               VARCHAR2(1);
3682 l_header_rec                  Header_Rec_Type;
3683 l_Header_Adj_tbl              Header_Adj_Tbl_Type;
3684 l_Header_price_Att_tbl        Header_Price_Att_Tbl_Type ;
3685 l_Header_Adj_Att_tbl          Header_Adj_Att_Tbl_Type ;
3686 l_Header_Adj_Assoc_tbl        Header_Adj_Assoc_Tbl_Type ;
3687 l_Header_Scredit_tbl          Header_Scredit_Tbl_Type;
3688 l_Header_Payment_tbl          Header_Payment_Tbl_Type;
3689 l_line_tbl                    Line_Tbl_Type;
3690 l_Line_Adj_tbl                Line_Adj_Tbl_Type;
3691 l_Line_price_Att_tbl          Line_Price_Att_Tbl_Type ;
3692 l_Line_Adj_Att_tbl            Line_Adj_Att_Tbl_Type ;
3693 l_Line_Adj_Assoc_tbl          Line_Adj_Assoc_Tbl_Type ;
3694 l_Line_Scredit_tbl            Line_Scredit_Tbl_Type;
3695 l_Line_Payment_tbl            Line_Payment_Tbl_Type;
3696 l_Lot_Serial_tbl              Lot_Serial_Tbl_Type;
3697 l_old_header_rec              Header_Rec_Type;
3698 l_old_Header_Adj_tbl          Header_Adj_Tbl_Type;
3699 l_old_Header_price_Att_tbl    Header_Price_Att_Tbl_Type ;
3700 l_old_Header_Adj_Att_tbl      Header_Adj_Att_Tbl_Type ;
3701 l_old_Header_Adj_Assoc_tbl    Header_Adj_Assoc_Tbl_Type ;
3702 l_old_Header_Scredit_tbl      Header_Scredit_Tbl_Type;
3703 l_old_Header_Payment_tbl      Header_Payment_Tbl_Type;
3704 l_old_line_tbl                Line_Tbl_Type;
3705 l_old_Line_Adj_tbl            Line_Adj_Tbl_Type;
3706 l_old_Line_price_Att_tbl      Line_Price_Att_Tbl_Type ;
3707 l_old_Line_Adj_Att_tbl        Line_Adj_Att_Tbl_Type ;
3708 l_old_Line_Adj_Assoc_tbl      Line_Adj_Assoc_Tbl_Type ;
3709 l_old_Line_Scredit_tbl        Line_Scredit_Tbl_Type;
3710 l_old_Line_Payment_tbl        Line_Payment_Tbl_Type;
3711 l_old_Lot_Serial_tbl          Lot_Serial_Tbl_Type;
3712 
3713 l_aac_header_rec              OE_Order_PUB.Header_Rec_Type;
3714 l_aac_line_tbl                OE_Order_PUB.Line_Tbl_Type;
3715 
3716 
3717 BEGIN
3718 
3719     --  Standard call to check for call compatibility
3720 
3721     IF NOT FND_API.Compatible_API_Call
3722            (   l_api_version_number
3723            ,   p_api_version_number
3724            ,   l_api_name
3725            ,   G_PKG_NAME
3726            )
3727     THEN
3728         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3729     END IF;
3730 
3731 
3732     -- Logic added for MOAC
3733 
3734 
3735     -- FIND Org_Id logic :
3736     -- We first look at p_org_id to set Context.
3737     -- If p_org_id passed in, we ignore p_operating_unit.
3738     -- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
3739     -- If both are not passed in, we get the context from MO Get_Default_Org API.
3740     --
3741     IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
3742        l_org_id :=  p_org_id;
3743 
3744        -- ignore p_operating_unit since p_org_id has passed in.
3745        -- We check if both p_org_id and p_operating_unit pass in,
3746        -- add a message just for the information.
3747        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR)  THEN
3748           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3749             THEN
3750                 fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
3751                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
3752                 OE_MSG_PUB.Add;
3753             END IF;
3754        END IF;
3755 
3756     ELSE
3757        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
3758            -- call value_to_id to get org_id
3759            l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
3760        -- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
3761        /*
3762         ELSE
3763            -- Both p_org_id and p_operating_unit are not passed in.
3764            l_org_id := MO_UTILS.get_default_org_id ;
3765         */
3766         END IF;
3767      END IF;
3768 
3769     -- Validate Org_Id
3770     -- call new API : MO_GLOBAL.validate_orgid_pub_api
3771     -- Instead of calling old function - MO_GLOBAL.check_valid_org
3772     -- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
3773     -- without adding code to call MO_GLOBAL.init
3774 
3775    /* MO_GLOBAL.validate_orgid_pub_api
3776     (   ORG_ID  =>  l_org_id
3777      ,  Status  =>  l_return_status
3778     ) ;*/
3779     /*IF(l_return_status ='F') THEN
3780        -- return Failure
3781        raise FND_API.G_EXC_ERROR;
3782     END IF;*/
3783 
3784     -- Set Application Context
3785     -- Since we pass validation, we start to Set Application Context
3786     -- Call MO set_policy_context to set application context by sending
3787     -- p_access_mode ='S' (Single Operating Unit Access) and org_id
3788     -- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
3789     --
3790     --MO_GLOBAL.set_policy_context('S',l_org_id);
3791     --OE_GLOBALS.Set_Context();
3792      --Moved the logic to set context to new procedure set_context
3793      set_context(p_org_id =>l_org_id);
3794 
3795 
3796     --  From now on, we are in single access mode.
3797 
3798 
3799 
3800     x_action_request_tbl := p_action_request_tbl;
3801     l_Line_Price_Att_tbl := p_Line_Price_Att_tbl; --bug3160327
3802     l_old_Line_Price_Att_tbl :=p_old_Line_Price_Att_tbl; --bug3160327
3803 
3804     --Begin bug #5679661
3805 
3806     l_Header_price_Att_tbl        := p_Header_price_Att_tbl ;
3807     l_Header_Adj_Att_tbl          := p_Header_Adj_Att_tbl ;
3808     l_Header_Adj_Assoc_tbl        := p_Header_Adj_Assoc_tbl ;
3809     l_old_Header_price_Att_tbl    := p_old_Header_price_Att_tbl ;
3810     l_old_Header_Adj_Att_tbl      := p_old_Header_Adj_Att_tbl ;
3811     l_old_Header_Adj_Assoc_tbl    := p_old_Header_Adj_Assoc_tbl ;
3812     l_Line_price_Att_tbl          := p_Line_price_Att_tbl ;
3813     l_Line_Adj_Att_tbl            := p_Line_Adj_Att_tbl ;
3814     l_Line_Adj_Assoc_tbl          := p_Line_Adj_Assoc_tbl ;
3815     l_old_Line_price_Att_tbl      := p_old_Line_price_Att_tbl ;
3816     l_old_Line_Adj_Att_tbl        := p_old_Line_Adj_Att_tbl ;
3817     l_old_Line_Adj_Assoc_tbl      := p_old_Line_Adj_Assoc_tbl ;
3818 
3819     --End bug #5679661
3820 
3821 
3822     -- automatic account creation
3823 
3824     -- use local variables to replace p_ paramters after AAC
3825     -- so value_to_id can see it
3826     l_aac_header_rec   := p_header_rec;
3827     l_aac_line_tbl     := p_line_tbl;
3828 
3829     IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
3830     THEN
3831 
3832        oe_debug_pub.add('calling AAC from Pub Prcoess Order');
3833        OE_Order_GRP.automatic_account_creation(p_header_rec     => p_header_rec,
3834 					       p_header_val_rec => p_header_val_rec,
3835 					       p_line_tbl       => p_line_tbl,
3836 					       p_line_val_tbl   => p_line_val_tbl,
3837 					       x_header_rec     => l_aac_header_Rec,
3838 					       x_line_tbl       => l_aac_line_tbl,
3839 					       x_return_status  => x_return_status,
3840 					       x_msg_count      => x_msg_count,
3841 					       x_msg_data       => x_msg_data);
3842 
3843     END IF;
3844 
3845     --  Perform Value to Id conversion
3846 
3847     Value_To_Id
3848     (   x_return_status               => l_return_status
3849     ,   p_header_rec                  => l_aac_header_rec
3850     ,   p_header_val_rec              => p_header_val_rec
3851     ,   p_Header_Adj_tbl              => p_Header_Adj_tbl
3852     ,   p_Header_Adj_val_tbl          => p_Header_Adj_val_tbl
3853     ,   p_Header_Scredit_tbl          => p_Header_Scredit_tbl
3854     ,   p_Header_Scredit_val_tbl      => p_Header_Scredit_val_tbl
3855     ,   p_Header_Payment_tbl          => p_Header_Payment_tbl
3856     ,   p_Header_Payment_val_tbl      => p_Header_Payment_val_tbl
3857     ,   p_line_tbl                    => l_aac_line_tbl
3858     ,   p_line_val_tbl                => p_line_val_tbl
3859     ,   p_Line_Adj_tbl                => p_Line_Adj_tbl
3860     ,   p_Line_Adj_val_tbl            => p_Line_Adj_val_tbl
3861     ,   p_Line_Scredit_tbl            => p_Line_Scredit_tbl
3862     ,   p_Line_Scredit_val_tbl        => p_Line_Scredit_val_tbl
3863     ,   p_Line_Payment_tbl            => p_Line_Payment_tbl
3864     ,   p_Line_Payment_val_tbl        => p_Line_Payment_val_tbl
3865     ,   p_Lot_Serial_tbl              => p_Lot_Serial_tbl
3866     ,   p_Lot_Serial_val_tbl          => p_Lot_Serial_val_tbl
3867     ,   x_header_rec                  => l_header_rec
3868     ,   x_Header_Adj_tbl              => l_Header_Adj_tbl
3869     ,   x_Header_Scredit_tbl          => l_Header_Scredit_tbl
3870     ,   x_Header_Payment_tbl          => l_Header_Payment_tbl
3871     ,   x_line_tbl                    => l_line_tbl
3872     ,   x_Line_Adj_tbl                => l_Line_Adj_tbl
3873     ,   x_Line_Scredit_tbl            => l_Line_Scredit_tbl
3874     ,   x_Line_Payment_tbl            => l_Line_Payment_tbl
3875     ,   x_Lot_Serial_tbl              => l_Lot_Serial_tbl
3876     );
3877 
3878     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3879         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3880     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3881         RAISE FND_API.G_EXC_ERROR;
3882     END IF;
3883 
3884 
3885     --  Perform Value to Id conversion (for old)
3886 
3887     Value_To_Id
3888     (   x_return_status               => l_return_status
3889     ,   p_header_rec                  => p_old_header_rec
3890     ,   p_header_val_rec              => p_old_header_val_rec
3891     ,   p_Header_Adj_tbl              => p_old_Header_Adj_tbl
3892     ,   p_Header_Adj_val_tbl          => p_old_Header_Adj_val_tbl
3893     ,   p_Header_Scredit_tbl          => p_old_Header_Scredit_tbl
3894     ,   p_Header_Scredit_val_tbl      => p_old_Header_Scredit_val_tbl
3895     ,   p_Header_Payment_tbl          => p_old_Header_Payment_tbl
3896     ,   p_Header_Payment_val_tbl      => p_old_Header_Payment_val_tbl
3897     ,   p_line_tbl                    => p_old_line_tbl
3898     ,   p_line_val_tbl                => p_old_line_val_tbl
3899     ,   p_Line_Adj_tbl                => p_old_Line_Adj_tbl
3900     ,   p_Line_Adj_val_tbl            => p_old_Line_Adj_val_tbl
3901     ,   p_Line_Scredit_tbl            => p_old_Line_Scredit_tbl
3902     ,   p_Line_Scredit_val_tbl        => p_old_Line_Scredit_val_tbl
3903     ,   p_Line_Payment_tbl            => p_old_Line_Payment_tbl
3904     ,   p_Line_Payment_val_tbl        => p_old_Line_Payment_val_tbl
3905     ,   p_Lot_Serial_tbl              => p_Lot_Serial_tbl
3906     ,   p_Lot_Serial_val_tbl          => p_Lot_Serial_val_tbl
3907     ,   x_header_rec                  => l_old_header_rec
3908     ,   x_Header_Adj_tbl              => l_old_Header_Adj_tbl
3909     ,   x_Header_Scredit_tbl          => l_old_Header_Scredit_tbl
3910     ,   x_Header_Payment_tbl          => l_old_Header_Payment_tbl
3911     ,   x_line_tbl                    => l_old_line_tbl
3912     ,   x_Line_Adj_tbl                => l_old_Line_Adj_tbl
3913     ,   x_Line_Scredit_tbl            => l_old_Line_Scredit_tbl
3914     ,   x_Line_Payment_tbl            => l_old_Line_Payment_tbl
3915     ,   x_Lot_Serial_tbl              => l_Lot_Serial_tbl
3916     );
3917 
3918     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3919         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3920     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3921         RAISE FND_API.G_EXC_ERROR;
3922     END IF;
3923 
3924     --added for bug 3390458
3925     IF p_rtrim_data ='Y'
3926     THEN
3927        OE_ORDER_GRP.RTrim_data
3928           (  p_x_header_rec => l_header_rec
3929            , p_x_line_tbl => l_line_tbl
3930            , x_return_status =>x_return_status);
3931     END IF;
3932 
3933     OE_GLOBALS.g_validate_desc_flex :=p_validate_desc_flex; --bug 4343612
3934     --  Call OE_Order_PVT.Process_Order
3935 
3936     OE_Order_PVT.Process_Order
3937     (   p_api_version_number          => 1.0
3938     ,   p_init_msg_list               => p_init_msg_list
3939     ,   p_validation_level            => FND_API.G_VALID_LEVEL_FULL
3940     ,   p_action_commit               => p_action_commit
3941     ,   x_return_status               => x_return_status
3942     ,   x_msg_count                   => x_msg_count
3943     ,   x_msg_data                    => x_msg_data
3944     ,   p_control_rec                 => l_control_rec
3945     ,   p_x_header_rec                => l_header_rec
3946     ,   p_old_header_rec              => l_old_header_rec
3947     ,   p_x_Header_Adj_tbl            => l_Header_Adj_tbl
3948     ,   p_old_Header_Adj_tbl          => l_old_Header_Adj_tbl
3949     ,   p_x_Header_Price_Att_tbl      => l_Header_Price_Att_tbl
3950     ,   p_old_Header_Price_Att_tbl    => l_old_Header_Price_Att_tbl
3951     ,   p_x_Header_Adj_Att_tbl	      => l_Header_Adj_Att_tbl
3952     ,   p_old_Header_Adj_Att_tbl      => l_old_Header_Adj_Att_tbl
3953     ,   p_x_Header_Adj_Assoc_tbl      => l_Header_Adj_Assoc_tbl
3954     ,   p_old_Header_Adj_Assoc_tbl    => l_old_Header_Adj_Assoc_tbl
3955     ,   p_x_Header_Scredit_tbl        => l_Header_Scredit_tbl
3956     ,   p_old_Header_Scredit_tbl      => l_old_Header_Scredit_tbl
3957     ,   p_x_Header_Payment_tbl        => l_Header_Payment_tbl
3958     ,   p_old_Header_Payment_tbl      => l_old_Header_Payment_tbl
3959     ,   p_x_line_tbl                  => l_line_tbl
3960     ,   p_old_line_tbl                => l_old_line_tbl
3961     ,   p_x_Line_Adj_tbl              => l_Line_Adj_tbl
3962     ,   p_old_Line_Adj_tbl            => l_old_Line_Adj_tbl
3963     ,   p_x_Line_Price_Att_tbl	      => l_Line_Price_Att_tbl
3964     ,   p_old_Line_Price_Att_tbl      => l_old_Line_Price_Att_tbl
3965     ,   p_x_Line_Adj_Att_tbl	      => l_Line_Adj_Att_tbl
3966     ,   p_old_Line_Adj_Att_tbl	      => l_old_Line_Adj_Att_tbl
3967     ,   p_x_Line_Adj_Assoc_tbl	      => l_Line_Adj_Assoc_tbl
3968     ,   p_old_Line_Adj_Assoc_tbl      => l_old_Line_Adj_Assoc_tbl
3969     ,   p_x_Line_Scredit_tbl          => l_Line_Scredit_tbl
3970     ,   p_old_Line_Scredit_tbl        => l_old_Line_Scredit_tbl
3971     ,   p_x_Line_Payment_tbl          => l_Line_Payment_tbl
3972     ,   p_old_Line_Payment_tbl        => l_old_Line_Payment_tbl
3973     ,   p_x_Lot_Serial_tbl            => l_Lot_Serial_tbl
3974     ,   p_old_Lot_Serial_tbl          => l_old_Lot_Serial_tbl
3975     ,   p_x_action_request_tbl	      => x_action_request_tbl
3976     );
3977 
3978     --  Load Id OUT NOCOPY /* file.sql.39 change */ parameters.
3979 
3980     x_header_rec                   := l_header_rec;
3981     x_Header_Adj_tbl               := l_Header_Adj_tbl;
3982     x_Header_Price_Att_tbl	   := l_Header_Price_Att_tbl;
3983     x_Header_Adj_Att_tbl	   := l_Header_Adj_Att_tbl;
3984     x_Header_Adj_Assoc_tbl	   := l_Header_Adj_Assoc_tbl;
3985     x_Header_Scredit_tbl           := l_Header_Scredit_tbl;
3986     x_Header_Payment_tbl           := l_Header_Payment_tbl;
3987     x_line_tbl                     := l_line_tbl;
3988     x_Line_Adj_tbl                 := l_Line_Adj_tbl;
3989     x_Line_Price_Att_tbl	   := l_Line_Price_Att_tbl;
3990     x_Line_Adj_Att_tbl		   := l_Line_Adj_Att_tbl;
3991     x_Line_Adj_Assoc_tbl	   := l_Line_Adj_Assoc_tbl;
3992     x_Line_Scredit_tbl             := l_Line_Scredit_tbl;
3993     x_Line_Payment_tbl             := l_Line_Payment_tbl;
3994     x_Lot_Serial_tbl               := l_Lot_Serial_tbl;
3995 
3996     --  If p_return_values is TRUE then convert Ids to Values.
3997 
3998     IF FND_API.to_Boolean(p_return_values) THEN
3999 
4000         Id_To_Value
4001         (   p_header_rec                  => l_header_rec
4002         ,   p_Header_Adj_tbl              => l_Header_Adj_tbl
4003         ,   p_Header_Scredit_tbl          => l_Header_Scredit_tbl
4004         ,   p_Header_Payment_tbl          => l_Header_Payment_tbl
4005         ,   p_line_tbl                    => l_line_tbl
4006         ,   p_Line_Adj_tbl                => l_Line_Adj_tbl
4007         ,   p_Line_Scredit_tbl            => l_Line_Scredit_tbl
4008         ,   p_Line_Payment_tbl            => l_Line_Payment_tbl
4009         ,   p_Lot_Serial_tbl              => l_Lot_Serial_tbl
4010         ,   x_header_val_rec              => x_header_val_rec
4011         ,   x_Header_Adj_val_tbl          => x_Header_Adj_val_tbl
4012         ,   x_Header_Scredit_val_tbl      => x_Header_Scredit_val_tbl
4013 	,   x_Header_Payment_val_tbl      => x_Header_Payment_val_tbl
4014         ,   x_line_val_tbl                => x_line_val_tbl
4015         ,   x_Line_Adj_val_tbl            => x_Line_Adj_val_tbl
4016         ,   x_Line_Scredit_val_tbl        => x_Line_Scredit_val_tbl
4017 	,   x_Line_Payment_val_tbl        => x_Line_Payment_val_tbl
4018         ,   x_Lot_Serial_val_tbl          => x_Lot_Serial_val_tbl
4019         );
4020 
4021     END IF;
4022 
4023 EXCEPTION
4024 
4025     WHEN FND_API.G_EXC_ERROR THEN
4026 
4027         x_return_status := FND_API.G_RET_STS_ERROR;
4028 
4029         --  Get message count and data
4030 
4031         OE_MSG_PUB.Count_And_Get
4032         (   p_count                       => x_msg_count
4033         ,   p_data                        => x_msg_data
4034         );
4035 
4036     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4037 
4038         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4039 
4040         --  Get message count and data
4041 
4042         OE_MSG_PUB.Count_And_Get
4043         (   p_count                       => x_msg_count
4044         ,   p_data                        => x_msg_data
4045         );
4046 
4047     WHEN OTHERS THEN
4048 
4049         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4050 
4051         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4052         THEN
4053             OE_MSG_PUB.Add_Exc_Msg
4054             (   G_PKG_NAME
4055             ,   'Process_Order'
4056             );
4057         END IF;
4058 
4059         --  Get message count and data
4060 
4061         OE_MSG_PUB.Count_And_Get
4062         (   p_count                       => x_msg_count
4063         ,   p_data                        => x_msg_data
4064         );
4065 
4066 END Process_Order;
4067 
4068 PROCEDURE Lock_Order
4069 (   p_api_version_number            IN  NUMBER
4070 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
4071 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
4072 ,  p_org_id                        IN  NUMBER := NULL  --MOAC
4073 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
4074 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
4075 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
4076 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
4077 ,   p_header_rec                    IN  Header_Rec_Type :=
4078                                         G_MISS_HEADER_REC
4079 ,   p_header_val_rec                IN  Header_Val_Rec_Type :=
4080                                         G_MISS_HEADER_VAL_REC
4081 ,   p_Header_Adj_tbl                IN  Header_Adj_Tbl_Type :=
4082                                         G_MISS_HEADER_ADJ_TBL
4083 ,   p_Header_Adj_val_tbl            IN  Header_Adj_Val_Tbl_Type :=
4084                                         G_MISS_HEADER_ADJ_VAL_TBL
4085 ,   p_Header_price_Att_tbl          IN  Header_Price_Att_Tbl_Type :=
4086                                         G_MISS_HEADER_PRICE_ATT_TBL
4087 ,   p_Header_Adj_Att_tbl            IN  Header_Adj_Att_Tbl_Type :=
4088                                         G_MISS_HEADER_ADJ_ATT_TBL
4089 ,   p_Header_Adj_Assoc_tbl            IN  Header_Adj_Assoc_Tbl_Type :=
4090                                         G_MISS_HEADER_ADJ_ASSOC_TBL
4091 ,   p_Header_Scredit_tbl            IN  Header_Scredit_Tbl_Type :=
4092                                         G_MISS_HEADER_SCREDIT_TBL
4093 ,   p_Header_Scredit_val_tbl        IN  Header_Scredit_Val_Tbl_Type :=
4094                                         G_MISS_HEADER_SCREDIT_VAL_TBL
4095 ,   p_Header_Payment_tbl            IN  Header_Payment_Tbl_Type :=
4096                                     	G_MISS_HEADER_PAYMENT_TBL
4097 ,   p_Header_Payment_val_tbl        IN  Header_Payment_Val_Tbl_Type :=
4098                                      	G_MISS_HEADER_PAYMENT_VAL_TBL
4099 ,   p_line_tbl                      IN  Line_Tbl_Type :=
4100                                         G_MISS_LINE_TBL
4101 ,   p_line_val_tbl                  IN  Line_Val_Tbl_Type :=
4102                                         G_MISS_LINE_VAL_TBL
4103 ,   p_Line_Adj_tbl                  IN  Line_Adj_Tbl_Type :=
4104                                         G_MISS_LINE_ADJ_TBL
4105 ,   p_Line_Adj_val_tbl              IN  Line_Adj_Val_Tbl_Type :=
4106                                         G_MISS_LINE_ADJ_VAL_TBL
4107 ,   p_Line_price_Att_tbl            IN  Line_Price_Att_Tbl_Type :=
4108                                         G_MISS_LINE_PRICE_ATT_TBL
4109 ,   p_Line_Adj_Att_tbl              IN  Line_Adj_Att_Tbl_Type :=
4110                                         G_MISS_LINE_ADJ_ATT_TBL
4111 ,   p_Line_Adj_Assoc_tbl              IN  Line_Adj_Assoc_Tbl_Type :=
4112                                         G_MISS_LINE_ADJ_ASSOC_TBL
4113 ,   p_Line_Scredit_tbl              IN  Line_Scredit_Tbl_Type :=
4114                                         G_MISS_LINE_SCREDIT_TBL
4115 ,   p_Line_Scredit_val_tbl          IN  Line_Scredit_Val_Tbl_Type :=
4116                                         G_MISS_LINE_SCREDIT_VAL_TBL
4117 ,   p_Line_Payment_tbl              IN  Line_Payment_Tbl_Type :=
4118                                         G_MISS_LINE_PAYMENT_TBL
4119 ,   p_Line_Payment_val_tbl          IN  Line_Payment_Val_Tbl_Type :=
4120                                         G_MISS_LINE_PAYMENT_VAL_TBL
4121 ,   p_Lot_Serial_tbl                IN  Lot_Serial_Tbl_Type :=
4122                                         G_MISS_LOT_SERIAL_TBL
4123 ,   p_Lot_Serial_val_tbl            IN  Lot_Serial_Val_Tbl_Type :=
4124                                         G_MISS_LOT_SERIAL_VAL_TBL
4125 ,   x_header_rec                    OUT NOCOPY /* file.sql.39 change */ Header_Rec_Type
4126 ,   x_header_val_rec                OUT NOCOPY /* file.sql.39 change */ Header_Val_Rec_Type
4127 ,   x_Header_Adj_tbl                OUT NOCOPY /* file.sql.39 change */ Header_Adj_Tbl_Type
4128 ,   x_Header_Adj_val_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Val_Tbl_Type
4129 ,   x_Header_price_Att_tbl          OUT NOCOPY /* file.sql.39 change */ Header_Price_Att_Tbl_Type
4130 ,   x_Header_Adj_Att_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Att_Tbl_Type
4131 ,   x_Header_Adj_Assoc_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Assoc_Tbl_Type
4132 ,   x_Header_Scredit_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Tbl_Type
4133 ,   x_Header_Scredit_val_tbl        OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Val_Tbl_Type
4134 ,   x_Header_Payment_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Payment_Tbl_Type
4135 ,   x_Header_Payment_val_tbl        OUT NOCOPY /* file.sql.39 change */ Header_Payment_Val_Tbl_Type
4136 ,   x_line_tbl                      OUT NOCOPY /* file.sql.39 change */ Line_Tbl_Type
4137 ,   x_line_val_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Val_Tbl_Type
4138 ,   x_Line_Adj_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Adj_Tbl_Type
4139 ,   x_Line_Adj_val_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Val_Tbl_Type
4140 ,   x_Line_price_Att_tbl            OUT NOCOPY /* file.sql.39 change */ Line_Price_Att_Tbl_Type
4141 ,   x_Line_Adj_Att_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Att_Tbl_Type
4142 ,   x_Line_Adj_Assoc_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Assoc_Tbl_Type
4143 ,   x_Line_Scredit_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Tbl_Type
4144 ,   x_Line_Scredit_val_tbl          OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Val_Tbl_Type
4145 ,   x_Line_Payment_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Payment_Tbl_Type
4146 ,   x_Line_Payment_val_tbl          OUT NOCOPY /* file.sql.39 change */ Line_Payment_Val_Tbl_Type
4147 ,   x_Lot_Serial_tbl                OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Tbl_Type
4148 ,   x_Lot_Serial_val_tbl            OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Val_Tbl_Type
4149 )
4150 IS
4151 l_api_version_number          CONSTANT NUMBER := 1.0;
4152 l_api_name                    CONSTANT VARCHAR2(30):= 'Lock_Order';
4153 l_return_status               VARCHAR2(1);
4154 l_header_rec                  Header_Rec_Type;
4155 l_Header_Adj_tbl              Header_Adj_Tbl_Type;
4156 l_Header_price_Att_tbl        Header_Price_Att_Tbl_Type ;
4157 l_Header_Adj_Att_tbl          Header_Adj_Att_Tbl_Type ;
4158 l_Header_Adj_Assoc_tbl        Header_Adj_Assoc_Tbl_Type ;
4159 l_Header_Scredit_tbl          Header_Scredit_Tbl_Type;
4160 l_Header_Payment_tbl          Header_Payment_Tbl_Type;
4161 l_line_tbl                    Line_Tbl_Type;
4162 l_Line_Adj_tbl                Line_Adj_Tbl_Type;
4163 l_Line_price_Att_tbl          Line_Price_Att_Tbl_Type ;
4164 l_Line_Adj_Att_tbl            Line_Adj_Att_Tbl_Type ;
4165 l_Line_Adj_Assoc_tbl          Line_Adj_Assoc_Tbl_Type ;
4166 l_Line_Scredit_tbl            Line_Scredit_Tbl_Type;
4167 l_Line_Payment_tbl            Line_Payment_Tbl_Type;
4168 l_Lot_Serial_tbl              Lot_Serial_Tbl_Type;
4169 l_org_id number;
4170 BEGIN
4171 
4172     --  Standard call to check for call compatibility
4173 
4174     IF NOT FND_API.Compatible_API_Call
4175            (   l_api_version_number
4176            ,   p_api_version_number
4177            ,   l_api_name
4178            ,   G_PKG_NAME
4179            )
4180     THEN
4181         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4182     END IF;
4183 
4184     -- Logic added for MOAC
4185 
4186 
4187     -- FIND Org_Id logic :
4188     -- We first look at p_org_id to set Context.
4189     -- If p_org_id passed in, we ignore p_operating_unit.
4190     -- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
4191     -- If both are not passed in, we get the context from MO Get_Default_Org API.
4192     --
4193     IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
4194        l_org_id :=  p_org_id;
4195 
4196        -- ignore p_operating_unit since p_org_id has passed in.
4197        -- We check if both p_org_id and p_operating_unit pass in,
4198        -- add a message just for the information.
4199        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR)  THEN
4200           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4201             THEN
4202                 fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
4203                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
4204                 OE_MSG_PUB.Add;
4205             END IF;
4206        END IF;
4207 
4208     ELSE
4209        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
4210            -- call value_to_id to get org_id
4211            l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
4212        -- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
4213        /*
4214         ELSE
4215            -- Both p_org_id and p_operating_unit are not passed in.
4216            l_org_id := MO_UTILS.get_default_org_id ;
4217         */
4218         END IF;
4219      END IF;
4220 
4221     -- Validate Org_Id
4222     -- call new API : MO_GLOBAL.validate_orgid_pub_api
4223     -- Instead of calling old function - MO_GLOBAL.check_valid_org
4224     -- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
4225     -- without adding code to call MO_GLOBAL.init
4226 
4227    /* MO_GLOBAL.validate_orgid_pub_api
4228     (   ORG_ID  =>  l_org_id
4229      ,  Status  =>  l_return_status
4230     ) ;*/
4231     /*IF(l_return_status ='F') THEN
4232        -- return Failure
4233        raise FND_API.G_EXC_ERROR;
4234     END IF;*/
4235 
4236     -- Set Application Context
4237     -- Since we pass validation, we start to Set Application Context
4238     -- Call MO set_policy_context to set application context by sending
4239     -- p_access_mode ='S' (Single Operating Unit Access) and org_id
4240     -- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
4241     --
4242     --MO_GLOBAL.set_policy_context('S',l_org_id);
4243     --OE_GLOBALS.Set_Context();
4244     --Moved the logic to set context to new procedure set_context
4245      set_context(p_org_id =>l_org_id);
4246 
4247     --  From now on, we are in single access mode.
4248 
4249 
4250     --  Perform Value to Id conversion
4251 
4252     Value_To_Id
4253     (   x_return_status               => l_return_status
4254     ,   p_header_rec                  => p_header_rec
4255     ,   p_header_val_rec              => p_header_val_rec
4256     ,   p_Header_Adj_tbl              => p_Header_Adj_tbl
4257     ,   p_Header_Adj_val_tbl          => p_Header_Adj_val_tbl
4258     ,   p_Header_Scredit_tbl          => p_Header_Scredit_tbl
4259     ,   p_Header_Scredit_val_tbl      => p_Header_Scredit_val_tbl
4260     ,   p_Header_Payment_tbl          => p_Header_Payment_tbl
4261     ,   p_Header_Payment_val_tbl      => p_Header_Payment_val_tbl
4262     ,   p_line_tbl                    => p_line_tbl
4263     ,   p_line_val_tbl                => p_line_val_tbl
4264     ,   p_Line_Adj_tbl                => p_Line_Adj_tbl
4265     ,   p_Line_Adj_val_tbl            => p_Line_Adj_val_tbl
4266     ,   p_Line_Scredit_tbl            => p_Line_Scredit_tbl
4267     ,   p_Line_Scredit_val_tbl        => p_Line_Scredit_val_tbl
4268     ,   p_Line_Payment_tbl            => p_Line_Payment_tbl
4269     ,   p_Line_Payment_val_tbl        => p_Line_Payment_val_tbl
4270     ,   p_Lot_Serial_tbl              => p_Lot_Serial_tbl
4271     ,   p_Lot_Serial_val_tbl          => p_Lot_Serial_val_tbl
4272     ,   x_header_rec                  => l_header_rec
4273     ,   x_Header_Adj_tbl              => l_Header_Adj_tbl
4274     ,   x_Header_Scredit_tbl          => l_Header_Scredit_tbl
4275     ,   x_Header_Payment_tbl          => l_Header_Payment_tbl
4276     ,   x_line_tbl                    => l_line_tbl
4277     ,   x_Line_Adj_tbl                => l_Line_Adj_tbl
4278     ,   x_Line_Scredit_tbl            => l_Line_Scredit_tbl
4279     ,   x_Line_Payment_tbl            => l_Line_Payment_tbl
4280     ,   x_Lot_Serial_tbl              => l_Lot_Serial_tbl
4281     );
4282 
4283     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4284         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4285     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4286         RAISE FND_API.G_EXC_ERROR;
4287     END IF;
4288 
4289 
4290     --  Call OE_Order_PVT.Lock_Order
4291 
4292     OE_Order_PVT.Lock_Order
4293     (   p_api_version_number          => 1.0
4294     ,   p_init_msg_list               => p_init_msg_list
4295     ,   x_return_status               => x_return_status
4296     ,   x_msg_count                   => x_msg_count
4297     ,   x_msg_data                    => x_msg_data
4298     ,   p_x_header_rec                => l_header_rec
4299     ,   p_x_Header_Adj_tbl            => l_Header_Adj_tbl
4300     ,   p_x_Header_Price_Att_tbl      => l_Header_Price_Att_tbl
4301     ,   p_x_Header_Adj_Att_tbl	      => l_Header_Adj_Att_tbl
4302     ,   p_x_Header_Adj_Assoc_tbl      => l_Header_Adj_Assoc_tbl
4303     ,   p_x_Header_Scredit_tbl        => l_Header_Scredit_tbl
4304     ,   p_x_Header_Payment_tbl        => l_Header_Payment_tbl
4305     ,   p_x_line_tbl                  => l_line_tbl
4306     ,   p_x_Line_Adj_tbl              => l_Line_Adj_tbl
4307     ,   p_x_Line_Price_Att_tbl	      => l_Line_Price_Att_tbl
4308     ,   p_x_Line_Adj_Att_tbl	      => l_Line_Adj_Att_tbl
4309     ,   p_x_Line_Adj_Assoc_tbl	      => l_Line_Adj_Assoc_tbl
4310     ,   p_x_Line_Scredit_tbl          => l_Line_Scredit_tbl
4311     ,   p_x_Line_Payment_tbl          => l_Line_Payment_tbl
4312     ,   p_x_Lot_Serial_tbl            => l_Lot_Serial_tbl
4313     );
4314 
4315     --  Load Id OUT NOCOPY /* file.sql.39 change */ parameters.
4316 
4317     x_header_rec                   := l_header_rec;
4318     x_Header_Adj_tbl               := l_Header_Adj_tbl;
4319     x_Header_Price_Att_tbl	   := l_Header_Price_Att_tbl;
4320     x_Header_Adj_Att_tbl	   := l_Header_Adj_Att_tbl;
4321     x_Header_Adj_Assoc_tbl	   := l_Header_Adj_Assoc_tbl;
4322     x_Header_Scredit_tbl           := l_Header_Scredit_tbl;
4323     x_Header_Payment_tbl           := l_Header_Payment_tbl;
4324     x_line_tbl                     := l_line_tbl;
4325     x_Line_Adj_tbl                 := l_Line_Adj_tbl;
4326     x_Line_Price_Att_tbl	   := l_Line_Price_Att_tbl;
4327     x_Line_Adj_Att_tbl		   := l_Line_Adj_Att_tbl;
4328     x_Line_Adj_Assoc_tbl	   := l_Line_Adj_Assoc_tbl;
4329     x_Line_Scredit_tbl             := l_Line_Scredit_tbl;
4330     x_Line_Payment_tbl             := l_Line_Payment_tbl;
4331     x_Lot_Serial_tbl               := l_Lot_Serial_tbl;
4332 
4333     --  If p_return_values is TRUE then convert Ids to Values.
4334 
4335     IF FND_API.to_Boolean(p_return_values) THEN
4336 
4337         Id_To_Value
4338         (   p_header_rec                  => l_header_rec
4339         ,   p_Header_Adj_tbl              => l_Header_Adj_tbl
4340         ,   p_Header_Scredit_tbl          => l_Header_Scredit_tbl
4341         ,   p_Header_Payment_tbl          => l_Header_Payment_tbl
4342         ,   p_line_tbl                    => l_line_tbl
4343         ,   p_Line_Adj_tbl                => l_Line_Adj_tbl
4344         ,   p_Line_Scredit_tbl            => l_Line_Scredit_tbl
4345         ,   p_Line_Payment_tbl            => l_Line_Payment_tbl
4346         ,   p_Lot_Serial_tbl              => l_Lot_Serial_tbl
4347         ,   x_header_val_rec              => x_header_val_rec
4348         ,   x_Header_Adj_val_tbl          => x_Header_Adj_val_tbl
4349         ,   x_Header_Scredit_val_tbl      => x_Header_Scredit_val_tbl
4350         ,   x_Header_Payment_val_tbl      => x_Header_Payment_val_tbl
4351         ,   x_line_val_tbl                => x_line_val_tbl
4352         ,   x_Line_Adj_val_tbl            => x_Line_Adj_val_tbl
4353         ,   x_Line_Scredit_val_tbl        => x_Line_Scredit_val_tbl
4354         ,   x_Line_Payment_val_tbl        => x_Line_Payment_val_tbl
4355         ,   x_Lot_Serial_val_tbl          => x_Lot_Serial_val_tbl
4356         );
4357 
4358     END IF;
4359 
4360 EXCEPTION
4361 
4362     WHEN FND_API.G_EXC_ERROR THEN
4363 
4364         x_return_status := FND_API.G_RET_STS_ERROR;
4365 
4366         --  Get message count and data
4367 
4368         OE_MSG_PUB.Count_And_Get
4369         (   p_count                       => x_msg_count
4370         ,   p_data                        => x_msg_data
4371         );
4372 
4373     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4374 
4375         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4376 
4377         --  Get message count and data
4378 
4379         OE_MSG_PUB.Count_And_Get
4380         (   p_count                       => x_msg_count
4381         ,   p_data                        => x_msg_data
4382         );
4383 
4384     WHEN OTHERS THEN
4385 
4386         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4387 
4388         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4389         THEN
4390             OE_MSG_PUB.Add_Exc_Msg
4391             (   G_PKG_NAME
4392             ,   'Lock_Order'
4393             );
4394         END IF;
4395 
4396         --  Get message count and data
4397 
4398         OE_MSG_PUB.Count_And_Get
4399         (   p_count                       => x_msg_count
4400         ,   p_data                        => x_msg_data
4401         );
4402 
4403 END Lock_Order;
4404 
4405 PROCEDURE Get_Order
4406 (   p_api_version_number            IN  NUMBER
4407 ,   p_init_msg_list                 IN  VARCHAR2 := FND_API.G_FALSE
4408 ,   p_return_values                 IN  VARCHAR2 := FND_API.G_FALSE
4409 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
4410 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
4411 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
4412 ,   p_header_id                     IN  NUMBER :=
4413                                         FND_API.G_MISS_NUM
4414 ,   p_header                        IN  VARCHAR2 :=
4415                                         FND_API.G_MISS_CHAR
4416 , p_org_id                        IN  NUMBER := NULL  --MOAC
4417 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
4418 ,   x_header_rec                    OUT NOCOPY /* file.sql.39 change */ Header_Rec_Type
4419 ,   x_header_val_rec                OUT NOCOPY /* file.sql.39 change */ Header_Val_Rec_Type
4420 ,   x_Header_Adj_tbl                OUT NOCOPY /* file.sql.39 change */ Header_Adj_Tbl_Type
4421 ,   x_Header_Adj_val_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Val_Tbl_Type
4422 ,   x_Header_price_Att_tbl          OUT NOCOPY /* file.sql.39 change */ Header_Price_Att_Tbl_Type
4423 ,   x_Header_Adj_Att_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Att_Tbl_Type
4424 ,   x_Header_Adj_Assoc_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Assoc_Tbl_Type
4425 ,   x_Header_Scredit_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Tbl_Type
4426 ,   x_Header_Scredit_val_tbl        OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Val_Tbl_Type
4427 ,   x_Header_Payment_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Payment_Tbl_Type
4428 ,   x_Header_Payment_val_tbl        OUT NOCOPY /* file.sql.39 change */ Header_Payment_Val_Tbl_Type
4429 ,   x_line_tbl                      OUT NOCOPY /* file.sql.39 change */ Line_Tbl_Type
4430 ,   x_line_val_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Val_Tbl_Type
4431 ,   x_Line_Adj_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Adj_Tbl_Type
4432 ,   x_Line_Adj_val_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Val_Tbl_Type
4433 ,   x_Line_price_Att_tbl            OUT NOCOPY /* file.sql.39 change */ Line_Price_Att_Tbl_Type
4434 ,   x_Line_Adj_Att_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Att_Tbl_Type
4435 ,   x_Line_Adj_Assoc_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Assoc_Tbl_Type
4436 ,   x_Line_Scredit_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Tbl_Type
4437 ,   x_Line_Scredit_val_tbl          OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Val_Tbl_Type
4438 ,   x_Line_Payment_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Payment_Tbl_Type
4439 ,   x_Line_Payment_val_tbl          OUT NOCOPY /* file.sql.39 change */ Line_Payment_Val_Tbl_Type
4440 ,   x_Lot_Serial_tbl                OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Tbl_Type
4441 ,   x_Lot_Serial_val_tbl            OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Val_Tbl_Type
4442 )
4443 IS
4444 l_api_version_number          CONSTANT NUMBER := 1.0;
4445 l_api_name                    CONSTANT VARCHAR2(30):= 'Get_Order';
4446 l_header_id                   NUMBER := p_header_id;
4447 l_org_id number;
4448 l_return_status                 VARCHAR2(30);
4449 BEGIN
4450 
4451     --  Standard call to check for call compatibility
4452 
4453     IF NOT FND_API.Compatible_API_Call
4454            (   l_api_version_number
4455            ,   p_api_version_number
4456            ,   l_api_name
4457            ,   G_PKG_NAME
4458            )
4459     THEN
4460         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4461     END IF;
4462 
4463     -- Logic added for MOAC
4464 
4465 
4466     -- FIND Org_Id logic :
4467     -- We first look at p_org_id to set Context.
4468     -- If p_org_id passed in, we ignore p_operating_unit.
4469     -- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
4470     -- If both are not passed in, we get the context from MO Get_Default_Org API.
4471     --
4472     IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
4473        l_org_id :=  p_org_id;
4474 
4475        -- ignore p_operating_unit since p_org_id has passed in.
4476        -- We check if both p_org_id and p_operating_unit pass in,
4477        -- add a message just for the information.
4478        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR)  THEN
4479           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4480             THEN
4481                 fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
4482                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
4483                 OE_MSG_PUB.Add;
4484             END IF;
4485        END IF;
4486 
4487     ELSE
4488        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
4489            -- call value_to_id to get org_id
4490            l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
4491        -- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
4492        /*
4493         ELSE
4494            -- Both p_org_id and p_operating_unit are not passed in.
4495            l_org_id := MO_UTILS.get_default_org_id ;
4496         */
4497         END IF;
4498      END IF;
4499 
4500     -- Validate Org_Id
4501     -- call new API : MO_GLOBAL.validate_orgid_pub_api
4502     -- Instead of calling old function - MO_GLOBAL.check_valid_org
4503     -- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
4504     -- without adding code to call MO_GLOBAL.init
4505 
4506    /* MO_GLOBAL.validate_orgid_pub_api
4507     (   ORG_ID  =>  l_org_id
4508      ,  Status  =>  l_return_status
4509     ) ;*/
4510     /*IF(l_return_status ='F') THEN
4511        -- return Failure
4512        raise FND_API.G_EXC_ERROR;
4513     END IF;*/
4514 
4515     -- Set Application Context
4516     -- Since we pass validation, we start to Set Application Context
4517     -- Call MO set_policy_context to set application context by sending
4518     -- p_access_mode ='S' (Single Operating Unit Access) and org_id
4519     -- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
4520     --
4521     --MO_GLOBAL.set_policy_context('S',l_org_id);
4522     --OE_GLOBALS.Set_Context();
4523     --Moved the logic to set context to new procedure set_context
4524      set_context(p_org_id =>l_org_id);
4525 
4526 
4527     --  From now on, we are in single access mode.
4528 
4529 
4530 
4531     --  Standard check for Val/ID conversion
4532 
4533     IF  p_header = FND_API.G_MISS_CHAR
4534     THEN
4535 
4536         l_header_id := p_header_id;
4537 
4538     ELSIF p_header_id <> FND_API.G_MISS_NUM THEN
4539 
4540         l_header_id := p_header_id;
4541 
4542         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4543         THEN
4544 
4545             fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
4546             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','header');
4547             OE_MSG_PUB.Add;
4548 
4549         END IF;
4550 
4551     ELSE
4552 
4553         --  Convert Value to Id
4554 
4555         /*l_header_id := OE_Value_To_Id.header
4556         (   p_header                      => p_header
4557         );*/
4558 
4559         IF l_header_id = FND_API.G_MISS_NUM THEN
4560             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4561             THEN
4562 
4563                 fnd_message.set_name('ONT','Invalid Business Object Value');
4564                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','header');
4565                 OE_MSG_PUB.Add;
4566 
4567             END IF;
4568         END IF;
4569 
4570         RAISE FND_API.G_EXC_ERROR;
4571 
4572     END IF;
4573 
4574 
4575     --  Call OE_Order_PVT.Get_Order
4576 
4577     OE_Order_PVT.Get_Order
4578     (   p_api_version_number          => 1.0
4579     ,   p_init_msg_list               => p_init_msg_list
4580     ,   x_return_status               => x_return_status
4581     ,   x_msg_count                   => x_msg_count
4582     ,   x_msg_data                    => x_msg_data
4583     ,   p_header_id                   => l_header_id
4584     ,   x_header_rec                  => x_header_rec
4585     ,   x_Header_Adj_tbl              => x_Header_Adj_tbl
4586     ,   x_Header_Price_Att_tbl	      => x_Header_Price_Att_tbl
4587     ,   x_Header_Adj_Att_tbl	      => x_Header_Adj_Att_tbl
4588     ,   x_Header_Adj_Assoc_tbl	      => x_Header_Adj_Assoc_tbl
4589     ,   x_Header_Scredit_tbl          => x_Header_Scredit_tbl
4590     ,   x_Header_Payment_tbl          => x_Header_Payment_tbl
4591     ,   x_line_tbl                    => x_line_tbl
4592     ,   x_Line_Adj_tbl                => x_Line_Adj_tbl
4593     ,   x_Line_Price_Att_tbl	      => x_Line_Price_Att_tbl
4594     ,   x_Line_Adj_Att_tbl	      => x_Line_Adj_Att_tbl
4595     ,   x_Line_Adj_Assoc_tbl	      => x_Line_Adj_Assoc_tbl
4596     ,   x_Line_Scredit_tbl            => x_Line_Scredit_tbl
4597     ,   x_Line_Payment_tbl            => x_Line_Payment_tbl
4598     ,   x_Lot_Serial_tbl              => x_Lot_Serial_tbl
4599     );
4600 
4601 
4602     --  If p_return_values is TRUE then convert Ids to Values.
4603 
4604     IF FND_API.TO_BOOLEAN(p_return_values) THEN
4605 
4606         Id_To_Value
4607         (   p_header_rec                  => x_header_rec
4608         ,   p_Header_Adj_tbl              => x_Header_Adj_tbl
4609         ,   p_Header_Scredit_tbl          => x_Header_Scredit_tbl
4610         ,   p_Header_Payment_tbl          => x_Header_Payment_tbl
4611         ,   p_line_tbl                    => x_line_tbl
4612         ,   p_Line_Adj_tbl                => x_Line_Adj_tbl
4613         ,   p_Line_Scredit_tbl            => x_Line_Scredit_tbl
4614         ,   p_Line_Payment_tbl            => x_Line_Payment_tbl
4615         ,   p_Lot_Serial_tbl              => x_Lot_Serial_tbl
4616         ,   x_header_val_rec              => x_header_val_rec
4617         ,   x_Header_Adj_val_tbl          => x_Header_Adj_val_tbl
4618         ,   x_Header_Scredit_val_tbl      => x_Header_Scredit_val_tbl
4619         ,   x_Header_Payment_val_tbl      => x_Header_Payment_val_tbl
4620         ,   x_line_val_tbl                => x_line_val_tbl
4621         ,   x_Line_Adj_val_tbl            => x_Line_Adj_val_tbl
4622         ,   x_Line_Scredit_val_tbl        => x_Line_Scredit_val_tbl
4623         ,   x_Line_Payment_val_tbl        => x_Line_Payment_val_tbl
4624         ,   x_Lot_Serial_val_tbl          => x_Lot_Serial_val_tbl
4625         );
4626 
4627     END IF;
4628 
4629     --  Set return status
4630 
4631     x_return_status := FND_API.G_RET_STS_SUCCESS;
4632 
4633     --  Get message count and data
4634 
4635     OE_MSG_PUB.Count_And_Get
4636     (   p_count                       => x_msg_count
4637     ,   p_data                        => x_msg_data
4638     );
4639 
4640 
4641 EXCEPTION
4642 
4643     WHEN FND_API.G_EXC_ERROR THEN
4644 
4645         x_return_status := FND_API.G_RET_STS_ERROR;
4646 
4647         --  Get message count and data
4648 
4649         OE_MSG_PUB.Count_And_Get
4650         (   p_count                       => x_msg_count
4651         ,   p_data                        => x_msg_data
4652         );
4653 
4654     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4655 
4656         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4657 
4658         --  Get message count and data
4659 
4660         OE_MSG_PUB.Count_And_Get
4661         (   p_count                       => x_msg_count
4662         ,   p_data                        => x_msg_data
4663         );
4664 
4665     WHEN OTHERS THEN
4666 
4667         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4668 
4669         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4670         THEN
4671             OE_MSG_PUB.Add_Exc_Msg
4672             (   G_PKG_NAME
4673             ,   'Get_Order'
4674             );
4675         END IF;
4676 
4677         --  Get message count and data
4678 
4679         OE_MSG_PUB.Count_And_Get
4680         (   p_count                       => x_msg_count
4681         ,   p_data                        => x_msg_data
4682         );
4683 
4684 END Get_Order;
4685 
4686 --  Procedure Id_To_Value
4687 
4688 PROCEDURE Id_To_Value
4689 (   p_header_rec                    IN  Header_Rec_Type
4690 ,   p_Header_Adj_tbl                IN  Header_Adj_Tbl_Type
4691 ,   p_Header_Scredit_tbl            IN  Header_Scredit_Tbl_Type
4692 ,   p_Header_Payment_tbl            IN  Header_Payment_Tbl_Type
4693 ,   p_line_tbl                      IN  Line_Tbl_Type
4694 ,   p_Line_Adj_tbl                  IN  Line_Adj_Tbl_Type
4695 ,   p_Line_Scredit_tbl              IN  Line_Scredit_Tbl_Type
4696 ,   p_Line_Payment_tbl              IN  Line_Payment_Tbl_Type
4697 ,   p_Lot_Serial_tbl                IN  Lot_Serial_Tbl_Type
4698 , p_org_id                        IN  NUMBER := NULL  --MOAC
4699 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
4700 
4701 ,   x_header_val_rec                OUT NOCOPY /* file.sql.39 change */ Header_Val_Rec_Type
4702 ,   x_Header_Adj_val_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Adj_Val_Tbl_Type
4703 ,   x_Header_Scredit_val_tbl        OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Val_Tbl_Type
4704 ,   x_Header_Payment_val_tbl        OUT NOCOPY /* file.sql.39 change */ Header_Payment_Val_Tbl_Type
4705 ,   x_line_val_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Val_Tbl_Type
4706 ,   x_Line_Adj_val_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Adj_Val_Tbl_Type
4707 ,   x_Line_Scredit_val_tbl          OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Val_Tbl_Type
4708 ,   x_Line_Payment_val_tbl          OUT NOCOPY /* file.sql.39 change */ Line_Payment_Val_Tbl_Type
4709 ,   x_Lot_Serial_val_tbl            OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Val_Tbl_Type
4710 )
4711 IS
4712 l_org_id number;
4713 l_return_status                 VARCHAR2(30);
4714 BEGIN
4715 
4716     -- Logic added for MOAC
4717 
4718 
4719     -- FIND Org_Id logic :
4720     -- We first look at p_org_id to set Context.
4721     -- If p_org_id passed in, we ignore p_operating_unit.
4722     -- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
4723     -- If both are not passed in, we get the context from MO Get_Default_Org API.
4724     --
4725     IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
4726        l_org_id :=  p_org_id;
4727 
4728        -- ignore p_operating_unit since p_org_id has passed in.
4729        -- We check if both p_org_id and p_operating_unit pass in,
4730        -- add a message just for the information.
4731        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR)  THEN
4732           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4733             THEN
4734                 fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
4735                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
4736                 OE_MSG_PUB.Add;
4737             END IF;
4738        END IF;
4739 
4740     ELSE
4741        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
4742            -- call value_to_id to get org_id
4743            l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
4744        -- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
4745 
4746         ELSE
4747            -- Both p_org_id and p_operating_unit are not passed in.
4748           -- This is required since this procedure is called from process order
4749          -- The mo init is already run and the org id is not passed
4750 		 l_org_id := MO_GLOBAL.get_current_org_id;
4751 
4752         END IF;
4753      END IF;
4754 
4755     -- Validate Org_Id
4756     -- call new API : MO_GLOBAL.validate_orgid_pub_api
4757     -- Instead of calling old function - MO_GLOBAL.check_valid_org
4758     -- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
4759     -- without adding code to call MO_GLOBAL.init
4760 
4761    /* MO_GLOBAL.validate_orgid_pub_api
4762     (   ORG_ID  =>  l_org_id
4763      ,  Status  =>  l_return_status
4764     ) ;*/
4765     /*IF(l_return_status ='F') THEN
4766        -- return Failure
4767        raise FND_API.G_EXC_ERROR;
4768     END IF;*/
4769 
4770     -- Set Application Context
4771     -- Since we pass validation, we start to Set Application Context
4772     -- Call MO set_policy_context to set application context by sending
4773     -- p_access_mode ='S' (Single Operating Unit Access) and org_id
4774     -- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
4775     --
4776     --MO_GLOBAL.set_policy_context('S',l_org_id);
4777     --OE_GLOBALS.Set_Context();
4778     --Moved the logic to set context to new procedure set_context
4779      set_context(p_org_id =>l_org_id);
4780 
4781 
4782     --  From now on, we are in single access mode.
4783 
4784 
4785 
4786 
4787     OE_Order_GRP.ID_To_Value
4788         (   p_header_rec                  => p_header_rec
4789         ,   p_Header_Adj_tbl              => p_Header_Adj_tbl
4790         ,   p_Header_Scredit_tbl          => p_Header_Scredit_tbl
4791         ,   p_Header_Payment_tbl          => p_Header_Payment_tbl
4792         ,   p_line_tbl                    => p_line_tbl
4793         ,   p_Line_Adj_tbl                => p_Line_Adj_tbl
4794         ,   p_Line_Scredit_tbl            => p_Line_Scredit_tbl
4795         ,   p_Line_Payment_tbl            => p_Line_Payment_tbl
4796         ,   p_Lot_Serial_tbl              => p_Lot_Serial_tbl
4797         ,   x_header_val_rec              => x_header_val_rec
4798         ,   x_Header_Adj_val_tbl          => x_Header_Adj_val_tbl
4799         ,   x_Header_Scredit_val_tbl      => x_Header_Scredit_val_tbl
4800         ,   x_Header_Payment_val_tbl      => x_Header_Payment_val_tbl
4801         ,   x_line_val_tbl                => x_line_val_tbl
4802         ,   x_Line_Adj_val_tbl            => x_Line_Adj_val_tbl
4803         ,   x_Line_Scredit_val_tbl        => x_Line_Scredit_val_tbl
4804         ,   x_Line_Payment_val_tbl        => x_Line_Payment_val_tbl
4805         ,   x_Lot_Serial_val_tbl          => x_Lot_Serial_val_tbl
4806         );
4807 
4808 EXCEPTION
4809 
4810     WHEN OTHERS THEN
4811 
4812         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4813         THEN
4814             OE_MSG_PUB.Add_Exc_Msg
4815             (   G_PKG_NAME
4816             ,   'Id_To_Value'
4817             );
4818         END IF;
4819 
4820         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4821 
4822 END Id_To_Value;
4823 
4824 --  Procedure Value_To_Id
4825 
4826 PROCEDURE Value_To_Id (
4827     p_header_rec                    IN  Header_Rec_Type
4828 ,   p_header_val_rec                IN  Header_Val_Rec_Type
4829 ,   p_Header_Adj_tbl                IN  Header_Adj_Tbl_Type
4830 ,   p_Header_Adj_val_tbl            IN  Header_Adj_Val_Tbl_Type
4831 ,   p_Header_Scredit_tbl            IN  Header_Scredit_Tbl_Type
4832 ,   p_Header_Scredit_val_tbl        IN  Header_Scredit_Val_Tbl_Type
4833 ,   p_Header_Payment_tbl            IN  Header_Payment_Tbl_Type
4834 ,   p_Header_Payment_val_tbl        IN  Header_Payment_Val_Tbl_Type
4835 ,   p_line_tbl                      IN  Line_Tbl_Type
4836 ,   p_line_val_tbl                  IN  Line_Val_Tbl_Type
4837 ,   p_Line_Adj_tbl                  IN  Line_Adj_Tbl_Type
4838 ,   p_Line_Adj_val_tbl              IN  Line_Adj_Val_Tbl_Type
4839 ,   p_Line_Scredit_tbl              IN  Line_Scredit_Tbl_Type
4840 ,   p_Line_Scredit_val_tbl          IN  Line_Scredit_Val_Tbl_Type
4841 ,   p_Line_Payment_val_tbl          IN  Line_Payment_Val_Tbl_Type
4842 ,   p_Line_Payment_tbl              IN  Line_Payment_Tbl_Type
4843 ,   p_Lot_Serial_tbl                IN  Lot_Serial_Tbl_Type
4844 ,   p_Lot_Serial_val_tbl            IN  Lot_Serial_Val_Tbl_Type
4845 , p_org_id                        IN  NUMBER := NULL  --MOAC
4846 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
4847 
4848 ,   x_header_rec                    OUT NOCOPY /* file.sql.39 change */ Header_Rec_Type
4849 ,   x_Header_Adj_tbl                OUT NOCOPY /* file.sql.39 change */ Header_Adj_Tbl_Type
4850 ,   x_Header_Scredit_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Tbl_Type
4851 ,   x_Header_Payment_tbl            OUT NOCOPY /* file.sql.39 change */ Header_Payment_Tbl_Type
4852 ,   x_line_tbl                      OUT NOCOPY /* file.sql.39 change */ Line_Tbl_Type
4853 ,   x_Line_Adj_tbl                  OUT NOCOPY /* file.sql.39 change */ Line_Adj_Tbl_Type
4854 ,   x_Line_Scredit_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Tbl_Type
4855 ,   x_Line_Payment_tbl              OUT NOCOPY /* file.sql.39 change */ Line_Payment_Tbl_Type
4856 ,   x_Lot_Serial_tbl                OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Tbl_Type
4857 ,   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
4858 )
4859 IS
4860 l_org_id number;
4861 l_return_status                 VARCHAR2(30);
4862 BEGIN
4863 
4864     -- Logic added for MOAC
4865 
4866 
4867     -- FIND Org_Id logic :
4868     -- We first look at p_org_id to set Context.
4869     -- If p_org_id passed in, we ignore p_operating_unit.
4870     -- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
4871     -- If both are not passed in, we get the context from MO Get_Default_Org API.
4872     --
4873     IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
4874        l_org_id :=  p_org_id;
4875 
4876        -- ignore p_operating_unit since p_org_id has passed in.
4877        -- We check if both p_org_id and p_operating_unit pass in,
4878        -- add a message just for the information.
4879        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR)  THEN
4880           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4881             THEN
4882                 fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
4883                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
4884                 OE_MSG_PUB.Add;
4885             END IF;
4886        END IF;
4887 
4888     ELSE
4889        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
4890            -- call value_to_id to get org_id
4891            l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
4892        -- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
4893 
4894         ELSE
4895            -- Both p_org_id and p_operating_unit are not passed in.
4896            --this is required since some APIs such as process order will
4897         -- set the org already so no need to pass org id agai
4898 		  l_org_id := MO_GLOBAL.get_current_org_id;
4899 
4900         END IF;
4901      END IF;
4902 
4903     -- Validate Org_Id
4904     -- call new API : MO_GLOBAL.validate_orgid_pub_api
4905     -- Instead of calling old function - MO_GLOBAL.check_valid_org
4906     -- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
4907     -- without adding code to call MO_GLOBAL.init
4908 
4909    /*MO_GLOBAL.validate_orgid_pub_api
4910     (   ORG_ID  =>  l_org_id
4911      ,  Status  =>  l_return_status
4912     ) ;*/
4913     /*IF(l_return_status ='F') THEN
4914        -- return Failure
4915        raise FND_API.G_EXC_ERROR;
4916     END IF;*/
4917 
4918     -- Set Application Context
4919     -- Since we pass validation, we start to Set Application Context
4920     -- Call MO set_policy_context to set application context by sending
4921     -- p_access_mode ='S' (Single Operating Unit Access) and org_id
4922     -- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
4923     --
4924     --MO_GLOBAL.set_policy_context('S',l_org_id);
4925     --OE_GLOBALS.Set_Context();
4926     --Moved the logic to set context to new procedure set_context
4927      set_context(p_org_id =>l_org_id);
4928 
4929 
4930 
4931     --  From now on, we are in single access mode.
4932 
4933 
4934 
4935     --  Init x_return_status.
4936 
4937     x_return_status := FND_API.G_RET_STS_SUCCESS;
4938 
4939     OE_Order_GRP.Value_To_ID
4940     (   x_return_status               => x_return_status
4941     ,   p_header_rec                  => p_header_rec
4942     ,   p_header_val_rec              => p_header_val_rec
4943     ,   p_Header_Adj_tbl              => p_Header_Adj_tbl
4944     ,   p_Header_Adj_val_tbl          => p_Header_Adj_val_tbl
4945     ,   p_Header_Scredit_tbl          => p_Header_Scredit_tbl
4946     ,   p_Header_Scredit_val_tbl      => p_Header_Scredit_val_tbl
4947     ,   p_Header_Payment_tbl          => p_Header_Payment_tbl
4948     ,   p_Header_Payment_val_tbl      => p_Header_Payment_val_tbl
4949     ,   p_line_tbl                    => p_line_tbl
4950     ,   p_line_val_tbl                => p_line_val_tbl
4951     ,   p_Line_Adj_tbl                => p_Line_Adj_tbl
4952     ,   p_Line_Adj_val_tbl            => p_Line_Adj_val_tbl
4953     ,   p_Line_Scredit_tbl            => p_Line_Scredit_tbl
4954     ,   p_Line_Scredit_val_tbl        => p_Line_Scredit_val_tbl
4955     ,   p_Line_Payment_tbl            => p_Line_Payment_tbl
4956     ,   p_Line_Payment_val_tbl        => p_Line_Payment_val_tbl
4957     ,   p_Lot_Serial_tbl              => p_Lot_Serial_tbl
4958     ,   p_Lot_Serial_val_tbl          => p_Lot_Serial_val_tbl
4959     ,   x_header_rec                  => x_header_rec
4960     ,   x_Header_Adj_tbl              => x_Header_Adj_tbl
4961     ,   x_Header_Scredit_tbl          => x_Header_Scredit_tbl
4962     ,   x_Header_Payment_tbl          => x_Header_Payment_tbl
4963     ,   x_line_tbl                    => x_line_tbl
4964     ,   x_Line_Adj_tbl                => x_Line_Adj_tbl
4965     ,   x_Line_Scredit_tbl            => x_Line_Scredit_tbl
4966     ,   x_Line_Payment_tbl            => x_Line_Payment_tbl
4967     ,   x_Lot_Serial_tbl              => x_Lot_Serial_tbl
4968     );
4969 
4970 EXCEPTION
4971 
4972     WHEN OTHERS THEN
4973 
4974         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4975         THEN
4976             OE_MSG_PUB.Add_Exc_Msg
4977             (   G_PKG_NAME
4978             ,   'Value_To_Id'
4979             );
4980         END IF;
4981 
4982         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4983 
4984 END Value_To_Id;
4985 
4986 Procedure Process_MACD_Order
4987 (P_api_version_number     IN  NUMBER,
4988  P_organization_id        IN  NUMBER,
4989  P_sold_to_org_id         IN  NUMBER,
4990  P_header_id              IN  NUMBER,
4991  P_MACD_Action            IN  VARCHAR2,
4992  P_Instance_Tbl           IN  csi_datastructures_pub.instance_cz_tbl,
4993  p_x_line_tbl             IN  OUT NOCOPY Line_Tbl_Type,
4994  P_Extended_Attrib_Tbl    IN  csi_datastructures_pub.ext_attrib_values_tbl,
4995  p_org_id                        IN  NUMBER := NULL  --MOAC
4996 ,   p_operating_unit                IN  VARCHAR2 := NULL -- MOAC
4997 
4998 , X_container_line_id      OUT NOCOPY NUMBER,
4999  x_return_status          OUT NOCOPY VARCHAR2,
5000  x_msg_count              OUT NOCOPY VARCHAR2,
5001  x_msg_data               OUT NOCOPY VARCHAR2)
5002 IS
5003 
5004  l_org_id                NUMBER;
5005  l_return_status         VARCHAR2(30);
5006  l_header_id             NUMBER;
5007  l_debug_level  CONSTANT NUMBER := oe_debug_pub.g_debug_level;
5008  l_number_of_containers  NUMBER;
5009 BEGIN
5010     -- Logic added for MOAC
5011 
5012 
5013     -- FIND Org_Id logic :
5014     -- We first look at p_org_id to set Context.
5015     -- If p_org_id passed in, we ignore p_operating_unit.
5016     -- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
5017     -- If both are not passed in, we get the context from MO Get_Default_Org API.
5018     --
5019     IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
5020        l_org_id :=  p_org_id;
5021 
5022        -- ignore p_operating_unit since p_org_id has passed in.
5023        -- We check if both p_org_id and p_operating_unit pass in,
5024        -- add a message just for the information.
5025        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR)  THEN
5026           IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
5027             THEN
5028                 fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
5029                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
5030                 OE_MSG_PUB.Add;
5031             END IF;
5032        END IF;
5033 
5034     ELSE
5035        IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
5036            -- call value_to_id to get org_id
5037            l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
5038        -- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
5039        /*
5040         ELSE
5041            -- Both p_org_id and p_operating_unit are not passed in.
5042            l_org_id := MO_UTILS.get_default_org_id ;
5043         */
5044         END IF;
5045      END IF;
5046 
5047     -- Validate Org_Id
5048     -- call new API : MO_GLOBAL.validate_orgid_pub_api
5049     -- Instead of calling old function - MO_GLOBAL.check_valid_org
5050     -- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
5051     -- without adding code to call MO_GLOBAL.init
5052 
5053     /*MO_GLOBAL.validate_orgid_pub_api
5054     (   ORG_ID  =>  l_org_id
5055      ,  Status  =>  l_return_status
5056     ) ;*/
5057     /*IF(l_return_status ='F') THEN
5058        -- return Failure
5059        raise FND_API.G_EXC_ERROR;
5060     END IF;*/
5061 
5062     -- Set Application Context
5063     -- Since we pass validation, we start to Set Application Context
5064     -- Call MO set_policy_context to set application context by sending
5065     -- p_access_mode ='S' (Single Operating Unit Access) and org_id
5066     -- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
5067     --
5068     --MO_GLOBAL.set_policy_context('S',l_org_id);
5069     --OE_GLOBALS.Set_Context();
5070     --Moved the logic to set context to new procedure set_context
5071      set_context(p_org_id =>l_org_id);
5072 
5073 
5074     --  From now on, we are in single access mode.
5075 
5076     l_header_id := p_header_id;
5077 
5078    IF l_debug_level  > 0 THEN
5079       oe_debug_pub.add(' Before calling private Process_MACD_Order',   1 ) ;
5080    END IF;
5081 
5082    x_return_status := FND_API.G_RET_STS_SUCCESS;
5083 
5084    Oe_config_tso_pvt.Process_MACD_Order
5085    (p_API_VERSION_NUMBER     => P_API_VERSION_NUMBER,
5086     p_caller                 => 'P', -- public
5087     p_sold_to_org_id         => p_sold_to_org_id,
5088     p_x_header_id            => l_header_id,
5089     p_MACD_Action            => p_macd_action,
5090     p_Instance_Tbl           => p_instance_tbl,
5091     p_x_Line_Tbl             => p_x_line_tbl,
5092     p_Extended_Attrib_Tbl    => p_Extended_Attrib_Tbl,
5093     x_container_line_id      => x_container_line_id,
5094     x_number_of_containers   => l_number_of_containers,
5095     x_return_status          => x_return_status,
5096     x_msg_count              => x_msg_count,
5097     x_msg_data               => x_msg_data);
5098 
5099    IF l_debug_level  > 0 THEN
5100       oe_debug_pub.add(' After calling private Process_MACD_Order ' || x_return_status,  1 ) ;
5101    END IF;
5102 
5103 
5104   IF l_debug_level  > 0 THEN
5105       oe_debug_pub.add('Entering into  public Process_MACD_Order', 1 ) ;
5106   END IF;
5107 
5108   Null;
5109 
5110 EXCEPTION
5111 
5112     WHEN FND_API.G_EXC_ERROR THEN
5113 
5114         x_return_status := FND_API.G_RET_STS_ERROR;
5115 
5116         --  Get message count and data
5117 
5118         OE_MSG_PUB.Count_And_Get
5119         (   p_count                       => x_msg_count
5120         ,   p_data                        => x_msg_data
5121         );
5122 
5123     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5124 
5125         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5126 
5127         --  Get message count and data
5128 
5129         OE_MSG_PUB.Count_And_Get
5130         (   p_count                       => x_msg_count
5131         ,   p_data                        => x_msg_data
5132         );
5133 
5134     WHEN OTHERS THEN
5135 
5136         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5137 
5138         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5139         THEN
5140             OE_MSG_PUB.Add_Exc_Msg
5141             (   G_PKG_NAME
5142             ,   'Process_Order'
5143             );
5144         END IF;
5145 
5146         --  Get message count and data
5147 
5148         OE_MSG_PUB.Count_And_Get
5149         (   p_count                       => x_msg_count
5150         ,   p_data                        => x_msg_data
5151         );
5152 END Process_MACD_Order;
5153 
5154 --  performance bug 4571373, replace g_miss_line_rec
5155 --  function with global record initialized only once
5156 
5157 BEGIN
5158 
5159     G_MISS_LINE_REC.accounting_rule_id              := FND_API.G_MISS_NUM;
5160     G_MISS_LINE_REC.accounting_rule_duration        := FND_API.G_MISS_NUM;
5161     G_MISS_LINE_REC.actual_arrival_date             := FND_API.G_MISS_DATE;
5162     G_MISS_LINE_REC.actual_shipment_date            := FND_API.G_MISS_DATE;
5163     G_MISS_LINE_REC.agreement_id                    := FND_API.G_MISS_NUM;
5164     G_MISS_LINE_REC.arrival_set_id                  := FND_API.G_MISS_NUM;
5165     G_MISS_LINE_REC.ato_line_id                     := FND_API.G_MISS_NUM;
5166     G_MISS_LINE_REC.attribute1                      := FND_API.G_MISS_CHAR;
5167     G_MISS_LINE_REC.attribute10                     := FND_API.G_MISS_CHAR;
5168     G_MISS_LINE_REC.attribute11                     := FND_API.G_MISS_CHAR;
5169     G_MISS_LINE_REC.attribute12                     := FND_API.G_MISS_CHAR;
5170     G_MISS_LINE_REC.attribute13                     := FND_API.G_MISS_CHAR;
5171     G_MISS_LINE_REC.attribute14                     := FND_API.G_MISS_CHAR;
5172     G_MISS_LINE_REC.attribute15                     := FND_API.G_MISS_CHAR;
5173     G_MISS_LINE_REC.attribute16                     := FND_API.G_MISS_CHAR;
5174     G_MISS_LINE_REC.attribute17                     := FND_API.G_MISS_CHAR;
5175     G_MISS_LINE_REC.attribute18                     := FND_API.G_MISS_CHAR;
5176     G_MISS_LINE_REC.attribute19                     := FND_API.G_MISS_CHAR;
5177     G_MISS_LINE_REC.attribute2                      := FND_API.G_MISS_CHAR;
5178     G_MISS_LINE_REC.attribute20                     := FND_API.G_MISS_CHAR;
5179     G_MISS_LINE_REC.attribute3                      := FND_API.G_MISS_CHAR;
5180     G_MISS_LINE_REC.attribute4                      := FND_API.G_MISS_CHAR;
5181     G_MISS_LINE_REC.attribute5                      := FND_API.G_MISS_CHAR;
5182     G_MISS_LINE_REC.attribute6                      := FND_API.G_MISS_CHAR;
5183     G_MISS_LINE_REC.attribute7                      := FND_API.G_MISS_CHAR;
5184     G_MISS_LINE_REC.attribute8                      := FND_API.G_MISS_CHAR;
5185     G_MISS_LINE_REC.attribute9                      := FND_API.G_MISS_CHAR;
5186     G_MISS_LINE_REC.authorized_to_ship_flag         := FND_API.G_MISS_CHAR;
5187     G_MISS_LINE_REC.auto_selected_quantity          := FND_API.G_MISS_NUM;
5188     G_MISS_LINE_REC.booked_flag                     := FND_API.G_MISS_CHAR;
5189     G_MISS_LINE_REC.cancelled_flag                  := FND_API.G_MISS_CHAR;
5190     G_MISS_LINE_REC.cancelled_quantity              := FND_API.G_MISS_NUM;
5191     G_MISS_LINE_REC.cancelled_quantity2             := FND_API.G_MISS_NUM;
5192     G_MISS_LINE_REC.commitment_id                   := FND_API.G_MISS_NUM;
5193     G_MISS_LINE_REC.component_code                  := FND_API.G_MISS_CHAR;
5194     G_MISS_LINE_REC.component_number                := FND_API.G_MISS_NUM;
5195     G_MISS_LINE_REC.component_sequence_id           := FND_API.G_MISS_NUM;
5196     G_MISS_LINE_REC.config_header_id                := FND_API.G_MISS_NUM;
5197     G_MISS_LINE_REC.config_rev_nbr 	                := FND_API.G_MISS_NUM;
5198     G_MISS_LINE_REC.config_display_sequence         := FND_API.G_MISS_NUM;
5199     G_MISS_LINE_REC.configuration_id                := FND_API.G_MISS_NUM;
5200     G_MISS_LINE_REC.context                         := FND_API.G_MISS_CHAR;
5201     G_MISS_LINE_REC.created_by                      := FND_API.G_MISS_NUM;
5202     G_MISS_LINE_REC.creation_date                   := FND_API.G_MISS_DATE;
5203     G_MISS_LINE_REC.credit_invoice_line_id          := FND_API.G_MISS_NUM;
5204     G_MISS_LINE_REC.customer_dock_code              := FND_API.G_MISS_CHAR;
5205     G_MISS_LINE_REC.customer_job                    := FND_API.G_MISS_CHAR;
5206     G_MISS_LINE_REC.customer_production_line        := FND_API.G_MISS_CHAR;
5207     G_MISS_LINE_REC.customer_trx_line_id            := FND_API.G_MISS_NUM;
5208     G_MISS_LINE_REC.cust_model_serial_number        := FND_API.G_MISS_CHAR;
5209     G_MISS_LINE_REC.cust_po_number                  := FND_API.G_MISS_CHAR;
5210     G_MISS_LINE_REC.cust_production_seq_num         := FND_API.G_MISS_CHAR;
5211     G_MISS_LINE_REC.delivery_lead_time              := FND_API.G_MISS_NUM;
5212     G_MISS_LINE_REC.deliver_to_contact_id           := FND_API.G_MISS_NUM;
5213     G_MISS_LINE_REC.deliver_to_org_id               := FND_API.G_MISS_NUM;
5214     G_MISS_LINE_REC.demand_bucket_type_code         := FND_API.G_MISS_CHAR;
5215     G_MISS_LINE_REC.demand_class_code               := FND_API.G_MISS_CHAR;
5216     G_MISS_LINE_REC.dep_plan_required_flag          := FND_API.G_MISS_CHAR;
5217     G_MISS_LINE_REC.earliest_acceptable_date        := FND_API.G_MISS_DATE;
5218     G_MISS_LINE_REC.end_item_unit_number            := FND_API.G_MISS_CHAR;
5219     G_MISS_LINE_REC.explosion_date                  := FND_API.G_MISS_DATE;
5220     G_MISS_LINE_REC.fob_point_code                  := FND_API.G_MISS_CHAR;
5221     G_MISS_LINE_REC.freight_carrier_code            := FND_API.G_MISS_CHAR;
5222     G_MISS_LINE_REC.freight_terms_code              := FND_API.G_MISS_CHAR;
5223     G_MISS_LINE_REC.fulfilled_quantity              := FND_API.G_MISS_NUM;
5224     G_MISS_LINE_REC.fulfilled_quantity2             := FND_API.G_MISS_NUM;
5225     G_MISS_LINE_REC.global_attribute1               := FND_API.G_MISS_CHAR;
5226     G_MISS_LINE_REC.global_attribute10              := FND_API.G_MISS_CHAR;
5227     G_MISS_LINE_REC.global_attribute11              := FND_API.G_MISS_CHAR;
5228     G_MISS_LINE_REC.global_attribute12              := FND_API.G_MISS_CHAR;
5229     G_MISS_LINE_REC.global_attribute13              := FND_API.G_MISS_CHAR;
5230     G_MISS_LINE_REC.global_attribute14              := FND_API.G_MISS_CHAR;
5231     G_MISS_LINE_REC.global_attribute15              := FND_API.G_MISS_CHAR;
5232     G_MISS_LINE_REC.global_attribute16              := FND_API.G_MISS_CHAR;
5233     G_MISS_LINE_REC.global_attribute17              := FND_API.G_MISS_CHAR;
5234     G_MISS_LINE_REC.global_attribute18              := FND_API.G_MISS_CHAR;
5235     G_MISS_LINE_REC.global_attribute19              := FND_API.G_MISS_CHAR;
5236     G_MISS_LINE_REC.global_attribute2               := FND_API.G_MISS_CHAR;
5237     G_MISS_LINE_REC.global_attribute20              := FND_API.G_MISS_CHAR;
5238     G_MISS_LINE_REC.global_attribute3               := FND_API.G_MISS_CHAR;
5239     G_MISS_LINE_REC.global_attribute4               := FND_API.G_MISS_CHAR;
5240     G_MISS_LINE_REC.global_attribute5               := FND_API.G_MISS_CHAR;
5241     G_MISS_LINE_REC.global_attribute6               := FND_API.G_MISS_CHAR;
5242     G_MISS_LINE_REC.global_attribute7               := FND_API.G_MISS_CHAR;
5243     G_MISS_LINE_REC.global_attribute8               := FND_API.G_MISS_CHAR;
5244     G_MISS_LINE_REC.global_attribute9               := FND_API.G_MISS_CHAR;
5245     G_MISS_LINE_REC.global_attribute_category       := FND_API.G_MISS_CHAR;
5246     G_MISS_LINE_REC.header_id                       := FND_API.G_MISS_NUM;
5247     G_MISS_LINE_REC.industry_attribute1             := FND_API.G_MISS_CHAR;
5248     G_MISS_LINE_REC.industry_attribute10            := FND_API.G_MISS_CHAR;
5249     G_MISS_LINE_REC.industry_attribute11            := FND_API.G_MISS_CHAR;
5250     G_MISS_LINE_REC.industry_attribute12            := FND_API.G_MISS_CHAR;
5251     G_MISS_LINE_REC.industry_attribute13            := FND_API.G_MISS_CHAR;
5252     G_MISS_LINE_REC.industry_attribute14            := FND_API.G_MISS_CHAR;
5253     G_MISS_LINE_REC.industry_attribute15            := FND_API.G_MISS_CHAR;
5254     G_MISS_LINE_REC.industry_attribute16            := FND_API.G_MISS_CHAR;
5255     G_MISS_LINE_REC.industry_attribute17            := FND_API.G_MISS_CHAR;
5256     G_MISS_LINE_REC.industry_attribute18            := FND_API.G_MISS_CHAR;
5257     G_MISS_LINE_REC.industry_attribute19            := FND_API.G_MISS_CHAR;
5258     G_MISS_LINE_REC.industry_attribute20            := FND_API.G_MISS_CHAR;
5259     G_MISS_LINE_REC.industry_attribute21            := FND_API.G_MISS_CHAR;
5260     G_MISS_LINE_REC.industry_attribute22            := FND_API.G_MISS_CHAR;
5261     G_MISS_LINE_REC.industry_attribute23            := FND_API.G_MISS_CHAR;
5262     G_MISS_LINE_REC.industry_attribute24            := FND_API.G_MISS_CHAR;
5263     G_MISS_LINE_REC.industry_attribute25            := FND_API.G_MISS_CHAR;
5264     G_MISS_LINE_REC.industry_attribute26            := FND_API.G_MISS_CHAR;
5265     G_MISS_LINE_REC.industry_attribute27            := FND_API.G_MISS_CHAR;
5266     G_MISS_LINE_REC.industry_attribute28            := FND_API.G_MISS_CHAR;
5267     G_MISS_LINE_REC.industry_attribute29            := FND_API.G_MISS_CHAR;
5268     G_MISS_LINE_REC.industry_attribute30            := FND_API.G_MISS_CHAR;
5269     G_MISS_LINE_REC.industry_attribute2             := FND_API.G_MISS_CHAR;
5270     G_MISS_LINE_REC.industry_attribute3             := FND_API.G_MISS_CHAR;
5271     G_MISS_LINE_REC.industry_attribute4             := FND_API.G_MISS_CHAR;
5272     G_MISS_LINE_REC.industry_attribute5             := FND_API.G_MISS_CHAR;
5273     G_MISS_LINE_REC.industry_attribute6             := FND_API.G_MISS_CHAR;
5274     G_MISS_LINE_REC.industry_attribute7             := FND_API.G_MISS_CHAR;
5275     G_MISS_LINE_REC.industry_attribute8             := FND_API.G_MISS_CHAR;
5276     G_MISS_LINE_REC.industry_attribute9             := FND_API.G_MISS_CHAR;
5277     G_MISS_LINE_REC.industry_context                := FND_API.G_MISS_CHAR;
5278     G_MISS_LINE_REC.TP_CONTEXT                      := FND_API.G_MISS_CHAR;
5279     G_MISS_LINE_REC.TP_ATTRIBUTE1                   := FND_API.G_MISS_CHAR;
5280     G_MISS_LINE_REC.TP_ATTRIBUTE2                   := FND_API.G_MISS_CHAR;
5281     G_MISS_LINE_REC.TP_ATTRIBUTE3                   := FND_API.G_MISS_CHAR;
5282     G_MISS_LINE_REC.TP_ATTRIBUTE4                   := FND_API.G_MISS_CHAR;
5283     G_MISS_LINE_REC.TP_ATTRIBUTE5                   := FND_API.G_MISS_CHAR;
5284     G_MISS_LINE_REC.TP_ATTRIBUTE6                   := FND_API.G_MISS_CHAR;
5285     G_MISS_LINE_REC.TP_ATTRIBUTE7                   := FND_API.G_MISS_CHAR;
5286     G_MISS_LINE_REC.TP_ATTRIBUTE8                   := FND_API.G_MISS_CHAR;
5287     G_MISS_LINE_REC.TP_ATTRIBUTE9                   := FND_API.G_MISS_CHAR;
5288     G_MISS_LINE_REC.TP_ATTRIBUTE10                  := FND_API.G_MISS_CHAR;
5289     G_MISS_LINE_REC.TP_ATTRIBUTE11                  := FND_API.G_MISS_CHAR;
5290     G_MISS_LINE_REC.TP_ATTRIBUTE12                  := FND_API.G_MISS_CHAR;
5291     G_MISS_LINE_REC.TP_ATTRIBUTE13                  := FND_API.G_MISS_CHAR;
5292     G_MISS_LINE_REC.TP_ATTRIBUTE14                  := FND_API.G_MISS_CHAR;
5293     G_MISS_LINE_REC.TP_ATTRIBUTE15                  := FND_API.G_MISS_CHAR;
5294     G_MISS_LINE_REC.intermed_ship_to_org_id         := FND_API.G_MISS_NUM;
5295     G_MISS_LINE_REC.intermed_ship_to_contact_id     := FND_API.G_MISS_NUM;
5296     G_MISS_LINE_REC.inventory_item_id               := FND_API.G_MISS_NUM;
5297     G_MISS_LINE_REC.invoice_interface_status_code   := FND_API.G_MISS_CHAR;
5298     G_MISS_LINE_REC.invoice_to_contact_id           := FND_API.G_MISS_NUM;
5299     G_MISS_LINE_REC.invoice_to_org_id               := FND_API.G_MISS_NUM;
5300     G_MISS_LINE_REC.invoicing_rule_id               := FND_API.G_MISS_NUM;
5301     G_MISS_LINE_REC.ordered_item                    := FND_API.G_MISS_CHAR;
5302     G_MISS_LINE_REC.item_revision                   := FND_API.G_MISS_CHAR;
5303     G_MISS_LINE_REC.item_type_code                  := FND_API.G_MISS_CHAR;
5304     G_MISS_LINE_REC.last_updated_by                 := FND_API.G_MISS_NUM;
5305     G_MISS_LINE_REC.last_update_date                := FND_API.G_MISS_DATE;
5306     G_MISS_LINE_REC.last_update_login               := FND_API.G_MISS_NUM;
5307     G_MISS_LINE_REC.latest_acceptable_date          := FND_API.G_MISS_DATE;
5308     G_MISS_LINE_REC.line_category_code              := FND_API.G_MISS_CHAR;
5309     G_MISS_LINE_REC.line_id                         := FND_API.G_MISS_NUM;
5310     G_MISS_LINE_REC.line_number                     := FND_API.G_MISS_NUM;
5311     G_MISS_LINE_REC.line_type_id                    := FND_API.G_MISS_NUM;
5312     G_MISS_LINE_REC.link_to_line_ref                := FND_API.G_MISS_CHAR;
5313     G_MISS_LINE_REC.link_to_line_id                 := FND_API.G_MISS_NUM;
5314     G_MISS_LINE_REC.link_to_line_index              := FND_API.G_MISS_NUM;
5315     G_MISS_LINE_REC.model_group_number              := FND_API.G_MISS_NUM;
5316     G_MISS_LINE_REC.mfg_component_sequence_id       := FND_API.G_MISS_NUM;
5317     G_MISS_LINE_REC.open_flag                       := FND_API.G_MISS_CHAR;
5318     G_MISS_LINE_REC.option_flag                     := FND_API.G_MISS_CHAR;
5319     G_MISS_LINE_REC.option_number                   := FND_API.G_MISS_NUM;
5320     G_MISS_LINE_REC.ordered_quantity                := FND_API.G_MISS_NUM;
5321     G_MISS_LINE_REC.ordered_quantity2               := FND_API.G_MISS_NUM;
5322     G_MISS_LINE_REC.order_quantity_uom              := FND_API.G_MISS_CHAR;
5323     G_MISS_LINE_REC.ordered_quantity_uom2           := FND_API.G_MISS_CHAR;
5324     G_MISS_LINE_REC.org_id                          := FND_API.G_MISS_NUM;
5325     G_MISS_LINE_REC.orig_sys_document_ref           := FND_API.G_MISS_CHAR;
5326     G_MISS_LINE_REC.orig_sys_line_ref               := FND_API.G_MISS_CHAR;
5327     G_MISS_LINE_REC.over_ship_reason_code	        := FND_API.G_MISS_CHAR;
5328     G_MISS_LINE_REC.over_ship_resolved_flag	        := FND_API.G_MISS_CHAR;
5329     G_MISS_LINE_REC.payment_term_id                 := FND_API.G_MISS_NUM;
5330     G_MISS_LINE_REC.planning_priority               := FND_API.G_MISS_NUM;
5331     G_MISS_LINE_REC.preferred_grade                 := FND_API.G_MISS_CHAR;
5332     G_MISS_LINE_REC.price_list_id                   := FND_API.G_MISS_NUM;
5333     G_MISS_LINE_REC.pricing_attribute1              := FND_API.G_MISS_CHAR;
5334     G_MISS_LINE_REC.pricing_attribute10             := FND_API.G_MISS_CHAR;
5335     G_MISS_LINE_REC.pricing_attribute2              := FND_API.G_MISS_CHAR;
5336     G_MISS_LINE_REC.pricing_attribute3              := FND_API.G_MISS_CHAR;
5337     G_MISS_LINE_REC.pricing_attribute4              := FND_API.G_MISS_CHAR;
5338     G_MISS_LINE_REC.pricing_attribute5              := FND_API.G_MISS_CHAR;
5339     G_MISS_LINE_REC.pricing_attribute6              := FND_API.G_MISS_CHAR;
5340     G_MISS_LINE_REC.pricing_attribute7              := FND_API.G_MISS_CHAR;
5341     G_MISS_LINE_REC.pricing_attribute8              := FND_API.G_MISS_CHAR;
5342     G_MISS_LINE_REC.pricing_attribute9              := FND_API.G_MISS_CHAR;
5343     G_MISS_LINE_REC.pricing_context                 := FND_API.G_MISS_CHAR;
5344     G_MISS_LINE_REC.pricing_date		            := FND_API.G_MISS_DATE;
5345     G_MISS_LINE_REC.pricing_quantity                := FND_API.G_MISS_NUM;
5346     G_MISS_LINE_REC.pricing_quantity_uom            := FND_API.G_MISS_CHAR;
5347     G_MISS_LINE_REC.program_application_id          := FND_API.G_MISS_NUM;
5348     G_MISS_LINE_REC.program_id                      := FND_API.G_MISS_NUM;
5349     G_MISS_LINE_REC.program_update_date             := FND_API.G_MISS_DATE;
5350     G_MISS_LINE_REC.project_id                      := FND_API.G_MISS_NUM;
5351     G_MISS_LINE_REC.promise_date                    := FND_API.G_MISS_DATE;
5352     G_MISS_LINE_REC.re_source_flag                  := FND_API.G_MISS_CHAR;
5353     G_MISS_LINE_REC.reference_customer_trx_line_id  := FND_API.G_MISS_NUM;
5354     G_MISS_LINE_REC.reference_header_id             := FND_API.G_MISS_NUM;
5355     G_MISS_LINE_REC.reference_line_id               := FND_API.G_MISS_NUM;
5356     G_MISS_LINE_REC.reference_type                  := FND_API.G_MISS_CHAR;
5357     G_MISS_LINE_REC.request_date                    := FND_API.G_MISS_DATE;
5358     G_MISS_LINE_REC.request_id                      := FND_API.G_MISS_NUM;
5359     G_MISS_LINE_REC.reserved_quantity               := FND_API.G_MISS_NUM;
5360     G_MISS_LINE_REC.return_attribute1               := FND_API.G_MISS_CHAR;
5361     G_MISS_LINE_REC.return_attribute10              := FND_API.G_MISS_CHAR;
5362     G_MISS_LINE_REC.return_attribute11              := FND_API.G_MISS_CHAR;
5363     G_MISS_LINE_REC.return_attribute12              := FND_API.G_MISS_CHAR;
5364     G_MISS_LINE_REC.return_attribute13              := FND_API.G_MISS_CHAR;
5365     G_MISS_LINE_REC.return_attribute14              := FND_API.G_MISS_CHAR;
5366     G_MISS_LINE_REC.return_attribute15              := FND_API.G_MISS_CHAR;
5367     G_MISS_LINE_REC.return_attribute2               := FND_API.G_MISS_CHAR;
5368     G_MISS_LINE_REC.return_attribute3               := FND_API.G_MISS_CHAR;
5369     G_MISS_LINE_REC.return_attribute4               := FND_API.G_MISS_CHAR;
5370     G_MISS_LINE_REC.return_attribute5               := FND_API.G_MISS_CHAR;
5371     G_MISS_LINE_REC.return_attribute6               := FND_API.G_MISS_CHAR;
5372     G_MISS_LINE_REC.return_attribute7               := FND_API.G_MISS_CHAR;
5373     G_MISS_LINE_REC.return_attribute8               := FND_API.G_MISS_CHAR;
5374     G_MISS_LINE_REC.return_attribute9               := FND_API.G_MISS_CHAR;
5375     G_MISS_LINE_REC.return_context                  := FND_API.G_MISS_CHAR;
5376     G_MISS_LINE_REC.return_reason_code		        := FND_API.G_MISS_CHAR;
5377     G_MISS_LINE_REC.rla_schedule_type_code          := FND_API.G_MISS_CHAR;
5378     G_MISS_LINE_REC.salesrep_id	 	                := FND_API.G_MISS_NUM;
5379     G_MISS_LINE_REC.schedule_arrival_date           := FND_API.G_MISS_DATE;
5380     G_MISS_LINE_REC.schedule_ship_date              := FND_API.G_MISS_DATE;
5381     G_MISS_LINE_REC.schedule_action_code            := FND_API.G_MISS_CHAR;
5382     G_MISS_LINE_REC.schedule_status_code            := FND_API.G_MISS_CHAR;
5383     G_MISS_LINE_REC.shipment_number                 := FND_API.G_MISS_NUM;
5384     G_MISS_LINE_REC.shipment_priority_code          := FND_API.G_MISS_CHAR;
5385     G_MISS_LINE_REC.shipped_quantity                := FND_API.G_MISS_NUM;
5386     G_MISS_LINE_REC.shipped_quantity2               := FND_API.G_MISS_NUM;
5387     G_MISS_LINE_REC.shipping_interfaced_flag        := FND_API.G_MISS_CHAR;
5388     G_MISS_LINE_REC.shipping_method_code            := FND_API.G_MISS_CHAR;
5389     G_MISS_LINE_REC.shipping_quantity               := FND_API.G_MISS_NUM;
5390     G_MISS_LINE_REC.shipping_quantity2              := FND_API.G_MISS_NUM;
5391     G_MISS_LINE_REC.shipping_quantity_uom           := FND_API.G_MISS_CHAR;
5392     G_MISS_LINE_REC.shipping_quantity_uom2          := FND_API.G_MISS_CHAR;
5393     G_MISS_LINE_REC.ship_from_org_id                := FND_API.G_MISS_NUM;
5394     G_MISS_LINE_REC.ship_model_complete_flag        := FND_API.G_MISS_CHAR;
5395     G_MISS_LINE_REC.ship_set_id                     := FND_API.G_MISS_NUM;
5396     G_MISS_LINE_REC.fulfillment_set_id              := FND_API.G_MISS_NUM;
5397     G_MISS_LINE_REC.ship_tolerance_above            := FND_API.G_MISS_NUM;
5398     G_MISS_LINE_REC.ship_tolerance_below            := FND_API.G_MISS_NUM;
5399     G_MISS_LINE_REC.ship_to_contact_id              := FND_API.G_MISS_NUM;
5400     G_MISS_LINE_REC.ship_to_org_id                  := FND_API.G_MISS_NUM;
5401     G_MISS_LINE_REC.sold_to_org_id                  := FND_API.G_MISS_NUM;
5402     G_MISS_LINE_REC.sold_from_org_id                := FND_API.G_MISS_NUM;
5403     G_MISS_LINE_REC.sort_order                      := FND_API.G_MISS_CHAR;
5404     G_MISS_LINE_REC.source_document_id              := FND_API.G_MISS_NUM;
5405     G_MISS_LINE_REC.source_document_line_id         := FND_API.G_MISS_NUM;
5406     G_MISS_LINE_REC.source_document_type_id         := FND_API.G_MISS_NUM;
5407     G_MISS_LINE_REC.source_type_code                := FND_API.G_MISS_CHAR;
5408     G_MISS_LINE_REC.split_from_line_id              := FND_API.G_MISS_NUM;
5409     G_MISS_LINE_REC.task_id                         := FND_API.G_MISS_NUM;
5410     G_MISS_LINE_REC.tax_code                        := FND_API.G_MISS_CHAR;
5411     G_MISS_LINE_REC.tax_date                        := FND_API.G_MISS_DATE;
5412     G_MISS_LINE_REC.tax_exempt_flag                 := FND_API.G_MISS_CHAR;
5413     G_MISS_LINE_REC.tax_exempt_number               := FND_API.G_MISS_CHAR;
5414     G_MISS_LINE_REC.tax_exempt_reason_code          := FND_API.G_MISS_CHAR;
5415     G_MISS_LINE_REC.tax_point_code                  := FND_API.G_MISS_CHAR;
5416     G_MISS_LINE_REC.tax_rate                        := FND_API.G_MISS_NUM;
5417     G_MISS_LINE_REC.tax_value                       := FND_API.G_MISS_NUM;
5418     G_MISS_LINE_REC.top_model_line_ref              := FND_API.G_MISS_CHAR;
5419     G_MISS_LINE_REC.top_model_line_id               := FND_API.G_MISS_NUM;
5420     G_MISS_LINE_REC.top_model_line_index            := FND_API.G_MISS_NUM;
5421     G_MISS_LINE_REC.unit_list_price                 := FND_API.G_MISS_NUM;
5422     G_MISS_LINE_REC.unit_list_price_per_pqty        := FND_API.G_MISS_NUM;
5423     G_MISS_LINE_REC.unit_selling_price              := FND_API.G_MISS_NUM;
5424     G_MISS_LINE_REC.unit_selling_price_per_pqty     := FND_API.G_MISS_NUM;
5425     G_MISS_LINE_REC.veh_cus_item_cum_key_id         := FND_API.G_MISS_NUM;
5426     G_MISS_LINE_REC.visible_demand_flag             := FND_API.G_MISS_CHAR;
5427     G_MISS_LINE_REC.return_status                   := FND_API.G_MISS_CHAR;
5428     G_MISS_LINE_REC.db_flag                         := FND_API.G_MISS_CHAR;
5429     G_MISS_LINE_REC.operation                       := FND_API.G_MISS_CHAR;
5430     G_MISS_LINE_REC.first_ack_code                  := FND_API.G_MISS_CHAR;
5431     G_MISS_LINE_REC.first_ack_date                  := FND_API.G_MISS_DATE;
5432     G_MISS_LINE_REC.last_ack_code                   := FND_API.G_MISS_CHAR;
5433     G_MISS_LINE_REC.last_ack_date                   := FND_API.G_MISS_DATE;
5434     G_MISS_LINE_REC.change_reason                   := FND_API.G_MISS_CHAR;
5435     G_MISS_LINE_REC.change_comments                 := FND_API.G_MISS_CHAR;
5436     G_MISS_LINE_REC.arrival_set	                    := FND_API.G_MISS_CHAR;
5437     G_MISS_LINE_REC.ship_set			            := FND_API.G_MISS_CHAR;
5438     G_MISS_LINE_REC.fulfillment_set	                := FND_API.G_MISS_CHAR;
5439     G_MISS_LINE_REC.order_source_id                 := FND_API.G_MISS_NUM;
5440     G_MISS_LINE_REC.orig_sys_shipment_ref	        := FND_API.G_MISS_CHAR;
5441     G_MISS_LINE_REC.change_sequence	  	            := FND_API.G_MISS_CHAR;
5442     G_MISS_LINE_REC.change_request_code	            := FND_API.G_MISS_CHAR;
5443     G_MISS_LINE_REC.status_flag		                := FND_API.G_MISS_CHAR;
5444     G_MISS_LINE_REC.drop_ship_flag		            := FND_API.G_MISS_CHAR;
5445     G_MISS_LINE_REC.customer_line_number            := FND_API.G_MISS_CHAR;
5446     G_MISS_LINE_REC.customer_shipment_number	    := FND_API.G_MISS_CHAR;
5447     G_MISS_LINE_REC.customer_item_net_price	        := FND_API.G_MISS_NUM;
5448     G_MISS_LINE_REC.customer_payment_term_id	    := FND_API.G_MISS_NUM;
5449     G_MISS_LINE_REC.ordered_item_id                 := FND_API.G_MISS_NUM;
5450     G_MISS_LINE_REC.item_identifier_type            := FND_API.G_MISS_CHAR;
5451     G_MISS_LINE_REC.shipping_instructions	        := FND_API.G_MISS_CHAR;
5452     G_MISS_LINE_REC.packing_instructions            := FND_API.G_MISS_CHAR;
5453     G_MISS_LINE_REC.calculate_price_flag            := FND_API.G_MISS_CHAR;
5454     G_MISS_LINE_REC.invoiced_quantity               := FND_API.G_MISS_NUM;
5455     G_MISS_LINE_REC.service_txn_reason_code         := FND_API.G_MISS_CHAR;
5456     G_MISS_LINE_REC.service_txn_comments            := FND_API.G_MISS_CHAR;
5457     G_MISS_LINE_REC.service_duration                := FND_API.G_MISS_NUM;
5458     G_MISS_LINE_REC.service_period                  := FND_API.G_MISS_CHAR;
5459     G_MISS_LINE_REC.service_start_date		        := FND_API.G_MISS_DATE;
5460     G_MISS_LINE_REC.service_end_date                := FND_API.G_MISS_DATE;
5461     G_MISS_LINE_REC.service_coterminate_flag        := FND_API.G_MISS_CHAR;
5462     G_MISS_LINE_REC.unit_list_percent               := FND_API.G_MISS_NUM;
5463     G_MISS_LINE_REC.unit_selling_percent            := FND_API.G_MISS_NUM;
5464     G_MISS_LINE_REC.unit_percent_base_price         := FND_API.G_MISS_NUM;
5465     G_MISS_LINE_REC.service_number                  := FND_API.G_MISS_NUM;
5466     G_MISS_LINE_REC.service_reference_type_code     := FND_API.G_MISS_CHAR;
5467     G_MISS_LINE_REC.service_reference_line_id       := FND_API.G_MISS_NUM;
5468     G_MISS_LINE_REC.service_reference_system_id     := FND_API.G_MISS_NUM;
5469     G_MISS_LINE_REC.service_line_index              := FND_API.G_MISS_NUM;
5470     G_MISS_LINE_REC.Line_set_id	                    := FND_API.G_MISS_NUM;
5471     G_MISS_LINE_REC.split_by                        := FND_API.G_MISS_CHAR;
5472     G_MISS_LINE_REC.Split_Action_Code               := FND_API.G_MISS_CHAR;
5473     G_MISS_LINE_REC.shippable_flag		            := FND_API.G_MISS_CHAR;
5474     G_MISS_LINE_REC.model_remnant_flag		        := FND_API.G_MISS_CHAR;
5475     G_MISS_LINE_REC.flow_status_code                := 'ENTERED';
5476     G_MISS_LINE_REC.fulfilled_flag                  := FND_API.G_MISS_CHAR;
5477     G_MISS_LINE_REC.fulfillment_method_code         := FND_API.G_MISS_CHAR;
5478     G_MISS_LINE_REC.revenue_amount    		        := FND_API.G_MISS_NUM;
5479     G_MISS_LINE_REC.marketing_source_code_id        := FND_API.G_MISS_NUM;
5480     G_MISS_LINE_REC.fulfillment_date		        := FND_API.G_MISS_DATE;
5481     G_MISS_LINE_REC.semi_processed_flag	            := FALSE;
5482     G_MISS_LINE_REC.upgraded_flag                   := FND_API.G_MISS_CHAR;
5483     G_MISS_LINE_REC.subinventory                    := FND_API.G_MISS_CHAR;
5484     G_MISS_LINE_REC.Original_Inventory_Item_Id      := FND_API.G_MISS_NUM;
5485     G_MISS_LINE_REC.Original_item_identifier_Type   := FND_API.G_MISS_CHAR;
5486     G_MISS_LINE_REC.Original_ordered_item_id        := FND_API.G_MISS_NUM;
5487     G_MISS_LINE_REC.Original_ordered_item           := FND_API.G_MISS_CHAR;
5488     G_MISS_LINE_REC.item_relationship_type          := FND_API.G_MISS_NUM;
5489     G_MISS_LINE_REC.Item_substitution_type_code     := FND_API.G_MISS_CHAR;
5490     G_MISS_LINE_REC.Late_Demand_Penalty_Factor      := FND_API.G_MISS_NUM;
5491     G_MISS_LINE_REC.Override_atp_date_code          := FND_API.G_MISS_CHAR;
5492     G_MISS_LINE_REC.ship_to_customer_id             := FND_API.G_MISS_NUM;
5493     G_MISS_LINE_REC.invoice_to_customer_id          := FND_API.G_MISS_NUM;
5494     G_MISS_LINE_REC.deliver_to_customer_id          := FND_API.G_MISS_NUM;
5495     G_MISS_LINE_REC.user_item_description           := FND_API.G_MISS_CHAR;
5496     G_MISS_LINE_REC.Blanket_Number                  := FND_API.G_MISS_NUM;
5497     G_MISS_LINE_REC.Blanket_Line_Number             := FND_API.G_MISS_NUM;
5498     G_MISS_LINE_REC.Blanket_Version_Number          := FND_API.G_MISS_NUM;
5499     G_MISS_LINE_REC.Minisite_Id                     := FND_API.G_MISS_NUM;
5500     G_MISS_LINE_REC.IB_OWNER                        := FND_API.G_MISS_CHAR;
5501     G_MISS_LINE_REC.IB_INSTALLED_AT_LOCATION        := FND_API.G_MISS_CHAR;
5502     G_MISS_LINE_REC.IB_CURRENT_LOCATION             := FND_API.G_MISS_CHAR;
5503     G_MISS_LINE_REC.END_CUSTOMER_ID                 := FND_API.G_MISS_NUM;
5504     G_MISS_LINE_REC.END_CUSTOMER_CONTACT_ID         := FND_API.G_MISS_NUM;
5505     G_MISS_LINE_REC.END_CUSTOMER_SITE_USE_ID        := FND_API.G_MISS_NUM;
5506     G_MISS_LINE_REC.SUPPLIER_SIGNATURE              := FND_API.G_MISS_CHAR;
5507     G_MISS_LINE_REC.SUPPLIER_SIGNATURE_DATE         := FND_API.G_MISS_DATE;
5508     G_MISS_LINE_REC.CUSTOMER_SIGNATURE              := FND_API.G_MISS_CHAR;
5509     G_MISS_LINE_REC.CUSTOMER_SIGNATURE_DATE         := FND_API.G_MISS_DATE;
5510     G_MISS_LINE_REC.unit_cost                       := FND_API.G_MISS_NUM;
5511     G_MISS_LINE_REC.transaction_phase_code          := FND_API.G_MISS_CHAR;
5512     G_MISS_LINE_REC.source_document_version_number  := FND_API.G_MISS_NUM;
5513     G_MISS_LINE_REC.retrobill_request_id            := FND_API.G_MISS_NUM;
5514     G_MISS_LINE_REC.original_list_price             := FND_API.G_MISS_NUM;
5515     G_MISS_LINE_REC.IB_owner                        := FND_API.G_MISS_CHAR;
5516     G_MISS_LINE_REC.IB_installed_at_location        := FND_API.G_MISS_CHAR;
5517     G_MISS_LINE_REC.IB_current_location             := FND_API.G_MISS_CHAR;
5518     G_MISS_LINE_REC.end_customer_id                 := FND_API.G_MISS_NUM;
5519     G_MISS_LINE_REC.end_customer_contact_id         := FND_API.G_MISS_NUM;
5520     G_MISS_LINE_REC.end_customer_site_use_id        := FND_API.G_MISS_NUM;
5521     G_MISS_LINE_REC.firm_demand_flag                := FND_API.G_MISS_CHAR;
5522     G_MISS_LINE_REC.order_firmed_date  	            := FND_API.G_MISS_DATE;
5523     G_MISS_LINE_REC.actual_fulfillment_date         := FND_API.G_MISS_DATE;
5524     G_MISS_LINE_REC.charge_periodicity_code         := FND_API.G_MISS_CHAR;
5525     G_MISS_LINE_REC.CONTINGENCY_ID  	            := FND_API.G_MISS_NUM;
5526     G_MISS_LINE_REC.REVREC_EVENT_CODE	            := FND_API.G_MISS_CHAR;
5527     G_MISS_LINE_REC.REVREC_EXPIRATION_DAYS	        := FND_API.G_MISS_NUM;
5528     G_MISS_LINE_REC.ACCEPTED_QUANTITY	            := FND_API.G_MISS_NUM;
5529     G_MISS_LINE_REC.REVREC_COMMENTS	                := FND_API.G_MISS_CHAR;
5530     G_MISS_LINE_REC.REVREC_SIGNATURE	            := FND_API.G_MISS_CHAR;
5531     G_MISS_LINE_REC.REVREC_SIGNATURE_DATE	        := FND_API.G_MISS_DATE;
5532     G_MISS_LINE_REC.ACCEPTED_BY 	                := FND_API.G_MISS_NUM;
5533     G_MISS_LINE_REC.REVREC_REFERENCE_DOCUMENT       := FND_API.G_MISS_CHAR;
5534     G_MISS_LINE_REC.REVREC_IMPLICIT_FLAG 	        := FND_API.G_MISS_CHAR;
5535     G_MISS_LINE_REC.mfg_lead_time                   := FND_API.G_MISS_NUM;
5536 
5537 
5538 END OE_Order_PUB;