70: detail_rec c_ruleset_details_csr%ROWTYPE;
71:
72: BEGIN
73: -- Initialize API return status to success
74: l_return_status := FND_API.G_RET_STS_SUCCESS;
75: retcode := 0;
76: l_org_id:=p_org_id;
77:
78: -- Get imp_header info
178:
179: cn_message_pkg.debug('value of l_current_ruleset_id:' || l_current_ruleset_id);
180:
181: IF l_current_ruleset_id = 0 THEN
182: l_return_status := FND_API.G_RET_STS_SUCCESS;
183: cn_message_pkg.debug('Rules_Import: Before calling CN_RULESET_PVT.create_ruleset, ruleset name: ' || detail_rec.ruleset_name);
184:
185: CN_RULESET_PVT.create_ruleset
186: ( p_api_version => 1.0,
183: cn_message_pkg.debug('Rules_Import: Before calling CN_RULESET_PVT.create_ruleset, ruleset name: ' || detail_rec.ruleset_name);
184:
185: CN_RULESET_PVT.create_ruleset
186: ( p_api_version => 1.0,
187: p_init_msg_list => fnd_api.g_true,
188: p_commit => FND_API.G_FALSE,
189: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
190: x_return_status => l_return_status,
191: x_msg_count => l_msg_count,
184:
185: CN_RULESET_PVT.create_ruleset
186: ( p_api_version => 1.0,
187: p_init_msg_list => fnd_api.g_true,
188: p_commit => FND_API.G_FALSE,
189: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
190: x_return_status => l_return_status,
191: x_msg_count => l_msg_count,
192: x_msg_data => l_message,
185: CN_RULESET_PVT.create_ruleset
186: ( p_api_version => 1.0,
187: p_init_msg_list => fnd_api.g_true,
188: p_commit => FND_API.G_FALSE,
189: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
190: x_return_status => l_return_status,
191: x_msg_count => l_msg_count,
192: x_msg_data => l_message,
193: x_loading_status => l_loading_status,
196:
197: cn_message_pkg.debug('Rules_Import: After CN_RULESET_PVT.create_ruleset call, return status: ' || l_return_status);
198: cn_message_pkg.debug('After CN_RULESET_PVT.create_ruleset call, l_message: ' || l_message);
199:
200: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
201: cn_message_pkg.debug('Rules_Import: Error after returning from CN_RULESET_PVT.create_ruleset');
202: retcode := 2;
203: errbuf:= l_message;
204: -- update all the rows related to the ruleset with a general message
256: ( detail_rec.ruleset_name,
257: l_current_ruleset_id,
258: l_org_id,
259: x_loading_status,
260: x_loading_status ) = fnd_api.g_true
261: THEN
262: cn_message_pkg.debug ('Rules_Import: Error synchronizing the ruleset :' || detail_rec.ruleset_name);
263: GOTO end_of_ruleset_loop;
264:
350: END IF;
351: FND_MSG_PUB.count_and_get
352: (p_count => l_msg_count,
353: p_data => errbuf,
354: p_encoded => FND_API.G_FALSE);
355: END IF;
356:
357: CN_IMPORT_PVT.update_imp_headers
358: (p_imp_header_id => p_imp_header_id,
376: p_ruleset_name IN VARCHAR2,
377: p_ruleset_start_date IN VARCHAR2,
378: p_ruleset_end_date IN VARCHAR2,
379: p_ruleset_type IN VARCHAR2,
380: p_rule_name IN VARCHAR2 := FND_API.g_miss_char,
381: p_parent_rule_name IN VARCHAR2 := FND_API.g_miss_char,
382: p_level_num IN VARCHAR2 := FND_API.g_miss_char,
383: p_expense_code IN VARCHAR2 := FND_API.g_miss_char,
384: p_liability_code IN VARCHAR2 := FND_API.g_miss_char,
377: p_ruleset_start_date IN VARCHAR2,
378: p_ruleset_end_date IN VARCHAR2,
379: p_ruleset_type IN VARCHAR2,
380: p_rule_name IN VARCHAR2 := FND_API.g_miss_char,
381: p_parent_rule_name IN VARCHAR2 := FND_API.g_miss_char,
382: p_level_num IN VARCHAR2 := FND_API.g_miss_char,
383: p_expense_code IN VARCHAR2 := FND_API.g_miss_char,
384: p_liability_code IN VARCHAR2 := FND_API.g_miss_char,
385: p_revcls_name IN VARCHAR2 := FND_API.g_miss_char,
378: p_ruleset_end_date IN VARCHAR2,
379: p_ruleset_type IN VARCHAR2,
380: p_rule_name IN VARCHAR2 := FND_API.g_miss_char,
381: p_parent_rule_name IN VARCHAR2 := FND_API.g_miss_char,
382: p_level_num IN VARCHAR2 := FND_API.g_miss_char,
383: p_expense_code IN VARCHAR2 := FND_API.g_miss_char,
384: p_liability_code IN VARCHAR2 := FND_API.g_miss_char,
385: p_revcls_name IN VARCHAR2 := FND_API.g_miss_char,
386: p_head_id IN NUMBER,
379: p_ruleset_type IN VARCHAR2,
380: p_rule_name IN VARCHAR2 := FND_API.g_miss_char,
381: p_parent_rule_name IN VARCHAR2 := FND_API.g_miss_char,
382: p_level_num IN VARCHAR2 := FND_API.g_miss_char,
383: p_expense_code IN VARCHAR2 := FND_API.g_miss_char,
384: p_liability_code IN VARCHAR2 := FND_API.g_miss_char,
385: p_revcls_name IN VARCHAR2 := FND_API.g_miss_char,
386: p_head_id IN NUMBER,
387: p_error_code IN VARCHAR2,
380: p_rule_name IN VARCHAR2 := FND_API.g_miss_char,
381: p_parent_rule_name IN VARCHAR2 := FND_API.g_miss_char,
382: p_level_num IN VARCHAR2 := FND_API.g_miss_char,
383: p_expense_code IN VARCHAR2 := FND_API.g_miss_char,
384: p_liability_code IN VARCHAR2 := FND_API.g_miss_char,
385: p_revcls_name IN VARCHAR2 := FND_API.g_miss_char,
386: p_head_id IN NUMBER,
387: p_error_code IN VARCHAR2,
388: p_error_mssg IN VARCHAR2,
381: p_parent_rule_name IN VARCHAR2 := FND_API.g_miss_char,
382: p_level_num IN VARCHAR2 := FND_API.g_miss_char,
383: p_expense_code IN VARCHAR2 := FND_API.g_miss_char,
384: p_liability_code IN VARCHAR2 := FND_API.g_miss_char,
385: p_revcls_name IN VARCHAR2 := FND_API.g_miss_char,
386: p_head_id IN NUMBER,
387: p_error_code IN VARCHAR2,
388: p_error_mssg IN VARCHAR2,
389: x_failed_row IN OUT NOCOPY NUMBER,
391: IS PRAGMA AUTONOMOUS_TRANSACTION;
392: BEGIN
393: UPDATE cn_rules_imp_v
394: SET status_code=p_status, error_code=p_error_code, error_msg=p_error_mssg
395: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
396: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_ruleset_start_date, FND_API.g_miss_char)
397: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_ruleset_end_date, FND_API.g_miss_char)
398: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
399: AND Nvl(rule_name,FND_API.g_miss_char) =
392: BEGIN
393: UPDATE cn_rules_imp_v
394: SET status_code=p_status, error_code=p_error_code, error_msg=p_error_mssg
395: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
396: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_ruleset_start_date, FND_API.g_miss_char)
397: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_ruleset_end_date, FND_API.g_miss_char)
398: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
399: AND Nvl(rule_name,FND_API.g_miss_char) =
400: Decode(p_rule_name,NULL, FND_API.g_miss_char,
393: UPDATE cn_rules_imp_v
394: SET status_code=p_status, error_code=p_error_code, error_msg=p_error_mssg
395: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
396: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_ruleset_start_date, FND_API.g_miss_char)
397: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_ruleset_end_date, FND_API.g_miss_char)
398: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
399: AND Nvl(rule_name,FND_API.g_miss_char) =
400: Decode(p_rule_name,NULL, FND_API.g_miss_char,
401: FND_API.g_miss_char,Nvl(rule_name,FND_API.g_miss_char),
394: SET status_code=p_status, error_code=p_error_code, error_msg=p_error_mssg
395: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
396: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_ruleset_start_date, FND_API.g_miss_char)
397: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_ruleset_end_date, FND_API.g_miss_char)
398: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
399: AND Nvl(rule_name,FND_API.g_miss_char) =
400: Decode(p_rule_name,NULL, FND_API.g_miss_char,
401: FND_API.g_miss_char,Nvl(rule_name,FND_API.g_miss_char),
402: p_rule_name)
395: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
396: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_ruleset_start_date, FND_API.g_miss_char)
397: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_ruleset_end_date, FND_API.g_miss_char)
398: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
399: AND Nvl(rule_name,FND_API.g_miss_char) =
400: Decode(p_rule_name,NULL, FND_API.g_miss_char,
401: FND_API.g_miss_char,Nvl(rule_name,FND_API.g_miss_char),
402: p_rule_name)
403: AND Nvl(parent_rule_name,FND_API.g_miss_char) =
396: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_ruleset_start_date, FND_API.g_miss_char)
397: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_ruleset_end_date, FND_API.g_miss_char)
398: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
399: AND Nvl(rule_name,FND_API.g_miss_char) =
400: Decode(p_rule_name,NULL, FND_API.g_miss_char,
401: FND_API.g_miss_char,Nvl(rule_name,FND_API.g_miss_char),
402: p_rule_name)
403: AND Nvl(parent_rule_name,FND_API.g_miss_char) =
404: Decode(p_parent_rule_name,NULL, FND_API.g_miss_char,
397: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_ruleset_end_date, FND_API.g_miss_char)
398: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
399: AND Nvl(rule_name,FND_API.g_miss_char) =
400: Decode(p_rule_name,NULL, FND_API.g_miss_char,
401: FND_API.g_miss_char,Nvl(rule_name,FND_API.g_miss_char),
402: p_rule_name)
403: AND Nvl(parent_rule_name,FND_API.g_miss_char) =
404: Decode(p_parent_rule_name,NULL, FND_API.g_miss_char,
405: FND_API.g_miss_char,Nvl(parent_rule_name,FND_API.g_miss_char),
399: AND Nvl(rule_name,FND_API.g_miss_char) =
400: Decode(p_rule_name,NULL, FND_API.g_miss_char,
401: FND_API.g_miss_char,Nvl(rule_name,FND_API.g_miss_char),
402: p_rule_name)
403: AND Nvl(parent_rule_name,FND_API.g_miss_char) =
404: Decode(p_parent_rule_name,NULL, FND_API.g_miss_char,
405: FND_API.g_miss_char,Nvl(parent_rule_name,FND_API.g_miss_char),
406: p_parent_rule_name)
407: AND Nvl(level_num,FND_API.g_miss_char) =
400: Decode(p_rule_name,NULL, FND_API.g_miss_char,
401: FND_API.g_miss_char,Nvl(rule_name,FND_API.g_miss_char),
402: p_rule_name)
403: AND Nvl(parent_rule_name,FND_API.g_miss_char) =
404: Decode(p_parent_rule_name,NULL, FND_API.g_miss_char,
405: FND_API.g_miss_char,Nvl(parent_rule_name,FND_API.g_miss_char),
406: p_parent_rule_name)
407: AND Nvl(level_num,FND_API.g_miss_char) =
408: Decode(p_level_num,NULL, FND_API.g_miss_char,
401: FND_API.g_miss_char,Nvl(rule_name,FND_API.g_miss_char),
402: p_rule_name)
403: AND Nvl(parent_rule_name,FND_API.g_miss_char) =
404: Decode(p_parent_rule_name,NULL, FND_API.g_miss_char,
405: FND_API.g_miss_char,Nvl(parent_rule_name,FND_API.g_miss_char),
406: p_parent_rule_name)
407: AND Nvl(level_num,FND_API.g_miss_char) =
408: Decode(p_level_num,NULL, FND_API.g_miss_char,
409: FND_API.g_miss_char,Nvl(level_num,FND_API.g_miss_char),
403: AND Nvl(parent_rule_name,FND_API.g_miss_char) =
404: Decode(p_parent_rule_name,NULL, FND_API.g_miss_char,
405: FND_API.g_miss_char,Nvl(parent_rule_name,FND_API.g_miss_char),
406: p_parent_rule_name)
407: AND Nvl(level_num,FND_API.g_miss_char) =
408: Decode(p_level_num,NULL, FND_API.g_miss_char,
409: FND_API.g_miss_char,Nvl(level_num,FND_API.g_miss_char),
410: p_level_num)
411: AND Nvl(expense_code,FND_API.g_miss_char) =
404: Decode(p_parent_rule_name,NULL, FND_API.g_miss_char,
405: FND_API.g_miss_char,Nvl(parent_rule_name,FND_API.g_miss_char),
406: p_parent_rule_name)
407: AND Nvl(level_num,FND_API.g_miss_char) =
408: Decode(p_level_num,NULL, FND_API.g_miss_char,
409: FND_API.g_miss_char,Nvl(level_num,FND_API.g_miss_char),
410: p_level_num)
411: AND Nvl(expense_code,FND_API.g_miss_char) =
412: Decode(p_expense_code,NULL, FND_API.g_miss_char,
405: FND_API.g_miss_char,Nvl(parent_rule_name,FND_API.g_miss_char),
406: p_parent_rule_name)
407: AND Nvl(level_num,FND_API.g_miss_char) =
408: Decode(p_level_num,NULL, FND_API.g_miss_char,
409: FND_API.g_miss_char,Nvl(level_num,FND_API.g_miss_char),
410: p_level_num)
411: AND Nvl(expense_code,FND_API.g_miss_char) =
412: Decode(p_expense_code,NULL, FND_API.g_miss_char,
413: FND_API.g_miss_char,Nvl(expense_code,FND_API.g_miss_char),
407: AND Nvl(level_num,FND_API.g_miss_char) =
408: Decode(p_level_num,NULL, FND_API.g_miss_char,
409: FND_API.g_miss_char,Nvl(level_num,FND_API.g_miss_char),
410: p_level_num)
411: AND Nvl(expense_code,FND_API.g_miss_char) =
412: Decode(p_expense_code,NULL, FND_API.g_miss_char,
413: FND_API.g_miss_char,Nvl(expense_code,FND_API.g_miss_char),
414: p_expense_code)
415: AND Nvl(liability_code,FND_API.g_miss_char) =
408: Decode(p_level_num,NULL, FND_API.g_miss_char,
409: FND_API.g_miss_char,Nvl(level_num,FND_API.g_miss_char),
410: p_level_num)
411: AND Nvl(expense_code,FND_API.g_miss_char) =
412: Decode(p_expense_code,NULL, FND_API.g_miss_char,
413: FND_API.g_miss_char,Nvl(expense_code,FND_API.g_miss_char),
414: p_expense_code)
415: AND Nvl(liability_code,FND_API.g_miss_char) =
416: Decode(p_liability_code,NULL, FND_API.g_miss_char,
409: FND_API.g_miss_char,Nvl(level_num,FND_API.g_miss_char),
410: p_level_num)
411: AND Nvl(expense_code,FND_API.g_miss_char) =
412: Decode(p_expense_code,NULL, FND_API.g_miss_char,
413: FND_API.g_miss_char,Nvl(expense_code,FND_API.g_miss_char),
414: p_expense_code)
415: AND Nvl(liability_code,FND_API.g_miss_char) =
416: Decode(p_liability_code,NULL, FND_API.g_miss_char,
417: FND_API.g_miss_char,Nvl(liability_code,FND_API.g_miss_char),
411: AND Nvl(expense_code,FND_API.g_miss_char) =
412: Decode(p_expense_code,NULL, FND_API.g_miss_char,
413: FND_API.g_miss_char,Nvl(expense_code,FND_API.g_miss_char),
414: p_expense_code)
415: AND Nvl(liability_code,FND_API.g_miss_char) =
416: Decode(p_liability_code,NULL, FND_API.g_miss_char,
417: FND_API.g_miss_char,Nvl(liability_code,FND_API.g_miss_char),
418: p_liability_code)
419: AND Nvl(revenue_class_name,FND_API.g_miss_char) =
412: Decode(p_expense_code,NULL, FND_API.g_miss_char,
413: FND_API.g_miss_char,Nvl(expense_code,FND_API.g_miss_char),
414: p_expense_code)
415: AND Nvl(liability_code,FND_API.g_miss_char) =
416: Decode(p_liability_code,NULL, FND_API.g_miss_char,
417: FND_API.g_miss_char,Nvl(liability_code,FND_API.g_miss_char),
418: p_liability_code)
419: AND Nvl(revenue_class_name,FND_API.g_miss_char) =
420: Decode(p_revcls_name,NULL, FND_API.g_miss_char,
413: FND_API.g_miss_char,Nvl(expense_code,FND_API.g_miss_char),
414: p_expense_code)
415: AND Nvl(liability_code,FND_API.g_miss_char) =
416: Decode(p_liability_code,NULL, FND_API.g_miss_char,
417: FND_API.g_miss_char,Nvl(liability_code,FND_API.g_miss_char),
418: p_liability_code)
419: AND Nvl(revenue_class_name,FND_API.g_miss_char) =
420: Decode(p_revcls_name,NULL, FND_API.g_miss_char,
421: FND_API.g_miss_char,Nvl(revenue_class_name,FND_API.g_miss_char),
415: AND Nvl(liability_code,FND_API.g_miss_char) =
416: Decode(p_liability_code,NULL, FND_API.g_miss_char,
417: FND_API.g_miss_char,Nvl(liability_code,FND_API.g_miss_char),
418: p_liability_code)
419: AND Nvl(revenue_class_name,FND_API.g_miss_char) =
420: Decode(p_revcls_name,NULL, FND_API.g_miss_char,
421: FND_API.g_miss_char,Nvl(revenue_class_name,FND_API.g_miss_char),
422: p_revcls_name)
423: AND imp_header_id = p_head_id
416: Decode(p_liability_code,NULL, FND_API.g_miss_char,
417: FND_API.g_miss_char,Nvl(liability_code,FND_API.g_miss_char),
418: p_liability_code)
419: AND Nvl(revenue_class_name,FND_API.g_miss_char) =
420: Decode(p_revcls_name,NULL, FND_API.g_miss_char,
421: FND_API.g_miss_char,Nvl(revenue_class_name,FND_API.g_miss_char),
422: p_revcls_name)
423: AND imp_header_id = p_head_id
424: AND status_code = 'STAGE'
417: FND_API.g_miss_char,Nvl(liability_code,FND_API.g_miss_char),
418: p_liability_code)
419: AND Nvl(revenue_class_name,FND_API.g_miss_char) =
420: Decode(p_revcls_name,NULL, FND_API.g_miss_char,
421: FND_API.g_miss_char,Nvl(revenue_class_name,FND_API.g_miss_char),
422: p_revcls_name)
423: AND imp_header_id = p_head_id
424: AND status_code = 'STAGE'
425: ;
520: AND end_date = p_ruleset_end_date
521: AND ruleset_type = p_ruleset_type
522: AND rule_name = l_name
523: AND level_num = l_level_num
524: AND nvl(parent_rule_name,FND_API.g_miss_char) = nvl(l_parent_rule_name,FND_API.g_miss_char)
525: GROUP BY revenue_class_name, expense_code, liability_code) v1;
526:
527: -- Cursor to get rules details of the ruleset
528: CURSOR c_rules_csr (l_name cn_rules_imp_v.rule_name%TYPE, l_parent_rule_name cn_rules_imp_v.parent_rule_name%TYPE, l_level_num cn_rules_imp_v.level_num%TYPE) IS
535: AND end_date = p_ruleset_end_date
536: AND ruleset_type = p_ruleset_type
537: AND rule_name = l_name
538: AND level_num = l_level_num
539: AND nvl(parent_rule_name,FND_API.g_miss_char) = nvl(l_parent_rule_name,FND_API.g_miss_char);
540:
541: -- Cursor to get the rule id given the rule name
542: CURSOR c_parent_rule_csr (l_name cn_rules.name%TYPE) IS
543: SELECT rule_id
881: cn_message_pkg.debug('load_rules: rules_rec.revenue_class_name: ' || rules_rec.revenue_class_name || ' l_rule_rec.revenue_class_id: ' || l_rule_rec.revenue_class_id);
882:
883: cn_rule_pvt.Create_Rule
884: ( p_api_version => 1.0,
885: p_init_msg_list => fnd_api.g_true,
886: p_commit => FND_API.G_FALSE,
887: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
888: x_return_status => l_return_status,
889: x_msg_count => l_msg_count,
882:
883: cn_rule_pvt.Create_Rule
884: ( p_api_version => 1.0,
885: p_init_msg_list => fnd_api.g_true,
886: p_commit => FND_API.G_FALSE,
887: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
888: x_return_status => l_return_status,
889: x_msg_count => l_msg_count,
890: x_msg_data => l_msg_data,
883: cn_rule_pvt.Create_Rule
884: ( p_api_version => 1.0,
885: p_init_msg_list => fnd_api.g_true,
886: p_commit => FND_API.G_FALSE,
887: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
888: x_return_status => l_return_status,
889: x_msg_count => l_msg_count,
890: x_msg_data => l_msg_data,
891: x_loading_status => l_loading_status,
893: x_rule_id => l_current_rule_id);
894:
895: cn_message_pkg.debug ('load_rules: completed creating new rule, l_return_status: ' || l_return_status || ' l_current_rule_id: ' || l_current_rule_id);
896:
897: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
898: cn_message_pkg.debug ('load_rules: Error in Creating rule, rule name:' || rule_name_rec.rule_name);
899: x_err_mssg := l_msg_data;
900: x_retcode := 2;
901: l_error_code := 'CN_IMP_INVLD_RULE';
1015: AND start_date = p_ruleset_start_date
1016: AND end_date = p_ruleset_end_date
1017: AND ruleset_type= p_ruleset_type
1018: AND rule_name = p_rule_name
1019: AND nvl(parent_rule_name, FND_API.g_miss_char) = nvl(p_parent_rule_name, FND_API.g_miss_char)
1020: AND level_num = p_level_num;
1021:
1022: -- cursor to get the hierarchy id
1023: CURSOR c_rule_attrb_hier_id_csr (l_name CN_HEAD_HIERARCHIES.name%TYPE) IS
1161: cn_message_pkg.debug ('load_rule_attributes: Before call to CN_RuleAttribute_PVT.Create_RuleAttribute for attribute: ' || attr_rec.rule_attribute);
1162:
1163: CN_RuleAttribute_PVT.Create_RuleAttribute
1164: ( p_api_version => 1.0,
1165: p_init_msg_list => fnd_api.g_true,
1166: p_commit => FND_API.G_FALSE,
1167: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1168: x_return_status => l_return_status,
1169: x_msg_count => l_msg_count,
1162:
1163: CN_RuleAttribute_PVT.Create_RuleAttribute
1164: ( p_api_version => 1.0,
1165: p_init_msg_list => fnd_api.g_true,
1166: p_commit => FND_API.G_FALSE,
1167: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1168: x_return_status => l_return_status,
1169: x_msg_count => l_msg_count,
1170: x_msg_data => l_msg_data,
1163: CN_RuleAttribute_PVT.Create_RuleAttribute
1164: ( p_api_version => 1.0,
1165: p_init_msg_list => fnd_api.g_true,
1166: p_commit => FND_API.G_FALSE,
1167: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1168: x_return_status => l_return_status,
1169: x_msg_count => l_msg_count,
1170: x_msg_data => l_msg_data,
1171: x_loading_status => l_loading_status,
1172: p_RuleAttribute_rec => l_rule_attrb_rec);
1173:
1174: cn_message_pkg.debug ('load_rule_attributes: Completed creating new rule attribute, l_return_status:' || l_return_status);
1175:
1176: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1177: cn_message_pkg.debug ('load_rule_attributes: Error when creating new rule attribute, l_msg_data:' || l_msg_data);
1178: x_err_mssg := l_msg_data;
1179: x_retcode := 2;
1180: x_imp_line_id := attr_rec.imp_line_id;
1251:
1252: CURSOR c_check_imp_line_id_csr IS
1253: SELECT count(*)
1254: FROM cn_rules_imp_v
1255: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
1256: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_start_date, FND_API.g_miss_char)
1257: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_end_date, FND_API.g_miss_char)
1258: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
1259: AND imp_header_id = p_head_id
1252: CURSOR c_check_imp_line_id_csr IS
1253: SELECT count(*)
1254: FROM cn_rules_imp_v
1255: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
1256: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_start_date, FND_API.g_miss_char)
1257: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_end_date, FND_API.g_miss_char)
1258: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
1259: AND imp_header_id = p_head_id
1260: AND status_code = 'STAGE'
1253: SELECT count(*)
1254: FROM cn_rules_imp_v
1255: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
1256: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_start_date, FND_API.g_miss_char)
1257: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_end_date, FND_API.g_miss_char)
1258: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
1259: AND imp_header_id = p_head_id
1260: AND status_code = 'STAGE'
1261: AND imp_line_id <> p_imp_line_id;
1254: FROM cn_rules_imp_v
1255: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
1256: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_start_date, FND_API.g_miss_char)
1257: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_end_date, FND_API.g_miss_char)
1258: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
1259: AND imp_header_id = p_head_id
1260: AND status_code = 'STAGE'
1261: AND imp_line_id <> p_imp_line_id;
1262:
1286: cn_message_pkg.debug('l_temp:' || l_temp);
1287:
1288: UPDATE cn_rules_imp_v
1289: SET status_code=p_status, error_code=p_error_code, error_msg=p_error_mssg
1290: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
1291: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_start_date, FND_API.g_miss_char)
1292: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_end_date, FND_API.g_miss_char)
1293: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
1294: AND imp_header_id = p_head_id
1287:
1288: UPDATE cn_rules_imp_v
1289: SET status_code=p_status, error_code=p_error_code, error_msg=p_error_mssg
1290: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
1291: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_start_date, FND_API.g_miss_char)
1292: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_end_date, FND_API.g_miss_char)
1293: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
1294: AND imp_header_id = p_head_id
1295: AND status_code = 'STAGE'
1288: UPDATE cn_rules_imp_v
1289: SET status_code=p_status, error_code=p_error_code, error_msg=p_error_mssg
1290: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
1291: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_start_date, FND_API.g_miss_char)
1292: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_end_date, FND_API.g_miss_char)
1293: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
1294: AND imp_header_id = p_head_id
1295: AND status_code = 'STAGE'
1296: AND imp_line_id <> l_temp;
1289: SET status_code=p_status, error_code=p_error_code, error_msg=p_error_mssg
1290: WHERE nvl(ruleset_name,FND_API.g_miss_char) = nvl(p_ruleset_name ,FND_API.g_miss_char)
1291: AND nvl(start_date ,FND_API.g_miss_char) = nvl(p_start_date, FND_API.g_miss_char)
1292: AND nvl(end_date,FND_API.g_miss_char) = nvl(p_end_date, FND_API.g_miss_char)
1293: AND nvl(ruleset_type,FND_API.g_miss_char) = nvl(p_ruleset_type, FND_API.g_miss_char)
1294: AND imp_header_id = p_head_id
1295: AND status_code = 'STAGE'
1296: AND imp_line_id <> l_temp;
1297: