DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_ORDER_PUB

Source


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