DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSI_CUSTOMER_PRODUCTS_PKG

Source


1 PACKAGE BODY CSI_CUSTOMER_PRODUCTS_PKG AS
2 /*$Header: CSIXCPTB.pls 115.10 2003/02/07 23:47:53 rmamidip noship $*/
3 -- Procedure to convert Customer Products parameters to RecordType
4 FUNCTION Get_Txn_Type RETURN NUMBER IS
5 
6  l_Txn_Type_Id NUMBER;
7  CURSOR Txn_Cur IS
8         SELECT Transaction_Type_ID
9         FROM   CSI_Txn_Types
10         WHERE  Source_Transaction_Type = 'IB_UI';
11 BEGIN
12 
13   OPEN Txn_Cur;
14   FETCH Txn_Cur INTO l_Txn_Type_Id;
15   CLOSE Txn_Cur;
16 
17   RETURN l_Txn_Type_Id;
18 
19 END Get_Txn_Type;
20 
21 PROCEDURE Convert_Cp_Prod_Param_To_Rec(
22   P_CUSTOMER_PRODUCT_ID               IN NUMBER   := FND_API.G_MISS_NUM,
23   P_CUSTOMER_ID                       IN NUMBER   := FND_API.G_MISS_NUM,
24   P_INVENTORY_ITEM_ID                 IN NUMBER   := FND_API.G_MISS_NUM,
25   P_CUSTOMER_PRODUCT_STATUS_ID        IN NUMBER   := FND_API.G_MISS_NUM,
26   P_INSTANCE_PARTY_ID                 IN NUMBER   := FND_API.G_MISS_NUM,
27   P_IP_ACCOUNT_ID                     IN NUMBER   := FND_API.G_MISS_NUM,
28   P_PRICING_ATTRIBUTE_ID              IN NUMBER   := FND_API.G_MISS_NUM,
29   P_RELATIONSHIP_ID                   IN NUMBER   := FND_API.G_MISS_NUM,
30   P_START_DATE_ACTIVE                 IN DATE     := FND_API.G_MISS_DATE,
31   P_END_DATE_ACTIVE                   IN DATE     := FND_API.G_MISS_DATE,
32   P_ORIGINAL_ORDER_LINE_ID            IN NUMBER   := FND_API.G_MISS_NUM,
33   P_ORIGINAL_LINE_SERV_DETAIL_ID      IN NUMBER	  := FND_API.G_MISS_NUM,
34   P_RETURN_BY_DATE                    IN DATE	  := FND_API.G_MISS_DATE,
35   P_RMA_LINE_ID                       IN NUMBER	  := FND_API.G_MISS_NUM,
36   P_ACTUAL_RETURNED_DATE              IN DATE	  := FND_API.G_MISS_DATE,
37   P_QUANTITY                          IN NUMBER	  := FND_API.G_MISS_NUM,
38   P_UNIT_OF_MEASURE_CODE              IN VARCHAR2 := FND_API.G_MISS_CHAR,
39   P_DELIVERED_FLAG                    IN VARCHAR2 := FND_API.G_MISS_CHAR,
40   P_SHIPPED_FLAG                      IN VARCHAR2 := FND_API.G_MISS_CHAR,
41   P_TYPE_CODE                         IN VARCHAR2 := FND_API.G_MISS_CHAR,
42   P_SYSTEM_ID                         IN NUMBER	  := FND_API.G_MISS_NUM,
43   P_PRODUCT_AGREEMENT_ID              IN NUMBER	  := FND_API.G_MISS_NUM,
44   P_SHIP_TO_SITE_USE_ID               IN NUMBER	  := FND_API.G_MISS_NUM,
45   P_BILL_TO_SITE_USE_ID               IN NUMBER	  := FND_API.G_MISS_NUM,
46   P_INSTALL_SITE_USE_ID               IN NUMBER	  := FND_API.G_MISS_NUM,
47   P_INSTALLATION_DATE                 IN DATE	  := FND_API.G_MISS_DATE,
48   P_CONFIG_TYPE                       IN VARCHAR2 := FND_API.G_MISS_CHAR,
49   P_CONFIG_START_DATE                 IN DATE     := FND_API.G_MISS_DATE,
50   P_CONFIG_PARENT_ID                  IN NUMBER	  := FND_API.G_MISS_NUM,
51   P_PROJECT_ID                        IN NUMBER	  := FND_API.G_MISS_NUM,
52   P_TASK_ID                           IN NUMBER	  := FND_API.G_MISS_NUM,
53   P_PLATFORM_VERSION_ID		          IN NUMBER   := FND_API.G_MISS_NUM,
54   P_MERCHANT_VIEW_FLAG		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
55   P_CUSTOMER_VIEW_FLAG		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
56   P_CURRENT_SERIAL_NUMBER             IN VARCHAR2 := FND_API.G_MISS_CHAR,
57   P_REVISION			              IN VARCHAR2 := FND_API.G_MISS_CHAR,
58   P_LOT_NUMBER                        IN VARCHAR2 := FND_API.G_MISS_CHAR,
59   P_ATTRIBUTE1                        IN VARCHAR2 := FND_API.G_MISS_CHAR,
60   P_ATTRIBUTE2                        IN VARCHAR2 := FND_API.G_MISS_CHAR,
61   P_ATTRIBUTE3                        IN VARCHAR2 := FND_API.G_MISS_CHAR,
62   P_ATTRIBUTE4                        IN VARCHAR2 := FND_API.G_MISS_CHAR,
63   P_ATTRIBUTE5                        IN VARCHAR2 := FND_API.G_MISS_CHAR,
64   P_ATTRIBUTE6                        IN VARCHAR2 := FND_API.G_MISS_CHAR,
65   P_ATTRIBUTE7                        IN VARCHAR2 := FND_API.G_MISS_CHAR,
66   P_ATTRIBUTE8                        IN VARCHAR2 := FND_API.G_MISS_CHAR,
67   P_ATTRIBUTE9                        IN VARCHAR2 := FND_API.G_MISS_CHAR,
68   P_ATTRIBUTE10                       IN VARCHAR2 := FND_API.G_MISS_CHAR,
69   P_ATTRIBUTE11                       IN VARCHAR2 := FND_API.G_MISS_CHAR,
70   P_ATTRIBUTE12                       IN VARCHAR2 := FND_API.G_MISS_CHAR,
71   P_ATTRIBUTE13                       IN VARCHAR2 := FND_API.G_MISS_CHAR,
72   P_ATTRIBUTE14                       IN VARCHAR2 := FND_API.G_MISS_CHAR,
73   P_ATTRIBUTE15                       IN VARCHAR2 := FND_API.G_MISS_CHAR,
74   P_CONTEXT                           IN VARCHAR2 := FND_API.G_MISS_CHAR,
75   p_PRICING_CONTEXT	  	              IN VARCHAR2 := FND_API.G_MISS_CHAR,
76   p_PRICING_ATTRIBUTE1		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
77   p_PRICING_ATTRIBUTE2		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
78   p_PRICING_ATTRIBUTE3		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
79   p_PRICING_ATTRIBUTE4		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
80   p_PRICING_ATTRIBUTE5		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
81   p_PRICING_ATTRIBUTE6		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
82   p_PRICING_ATTRIBUTE7		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
83   p_PRICING_ATTRIBUTE8		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
84   p_PRICING_ATTRIBUTE9		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
85   p_PRICING_ATTRIBUTE10		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
86   p_PRICING_ATTRIBUTE11		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
87   p_PRICING_ATTRIBUTE12		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
88   p_PRICING_ATTRIBUTE13		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
89   p_PRICING_ATTRIBUTE14		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
90   p_PRICING_ATTRIBUTE15		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
91   p_PRICING_ATTRIBUTE16		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
92   p_PRICING_ATTRIBUTE17		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
93   p_PRICING_ATTRIBUTE18		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
97   p_PRICING_ATTRIBUTE22		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
94   p_PRICING_ATTRIBUTE19		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
95   p_PRICING_ATTRIBUTE20		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
96   p_PRICING_ATTRIBUTE21		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
98   p_PRICING_ATTRIBUTE23		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
99   p_PRICING_ATTRIBUTE24		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
100   p_PRICING_ATTRIBUTE25		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
101   p_PRICING_ATTRIBUTE26		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
102   p_PRICING_ATTRIBUTE27		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
103   p_PRICING_ATTRIBUTE28		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
104   p_PRICING_ATTRIBUTE29		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
105   p_PRICING_ATTRIBUTE30		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
106   p_PRICING_ATTRIBUTE31		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
107   p_PRICING_ATTRIBUTE32		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
108   p_PRICING_ATTRIBUTE33		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
109   p_PRICING_ATTRIBUTE34		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
110   p_PRICING_ATTRIBUTE35		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
111   p_PRICING_ATTRIBUTE36		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
112   p_PRICING_ATTRIBUTE37		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
113   p_PRICING_ATTRIBUTE38		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
114   p_PRICING_ATTRIBUTE39		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
115   p_PRICING_ATTRIBUTE40		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
116   p_PRICING_ATTRIBUTE41		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
117   p_PRICING_ATTRIBUTE42		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
118   p_PRICING_ATTRIBUTE43		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
119   p_PRICING_ATTRIBUTE44		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
120   p_PRICING_ATTRIBUTE45		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
121   p_PRICING_ATTRIBUTE46		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
122   p_PRICING_ATTRIBUTE47		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
123   p_PRICING_ATTRIBUTE48		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
124   p_PRICING_ATTRIBUTE49		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
125   p_PRICING_ATTRIBUTE50		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
126   p_PRICING_ATTRIBUTE51		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
127   p_PRICING_ATTRIBUTE52		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
128   p_PRICING_ATTRIBUTE53		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
129   p_PRICING_ATTRIBUTE54		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
130   p_PRICING_ATTRIBUTE55		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
131   p_PRICING_ATTRIBUTE56		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
132   p_PRICING_ATTRIBUTE57		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
133   p_PRICING_ATTRIBUTE58		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
134   p_PRICING_ATTRIBUTE59		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
135   p_PRICING_ATTRIBUTE60		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
136   p_PRICING_ATTRIBUTE61		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
137   p_PRICING_ATTRIBUTE62		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
138   p_PRICING_ATTRIBUTE63		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
139   p_PRICING_ATTRIBUTE64		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
140   p_PRICING_ATTRIBUTE65		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
141   p_PRICING_ATTRIBUTE66		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
142   p_PRICING_ATTRIBUTE67		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
143   p_PRICING_ATTRIBUTE68		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
144   p_PRICING_ATTRIBUTE69		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
145   p_PRICING_ATTRIBUTE70		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
146   p_PRICING_ATTRIBUTE71		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
147   p_PRICING_ATTRIBUTE72		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
148   p_PRICING_ATTRIBUTE73		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
149   p_PRICING_ATTRIBUTE74		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
150   p_PRICING_ATTRIBUTE75		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
151   p_PRICING_ATTRIBUTE76		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
152   p_PRICING_ATTRIBUTE77		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
153   p_PRICING_ATTRIBUTE78		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
154   p_PRICING_ATTRIBUTE79		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
155   p_PRICING_ATTRIBUTE80		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
156   p_PRICING_ATTRIBUTE81		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
157   p_PRICING_ATTRIBUTE82		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
158   p_PRICING_ATTRIBUTE83		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
159   p_PRICING_ATTRIBUTE84		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
160   p_PRICING_ATTRIBUTE85		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
161   p_PRICING_ATTRIBUTE86		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
162   p_PRICING_ATTRIBUTE87		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
163   p_PRICING_ATTRIBUTE88		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
164   p_PRICING_ATTRIBUTE89		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
165   p_PRICING_ATTRIBUTE90		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
166   p_PRICING_ATTRIBUTE91		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
167   p_PRICING_ATTRIBUTE92		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
168   p_PRICING_ATTRIBUTE93		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
169   p_PRICING_ATTRIBUTE94		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
170   p_PRICING_ATTRIBUTE95		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
171   p_PRICING_ATTRIBUTE96		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
172   p_PRICING_ATTRIBUTE97		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
173   p_PRICING_ATTRIBUTE98		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
174   p_PRICING_ATTRIBUTE99		          IN VARCHAR2 := FND_API.G_MISS_CHAR,
175   p_PRICING_ATTRIBUTE100	          IN VARCHAR2 := FND_API.G_MISS_CHAR,
176   Px_CP_Object_Version_Number         IN OUT NOCOPY NUMBER, --   := FND_API.G_MISS_NUM,
180   p_form_mode                         IN VARCHAR2 := FND_API.G_MISS_CHAR,
177   Px_IP_Object_Version_Number         IN OUT NOCOPY NUMBER, --   := FND_API.G_MISS_NUM,
178   Px_IPA_Object_Version_Number        IN OUT NOCOPY NUMBER, --   := FND_API.G_MISS_NUM,
179   Px_PA_Object_Version_Number         IN OUT NOCOPY NUMBER, --   := FND_API.G_MISS_NUM,
181   p_block                             IN VARCHAR2 := FND_API.G_MISS_CHAR,
182   x_instance_rec                      OUT NOCOPY csi_datastructures_pub.instance_rec,
183   x_ext_attrib_values_tbl             OUT NOCOPY csi_datastructures_pub.extend_attrib_values_tbl,
184   x_party_tbl                         OUT NOCOPY csi_datastructures_pub.party_tbl,
185   x_party_account_tbl                 OUT NOCOPY csi_datastructures_pub.party_account_tbl,
186   x_pricing_attribs_tbl               OUT NOCOPY csi_datastructures_pub.pricing_attribs_tbl,
187   x_org_assignments_tbl               OUT NOCOPY csi_datastructures_pub.organization_units_tbl,
188   x_txn_rec                           OUT NOCOPY csi_datastructures_pub.transaction_rec,
189   x_asset_assignment_tbl              OUT NOCOPY csi_datastructures_pub.instance_asset_tbl,
190   x_ii_relationship_rec               OUT NOCOPY csi_datastructures_pub.ii_relationship_rec
191 ) IS
192 
193  CURSOR GET_IP_Account IS
194     SELECT ip_account_id
195       FROM csi_ip_accounts
196      WHERE party_account_id = p_customer_id
197        AND instance_party_id = (SELECT instance_party_id
198                                   FROM csi_i_parties
199                                  WHERE instance_id = p_customer_product_id
200                                    AND relationship_type_code = 'OWNER');
201 
202 BEGIN
203 
204 If p_block = 'ADDRESS' and nvl(p_form_mode,'!@#') = 'TRANSFER' Then
205 
206 --     csi_gen_utility_pvt.put_line('call Update Item instance for owner ship transfer');
207 
208      -- Parameters for Instance Rec
209      x_Instance_Rec.Instance_Id            := NVL(P_Customer_Product_Id,FND_API.G_MISS_NUM);
210      x_Instance_rec.System_Id              := NVL(P_SYSTEM_ID,FND_API.G_MISS_NUM);
211      x_Instance_Rec.Install_Location_Id    := NVL(P_INSTALL_SITE_USE_ID,FND_API.G_MISS_NUM);
212      x_Instance_Rec.Object_Version_Number  := Px_CP_Object_Version_Number;
213 
214      -- Parameters for Party and Party Account Tbl for Bill-TO and Ship-To
215      Begin
216        Select Party_id
217        Into   x_party_tbl(1).Party_Id
218        From   Hz_Cust_Accounts
219        Where  Cust_Account_Id = P_CUSTOMER_ID;
220      Exception
221        When Others Then
222             Null;
223      End;
224      x_party_tbl(1).Instance_Party_Id      := NVL(P_INSTANCE_PARTY_ID,FND_API.G_MISS_NUM);
225      x_party_tbl(1).Instance_Id            := NVL(P_Customer_Product_Id,FND_API.G_MISS_NUM);
226      x_party_tbl(1).Relationship_Type_Code := 'OWNER';
227 --     x_party_tbl(1).Party_Id               := NVL(P_CUSTOMER_ID,FND_API.G_MISS_NUM);
228      x_party_tbl(1).Object_Version_Number  := Px_IP_Object_Version_Number;
229 
230      x_Party_Account_Tbl(1).Parent_Tbl_Index  := 1;
231      x_Party_Account_Tbl(1).Instance_Party_Id := NVL(P_INSTANCE_PARTY_ID,FND_API.G_MISS_NUM);
232      x_Party_Account_Tbl(1).IP_Account_Id     := P_IP_Account_ID;
233      x_Party_Account_Tbl(1).Party_Account_Id  := NVL(P_CUSTOMER_ID,FND_API.G_MISS_NUM);
234      x_party_Account_Tbl(1).Relationship_Type_Code  := 'OWNER';
235      x_Party_Account_Tbl(1).ShiP_To_Address   := NVL(P_Ship_TO_SITE_USE_ID,FND_API.G_MISS_NUM);
236      x_Party_Account_Tbl(1).Bill_To_Address   := NVL(P_BILL_TO_SITE_USE_ID,FND_API.G_MISS_NUM);
237      x_Party_Account_Tbl(1).Object_Version_Number:= Px_IPA_Object_Version_Number;
238 
239 Elsif p_block = 'ADDRESS' and NVL(p_form_mode,'!@#') <> 'TRANSFER' Then
240 
241 --     csi_gen_utility_pvt.put_line('call only party update');
242 
243      -- Parameters for Instance Rec if Installed At Location is Updated
244      x_Instance_Rec.Instance_Id            := NVL(P_Customer_Product_Id,FND_API.G_MISS_NUM);
245      x_Instance_Rec.Install_Location_Id    := NVL(P_INSTALL_SITE_USE_ID,FND_API.G_MISS_NUM);
246      x_Instance_Rec.Object_Version_Number  := Px_CP_Object_Version_Number;
247 
248      -- Parameters for Party and Party Account Tbl for Bill-TO and Ship-To
249      x_party_tbl(1).Instance_Party_Id      := NVL(P_INSTANCE_PARTY_ID,FND_API.G_MISS_NUM);
250      x_party_tbl(1).Object_Version_Number  := Px_IP_Object_Version_Number;
251      x_party_tbl(1).Instance_Id            := NVL(P_Customer_Product_Id,FND_API.G_MISS_NUM);
252      x_party_tbl(1).Relationship_Type_Code := 'OWNER';
253 
254      x_Party_Account_Tbl(1).Parent_Tbl_Index := 1;
255      x_Party_Account_Tbl(1).Instance_Party_Id := NVL(P_INSTANCE_PARTY_ID,FND_API.G_MISS_NUM);
256      x_Party_Account_Tbl(1).IP_Account_Id:= P_IP_Account_ID;
257      x_Party_Account_Tbl(1).Object_Version_Number:= Px_IPA_Object_Version_Number;
258      x_Party_Account_Tbl(1).Party_Account_Id:= NVL(P_CUSTOMER_ID,FND_API.G_MISS_NUM);
259      x_Party_Account_Tbl(1).ShiP_To_Address := NVL(P_Ship_TO_SITE_USE_ID,FND_API.G_MISS_NUM);
260      x_Party_Account_Tbl(1).Bill_To_Address := NVL(P_BILL_TO_SITE_USE_ID,FND_API.G_MISS_NUM);
261 
262 Elsif p_block = 'PRODUCT' and nvl(p_form_mode,'!@#') <> 'TRANSFER' Then
263 
264      x_Instance_Rec.Instance_Id           := NVL(P_Customer_Product_Id,FND_API.G_MISS_NUM);
265      x_Instance_Rec.Install_Date          := NVL(P_INSTALLATION_DATE,FND_API.G_MISS_DATE);
266      x_Instance_Rec.Return_By_Date        := NVL(P_RETURN_BY_DATE,FND_API.G_MISS_DATE);
267      x_Instance_Rec.Actual_Return_Date    := NVL(P_Actual_RETURNED_DATE,FND_API.G_MISS_DATE);
268      x_Instance_Rec.Instance_Status_Id    := NVL(P_CUSTOMER_PRODUCT_STATUS_ID,FND_API.G_MISS_NUM);
269      x_Instance_Rec.Active_End_Date       := NVL(P_END_DATE_ACTIVE,FND_API.G_MISS_DATE);
270      x_Instance_Rec.Instance_Type_Code    := NVL(P_TYPE_CODE,FND_API.G_MISS_CHAR);
274 
271      x_Instance_Rec.Last_OE_Order_Line_ID := NVL(P_ORIGINAL_ORDER_LINE_ID,FND_API.G_MISS_NUM);
272      x_Instance_rec.System_Id             := NVL(P_SYSTEM_ID,FND_API.G_MISS_NUM);
273      x_Instance_Rec.Object_Version_Number := Px_CP_Object_Version_Number;
275      -- In case of Manually Created Flag = 'Y' the following fields are editable
276      x_Instance_Rec.Quantity              := NVL(P_Quantity,FND_API.G_MISS_NUM);
277      x_Instance_Rec.Serial_Number         := NVL(P_CURRENT_SERIAL_NUMBER,FND_API.G_MISS_CHAR);
278      x_Instance_Rec.Inventory_Revision    := NVL(P_REVISION,FND_API.G_MISS_CHAR);
279 
280 End If;
281 /*
282   x_Instance_Rec.Instance_Id := NVL(P_Customer_Product_Id,FND_API.G_MISS_NUM);
283   x_Instance_Rec.Object_Version_Number := Px_CP_Object_Version_Number;
284   x_Instance_Rec.Creation_complete_Flag := FND_API.G_FALSE;
285   x_Instance_Rec.Instance_Status_Id := NVL(P_CUSTOMER_PRODUCT_STATUS_ID,FND_API.G_MISS_NUM);
286   x_Instance_Rec.Inventory_Item_Id := NVL(P_INVENTORY_ITEM_ID,FND_API.G_MISS_NUM);
287   x_Instance_Rec.Active_Start_Date := NVL(P_START_DATE_ACTIVE,FND_API.G_MISS_DATE);
288   x_Instance_Rec.Active_End_Date := NVL(P_END_DATE_ACTIVE,FND_API.G_MISS_DATE);
289   x_Instance_Rec.Last_OE_Order_Line_Id := NVL(P_ORIGINAL_ORDER_LINE_ID,FND_API.G_MISS_NUM);
290   x_Instance_Rec.Return_By_Date := NVL(P_RETURN_BY_DATE,FND_API.G_MISS_DATE);
291   x_Instance_Rec.Actual_Return_Date := NVL(P_Actual_RETURNED_DATE,FND_API.G_MISS_DATE);
292   x_Instance_Rec.Quantity := NVL(P_Quantity,FND_API.G_MISS_NUM);
293   x_Instance_Rec.Unit_Of_Measure :=   NVL(P_UNIT_OF_MEASURE_CODE,FND_API.G_MISS_CHAR);
294   x_Instance_Rec.Instance_Type_Code :=   NVL(P_TYPE_CODE,FND_API.G_MISS_CHAR);
295   x_Instance_Rec.system_id := NVL(P_SYSTEM_ID,FND_API.G_MISS_NUM);
296   x_Instance_Rec.Last_OE_Agreement_ID := NVL(P_PRODUCT_AGREEMENT_ID,FND_API.G_MISS_NUM);
297   x_Instance_Rec.context := NVL(P_CONTEXT,FND_API.G_MISS_CHAR);
298   x_Instance_Rec.attribute1 := NVL(P_ATTRIBUTE1,FND_API.G_MISS_CHAR);
299   x_Instance_Rec.attribute2 := NVL(P_ATTRIBUTE2,FND_API.G_MISS_CHAR);
300   x_Instance_Rec.attribute3 := NVL(P_ATTRIBUTE3,FND_API.G_MISS_CHAR);
301   x_Instance_Rec.attribute4 := NVL(P_ATTRIBUTE4,FND_API.G_MISS_CHAR);
302   x_Instance_Rec.attribute5 := NVL(P_ATTRIBUTE5,FND_API.G_MISS_CHAR);
303   x_Instance_Rec.attribute6 := NVL(P_ATTRIBUTE6,FND_API.G_MISS_CHAR);
304   x_Instance_Rec.attribute7 := NVL(P_ATTRIBUTE7,FND_API.G_MISS_CHAR);
305   x_Instance_Rec.attribute8 := NVL(P_ATTRIBUTE8,FND_API.G_MISS_CHAR);
306   x_Instance_Rec.attribute9 := NVL(P_ATTRIBUTE9,FND_API.G_MISS_CHAR);
307   x_Instance_Rec.attribute10 := NVL(P_ATTRIBUTE10,FND_API.G_MISS_CHAR);
308   x_Instance_Rec.attribute11 := NVL(P_ATTRIBUTE11,FND_API.G_MISS_CHAR);
309   x_Instance_Rec.attribute12 := NVL(P_ATTRIBUTE12,FND_API.G_MISS_CHAR);
310   x_Instance_Rec.attribute13 := NVL(P_ATTRIBUTE13,FND_API.G_MISS_CHAR);
311   x_Instance_Rec.attribute14 := NVL(P_ATTRIBUTE14,FND_API.G_MISS_CHAR);
312   x_Instance_Rec.attribute15 := NVL(P_ATTRIBUTE15,FND_API.G_MISS_CHAR);
313   x_Instance_Rec.merchant_view_flag := NVL(P_MERCHANT_VIEW_FLAG,FND_API.G_MISS_CHAR);
314   x_Instance_Rec.customer_view_flag := NVL(P_CUSTOMER_VIEW_FLAG,FND_API.G_MISS_CHAR);
315   x_Instance_Rec.PA_project_id := NVL(P_PROJECT_ID,FND_API.G_MISS_NUM);
316   x_Instance_Rec.PA_Project_task_id := NVL(P_TASK_ID,FND_API.G_MISS_NUM);
317   x_Instance_Rec.Install_Location_Id := NVL(P_INSTALL_SITE_USE_ID,FND_API.G_MISS_NUM);
318   x_Instance_Rec.Install_Date := NVL(P_INSTALLATION_DATE,FND_API.G_MISS_DATE);
319   x_Instance_Rec.Last_OE_Order_Line_ID := NVL(P_ORIGINAL_ORDER_LINE_ID,FND_API.G_MISS_NUM);
320   x_Instance_Rec.Serial_Number := NVL(P_CURRENT_SERIAL_NUMBER,FND_API.G_MISS_CHAR);
321   x_Instance_Rec.Inventory_Revision := NVL(P_REVISION,FND_API.G_MISS_CHAR);
322   x_Instance_Rec.Lot_Number :=   NVL(P_LOT_NUMBER,FND_API.G_MISS_CHAR);
323 
324   IF NOT P_RELATIONSHIP_ID IS NULL
325   THEN
326 	x_ii_relationshiP_rec.Relationship_Id := P_Relationship_ID;
327 	x_ii_relationshiP_rec.Relationship_Type_Code:= NVL(P_CONFIG_TYPE,FND_API.G_MISS_CHAR);
328 	x_ii_relationshiP_rec.Active_start_date := NVL(P_CONFIG_START_DATE,FND_API.G_MISS_DATE);
329 	x_ii_relationshiP_rec.Object_Id := NVL(P_CONFIG_PARENT_ID,FND_API.G_MISS_NUM);
330     x_ii_relationshiP_rec.Subject_Id := NVL(P_CUSTOMER_PRODUCT_ID,FND_API.G_MISS_NUM);
331   END IF;
332    IF NOT P_PRICING_ATTRIBUTE_ID IS NULL
333    THEN
334 	x_Pricing_Attribs_Tbl(1).pricing_Attribute_Id := P_PRICING_ATTRIBUTE_ID;
335 	x_Pricing_Attribs_Tbl(1).Object_Version_Number := Px_PA_Object_Version_Number;
336 	x_Pricing_Attribs_Tbl(1).pricing_context := NVL(P_PRICING_CONTEXT,FND_API.G_MISS_CHAR);
337 	x_Pricing_Attribs_Tbl(1).pricing_attribute1 := NVL(P_PRICING_ATTRIBUTE1,FND_API.G_MISS_CHAR);
338 	x_Pricing_Attribs_Tbl(1).pricing_attribute2 := NVL(P_PRICING_ATTRIBUTE2,FND_API.G_MISS_CHAR);
339 	x_Pricing_Attribs_Tbl(1).pricing_attribute3 := NVL(P_PRICING_ATTRIBUTE3,FND_API.G_MISS_CHAR);
340 	x_Pricing_Attribs_Tbl(1).pricing_attribute4 := NVL(P_PRICING_ATTRIBUTE4,FND_API.G_MISS_CHAR);
341 	x_Pricing_Attribs_Tbl(1).pricing_attribute5 := NVL(P_PRICING_ATTRIBUTE5,FND_API.G_MISS_CHAR);
342 	x_Pricing_Attribs_Tbl(1).pricing_attribute6 := NVL(P_PRICING_ATTRIBUTE6,FND_API.G_MISS_CHAR);
343 	x_Pricing_Attribs_Tbl(1).pricing_attribute7 := NVL(P_PRICING_ATTRIBUTE7,FND_API.G_MISS_CHAR);
344 	x_Pricing_Attribs_Tbl(1).pricing_attribute8 := NVL(P_PRICING_ATTRIBUTE8,FND_API.G_MISS_CHAR);
345 	x_Pricing_Attribs_Tbl(1).pricing_attribute9 := NVL(P_PRICING_ATTRIBUTE9,FND_API.G_MISS_CHAR);
346 	x_Pricing_Attribs_Tbl(1).pricing_attribute10 := NVL(P_PRICING_ATTRIBUTE10,FND_API.G_MISS_CHAR);
347 	x_Pricing_Attribs_Tbl(1).pricing_attribute11 := NVL(P_PRICING_ATTRIBUTE11,FND_API.G_MISS_CHAR);
348 	x_Pricing_Attribs_Tbl(1).pricing_attribute12 := NVL(P_PRICING_ATTRIBUTE12,FND_API.G_MISS_CHAR);
349 	x_Pricing_Attribs_Tbl(1).pricing_attribute13 := NVL(P_PRICING_ATTRIBUTE13,FND_API.G_MISS_CHAR);
350 	x_Pricing_Attribs_Tbl(1).pricing_attribute14 := NVL(P_PRICING_ATTRIBUTE14,FND_API.G_MISS_CHAR);
354 	x_Pricing_Attribs_Tbl(1).pricing_attribute18 := NVL(P_PRICING_ATTRIBUTE18,FND_API.G_MISS_CHAR);
351 	x_Pricing_Attribs_Tbl(1).pricing_attribute15 := NVL(P_PRICING_ATTRIBUTE15,FND_API.G_MISS_CHAR);
352 	x_Pricing_Attribs_Tbl(1).pricing_attribute16 := NVL(P_PRICING_ATTRIBUTE16,FND_API.G_MISS_CHAR);
353 	x_Pricing_Attribs_Tbl(1).pricing_attribute17 := NVL(P_PRICING_ATTRIBUTE17,FND_API.G_MISS_CHAR);
355 	x_Pricing_Attribs_Tbl(1).pricing_attribute19 := NVL(P_PRICING_ATTRIBUTE19,FND_API.G_MISS_CHAR);
356 	x_Pricing_Attribs_Tbl(1).pricing_attribute20 := NVL(P_PRICING_ATTRIBUTE20,FND_API.G_MISS_CHAR);
357 	x_Pricing_Attribs_Tbl(1).pricing_attribute21 := NVL(P_PRICING_ATTRIBUTE21,FND_API.G_MISS_CHAR);
358 	x_Pricing_Attribs_Tbl(1).pricing_attribute22 := NVL(P_PRICING_ATTRIBUTE22,FND_API.G_MISS_CHAR);
359 	x_Pricing_Attribs_Tbl(1).pricing_attribute23 := NVL(P_PRICING_ATTRIBUTE23,FND_API.G_MISS_CHAR);
360 	x_Pricing_Attribs_Tbl(1).pricing_attribute24 := NVL(P_PRICING_ATTRIBUTE24,FND_API.G_MISS_CHAR);
361 	x_Pricing_Attribs_Tbl(1).pricing_attribute25 := NVL(P_PRICING_ATTRIBUTE25,FND_API.G_MISS_CHAR);
362 	x_Pricing_Attribs_Tbl(1).pricing_attribute26 := NVL(P_PRICING_ATTRIBUTE26,FND_API.G_MISS_CHAR);
363 	x_Pricing_Attribs_Tbl(1).pricing_attribute27 := NVL(P_PRICING_ATTRIBUTE27,FND_API.G_MISS_CHAR);
364 	x_Pricing_Attribs_Tbl(1).pricing_attribute28 := NVL(P_PRICING_ATTRIBUTE28,FND_API.G_MISS_CHAR);
365 	x_Pricing_Attribs_Tbl(1).pricing_attribute29 := NVL(P_PRICING_ATTRIBUTE29,FND_API.G_MISS_CHAR);
366 	x_Pricing_Attribs_Tbl(1).pricing_attribute30 := NVL(P_PRICING_ATTRIBUTE30,FND_API.G_MISS_CHAR);
367 	x_Pricing_Attribs_Tbl(1).pricing_attribute31 := NVL(P_PRICING_ATTRIBUTE31,FND_API.G_MISS_CHAR);
368 	x_Pricing_Attribs_Tbl(1).pricing_attribute32 := NVL(P_PRICING_ATTRIBUTE32,FND_API.G_MISS_CHAR);
369 	x_Pricing_Attribs_Tbl(1).pricing_attribute33 := NVL(P_PRICING_ATTRIBUTE33,FND_API.G_MISS_CHAR);
370 	x_Pricing_Attribs_Tbl(1).pricing_attribute34 := NVL(P_PRICING_ATTRIBUTE34,FND_API.G_MISS_CHAR);
371 	x_Pricing_Attribs_Tbl(1).pricing_attribute35 := NVL(P_PRICING_ATTRIBUTE35,FND_API.G_MISS_CHAR);
372 	x_Pricing_Attribs_Tbl(1).pricing_attribute36 := NVL(P_PRICING_ATTRIBUTE36,FND_API.G_MISS_CHAR);
373 	x_Pricing_Attribs_Tbl(1).pricing_attribute37 := NVL(P_PRICING_ATTRIBUTE37,FND_API.G_MISS_CHAR);
374 	x_Pricing_Attribs_Tbl(1).pricing_attribute38 := NVL(P_PRICING_ATTRIBUTE38,FND_API.G_MISS_CHAR);
375 	x_Pricing_Attribs_Tbl(1).pricing_attribute39 := NVL(P_PRICING_ATTRIBUTE39,FND_API.G_MISS_CHAR);
376 	x_Pricing_Attribs_Tbl(1).pricing_attribute40 := NVL(P_PRICING_ATTRIBUTE40,FND_API.G_MISS_CHAR);
377 	x_Pricing_Attribs_Tbl(1).pricing_attribute41 := NVL(P_PRICING_ATTRIBUTE41,FND_API.G_MISS_CHAR);
378 	x_Pricing_Attribs_Tbl(1).pricing_attribute42 := NVL(P_PRICING_ATTRIBUTE42,FND_API.G_MISS_CHAR);
379 	x_Pricing_Attribs_Tbl(1).pricing_attribute43 := NVL(P_PRICING_ATTRIBUTE43,FND_API.G_MISS_CHAR);
380 	x_Pricing_Attribs_Tbl(1).pricing_attribute44 := NVL(P_PRICING_ATTRIBUTE44,FND_API.G_MISS_CHAR);
381 	x_Pricing_Attribs_Tbl(1).pricing_attribute45 := NVL(P_PRICING_ATTRIBUTE45,FND_API.G_MISS_CHAR);
382 	x_Pricing_Attribs_Tbl(1).pricing_attribute46 := NVL(P_PRICING_ATTRIBUTE46,FND_API.G_MISS_CHAR);
383 	x_Pricing_Attribs_Tbl(1).pricing_attribute47 := NVL(P_PRICING_ATTRIBUTE47,FND_API.G_MISS_CHAR);
384 	x_Pricing_Attribs_Tbl(1).pricing_attribute48 := NVL(P_PRICING_ATTRIBUTE48,FND_API.G_MISS_CHAR);
385 	x_Pricing_Attribs_Tbl(1).pricing_attribute49 := NVL(P_PRICING_ATTRIBUTE49,FND_API.G_MISS_CHAR);
386 	x_Pricing_Attribs_Tbl(1).pricing_attribute50 := NVL(P_PRICING_ATTRIBUTE50,FND_API.G_MISS_CHAR);
387 	x_Pricing_Attribs_Tbl(1).pricing_attribute51 := NVL(P_PRICING_ATTRIBUTE51,FND_API.G_MISS_CHAR);
388 	x_Pricing_Attribs_Tbl(1).pricing_attribute52 := NVL(P_PRICING_ATTRIBUTE52,FND_API.G_MISS_CHAR);
389 	x_Pricing_Attribs_Tbl(1).pricing_attribute53 := NVL(P_PRICING_ATTRIBUTE53,FND_API.G_MISS_CHAR);
390 	x_Pricing_Attribs_Tbl(1).pricing_attribute54 := NVL(P_PRICING_ATTRIBUTE54,FND_API.G_MISS_CHAR);
391 	x_Pricing_Attribs_Tbl(1).pricing_attribute55 := NVL(P_PRICING_ATTRIBUTE55,FND_API.G_MISS_CHAR);
392 	x_Pricing_Attribs_Tbl(1).pricing_attribute56 := NVL(P_PRICING_ATTRIBUTE56,FND_API.G_MISS_CHAR);
393 	x_Pricing_Attribs_Tbl(1).pricing_attribute57 := NVL(P_PRICING_ATTRIBUTE57,FND_API.G_MISS_CHAR);
394 	x_Pricing_Attribs_Tbl(1).pricing_attribute58 := NVL(P_PRICING_ATTRIBUTE58,FND_API.G_MISS_CHAR);
395 	x_Pricing_Attribs_Tbl(1).pricing_attribute59 := NVL(P_PRICING_ATTRIBUTE59,FND_API.G_MISS_CHAR);
396 	x_Pricing_Attribs_Tbl(1).pricing_attribute60 := NVL(P_PRICING_ATTRIBUTE60,FND_API.G_MISS_CHAR);
397 	x_Pricing_Attribs_Tbl(1).pricing_attribute61 := NVL(P_PRICING_ATTRIBUTE61,FND_API.G_MISS_CHAR);
398 	x_Pricing_Attribs_Tbl(1).pricing_attribute62 := NVL(P_PRICING_ATTRIBUTE62,FND_API.G_MISS_CHAR);
399 	x_Pricing_Attribs_Tbl(1).pricing_attribute63 := NVL(P_PRICING_ATTRIBUTE63,FND_API.G_MISS_CHAR);
400 	x_Pricing_Attribs_Tbl(1).pricing_attribute64 := NVL(P_PRICING_ATTRIBUTE64,FND_API.G_MISS_CHAR);
401 	x_Pricing_Attribs_Tbl(1).pricing_attribute65 := NVL(P_PRICING_ATTRIBUTE65,FND_API.G_MISS_CHAR);
402 	x_Pricing_Attribs_Tbl(1).pricing_attribute66 := NVL(P_PRICING_ATTRIBUTE66,FND_API.G_MISS_CHAR);
403 	x_Pricing_Attribs_Tbl(1).pricing_attribute67 := NVL(P_PRICING_ATTRIBUTE67,FND_API.G_MISS_CHAR);
404 	x_Pricing_Attribs_Tbl(1).pricing_attribute68 := NVL(P_PRICING_ATTRIBUTE68,FND_API.G_MISS_CHAR);
405 	x_Pricing_Attribs_Tbl(1).pricing_attribute69 := NVL(P_PRICING_ATTRIBUTE69,FND_API.G_MISS_CHAR);
406 	x_Pricing_Attribs_Tbl(1).pricing_attribute70 := NVL(P_PRICING_ATTRIBUTE70,FND_API.G_MISS_CHAR);
407 	x_Pricing_Attribs_Tbl(1).pricing_attribute71 := NVL(P_PRICING_ATTRIBUTE71,FND_API.G_MISS_CHAR);
408 	x_Pricing_Attribs_Tbl(1).pricing_attribute72 := NVL(P_PRICING_ATTRIBUTE72,FND_API.G_MISS_CHAR);
409 	x_Pricing_Attribs_Tbl(1).pricing_attribute73 := NVL(P_PRICING_ATTRIBUTE73,FND_API.G_MISS_CHAR);
410 	x_Pricing_Attribs_Tbl(1).pricing_attribute74 := NVL(P_PRICING_ATTRIBUTE74,FND_API.G_MISS_CHAR);
411 	x_Pricing_Attribs_Tbl(1).pricing_attribute75 := NVL(P_PRICING_ATTRIBUTE75,FND_API.G_MISS_CHAR);
412 	x_Pricing_Attribs_Tbl(1).pricing_attribute76 := NVL(P_PRICING_ATTRIBUTE76,FND_API.G_MISS_CHAR);
413 	x_Pricing_Attribs_Tbl(1).pricing_attribute77 := NVL(P_PRICING_ATTRIBUTE77,FND_API.G_MISS_CHAR);
417 	x_Pricing_Attribs_Tbl(1).pricing_attribute81 := NVL(P_PRICING_ATTRIBUTE81,FND_API.G_MISS_CHAR);
414 	x_Pricing_Attribs_Tbl(1).pricing_attribute78 := NVL(P_PRICING_ATTRIBUTE78,FND_API.G_MISS_CHAR);
415 	x_Pricing_Attribs_Tbl(1).pricing_attribute79 := NVL(P_PRICING_ATTRIBUTE79,FND_API.G_MISS_CHAR);
416 	x_Pricing_Attribs_Tbl(1).pricing_attribute80 := NVL(P_PRICING_ATTRIBUTE80,FND_API.G_MISS_CHAR);
418 	x_Pricing_Attribs_Tbl(1).pricing_attribute82 := NVL(P_PRICING_ATTRIBUTE82,FND_API.G_MISS_CHAR);
419 	x_Pricing_Attribs_Tbl(1).pricing_attribute83 := NVL(P_PRICING_ATTRIBUTE83,FND_API.G_MISS_CHAR);
420 	x_Pricing_Attribs_Tbl(1).pricing_attribute84 := NVL(P_PRICING_ATTRIBUTE84,FND_API.G_MISS_CHAR);
421 	x_Pricing_Attribs_Tbl(1).pricing_attribute85 := NVL(P_PRICING_ATTRIBUTE85,FND_API.G_MISS_CHAR);
422 	x_Pricing_Attribs_Tbl(1).pricing_attribute86 := NVL(P_PRICING_ATTRIBUTE86,FND_API.G_MISS_CHAR);
423 	x_Pricing_Attribs_Tbl(1).pricing_attribute87 := NVL(P_PRICING_ATTRIBUTE87,FND_API.G_MISS_CHAR);
424 	x_Pricing_Attribs_Tbl(1).pricing_attribute88 := NVL(P_PRICING_ATTRIBUTE88,FND_API.G_MISS_CHAR);
425 	x_Pricing_Attribs_Tbl(1).pricing_attribute89 := NVL(P_PRICING_ATTRIBUTE89,FND_API.G_MISS_CHAR);
426 	x_Pricing_Attribs_Tbl(1).pricing_attribute90 := NVL(P_PRICING_ATTRIBUTE90,FND_API.G_MISS_CHAR);
427 	x_Pricing_Attribs_Tbl(1).pricing_attribute91 := NVL(P_PRICING_ATTRIBUTE91,FND_API.G_MISS_CHAR);
428 	x_Pricing_Attribs_Tbl(1).pricing_attribute92 := NVL(P_PRICING_ATTRIBUTE92,FND_API.G_MISS_CHAR);
429 	x_Pricing_Attribs_Tbl(1).pricing_attribute93 := NVL(P_PRICING_ATTRIBUTE93,FND_API.G_MISS_CHAR);
430 	x_Pricing_Attribs_Tbl(1).pricing_attribute94 := NVL(P_PRICING_ATTRIBUTE94,FND_API.G_MISS_CHAR);
431 	x_Pricing_Attribs_Tbl(1).pricing_attribute95 := NVL(P_PRICING_ATTRIBUTE95,FND_API.G_MISS_CHAR);
432 	x_Pricing_Attribs_Tbl(1).pricing_attribute96 := NVL(P_PRICING_ATTRIBUTE96,FND_API.G_MISS_CHAR);
433 	x_Pricing_Attribs_Tbl(1).pricing_attribute97 := NVL(P_PRICING_ATTRIBUTE97,FND_API.G_MISS_CHAR);
434 	x_Pricing_Attribs_Tbl(1).pricing_attribute98 := NVL(P_PRICING_ATTRIBUTE98,FND_API.G_MISS_CHAR);
435 	x_Pricing_Attribs_Tbl(1).pricing_attribute99 := NVL(P_PRICING_ATTRIBUTE99,FND_API.G_MISS_CHAR);
436 	x_Pricing_Attribs_Tbl(1).pricing_attribute100 := NVL(P_PRICING_ATTRIBUTE100,FND_API.G_MISS_CHAR);
437     END IF;
438 csi_gen_utility_pvt.put_line('MRK - party Account Id '||P_IP_ACCOUNT_ID);
439     IF NOT P_IP_ACCOUNT_ID IS NULL
440     THEN
441     x_Party_Account_Tbl(1).Instance_Party_Id := NVL(P_INSTANCE_PARTY_ID,FND_API.G_MISS_NUM);
442     x_Party_Account_Tbl(1).IP_Account_Id:= P_IP_Account_ID;
443     x_Party_Account_Tbl(1).Object_Version_Number:= Px_IPA_Object_Version_Number;
444     x_Party_Account_Tbl(1).Party_Account_Id:= NVL(P_CUSTOMER_ID,FND_API.G_MISS_NUM);
445     x_Party_Account_Tbl(1).ShiP_To_Address := NVL(P_Ship_TO_SITE_USE_ID,FND_API.G_MISS_NUM);
446     x_Party_Account_Tbl(1).Bill_To_Address := NVL(P_BILL_TO_SITE_USE_ID,FND_API.G_MISS_NUM);
447     csi_gen_utility_pvt.put_line('MRK - Instance Party Id'||x_Party_Account_Tbl(1).Instance_Party_Id);
448 
449     END IF;
450 */
451 END Convert_Cp_Prod_Param_To_Rec;
452 
453 PROCEDURE Update_Row(
454 p_CUSTOMER_PRODUCT_ID	  IN NUMBER,
455 P_INSTANCE_PARTY_ID       IN NUMBER,
456 p_IP_ACCOUNT_ID  	  IN NUMBER,
457 p_PRICING_ATTRIBUTE_ID	  IN NUMBER,
458 p_RELATIONSHIP_ID	  IN NUMBER,
459 p_CUSTOMER_ID   IN NUMBER,
460 p_INVENTORY_ITEM_ID   IN NUMBER,
461 p_LOT_NUMBER  IN VARCHAR2,
462 p_CREATED_MANUALLY_FLAG  IN VARCHAR2,
463 p_MOST_RECENT_FLAG IN VARCHAR2,
464 p_REVISION				 IN VARCHAR2,
465 p_CURRENT_SERIAL_NUMBER  IN VARCHAR2,
466 p_TYPE_CODE  IN VARCHAR2,
467 p_SYSTEM_ID  IN NUMBER,
468 p_PRODUCT_AGREEMENT_ID   IN NUMBER,
469 p_INSTALLATION_DATE   IN DATE,
470 p_ORIGINAL_ORDER_LINE_ID IN NUMBER,
471 p_ORIGINAL_LINE_SERV_DETAIL_ID IN NUMBER,
472 p_ORIGINAL_NET_AMOUNT IN NUMBER,
473 p_SHIP_TO_SITE_USE_ID IN NUMBER,
474 p_BILL_TO_SITE_USE_ID IN NUMBER,
475 p_INSTALL_SITE_USE_ID IN NUMBER,
476 p_QUANTITY   IN NUMBER,
477 p_SHIPPED_FLAG  IN VARCHAR2,
478 p_DELIVERED_FLAG   IN VARCHAR2,
479 p_UNIT_OF_MEASURE_CODE   IN VARCHAR2,
480 p_PARENT_CP_ID  IN NUMBER,
481 p_CUSTOMER_PRODUCT_STATUS_ID   IN NUMBER,
482 p_SHIPPED_DATE  IN DATE,
483 p_ORG_ID  IN NUMBER,
484 p_REFERENCE_NUMBER IN NUMBER,
485 p_RETURN_BY_DATE   IN DATE,
486 p_ACTUAL_RETURNED_DATE   IN DATE,
487 p_RMA_LINE_ID   IN NUMBER,
488 p_SPLIT_FLAG  IN VARCHAR2,
489 p_PROJECT_ID  IN NUMBER,
490 p_TASK_ID  IN NUMBER,
491 p_CONFIG_ENABLED_FLAG IN VARCHAR2,
492 p_CONFIG_START_DATE   IN DATE,
493 p_CONFIG_END_DATE  IN DATE,
494 p_CONFIG_ROOT_ID   IN NUMBER,
495 p_CONFIG_PARENT_ID IN NUMBER,
496 p_CONFIG_TYPE   IN VARCHAR2,
497 p_PLATFORM_VERSION_ID IN NUMBER,
498 p_START_DATE_ACTIVE   IN DATE,
499 p_END_DATE_ACTIVE  IN DATE,
500 p_MERCHANT_VIEW_FLAG		 IN VARCHAR2,
501 p_CUSTOMER_VIEW_FLAG		 IN VARCHAR2,
502 p_ATTRIBUTE1  IN VARCHAR2,
503 p_ATTRIBUTE2  IN VARCHAR2,
504 p_ATTRIBUTE3  IN VARCHAR2,
505 p_ATTRIBUTE4  IN VARCHAR2,
506 p_ATTRIBUTE5  IN VARCHAR2,
507 p_ATTRIBUTE6  IN VARCHAR2,
508 p_ATTRIBUTE7  IN VARCHAR2,
509 p_ATTRIBUTE8  IN VARCHAR2,
510 p_ATTRIBUTE9  IN VARCHAR2,
511 p_ATTRIBUTE10   IN VARCHAR2,
512 p_ATTRIBUTE11   IN VARCHAR2,
513 p_ATTRIBUTE12   IN VARCHAR2,
514 p_ATTRIBUTE13   IN VARCHAR2,
515 p_ATTRIBUTE14   IN VARCHAR2,
516 p_ATTRIBUTE15   IN VARCHAR2,
517 p_CONTEXT  IN VARCHAR2,
518 p_COMMENTS				 IN VARCHAR2,
519 p_PRICING_CONTEXT		IN VARCHAR2,
520 p_PRICING_ATTRIBUTE1		IN VARCHAR2,
521 p_PRICING_ATTRIBUTE2		IN VARCHAR2,
522 p_PRICING_ATTRIBUTE3		IN VARCHAR2,
523 p_PRICING_ATTRIBUTE4		IN VARCHAR2,
524 p_PRICING_ATTRIBUTE5		IN VARCHAR2,
525 p_PRICING_ATTRIBUTE6		IN VARCHAR2,
526 p_PRICING_ATTRIBUTE7		IN VARCHAR2,
527 p_PRICING_ATTRIBUTE8		IN VARCHAR2,
528 p_PRICING_ATTRIBUTE9		IN VARCHAR2,
532 p_PRICING_ATTRIBUTE13		IN VARCHAR2,
529 p_PRICING_ATTRIBUTE10		IN VARCHAR2,
530 p_PRICING_ATTRIBUTE11		IN VARCHAR2,
531 p_PRICING_ATTRIBUTE12		IN VARCHAR2,
533 p_PRICING_ATTRIBUTE14		IN VARCHAR2,
534 p_PRICING_ATTRIBUTE15		IN VARCHAR2,
535 p_PRICING_ATTRIBUTE16		IN VARCHAR2,
536 p_PRICING_ATTRIBUTE17		IN VARCHAR2,
537 p_PRICING_ATTRIBUTE18		IN VARCHAR2,
538 p_PRICING_ATTRIBUTE19		IN VARCHAR2,
539 p_PRICING_ATTRIBUTE20		IN VARCHAR2,
540 p_PRICING_ATTRIBUTE21		IN VARCHAR2,
541 p_PRICING_ATTRIBUTE22		IN VARCHAR2,
542 p_PRICING_ATTRIBUTE23		IN VARCHAR2,
543 p_PRICING_ATTRIBUTE24		IN VARCHAR2,
544 p_PRICING_ATTRIBUTE25		IN VARCHAR2,
545 p_PRICING_ATTRIBUTE26		IN VARCHAR2,
546 p_PRICING_ATTRIBUTE27		IN VARCHAR2,
547 p_PRICING_ATTRIBUTE28		IN VARCHAR2,
548 p_PRICING_ATTRIBUTE29		IN VARCHAR2,
549 p_PRICING_ATTRIBUTE30		IN VARCHAR2,
550 p_PRICING_ATTRIBUTE31		IN VARCHAR2,
551 p_PRICING_ATTRIBUTE32		IN VARCHAR2,
552 p_PRICING_ATTRIBUTE33		IN VARCHAR2,
553 p_PRICING_ATTRIBUTE34		IN VARCHAR2,
554 p_PRICING_ATTRIBUTE35		IN VARCHAR2,
555 p_PRICING_ATTRIBUTE36		IN VARCHAR2,
556 p_PRICING_ATTRIBUTE37		IN VARCHAR2,
557 p_PRICING_ATTRIBUTE38		IN VARCHAR2,
558 p_PRICING_ATTRIBUTE39		IN VARCHAR2,
559 p_PRICING_ATTRIBUTE40		IN VARCHAR2,
560 p_PRICING_ATTRIBUTE41		IN VARCHAR2,
561 p_PRICING_ATTRIBUTE42		IN VARCHAR2,
562 p_PRICING_ATTRIBUTE43		IN VARCHAR2,
563 p_PRICING_ATTRIBUTE44		IN VARCHAR2,
564 p_PRICING_ATTRIBUTE45		IN VARCHAR2,
565 p_PRICING_ATTRIBUTE46		IN VARCHAR2,
566 p_PRICING_ATTRIBUTE47		IN VARCHAR2,
567 p_PRICING_ATTRIBUTE48		IN VARCHAR2,
568 p_PRICING_ATTRIBUTE49		IN VARCHAR2,
569 p_PRICING_ATTRIBUTE50		IN VARCHAR2,
570 p_PRICING_ATTRIBUTE51		IN VARCHAR2,
571 p_PRICING_ATTRIBUTE52		IN VARCHAR2,
572 p_PRICING_ATTRIBUTE53		IN VARCHAR2,
573 p_PRICING_ATTRIBUTE54		IN VARCHAR2,
574 p_PRICING_ATTRIBUTE55		IN VARCHAR2,
575 p_PRICING_ATTRIBUTE56		IN VARCHAR2,
576 p_PRICING_ATTRIBUTE57		IN VARCHAR2,
577 p_PRICING_ATTRIBUTE58		IN VARCHAR2,
578 p_PRICING_ATTRIBUTE59		IN VARCHAR2,
579 p_PRICING_ATTRIBUTE60		IN VARCHAR2,
580 p_PRICING_ATTRIBUTE61		IN VARCHAR2,
581 p_PRICING_ATTRIBUTE62		IN VARCHAR2,
582 p_PRICING_ATTRIBUTE63		IN VARCHAR2,
583 p_PRICING_ATTRIBUTE64		IN VARCHAR2,
584 p_PRICING_ATTRIBUTE65		IN VARCHAR2,
585 p_PRICING_ATTRIBUTE66		IN VARCHAR2,
586 p_PRICING_ATTRIBUTE67		IN VARCHAR2,
587 p_PRICING_ATTRIBUTE68		IN VARCHAR2,
588 p_PRICING_ATTRIBUTE69		IN VARCHAR2,
589 p_PRICING_ATTRIBUTE70		IN VARCHAR2,
590 p_PRICING_ATTRIBUTE71		IN VARCHAR2,
591 p_PRICING_ATTRIBUTE72		IN VARCHAR2,
592 p_PRICING_ATTRIBUTE73		IN VARCHAR2,
593 p_PRICING_ATTRIBUTE74		IN VARCHAR2,
594 p_PRICING_ATTRIBUTE75		IN VARCHAR2,
595 p_PRICING_ATTRIBUTE76		IN VARCHAR2,
596 p_PRICING_ATTRIBUTE77		IN VARCHAR2,
597 p_PRICING_ATTRIBUTE78		IN VARCHAR2,
598 p_PRICING_ATTRIBUTE79		IN VARCHAR2,
599 p_PRICING_ATTRIBUTE80		IN VARCHAR2,
600 p_PRICING_ATTRIBUTE81		IN VARCHAR2,
601 p_PRICING_ATTRIBUTE82		IN VARCHAR2,
602 p_PRICING_ATTRIBUTE83		IN VARCHAR2,
603 p_PRICING_ATTRIBUTE84		IN VARCHAR2,
604 p_PRICING_ATTRIBUTE85		IN VARCHAR2,
605 p_PRICING_ATTRIBUTE86		IN VARCHAR2,
606 p_PRICING_ATTRIBUTE87		IN VARCHAR2,
607 p_PRICING_ATTRIBUTE88		IN VARCHAR2,
608 p_PRICING_ATTRIBUTE89		IN VARCHAR2,
609 p_PRICING_ATTRIBUTE90		IN VARCHAR2,
610 p_PRICING_ATTRIBUTE91		IN VARCHAR2,
611 p_PRICING_ATTRIBUTE92		IN VARCHAR2,
612 p_PRICING_ATTRIBUTE93		IN VARCHAR2,
613 p_PRICING_ATTRIBUTE94		IN VARCHAR2,
614 p_PRICING_ATTRIBUTE95		IN VARCHAR2,
615 p_PRICING_ATTRIBUTE96		IN VARCHAR2,
616 p_PRICING_ATTRIBUTE97		IN VARCHAR2,
617 p_PRICING_ATTRIBUTE98		IN VARCHAR2,
618 p_PRICING_ATTRIBUTE99		IN VARCHAR2,
619 p_PRICING_ATTRIBUTE100		IN VARCHAR2,
620 Px_CP_Object_Version_Number      IN OUT NOCOPY NUMBER,
621 Px_IP_Object_Version_Number      IN OUT NOCOPY NUMBER,
622 Px_IPA_Object_Version_Number     IN OUT NOCOPY NUMBER,
623 Px_PA_Object_Version_Number      IN OUT NOCOPY NUMBER,
624 p_form_mode                 IN VARCHAR2,
625 p_block                     IN VARCHAR2,
626 x_return_status		        OUT NOCOPY VARCHAR2,
627 x_msg_count		            OUT NOCOPY NUMBER,
628 x_msg_data		            OUT NOCOPY VARCHAR2) IS
629 
630     l_api_version           NUMBER   := 1;
631     l_commit                VARCHAR2(1) := fnd_api.g_false;
632     l_init_msg_list         VARCHAR2(1) := fnd_api.g_false;
633     l_validation_level      NUMBER   := fnd_api.g_valid_level_full;
634     l_instance_rec          csi_datastructures_pub.instance_rec;
635     l_ext_attrib_values_tbl csi_datastructures_pub.extend_attrib_values_tbl;
636     l_party_tbl             csi_datastructures_pub.party_tbl;
637     l_account_tbl           csi_datastructures_pub.party_account_tbl;
638     l_pricing_attrib_tbl    csi_datastructures_pub.pricing_attribs_tbl;
639     l_org_assignments_tbl   csi_datastructures_pub.organization_units_tbl;
640     l_txn_rec               csi_datastructures_pub.transaction_rec;
641     l_asset_assignment_tbl  csi_datastructures_pub.instance_asset_tbl;
642     l_ii_Relationship_rec   csi_datastructures_pub.ii_relationship_rec;
643     l_instance_id_lst       csi_datastructures_pub.id_tbl;
644     l_return_status         VARCHAR2(1);
645     l_msg_count             NUMBER;
646     l_msg_data              VARCHAR2(2000);
647     l_Api_Name              VARCHAR2(30) := 'Update_Row';
648     l_Msg_Index             NUMBER;
649 
650     l1_party_tbl             csi_datastructures_pub.party_tbl;
651     l1_account_tbl           csi_datastructures_pub.party_account_tbl;
652 
653 BEGIN
654 
655 Convert_Cp_Prod_Param_To_Rec(
656 P_Customer_Product_Id          => P_Customer_Product_ID,
660 P_INSTANCE_PARTY_ID            => P_INSTANCE_PARTY_ID,
657 P_CUSTOMER_ID  			       => p_CUSTOMER_ID,
658 P_INVENTORY_ITEM_ID  		   => p_INVENTORY_ITEM_ID,
659 P_CUSTOMER_PRODUCT_STATUS_ID   => p_CUSTOMER_PRODUCT_STATUS_ID,
661 P_IP_ACCOUNT_ID                => P_IP_ACCOUNT_ID,
662 P_PRICING_ATTRIBUTE_ID         => P_PRICING_ATTRIBUTE_ID,
663 P_RELATIONSHIP_ID              => P_RELATIONSHIP_ID,
664 P_START_DATE_ACTIVE  	       => p_START_DATE_ACTIVE,
665 P_END_DATE_ACTIVE 		       => p_END_DATE_ACTIVE,
666 P_ORIGINAL_ORDER_LINE_ID 	   => p_ORIGINAL_ORDER_LINE_ID,
667 P_ORIGINAL_LINE_SERV_DETAIL_ID => p_ORIGINAL_LINE_SERV_DETAIL_ID,
668 P_RETURN_BY_DATE 	           => p_RETURN_BY_DATE,
669 P_RMA_LINE_ID   	           => p_RMA_LINE_ID,
670 P_ACTUAL_RETURNED_DATE  	   => p_ACTUAL_RETURNED_DATE,
671 P_QUANTITY  			       => p_QUANTITY,
672 P_UNIT_OF_MEASURE_CODE  	   => p_UNIT_OF_MEASURE_CODE,
673 P_DELIVERED_FLAG  		       => p_DELIVERED_FLAG,
674 P_SHIPPED_FLAG  		       => p_SHIPPED_FLAG,
675 P_TYPE_CODE 			       => p_TYPE_CODE,
676 P_SYSTEM_ID 			       => p_SYSTEM_ID,
677 P_PRODUCT_AGREEMENT_ID         => p_PRODUCT_AGREEMENT_ID,
678 P_SHIP_TO_SITE_USE_ID          => p_SHIP_TO_SITE_USE_ID,
679 P_BILL_TO_SITE_USE_ID  	       => p_BILL_TO_SITE_USE_ID,
680 P_INSTALL_SITE_USE_ID 	       => p_INSTALL_SITE_USE_ID,
681 P_INSTALLATION_DATE  		   => p_INSTALLATION_DATE,
682 P_CONFIG_TYPE 		           => p_CONFIG_TYPE,
683 P_CONFIG_START_DATE   		   => p_CONFIG_START_DATE,
684 P_CONFIG_PARENT_ID 		       => p_CONFIG_PARENT_ID,
685 P_PROJECT_ID   		           => p_PROJECT_ID,
686 P_TASK_ID   	               => p_TASK_ID,
687 P_PLATFORM_VERSION_ID		   => p_PLATFORM_VERSION_ID,
688 P_MERCHANT_VIEW_FLAG		   => p_MERCHANT_VIEW_FLAG,
689 P_CUSTOMER_VIEW_FLAG		   => p_CUSTOMER_VIEW_FLAG,
690 P_CURRENT_SERIAL_NUMBER        =>  P_CURRENT_SERIAL_NUMBER,
691 P_REVISION			           =>  P_REVISION,
692 P_LOT_NUMBER                   =>  P_LOT_NUMBER,
693 P_ATTRIBUTE1  		           => p_ATTRIBUTE1,
694 P_ATTRIBUTE2  		           => p_ATTRIBUTE2,
695 P_ATTRIBUTE3 			       => p_ATTRIBUTE3,
696 P_ATTRIBUTE4 			       => p_ATTRIBUTE4,
697 P_ATTRIBUTE5 			       => p_ATTRIBUTE5,
698 P_ATTRIBUTE6 			       => p_ATTRIBUTE6,
699 P_ATTRIBUTE7 			       => p_ATTRIBUTE7,
700 P_ATTRIBUTE8   	        	   => p_ATTRIBUTE8,
701 P_ATTRIBUTE9   	      		   => p_ATTRIBUTE9,
702 P_ATTRIBUTE10  	      		   => p_ATTRIBUTE10,
703 P_ATTRIBUTE11  	      		   => p_ATTRIBUTE11,
704 P_ATTRIBUTE12  	      		   => p_ATTRIBUTE12,
705 P_ATTRIBUTE13  	      		   => p_ATTRIBUTE13,
706 P_ATTRIBUTE14  			       => p_ATTRIBUTE14,
707 P_ATTRIBUTE15  			       => p_ATTRIBUTE15,
708 P_CONTEXT   			       => p_CONTEXT,
709 p_PRICING_CONTEXT		       => p_PRICING_CONTEXT,
710 p_PRICING_ATTRIBUTE1		   => p_PRICING_ATTRIBUTE1,
711 p_PRICING_ATTRIBUTE2	       => p_PRICING_ATTRIBUTE2,
712 p_PRICING_ATTRIBUTE3		   => p_PRICING_ATTRIBUTE3,
713 p_PRICING_ATTRIBUTE4		   => p_PRICING_ATTRIBUTE4,
714 p_PRICING_ATTRIBUTE5		   => p_PRICING_ATTRIBUTE5,
715 p_PRICING_ATTRIBUTE6		   => p_PRICING_ATTRIBUTE6,
716 p_PRICING_ATTRIBUTE7	   	   => p_PRICING_ATTRIBUTE7,
717 p_PRICING_ATTRIBUTE8		   => p_PRICING_ATTRIBUTE8,
718 p_PRICING_ATTRIBUTE9		   => p_PRICING_ATTRIBUTE9,
719 p_PRICING_ATTRIBUTE10		   => p_PRICING_ATTRIBUTE10,
720 p_PRICING_ATTRIBUTE11		   => p_PRICING_ATTRIBUTE11,
721 p_PRICING_ATTRIBUTE12	   	   => p_PRICING_ATTRIBUTE12,
722 p_PRICING_ATTRIBUTE13		   => p_PRICING_ATTRIBUTE13,
723 p_PRICING_ATTRIBUTE14		   => p_PRICING_ATTRIBUTE14,
724 p_PRICING_ATTRIBUTE15		   => p_PRICING_ATTRIBUTE15,
725 p_PRICING_ATTRIBUTE16		   => p_PRICING_ATTRIBUTE16,
726 p_PRICING_ATTRIBUTE17		   => p_PRICING_ATTRIBUTE17,
727 p_PRICING_ATTRIBUTE18		   => p_PRICING_ATTRIBUTE18,
728 p_PRICING_ATTRIBUTE19		   => p_PRICING_ATTRIBUTE19,
729 p_PRICING_ATTRIBUTE20		   => p_PRICING_ATTRIBUTE20,
730 p_PRICING_ATTRIBUTE21		   => p_PRICING_ATTRIBUTE21,
731 p_PRICING_ATTRIBUTE22		   => p_PRICING_ATTRIBUTE22,
732 p_PRICING_ATTRIBUTE23		   => p_PRICING_ATTRIBUTE23,
733 p_PRICING_ATTRIBUTE24		   => p_PRICING_ATTRIBUTE24,
734 p_PRICING_ATTRIBUTE25		   => p_PRICING_ATTRIBUTE25,
735 p_PRICING_ATTRIBUTE26		   => p_PRICING_ATTRIBUTE26,
736 p_PRICING_ATTRIBUTE27		   => p_PRICING_ATTRIBUTE27,
737 p_PRICING_ATTRIBUTE28		   => p_PRICING_ATTRIBUTE28,
738 p_PRICING_ATTRIBUTE29		   => p_PRICING_ATTRIBUTE29,
739 p_PRICING_ATTRIBUTE30		   => p_PRICING_ATTRIBUTE30,
740 p_PRICING_ATTRIBUTE31		   => p_PRICING_ATTRIBUTE31,
741 p_PRICING_ATTRIBUTE32		   => p_PRICING_ATTRIBUTE32,
742 p_PRICING_ATTRIBUTE33		   => p_PRICING_ATTRIBUTE33,
743 p_PRICING_ATTRIBUTE34		   => p_PRICING_ATTRIBUTE34,
744 p_PRICING_ATTRIBUTE35		   => p_PRICING_ATTRIBUTE35,
745 p_PRICING_ATTRIBUTE36		   => p_PRICING_ATTRIBUTE36,
746 p_PRICING_ATTRIBUTE37	   	   => p_PRICING_ATTRIBUTE37,
747 p_PRICING_ATTRIBUTE38	   	   => p_PRICING_ATTRIBUTE38,
748 p_PRICING_ATTRIBUTE39		   => p_PRICING_ATTRIBUTE39,
749 p_PRICING_ATTRIBUTE40		   => p_PRICING_ATTRIBUTE40,
750 p_PRICING_ATTRIBUTE41		   => p_PRICING_ATTRIBUTE41,
751 p_PRICING_ATTRIBUTE42		   => p_PRICING_ATTRIBUTE42,
752 p_PRICING_ATTRIBUTE43		   => p_PRICING_ATTRIBUTE43,
753 p_PRICING_ATTRIBUTE44		   => p_PRICING_ATTRIBUTE44,
754 p_PRICING_ATTRIBUTE45		   => p_PRICING_ATTRIBUTE45,
755 p_PRICING_ATTRIBUTE46		   => p_PRICING_ATTRIBUTE46,
756 p_PRICING_ATTRIBUTE47		   => p_PRICING_ATTRIBUTE47,
757 p_PRICING_ATTRIBUTE48		   => p_PRICING_ATTRIBUTE48,
758 p_PRICING_ATTRIBUTE49		   => p_PRICING_ATTRIBUTE49,
759 p_PRICING_ATTRIBUTE50		   => p_PRICING_ATTRIBUTE50,
760 p_PRICING_ATTRIBUTE51		   => p_PRICING_ATTRIBUTE51,
761 p_PRICING_ATTRIBUTE52		   => p_PRICING_ATTRIBUTE52,
762 p_PRICING_ATTRIBUTE53		   => p_PRICING_ATTRIBUTE53,
763 p_PRICING_ATTRIBUTE54		   => p_PRICING_ATTRIBUTE54,
764 p_PRICING_ATTRIBUTE55		   => p_PRICING_ATTRIBUTE55,
765 p_PRICING_ATTRIBUTE56		   => p_PRICING_ATTRIBUTE56,
766 p_PRICING_ATTRIBUTE57		   => p_PRICING_ATTRIBUTE57,
767 p_PRICING_ATTRIBUTE58		   => p_PRICING_ATTRIBUTE58,
771 p_PRICING_ATTRIBUTE62		   => p_PRICING_ATTRIBUTE62,
768 p_PRICING_ATTRIBUTE59		   => p_PRICING_ATTRIBUTE59,
769 p_PRICING_ATTRIBUTE60		   => p_PRICING_ATTRIBUTE60,
770 p_PRICING_ATTRIBUTE61		   => p_PRICING_ATTRIBUTE61,
772 p_PRICING_ATTRIBUTE63		   => p_PRICING_ATTRIBUTE63,
773 p_PRICING_ATTRIBUTE64		   => p_PRICING_ATTRIBUTE64,
774 p_PRICING_ATTRIBUTE65		   => p_PRICING_ATTRIBUTE65,
775 p_PRICING_ATTRIBUTE66		   => p_PRICING_ATTRIBUTE66,
776 p_PRICING_ATTRIBUTE67		   => p_PRICING_ATTRIBUTE67,
777 p_PRICING_ATTRIBUTE68		   => p_PRICING_ATTRIBUTE68,
778 p_PRICING_ATTRIBUTE69		   => p_PRICING_ATTRIBUTE69,
779 p_PRICING_ATTRIBUTE70		   => p_PRICING_ATTRIBUTE70,
780 p_PRICING_ATTRIBUTE71		   => p_PRICING_ATTRIBUTE71,
781 p_PRICING_ATTRIBUTE72		   => p_PRICING_ATTRIBUTE72,
782 p_PRICING_ATTRIBUTE73		   => p_PRICING_ATTRIBUTE73,
783 p_PRICING_ATTRIBUTE74		   => p_PRICING_ATTRIBUTE74,
784 p_PRICING_ATTRIBUTE75		   => p_PRICING_ATTRIBUTE75,
785 p_PRICING_ATTRIBUTE76		   => p_PRICING_ATTRIBUTE76,
786 p_PRICING_ATTRIBUTE77		   => p_PRICING_ATTRIBUTE77,
787 p_PRICING_ATTRIBUTE78		   => p_PRICING_ATTRIBUTE78,
788 p_PRICING_ATTRIBUTE79		   => p_PRICING_ATTRIBUTE79,
789 p_PRICING_ATTRIBUTE80		   => p_PRICING_ATTRIBUTE80,
790 p_PRICING_ATTRIBUTE81		   => p_PRICING_ATTRIBUTE81,
791 p_PRICING_ATTRIBUTE82		   => p_PRICING_ATTRIBUTE82,
792 p_PRICING_ATTRIBUTE83		   => p_PRICING_ATTRIBUTE83,
793 p_PRICING_ATTRIBUTE84		   => p_PRICING_ATTRIBUTE84,
794 p_PRICING_ATTRIBUTE85		   => p_PRICING_ATTRIBUTE85,
795 p_PRICING_ATTRIBUTE86		   => p_PRICING_ATTRIBUTE86,
796 p_PRICING_ATTRIBUTE87		   => p_PRICING_ATTRIBUTE87,
797 p_PRICING_ATTRIBUTE88		   => p_PRICING_ATTRIBUTE88,
798 p_PRICING_ATTRIBUTE89		   => p_PRICING_ATTRIBUTE89,
799 p_PRICING_ATTRIBUTE90		   => p_PRICING_ATTRIBUTE90,
800 p_PRICING_ATTRIBUTE91		   => p_PRICING_ATTRIBUTE91,
801 p_PRICING_ATTRIBUTE92		   => p_PRICING_ATTRIBUTE92,
802 p_PRICING_ATTRIBUTE93		   => p_PRICING_ATTRIBUTE93,
803 p_PRICING_ATTRIBUTE94		   => p_PRICING_ATTRIBUTE94,
804 p_PRICING_ATTRIBUTE95		   => p_PRICING_ATTRIBUTE95,
805 p_PRICING_ATTRIBUTE96		   => p_PRICING_ATTRIBUTE96,
806 p_PRICING_ATTRIBUTE97		   => p_PRICING_ATTRIBUTE97,
807 p_PRICING_ATTRIBUTE98		   => p_PRICING_ATTRIBUTE98,
808 p_PRICING_ATTRIBUTE99		   => p_PRICING_ATTRIBUTE99,
809 p_PRICING_ATTRIBUTE100		   => p_PRICING_ATTRIBUTE100,
810 px_CP_Object_Version_Number    => px_Cp_Object_Version_Number,
811 px_IP_Object_Version_Number    => px_ip_Object_Version_Number,
812 px_IPA_Object_Version_Number   => px_ipa_Object_Version_Number,
813 px_PA_Object_Version_Number    => px_pa_Object_Version_Number,
814 p_form_mode                    => p_form_mode,
815 p_block                        => p_block,
816 x_instance_rec                 => l_instance_rec,
817 x_ext_attrib_values_tbl        => l_ext_attrib_values_tbl,
818 x_party_tbl                    => l_party_tbl,
819 x_party_account_tbl            => l_account_tbl,
820 x_pricing_attribs_tbl          => l_pricing_attrib_tbl,
821 x_org_assignments_tbl          => l_org_assignments_tbl,
822 x_txn_rec                      => l_txn_rec,
823 x_asset_assignment_tbl         => l_asset_assignment_tbl,
824 x_ii_relationship_rec          => l_ii_relationship_rec
825                          );
826 
827 -- csi_gen_utility_pvt.put_line('MRK - Prty Found');
828  l_Txn_Rec.Source_Transaction_Date := SYSDATE;
829  l_Txn_Rec.Transaction_Date := SYSDATE;
830  l_Txn_Rec.Transaction_Type_Id := Get_Txn_Type;
831 
832 --  csi_gen_utility_pvt.put_line('called from here');
833 If p_block = 'ADDRESS' and nvl(p_form_mode,'!@#') = 'TRANSFER' Then
834 
835            -- Call to Update Item Instance from Address Block For Transfer OwnerShip.
836            -- Suppressed call to this Update API from CSXCUMPI_TAB_PROD_NFO Block.
837 
838             CSI_ITEM_INSTANCE_PUB.update_item_instance  (
839                           p_api_version           => l_Api_Version
840                          ,p_commit                => l_Commit
841                          ,p_init_msg_list         => l_Init_Msg_List
842                          ,p_validation_level      => l_Validation_Level
843                          ,p_instance_rec          => l_Instance_Rec
844                          ,p_ext_attrib_values_tbl => l_Ext_Attrib_Values_Tbl
845                          ,p_party_tbl             => l_Party_Tbl
846                          ,p_account_tbl           => l_Account_Tbl
847                          ,p_pricing_attrib_tbl    => l_Pricing_Attrib_Tbl
848                          ,p_org_assignments_tbl   => l_Org_Assignments_Tbl
849                          ,p_txn_rec               => l_Txn_Rec
850                          ,p_asset_assignment_tbl  => l_asset_Assignment_Tbl
851                          ,x_instance_id_lst       => l_instance_Id_Lst
852                          ,x_return_status         => x_Return_Status
853                          ,x_msg_count             => x_Msg_Count
854                          ,x_msg_data              => x_Msg_Data
855                                                      );
856                 IF x_Return_Status = FND_API.G_Ret_Sts_Success THEN
857        csi_gen_utility_pvt.put_line('Transfer Succes');
858                     Begin
859                      Select Object_Version_Number
860                      Into   px_Cp_Object_Version_Number
861                      From   CSI_ITEM_INSTANCES
862                      Where  instance_id = l_Instance_Rec.Instance_Id;
863                     Exception
864                      When Others Then
865                           Null;
866                     End;
867                     Begin
868                      Select Object_Version_Number
869                      Into   Px_IPA_Object_Version_Number
870                      From   CSI_IP_ACCOUNTS
871                      Where  ip_account_id = l_Account_Tbl(1).IP_Account_Id;
872                     Exception
873                      When Others Then
874                           Null;
878 --     csi_gen_utility_pvt.put_line('call Update Item instance for owner ship transfer');
875                     End;
876 
877                 End If;
879 
880 Elsif p_block = 'ADDRESS' and NVL(p_form_mode,'!@#') <> 'TRANSFER' Then
881 
882            -- Call to Update Item Instance from Address Block to update Installed At Location and Shipp_To
883            CSI_ITEM_INSTANCE_PUB.update_item_instance  (
884                           p_api_version           => l_Api_Version
885                          ,p_commit                => l_Commit
886                          ,p_init_msg_list         => l_Init_Msg_List
887                          ,p_validation_level      => l_Validation_Level
888                          ,p_instance_rec          => l_Instance_Rec
889                          ,p_ext_attrib_values_tbl => l_Ext_Attrib_Values_Tbl
890                          ,p_party_tbl             => l_Party_Tbl
891                          ,p_account_tbl           => l_Account_Tbl
892                          ,p_pricing_attrib_tbl    => l_Pricing_Attrib_Tbl
893                          ,p_org_assignments_tbl   => l_Org_Assignments_Tbl
894                          ,p_txn_rec               => l_Txn_Rec
895                          ,p_asset_assignment_tbl  => l_asset_Assignment_Tbl
896                          ,x_instance_id_lst       => l_instance_Id_Lst
897                          ,x_return_status         => x_Return_Status
898                          ,x_msg_count             => x_Msg_Count
899                          ,x_msg_data              => x_Msg_Data
900                                                      );
901 
902                 IF x_Return_Status = FND_API.G_Ret_Sts_Success THEN
903      csi_gen_utility_pvt.put_line('Update Shipto, Installed Address success in non Transfer Mode');
904 
905                     Begin
906                      Select Object_Version_Number
907                      Into   px_Cp_Object_Version_Number
908                      From   CSI_ITEM_INSTANCES
909                      Where  instance_id = l_Instance_Rec.Instance_Id;
910                     Exception
911                      When Others Then
912                           Null;
913                     End;
914                     Begin
915                      Select Object_Version_Number
916                      Into   Px_IPA_Object_Version_Number
917                      From   CSI_IP_ACCOUNTS
918                      Where  ip_account_id = l_Account_Tbl(1).IP_Account_Id;
919                     Exception
920                      When Others Then
921                           Null;
922                     End;
923 
924                 End If;
925 -- csi_gen_utility_pvt.put_line('address Ins Obj '||px_Cp_Object_Version_Number);
926 
927 Elsif p_block = 'PRODUCT' and nvl(p_form_mode,'!@#') <> 'TRANSFER' Then
928 
929            -- Call to Update Item Instance from Address Block to update Installed At Location
930            CSI_ITEM_INSTANCE_PUB.update_item_instance  (
931                                p_api_version           => l_Api_Version
932                               ,p_commit                => l_Commit
933                               ,p_init_msg_list         => l_Init_Msg_List
934                               ,p_validation_level      => l_Validation_Level
935                               ,p_instance_rec          => l_Instance_Rec
936                               ,p_ext_attrib_values_tbl => l_Ext_Attrib_Values_Tbl
937                               ,p_party_tbl             => l_Party_Tbl
938                               ,p_account_tbl           => l_Account_Tbl
939                               ,p_pricing_attrib_tbl    => l_Pricing_Attrib_Tbl
940                               ,p_org_assignments_tbl   => l_Org_Assignments_Tbl
941                               ,p_txn_rec               => l_Txn_Rec
942                               ,p_asset_assignment_tbl  => l_asset_Assignment_Tbl
943                               ,x_instance_id_lst       => l_instance_Id_Lst
944                               ,x_return_status         => x_Return_Status
945                               ,x_msg_count             => x_Msg_Count
946                               ,x_msg_data              => x_Msg_Data
947                                                        );
948 
949                 IF x_Return_Status = FND_API.G_Ret_Sts_Success THEN
950        csi_gen_utility_pvt.put_line('Update Instance related info success in non Transfer Mode');
951                      Select Object_Version_Number
952                      Into   px_Cp_Object_Version_Number
953                      From   CSI_ITEM_INSTANCES
954                      Where  instance_id = l_Instance_Rec.Instance_Id;
955                 End If;
956 --                     csi_gen_utility_pvt.put_line('Product Ins Obj '||px_Cp_Object_Version_Number);
957 End If;
958 
959    IF NOT x_Return_Status = FND_API.G_Ret_Sts_Success THEN
960    	  l_msg_index := 1;
961    	  WHILE x_msg_count > 0
962             LOOP
963         		x_Msg_Data:= x_Msg_Data||FND_MSG_PUB.GET(l_msg_index,FND_API.G_FALSE);
964         		l_msg_index := l_msg_index + 1;
965                 x_Msg_Count := x_Msg_Count - 1;
966           	 END LOOP;
967       RAISE fnd_api.g_Exc_Error;
968    END IF;
969 
970 EXCEPTION
971 
972 	WHEN FND_API.G_EXC_ERROR THEN
973 		x_return_status := FND_API.G_RET_STS_ERROR ;
974 		FND_MSG_PUB.Count_And_Get
975 			(p_count => x_msg_count ,
976 			 p_data => x_msg_data
977 			);
978 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
979 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
980 		FND_MSG_PUB.Count_And_Get
981 		(p_count => x_msg_count ,
982 		 p_data => x_msg_data
983 		);
984 	WHEN OTHERS THEN
985 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
986 		IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
990 			(p_count => x_msg_count ,
987 			FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
988 		END IF;
989 		FND_MSG_PUB.Count_And_Get
991 			 p_data => x_msg_data
992 			);
993 
994 END Update_Row;
995 
996 PROCEDURE Lock_Row(
997 p_CUSTOMER_PRODUCT_ID	   IN NUMBER,
998 P_INSTANCE_PARTY_ID  IN NUMBER,
999 P_IP_ACCOUNT_ID  IN NUMBER,
1000 P_PRICING_ATTRIBUTE_ID IN NUMBER,
1001 P_INSTANCE_OU_ID IN NUMBER,
1002 P_RELATIONSHIP_ID IN NUMBER,
1003 p_CUSTOMER_ID   IN NUMBER,
1004 p_INVENTORY_ITEM_ID   IN NUMBER,
1005 p_LOT_NUMBER  IN VARCHAR2,
1006 p_CREATED_MANUALLY_FLAG  IN VARCHAR2,
1007 p_MOST_RECENT_FLAG IN VARCHAR2,
1008 p_CURRENT_CP_REVISION_ID IN NUMBER,
1009 p_REVISION				 IN VARCHAR2,
1010 p_CURRENT_SERIAL_NUMBER  IN VARCHAR2,
1011 p_TYPE_CODE  IN VARCHAR2,
1012 p_SYSTEM_ID  IN NUMBER,
1013 p_PRODUCT_AGREEMENT_ID   IN NUMBER,
1014 p_INSTALLATION_DATE   IN DATE,
1015 p_ORIGINAL_ORDER_LINE_ID IN NUMBER,
1016 p_ORIGINAL_LINE_SERV_DETAIL_ID IN NUMBER,
1017 p_ORIGINAL_NET_AMOUNT IN NUMBER,
1018 p_SHIP_TO_SITE_USE_ID IN NUMBER,
1019 p_BILL_TO_SITE_USE_ID IN NUMBER,
1020 p_INSTALL_SITE_USE_ID IN NUMBER,
1021 p_QUANTITY   IN NUMBER,
1022 p_SHIPPED_FLAG  IN VARCHAR2,
1023 p_DELIVERED_FLAG   IN VARCHAR2,
1024 p_UNIT_OF_MEASURE_CODE   IN VARCHAR2,
1025 p_PARENT_CP_ID  IN NUMBER,
1026 p_CUSTOMER_PRODUCT_STATUS_ID   IN NUMBER,
1027 p_SHIPPED_DATE  IN DATE,
1028 p_ORG_ID  IN NUMBER,
1029 p_REFERENCE_NUMBER IN NUMBER,
1030 p_RETURN_BY_DATE   IN DATE,
1031 p_ACTUAL_RETURNED_DATE   IN DATE,
1032 p_RMA_LINE_ID   IN NUMBER,
1033 p_SPLIT_FLAG  IN VARCHAR2,
1034 p_PROJECT_ID  IN NUMBER,
1035 p_TASK_ID  IN NUMBER,
1036 p_CONFIG_ENABLED_FLAG IN VARCHAR2,
1037 p_CONFIG_START_DATE   IN DATE,
1038 p_CONFIG_END_DATE  IN DATE,
1039 p_CONFIG_ROOT_ID   IN NUMBER,
1040 p_CONFIG_PARENT_ID IN NUMBER,
1041 p_CONFIG_TYPE   IN VARCHAR2,
1042 p_PLATFORM_VERSION_ID IN NUMBER,
1043 p_START_DATE_ACTIVE   IN DATE,
1044 p_END_DATE_ACTIVE  IN DATE,
1045 p_MERCHANT_VIEW_FLAG		 IN VARCHAR2,
1046 p_CUSTOMER_VIEW_FLAG		 IN VARCHAR2,
1047 p_ATTRIBUTE1  IN VARCHAR2,
1048 p_ATTRIBUTE2  IN VARCHAR2,
1049 p_ATTRIBUTE3  IN VARCHAR2,
1050 p_ATTRIBUTE4  IN VARCHAR2,
1051 p_ATTRIBUTE5  IN VARCHAR2,
1052 p_ATTRIBUTE6  IN VARCHAR2,
1053 p_ATTRIBUTE7  IN VARCHAR2,
1054 p_ATTRIBUTE8  IN VARCHAR2,
1055 p_ATTRIBUTE9  IN VARCHAR2,
1056 p_ATTRIBUTE10   IN VARCHAR2,
1057 p_ATTRIBUTE11   IN VARCHAR2,
1058 p_ATTRIBUTE12   IN VARCHAR2,
1059 p_ATTRIBUTE13   IN VARCHAR2,
1060 p_ATTRIBUTE14   IN VARCHAR2,
1061 p_ATTRIBUTE15   IN VARCHAR2,
1062 p_CONTEXT  IN VARCHAR2,
1063 p_PRICING_CONTEXT		IN VARCHAR2,
1064 p_PRICING_ATTRIBUTE1		IN VARCHAR2,
1065 p_PRICING_ATTRIBUTE2		IN VARCHAR2,
1066 p_PRICING_ATTRIBUTE3		IN VARCHAR2,
1067 p_PRICING_ATTRIBUTE4		IN VARCHAR2,
1068 p_PRICING_ATTRIBUTE5		IN VARCHAR2,
1069 p_PRICING_ATTRIBUTE6		IN VARCHAR2,
1070 p_PRICING_ATTRIBUTE7		IN VARCHAR2,
1071 p_PRICING_ATTRIBUTE8		IN VARCHAR2,
1072 p_PRICING_ATTRIBUTE9		IN VARCHAR2,
1073 p_PRICING_ATTRIBUTE10		IN VARCHAR2,
1074 p_PRICING_ATTRIBUTE11		IN VARCHAR2,
1075 p_PRICING_ATTRIBUTE12		IN VARCHAR2,
1076 p_PRICING_ATTRIBUTE13		IN VARCHAR2,
1077 p_PRICING_ATTRIBUTE14		IN VARCHAR2,
1078 p_PRICING_ATTRIBUTE15		IN VARCHAR2,
1079 p_PRICING_ATTRIBUTE16		IN VARCHAR2,
1080 p_PRICING_ATTRIBUTE17		IN VARCHAR2,
1081 p_PRICING_ATTRIBUTE18		IN VARCHAR2,
1082 p_PRICING_ATTRIBUTE19		IN VARCHAR2,
1083 p_PRICING_ATTRIBUTE20		IN VARCHAR2,
1084 p_PRICING_ATTRIBUTE21		IN VARCHAR2,
1085 p_PRICING_ATTRIBUTE22		IN VARCHAR2,
1086 p_PRICING_ATTRIBUTE23		IN VARCHAR2,
1087 p_PRICING_ATTRIBUTE24		IN VARCHAR2,
1088 p_PRICING_ATTRIBUTE25		IN VARCHAR2,
1089 p_PRICING_ATTRIBUTE26		IN VARCHAR2,
1090 p_PRICING_ATTRIBUTE27		IN VARCHAR2,
1091 p_PRICING_ATTRIBUTE28		IN VARCHAR2,
1092 p_PRICING_ATTRIBUTE29		IN VARCHAR2,
1093 p_PRICING_ATTRIBUTE30		IN VARCHAR2,
1094 p_PRICING_ATTRIBUTE31		IN VARCHAR2,
1095 p_PRICING_ATTRIBUTE32		IN VARCHAR2,
1096 p_PRICING_ATTRIBUTE33		IN VARCHAR2,
1097 p_PRICING_ATTRIBUTE34		IN VARCHAR2,
1098 p_PRICING_ATTRIBUTE35		IN VARCHAR2,
1099 p_PRICING_ATTRIBUTE36		IN VARCHAR2,
1100 p_PRICING_ATTRIBUTE37		IN VARCHAR2,
1101 p_PRICING_ATTRIBUTE38		IN VARCHAR2,
1102 p_PRICING_ATTRIBUTE39		IN VARCHAR2,
1103 p_PRICING_ATTRIBUTE40		IN VARCHAR2,
1104 p_PRICING_ATTRIBUTE41		IN VARCHAR2,
1105 p_PRICING_ATTRIBUTE42		IN VARCHAR2,
1106 p_PRICING_ATTRIBUTE43		IN VARCHAR2,
1107 p_PRICING_ATTRIBUTE44		IN VARCHAR2,
1108 p_PRICING_ATTRIBUTE45		IN VARCHAR2,
1109 p_PRICING_ATTRIBUTE46		IN VARCHAR2,
1110 p_PRICING_ATTRIBUTE47		IN VARCHAR2,
1111 p_PRICING_ATTRIBUTE48		IN VARCHAR2,
1112 p_PRICING_ATTRIBUTE49		IN VARCHAR2,
1113 p_PRICING_ATTRIBUTE50		IN VARCHAR2,
1114 p_PRICING_ATTRIBUTE51		IN VARCHAR2,
1115 p_PRICING_ATTRIBUTE52		IN VARCHAR2,
1116 p_PRICING_ATTRIBUTE53		IN VARCHAR2,
1117 p_PRICING_ATTRIBUTE54		IN VARCHAR2,
1118 p_PRICING_ATTRIBUTE55		IN VARCHAR2,
1119 p_PRICING_ATTRIBUTE56		IN VARCHAR2,
1120 p_PRICING_ATTRIBUTE57		IN VARCHAR2,
1121 p_PRICING_ATTRIBUTE58		IN VARCHAR2,
1122 p_PRICING_ATTRIBUTE59		IN VARCHAR2,
1123 p_PRICING_ATTRIBUTE60		IN VARCHAR2,
1124 p_PRICING_ATTRIBUTE61		IN VARCHAR2,
1125 p_PRICING_ATTRIBUTE62		IN VARCHAR2,
1126 p_PRICING_ATTRIBUTE63		IN VARCHAR2,
1127 p_PRICING_ATTRIBUTE64		IN VARCHAR2,
1128 p_PRICING_ATTRIBUTE65		IN VARCHAR2,
1129 p_PRICING_ATTRIBUTE66		IN VARCHAR2,
1130 p_PRICING_ATTRIBUTE67		IN VARCHAR2,
1131 p_PRICING_ATTRIBUTE68		IN VARCHAR2,
1132 p_PRICING_ATTRIBUTE69		IN VARCHAR2,
1133 p_PRICING_ATTRIBUTE70		IN VARCHAR2,
1134 p_PRICING_ATTRIBUTE71		IN VARCHAR2,
1135 p_PRICING_ATTRIBUTE72		IN VARCHAR2,
1136 p_PRICING_ATTRIBUTE73		IN VARCHAR2,
1137 p_PRICING_ATTRIBUTE74		IN VARCHAR2,
1141 p_PRICING_ATTRIBUTE78		IN VARCHAR2,
1138 p_PRICING_ATTRIBUTE75		IN VARCHAR2,
1139 p_PRICING_ATTRIBUTE76		IN VARCHAR2,
1140 p_PRICING_ATTRIBUTE77		IN VARCHAR2,
1142 p_PRICING_ATTRIBUTE79		IN VARCHAR2,
1143 p_PRICING_ATTRIBUTE80		IN VARCHAR2,
1144 p_PRICING_ATTRIBUTE81		IN VARCHAR2,
1145 p_PRICING_ATTRIBUTE82		IN VARCHAR2,
1146 p_PRICING_ATTRIBUTE83		IN VARCHAR2,
1147 p_PRICING_ATTRIBUTE84		IN VARCHAR2,
1148 p_PRICING_ATTRIBUTE85		IN VARCHAR2,
1149 p_PRICING_ATTRIBUTE86		IN VARCHAR2,
1150 p_PRICING_ATTRIBUTE87		IN VARCHAR2,
1151 p_PRICING_ATTRIBUTE88		IN VARCHAR2,
1152 p_PRICING_ATTRIBUTE89		IN VARCHAR2,
1153 p_PRICING_ATTRIBUTE90		IN VARCHAR2,
1154 p_PRICING_ATTRIBUTE91		IN VARCHAR2,
1155 p_PRICING_ATTRIBUTE92		IN VARCHAR2,
1156 p_PRICING_ATTRIBUTE93		IN VARCHAR2,
1157 p_PRICING_ATTRIBUTE94		IN VARCHAR2,
1158 p_PRICING_ATTRIBUTE95		IN VARCHAR2,
1159 p_PRICING_ATTRIBUTE96		IN VARCHAR2,
1160 p_PRICING_ATTRIBUTE97		IN VARCHAR2,
1161 p_PRICING_ATTRIBUTE98		IN VARCHAR2,
1162 p_PRICING_ATTRIBUTE99		IN VARCHAR2,
1163 p_PRICING_ATTRIBUTE100		IN VARCHAR2,
1164 p_COMMENTS				 IN VARCHAR2
1165  ) IS
1166 CURSOR C1 IS
1167 	SELECT *
1168 	FROM CSI_ITEM_INSTANCES
1169 	WHERE INSTANCE_ID = p_CUSTOMER_PRODUCT_ID
1170 	FOR UPDATE of INSTANCE_ID NOWAIT;
1171 	FetchC1	C1%ROWTYPE;
1172 CURSOR C2 IS
1173 	SELECT *
1174 	FROM CSI_I_PARTIES
1175 	WHERE INSTANCE_PARTY_ID = p_INSTANCE_PARTY_ID
1176 	FOR UPDATE of INSTANCE_PARTY_ID NOWAIT;
1177 	FetchC2	C2%ROWTYPE;
1178 CURSOR C3 IS
1179 	SELECT *
1180 	FROM CSI_IP_ACCOUNTS
1181 	WHERE IP_ACCOUNT_ID = p_IP_ACCOUNT_ID
1182 	FOR UPDATE of IP_ACCOUNT_ID NOWAIT;
1183 	FetchC3	C3%ROWTYPE;
1184 CURSOR C4 IS
1185 	SELECT *
1186 	FROM CSI_I_PRICING_ATTRIBS
1187 	WHERE PRICING_ATTRIBUTE_ID = p_PRICING_ATTRIBUTE_ID
1188 	FOR UPDATE of PRICING_ATTRIBUTE_ID NOWAIT;
1189 	FetchC4	C4%ROWTYPE;
1190 CURSOR C5 IS
1191 	SELECT *
1192 	FROM CSI_II_Relationships
1193 	WHERE RELATIONSHIP_ID = p_RELATIONSHIP_ID
1194 	FOR UPDATE of RELATIONSHIP_ID NOWAIT;
1195 	FetchC5	C5%ROWTYPE;
1196 CURSOR C6 IS
1197 	SELECT *
1198 	FROM CSI_I_Org_assignments
1199 	WHERE INSTANCE_OU_ID = p_INSTANCE_OU_ID
1200 	FOR UPDATE of INSTANCE_OU_ID NOWAIT;
1201 	FetchC6	C6%ROWTYPE;
1202 
1203 BEGIN
1204 	open C1;
1205 	FETCH C1 into FetchC1;
1206 	If (C1%NOTFOUND ) then
1207 		CLOSE C1;
1208 		FND_MESSAGE.SET_NAME('CSI','FORM_RECORD_DELETED');
1209 	End If;
1210 	close C1;
1211 
1212 	open C2;
1213 	FETCH C2 into FetchC2;
1214 	If (C2%NOTFOUND ) then
1215 		CLOSE C2;
1216 		FND_MESSAGE.SET_NAME('CSI','FORM_RECORD_DELETED');
1217 	End If;
1218 	close C2;
1219 
1220 	open C3;
1221 	FETCH C3 into FetchC3;
1222 	If (C3%NOTFOUND ) then
1223 		CLOSE C3;
1224 		FND_MESSAGE.SET_NAME('CSI','FORM_RECORD_DELETED');
1225 	End If;
1226 	close C3;
1227 
1228 	open C4;
1229 	FETCH C4 into FetchC4;
1230 	If (C4%NOTFOUND ) then
1231 		CLOSE C4;
1232 		FND_MESSAGE.SET_NAME('CSI','FORM_RECORD_DELETED');
1233 	End If;
1234     close C4;
1235 
1236 	open C5;
1237 	FETCH C5 into FetchC5;
1238 	If (C5%NOTFOUND ) then
1239 		CLOSE C5;
1240 		FND_MESSAGE.SET_NAME('CSI','FORM_RECORD_DELETED');
1241 	End If;
1242     close C5;
1243 
1244 	open C6;
1245 	FETCH C6 into FetchC6;
1246 	If (C6%NOTFOUND ) then
1247 		CLOSE C6;
1248 		FND_MESSAGE.SET_NAME('CSI','FORM_RECORD_DELETED');
1249 	End If;
1250     close C6;
1251 
1252 END Lock_Row;
1253 PROCEDURE Split_Product
1254 (
1255 	p_api_version		IN	NUMBER,
1256 	p_init_msg_list		IN	VARCHAR2  := FND_API.G_FALSE,
1257 	p_commit		IN	VARCHAR2  := FND_API.G_FALSE,
1258 	x_return_status	 OUT NOCOPY VARCHAR2,
1259 	x_msg_count      OUT NOCOPY NUMBER,
1260 	x_msg_data	 OUT NOCOPY VARCHAR2,
1261 	p_cp_id			IN	NUMBER,
1262 	p_qty1			IN	NUMBER,
1263 	p_qty2			IN	NUMBER,
1264         p_org_id                IN      NUMBER    := FND_API.G_MISS_NUM,
1265 	p_reason_code		IN	VARCHAR2,
1266 	x_new_parent_cp_id OUT NOCOPY NUMBER
1267 ) IS
1268      l_api_version           NUMBER   := 1
1269     ;l_commit                VARCHAR2(1) := fnd_api.g_false
1270     ;l_init_msg_list         VARCHAR2(1) := fnd_api.g_true
1271     ;l_validation_level      NUMBER   := fnd_api.g_valid_level_full
1272     ;l_msg_index             NUMBER
1273     ;l_True                  VARCHAR2(1) := fnd_api.g_true
1274     ;l_Api_Name              VARCHAR2(30) := 'SPLIT_PRODUCT'
1275     ;l_source_instance_rec   csi_datastructures_pub.instance_rec
1276     ;x_new_instance_rec      csi_datastructures_pub.instance_rec
1277     ;l_txn_rec               csi_datastructures_pub.transaction_rec
1278     ;
1279 
1280 BEGIN
1281     l_Source_Instance_Rec.Instance_Id := p_Cp_Id;
1282     l_Source_Instance_Rec.vld_organization_Id := p_org_Id;
1283     l_Txn_Rec.Source_Transaction_Date := SYSDATE;
1284     l_Txn_Rec.Transaction_Date := SYSDATE;
1285     l_Txn_Rec.Transaction_Type_Id := Get_Txn_Type;
1286 CSI_ITEM_INSTANCE_PVT.SPLIT_ITEM_INSTANCE
1287  (
1288   p_api_version               => l_Api_Version,
1289   p_commit                    => l_Commit,
1290   p_init_msg_list             => l_Init_Msg_List,
1291   p_validation_level          => l_validation_Level,
1292   p_source_instance_rec       => l_Source_Instance_Rec,
1293   p_quantity1                 => p_qty1,
1294   p_quantity2                 => p_Qty2,
1295   p_copy_ext_attribs          => l_True,
1296   p_copy_org_assignments      => l_True,
1297   p_copy_parties              => l_True,
1298   p_copy_accounts             => l_True,
1299   p_copy_asset_assignments    => l_True,
1300   p_copy_pricing_attribs      => l_True,
1301   p_txn_rec                   => l_Txn_Rec,
1302   x_new_instance_rec          => x_New_Instance_Rec,
1303   x_return_status             => x_return_Status,
1304   x_msg_count                 => x_msg_count,
1305   x_msg_data                  => x_msg_data
1306  );
1307    IF NOT x_Return_Status = FND_API.G_Ret_Sts_Success
1308    THEN
1309  	l_msg_index := 1;
1310 	 WHILE x_msg_count > 0
1311          LOOP
1312 		x_Msg_Data:= x_Msg_Data||FND_MSG_PUB.GET(l_msg_index,
1313 			     		                   FND_API.G_FALSE);
1314 		l_msg_index := l_msg_index + 1;
1315          x_Msg_Count := x_Msg_Count - 1;
1316   	 END LOOP;
1317    RAISE fnd_api.g_Exc_Error;
1318   END IF;
1319  x_new_parent_cp_id := x_new_Instance_Rec.Instance_Id;
1320 EXCEPTION
1321 
1322 	WHEN FND_API.G_EXC_ERROR THEN
1323 		x_return_status := FND_API.G_RET_STS_ERROR ;
1324 		FND_MSG_PUB.Count_And_Get
1325 			(p_count => x_msg_count ,
1326 			 p_data => x_msg_data
1327 			);
1328 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1329 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1330 		FND_MSG_PUB.Count_And_Get
1331 		(p_count => x_msg_count ,
1332 		 p_data => x_msg_data
1333 		);
1334 	WHEN OTHERS THEN
1335 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1336 		IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1337 			FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
1338 		END IF;
1339 		FND_MSG_PUB.Count_And_Get
1340 			(p_count => x_msg_count ,
1341 			 p_data => x_msg_data
1342 			);
1343 
1344 END Split_Product;
1345 PROCEDURE Split_Product
1346 (
1347 	p_api_version			IN	NUMBER,
1348 	p_init_msg_list		IN	VARCHAR2	:= FND_API.G_FALSE,
1349 	p_commit				IN	VARCHAR2	:= FND_API.G_FALSE,
1350 	x_return_status	 OUT NOCOPY VARCHAR2,
1351 	x_msg_count		 OUT NOCOPY NUMBER,
1352 	x_msg_data		 OUT NOCOPY VARCHAR2,
1353 	p_cp_id				IN	NUMBER,
1354 	p_reason_code			IN	VARCHAR2,
1355     p_org_id                IN NUMBER := FND_API.G_MISS_NUM
1356 ) IS
1357 	l_api_name	CONSTANT	VARCHAR2(30)	:= 'Split_Product';
1358 	l_api_version	CONSTANT	NUMBER		:= 1.0;
1359 
1360 	l_cp_id			NUMBER;
1361 	l_qty			NUMBER;
1362 	l_new_qty			NUMBER;
1363 	l_reason_code		VARCHAR2(30);
1364 	l_plsql_errmsg		VARCHAR2(30);
1365 	l_dummy			NUMBER;
1366 	l_new_parent_cp_id	NUMBER;
1367   CURSOR Get_Qty_CUR IS
1368   SELECT Quantity
1369   FROM CSI_ITEM_INSTANCES
1370   WHERE Instance_Id = p_Cp_Id;
1371 
1372 BEGIN
1373 	x_return_status := FND_API.G_RET_STS_SUCCESS;
1374 
1375     OPEN Get_Qty_CUR;
1376     FETCH Get_Qty_CUR INTO l_Qty;
1377     IF NOT Get_Qty_CUR%FOUND
1378     THEN
1379 		FND_MESSAGE.SET_NAME('CS','CS_API_IB_CPID_INVALID');
1380 		FND_MESSAGE.SET_TOKEN('PARAM','p_cp_id');
1381 		FND_MSG_PUB.Add;
1382 		RAISE FND_API.G_EXC_ERROR;
1383     END IF;
1384 	-- This may be taken care of my the core SplitCP API.
1385 	-- No, it is not. It has to be taken care of by calling routine. So, I
1386 	-- have to handle it.
1387 	IF (l_qty = 1) THEN
1388 		FND_MESSAGE.SET_NAME('CS','CS_CP_SPLIT_QUANTITY_INVALID');
1389 		FND_MSG_PUB.Add;
1390 		RAISE FND_API.G_EXC_ERROR;
1391 	END IF;
1392 
1393 	WHILE l_qty > 1 LOOP
1394 		l_new_qty := l_qty - 1;
1395         l_qty := l_new_qty;
1396 		Split_Product
1397 		(
1398            p_api_version => 1.0,
1399 	       p_init_msg_list => FND_API.G_FALSE,
1400 	       p_commit	=> FND_API.G_FALSE,
1401 	       x_return_status => x_return_status,
1402            x_msg_count => x_msg_count,
1403 	       x_msg_data => x_msg_data,
1404 	       p_cp_id	=> p_cp_id,
1405 	       p_qty1 => l_new_qty,
1406 	       p_qty2 => 1,
1407            p_org_id  => p_org_id,
1408 	       p_reason_code =>	p_reason_code,
1409 		   x_new_parent_cp_id => l_new_parent_cp_id
1410 		);
1411 
1412 		IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
1413 			RETURN;
1414 		END IF;
1415 
1416 	END LOOP;
1417 	-- End of API Body
1418 
1419 	FND_MSG_PUB.Count_And_Get
1420 		(p_count => x_msg_count ,
1421 	      p_data => x_msg_data
1422 		);
1423 
1424 EXCEPTION
1425 
1426 	WHEN FND_API.G_EXC_ERROR THEN
1427 		x_return_status := FND_API.G_RET_STS_ERROR ;
1428 		FND_MSG_PUB.Count_And_Get
1429 			(p_count => x_msg_count ,
1430 			 p_data => x_msg_data
1431 			);
1432 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1433 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1434 		FND_MSG_PUB.Count_And_Get
1435 		(p_count => x_msg_count ,
1436 		 p_data => x_msg_data
1437 		);
1438 	WHEN OTHERS THEN
1439 		x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1440 		IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1441 			FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
1442 		END IF;
1443 		FND_MSG_PUB.Count_And_Get
1444 			(p_count => x_msg_count ,
1445 			 p_data => x_msg_data
1446 			);
1447 END Split_Product;
1448 END CSI_CUSTOMER_PRODUCTS_PKG;