100: END IF;
101:
102: --Check Rule subject id is not null
103: IF (p_rule_stmt_rec.subject_id IS NULL) THEN
104: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_SUBJ_NULL');
105: FND_MSG_PUB.ADD;
106: END IF;
107:
108: --Check Rule operator is not null
106: END IF;
107:
108: --Check Rule operator is not null
109: IF (p_rule_stmt_rec.operator IS NULL) THEN
110: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_OPER_NULL');
111: FND_MSG_PUB.ADD;
112: END IF;
113:
114: --Validate join operators
121: IF ((p_rule_stmt_rec.subject_type <> 'RULE_STMT') OR
122: (p_rule_stmt_rec.object_type <> 'RULE_STMT') OR
123: (p_rule_stmt_rec.negation_flag IS NOT NULL))
124: THEN
125: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_INV');
126: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
127: FND_MSG_PUB.ADD;
128: END IF;
129:
122: (p_rule_stmt_rec.object_type <> 'RULE_STMT') OR
123: (p_rule_stmt_rec.negation_flag IS NOT NULL))
124: THEN
125: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_INV');
126: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
127: FND_MSG_PUB.ADD;
128: END IF;
129:
130: --Check both rule_ids are valid rule statements.
130: --Check both rule_ids are valid rule statements.
131: OPEN check_rule_statement_csr(p_rule_stmt_rec.subject_id);
132: FETCH check_rule_statement_csr INTO l_junk;
133: IF (check_rule_statement_csr%NOTFOUND) THEN
134: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_ID_INV');
135: FND_MESSAGE.Set_Token('RULE_STMT_ID',p_rule_stmt_rec.subject_id);
136: FND_MSG_PUB.ADD;
137: END IF;
138: CLOSE check_rule_statement_csr;
131: OPEN check_rule_statement_csr(p_rule_stmt_rec.subject_id);
132: FETCH check_rule_statement_csr INTO l_junk;
133: IF (check_rule_statement_csr%NOTFOUND) THEN
134: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_ID_INV');
135: FND_MESSAGE.Set_Token('RULE_STMT_ID',p_rule_stmt_rec.subject_id);
136: FND_MSG_PUB.ADD;
137: END IF;
138: CLOSE check_rule_statement_csr;
139:
139:
140: OPEN check_rule_statement_csr(p_rule_stmt_rec.object_id);
141: FETCH check_rule_statement_csr INTO l_junk;
142: IF (check_rule_statement_csr%NOTFOUND) THEN
143: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_ID_INV');
144: FND_MESSAGE.Set_Token('RULE_STMT_ID',p_rule_stmt_rec.object_id);
145: FND_MSG_PUB.ADD;
146: END IF;
147: CLOSE check_rule_statement_csr;
140: OPEN check_rule_statement_csr(p_rule_stmt_rec.object_id);
141: FETCH check_rule_statement_csr INTO l_junk;
142: IF (check_rule_statement_csr%NOTFOUND) THEN
143: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_ID_INV');
144: FND_MESSAGE.Set_Token('RULE_STMT_ID',p_rule_stmt_rec.object_id);
145: FND_MSG_PUB.ADD;
146: END IF;
147: CLOSE check_rule_statement_csr;
148: END IF;
156: --Check MANDATORY Type
157: OPEN check_rule_type_csr(p_rule_stmt_rec.rule_id);
158: FETCH check_rule_type_csr INTO l_rule_type;
159: IF (l_rule_type <> 'MANDATORY' AND l_rule_type <> 'FLEET') THEN
160: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_TYPE_INV');
161: FND_MESSAGE.Set_Token('RULE_TYPE',l_rule_type);
162: FND_MSG_PUB.ADD;
163: END IF;
164: CLOSE check_rule_type_csr;
157: OPEN check_rule_type_csr(p_rule_stmt_rec.rule_id);
158: FETCH check_rule_type_csr INTO l_rule_type;
159: IF (l_rule_type <> 'MANDATORY' AND l_rule_type <> 'FLEET') THEN
160: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_TYPE_INV');
161: FND_MESSAGE.Set_Token('RULE_TYPE',l_rule_type);
162: FND_MSG_PUB.ADD;
163: END IF;
164: CLOSE check_rule_type_csr;
165:
165:
166: -- SATHAPLI::FP OGMA Issue# 105 - Non-Serialized Item Maintenance, 03-Dec-2007
167: -- Check that the fleet type rules are not created with the object type "total quantity of children"
168: IF(p_rule_stmt_rec.object_type = 'TOT_CHILD_QUANTITY' AND l_rule_type = 'FLEET') THEN
169: FND_MESSAGE.Set_Name('AHL','AHL_MC_QRUL_TYP_OBJTY_INV');
170: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
171: FND_MESSAGE.Set_Token('RULE_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_TYPES', l_rule_type));
172: FND_MESSAGE.Set_Token('OBJ_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_OBJECT_TYPES', p_rule_stmt_rec.object_type));
173: FND_MSG_PUB.ADD;
166: -- SATHAPLI::FP OGMA Issue# 105 - Non-Serialized Item Maintenance, 03-Dec-2007
167: -- Check that the fleet type rules are not created with the object type "total quantity of children"
168: IF(p_rule_stmt_rec.object_type = 'TOT_CHILD_QUANTITY' AND l_rule_type = 'FLEET') THEN
169: FND_MESSAGE.Set_Name('AHL','AHL_MC_QRUL_TYP_OBJTY_INV');
170: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
171: FND_MESSAGE.Set_Token('RULE_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_TYPES', l_rule_type));
172: FND_MESSAGE.Set_Token('OBJ_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_OBJECT_TYPES', p_rule_stmt_rec.object_type));
173: FND_MSG_PUB.ADD;
174: END IF;
167: -- Check that the fleet type rules are not created with the object type "total quantity of children"
168: IF(p_rule_stmt_rec.object_type = 'TOT_CHILD_QUANTITY' AND l_rule_type = 'FLEET') THEN
169: FND_MESSAGE.Set_Name('AHL','AHL_MC_QRUL_TYP_OBJTY_INV');
170: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
171: FND_MESSAGE.Set_Token('RULE_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_TYPES', l_rule_type));
172: FND_MESSAGE.Set_Token('OBJ_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_OBJECT_TYPES', p_rule_stmt_rec.object_type));
173: FND_MSG_PUB.ADD;
174: END IF;
175:
168: IF(p_rule_stmt_rec.object_type = 'TOT_CHILD_QUANTITY' AND l_rule_type = 'FLEET') THEN
169: FND_MESSAGE.Set_Name('AHL','AHL_MC_QRUL_TYP_OBJTY_INV');
170: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
171: FND_MESSAGE.Set_Token('RULE_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_TYPES', l_rule_type));
172: FND_MESSAGE.Set_Token('OBJ_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_OBJECT_TYPES', p_rule_stmt_rec.object_type));
173: FND_MSG_PUB.ADD;
174: END IF;
175:
176: --Check Valid Position
176: --Check Valid Position
177: OPEN check_position_id_csr(p_rule_stmt_rec.rule_id, p_rule_stmt_rec.subject_id);
178: FETCH check_position_id_csr INTO l_junk;
179: IF (check_position_id_csr%NOTFOUND) THEN
180: FND_MESSAGE.Set_Name('AHL','AHL_MC_PATH_POS_ID_INV');
181: FND_MESSAGE.Set_Token('POSITION_ID',p_rule_stmt_rec.subject_id);
182: FND_MSG_PUB.ADD;
183: END IF;
184: CLOSE check_position_id_csr;
177: OPEN check_position_id_csr(p_rule_stmt_rec.rule_id, p_rule_stmt_rec.subject_id);
178: FETCH check_position_id_csr INTO l_junk;
179: IF (check_position_id_csr%NOTFOUND) THEN
180: FND_MESSAGE.Set_Name('AHL','AHL_MC_PATH_POS_ID_INV');
181: FND_MESSAGE.Set_Token('POSITION_ID',p_rule_stmt_rec.subject_id);
182: FND_MSG_PUB.ADD;
183: END IF;
184: CLOSE check_position_id_csr;
185: END IF;
191: IF ((p_rule_stmt_rec.subject_type <> 'POSITION') OR
192: (p_rule_stmt_rec.object_type IS NOT NULL) OR
193: (p_rule_stmt_rec.object_id IS NOT NULL))
194: THEN
195: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_INV');
196: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
197: FND_MSG_PUB.ADD;
198: END IF;
199:
192: (p_rule_stmt_rec.object_type IS NOT NULL) OR
193: (p_rule_stmt_rec.object_id IS NOT NULL))
194: THEN
195: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_INV');
196: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
197: FND_MSG_PUB.ADD;
198: END IF;
199:
200: -----------Have statement type--------------
221: ((p_rule_stmt_rec.operator <> 'MUST_HAVE' OR (p_rule_stmt_rec.operator = 'MUST_HAVE' AND NVL(p_rule_stmt_rec.negation_flag,'F') = 'T')) AND
222: (p_rule_stmt_rec.object_type = 'TOT_CHILD_QUANTITY'))
223: )
224: THEN
225: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_INV');
226: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
227: FND_MSG_PUB.ADD;
228: END IF;
229:
222: (p_rule_stmt_rec.object_type = 'TOT_CHILD_QUANTITY'))
223: )
224: THEN
225: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_INV');
226: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
227: FND_MSG_PUB.ADD;
228: END IF;
229:
230: IF (p_rule_stmt_rec.object_type = 'ITEM') THEN
230: IF (p_rule_stmt_rec.object_type = 'ITEM') THEN
231: OPEN check_item_id_csr(p_rule_stmt_rec.object_id);
232: FETCH check_item_id_csr INTO l_junk;
233: IF (check_item_id_csr%NOTFOUND) THEN
234: FND_MESSAGE.Set_Name('AHL','AHL_MC_INV_INVALID');
235: FND_MESSAGE.Set_Token('INV_ITEM',p_rule_stmt_rec.object_id);
236: FND_MSG_PUB.ADD;
237: END IF;
238: CLOSE check_item_id_csr;
231: OPEN check_item_id_csr(p_rule_stmt_rec.object_id);
232: FETCH check_item_id_csr INTO l_junk;
233: IF (check_item_id_csr%NOTFOUND) THEN
234: FND_MESSAGE.Set_Name('AHL','AHL_MC_INV_INVALID');
235: FND_MESSAGE.Set_Token('INV_ITEM',p_rule_stmt_rec.object_id);
236: FND_MSG_PUB.ADD;
237: END IF;
238: CLOSE check_item_id_csr;
239: ELSIF (p_rule_stmt_rec.object_type = 'CONFIGURATION') THEN
239: ELSIF (p_rule_stmt_rec.object_type = 'CONFIGURATION') THEN
240: OPEN check_mc_id_csr(p_rule_stmt_rec.object_id, p_rule_stmt_rec.object_attribute1);
241: FETCH check_mc_id_csr INTO l_junk;
242: IF (check_mc_id_csr%NOTFOUND) THEN
243: FND_MESSAGE.Set_Name('AHL','AHL_MC_MC_ID_INV');
244: FND_MESSAGE.Set_Token('MC_ID',p_rule_stmt_rec.object_id);
245: FND_MESSAGE.Set_Token('VER',p_rule_stmt_rec.object_attribute1);
246: FND_MSG_PUB.ADD;
247: END IF;
240: OPEN check_mc_id_csr(p_rule_stmt_rec.object_id, p_rule_stmt_rec.object_attribute1);
241: FETCH check_mc_id_csr INTO l_junk;
242: IF (check_mc_id_csr%NOTFOUND) THEN
243: FND_MESSAGE.Set_Name('AHL','AHL_MC_MC_ID_INV');
244: FND_MESSAGE.Set_Token('MC_ID',p_rule_stmt_rec.object_id);
245: FND_MESSAGE.Set_Token('VER',p_rule_stmt_rec.object_attribute1);
246: FND_MSG_PUB.ADD;
247: END IF;
248: CLOSE check_mc_id_csr;
241: FETCH check_mc_id_csr INTO l_junk;
242: IF (check_mc_id_csr%NOTFOUND) THEN
243: FND_MESSAGE.Set_Name('AHL','AHL_MC_MC_ID_INV');
244: FND_MESSAGE.Set_Token('MC_ID',p_rule_stmt_rec.object_id);
245: FND_MESSAGE.Set_Token('VER',p_rule_stmt_rec.object_attribute1);
246: FND_MSG_PUB.ADD;
247: END IF;
248: CLOSE check_mc_id_csr;
249:
263: IF ((p_rule_stmt_rec.subject_type <> 'POSITION') OR
264: ((p_rule_stmt_rec.object_type <> 'ITEM_AS_POSITION') AND
265: (p_rule_stmt_rec.object_type <> 'CONFIG_AS_POSITION')))
266: THEN
267: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_INV');
268: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
269: FND_MSG_PUB.ADD;
270: END IF;
271:
264: ((p_rule_stmt_rec.object_type <> 'ITEM_AS_POSITION') AND
265: (p_rule_stmt_rec.object_type <> 'CONFIG_AS_POSITION')))
266: THEN
267: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_INV');
268: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
269: FND_MSG_PUB.ADD;
270: END IF;
271:
272: --Check Valid Position for object_id
272: --Check Valid Position for object_id
273: OPEN check_position_id_csr(p_rule_stmt_rec.rule_id, p_rule_stmt_rec.object_id);
274: FETCH check_position_id_csr INTO l_junk;
275: IF (check_position_id_csr%NOTFOUND) THEN
276: FND_MESSAGE.Set_Name('AHL','AHL_MC_PATH_POS_ID_INV');
277: FND_MESSAGE.Set_Token('POSITION_ID',p_rule_stmt_rec.object_id);
278: FND_MSG_PUB.ADD;
279: END IF;
280: CLOSE check_position_id_csr;
273: OPEN check_position_id_csr(p_rule_stmt_rec.rule_id, p_rule_stmt_rec.object_id);
274: FETCH check_position_id_csr INTO l_junk;
275: IF (check_position_id_csr%NOTFOUND) THEN
276: FND_MESSAGE.Set_Name('AHL','AHL_MC_PATH_POS_ID_INV');
277: FND_MESSAGE.Set_Token('POSITION_ID',p_rule_stmt_rec.object_id);
278: FND_MSG_PUB.ADD;
279: END IF;
280: CLOSE check_position_id_csr;
281:
292: --Check FLEET Type
293: OPEN check_rule_type_csr(p_rule_stmt_rec.rule_id);
294: FETCH check_rule_type_csr INTO l_rule_type;
295: IF (l_rule_type <> 'FLEET') THEN
296: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_TYPE_INV');
297: FND_MESSAGE.Set_Token('RULE_TYPE',l_rule_type);
298: FND_MSG_PUB.ADD;
299: END IF;
300: CLOSE check_rule_type_csr;
293: OPEN check_rule_type_csr(p_rule_stmt_rec.rule_id);
294: FETCH check_rule_type_csr INTO l_rule_type;
295: IF (l_rule_type <> 'FLEET') THEN
296: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_TYPE_INV');
297: FND_MESSAGE.Set_Token('RULE_TYPE',l_rule_type);
298: FND_MSG_PUB.ADD;
299: END IF;
300: CLOSE check_rule_type_csr;
301:
301:
302: -- SATHAPLI::FP OGMA Issue# 105 - Non-Serialized Item Maintenance, 03-Dec-2007
303: -- Check that the fleet type rules are not created with the object type "total quantity of children"
304: IF(p_rule_stmt_rec.object_type = 'TOT_CHILD_QUANTITY') THEN
305: FND_MESSAGE.Set_Name('AHL','AHL_MC_QRUL_TYP_OBJTY_INV');
306: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
307: FND_MESSAGE.Set_Token('RULE_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_TYPES', l_rule_type));
308: FND_MESSAGE.Set_Token('OBJ_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_OBJECT_TYPES', p_rule_stmt_rec.object_type));
309: FND_MSG_PUB.ADD;
302: -- SATHAPLI::FP OGMA Issue# 105 - Non-Serialized Item Maintenance, 03-Dec-2007
303: -- Check that the fleet type rules are not created with the object type "total quantity of children"
304: IF(p_rule_stmt_rec.object_type = 'TOT_CHILD_QUANTITY') THEN
305: FND_MESSAGE.Set_Name('AHL','AHL_MC_QRUL_TYP_OBJTY_INV');
306: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
307: FND_MESSAGE.Set_Token('RULE_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_TYPES', l_rule_type));
308: FND_MESSAGE.Set_Token('OBJ_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_OBJECT_TYPES', p_rule_stmt_rec.object_type));
309: FND_MSG_PUB.ADD;
310: END IF;
303: -- Check that the fleet type rules are not created with the object type "total quantity of children"
304: IF(p_rule_stmt_rec.object_type = 'TOT_CHILD_QUANTITY') THEN
305: FND_MESSAGE.Set_Name('AHL','AHL_MC_QRUL_TYP_OBJTY_INV');
306: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
307: FND_MESSAGE.Set_Token('RULE_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_TYPES', l_rule_type));
308: FND_MESSAGE.Set_Token('OBJ_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_OBJECT_TYPES', p_rule_stmt_rec.object_type));
309: FND_MSG_PUB.ADD;
310: END IF;
311:
304: IF(p_rule_stmt_rec.object_type = 'TOT_CHILD_QUANTITY') THEN
305: FND_MESSAGE.Set_Name('AHL','AHL_MC_QRUL_TYP_OBJTY_INV');
306: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
307: FND_MESSAGE.Set_Token('RULE_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_TYPES', l_rule_type));
308: FND_MESSAGE.Set_Token('OBJ_TYPE',get_fnd_lkup_meaning('AHL_MC_RULE_OBJECT_TYPES', p_rule_stmt_rec.object_type));
309: FND_MSG_PUB.ADD;
310: END IF;
311:
312: --Check Valid Position
312: --Check Valid Position
313: OPEN check_position_id_csr(p_rule_stmt_rec.rule_id, p_rule_stmt_rec.subject_id);
314: FETCH check_position_id_csr INTO l_junk;
315: IF (check_position_id_csr%NOTFOUND) THEN
316: FND_MESSAGE.Set_Name('AHL','AHL_MC_PATH_POS_ID_INV');
317: FND_MESSAGE.Set_Token('POSITION_ID',p_rule_stmt_rec.subject_id);
318: FND_MSG_PUB.ADD;
319: END IF;
320: CLOSE check_position_id_csr;
313: OPEN check_position_id_csr(p_rule_stmt_rec.rule_id, p_rule_stmt_rec.subject_id);
314: FETCH check_position_id_csr INTO l_junk;
315: IF (check_position_id_csr%NOTFOUND) THEN
316: FND_MESSAGE.Set_Name('AHL','AHL_MC_PATH_POS_ID_INV');
317: FND_MESSAGE.Set_Token('POSITION_ID',p_rule_stmt_rec.subject_id);
318: FND_MSG_PUB.ADD;
319: END IF;
320: CLOSE check_position_id_csr;
321:
320: CLOSE check_position_id_csr;
321:
322: --Make sure object type is item
323: IF (p_rule_stmt_rec.object_type <> 'ITEM') THEN
324: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_INV');
325: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
326: FND_MSG_PUB.ADD;
327: END IF;
328:
321:
322: --Make sure object type is item
323: IF (p_rule_stmt_rec.object_type <> 'ITEM') THEN
324: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_INV');
325: FND_MESSAGE.Set_Token('OPERATOR',get_rule_oper(p_rule_stmt_rec.operator, p_rule_stmt_rec.negation_flag));
326: FND_MSG_PUB.ADD;
327: END IF;
328:
329: --Make sure item id is valid
329: --Make sure item id is valid
330: OPEN check_item_id_csr(p_rule_stmt_rec.object_id);
331: FETCH check_item_id_csr INTO l_junk;
332: IF (check_item_id_csr%NOTFOUND) THEN
333: FND_MESSAGE.Set_Name('AHL','AHL_MC_INV_INVALID');
334: FND_MESSAGE.Set_Token('INV_ITEM',p_rule_stmt_rec.object_id);
335: FND_MSG_PUB.ADD;
336: END IF;
337: CLOSE check_item_id_csr;
330: OPEN check_item_id_csr(p_rule_stmt_rec.object_id);
331: FETCH check_item_id_csr INTO l_junk;
332: IF (check_item_id_csr%NOTFOUND) THEN
333: FND_MESSAGE.Set_Name('AHL','AHL_MC_INV_INVALID');
334: FND_MESSAGE.Set_Token('INV_ITEM',p_rule_stmt_rec.object_id);
335: FND_MSG_PUB.ADD;
336: END IF;
337: CLOSE check_item_id_csr;
338:
340: IF ((p_rule_stmt_rec.operator = 'FLEET_QTY_GT') OR
341: (p_rule_stmt_rec.operator = 'FLEET_QTY_EQ') OR
342: (p_rule_stmt_rec.operator = 'FLEET_QTY_LT')) THEN
343: IF (TO_NUMBER(p_rule_stmt_rec.object_attribute1) < 0) THEN
344: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_FLT_ATTR_INV');
345: FND_MESSAGE.Set_Token('ATTR_VAL',p_rule_stmt_rec.object_attribute1);
346: FND_MSG_PUB.ADD;
347: END IF;
348: END IF;
341: (p_rule_stmt_rec.operator = 'FLEET_QTY_EQ') OR
342: (p_rule_stmt_rec.operator = 'FLEET_QTY_LT')) THEN
343: IF (TO_NUMBER(p_rule_stmt_rec.object_attribute1) < 0) THEN
344: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_FLT_ATTR_INV');
345: FND_MESSAGE.Set_Token('ATTR_VAL',p_rule_stmt_rec.object_attribute1);
346: FND_MSG_PUB.ADD;
347: END IF;
348: END IF;
349:
351: (p_rule_stmt_rec.operator = 'FLEET_PCTG_EQ') OR
352: (p_rule_stmt_rec.operator = 'FLEET_PCTG_LT')) THEN
353: IF (TO_NUMBER(p_rule_stmt_rec.object_attribute1) < 0 OR
354: TO_NUMBER(p_rule_stmt_rec.object_attribute1) > 100) THEN
355: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_FLT_ATTR_INV');
356: FND_MESSAGE.Set_Token('ATTR_VAL',p_rule_stmt_rec.object_attribute1);
357: FND_MSG_PUB.ADD;
358: END IF;
359: END IF;
352: (p_rule_stmt_rec.operator = 'FLEET_PCTG_LT')) THEN
353: IF (TO_NUMBER(p_rule_stmt_rec.object_attribute1) < 0 OR
354: TO_NUMBER(p_rule_stmt_rec.object_attribute1) > 100) THEN
355: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_FLT_ATTR_INV');
356: FND_MESSAGE.Set_Token('ATTR_VAL',p_rule_stmt_rec.object_attribute1);
357: FND_MSG_PUB.ADD;
358: END IF;
359: END IF;
360: END IF;
440: END IF;
441:
442: --Check Status of MC allows for editing
443: /*IF NOT(check_mc_status(p_x_rule_stmt_rec.rule_id)) THEN
444: FND_MESSAGE.Set_Name('AHL','AHL_INVALID_MC_STATUS');
445: FND_MSG_PUB.ADD;
446: Raise FND_API.G_EXC_ERROR;
447: END IF; */
448:
698: --Check that rule_statement_id is valid
699: OPEN ahl_mc_rule_stmt_csr(p_rule_stmt_rec.rule_statement_id);
700: FETCH ahl_mc_rule_stmt_csr INTO l_old_rstmt_rec;
701: IF (ahl_mc_rule_stmt_csr%NOTFOUND) THEN
702: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_ID_INV');
703: FND_MESSAGE.Set_Token('RULE_STMT_ID',p_rule_stmt_rec.rule_statement_id);
704: FND_MSG_PUB.ADD;
705: CLOSE ahl_mc_rule_stmt_csr;
706: Raise FND_API.G_EXC_ERROR;
699: OPEN ahl_mc_rule_stmt_csr(p_rule_stmt_rec.rule_statement_id);
700: FETCH ahl_mc_rule_stmt_csr INTO l_old_rstmt_rec;
701: IF (ahl_mc_rule_stmt_csr%NOTFOUND) THEN
702: FND_MESSAGE.Set_Name('AHL','AHL_MC_RULE_STMT_ID_INV');
703: FND_MESSAGE.Set_Token('RULE_STMT_ID',p_rule_stmt_rec.rule_statement_id);
704: FND_MSG_PUB.ADD;
705: CLOSE ahl_mc_rule_stmt_csr;
706: Raise FND_API.G_EXC_ERROR;
707: END IF;
708: CLOSE ahl_mc_rule_stmt_csr;
709:
710: --Check Status of MC allows for editing
711: /*IF NOT(check_mc_status(p_rule_stmt_rec.rule_id)) THEN
712: FND_MESSAGE.Set_Name('AHL','AHL_INVALID_MC_STATUS');
713: FND_MSG_PUB.ADD;
714: Raise FND_API.G_EXC_ERROR;
715: END IF; */
716:
717: l_rule_stmt_rec := p_rule_stmt_rec;
718:
719: -- Check Object version number.
720: IF (l_old_rstmt_rec.object_version_number <> l_rule_stmt_rec.object_version_number) THEN
721: FND_MESSAGE.Set_Name('AHL','AHL_COM_RECORD_CHANGED');
722: FND_MSG_PUB.ADD;
723: Raise FND_API.G_EXC_UNEXPECTED_ERROR;
724: END IF;
725:
1258: END IF;
1259:
1260: --Check Status of MC allows for editing
1261: /*IF NOT(check_mc_status(p_rule_id)) THEN
1262: FND_MESSAGE.Set_Name('AHL','AHL_INVALID_MC_STATUS');
1263: FND_MSG_PUB.ADD;
1264: Raise FND_API.G_EXC_ERROR;
1265: END IF; */
1266:
1403: OPEN is_rel_nonleaf_node(l_child_rel_id);
1404: FETCH is_rel_nonleaf_node INTO l_dummy;
1405: IF(is_rel_nonleaf_node%FOUND) THEN
1406: --This would mean that the child node is not a leaf node. Throw an error.
1407: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CHD_LF_NOD');
1408: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1409: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1410: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1411: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1404: FETCH is_rel_nonleaf_node INTO l_dummy;
1405: IF(is_rel_nonleaf_node%FOUND) THEN
1406: --This would mean that the child node is not a leaf node. Throw an error.
1407: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CHD_LF_NOD');
1408: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1409: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1410: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1411: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1412: FND_MSG_PUB.ADD;
1405: IF(is_rel_nonleaf_node%FOUND) THEN
1406: --This would mean that the child node is not a leaf node. Throw an error.
1407: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CHD_LF_NOD');
1408: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1409: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1410: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1411: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1412: FND_MSG_PUB.ADD;
1413: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1406: --This would mean that the child node is not a leaf node. Throw an error.
1407: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CHD_LF_NOD');
1408: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1409: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1410: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1411: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1412: FND_MSG_PUB.ADD;
1413: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1414: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_child_rel_id: ' || l_child_rel_id || 'has children');
1407: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CHD_LF_NOD');
1408: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1409: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1410: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1411: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1412: FND_MSG_PUB.ADD;
1413: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1414: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_child_rel_id: ' || l_child_rel_id || 'has children');
1415: END IF;
1420: OPEN is_rel_subconfig_csr(l_child_rel_id);
1421: FETCH is_rel_subconfig_csr INTO l_dummy;
1422: IF(is_rel_subconfig_csr%FOUND) THEN
1423: --This would mean that the child node is a sub-config. Throw an error.
1424: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CHD_SBC_NOD');
1425: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1426: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1427: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1428: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1421: FETCH is_rel_subconfig_csr INTO l_dummy;
1422: IF(is_rel_subconfig_csr%FOUND) THEN
1423: --This would mean that the child node is a sub-config. Throw an error.
1424: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CHD_SBC_NOD');
1425: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1426: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1427: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1428: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1429: FND_MSG_PUB.ADD;
1422: IF(is_rel_subconfig_csr%FOUND) THEN
1423: --This would mean that the child node is a sub-config. Throw an error.
1424: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CHD_SBC_NOD');
1425: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1426: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1427: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1428: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1429: FND_MSG_PUB.ADD;
1430: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1423: --This would mean that the child node is a sub-config. Throw an error.
1424: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CHD_SBC_NOD');
1425: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1426: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1427: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1428: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1429: FND_MSG_PUB.ADD;
1430: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1431: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_child_rel_id: ' || l_child_rel_id || 'is a sub-configuration');
1424: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CHD_SBC_NOD');
1425: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1426: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1427: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1428: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1429: FND_MSG_PUB.ADD;
1430: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1431: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'l_child_rel_id: ' || l_child_rel_id || 'is a sub-configuration');
1432: END IF;
1437: CLOSE get_child_rels_csr;
1438:
1439: IF(l_child_count = 0) THEN
1440: --This would mean that the relationship node is a leaf node. We cannot define the position quantity rule for a leaf node.
1441: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CN_LF_NOD');
1442: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1443: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1444: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1445: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1438:
1439: IF(l_child_count = 0) THEN
1440: --This would mean that the relationship node is a leaf node. We cannot define the position quantity rule for a leaf node.
1441: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CN_LF_NOD');
1442: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1443: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1444: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1445: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1446: FND_MSG_PUB.ADD;
1439: IF(l_child_count = 0) THEN
1440: --This would mean that the relationship node is a leaf node. We cannot define the position quantity rule for a leaf node.
1441: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CN_LF_NOD');
1442: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1443: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1444: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1445: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1446: FND_MSG_PUB.ADD;
1447: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1440: --This would mean that the relationship node is a leaf node. We cannot define the position quantity rule for a leaf node.
1441: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CN_LF_NOD');
1442: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1443: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1444: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1445: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1446: FND_MSG_PUB.ADD;
1447: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1448: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY,
1441: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_CN_LF_NOD');
1442: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1443: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1444: FND_MESSAGE.Set_Token('MC_NAME',l_rels_rec.name);
1445: FND_MESSAGE.Set_Token('MC_REV',l_rels_rec.revision);
1446: FND_MSG_PUB.ADD;
1447: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1448: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY,
1449: 'l_rels_rec.relationship_id: ' || l_rels_rec.relationship_id || 'does not have children');
1453: CLOSE get_relationships_csr;
1454:
1455: --object_id has to be NULL
1456: IF(p_rule_stmt_rec.object_id is not null) THEN
1457: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_OBJ_NNLL');
1458: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1459: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1460: FND_MSG_PUB.ADD;
1461: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1454:
1455: --object_id has to be NULL
1456: IF(p_rule_stmt_rec.object_id is not null) THEN
1457: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_OBJ_NNLL');
1458: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1459: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1460: FND_MSG_PUB.ADD;
1461: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1462: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY,
1455: --object_id has to be NULL
1456: IF(p_rule_stmt_rec.object_id is not null) THEN
1457: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_OBJ_NNLL');
1458: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1459: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1460: FND_MSG_PUB.ADD;
1461: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1462: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY,
1463: 'p_rule_stmt_rec.object_id: ' || p_rule_stmt_rec.object_id || 'is not null');
1465: END IF;
1466:
1467: --object_attribute1 is to be non null and should be a positive integer.
1468: IF(p_rule_stmt_rec.object_attribute1 is NULL) THEN
1469: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_QUANT_NLL');
1470: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1471: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1472: FND_MSG_PUB.ADD;
1473: ELSE
1466:
1467: --object_attribute1 is to be non null and should be a positive integer.
1468: IF(p_rule_stmt_rec.object_attribute1 is NULL) THEN
1469: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_QUANT_NLL');
1470: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1471: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1472: FND_MSG_PUB.ADD;
1473: ELSE
1474: BEGIN
1467: --object_attribute1 is to be non null and should be a positive integer.
1468: IF(p_rule_stmt_rec.object_attribute1 is NULL) THEN
1469: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_QUANT_NLL');
1470: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1471: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1472: FND_MSG_PUB.ADD;
1473: ELSE
1474: BEGIN
1475: IF(MOD(TO_NUMBER(p_rule_stmt_rec.object_attribute1),1) <> 0 OR TO_NUMBER(p_rule_stmt_rec.object_attribute1) <= 0) THEN
1472: FND_MSG_PUB.ADD;
1473: ELSE
1474: BEGIN
1475: IF(MOD(TO_NUMBER(p_rule_stmt_rec.object_attribute1),1) <> 0 OR TO_NUMBER(p_rule_stmt_rec.object_attribute1) <= 0) THEN
1476: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_QUANT_NPOSI');
1477: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1478: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1479: FND_MSG_PUB.ADD;
1480: END IF;
1473: ELSE
1474: BEGIN
1475: IF(MOD(TO_NUMBER(p_rule_stmt_rec.object_attribute1),1) <> 0 OR TO_NUMBER(p_rule_stmt_rec.object_attribute1) <= 0) THEN
1476: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_QUANT_NPOSI');
1477: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1478: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1479: FND_MSG_PUB.ADD;
1480: END IF;
1481: EXCEPTION
1474: BEGIN
1475: IF(MOD(TO_NUMBER(p_rule_stmt_rec.object_attribute1),1) <> 0 OR TO_NUMBER(p_rule_stmt_rec.object_attribute1) <= 0) THEN
1476: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_QUANT_NPOSI');
1477: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1478: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1479: FND_MSG_PUB.ADD;
1480: END IF;
1481: EXCEPTION
1482: WHEN OTHERS THEN
1479: FND_MSG_PUB.ADD;
1480: END IF;
1481: EXCEPTION
1482: WHEN OTHERS THEN
1483: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_QUANT_NPOSI');
1484: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1485: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1486: FND_MSG_PUB.ADD;
1487: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1480: END IF;
1481: EXCEPTION
1482: WHEN OTHERS THEN
1483: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_QUANT_NPOSI');
1484: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1485: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1486: FND_MSG_PUB.ADD;
1487: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1488: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY,
1481: EXCEPTION
1482: WHEN OTHERS THEN
1483: FND_MESSAGE.Set_Name('AHL', 'AHL_MC_QRUL_QUANT_NPOSI');
1484: FND_MESSAGE.Set_Token('OPERATOR',l_oper_meaning);
1485: FND_MESSAGE.Set_Token('OBJ_TYPE',l_obj_typ_meaning);
1486: FND_MSG_PUB.ADD;
1487: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1488: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY,
1489: 'p_rule_stmt_rec.object_attribute1: ' ||p_rule_stmt_rec.object_attribute1 || 'is not a number');
1571: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, L_DEBUG_KEY, 'p_mc_header_id: ' || p_mc_header_id );
1572: END IF;
1573:
1574: IF(p_mc_header_id is NULL) THEN
1575: FND_MESSAGE.Set_Name('AHL','AHL_COM_REQD_PARAM_MISSING');
1576: FND_MSG_PUB.ADD;
1577: RAISE FND_API.G_EXC_ERROR;
1578: END IF;
1579: