16: l_record_identifier VARCHAR2(2000) := '';
17:
18: BEGIN
19: IF ( p_effectivity_rec.name IS NOT NULL AND
20: p_effectivity_rec.name <> FND_API.G_MISS_CHAR ) THEN
21: l_record_identifier := p_effectivity_rec.name;
22: END IF;
23:
24: l_record_identifier := l_record_identifier || ' - ';
23:
24: l_record_identifier := l_record_identifier || ' - ';
25:
26: IF ( p_effectivity_rec.item_number IS NOT NULL AND
27: p_effectivity_rec.item_number <> FND_API.G_MISS_CHAR ) THEN
28: l_record_identifier := l_record_identifier || p_effectivity_rec.item_number;
29: END IF;
30:
31: IF ( G_APPLN_USAGE = 'PM' ) THEN
34:
35: l_record_identifier := l_record_identifier || ' - ';
36:
37: IF ( p_effectivity_rec.position_ref_meaning IS NOT NULL AND
38: p_effectivity_rec.position_ref_meaning <> FND_API.G_MISS_CHAR ) THEN
39: l_record_identifier := l_record_identifier || p_effectivity_rec.position_ref_meaning;
40: END IF;
41:
42: l_record_identifier := l_record_identifier || ' - ';
41:
42: l_record_identifier := l_record_identifier || ' - ';
43:
44: IF ( p_effectivity_rec.position_item_number IS NOT NULL AND
45: p_effectivity_rec.position_item_number <> FND_API.G_MISS_CHAR ) THEN
46: l_record_identifier := l_record_identifier || p_effectivity_rec.position_item_number;
47: END IF;
48:
49: l_record_identifier := l_record_identifier || ' - ';
48:
49: l_record_identifier := l_record_identifier || ' - ';
50:
51: IF ( p_effectivity_rec.pc_node_name IS NOT NULL AND
52: p_effectivity_rec.pc_node_name <> FND_API.G_MISS_CHAR ) THEN
53: l_record_identifier := l_record_identifier || p_effectivity_rec.pc_node_name;
54: END IF;
55:
56: RETURN l_record_identifier;
73: l_mr_type_code VARCHAR2(30);
74: l_pm_install_flag VARCHAR2(1);
75:
76: BEGIN
77: x_return_status := FND_API.G_RET_STS_SUCCESS;
78:
79: -- Check if a valid value is passed in p_mr_header_id
80:
81: IF ( p_mr_header_id = FND_API.G_MISS_NUM OR
77: x_return_status := FND_API.G_RET_STS_SUCCESS;
78:
79: -- Check if a valid value is passed in p_mr_header_id
80:
81: IF ( p_mr_header_id = FND_API.G_MISS_NUM OR
82: p_mr_header_id IS NULL ) THEN
83: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_MR_HEADER_ID_NULL' );
84: FND_MSG_PUB.add;
85: x_return_status := FND_API.G_RET_STS_ERROR;
81: IF ( p_mr_header_id = FND_API.G_MISS_NUM OR
82: p_mr_header_id IS NULL ) THEN
83: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_MR_HEADER_ID_NULL' );
84: FND_MSG_PUB.add;
85: x_return_status := FND_API.G_RET_STS_ERROR;
86: RETURN;
87: IF G_DEBUG = 'Y' THEN
88: AHL_DEBUG_PUB.debug('MR_HEADER_ID is null to validate_api_inputs' );
89: END IF;
109: l_mr_status_code :=AHL_FMP_COMMON_PVT.check_mr_status(p_mr_header_id);
110: IF l_mr_status_code IS NULL THEN
111: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_INVALID_MR' );
112: FND_MSG_PUB.add;
113: x_return_status := FND_API.G_RET_STS_ERROR;
114: RETURN;
115: END IF;
116:
117: --check if mr type.
150: IF ( p_effectivity_tbl.count < 1 ) THEN
151: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_PROCEDURE_CALL' );
152: FND_MESSAGE.set_token( 'PROCEDURE', G_PKG_NAME || '.' || G_API_NAME );
153: FND_MSG_PUB.add;
154: x_return_status := FND_API.G_RET_STS_ERROR;
155: RETURN;
156: END IF;
157:
158: FOR i IN 1..p_effectivity_tbl.count LOOP
164: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_DML' );
165: FND_MESSAGE.set_token( 'FIELD', p_effectivity_tbl(i).dml_operation );
166: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_tbl(i) ) );
167: FND_MSG_PUB.add;
168: x_return_status := FND_API.G_RET_STS_ERROR;
169: END IF;
170:
171: IF ( l_pm_install_flag = 'Y' AND
172: p_effectivity_tbl(i).dml_operation = 'D' AND
179: x_msg_data => l_error_code,
180: p_effectivity_id => p_effectivity_tbl(i).MR_EFFECTIVITY_ID,
181: p_eff_obj_version => p_effectivity_tbl(i).OBJECT_VERSION_NUMBER
182: );
183: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
184: FND_MESSAGE.set_name( 'AHL', l_error_code );
185: FND_MSG_PUB.add;
186: x_return_status := FND_API.G_RET_STS_ERROR;
187: RETURN;
182: );
183: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
184: FND_MESSAGE.set_name( 'AHL', l_error_code );
185: FND_MSG_PUB.add;
186: x_return_status := FND_API.G_RET_STS_ERROR;
187: RETURN;
188: END IF;
189: END IF;
190:
201: p_effectivity_id => p_effectivity_tbl(i).MR_EFFECTIVITY_ID,
202: p_eff_obj_version => p_effectivity_tbl(i).OBJECT_VERSION_NUMBER
203: );
204:
205: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
206: FND_MESSAGE.set_name( 'AHL', l_error_code );
207: FND_MSG_PUB.add;
208: x_return_status := FND_API.G_RET_STS_ERROR;
209: RETURN;
204:
205: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
206: FND_MESSAGE.set_name( 'AHL', l_error_code );
207: FND_MSG_PUB.add;
208: x_return_status := FND_API.G_RET_STS_ERROR;
209: RETURN;
210: END IF;
211: END IF;
212:
217: l_mr_status_code = 'COMPLETE') THEN
218: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_INVALID_UPDATE' );
219: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_tbl(i) ) );
220: FND_MSG_PUB.add;
221: x_return_status := FND_API.G_RET_STS_ERROR;
222: RETURN;
223: END IF;
224:
225:
227: IF ( P_APPLN_USAGE = 'PM' AND
228: p_effectivity_tbl(i).dml_operation <> 'D' ) THEN
229:
230: IF ( ( p_effectivity_tbl(i).relationship_id IS NOT NULL AND
231: p_effectivity_tbl(i).relationship_id <> FND_API.G_MISS_NUM ) OR
232: ( p_effectivity_tbl(i).position_ref_meaning IS NOT NULL AND
233: p_effectivity_tbl(i).position_ref_meaning <> FND_API.G_MISS_CHAR ) ) THEN
234: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_PM_INPUT_MC_POS' );
235: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_tbl(i) ) );
229:
230: IF ( ( p_effectivity_tbl(i).relationship_id IS NOT NULL AND
231: p_effectivity_tbl(i).relationship_id <> FND_API.G_MISS_NUM ) OR
232: ( p_effectivity_tbl(i).position_ref_meaning IS NOT NULL AND
233: p_effectivity_tbl(i).position_ref_meaning <> FND_API.G_MISS_CHAR ) ) THEN
234: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_PM_INPUT_MC_POS' );
235: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_tbl(i) ) );
236: FND_MSG_PUB.add;
237: x_return_status := FND_API.G_RET_STS_ERROR;
233: p_effectivity_tbl(i).position_ref_meaning <> FND_API.G_MISS_CHAR ) ) THEN
234: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_PM_INPUT_MC_POS' );
235: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_tbl(i) ) );
236: FND_MSG_PUB.add;
237: x_return_status := FND_API.G_RET_STS_ERROR;
238: END IF;
239:
240: IF ( ( p_effectivity_tbl(i).position_inventory_item_id IS NOT NULL AND
241: p_effectivity_tbl(i).position_inventory_item_id <> FND_API.G_MISS_NUM ) OR
237: x_return_status := FND_API.G_RET_STS_ERROR;
238: END IF;
239:
240: IF ( ( p_effectivity_tbl(i).position_inventory_item_id IS NOT NULL AND
241: p_effectivity_tbl(i).position_inventory_item_id <> FND_API.G_MISS_NUM ) OR
242: ( p_effectivity_tbl(i).position_item_number IS NOT NULL AND
243: p_effectivity_tbl(i).position_item_number <> FND_API.G_MISS_CHAR ) ) THEN
244: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_PM_INPUT_MC_POS_ITEM' );
245: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_tbl(i) ) );
239:
240: IF ( ( p_effectivity_tbl(i).position_inventory_item_id IS NOT NULL AND
241: p_effectivity_tbl(i).position_inventory_item_id <> FND_API.G_MISS_NUM ) OR
242: ( p_effectivity_tbl(i).position_item_number IS NOT NULL AND
243: p_effectivity_tbl(i).position_item_number <> FND_API.G_MISS_CHAR ) ) THEN
244: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_PM_INPUT_MC_POS_ITEM' );
245: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_tbl(i) ) );
246: FND_MSG_PUB.add;
247: x_return_status := FND_API.G_RET_STS_ERROR;
243: p_effectivity_tbl(i).position_item_number <> FND_API.G_MISS_CHAR ) ) THEN
244: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_PM_INPUT_MC_POS_ITEM' );
245: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_tbl(i) ) );
246: FND_MSG_PUB.add;
247: x_return_status := FND_API.G_RET_STS_ERROR;
248: END IF;
249:
250: IF ( ( p_effectivity_tbl(i).pc_node_id IS NOT NULL AND
251: p_effectivity_tbl(i).pc_node_id <> FND_API.G_MISS_NUM ) OR
247: x_return_status := FND_API.G_RET_STS_ERROR;
248: END IF;
249:
250: IF ( ( p_effectivity_tbl(i).pc_node_id IS NOT NULL AND
251: p_effectivity_tbl(i).pc_node_id <> FND_API.G_MISS_NUM ) OR
252: ( p_effectivity_tbl(i).pc_node_name IS NOT NULL AND
253: p_effectivity_tbl(i).pc_node_name <> FND_API.G_MISS_CHAR ) ) THEN
254: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_PM_INPUT_PC_NODE' );
255: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_tbl(i) ) );
249:
250: IF ( ( p_effectivity_tbl(i).pc_node_id IS NOT NULL AND
251: p_effectivity_tbl(i).pc_node_id <> FND_API.G_MISS_NUM ) OR
252: ( p_effectivity_tbl(i).pc_node_name IS NOT NULL AND
253: p_effectivity_tbl(i).pc_node_name <> FND_API.G_MISS_CHAR ) ) THEN
254: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_PM_INPUT_PC_NODE' );
255: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_tbl(i) ) );
256: FND_MSG_PUB.add;
257: x_return_status := FND_API.G_RET_STS_ERROR;
253: p_effectivity_tbl(i).pc_node_name <> FND_API.G_MISS_CHAR ) ) THEN
254: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_PM_INPUT_PC_NODE' );
255: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_tbl(i) ) );
256: FND_MSG_PUB.add;
257: x_return_status := FND_API.G_RET_STS_ERROR;
258: END IF;
259:
260: END IF;
261:
273: BEGIN
274: /*
275: IF ( p_x_effectivity_rec.item_number IS NULL ) THEN
276: p_x_effectivity_rec.inventory_item_id := NULL;
277: ELSIF ( p_x_effectivity_rec.item_number = FND_API.G_MISS_CHAR ) THEN
278: p_x_effectivity_rec.inventory_item_id := FND_API.G_MISS_NUM;
279: END IF;
280: */
281: IF ( p_x_effectivity_rec.position_ref_meaning IS NULL ) THEN
274: /*
275: IF ( p_x_effectivity_rec.item_number IS NULL ) THEN
276: p_x_effectivity_rec.inventory_item_id := NULL;
277: ELSIF ( p_x_effectivity_rec.item_number = FND_API.G_MISS_CHAR ) THEN
278: p_x_effectivity_rec.inventory_item_id := FND_API.G_MISS_NUM;
279: END IF;
280: */
281: IF ( p_x_effectivity_rec.position_ref_meaning IS NULL ) THEN
282: p_x_effectivity_rec.relationship_id := NULL;
279: END IF;
280: */
281: IF ( p_x_effectivity_rec.position_ref_meaning IS NULL ) THEN
282: p_x_effectivity_rec.relationship_id := NULL;
283: ELSIF ( p_x_effectivity_rec.position_ref_meaning = FND_API.G_MISS_CHAR ) THEN
284: p_x_effectivity_rec.relationship_id := FND_API.G_MISS_NUM;
285: END IF;
286:
287: IF ( p_x_effectivity_rec.position_item_number IS NULL ) THEN
280: */
281: IF ( p_x_effectivity_rec.position_ref_meaning IS NULL ) THEN
282: p_x_effectivity_rec.relationship_id := NULL;
283: ELSIF ( p_x_effectivity_rec.position_ref_meaning = FND_API.G_MISS_CHAR ) THEN
284: p_x_effectivity_rec.relationship_id := FND_API.G_MISS_NUM;
285: END IF;
286:
287: IF ( p_x_effectivity_rec.position_item_number IS NULL ) THEN
288: p_x_effectivity_rec.position_inventory_item_id := NULL;
285: END IF;
286:
287: IF ( p_x_effectivity_rec.position_item_number IS NULL ) THEN
288: p_x_effectivity_rec.position_inventory_item_id := NULL;
289: ELSIF ( p_x_effectivity_rec.position_item_number = FND_API.G_MISS_CHAR ) THEN
290: p_x_effectivity_rec.position_inventory_item_id := FND_API.G_MISS_NUM;
291: END IF;
292:
293: IF ( p_x_effectivity_rec.pc_node_name IS NULL ) THEN
286:
287: IF ( p_x_effectivity_rec.position_item_number IS NULL ) THEN
288: p_x_effectivity_rec.position_inventory_item_id := NULL;
289: ELSIF ( p_x_effectivity_rec.position_item_number = FND_API.G_MISS_CHAR ) THEN
290: p_x_effectivity_rec.position_inventory_item_id := FND_API.G_MISS_NUM;
291: END IF;
292:
293: IF ( p_x_effectivity_rec.pc_node_name IS NULL ) THEN
294: p_x_effectivity_rec.pc_node_id := NULL;
291: END IF;
292:
293: IF ( p_x_effectivity_rec.pc_node_name IS NULL ) THEN
294: p_x_effectivity_rec.pc_node_id := NULL;
295: ELSIF ( p_x_effectivity_rec.pc_node_name = FND_API.G_MISS_CHAR ) THEN
296: p_x_effectivity_rec.pc_node_id := FND_API.G_MISS_NUM;
297: END IF;
298: END clear_lov_attribute_ids;
299:
292:
293: IF ( p_x_effectivity_rec.pc_node_name IS NULL ) THEN
294: p_x_effectivity_rec.pc_node_id := NULL;
295: ELSIF ( p_x_effectivity_rec.pc_node_name = FND_API.G_MISS_CHAR ) THEN
296: p_x_effectivity_rec.pc_node_id := FND_API.G_MISS_NUM;
297: END IF;
298: END clear_lov_attribute_ids;
299:
300: -- Procedure to perform Value to ID conversion for appropriate attributes
308: l_return_status VARCHAR2(1);
309: l_msg_data VARCHAR2(2000);
310:
311: BEGIN
312: x_return_status := FND_API.G_RET_STS_SUCCESS;
313:
314: -- Convert / Validate Item
315: IF ( ( p_x_effectivity_rec.inventory_item_id IS NOT NULL AND
316: p_x_effectivity_rec.inventory_item_id <> FND_API.G_MISS_NUM ) OR
312: x_return_status := FND_API.G_RET_STS_SUCCESS;
313:
314: -- Convert / Validate Item
315: IF ( ( p_x_effectivity_rec.inventory_item_id IS NOT NULL AND
316: p_x_effectivity_rec.inventory_item_id <> FND_API.G_MISS_NUM ) OR
317: ( p_x_effectivity_rec.item_number IS NOT NULL AND
318: p_x_effectivity_rec.item_number <> FND_API.G_MISS_CHAR ) ) THEN
319:
320: AHL_FMP_COMMON_PVT.validate_item
314: -- Convert / Validate Item
315: IF ( ( p_x_effectivity_rec.inventory_item_id IS NOT NULL AND
316: p_x_effectivity_rec.inventory_item_id <> FND_API.G_MISS_NUM ) OR
317: ( p_x_effectivity_rec.item_number IS NOT NULL AND
318: p_x_effectivity_rec.item_number <> FND_API.G_MISS_CHAR ) ) THEN
319:
320: AHL_FMP_COMMON_PVT.validate_item
321: (
322: x_return_status => l_return_status,
324: p_item_number => p_x_effectivity_rec.item_number,
325: p_x_inventory_item_id => p_x_effectivity_rec.inventory_item_id
326: );
327:
328: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
329: FND_MESSAGE.set_name( 'AHL', l_msg_data );
330:
331: IF ( p_x_effectivity_rec.item_number IS NULL OR
332: p_x_effectivity_rec.item_number = FND_API.G_MISS_CHAR ) THEN
328: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
329: FND_MESSAGE.set_name( 'AHL', l_msg_data );
330:
331: IF ( p_x_effectivity_rec.item_number IS NULL OR
332: p_x_effectivity_rec.item_number = FND_API.G_MISS_CHAR ) THEN
333: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_effectivity_rec.inventory_item_id ) );
334: ELSE
335: FND_MESSAGE.set_token( 'FIELD', p_x_effectivity_rec.item_number );
336: END IF;
342: END IF;
343:
344: -- Convert / Validate Master Configuration Position
345: IF ( ( p_x_effectivity_rec.relationship_id IS NOT NULL AND
346: p_x_effectivity_rec.relationship_id <> FND_API.G_MISS_NUM ) OR
347: ( p_x_effectivity_rec.position_ref_meaning IS NOT NULL AND
348: p_x_effectivity_rec.position_ref_meaning <> FND_API.G_MISS_CHAR ) )
349: THEN
350:
344: -- Convert / Validate Master Configuration Position
345: IF ( ( p_x_effectivity_rec.relationship_id IS NOT NULL AND
346: p_x_effectivity_rec.relationship_id <> FND_API.G_MISS_NUM ) OR
347: ( p_x_effectivity_rec.position_ref_meaning IS NOT NULL AND
348: p_x_effectivity_rec.position_ref_meaning <> FND_API.G_MISS_CHAR ) )
349: THEN
350:
351: AHL_FMP_COMMON_PVT.validate_position
352: (
355: p_position_ref_meaning => p_x_effectivity_rec.position_ref_meaning,
356: p_x_relationship_id => p_x_effectivity_rec.relationship_id
357: );
358:
359: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
360: FND_MESSAGE.set_name( 'AHL', l_msg_data );
361:
362: IF ( p_x_effectivity_rec.position_ref_meaning IS NULL OR
363: p_x_effectivity_rec.position_ref_meaning = FND_API.G_MISS_CHAR ) THEN
359: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
360: FND_MESSAGE.set_name( 'AHL', l_msg_data );
361:
362: IF ( p_x_effectivity_rec.position_ref_meaning IS NULL OR
363: p_x_effectivity_rec.position_ref_meaning = FND_API.G_MISS_CHAR ) THEN
364: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_effectivity_rec.relationship_id ) );
365: ELSE
366: FND_MESSAGE.set_token( 'FIELD', p_x_effectivity_rec.position_ref_meaning );
367: END IF;
373: END IF;
374:
375: -- Convert / Validate Master Configuration Item
376: IF ( ( p_x_effectivity_rec.position_inventory_item_id IS NOT NULL AND
377: p_x_effectivity_rec.position_inventory_item_id <> FND_API.G_MISS_NUM )
378: OR
379: ( p_x_effectivity_rec.position_item_number IS NOT NULL AND
380: p_x_effectivity_rec.position_item_number <> FND_API.G_MISS_CHAR ) )
381: THEN
376: IF ( ( p_x_effectivity_rec.position_inventory_item_id IS NOT NULL AND
377: p_x_effectivity_rec.position_inventory_item_id <> FND_API.G_MISS_NUM )
378: OR
379: ( p_x_effectivity_rec.position_item_number IS NOT NULL AND
380: p_x_effectivity_rec.position_item_number <> FND_API.G_MISS_CHAR ) )
381: THEN
382:
383: AHL_FMP_COMMON_PVT.validate_item
384: (
387: p_item_number => p_x_effectivity_rec.position_item_number,
388: p_x_inventory_item_id => p_x_effectivity_rec.position_inventory_item_id
389: );
390:
391: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
392: FND_MESSAGE.set_name( 'AHL', l_msg_data );
393:
394: IF ( p_x_effectivity_rec.position_item_number IS NULL OR
395: p_x_effectivity_rec.position_item_number = FND_API.G_MISS_CHAR ) THEN
391: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
392: FND_MESSAGE.set_name( 'AHL', l_msg_data );
393:
394: IF ( p_x_effectivity_rec.position_item_number IS NULL OR
395: p_x_effectivity_rec.position_item_number = FND_API.G_MISS_CHAR ) THEN
396: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_effectivity_rec.position_inventory_item_id ) );
397: ELSE
398: FND_MESSAGE.set_token( 'FIELD', p_x_effectivity_rec.position_item_number );
399: END IF;
405: END IF;
406:
407: -- Convert / Validate Product Classification Node
408: IF ( ( p_x_effectivity_rec.pc_node_id IS NOT NULL AND
409: p_x_effectivity_rec.pc_node_id <> FND_API.G_MISS_NUM ) OR
410: ( p_x_effectivity_rec.pc_node_name IS NOT NULL AND
411: p_x_effectivity_rec.pc_node_name <> FND_API.G_MISS_CHAR ) ) THEN
412:
413: AHL_FMP_COMMON_PVT.validate_pc_node
407: -- Convert / Validate Product Classification Node
408: IF ( ( p_x_effectivity_rec.pc_node_id IS NOT NULL AND
409: p_x_effectivity_rec.pc_node_id <> FND_API.G_MISS_NUM ) OR
410: ( p_x_effectivity_rec.pc_node_name IS NOT NULL AND
411: p_x_effectivity_rec.pc_node_name <> FND_API.G_MISS_CHAR ) ) THEN
412:
413: AHL_FMP_COMMON_PVT.validate_pc_node
414: (
415: x_return_status => l_return_status,
417: p_pc_node_name => p_x_effectivity_rec.pc_node_name,
418: p_x_pc_node_id => p_x_effectivity_rec.pc_node_id
419: );
420:
421: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
422: FND_MESSAGE.set_name( 'AHL', l_msg_data );
423:
424: IF ( p_x_effectivity_rec.pc_node_name IS NULL OR
425: p_x_effectivity_rec.pc_node_name = FND_API.G_MISS_CHAR ) THEN
421: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
422: FND_MESSAGE.set_name( 'AHL', l_msg_data );
423:
424: IF ( p_x_effectivity_rec.pc_node_name IS NULL OR
425: p_x_effectivity_rec.pc_node_name = FND_API.G_MISS_CHAR ) THEN
426: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_effectivity_rec.pc_node_id ) );
427: ELSE
428: FND_MESSAGE.set_token( 'FIELD', p_x_effectivity_rec.pc_node_name );
429: END IF;
466:
467: BEGIN
468:
469: -- Convert G_MISS values to NULL
470: IF ( p_x_effectivity_rec.inventory_item_id = FND_API.G_MISS_NUM ) THEN
471: p_x_effectivity_rec.inventory_item_id := null;
472: END IF;
473:
474: IF ( p_x_effectivity_rec.item_number = FND_API.G_MISS_CHAR ) THEN
470: IF ( p_x_effectivity_rec.inventory_item_id = FND_API.G_MISS_NUM ) THEN
471: p_x_effectivity_rec.inventory_item_id := null;
472: END IF;
473:
474: IF ( p_x_effectivity_rec.item_number = FND_API.G_MISS_CHAR ) THEN
475: p_x_effectivity_rec.item_number := null;
476: END IF;
477:
478: IF ( p_x_effectivity_rec.relationship_id = FND_API.G_MISS_NUM ) THEN
474: IF ( p_x_effectivity_rec.item_number = FND_API.G_MISS_CHAR ) THEN
475: p_x_effectivity_rec.item_number := null;
476: END IF;
477:
478: IF ( p_x_effectivity_rec.relationship_id = FND_API.G_MISS_NUM ) THEN
479: p_x_effectivity_rec.relationship_id := null;
480: END IF;
481:
482: IF ( p_x_effectivity_rec.position_ref_meaning = FND_API.G_MISS_CHAR ) THEN
478: IF ( p_x_effectivity_rec.relationship_id = FND_API.G_MISS_NUM ) THEN
479: p_x_effectivity_rec.relationship_id := null;
480: END IF;
481:
482: IF ( p_x_effectivity_rec.position_ref_meaning = FND_API.G_MISS_CHAR ) THEN
483: p_x_effectivity_rec.position_ref_meaning := null;
484: END IF;
485:
486: IF ( p_x_effectivity_rec.position_inventory_item_id = FND_API.G_MISS_NUM ) THEN
482: IF ( p_x_effectivity_rec.position_ref_meaning = FND_API.G_MISS_CHAR ) THEN
483: p_x_effectivity_rec.position_ref_meaning := null;
484: END IF;
485:
486: IF ( p_x_effectivity_rec.position_inventory_item_id = FND_API.G_MISS_NUM ) THEN
487: p_x_effectivity_rec.position_inventory_item_id := null;
488: END IF;
489:
490: IF ( p_x_effectivity_rec.position_item_number = FND_API.G_MISS_CHAR ) THEN
486: IF ( p_x_effectivity_rec.position_inventory_item_id = FND_API.G_MISS_NUM ) THEN
487: p_x_effectivity_rec.position_inventory_item_id := null;
488: END IF;
489:
490: IF ( p_x_effectivity_rec.position_item_number = FND_API.G_MISS_CHAR ) THEN
491: p_x_effectivity_rec.position_item_number := null;
492: END IF;
493:
494: IF ( p_x_effectivity_rec.pc_node_id = FND_API.G_MISS_NUM ) THEN
490: IF ( p_x_effectivity_rec.position_item_number = FND_API.G_MISS_CHAR ) THEN
491: p_x_effectivity_rec.position_item_number := null;
492: END IF;
493:
494: IF ( p_x_effectivity_rec.pc_node_id = FND_API.G_MISS_NUM ) THEN
495: p_x_effectivity_rec.pc_node_id := null;
496: END IF;
497:
498: IF ( p_x_effectivity_rec.pc_node_name = FND_API.G_MISS_CHAR ) THEN
494: IF ( p_x_effectivity_rec.pc_node_id = FND_API.G_MISS_NUM ) THEN
495: p_x_effectivity_rec.pc_node_id := null;
496: END IF;
497:
498: IF ( p_x_effectivity_rec.pc_node_name = FND_API.G_MISS_CHAR ) THEN
499: p_x_effectivity_rec.pc_node_name := null;
500: END IF;
501:
502: IF ( p_x_effectivity_rec.attribute_category = FND_API.G_MISS_CHAR ) THEN
498: IF ( p_x_effectivity_rec.pc_node_name = FND_API.G_MISS_CHAR ) THEN
499: p_x_effectivity_rec.pc_node_name := null;
500: END IF;
501:
502: IF ( p_x_effectivity_rec.attribute_category = FND_API.G_MISS_CHAR ) THEN
503: p_x_effectivity_rec.attribute_category := null;
504: END IF;
505:
506: IF ( p_x_effectivity_rec.attribute1 = FND_API.G_MISS_CHAR ) THEN
502: IF ( p_x_effectivity_rec.attribute_category = FND_API.G_MISS_CHAR ) THEN
503: p_x_effectivity_rec.attribute_category := null;
504: END IF;
505:
506: IF ( p_x_effectivity_rec.attribute1 = FND_API.G_MISS_CHAR ) THEN
507: p_x_effectivity_rec.attribute1 := null;
508: END IF;
509:
510: IF ( p_x_effectivity_rec.attribute2 = FND_API.G_MISS_CHAR ) THEN
506: IF ( p_x_effectivity_rec.attribute1 = FND_API.G_MISS_CHAR ) THEN
507: p_x_effectivity_rec.attribute1 := null;
508: END IF;
509:
510: IF ( p_x_effectivity_rec.attribute2 = FND_API.G_MISS_CHAR ) THEN
511: p_x_effectivity_rec.attribute2 := null;
512: END IF;
513:
514: IF ( p_x_effectivity_rec.attribute3 = FND_API.G_MISS_CHAR ) THEN
510: IF ( p_x_effectivity_rec.attribute2 = FND_API.G_MISS_CHAR ) THEN
511: p_x_effectivity_rec.attribute2 := null;
512: END IF;
513:
514: IF ( p_x_effectivity_rec.attribute3 = FND_API.G_MISS_CHAR ) THEN
515: p_x_effectivity_rec.attribute3 := null;
516: END IF;
517:
518: IF ( p_x_effectivity_rec.attribute4 = FND_API.G_MISS_CHAR ) THEN
514: IF ( p_x_effectivity_rec.attribute3 = FND_API.G_MISS_CHAR ) THEN
515: p_x_effectivity_rec.attribute3 := null;
516: END IF;
517:
518: IF ( p_x_effectivity_rec.attribute4 = FND_API.G_MISS_CHAR ) THEN
519: p_x_effectivity_rec.attribute4 := null;
520: END IF;
521:
522: IF ( p_x_effectivity_rec.attribute5 = FND_API.G_MISS_CHAR ) THEN
518: IF ( p_x_effectivity_rec.attribute4 = FND_API.G_MISS_CHAR ) THEN
519: p_x_effectivity_rec.attribute4 := null;
520: END IF;
521:
522: IF ( p_x_effectivity_rec.attribute5 = FND_API.G_MISS_CHAR ) THEN
523: p_x_effectivity_rec.attribute5 := null;
524: END IF;
525:
526: IF ( p_x_effectivity_rec.attribute6 = FND_API.G_MISS_CHAR ) THEN
522: IF ( p_x_effectivity_rec.attribute5 = FND_API.G_MISS_CHAR ) THEN
523: p_x_effectivity_rec.attribute5 := null;
524: END IF;
525:
526: IF ( p_x_effectivity_rec.attribute6 = FND_API.G_MISS_CHAR ) THEN
527: p_x_effectivity_rec.attribute6 := null;
528: END IF;
529:
530: IF ( p_x_effectivity_rec.attribute7 = FND_API.G_MISS_CHAR ) THEN
526: IF ( p_x_effectivity_rec.attribute6 = FND_API.G_MISS_CHAR ) THEN
527: p_x_effectivity_rec.attribute6 := null;
528: END IF;
529:
530: IF ( p_x_effectivity_rec.attribute7 = FND_API.G_MISS_CHAR ) THEN
531: p_x_effectivity_rec.attribute7 := null;
532: END IF;
533:
534: IF ( p_x_effectivity_rec.attribute8 = FND_API.G_MISS_CHAR ) THEN
530: IF ( p_x_effectivity_rec.attribute7 = FND_API.G_MISS_CHAR ) THEN
531: p_x_effectivity_rec.attribute7 := null;
532: END IF;
533:
534: IF ( p_x_effectivity_rec.attribute8 = FND_API.G_MISS_CHAR ) THEN
535: p_x_effectivity_rec.attribute8 := null;
536: END IF;
537:
538: IF ( p_x_effectivity_rec.attribute9 = FND_API.G_MISS_CHAR ) THEN
534: IF ( p_x_effectivity_rec.attribute8 = FND_API.G_MISS_CHAR ) THEN
535: p_x_effectivity_rec.attribute8 := null;
536: END IF;
537:
538: IF ( p_x_effectivity_rec.attribute9 = FND_API.G_MISS_CHAR ) THEN
539: p_x_effectivity_rec.attribute9 := null;
540: END IF;
541:
542: IF ( p_x_effectivity_rec.attribute10 = FND_API.G_MISS_CHAR ) THEN
538: IF ( p_x_effectivity_rec.attribute9 = FND_API.G_MISS_CHAR ) THEN
539: p_x_effectivity_rec.attribute9 := null;
540: END IF;
541:
542: IF ( p_x_effectivity_rec.attribute10 = FND_API.G_MISS_CHAR ) THEN
543: p_x_effectivity_rec.attribute10 := null;
544: END IF;
545:
546: IF ( p_x_effectivity_rec.attribute11 = FND_API.G_MISS_CHAR ) THEN
542: IF ( p_x_effectivity_rec.attribute10 = FND_API.G_MISS_CHAR ) THEN
543: p_x_effectivity_rec.attribute10 := null;
544: END IF;
545:
546: IF ( p_x_effectivity_rec.attribute11 = FND_API.G_MISS_CHAR ) THEN
547: p_x_effectivity_rec.attribute11 := null;
548: END IF;
549:
550: IF ( p_x_effectivity_rec.attribute12 = FND_API.G_MISS_CHAR ) THEN
546: IF ( p_x_effectivity_rec.attribute11 = FND_API.G_MISS_CHAR ) THEN
547: p_x_effectivity_rec.attribute11 := null;
548: END IF;
549:
550: IF ( p_x_effectivity_rec.attribute12 = FND_API.G_MISS_CHAR ) THEN
551: p_x_effectivity_rec.attribute12 := null;
552: END IF;
553:
554: IF ( p_x_effectivity_rec.attribute13 = FND_API.G_MISS_CHAR ) THEN
550: IF ( p_x_effectivity_rec.attribute12 = FND_API.G_MISS_CHAR ) THEN
551: p_x_effectivity_rec.attribute12 := null;
552: END IF;
553:
554: IF ( p_x_effectivity_rec.attribute13 = FND_API.G_MISS_CHAR ) THEN
555: p_x_effectivity_rec.attribute13 := null;
556: END IF;
557:
558: IF ( p_x_effectivity_rec.attribute14 = FND_API.G_MISS_CHAR ) THEN
554: IF ( p_x_effectivity_rec.attribute13 = FND_API.G_MISS_CHAR ) THEN
555: p_x_effectivity_rec.attribute13 := null;
556: END IF;
557:
558: IF ( p_x_effectivity_rec.attribute14 = FND_API.G_MISS_CHAR ) THEN
559: p_x_effectivity_rec.attribute14 := null;
560: END IF;
561:
562: IF ( p_x_effectivity_rec.attribute15 = FND_API.G_MISS_CHAR ) THEN
558: IF ( p_x_effectivity_rec.attribute14 = FND_API.G_MISS_CHAR ) THEN
559: p_x_effectivity_rec.attribute14 := null;
560: END IF;
561:
562: IF ( p_x_effectivity_rec.attribute15 = FND_API.G_MISS_CHAR ) THEN
563: p_x_effectivity_rec.attribute15 := null;
564: END IF;
565:
566: END default_missing_attributes;
640: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_INVALID_MR_EFF_REC' );
641: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_effectivity_rec ) );
642: FND_MSG_PUB.add;
643: CLOSE get_old_rec;
644: RAISE FND_API.G_EXC_ERROR;
645: END IF;
646:
647: CLOSE get_old_rec;
648:
650: IF ( p_x_effectivity_rec.name IS NULL ) THEN
651: p_x_effectivity_rec.name := l_old_effectivity_rec.name;
652: END IF;
653:
654: IF ( p_x_effectivity_rec.inventory_item_id = FND_API.G_MISS_NUM ) THEN
655: p_x_effectivity_rec.inventory_item_id := null;
656: ELSIF ( p_x_effectivity_rec.inventory_item_id IS NULL ) THEN
657: p_x_effectivity_rec.inventory_item_id := l_old_effectivity_rec.inventory_item_id;
658: END IF;
656: ELSIF ( p_x_effectivity_rec.inventory_item_id IS NULL ) THEN
657: p_x_effectivity_rec.inventory_item_id := l_old_effectivity_rec.inventory_item_id;
658: END IF;
659:
660: IF ( p_x_effectivity_rec.item_number = FND_API.G_MISS_CHAR ) THEN
661: p_x_effectivity_rec.item_number := null;
662: ELSIF ( p_x_effectivity_rec.item_number IS NULL ) THEN
663: p_x_effectivity_rec.item_number := l_old_effectivity_rec.item_number;
664: END IF;
662: ELSIF ( p_x_effectivity_rec.item_number IS NULL ) THEN
663: p_x_effectivity_rec.item_number := l_old_effectivity_rec.item_number;
664: END IF;
665:
666: IF ( p_x_effectivity_rec.relationship_id = FND_API.G_MISS_NUM ) THEN
667: p_x_effectivity_rec.relationship_id := null;
668: ELSIF ( p_x_effectivity_rec.relationship_id IS NULL ) THEN
669: p_x_effectivity_rec.relationship_id := l_old_effectivity_rec.relationship_id;
670: END IF;
668: ELSIF ( p_x_effectivity_rec.relationship_id IS NULL ) THEN
669: p_x_effectivity_rec.relationship_id := l_old_effectivity_rec.relationship_id;
670: END IF;
671:
672: IF ( p_x_effectivity_rec.position_ref_meaning = FND_API.G_MISS_CHAR ) THEN
673: p_x_effectivity_rec.position_ref_meaning := null;
674: ELSIF ( p_x_effectivity_rec.position_ref_meaning IS NULL ) THEN
675: p_x_effectivity_rec.position_ref_meaning := l_old_effectivity_rec.position_ref_meaning;
676: END IF;
674: ELSIF ( p_x_effectivity_rec.position_ref_meaning IS NULL ) THEN
675: p_x_effectivity_rec.position_ref_meaning := l_old_effectivity_rec.position_ref_meaning;
676: END IF;
677:
678: IF ( p_x_effectivity_rec.position_inventory_item_id = FND_API.G_MISS_NUM ) THEN
679: p_x_effectivity_rec.position_inventory_item_id := null;
680: ELSIF ( p_x_effectivity_rec.position_inventory_item_id IS NULL ) THEN
681: p_x_effectivity_rec.position_inventory_item_id := l_old_effectivity_rec.position_inventory_item_id;
682: END IF;
680: ELSIF ( p_x_effectivity_rec.position_inventory_item_id IS NULL ) THEN
681: p_x_effectivity_rec.position_inventory_item_id := l_old_effectivity_rec.position_inventory_item_id;
682: END IF;
683:
684: IF ( p_x_effectivity_rec.position_item_number = FND_API.G_MISS_CHAR ) THEN
685: p_x_effectivity_rec.position_item_number := null;
686: ELSIF ( p_x_effectivity_rec.position_item_number IS NULL ) THEN
687: p_x_effectivity_rec.position_item_number := l_old_effectivity_rec.position_item_number;
688: END IF;
686: ELSIF ( p_x_effectivity_rec.position_item_number IS NULL ) THEN
687: p_x_effectivity_rec.position_item_number := l_old_effectivity_rec.position_item_number;
688: END IF;
689:
690: IF ( p_x_effectivity_rec.pc_node_id = FND_API.G_MISS_NUM ) THEN
691: p_x_effectivity_rec.pc_node_id := null;
692: ELSIF ( p_x_effectivity_rec.pc_node_id IS NULL ) THEN
693: p_x_effectivity_rec.pc_node_id := l_old_effectivity_rec.pc_node_id;
694: END IF;
692: ELSIF ( p_x_effectivity_rec.pc_node_id IS NULL ) THEN
693: p_x_effectivity_rec.pc_node_id := l_old_effectivity_rec.pc_node_id;
694: END IF;
695:
696: IF ( p_x_effectivity_rec.pc_node_name = FND_API.G_MISS_CHAR ) THEN
697: p_x_effectivity_rec.pc_node_name := null;
698: ELSIF ( p_x_effectivity_rec.pc_node_name IS NULL ) THEN
699: p_x_effectivity_rec.pc_node_name := l_old_effectivity_rec.pc_node_name;
700: END IF;
698: ELSIF ( p_x_effectivity_rec.pc_node_name IS NULL ) THEN
699: p_x_effectivity_rec.pc_node_name := l_old_effectivity_rec.pc_node_name;
700: END IF;
701:
702: IF ( p_x_effectivity_rec.attribute_category = FND_API.G_MISS_CHAR ) THEN
703: p_x_effectivity_rec.attribute_category := null;
704: ELSIF ( p_x_effectivity_rec.attribute_category IS NULL ) THEN
705: p_x_effectivity_rec.attribute_category := l_old_effectivity_rec.attribute_category;
706: END IF;
704: ELSIF ( p_x_effectivity_rec.attribute_category IS NULL ) THEN
705: p_x_effectivity_rec.attribute_category := l_old_effectivity_rec.attribute_category;
706: END IF;
707:
708: IF ( p_x_effectivity_rec.attribute1 = FND_API.G_MISS_CHAR ) THEN
709: p_x_effectivity_rec.attribute1 := null;
710: ELSIF ( p_x_effectivity_rec.attribute1 IS NULL ) THEN
711: p_x_effectivity_rec.attribute1 := l_old_effectivity_rec.attribute1;
712: END IF;
710: ELSIF ( p_x_effectivity_rec.attribute1 IS NULL ) THEN
711: p_x_effectivity_rec.attribute1 := l_old_effectivity_rec.attribute1;
712: END IF;
713:
714: IF ( p_x_effectivity_rec.attribute2 = FND_API.G_MISS_CHAR ) THEN
715: p_x_effectivity_rec.attribute2 := null;
716: ELSIF ( p_x_effectivity_rec.attribute2 IS NULL ) THEN
717: p_x_effectivity_rec.attribute2 := l_old_effectivity_rec.attribute2;
718: END IF;
716: ELSIF ( p_x_effectivity_rec.attribute2 IS NULL ) THEN
717: p_x_effectivity_rec.attribute2 := l_old_effectivity_rec.attribute2;
718: END IF;
719:
720: IF ( p_x_effectivity_rec.attribute3 = FND_API.G_MISS_CHAR ) THEN
721: p_x_effectivity_rec.attribute3 := null;
722: ELSIF ( p_x_effectivity_rec.attribute3 IS NULL ) THEN
723: p_x_effectivity_rec.attribute3 := l_old_effectivity_rec.attribute3;
724: END IF;
722: ELSIF ( p_x_effectivity_rec.attribute3 IS NULL ) THEN
723: p_x_effectivity_rec.attribute3 := l_old_effectivity_rec.attribute3;
724: END IF;
725:
726: IF ( p_x_effectivity_rec.attribute4 = FND_API.G_MISS_CHAR ) THEN
727: p_x_effectivity_rec.attribute4 := null;
728: ELSIF ( p_x_effectivity_rec.attribute4 IS NULL ) THEN
729: p_x_effectivity_rec.attribute4 := l_old_effectivity_rec.attribute4;
730: END IF;
728: ELSIF ( p_x_effectivity_rec.attribute4 IS NULL ) THEN
729: p_x_effectivity_rec.attribute4 := l_old_effectivity_rec.attribute4;
730: END IF;
731:
732: IF ( p_x_effectivity_rec.attribute5 = FND_API.G_MISS_CHAR ) THEN
733: p_x_effectivity_rec.attribute5 := null;
734: ELSIF ( p_x_effectivity_rec.attribute5 IS NULL ) THEN
735: p_x_effectivity_rec.attribute5 := l_old_effectivity_rec.attribute5;
736: END IF;
734: ELSIF ( p_x_effectivity_rec.attribute5 IS NULL ) THEN
735: p_x_effectivity_rec.attribute5 := l_old_effectivity_rec.attribute5;
736: END IF;
737:
738: IF ( p_x_effectivity_rec.attribute6 = FND_API.G_MISS_CHAR ) THEN
739: p_x_effectivity_rec.attribute6 := null;
740: ELSIF ( p_x_effectivity_rec.attribute6 IS NULL ) THEN
741: p_x_effectivity_rec.attribute6 := l_old_effectivity_rec.attribute6;
742: END IF;
740: ELSIF ( p_x_effectivity_rec.attribute6 IS NULL ) THEN
741: p_x_effectivity_rec.attribute6 := l_old_effectivity_rec.attribute6;
742: END IF;
743:
744: IF ( p_x_effectivity_rec.attribute7 = FND_API.G_MISS_CHAR ) THEN
745: p_x_effectivity_rec.attribute7 := null;
746: ELSIF ( p_x_effectivity_rec.attribute7 IS NULL ) THEN
747: p_x_effectivity_rec.attribute7 := l_old_effectivity_rec.attribute7;
748: END IF;
746: ELSIF ( p_x_effectivity_rec.attribute7 IS NULL ) THEN
747: p_x_effectivity_rec.attribute7 := l_old_effectivity_rec.attribute7;
748: END IF;
749:
750: IF ( p_x_effectivity_rec.attribute8 = FND_API.G_MISS_CHAR ) THEN
751: p_x_effectivity_rec.attribute8 := null;
752: ELSIF ( p_x_effectivity_rec.attribute8 IS NULL ) THEN
753: p_x_effectivity_rec.attribute8 := l_old_effectivity_rec.attribute8;
754: END IF;
752: ELSIF ( p_x_effectivity_rec.attribute8 IS NULL ) THEN
753: p_x_effectivity_rec.attribute8 := l_old_effectivity_rec.attribute8;
754: END IF;
755:
756: IF ( p_x_effectivity_rec.attribute9 = FND_API.G_MISS_CHAR ) THEN
757: p_x_effectivity_rec.attribute9 := null;
758: ELSIF ( p_x_effectivity_rec.attribute9 IS NULL ) THEN
759: p_x_effectivity_rec.attribute9 := l_old_effectivity_rec.attribute9;
760: END IF;
758: ELSIF ( p_x_effectivity_rec.attribute9 IS NULL ) THEN
759: p_x_effectivity_rec.attribute9 := l_old_effectivity_rec.attribute9;
760: END IF;
761:
762: IF ( p_x_effectivity_rec.attribute10 = FND_API.G_MISS_CHAR ) THEN
763: p_x_effectivity_rec.attribute10 := null;
764: ELSIF ( p_x_effectivity_rec.attribute10 IS NULL ) THEN
765: p_x_effectivity_rec.attribute10 := l_old_effectivity_rec.attribute10;
766: END IF;
764: ELSIF ( p_x_effectivity_rec.attribute10 IS NULL ) THEN
765: p_x_effectivity_rec.attribute10 := l_old_effectivity_rec.attribute10;
766: END IF;
767:
768: IF ( p_x_effectivity_rec.attribute11 = FND_API.G_MISS_CHAR ) THEN
769: p_x_effectivity_rec.attribute11 := null;
770: ELSIF ( p_x_effectivity_rec.attribute11 IS NULL ) THEN
771: p_x_effectivity_rec.attribute11 := l_old_effectivity_rec.attribute11;
772: END IF;
770: ELSIF ( p_x_effectivity_rec.attribute11 IS NULL ) THEN
771: p_x_effectivity_rec.attribute11 := l_old_effectivity_rec.attribute11;
772: END IF;
773:
774: IF ( p_x_effectivity_rec.attribute12 = FND_API.G_MISS_CHAR ) THEN
775: p_x_effectivity_rec.attribute12 := null;
776: ELSIF ( p_x_effectivity_rec.attribute12 IS NULL ) THEN
777: p_x_effectivity_rec.attribute12 := l_old_effectivity_rec.attribute12;
778: END IF;
776: ELSIF ( p_x_effectivity_rec.attribute12 IS NULL ) THEN
777: p_x_effectivity_rec.attribute12 := l_old_effectivity_rec.attribute12;
778: END IF;
779:
780: IF ( p_x_effectivity_rec.attribute13 = FND_API.G_MISS_CHAR ) THEN
781: p_x_effectivity_rec.attribute13 := null;
782: ELSIF ( p_x_effectivity_rec.attribute13 IS NULL ) THEN
783: p_x_effectivity_rec.attribute13 := l_old_effectivity_rec.attribute13;
784: END IF;
782: ELSIF ( p_x_effectivity_rec.attribute13 IS NULL ) THEN
783: p_x_effectivity_rec.attribute13 := l_old_effectivity_rec.attribute13;
784: END IF;
785:
786: IF ( p_x_effectivity_rec.attribute14 = FND_API.G_MISS_CHAR ) THEN
787: p_x_effectivity_rec.attribute14 := null;
788: ELSIF ( p_x_effectivity_rec.attribute14 IS NULL ) THEN
789: p_x_effectivity_rec.attribute14 := l_old_effectivity_rec.attribute14;
790: END IF;
788: ELSIF ( p_x_effectivity_rec.attribute14 IS NULL ) THEN
789: p_x_effectivity_rec.attribute14 := l_old_effectivity_rec.attribute14;
790: END IF;
791:
792: IF ( p_x_effectivity_rec.attribute15 = FND_API.G_MISS_CHAR ) THEN
793: p_x_effectivity_rec.attribute15 := null;
794: ELSIF ( p_x_effectivity_rec.attribute15 IS NULL ) THEN
795: p_x_effectivity_rec.attribute15 := l_old_effectivity_rec.attribute15;
796: END IF;
805: )
806: IS
807:
808: BEGIN
809: x_return_status := FND_API.G_RET_STS_SUCCESS;
810:
811: IF ( p_effectivity_rec.dml_operation = 'C' ) THEN
812: -- Check if the Effectivity Name does not column contains a null value.
813: IF ( p_effectivity_rec.name IS NULL OR
810:
811: IF ( p_effectivity_rec.dml_operation = 'C' ) THEN
812: -- Check if the Effectivity Name does not column contains a null value.
813: IF ( p_effectivity_rec.name IS NULL OR
814: p_effectivity_rec.name = FND_API.G_MISS_CHAR ) THEN
815: FND_MESSAGE.set_name( 'AHL','AHL_FMP_EFFECTIVITY_NAME_NULL' );
816: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_rec ) );
817: FND_MSG_PUB.add;
818: END IF;
820: END IF;
821:
822: IF ( p_effectivity_rec.dml_operation = 'U' ) THEN
823: -- Check if the Effectivity Name column does not contains a null value.
824: IF ( p_effectivity_rec.name = FND_API.G_MISS_CHAR ) THEN
825: FND_MESSAGE.set_name( 'AHL','AHL_FMP_EFFECTIVITY_NAME_NULL' );
826: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_rec ) );
827: FND_MSG_PUB.add;
828: END IF;
829: END IF;
830:
831: -- Check if the mandatory Effectivity ID column contains a null value.
832: IF ( p_effectivity_rec.mr_effectivity_id IS NULL OR
833: p_effectivity_rec.mr_effectivity_id = FND_API.G_MISS_NUM ) THEN
834: FND_MESSAGE.set_name( 'AHL','AHL_FMP_EFFECTIVITY_ID_NULL' );
835: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_rec ) );
836: FND_MSG_PUB.add;
837: RETURN;
838: END IF;
839:
840: -- Check if the mandatory Object Version Number column contains a null value.
841: IF ( p_effectivity_rec.object_version_number IS NULL OR
842: p_effectivity_rec.object_version_number = FND_API.G_MISS_NUM ) THEN
843: FND_MESSAGE.set_name( 'AHL','AHL_FMP_MRE_OBJ_VERSION_NULL' );
844: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_rec ) );
845: FND_MSG_PUB.add;
846: RETURN;
911: l_prog_type VARCHAR2(30);
912: -- Tamal [MEL/CDL RM-FMP Enhancements] Ends here...
913:
914: BEGIN
915: x_return_status := FND_API.G_RET_STS_SUCCESS;
916:
917: IF ( P_APPLN_USAGE = 'PM' ) THEN
918:
919: -- Check if Item is NULL
987: p_inventory_item_id => p_effectivity_rec.position_inventory_item_id,
988: p_relationship_id => p_effectivity_rec.relationship_id
989: );
990:
991: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
992: FND_MESSAGE.set_name( 'AHL', l_msg_data );
993: IF ( p_effectivity_rec.position_item_number IS NULL OR
994: p_effectivity_rec.position_item_number = FND_API.G_MISS_CHAR ) THEN
995: FND_MESSAGE.set_token( 'FIELD1', TO_CHAR( p_effectivity_rec.position_inventory_item_id ) );
990:
991: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
992: FND_MESSAGE.set_name( 'AHL', l_msg_data );
993: IF ( p_effectivity_rec.position_item_number IS NULL OR
994: p_effectivity_rec.position_item_number = FND_API.G_MISS_CHAR ) THEN
995: FND_MESSAGE.set_token( 'FIELD1', TO_CHAR( p_effectivity_rec.position_inventory_item_id ) );
996: ELSE
997: FND_MESSAGE.set_token( 'FIELD1', p_effectivity_rec.position_item_number );
998: END IF;
997: FND_MESSAGE.set_token( 'FIELD1', p_effectivity_rec.position_item_number );
998: END IF;
999:
1000: IF ( p_effectivity_rec.position_ref_meaning IS NULL OR
1001: p_effectivity_rec.position_ref_meaning = FND_API.G_MISS_CHAR ) THEN
1002: FND_MESSAGE.set_token( 'FIELD2', TO_CHAR( p_effectivity_rec.relationship_id ) );
1003: ELSE
1004: FND_MESSAGE.set_token( 'FIELD2', p_effectivity_rec.position_ref_meaning );
1005: END IF;
1018: l_msg_data := 'AHL_FMP_INVALID_POSITION_ITEM';
1019:
1020: FND_MESSAGE.set_name( 'AHL', l_msg_data );
1021: IF ( p_effectivity_rec.position_item_number IS NULL OR
1022: p_effectivity_rec.position_item_number = FND_API.G_MISS_CHAR ) THEN
1023: FND_MESSAGE.set_token( 'FIELD1', TO_CHAR( p_effectivity_rec.position_inventory_item_id ) );
1024: ELSE
1025: FND_MESSAGE.set_token( 'FIELD1', p_effectivity_rec.position_item_number );
1026: END IF;
1025: FND_MESSAGE.set_token( 'FIELD1', p_effectivity_rec.position_item_number );
1026: END IF;
1027:
1028: IF ( p_effectivity_rec.position_ref_meaning IS NULL OR
1029: p_effectivity_rec.position_ref_meaning = FND_API.G_MISS_CHAR ) THEN
1030: FND_MESSAGE.set_token( 'FIELD2', TO_CHAR( p_effectivity_rec.relationship_id ) );
1031: ELSE
1032: FND_MESSAGE.set_token( 'FIELD2', p_effectivity_rec.position_ref_meaning );
1033: END IF;
1073: p_x_manufacturer_id => l_manufacturer_id
1074: );
1075: END IF;
1076:
1077: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
1078: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_EFFECTIVITY_DTLS_EXIST' );
1079: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_rec ) );
1080: FND_MSG_PUB.add;
1081: END IF;
1123: p_x_counter_id => l_counter_id
1124: );
1125: END IF;
1126:
1127: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
1128: FND_MESSAGE.set_name( 'AHL', 'AHL_FMP_INTERVALS_EXIST' );
1129: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_effectivity_rec ) );
1130: FND_MSG_PUB.add;
1131: END IF;
1178: where inventory_item_id = c_inventory_item_id;
1179:
1180: BEGIN
1181:
1182: x_return_status := FND_API.G_RET_STS_SUCCESS;
1183:
1184: -- Check whether any duplicate effectivity records (based on Name) for the given MR_HEADER_ID
1185: OPEN get_dup_name( p_mr_header_id );
1186:
1197:
1198: END LOOP;
1199:
1200: IF ( get_dup_name%ROWCOUNT > 0 ) THEN
1201: x_return_status := FND_API.G_RET_STS_ERROR;
1202: END IF;
1203:
1204: CLOSE get_dup_name;
1205:
1229:
1230: END LOOP;
1231:
1232: IF ( get_dup_item%ROWCOUNT > 0 ) THEN
1233: x_return_status := FND_API.G_RET_STS_ERROR;
1234: END IF;
1235:
1236: CLOSE get_dup_item;
1237:
1242:
1243: PROCEDURE process_effectivity
1244: (
1245: p_api_version IN NUMBER := '1.0',
1246: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
1247: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1248: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1249: p_default IN VARCHAR2 := FND_API.G_FALSE,
1250: p_module_type IN VARCHAR2 := NULL,
1243: PROCEDURE process_effectivity
1244: (
1245: p_api_version IN NUMBER := '1.0',
1246: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
1247: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1248: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1249: p_default IN VARCHAR2 := FND_API.G_FALSE,
1250: p_module_type IN VARCHAR2 := NULL,
1251: x_return_status OUT NOCOPY VARCHAR2,
1244: (
1245: p_api_version IN NUMBER := '1.0',
1246: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
1247: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1248: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1249: p_default IN VARCHAR2 := FND_API.G_FALSE,
1250: p_module_type IN VARCHAR2 := NULL,
1251: x_return_status OUT NOCOPY VARCHAR2,
1252: x_msg_count OUT NOCOPY NUMBER,
1245: p_api_version IN NUMBER := '1.0',
1246: p_init_msg_list IN VARCHAR2 := FND_API.G_TRUE,
1247: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1248: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1249: p_default IN VARCHAR2 := FND_API.G_FALSE,
1250: p_module_type IN VARCHAR2 := NULL,
1251: x_return_status OUT NOCOPY VARCHAR2,
1252: x_msg_count OUT NOCOPY NUMBER,
1253: x_msg_data OUT NOCOPY VARCHAR2,
1261: l_msg_count NUMBER;
1262: l_mr_effectivity_id NUMBER;
1263: BEGIN
1264: -- Initialize API return status to success
1265: x_return_status := FND_API.G_RET_STS_SUCCESS;
1266:
1267: -- Standard Start of API savepoint
1268: SAVEPOINT process_effectivity_PVT;
1269:
1267: -- Standard Start of API savepoint
1268: SAVEPOINT process_effectivity_PVT;
1269:
1270: -- Standard call to check for call compatibility.
1271: IF NOT FND_API.compatible_api_call
1272: (
1273: l_api_version,
1274: p_api_version,
1275: G_API_NAME,
1275: G_API_NAME,
1276: G_PKG_NAME
1277: )
1278: THEN
1279: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1280: END IF;
1281:
1282: -- Initialize message list if p_init_msg_list is set to TRUE.
1283: IF FND_API.to_boolean( p_init_msg_list ) THEN
1279: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1280: END IF;
1281:
1282: -- Initialize message list if p_init_msg_list is set to TRUE.
1283: IF FND_API.to_boolean( p_init_msg_list ) THEN
1284: FND_MSG_PUB.initialize;
1285: END IF;
1286:
1287: -- Enable Debug (optional)
1313: l_msg_count := FND_MSG_PUB.count_msg;
1314: IF l_msg_count > 0 THEN
1315: AHL_DEBUG_PUB.debug('After validate with error ' );
1316: x_msg_count := l_msg_count;
1317: RAISE FND_API.G_EXC_ERROR;
1318: END IF;
1319:
1320:
1321: AHL_DEBUG_PUB.debug('After validate with no error ' );
1338: END LOOP;
1339: END IF;
1340:
1341: -- Convert Values into Ids.
1342: IF ( p_validation_level = FND_API.G_VALID_LEVEL_FULL ) THEN
1343: FOR i IN 1..p_x_effectivity_tbl.count LOOP
1344: IF ( p_x_effectivity_tbl(i).dml_operation <> 'D' ) THEN
1345: convert_values_to_ids
1346: (
1348: l_return_status -- OUT
1349: );
1350:
1351: -- If any severe error occurs, then, abort API.
1352: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1353: RAISE FND_API.G_EXC_ERROR;
1354: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1355: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1356: END IF;
1349: );
1350:
1351: -- If any severe error occurs, then, abort API.
1352: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1353: RAISE FND_API.G_EXC_ERROR;
1354: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1355: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1356: END IF;
1357: END IF;
1350:
1351: -- If any severe error occurs, then, abort API.
1352: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1353: RAISE FND_API.G_EXC_ERROR;
1354: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1355: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1356: END IF;
1357: END IF;
1358: END LOOP;
1351: -- If any severe error occurs, then, abort API.
1352: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1353: RAISE FND_API.G_EXC_ERROR;
1354: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1355: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1356: END IF;
1357: END IF;
1358: END LOOP;
1359: END IF;
1376: AHL_DEBUG_PUB.debug( G_PKG_NAME || '.' || G_API_NAME || ' : after default_attributes' );
1377: END IF;
1378:
1379: -- Validate all attributes (Item level validation)
1380: IF ( p_validation_level = FND_API.G_VALID_LEVEL_FULL ) THEN
1381: FOR i IN 1..p_x_effectivity_tbl.count LOOP
1382: validate_attributes
1383: (
1384: p_x_effectivity_tbl(i), -- IN
1385: l_return_status -- OUT
1386: );
1387:
1388: -- If any severe error occurs, then, abort API.
1389: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1390: RAISE FND_API.G_EXC_ERROR;
1391: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1392: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1393: END IF;
1386: );
1387:
1388: -- If any severe error occurs, then, abort API.
1389: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1390: RAISE FND_API.G_EXC_ERROR;
1391: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1392: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1393: END IF;
1394: END LOOP;
1387:
1388: -- If any severe error occurs, then, abort API.
1389: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1390: RAISE FND_API.G_EXC_ERROR;
1391: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1392: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1393: END IF;
1394: END LOOP;
1395: END IF;
1388: -- If any severe error occurs, then, abort API.
1389: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1390: RAISE FND_API.G_EXC_ERROR;
1391: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1392: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1393: END IF;
1394: END LOOP;
1395: END IF;
1396:
1417: AHL_DEBUG_PUB.debug( G_PKG_NAME || '.' || G_API_NAME || ' : after default_unchanged_attributes / default_missing_attributes' );
1418: END IF;
1419:
1420: -- Perform cross attribute validation and missing attribute checks (Record level validation)
1421: IF ( p_validation_level = FND_API.G_VALID_LEVEL_FULL ) THEN
1422: FOR i IN 1..p_x_effectivity_tbl.count LOOP
1423: IF ( p_x_effectivity_tbl(i).dml_operation <> 'D' ) THEN
1424: validate_record
1425: (
1431: l_return_status -- OUT
1432: );
1433:
1434: -- If any severe error occurs, then, abort API.
1435: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1436: RAISE FND_API.G_EXC_ERROR;
1437: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1439: END IF;
1432: );
1433:
1434: -- If any severe error occurs, then, abort API.
1435: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1436: RAISE FND_API.G_EXC_ERROR;
1437: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1439: END IF;
1440: END IF;
1433:
1434: -- If any severe error occurs, then, abort API.
1435: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1436: RAISE FND_API.G_EXC_ERROR;
1437: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1439: END IF;
1440: END IF;
1441: END LOOP;
1434: -- If any severe error occurs, then, abort API.
1435: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1436: RAISE FND_API.G_EXC_ERROR;
1437: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1438: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1439: END IF;
1440: END IF;
1441: END LOOP;
1442: END IF;
1448: -- Get all the error messages from the previous steps (if any) and raise the appropriate Exception
1449: l_msg_count := FND_MSG_PUB.count_msg;
1450: IF l_msg_count > 0 THEN
1451: x_msg_count := l_msg_count;
1452: RAISE FND_API.G_EXC_ERROR;
1453: END IF;
1454:
1455: -- Perform the DML statement directly.
1456: FOR i IN 1..p_x_effectivity_tbl.count LOOP
1634: -- Get all the error messages from the previous steps (if any) and raise the appropriate Exception
1635: l_msg_count := FND_MSG_PUB.count_msg;
1636: IF l_msg_count > 0 THEN
1637: x_msg_count := l_msg_count;
1638: RAISE FND_API.G_EXC_ERROR;
1639: END IF;
1640:
1641: -- Perform cross records validations and duplicate records check
1642:
1660: -- If any severe error occurs, then, abort API.
1661: l_msg_count := FND_MSG_PUB.count_msg;
1662: IF l_msg_count > 0 THEN
1663: x_msg_count := l_msg_count;
1664: RAISE FND_API.G_EXC_ERROR;
1665: END IF;
1666:
1667: IF G_DEBUG = 'Y' THEN
1668: AHL_DEBUG_PUB.debug( G_PKG_NAME || '.' || G_API_NAME || ' : after validate_records' );
1668: AHL_DEBUG_PUB.debug( G_PKG_NAME || '.' || G_API_NAME || ' : after validate_records' );
1669: END IF;
1670:
1671: -- Perform the Commit (if requested)
1672: IF FND_API.to_boolean( p_commit ) THEN
1673: COMMIT WORK;
1674: END IF;
1675:
1676: -- Count and Get messages (optional)
1675:
1676: -- Count and Get messages (optional)
1677: FND_MSG_PUB.count_and_get
1678: (
1679: p_encoded => FND_API.G_FALSE,
1680: p_count => x_msg_count,
1681: p_data => x_msg_data
1682: );
1683:
1687: END IF;
1688:
1689: EXCEPTION
1690:
1691: WHEN FND_API.G_EXC_ERROR THEN
1692: ROLLBACK TO process_effectivity_PVT;
1693: x_return_status := FND_API.G_RET_STS_ERROR ;
1694: FND_MSG_PUB.count_and_get
1695: (
1689: EXCEPTION
1690:
1691: WHEN FND_API.G_EXC_ERROR THEN
1692: ROLLBACK TO process_effectivity_PVT;
1693: x_return_status := FND_API.G_RET_STS_ERROR ;
1694: FND_MSG_PUB.count_and_get
1695: (
1696: p_encoded => FND_API.G_FALSE,
1697: p_count => x_msg_count,
1692: ROLLBACK TO process_effectivity_PVT;
1693: x_return_status := FND_API.G_RET_STS_ERROR ;
1694: FND_MSG_PUB.count_and_get
1695: (
1696: p_encoded => FND_API.G_FALSE,
1697: p_count => x_msg_count,
1698: p_data => x_msg_data
1699: );
1700:
1702: IF ( G_DEBUG = 'Y' ) THEN
1703: AHL_DEBUG_PUB.disable_debug;
1704: END IF;
1705:
1706: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1707: ROLLBACK TO process_effectivity_PVT;
1708: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1709: FND_MSG_PUB.count_and_get
1710: (
1704: END IF;
1705:
1706: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1707: ROLLBACK TO process_effectivity_PVT;
1708: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1709: FND_MSG_PUB.count_and_get
1710: (
1711: p_encoded => FND_API.G_FALSE,
1712: p_count => x_msg_count,
1707: ROLLBACK TO process_effectivity_PVT;
1708: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1709: FND_MSG_PUB.count_and_get
1710: (
1711: p_encoded => FND_API.G_FALSE,
1712: p_count => x_msg_count,
1713: p_data => x_msg_data
1714: );
1715:
1719: END IF;
1720:
1721: WHEN OTHERS THEN
1722: ROLLBACK TO process_effectivity_PVT;
1723: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1724: IF FND_MSG_PUB.check_msg_level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
1725: THEN
1726: FND_MSG_PUB.add_exc_msg
1727: (
1731: );
1732: END IF;
1733: FND_MSG_PUB.count_and_get
1734: (
1735: p_encoded => FND_API.G_FALSE,
1736: p_count => x_msg_count,
1737: p_data => x_msg_data
1738: );
1739: -- Disable debug (if enabled)