40: ret_code NUMBER := 0;
41: l_err_text VARCHAR2(2000);
42:
43: l_commit VARCHAR2(1);
44: l_return_status VARCHAR2(1); -- := fnd_api.g_MISS_CHAR
45: l_msg_count NUMBER;
46: l_msg_data VARCHAR2(2000);
47: l_msg_name VARCHAR2(2000);
48: l_RETCODE NUMBER; -- G_SUCCESS, G_WARNING, G_ERROR
85:
86: --dbms_output.put_line('Enter INV_ITEM_CATALOG_ELE_PVT.Catalog_Grp_Ele_Val_Assignment');
87:
88: -- Check for call compatibility
89: IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,
90: l_api_name, G_PKG_NAME)
91: THEN
92: RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
93: END IF;
88: -- Check for call compatibility
89: IF NOT FND_API.Compatible_API_Call (l_api_version, p_api_version,
90: l_api_name, G_PKG_NAME)
91: THEN
92: RAISE FND_API.g_EXC_UNEXPECTED_ERROR;
93: END IF;
94:
95: --dbms_output.put_line('Before Initialize message list.');
96:
94:
95: --dbms_output.put_line('Before Initialize message list.');
96:
97: -- Initialize message list
98: IF (FND_API.To_Boolean (p_init_msg_list)) THEN
99: INV_ITEM_MSG.Initialize;
100: END IF;
101:
102: -- Define message context
103: Mctx.Package_Name := G_PKG_NAME;
104: Mctx.Procedure_Name := l_api_name;
105:
106: -- Initialize API return status to success
107: x_return_status := FND_API.g_RET_STS_SUCCESS;
108:
109: -- Check for NULL parameter values
110:
111: --dbms_output.put_line('Before IS NULL ; x_return_status = ' || x_return_status);
121: ( p_Msg_Name => 'INV_INVALID_ARG_NULL_VALUE'
122: , p_transaction_id => p_transaction_id
123: );
124:
125: RAISE FND_API.g_EXC_ERROR;
126: END IF;
127:
128: INV_ITEM_MSG.Debug(Mctx, 'Validate item');
129:
141:
142: IF ( ret_code = 0 ) THEN
143: l_inventory_item_id := flex_id;
144: IF ( p_inventory_item_id <> -999 AND p_inventory_item_id <> l_inventory_item_id) THEN
145: l_return_status := fnd_api.g_RET_STS_ERROR;
146: l_msg_name := 'INV_CEOI_ITEM_NUM_ID_MISMATCH';
147: l_token := 'VALUE1';
148: l_token_value := p_item_number;
149: l_column_name := 'ITEM_NUMBER';
151: l_token_value := p_inventory_item_id;
152: l_column_name := 'INVENTORY_ITEM_ID';
153: END IF;
154: ELSE
155: l_return_status := fnd_api.g_RET_STS_ERROR;
156: l_msg_name := 'INV_ICOI_INVALID_ITEM_NUMBER';
157: l_token := 'VALUE';
158: l_token_value := p_item_number;
159: l_column_name := 'ITEM_NUMBER';
159: l_column_name := 'ITEM_NUMBER';
160: END IF;
161:
162: END IF;
163: IF (l_return_status = fnd_api.g_RET_STS_ERROR) THEN
164: --YJAIN
165: --Bug 14068499
166: INV_ITEM_MSG.Add_Message
167: ( p_Msg_Name => l_msg_name
170: , p_column_name => l_column_name
171: , p_transaction_id => p_transaction_id
172: );
173:
174: RAISE FND_API.g_EXC_ERROR;
175: END IF;
176:
177: END IF;/*validation_level check***/
178:
185: --Bug 14068499
186: INV_ITEM_MSG.Add_Message( p_Msg_Name => 'INV_ORGITEM_ID_NOT_FOUND'
187: ,p_transaction_id => p_transaction_id);
188:
189: RAISE FND_API.g_EXC_ERROR;
190: END IF;
191: CLOSE org_item_exists_csr;
192:
193: --dbms_output.put_line('After OPEN org_item_exists_csr ; x_return_status = ' || x_return_status);
206: INV_ITEM_MSG.Add_Message( p_Msg_Name => 'INV_CEOI_CAT_GRP_NOT_FOUND'
207: ,p_transaction_id => p_transaction_id);
208:
209:
210: RAISE FND_API.g_EXC_ERROR;
211: END IF;
212: CLOSE catalog_group_csr;
213:
214: INV_ITEM_MSG.Debug(Mctx, 'Validate catalog Element name');
226: , p_value1 => p_element_name
227: , p_transaction_id => p_transaction_id
228: , p_column_name => 'ELEMENT_NAME'
229: );
230: RAISE FND_API.g_EXC_ERROR;
231: END IF;
232: CLOSE catalog_group_element_csr;
233:
234: INV_ITEM_MSG.Debug(Mctx, 'Validate catalog Element value');
242: , p_token1 => 'ELEMENT_NAME'
243: , p_value1 => p_element_name
244: , p_transaction_id => p_transaction_id );
245:
246: RAISE FND_API.g_EXC_ERROR;
247: END IF;
248:
249: -- Bug: 4062893 Check whether user has EDIT privilege on item for EGO.
250: IF INV_EGO_REVISION_VALIDATE.Get_Process_Control ='EGO_ITEM_BULKLOAD'
269: INV_ITEM_MSG.Add_Error
270: ( p_Msg_Name =>'INV_IOI_ITEM_UPDATE_PRIV'
271: , p_token => 'VALUE'
272: , p_value => l_item_number );
273: RAISE FND_API.g_EXC_ERROR;
274: END IF;
275:
276: -- Update the production table
277:
295:
296: INV_ITEM_MSG.Debug(Mctx, 'end UPDATE mtl_descr_element_values');
297:
298: -- Standard check of p_commit
299: IF (FND_API.To_Boolean (p_commit)) THEN
300:
301: INV_ITEM_MSG.Debug(Mctx, 'before COMMIT WORK');
302: COMMIT WORK;
303: END IF;
310: INV_ITEM_MSG.Write_List (p_delete => TRUE);
311:
312: EXCEPTION
313:
314: WHEN FND_API.g_EXC_ERROR THEN
315: ROLLBACK TO Catalog_Grp_Ele_Val_Assign_PVT;
316:
317: x_return_status := FND_API.g_RET_STS_ERROR;
318: INV_ITEM_MSG.Count_And_Get
313:
314: WHEN FND_API.g_EXC_ERROR THEN
315: ROLLBACK TO Catalog_Grp_Ele_Val_Assign_PVT;
316:
317: x_return_status := FND_API.g_RET_STS_ERROR;
318: INV_ITEM_MSG.Count_And_Get
319: ( p_count => x_msg_count
320: , p_data => x_msg_data
321: );
319: ( p_count => x_msg_count
320: , p_data => x_msg_data
321: );
322:
323: WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
324: ROLLBACK TO Catalog_Grp_Ele_Val_Assign_PVT;
325:
326: x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
327: INV_ITEM_MSG.Count_And_Get
322:
323: WHEN FND_API.g_EXC_UNEXPECTED_ERROR THEN
324: ROLLBACK TO Catalog_Grp_Ele_Val_Assign_PVT;
325:
326: x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
327: INV_ITEM_MSG.Count_And_Get
328: ( p_count => x_msg_count
329: , p_data => x_msg_data
330: );
331:
332: WHEN others THEN
333: ROLLBACK TO Catalog_Grp_Ele_Val_Assign_PVT;
334:
335: x_return_status := FND_API.g_RET_STS_UNEXP_ERROR;
336: INV_ITEM_MSG.Add_Unexpected_Error (Mctx, SQLERRM);
337:
338: INV_ITEM_MSG.Count_And_Get
339: ( p_count => x_msg_count