107: x_return_status := FND_API.G_RET_STS_SUCCESS;
108: -- Check if a value is passed in p_object_id
109: IF ( p_object_id = FND_API.G_MISS_NUM OR
110: p_object_id IS NULL ) THEN
111: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_OBJECT_ID_NULL' );
112: FND_MSG_PUB.add;
113: x_return_status := FND_API.G_RET_STS_ERROR;
114: RETURN;
115: END IF;
115: END IF;
116: -- Check if a value is passed in p_association_type
117: IF ( p_association_type = FND_API.G_MISS_CHAR OR
118: p_association_type IS NULL ) THEN
119: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_ASSOC_TYPE_NULL' );
120: FND_MSG_PUB.add;
121: x_return_status := FND_API.G_RET_STS_ERROR;
122: RETURN;
123: END IF;
124: -- Check if a valid value is passed in p_association_type
125: IF ( p_association_type <> 'ROUTE' AND
126: p_association_type <> 'OPERATION' AND
127: p_association_type <> 'DISPOSITION' ) THEN
128: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_ASSOC_TYPE_INVALID' );
129: FND_MESSAGE.set_token( 'FIELD', p_association_type );
130: FND_MSG_PUB.add;
131: x_return_status := FND_API.G_RET_STS_ERROR;
132: RETURN;
125: IF ( p_association_type <> 'ROUTE' AND
126: p_association_type <> 'OPERATION' AND
127: p_association_type <> 'DISPOSITION' ) THEN
128: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_ASSOC_TYPE_INVALID' );
129: FND_MESSAGE.set_token( 'FIELD', p_association_type );
130: FND_MSG_PUB.add;
131: x_return_status := FND_API.G_RET_STS_ERROR;
132: RETURN;
133: END IF;
154: p_efct_id => p_object_id
155: );
156: END IF;
157: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
158: FND_MESSAGE.set_name( 'AHL', l_msg_data );
159: FND_MSG_PUB.add;
160: x_return_status := l_return_status;
161: RETURN;
162: END IF;
161: RETURN;
162: END IF;
163: -- Check if atleast one record is passed in p_material_req_tbl
164: IF ( p_material_req_tbl.count < 1 ) THEN
165: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_PROCEDURE_CALL' );
166: FND_MESSAGE.set_token( 'PROCEDURE', G_PKG_NAME || '.' || G_API_NAME );
167: FND_MSG_PUB.add;
168: x_return_status := FND_API.G_RET_STS_ERROR;
169: RETURN;
162: END IF;
163: -- Check if atleast one record is passed in p_material_req_tbl
164: IF ( p_material_req_tbl.count < 1 ) THEN
165: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_PROCEDURE_CALL' );
166: FND_MESSAGE.set_token( 'PROCEDURE', G_PKG_NAME || '.' || G_API_NAME );
167: FND_MSG_PUB.add;
168: x_return_status := FND_API.G_RET_STS_ERROR;
169: RETURN;
170: END IF;
172: FOR i IN 1..p_material_req_tbl.count LOOP
173: IF ( p_material_req_tbl(i).dml_operation <> 'D' AND
174: p_material_req_tbl(i).dml_operation <> 'U' AND
175: p_material_req_tbl(i).dml_operation <> 'C' ) THEN
176: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_DML' );
177: FND_MESSAGE.set_token( 'FIELD', p_material_req_tbl(i).dml_operation );
178: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_tbl(i) ) );
179: FND_MSG_PUB.add;
180: x_return_status := FND_API.G_RET_STS_ERROR;
173: IF ( p_material_req_tbl(i).dml_operation <> 'D' AND
174: p_material_req_tbl(i).dml_operation <> 'U' AND
175: p_material_req_tbl(i).dml_operation <> 'C' ) THEN
176: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_DML' );
177: FND_MESSAGE.set_token( 'FIELD', p_material_req_tbl(i).dml_operation );
178: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_tbl(i) ) );
179: FND_MSG_PUB.add;
180: x_return_status := FND_API.G_RET_STS_ERROR;
181: RETURN;
174: p_material_req_tbl(i).dml_operation <> 'U' AND
175: p_material_req_tbl(i).dml_operation <> 'C' ) THEN
176: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_DML' );
177: FND_MESSAGE.set_token( 'FIELD', p_material_req_tbl(i).dml_operation );
178: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_tbl(i) ) );
179: FND_MSG_PUB.add;
180: x_return_status := FND_API.G_RET_STS_ERROR;
181: RETURN;
182: END IF;
196: x_return_status := FND_API.G_RET_STS_SUCCESS;
197: -- Check if a valid value is passed in p_rt_oper_resource_id
198: IF ( p_object_id = FND_API.G_MISS_NUM OR
199: p_object_id IS NULL ) THEN
200: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_efct_OBJECT_NULL' );
201: FND_MSG_PUB.add;
202: x_return_status := FND_API.G_RET_STS_ERROR;
203: RAISE FND_API.G_EXC_ERROR;
204: END IF;
208: x_return_status => l_return_status,
209: x_msg_data => l_msg_data
210: );
211: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
212: FND_MESSAGE.set_name( 'AHL', l_msg_data );
213: FND_MSG_PUB.add;
214: x_return_status := FND_API.G_RET_STS_ERROR;
215: RETURN;
216: END IF;
215: RETURN;
216: END IF;
217: -- Check if at least one record is passed in p_rt_oper_resource_tbl
218: IF ( p_route_efct_tbl.count < 1 ) THEN
219: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_PROCEDURE_CALL' );
220: FND_MESSAGE.set_token( 'PROCEDURE', G_PKG_NAME || '.' || G_API_NAME1 );
221: FND_MSG_PUB.add;
222: x_return_status := FND_API.G_RET_STS_ERROR;
223: RETURN;
216: END IF;
217: -- Check if at least one record is passed in p_rt_oper_resource_tbl
218: IF ( p_route_efct_tbl.count < 1 ) THEN
219: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_PROCEDURE_CALL' );
220: FND_MESSAGE.set_token( 'PROCEDURE', G_PKG_NAME || '.' || G_API_NAME1 );
221: FND_MSG_PUB.add;
222: x_return_status := FND_API.G_RET_STS_ERROR;
223: RETURN;
224: END IF;
226: FOR i IN 1..p_route_efct_tbl.count LOOP
227: IF ( p_route_efct_tbl(i).dml_operation <> 'C' AND
228: p_route_efct_tbl(i).dml_operation <> 'U' AND
229: p_route_efct_tbl(i).dml_operation <> 'D' ) THEN
230: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_DML' );
231: FND_MESSAGE.set_token( 'FIELD', p_route_efct_tbl(i).dml_operation );
232: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_route_efct_tbl(i) ) );
233: FND_MSG_PUB.add;
234: x_return_status := FND_API.G_RET_STS_ERROR;
227: IF ( p_route_efct_tbl(i).dml_operation <> 'C' AND
228: p_route_efct_tbl(i).dml_operation <> 'U' AND
229: p_route_efct_tbl(i).dml_operation <> 'D' ) THEN
230: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_DML' );
231: FND_MESSAGE.set_token( 'FIELD', p_route_efct_tbl(i).dml_operation );
232: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_route_efct_tbl(i) ) );
233: FND_MSG_PUB.add;
234: x_return_status := FND_API.G_RET_STS_ERROR;
235: RETURN;
228: p_route_efct_tbl(i).dml_operation <> 'U' AND
229: p_route_efct_tbl(i).dml_operation <> 'D' ) THEN
230: FND_MESSAGE.set_name( 'AHL', 'AHL_COM_INVALID_DML' );
231: FND_MESSAGE.set_token( 'FIELD', p_route_efct_tbl(i).dml_operation );
232: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_route_efct_tbl(i) ) );
233: FND_MSG_PUB.add;
234: x_return_status := FND_API.G_RET_STS_ERROR;
235: RETURN;
236: END IF;
352: x_msg_data => l_msg_data,
353: p_x_item_comp_detail_id => p_x_material_req_rec.item_comp_detail_id
354: );
355: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
356: FND_MESSAGE.set_name( 'AHL', l_msg_data );
357: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.item_comp_detail_id ) );
358: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
359: FND_MSG_PUB.add;
360: x_return_status := l_return_status;
353: p_x_item_comp_detail_id => p_x_material_req_rec.item_comp_detail_id
354: );
355: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
356: FND_MESSAGE.set_name( 'AHL', l_msg_data );
357: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.item_comp_detail_id ) );
358: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
359: FND_MSG_PUB.add;
360: x_return_status := l_return_status;
361: END IF;
354: );
355: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
356: FND_MESSAGE.set_name( 'AHL', l_msg_data );
357: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.item_comp_detail_id ) );
358: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
359: FND_MSG_PUB.add;
360: x_return_status := l_return_status;
361: END IF;
362: END IF;
373: p_position_path => p_x_material_req_rec.position_path,
374: p_x_position_path_id => p_x_material_req_rec.position_path_id
375: );
376: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
377: FND_MESSAGE.set_name( 'AHL', l_msg_data );
378: IF ( p_x_material_req_rec.position_path IS NULL OR
379: p_x_material_req_rec.position_path = FND_API.G_MISS_CHAR ) THEN
380: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.position_path_id ) );
381: ELSE
376: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
377: FND_MESSAGE.set_name( 'AHL', l_msg_data );
378: IF ( p_x_material_req_rec.position_path IS NULL OR
379: p_x_material_req_rec.position_path = FND_API.G_MISS_CHAR ) THEN
380: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.position_path_id ) );
381: ELSE
382: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.position_path );
383: END IF;
384: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
378: IF ( p_x_material_req_rec.position_path IS NULL OR
379: p_x_material_req_rec.position_path = FND_API.G_MISS_CHAR ) THEN
380: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.position_path_id ) );
381: ELSE
382: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.position_path );
383: END IF;
384: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
385: FND_MSG_PUB.add;
386: x_return_status := l_return_status;
380: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.position_path_id ) );
381: ELSE
382: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.position_path );
383: END IF;
384: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
385: FND_MSG_PUB.add;
386: x_return_status := l_return_status;
387: END IF;
388: END IF;
399: p_item_group_name => p_x_material_req_rec.item_group_name,
400: p_x_item_group_id => p_x_material_req_rec.item_group_id
401: );
402: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
403: FND_MESSAGE.set_name( 'AHL', l_msg_data );
404: IF ( p_x_material_req_rec.item_group_name IS NULL OR
405: p_x_material_req_rec.item_group_name = FND_API.G_MISS_CHAR ) THEN
406: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.item_group_id ) );
407: ELSE
402: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
403: FND_MESSAGE.set_name( 'AHL', l_msg_data );
404: IF ( p_x_material_req_rec.item_group_name IS NULL OR
405: p_x_material_req_rec.item_group_name = FND_API.G_MISS_CHAR ) THEN
406: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.item_group_id ) );
407: ELSE
408: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.item_group_name );
409: END IF;
410: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
404: IF ( p_x_material_req_rec.item_group_name IS NULL OR
405: p_x_material_req_rec.item_group_name = FND_API.G_MISS_CHAR ) THEN
406: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.item_group_id ) );
407: ELSE
408: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.item_group_name );
409: END IF;
410: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
411: FND_MSG_PUB.add;
412: x_return_status := l_return_status;
406: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.item_group_id ) );
407: ELSE
408: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.item_group_name );
409: END IF;
410: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
411: FND_MSG_PUB.add;
412: x_return_status := l_return_status;
413: END IF;
414: --Check if the item group is from composition and is a valid composition element if
428: IF l_item_comp_detail_id IS NOT NULL
429: THEN
430: p_x_material_req_rec.item_comp_detail_id := l_item_comp_detail_id;
431: ELSE
432: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INV_ITEM_COMP_MAT' );
433: FND_MESSAGE.set_token( 'FIELD',p_x_material_req_rec.item_group_name);
434: FND_MSG_PUB.add;
435: x_return_status := FND_API.G_RET_STS_ERROR;
436: END IF; -- l_item_comp_detail_id is null
429: THEN
430: p_x_material_req_rec.item_comp_detail_id := l_item_comp_detail_id;
431: ELSE
432: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INV_ITEM_COMP_MAT' );
433: FND_MESSAGE.set_token( 'FIELD',p_x_material_req_rec.item_group_name);
434: FND_MSG_PUB.add;
435: x_return_status := FND_API.G_RET_STS_ERROR;
436: END IF; -- l_item_comp_detail_id is null
437: END IF; -- which association if
465: );
466: END IF;
467: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
468: IF ( l_msg_data = 'AHL_COM_INVALID_ITEM' ) THEN
469: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INVALID_ITEM' );
470: ELSIF ( l_msg_data = 'AHL_COM_TOO_MANY_ITEMS' ) THEN
471: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_TOO_MANY_ITEMS' );
472: ELSIF ( l_msg_data = 'AHL_COM_SERVICE_ITEM' ) THEN
473: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_SERVICE_ITEM' );
467: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
468: IF ( l_msg_data = 'AHL_COM_INVALID_ITEM' ) THEN
469: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INVALID_ITEM' );
470: ELSIF ( l_msg_data = 'AHL_COM_TOO_MANY_ITEMS' ) THEN
471: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_TOO_MANY_ITEMS' );
472: ELSIF ( l_msg_data = 'AHL_COM_SERVICE_ITEM' ) THEN
473: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_SERVICE_ITEM' );
474: ELSE
475: FND_MESSAGE.set_name( 'AHL', l_msg_data );
469: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INVALID_ITEM' );
470: ELSIF ( l_msg_data = 'AHL_COM_TOO_MANY_ITEMS' ) THEN
471: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_TOO_MANY_ITEMS' );
472: ELSIF ( l_msg_data = 'AHL_COM_SERVICE_ITEM' ) THEN
473: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_SERVICE_ITEM' );
474: ELSE
475: FND_MESSAGE.set_name( 'AHL', l_msg_data );
476: END IF;
477: IF ( p_x_material_req_rec.item_number IS NULL OR
471: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_TOO_MANY_ITEMS' );
472: ELSIF ( l_msg_data = 'AHL_COM_SERVICE_ITEM' ) THEN
473: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_SERVICE_ITEM' );
474: ELSE
475: FND_MESSAGE.set_name( 'AHL', l_msg_data );
476: END IF;
477: IF ( p_x_material_req_rec.item_number IS NULL OR
478: p_x_material_req_rec.item_number = FND_API.G_MISS_CHAR ) THEN
479: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.inventory_item_id ) || '-' || TO_CHAR( p_x_material_req_rec.inventory_org_id ) );
475: FND_MESSAGE.set_name( 'AHL', l_msg_data );
476: END IF;
477: IF ( p_x_material_req_rec.item_number IS NULL OR
478: p_x_material_req_rec.item_number = FND_API.G_MISS_CHAR ) THEN
479: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.inventory_item_id ) || '-' || TO_CHAR( p_x_material_req_rec.inventory_org_id ) );
480: ELSE
481: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.item_number );
482: END IF;
483: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
477: IF ( p_x_material_req_rec.item_number IS NULL OR
478: p_x_material_req_rec.item_number = FND_API.G_MISS_CHAR ) THEN
479: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.inventory_item_id ) || '-' || TO_CHAR( p_x_material_req_rec.inventory_org_id ) );
480: ELSE
481: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.item_number );
482: END IF;
483: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
484: FND_MSG_PUB.add;
485: x_return_status := l_return_status;
479: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_material_req_rec.inventory_item_id ) || '-' || TO_CHAR( p_x_material_req_rec.inventory_org_id ) );
480: ELSE
481: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.item_number );
482: END IF;
483: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
484: FND_MSG_PUB.add;
485: x_return_status := l_return_status;
486: END IF;
487: END IF;
498: p_uom => p_x_material_req_rec.uom,
499: p_x_uom_code => p_x_material_req_rec.uom_code
500: );
501: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
502: FND_MESSAGE.set_name( 'AHL', l_msg_data );
503: IF ( p_x_material_req_rec.uom IS NULL OR
504: p_x_material_req_rec.uom = FND_API.G_MISS_CHAR ) THEN
505: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.uom_code );
506: ELSE
501: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
502: FND_MESSAGE.set_name( 'AHL', l_msg_data );
503: IF ( p_x_material_req_rec.uom IS NULL OR
504: p_x_material_req_rec.uom = FND_API.G_MISS_CHAR ) THEN
505: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.uom_code );
506: ELSE
507: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.uom );
508: END IF;
509: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
503: IF ( p_x_material_req_rec.uom IS NULL OR
504: p_x_material_req_rec.uom = FND_API.G_MISS_CHAR ) THEN
505: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.uom_code );
506: ELSE
507: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.uom );
508: END IF;
509: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
510: FND_MSG_PUB.add;
511: x_return_status := l_return_status;
505: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.uom_code );
506: ELSE
507: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.uom );
508: END IF;
509: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
510: FND_MSG_PUB.add;
511: x_return_status := l_return_status;
512: END IF;
513: END IF;
525: p_mc_name => p_x_material_req_rec.MC_NAME,
526: p_x_mc_id => p_x_material_req_rec.MC_ID
527: );
528: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
529: FND_MESSAGE.set_name( 'AHL', l_msg_data );
530: IF ( p_x_material_req_rec.MC_NAME IS NULL OR
531: p_x_material_req_rec.MC_NAME = FND_API.G_MISS_CHAR ) THEN
532: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_ID );
533: ELSE
528: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
529: FND_MESSAGE.set_name( 'AHL', l_msg_data );
530: IF ( p_x_material_req_rec.MC_NAME IS NULL OR
531: p_x_material_req_rec.MC_NAME = FND_API.G_MISS_CHAR ) THEN
532: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_ID );
533: ELSE
534: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_NAME );
535: END IF;
536: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
530: IF ( p_x_material_req_rec.MC_NAME IS NULL OR
531: p_x_material_req_rec.MC_NAME = FND_API.G_MISS_CHAR ) THEN
532: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_ID );
533: ELSE
534: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_NAME );
535: END IF;
536: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
537: FND_MSG_PUB.add;
538: x_return_status := l_return_status;
532: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_ID );
533: ELSE
534: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_NAME );
535: END IF;
536: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
537: FND_MSG_PUB.add;
538: x_return_status := l_return_status;
539: END IF;
540: END IF;
552: p_mc_position => p_x_material_req_rec.MC_POSITION,
553: p_x_mc_position_key => p_x_material_req_rec.MC_POSITION_KEY
554: );
555: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
556: FND_MESSAGE.set_name( 'AHL', l_msg_data );
557: IF ( p_x_material_req_rec.MC_POSITION IS NULL OR
558: p_x_material_req_rec.MC_POSITION = FND_API.G_MISS_CHAR ) THEN
559: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_POSITION_KEY );
560: ELSE
555: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
556: FND_MESSAGE.set_name( 'AHL', l_msg_data );
557: IF ( p_x_material_req_rec.MC_POSITION IS NULL OR
558: p_x_material_req_rec.MC_POSITION = FND_API.G_MISS_CHAR ) THEN
559: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_POSITION_KEY );
560: ELSE
561: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_POSITION );
562: END IF;
563: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
557: IF ( p_x_material_req_rec.MC_POSITION IS NULL OR
558: p_x_material_req_rec.MC_POSITION = FND_API.G_MISS_CHAR ) THEN
559: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_POSITION_KEY );
560: ELSE
561: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_POSITION );
562: END IF;
563: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
564: FND_MSG_PUB.add;
565: x_return_status := l_return_status;
559: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_POSITION_KEY );
560: ELSE
561: FND_MESSAGE.set_token( 'FIELD', p_x_material_req_rec.MC_POSITION );
562: END IF;
563: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
564: FND_MSG_PUB.add;
565: x_return_status := l_return_status;
566: END IF;
567: END IF;
592: p_mc_revision_number => p_x_route_efct_rec.MC_REVISION,
593: p_x_mc_header_id => p_x_route_efct_rec.MC_HEADER_ID
594: );
595: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
596: FND_MESSAGE.set_name( 'AHL', l_msg_data );
597: IF ( p_x_route_efct_rec.MC_NAME IS NULL OR
598: p_x_route_efct_rec.MC_NAME = FND_API.G_MISS_CHAR ) THEN
599: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_route_efct_rec.MC_HEADER_ID ) );
600: ELSE
595: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
596: FND_MESSAGE.set_name( 'AHL', l_msg_data );
597: IF ( p_x_route_efct_rec.MC_NAME IS NULL OR
598: p_x_route_efct_rec.MC_NAME = FND_API.G_MISS_CHAR ) THEN
599: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_route_efct_rec.MC_HEADER_ID ) );
600: ELSE
601: FND_MESSAGE.set_token( 'FIELD', p_x_route_efct_rec.MC_NAME );
602: END IF;
603: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec(i) ) );
597: IF ( p_x_route_efct_rec.MC_NAME IS NULL OR
598: p_x_route_efct_rec.MC_NAME = FND_API.G_MISS_CHAR ) THEN
599: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_route_efct_rec.MC_HEADER_ID ) );
600: ELSE
601: FND_MESSAGE.set_token( 'FIELD', p_x_route_efct_rec.MC_NAME );
602: END IF;
603: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec(i) ) );
604: FND_MSG_PUB.add;
605: x_return_status := l_return_status;
599: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_route_efct_rec.MC_HEADER_ID ) );
600: ELSE
601: FND_MESSAGE.set_token( 'FIELD', p_x_route_efct_rec.MC_NAME );
602: END IF;
603: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec(i) ) );
604: FND_MSG_PUB.add;
605: x_return_status := l_return_status;
606: END IF;
607: END IF;
624: p_x_inventory_org_id => p_x_route_efct_rec.inventory_master_org_id
625: );
626: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
627: IF ( l_msg_data = 'AHL_COM_INVALID_ITEM' ) THEN
628: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INVALID_ITEM' );
629: ELSIF ( l_msg_data = 'AHL_COM_TOO_MANY_ITEMS' ) THEN
630: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_TOO_MANY_ITEMS' );
631: ELSIF ( l_msg_data = 'AHL_COM_effectivity_ITEM' ) THEN
632: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_effectivity_ITEM' );
626: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
627: IF ( l_msg_data = 'AHL_COM_INVALID_ITEM' ) THEN
628: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INVALID_ITEM' );
629: ELSIF ( l_msg_data = 'AHL_COM_TOO_MANY_ITEMS' ) THEN
630: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_TOO_MANY_ITEMS' );
631: ELSIF ( l_msg_data = 'AHL_COM_effectivity_ITEM' ) THEN
632: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_effectivity_ITEM' );
633: ELSE
634: FND_MESSAGE.set_name( 'AHL', l_msg_data );
628: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INVALID_ITEM' );
629: ELSIF ( l_msg_data = 'AHL_COM_TOO_MANY_ITEMS' ) THEN
630: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_TOO_MANY_ITEMS' );
631: ELSIF ( l_msg_data = 'AHL_COM_effectivity_ITEM' ) THEN
632: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_effectivity_ITEM' );
633: ELSE
634: FND_MESSAGE.set_name( 'AHL', l_msg_data );
635: END IF;
636: IF ( p_x_route_efct_rec.item_number IS NULL OR
630: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_TOO_MANY_ITEMS' );
631: ELSIF ( l_msg_data = 'AHL_COM_effectivity_ITEM' ) THEN
632: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_effectivity_ITEM' );
633: ELSE
634: FND_MESSAGE.set_name( 'AHL', l_msg_data );
635: END IF;
636: IF ( p_x_route_efct_rec.item_number IS NULL OR
637: p_x_route_efct_rec.item_number = FND_API.G_MISS_CHAR ) THEN
638: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_route_efct_rec.inventory_item_id ) || '-' || TO_CHAR( p_x_route_efct_rec.inventory_master_org_id ) );
634: FND_MESSAGE.set_name( 'AHL', l_msg_data );
635: END IF;
636: IF ( p_x_route_efct_rec.item_number IS NULL OR
637: p_x_route_efct_rec.item_number = FND_API.G_MISS_CHAR ) THEN
638: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_route_efct_rec.inventory_item_id ) || '-' || TO_CHAR( p_x_route_efct_rec.inventory_master_org_id ) );
639: ELSE
640: FND_MESSAGE.set_token( 'FIELD', p_x_route_efct_rec.item_number );
641: END IF;
642: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
636: IF ( p_x_route_efct_rec.item_number IS NULL OR
637: p_x_route_efct_rec.item_number = FND_API.G_MISS_CHAR ) THEN
638: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_route_efct_rec.inventory_item_id ) || '-' || TO_CHAR( p_x_route_efct_rec.inventory_master_org_id ) );
639: ELSE
640: FND_MESSAGE.set_token( 'FIELD', p_x_route_efct_rec.item_number );
641: END IF;
642: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
643: FND_MSG_PUB.add;
644: x_return_status := l_return_status;
638: FND_MESSAGE.set_token( 'FIELD', TO_CHAR( p_x_route_efct_rec.inventory_item_id ) || '-' || TO_CHAR( p_x_route_efct_rec.inventory_master_org_id ) );
639: ELSE
640: FND_MESSAGE.set_token( 'FIELD', p_x_route_efct_rec.item_number );
641: END IF;
642: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
643: FND_MSG_PUB.add;
644: x_return_status := l_return_status;
645: END IF;
646: END IF;
930: l_old_material_req_rec.mc_position
931: --sukhwsin: changes for SB Effectivity ends
932: ;
933: IF get_old_rec%NOTFOUND THEN
934: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INVALID_MTL_REC' );
935: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
936: FND_MSG_PUB.add;
937: CLOSE get_old_rec;
938: RAISE FND_API.G_EXC_ERROR;
931: --sukhwsin: changes for SB Effectivity ends
932: ;
933: IF get_old_rec%NOTFOUND THEN
934: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INVALID_MTL_REC' );
935: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_rec ) );
936: FND_MSG_PUB.add;
937: CLOSE get_old_rec;
938: RAISE FND_API.G_EXC_ERROR;
939: END IF;
1185: ,l_old_route_efct_rec.attribute13
1186: ,l_old_route_efct_rec.attribute14
1187: ,l_old_route_efct_rec.attribute15 ;
1188: IF get_old_rec%NOTFOUND THEN
1189: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INVALID_efct_REC' );
1190: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_route_efct_rec ) );
1191: FND_MSG_PUB.add;
1192: CLOSE get_old_rec;
1193: RAISE FND_API.G_EXC_ERROR;
1186: ,l_old_route_efct_rec.attribute14
1187: ,l_old_route_efct_rec.attribute15 ;
1188: IF get_old_rec%NOTFOUND THEN
1189: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INVALID_efct_REC' );
1190: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_route_efct_rec ) );
1191: FND_MSG_PUB.add;
1192: CLOSE get_old_rec;
1193: RAISE FND_API.G_EXC_ERROR;
1194: END IF;
1350: ) THEN
1351: --sukhwsin: SB Effectivity code changes for modifying QTY validation for position based mat req. starts
1352: IF (p_association_type = 'DISPOSITION')
1353: THEN
1354: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_ITEM_QTY_NULL' );
1355: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1356: FND_MSG_PUB.add;
1357: x_return_status := FND_API.G_RET_STS_ERROR;
1358: ELSE
1351: --sukhwsin: SB Effectivity code changes for modifying QTY validation for position based mat req. starts
1352: IF (p_association_type = 'DISPOSITION')
1353: THEN
1354: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_ITEM_QTY_NULL' );
1355: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1356: FND_MSG_PUB.add;
1357: x_return_status := FND_API.G_RET_STS_ERROR;
1358: ELSE
1359: --when association type is ROUTE or OPERATION
1367: ) OR
1368: (( p_material_req_rec.uom IS NOT NULL OR p_material_req_rec.uom <> FND_API.G_MISS_CHAR) OR
1369: ( p_material_req_rec.uom_code IS NOT NULL OR p_material_req_rec.uom_code <> FND_API.G_MISS_CHAR ))
1370: THEN
1371: FND_MESSAGE.set_name( 'AHL','AHL_RM_MTL_QTY_NULL' );
1372: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1373: FND_MSG_PUB.add;
1374: x_return_status := FND_API.G_RET_STS_ERROR;
1375: END IF;
1368: (( p_material_req_rec.uom IS NOT NULL OR p_material_req_rec.uom <> FND_API.G_MISS_CHAR) OR
1369: ( p_material_req_rec.uom_code IS NOT NULL OR p_material_req_rec.uom_code <> FND_API.G_MISS_CHAR ))
1370: THEN
1371: FND_MESSAGE.set_name( 'AHL','AHL_RM_MTL_QTY_NULL' );
1372: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1373: FND_MSG_PUB.add;
1374: x_return_status := FND_API.G_RET_STS_ERROR;
1375: END IF;
1376: END IF;
1376: END IF;
1377:
1378: ELSIF ( p_material_req_rec.dml_operation <> 'D' AND
1379: p_material_req_rec.quantity <= 0 ) THEN
1380: FND_MESSAGE.set_name( 'AHL','AHL_RM_MTL_QTY_LESS_ZERO' );
1381: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1382: FND_MSG_PUB.add;
1383: x_return_status := FND_API.G_RET_STS_ERROR;
1384: ELSIF ( p_material_req_rec.dml_operation <> 'D' AND
1377:
1378: ELSIF ( p_material_req_rec.dml_operation <> 'D' AND
1379: p_material_req_rec.quantity <= 0 ) THEN
1380: FND_MESSAGE.set_name( 'AHL','AHL_RM_MTL_QTY_LESS_ZERO' );
1381: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1382: FND_MSG_PUB.add;
1383: x_return_status := FND_API.G_RET_STS_ERROR;
1384: ELSIF ( p_material_req_rec.dml_operation <> 'D' AND
1385: p_association_type = 'DISPOSITION'
1386: AND
1387: (p_material_req_rec.INVENTORY_ITEM_ID IS NOT NULL OR p_material_req_rec.INVENTORY_ITEM_ID <> FND_API.G_MISS_NUM )
1388: AND
1389: (p_material_req_rec.quantity IS NULL OR p_material_req_rec.quantity = FND_API.G_MISS_NUM) ) THEN
1390: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_ITEM_QTY_NULL' );
1391: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1392: FND_MSG_PUB.add;
1393: x_return_status := FND_API.G_RET_STS_ERROR;
1394: END IF;
1387: (p_material_req_rec.INVENTORY_ITEM_ID IS NOT NULL OR p_material_req_rec.INVENTORY_ITEM_ID <> FND_API.G_MISS_NUM )
1388: AND
1389: (p_material_req_rec.quantity IS NULL OR p_material_req_rec.quantity = FND_API.G_MISS_NUM) ) THEN
1390: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_ITEM_QTY_NULL' );
1391: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1392: FND_MSG_PUB.add;
1393: x_return_status := FND_API.G_RET_STS_ERROR;
1394: END IF;
1395:
1413: ( p_material_req_rec.inventory_org_id IS NOT NULL AND p_material_req_rec.inventory_org_id <> FND_API.G_MISS_NUM )
1414: ) OR
1415: (p_material_req_rec.quantity IS NOT NULL OR p_material_req_rec.quantity <> FND_API.G_MISS_NUM)
1416: THEN
1417: FND_MESSAGE.set_name( 'AHL','AHL_RM_UOM_NULL' );
1418: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1419: FND_MSG_PUB.add;
1420: x_return_status := FND_API.G_RET_STS_ERROR;
1421: END IF;
1414: ) OR
1415: (p_material_req_rec.quantity IS NOT NULL OR p_material_req_rec.quantity <> FND_API.G_MISS_NUM)
1416: THEN
1417: FND_MESSAGE.set_name( 'AHL','AHL_RM_UOM_NULL' );
1418: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1419: FND_MSG_PUB.add;
1420: x_return_status := FND_API.G_RET_STS_ERROR;
1421: END IF;
1422: --sukhwsin: SB Effectivity code changes for modifying validation check for UOM for pos. based mat. req. ends
1433: OR
1434: (p_material_req_rec.uom = FND_API.G_MISS_CHAR AND p_material_req_rec.uom_code = FND_API.G_MISS_CHAR)
1435: )
1436: THEN
1437: FND_MESSAGE.set_name( 'AHL','AHL_RM_UOM_NULL' );
1438: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1439: FND_MSG_PUB.add;
1440: x_return_status := FND_API.G_RET_STS_ERROR;
1441: */
1434: (p_material_req_rec.uom = FND_API.G_MISS_CHAR AND p_material_req_rec.uom_code = FND_API.G_MISS_CHAR)
1435: )
1436: THEN
1437: FND_MESSAGE.set_name( 'AHL','AHL_RM_UOM_NULL' );
1438: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1439: FND_MSG_PUB.add;
1440: x_return_status := FND_API.G_RET_STS_ERROR;
1441: */
1442: END IF;
1456: AND (p_material_req_rec.INVENTORY_ITEM_ID IS NULL OR p_material_req_rec.INVENTORY_ITEM_ID = FND_API.G_MISS_NUM )
1457: )
1458: )
1459: THEN
1460: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REPLACE_INVALID' );
1461: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REWORK_INVALID' );
1462: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1463: FND_MSG_PUB.add;
1464: x_return_status := FND_API.G_RET_STS_ERROR;
1457: )
1458: )
1459: THEN
1460: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REPLACE_INVALID' );
1461: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REWORK_INVALID' );
1462: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1463: FND_MSG_PUB.add;
1464: x_return_status := FND_API.G_RET_STS_ERROR;
1465: END IF ;
1458: )
1459: THEN
1460: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REPLACE_INVALID' );
1461: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REWORK_INVALID' );
1462: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1463: FND_MSG_PUB.add;
1464: x_return_status := FND_API.G_RET_STS_ERROR;
1465: END IF ;
1466:
1470: ( p_material_req_rec.REPLACE_PERCENT IS NULL OR
1471: p_material_req_rec.REPLACE_PERCENT = FND_API.G_MISS_NUM )
1472: )
1473: THEN
1474: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REPLACE_NULL' );
1475: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1476: FND_MSG_PUB.add;
1477: x_return_status := FND_API.G_RET_STS_ERROR;
1478:
1471: p_material_req_rec.REPLACE_PERCENT = FND_API.G_MISS_NUM )
1472: )
1473: THEN
1474: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REPLACE_NULL' );
1475: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1476: FND_MSG_PUB.add;
1477: x_return_status := FND_API.G_RET_STS_ERROR;
1478:
1479: ELSIF ( p_association_type = 'DISPOSITION' AND
1480: p_material_req_rec.dml_operation <> 'D' AND
1481: NOT ( p_material_req_rec.REPLACE_PERCENT BETWEEN 0 AND 100 )
1482: )
1483: THEN
1484: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REPLACE_INVALID' );
1485: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1486: FND_MSG_PUB.add;
1487: x_return_status := FND_API.G_RET_STS_ERROR;
1488:
1481: NOT ( p_material_req_rec.REPLACE_PERCENT BETWEEN 0 AND 100 )
1482: )
1483: THEN
1484: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REPLACE_INVALID' );
1485: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1486: FND_MSG_PUB.add;
1487: x_return_status := FND_API.G_RET_STS_ERROR;
1488:
1489: END IF;
1514: AND
1515: ( p_material_req_rec.REWORK_PERCENT IS NULL OR p_material_req_rec.REWORK_PERCENT = FND_API.G_MISS_NUM )
1516: )
1517: THEN
1518: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REWORK_NULL' );
1519: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1520: FND_MSG_PUB.add;
1521: x_return_status := FND_API.G_RET_STS_ERROR;
1522: ELSIF ( p_association_type = 'DISPOSITION' AND
1515: ( p_material_req_rec.REWORK_PERCENT IS NULL OR p_material_req_rec.REWORK_PERCENT = FND_API.G_MISS_NUM )
1516: )
1517: THEN
1518: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REWORK_NULL' );
1519: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1520: FND_MSG_PUB.add;
1521: x_return_status := FND_API.G_RET_STS_ERROR;
1522: ELSIF ( p_association_type = 'DISPOSITION' AND
1523: p_material_req_rec.dml_operation <> 'D'
1532: )
1533: AND NOT ( p_material_req_rec.REWORK_PERCENT BETWEEN 0 AND 100 )
1534: )
1535: THEN
1536: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REWORK_INVALID' );
1537: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1538: FND_MSG_PUB.add;
1539: x_return_status := FND_API.G_RET_STS_ERROR;
1540:
1533: AND NOT ( p_material_req_rec.REWORK_PERCENT BETWEEN 0 AND 100 )
1534: )
1535: THEN
1536: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REWORK_INVALID' );
1537: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1538: FND_MSG_PUB.add;
1539: x_return_status := FND_API.G_RET_STS_ERROR;
1540:
1541: END IF;
1564:
1565: )
1566: )
1567: THEN
1568: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REWORK_NOT_REQ' );
1569: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1570: FND_MSG_PUB.add;
1571: x_return_status := FND_API.G_RET_STS_ERROR;
1572: END IF;
1565: )
1566: )
1567: THEN
1568: FND_MESSAGE.set_name( 'AHL','AHL_RM_DISP_REWORK_NOT_REQ' );
1569: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1570: FND_MSG_PUB.add;
1571: x_return_status := FND_API.G_RET_STS_ERROR;
1572: END IF;
1573:
1578:
1579: -- Check if the mandatory Effectivity ID column contains a null value.
1580: IF ( p_material_req_rec.rt_oper_material_id IS NULL OR
1581: p_material_req_rec.rt_oper_material_id = FND_API.G_MISS_NUM ) THEN
1582: FND_MESSAGE.set_name( 'AHL','AHL_RM_MTL_ID_NULL' );
1583: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1584: FND_MSG_PUB.add;
1585: x_return_status := FND_API.G_RET_STS_ERROR;
1586: RETURN;
1579: -- Check if the mandatory Effectivity ID column contains a null value.
1580: IF ( p_material_req_rec.rt_oper_material_id IS NULL OR
1581: p_material_req_rec.rt_oper_material_id = FND_API.G_MISS_NUM ) THEN
1582: FND_MESSAGE.set_name( 'AHL','AHL_RM_MTL_ID_NULL' );
1583: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1584: FND_MSG_PUB.add;
1585: x_return_status := FND_API.G_RET_STS_ERROR;
1586: RETURN;
1587: END IF;
1588:
1589: -- Check if the mandatory Object Version Number column contains a null value.
1590: IF ( p_material_req_rec.object_version_number IS NULL OR
1591: p_material_req_rec.object_version_number = FND_API.G_MISS_NUM ) THEN
1592: FND_MESSAGE.set_name( 'AHL','AHL_RM_MTL_OBJ_VERSION_NULL' );
1593: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1594: FND_MSG_PUB.add;
1595: x_return_status := FND_API.G_RET_STS_ERROR;
1596: RETURN;
1589: -- Check if the mandatory Object Version Number column contains a null value.
1590: IF ( p_material_req_rec.object_version_number IS NULL OR
1591: p_material_req_rec.object_version_number = FND_API.G_MISS_NUM ) THEN
1592: FND_MESSAGE.set_name( 'AHL','AHL_RM_MTL_OBJ_VERSION_NULL' );
1593: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1594: FND_MSG_PUB.add;
1595: x_return_status := FND_API.G_RET_STS_ERROR;
1596: RETURN;
1597: END IF;
1611: END IF;
1612: -- Check if the mandatory column contains a null value.
1613: IF ( p_route_efct_rec.ROUTE_EFFECTIVITY_ID IS NULL OR
1614: p_route_efct_rec.ROUTE_EFFECTIVITY_ID = FND_API.G_MISS_NUM ) THEN
1615: FND_MESSAGE.set_name( 'AHL','AHL_RM_efct_ID_NULL' );
1616: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1617: FND_MSG_PUB.add;
1618: x_return_status := FND_API.G_RET_STS_ERROR;
1619: RETURN;
1612: -- Check if the mandatory column contains a null value.
1613: IF ( p_route_efct_rec.ROUTE_EFFECTIVITY_ID IS NULL OR
1614: p_route_efct_rec.ROUTE_EFFECTIVITY_ID = FND_API.G_MISS_NUM ) THEN
1615: FND_MESSAGE.set_name( 'AHL','AHL_RM_efct_ID_NULL' );
1616: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1617: FND_MSG_PUB.add;
1618: x_return_status := FND_API.G_RET_STS_ERROR;
1619: RETURN;
1620: END IF;
1620: END IF;
1621: -- Check if the mandatory Object Version Number column contains a null value.
1622: IF ( p_route_efct_rec.object_version_number IS NULL OR
1623: p_route_efct_rec.object_version_number = FND_API.G_MISS_NUM ) THEN
1624: FND_MESSAGE.set_name( 'AHL','AHL_RM_efct_OBJ_VERSION_NULL' );
1625: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1626: FND_MSG_PUB.add;
1627: x_return_status := FND_API.G_RET_STS_ERROR;
1628: RETURN;
1621: -- Check if the mandatory Object Version Number column contains a null value.
1622: IF ( p_route_efct_rec.object_version_number IS NULL OR
1623: p_route_efct_rec.object_version_number = FND_API.G_MISS_NUM ) THEN
1624: FND_MESSAGE.set_name( 'AHL','AHL_RM_efct_OBJ_VERSION_NULL' );
1625: -- FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1626: FND_MSG_PUB.add;
1627: x_return_status := FND_API.G_RET_STS_ERROR;
1628: RETURN;
1629: END IF;
1665: p_material_req_rec.mc_position_key IS NULL AND
1666: p_material_req_rec.mc_position IS NULL
1667: --sukhwsin: added validation for SB Effectivity ends
1668: ) THEN
1669: --FND_MESSAGE.set_name( 'AHL','AHL_RM_ITEMGRP_ITEM_NULL' ); -- sukhwsin: commented old message
1670: FND_MESSAGE.set_name( 'AHL','AHL_RM_MATREQ_COMB_NULL' );
1671: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1672: FND_MSG_PUB.add;
1673: x_return_status := FND_API.G_RET_STS_ERROR;
1666: p_material_req_rec.mc_position IS NULL
1667: --sukhwsin: added validation for SB Effectivity ends
1668: ) THEN
1669: --FND_MESSAGE.set_name( 'AHL','AHL_RM_ITEMGRP_ITEM_NULL' ); -- sukhwsin: commented old message
1670: FND_MESSAGE.set_name( 'AHL','AHL_RM_MATREQ_COMB_NULL' );
1671: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1672: FND_MSG_PUB.add;
1673: x_return_status := FND_API.G_RET_STS_ERROR;
1674: END IF;
1667: --sukhwsin: added validation for SB Effectivity ends
1668: ) THEN
1669: --FND_MESSAGE.set_name( 'AHL','AHL_RM_ITEMGRP_ITEM_NULL' ); -- sukhwsin: commented old message
1670: FND_MESSAGE.set_name( 'AHL','AHL_RM_MATREQ_COMB_NULL' );
1671: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1672: FND_MSG_PUB.add;
1673: x_return_status := FND_API.G_RET_STS_ERROR;
1674: END IF;
1675: --sukhwsin: changed validation for SB Effectivity starts
1682: IF ( p_material_req_rec.mc_id IS NULL OR
1683: p_material_req_rec.mc_name IS NULL OR
1684: p_material_req_rec.mc_position_key IS NULL OR
1685: p_material_req_rec.mc_position IS NULL) THEN
1686: FND_MESSAGE.set_name( 'AHL','AHL_RM_MISSING_MCPOS_ERR' );
1687: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1688: FND_MSG_PUB.add;
1689: x_return_status := FND_API.G_RET_STS_ERROR;
1690: ELSE
1683: p_material_req_rec.mc_name IS NULL OR
1684: p_material_req_rec.mc_position_key IS NULL OR
1685: p_material_req_rec.mc_position IS NULL) THEN
1686: FND_MESSAGE.set_name( 'AHL','AHL_RM_MISSING_MCPOS_ERR' );
1687: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1688: FND_MSG_PUB.add;
1689: x_return_status := FND_API.G_RET_STS_ERROR;
1690: ELSE
1691: --if both mc and position is given then check whether position exist under mc
1692: OPEN get_position_key_count( p_material_req_rec.mc_id , p_material_req_rec.mc_position_key );
1693: FETCH get_position_key_count INTO l_pos_count;
1694: CLOSE get_position_key_count;
1695: IF (l_pos_count = 0) THEN
1696: FND_MESSAGE.set_name( 'AHL','AHL_RM_INVALID_MC_POS_COMB' );
1697: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1698: FND_MSG_PUB.add;
1699: x_return_status := FND_API.G_RET_STS_ERROR;
1700: END IF;
1693: FETCH get_position_key_count INTO l_pos_count;
1694: CLOSE get_position_key_count;
1695: IF (l_pos_count = 0) THEN
1696: FND_MESSAGE.set_name( 'AHL','AHL_RM_INVALID_MC_POS_COMB' );
1697: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1698: FND_MSG_PUB.add;
1699: x_return_status := FND_API.G_RET_STS_ERROR;
1700: END IF;
1701: END IF;
1719: p_material_req_rec.mc_position IS NOT NULL ) THEN
1720: l_comb_count := l_comb_count + 1;
1721: END IF;
1722: IF ( l_comb_count > 1) THEN
1723: FND_MESSAGE.set_name( 'AHL','AHL_RM_MAT_REQ_COMB_ERR' );
1724: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1725: FND_MSG_PUB.add;
1726: x_return_status := FND_API.G_RET_STS_ERROR;
1727: END IF;
1720: l_comb_count := l_comb_count + 1;
1721: END IF;
1722: IF ( l_comb_count > 1) THEN
1723: FND_MESSAGE.set_name( 'AHL','AHL_RM_MAT_REQ_COMB_ERR' );
1724: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1725: FND_MSG_PUB.add;
1726: x_return_status := FND_API.G_RET_STS_ERROR;
1727: END IF;
1728: ELSE
1734: p_material_req_rec.item_number IS NOT NULL ) AND
1735: ( p_material_req_rec.item_group_id IS NOT NULL OR
1736: p_material_req_rec.item_group_name IS NOT NULL )
1737: ) THEN
1738: FND_MESSAGE.set_name( 'AHL','AHL_RM_ITEMGRP_ITEM_NOTNULL' );
1739: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1740: FND_MSG_PUB.add;
1741: x_return_status := FND_API.G_RET_STS_ERROR;
1742: END IF;
1735: ( p_material_req_rec.item_group_id IS NOT NULL OR
1736: p_material_req_rec.item_group_name IS NOT NULL )
1737: ) THEN
1738: FND_MESSAGE.set_name( 'AHL','AHL_RM_ITEMGRP_ITEM_NOTNULL' );
1739: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1740: FND_MSG_PUB.add;
1741: x_return_status := FND_API.G_RET_STS_ERROR;
1742: END IF;
1743: END IF;
1756: p_inventory_org_id => p_material_req_rec.inventory_org_id,
1757: p_uom_code => p_material_req_rec.uom_code
1758: );
1759: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
1760: FND_MESSAGE.set_name( 'AHL', l_msg_data );
1761: IF ( p_material_req_rec.uom IS NULL ) THEN
1762: FND_MESSAGE.set_token( 'FIELD1', p_material_req_rec.uom_code );
1763: ELSE
1764: FND_MESSAGE.set_token( 'FIELD1', p_material_req_rec.uom );
1758: );
1759: IF ( NVL( l_return_status, 'X' ) <> FND_API.G_RET_STS_SUCCESS ) THEN
1760: FND_MESSAGE.set_name( 'AHL', l_msg_data );
1761: IF ( p_material_req_rec.uom IS NULL ) THEN
1762: FND_MESSAGE.set_token( 'FIELD1', p_material_req_rec.uom_code );
1763: ELSE
1764: FND_MESSAGE.set_token( 'FIELD1', p_material_req_rec.uom );
1765: END IF;
1766: IF ( p_material_req_rec.item_number IS NOT NULL ) THEN
1760: FND_MESSAGE.set_name( 'AHL', l_msg_data );
1761: IF ( p_material_req_rec.uom IS NULL ) THEN
1762: FND_MESSAGE.set_token( 'FIELD1', p_material_req_rec.uom_code );
1763: ELSE
1764: FND_MESSAGE.set_token( 'FIELD1', p_material_req_rec.uom );
1765: END IF;
1766: IF ( p_material_req_rec.item_number IS NOT NULL ) THEN
1767: FND_MESSAGE.set_token( 'FIELD2', p_material_req_rec.item_number );
1768: ELSIF ( p_material_req_rec.inventory_item_id IS NOT NULL AND
1763: ELSE
1764: FND_MESSAGE.set_token( 'FIELD1', p_material_req_rec.uom );
1765: END IF;
1766: IF ( p_material_req_rec.item_number IS NOT NULL ) THEN
1767: FND_MESSAGE.set_token( 'FIELD2', p_material_req_rec.item_number );
1768: ELSIF ( p_material_req_rec.inventory_item_id IS NOT NULL AND
1769: p_material_req_rec.inventory_org_id IS NOT NULL ) THEN
1770: FND_MESSAGE.set_token( 'FIELD2', TO_CHAR( p_material_req_rec.inventory_item_id ) || '-' || TO_CHAR( p_material_req_rec.inventory_org_id ) );
1771: ELSIF ( p_material_req_rec.item_group_name IS NOT NULL ) THEN
1766: IF ( p_material_req_rec.item_number IS NOT NULL ) THEN
1767: FND_MESSAGE.set_token( 'FIELD2', p_material_req_rec.item_number );
1768: ELSIF ( p_material_req_rec.inventory_item_id IS NOT NULL AND
1769: p_material_req_rec.inventory_org_id IS NOT NULL ) THEN
1770: FND_MESSAGE.set_token( 'FIELD2', TO_CHAR( p_material_req_rec.inventory_item_id ) || '-' || TO_CHAR( p_material_req_rec.inventory_org_id ) );
1771: ELSIF ( p_material_req_rec.item_group_name IS NOT NULL ) THEN
1772: FND_MESSAGE.set_token( 'FIELD2', p_material_req_rec.item_group_name );
1773: ELSIF ( p_material_req_rec.item_group_id IS NOT NULL ) THEN
1774: FND_MESSAGE.set_token( 'FIELD2', TO_CHAR( p_material_req_rec.item_group_id ) );
1768: ELSIF ( p_material_req_rec.inventory_item_id IS NOT NULL AND
1769: p_material_req_rec.inventory_org_id IS NOT NULL ) THEN
1770: FND_MESSAGE.set_token( 'FIELD2', TO_CHAR( p_material_req_rec.inventory_item_id ) || '-' || TO_CHAR( p_material_req_rec.inventory_org_id ) );
1771: ELSIF ( p_material_req_rec.item_group_name IS NOT NULL ) THEN
1772: FND_MESSAGE.set_token( 'FIELD2', p_material_req_rec.item_group_name );
1773: ELSIF ( p_material_req_rec.item_group_id IS NOT NULL ) THEN
1774: FND_MESSAGE.set_token( 'FIELD2', TO_CHAR( p_material_req_rec.item_group_id ) );
1775: END IF;
1776: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1770: FND_MESSAGE.set_token( 'FIELD2', TO_CHAR( p_material_req_rec.inventory_item_id ) || '-' || TO_CHAR( p_material_req_rec.inventory_org_id ) );
1771: ELSIF ( p_material_req_rec.item_group_name IS NOT NULL ) THEN
1772: FND_MESSAGE.set_token( 'FIELD2', p_material_req_rec.item_group_name );
1773: ELSIF ( p_material_req_rec.item_group_id IS NOT NULL ) THEN
1774: FND_MESSAGE.set_token( 'FIELD2', TO_CHAR( p_material_req_rec.item_group_id ) );
1775: END IF;
1776: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1777: FND_MSG_PUB.add;
1778: x_return_status := l_return_status;
1772: FND_MESSAGE.set_token( 'FIELD2', p_material_req_rec.item_group_name );
1773: ELSIF ( p_material_req_rec.item_group_id IS NOT NULL ) THEN
1774: FND_MESSAGE.set_token( 'FIELD2', TO_CHAR( p_material_req_rec.item_group_id ) );
1775: END IF;
1776: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_material_req_rec ) );
1777: FND_MSG_PUB.add;
1778: x_return_status := l_return_status;
1779: END IF;
1780: END IF;
1795: p_route_efct_rec.mc_name IS NULL AND
1796: p_route_efct_rec.inventory_item_id IS NULL AND
1797: p_route_efct_rec.inventory_master_org_id IS NULL AND
1798: p_route_efct_rec.item_number IS NULL ) THEN
1799: FND_MESSAGE.set_name( 'AHL','AHL_RM_EFCT_ITEM_NULL' );
1800: -- FND_MESSAGE.set_token( 'RECORD', get_effct_identifier( p_route_efct_rec ) );
1801: FND_MSG_PUB.add;
1802: x_return_status := FND_API.G_RET_STS_ERROR;
1803: END IF;
1796: p_route_efct_rec.inventory_item_id IS NULL AND
1797: p_route_efct_rec.inventory_master_org_id IS NULL AND
1798: p_route_efct_rec.item_number IS NULL ) THEN
1799: FND_MESSAGE.set_name( 'AHL','AHL_RM_EFCT_ITEM_NULL' );
1800: -- FND_MESSAGE.set_token( 'RECORD', get_effct_identifier( p_route_efct_rec ) );
1801: FND_MSG_PUB.add;
1802: x_return_status := FND_API.G_RET_STS_ERROR;
1803: END IF;
1804: -- Check if both MC and Item contain values
1812: p_route_efct_rec.MC_REVISION IS NOT NULL OR
1813: p_route_efct_rec.MC_HEADER_ID IS NOT NULL
1814: ) )
1815: THEN
1816: FND_MESSAGE.set_name( 'AHL','AHL_RM_efct_ITEM_NOTNULL' );
1817: FND_MESSAGE.set_token( 'RECORD', get_effct_identifier( p_route_efct_rec ) );
1818: FND_MSG_PUB.add;
1819: x_return_status := FND_API.G_RET_STS_ERROR;
1820: END IF;
1813: p_route_efct_rec.MC_HEADER_ID IS NOT NULL
1814: ) )
1815: THEN
1816: FND_MESSAGE.set_name( 'AHL','AHL_RM_efct_ITEM_NOTNULL' );
1817: FND_MESSAGE.set_token( 'RECORD', get_effct_identifier( p_route_efct_rec ) );
1818: FND_MSG_PUB.add;
1819: x_return_status := FND_API.G_RET_STS_ERROR;
1820: END IF;
1821: -- Check if both Org and Item contain values
1822: IF ( ( p_route_efct_rec.inventory_item_id IS NOT NULL OR p_route_efct_rec.item_number IS NOT NULL )
1823: AND ( p_route_efct_rec.inventory_master_org_id IS NULL OR p_route_efct_rec.organization_code IS NULL)
1824: )
1825: THEN
1826: FND_MESSAGE.set_name( 'AHL','AHL_RM_efct_ITEM_ORG_NOTNULL' );
1827: -- FND_MESSAGE.set_token( 'RECORD', get_effct_identifier( p_route_efct_rec ) );
1828: FND_MSG_PUB.add;
1829: x_return_status := FND_API.G_RET_STS_ERROR;
1830: END IF;
1823: AND ( p_route_efct_rec.inventory_master_org_id IS NULL OR p_route_efct_rec.organization_code IS NULL)
1824: )
1825: THEN
1826: FND_MESSAGE.set_name( 'AHL','AHL_RM_efct_ITEM_ORG_NOTNULL' );
1827: -- FND_MESSAGE.set_token( 'RECORD', get_effct_identifier( p_route_efct_rec ) );
1828: FND_MSG_PUB.add;
1829: x_return_status := FND_API.G_RET_STS_ERROR;
1830: END IF;
1831: END validate_efct_record;
1905: AHL_DEBUG_PUB.debug( 'mc_id : ' || l_material_req_rec.mc_id);
1906: AHL_DEBUG_PUB.debug( 'mc_position_key : ' || l_material_req_rec.mc_position_key);
1907: END IF;
1908: EXIT WHEN get_dup_rec%NOTFOUND;
1909: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_MATERIAL_REQ_REC_DUP' );
1910: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( l_material_req_rec ) );
1911: FND_MSG_PUB.add;
1912: --sukhwsin: Changes for SB Effectivity Pos based requirement ends
1913: END LOOP;
1906: AHL_DEBUG_PUB.debug( 'mc_position_key : ' || l_material_req_rec.mc_position_key);
1907: END IF;
1908: EXIT WHEN get_dup_rec%NOTFOUND;
1909: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_MATERIAL_REQ_REC_DUP' );
1910: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( l_material_req_rec ) );
1911: FND_MSG_PUB.add;
1912: --sukhwsin: Changes for SB Effectivity Pos based requirement ends
1913: END LOOP;
1914: IF ( get_dup_rec%ROWCOUNT > 0 ) THEN
2021: l_route_efct_req_rec.MC_REVISION;
2022: CLOSE get_mc_name_and_revision;
2023: --END
2024: IF ( get_dup_rec%FOUND ) THEN
2025: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_route_efct_REC_DUP' );
2026: FND_MESSAGE.set_token( 'RECORD', get_effct_identifier( l_route_efct_req_rec ) );
2027: FND_MSG_PUB.add;
2028: END IF ;
2029: END LOOP;
2022: CLOSE get_mc_name_and_revision;
2023: --END
2024: IF ( get_dup_rec%FOUND ) THEN
2025: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_route_efct_REC_DUP' );
2026: FND_MESSAGE.set_token( 'RECORD', get_effct_identifier( l_route_efct_req_rec ) );
2027: FND_MSG_PUB.add;
2028: END IF ;
2029: END LOOP;
2030: IF ( get_dup_rec%ROWCOUNT > 0 ) THEN
2237: l_msg_data,
2238: l_return_status
2239: );
2240: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2241: FND_MESSAGE.SET_NAME('AHL',l_msg_data);
2242: FND_MSG_PUB.ADD;
2243: x_return_status := l_return_status;
2244: RETURN;
2245: END IF;
2258: OPEN get_efct_rec ( p_object_id ) ;
2259: FETCH get_efct_rec INTO l_dummy_number;
2260: IF get_efct_rec%NOTFOUND
2261: THEN
2262: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_INVALID_efct_REC' );
2263: FND_MSG_PUB.add;
2264: CLOSE get_efct_rec;
2265: RAISE FND_API.G_EXC_ERROR;
2266: END IF;
2272: l_msg_data,
2273: l_return_status
2274: );
2275: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2276: FND_MESSAGE.SET_NAME('AHL',l_msg_data);
2277: FND_MSG_PUB.ADD;
2278: x_return_status := l_return_status;
2279: RETURN;
2280: END IF;
2297: l_msg_data,
2298: l_return_status
2299: );
2300: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2301: FND_MESSAGE.SET_NAME('AHL',l_msg_data);
2302: FND_MSG_PUB.ADD;
2303: x_return_status := l_return_status;
2304: RETURN;
2305: END IF;
2448: p_x_material_req_tbl(i).rt_oper_material_id := l_rt_oper_material_id;
2449: EXCEPTION
2450: WHEN OTHERS THEN
2451: IF ( SQLCODE = -1 ) THEN
2452: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_MATERIAL_REQ_REC_DUP' );
2453: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_tbl(i) ) );
2454: FND_MSG_PUB.add;
2455: ELSE
2456: IF (fnd_log.level_unexpected >= fnd_log.g_current_runtime_level)
2449: EXCEPTION
2450: WHEN OTHERS THEN
2451: IF ( SQLCODE = -1 ) THEN
2452: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_MATERIAL_REQ_REC_DUP' );
2453: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_tbl(i) ) );
2454: FND_MSG_PUB.add;
2455: ELSE
2456: IF (fnd_log.level_unexpected >= fnd_log.g_current_runtime_level)
2457: THEN
2506: WHERE rt_oper_material_id = p_x_material_req_tbl(i).rt_oper_material_id
2507: AND object_version_number = p_x_material_req_tbl(i).object_version_number;
2508: -- If the record does not exist, then, abort API.
2509: IF ( SQL%ROWCOUNT = 0 ) THEN
2510: FND_MESSAGE.set_name('AHL','AHL_RM_RECORD_CHANGED');
2511: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_tbl(i) ) );
2512: FND_MSG_PUB.add;
2513: RAISE FND_API.G_EXC_ERROR;
2514: END IF;
2507: AND object_version_number = p_x_material_req_tbl(i).object_version_number;
2508: -- If the record does not exist, then, abort API.
2509: IF ( SQL%ROWCOUNT = 0 ) THEN
2510: FND_MESSAGE.set_name('AHL','AHL_RM_RECORD_CHANGED');
2511: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_tbl(i) ) );
2512: FND_MSG_PUB.add;
2513: RAISE FND_API.G_EXC_ERROR;
2514: END IF;
2515: -- Set OUT values
2516: p_x_material_req_tbl(i).object_version_number := p_x_material_req_tbl(i).object_version_number + 1;
2517: EXCEPTION
2518: WHEN OTHERS THEN
2519: IF ( SQLCODE = -1 ) THEN
2520: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_MATERIAL_REQ_REC_DUP' );
2521: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_tbl(i) ) );
2522: FND_MSG_PUB.add;
2523: RAISE FND_API.G_EXC_ERROR;
2524: ELSE
2517: EXCEPTION
2518: WHEN OTHERS THEN
2519: IF ( SQLCODE = -1 ) THEN
2520: FND_MESSAGE.set_name( 'AHL', 'AHL_RM_MATERIAL_REQ_REC_DUP' );
2521: FND_MESSAGE.set_token( 'RECORD', get_record_identifier( p_x_material_req_tbl(i) ) );
2522: FND_MSG_PUB.add;
2523: RAISE FND_API.G_EXC_ERROR;
2524: ELSE
2525: IF (fnd_log.level_unexpected >= fnd_log.g_current_runtime_level)
2539: WHERE rt_oper_material_id = p_x_material_req_tbl(i).rt_oper_material_id
2540: AND object_version_number = p_x_material_req_tbl(i).object_version_number;
2541: -- If the record does not exist, then, abort API.
2542: IF ( SQL%ROWCOUNT = 0 ) THEN
2543: FND_MESSAGE.set_name('AHL','AHL_RM_RECORD_CHANGED');
2544: FND_MESSAGE.set_token( 'RECORD', TO_CHAR( i ) );
2545: FND_MSG_PUB.add;
2546: RAISE FND_API.G_EXC_ERROR;
2547: END IF;
2540: AND object_version_number = p_x_material_req_tbl(i).object_version_number;
2541: -- If the record does not exist, then, abort API.
2542: IF ( SQL%ROWCOUNT = 0 ) THEN
2543: FND_MESSAGE.set_name('AHL','AHL_RM_RECORD_CHANGED');
2544: FND_MESSAGE.set_token( 'RECORD', TO_CHAR( i ) );
2545: FND_MSG_PUB.add;
2546: RAISE FND_API.G_EXC_ERROR;
2547: END IF;
2548: END IF;
2813: l_msg_data,
2814: l_return_status
2815: );
2816: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2817: FND_MESSAGE.SET_NAME('AHL',l_msg_data);
2818: FND_MSG_PUB.ADD;
2819: x_return_status := l_return_status;
2820: RETURN;
2821: END IF;
2943: WHERE route_effectivity_id = p_x_route_efct_tbl(i).route_effectivity_id
2944: AND object_version_number = p_x_route_efct_tbl(i).object_version_number;
2945: -- If the record does not exist, then, abort API.
2946: IF ( SQL%ROWCOUNT = 0 ) THEN
2947: FND_MESSAGE.set_name('AHL','AHL_RM_RECORD_CHANGED');
2948: -- FND_MESSAGE.set_token( 'RECORD', p_x_route_efct_tbl(i).aso_resource_name );
2949: FND_MSG_PUB.add;
2950: END IF;
2951: -- Set OUT values
2944: AND object_version_number = p_x_route_efct_tbl(i).object_version_number;
2945: -- If the record does not exist, then, abort API.
2946: IF ( SQL%ROWCOUNT = 0 ) THEN
2947: FND_MESSAGE.set_name('AHL','AHL_RM_RECORD_CHANGED');
2948: -- FND_MESSAGE.set_token( 'RECORD', p_x_route_efct_tbl(i).aso_resource_name );
2949: FND_MSG_PUB.add;
2950: END IF;
2951: -- Set OUT values
2952: p_x_route_efct_tbl(i).object_version_number := p_x_route_efct_tbl(i).object_version_number + 1;
2964: WHERE route_effectivity_id = p_x_route_efct_tbl(i).route_effectivity_id
2965: AND object_version_number = p_x_route_efct_tbl(i).object_version_number;
2966: -- If the record does not exist, then, abort API.
2967: IF ( SQL%ROWCOUNT = 0 ) THEN
2968: FND_MESSAGE.set_name('AHL','AHL_RM_RECORD_CHANGED');
2969: FND_MESSAGE.set_token( 'RECORD', TO_CHAR( i ) );
2970: FND_MSG_PUB.add;
2971: END IF;
2972: END IF;
2965: AND object_version_number = p_x_route_efct_tbl(i).object_version_number;
2966: -- If the record does not exist, then, abort API.
2967: IF ( SQL%ROWCOUNT = 0 ) THEN
2968: FND_MESSAGE.set_name('AHL','AHL_RM_RECORD_CHANGED');
2969: FND_MESSAGE.set_token( 'RECORD', TO_CHAR( i ) );
2970: FND_MSG_PUB.add;
2971: END IF;
2972: END IF;
2973: END LOOP;