17: --
18:
19: PROCEDURE UPDATE_ROW (
20: p_api_version in number,
21: p_init_msg_list in varchar2 := fnd_api.g_false,
22: p_commit in varchar2 := fnd_api.g_false,
23: p_validation_level in number := fnd_api.g_valid_level_full,
24: p_return_status OUT NOCOPY varchar2,
25: p_msg_count OUT NOCOPY number,
18:
19: PROCEDURE UPDATE_ROW (
20: p_api_version in number,
21: p_init_msg_list in varchar2 := fnd_api.g_false,
22: p_commit in varchar2 := fnd_api.g_false,
23: p_validation_level in number := fnd_api.g_valid_level_full,
24: p_return_status OUT NOCOPY varchar2,
25: p_msg_count OUT NOCOPY number,
26: p_msg_data OUT NOCOPY varchar2,
19: PROCEDURE UPDATE_ROW (
20: p_api_version in number,
21: p_init_msg_list in varchar2 := fnd_api.g_false,
22: p_commit in varchar2 := fnd_api.g_false,
23: p_validation_level in number := fnd_api.g_valid_level_full,
24: p_return_status OUT NOCOPY varchar2,
25: p_msg_count OUT NOCOPY number,
26: p_msg_data OUT NOCOPY varchar2,
27: p_position_assignment_id in number,
24: p_return_status OUT NOCOPY varchar2,
25: p_msg_count OUT NOCOPY number,
26: p_msg_data OUT NOCOPY varchar2,
27: p_position_assignment_id in number,
28: p_pay_element_id in number := FND_API.G_MISS_NUM,
29: p_pay_element_option_id in number := FND_API.G_MISS_NUM,
30: p_attribute_value_id in number := FND_API.G_MISS_NUM,
31: p_attribute_value in varchar2 := FND_API.G_MISS_CHAR,
32: p_effective_start_date in date := FND_API.G_MISS_DATE,
25: p_msg_count OUT NOCOPY number,
26: p_msg_data OUT NOCOPY varchar2,
27: p_position_assignment_id in number,
28: p_pay_element_id in number := FND_API.G_MISS_NUM,
29: p_pay_element_option_id in number := FND_API.G_MISS_NUM,
30: p_attribute_value_id in number := FND_API.G_MISS_NUM,
31: p_attribute_value in varchar2 := FND_API.G_MISS_CHAR,
32: p_effective_start_date in date := FND_API.G_MISS_DATE,
33: p_effective_end_date in date := FND_API.G_MISS_DATE,
26: p_msg_data OUT NOCOPY varchar2,
27: p_position_assignment_id in number,
28: p_pay_element_id in number := FND_API.G_MISS_NUM,
29: p_pay_element_option_id in number := FND_API.G_MISS_NUM,
30: p_attribute_value_id in number := FND_API.G_MISS_NUM,
31: p_attribute_value in varchar2 := FND_API.G_MISS_CHAR,
32: p_effective_start_date in date := FND_API.G_MISS_DATE,
33: p_effective_end_date in date := FND_API.G_MISS_DATE,
34: p_element_value_type in varchar2 := FND_API.G_MISS_CHAR,
27: p_position_assignment_id in number,
28: p_pay_element_id in number := FND_API.G_MISS_NUM,
29: p_pay_element_option_id in number := FND_API.G_MISS_NUM,
30: p_attribute_value_id in number := FND_API.G_MISS_NUM,
31: p_attribute_value in varchar2 := FND_API.G_MISS_CHAR,
32: p_effective_start_date in date := FND_API.G_MISS_DATE,
33: p_effective_end_date in date := FND_API.G_MISS_DATE,
34: p_element_value_type in varchar2 := FND_API.G_MISS_CHAR,
35: p_element_value in number := FND_API.G_MISS_NUM,
28: p_pay_element_id in number := FND_API.G_MISS_NUM,
29: p_pay_element_option_id in number := FND_API.G_MISS_NUM,
30: p_attribute_value_id in number := FND_API.G_MISS_NUM,
31: p_attribute_value in varchar2 := FND_API.G_MISS_CHAR,
32: p_effective_start_date in date := FND_API.G_MISS_DATE,
33: p_effective_end_date in date := FND_API.G_MISS_DATE,
34: p_element_value_type in varchar2 := FND_API.G_MISS_CHAR,
35: p_element_value in number := FND_API.G_MISS_NUM,
36: p_pay_basis in varchar2 := FND_API.G_MISS_CHAR,
29: p_pay_element_option_id in number := FND_API.G_MISS_NUM,
30: p_attribute_value_id in number := FND_API.G_MISS_NUM,
31: p_attribute_value in varchar2 := FND_API.G_MISS_CHAR,
32: p_effective_start_date in date := FND_API.G_MISS_DATE,
33: p_effective_end_date in date := FND_API.G_MISS_DATE,
34: p_element_value_type in varchar2 := FND_API.G_MISS_CHAR,
35: p_element_value in number := FND_API.G_MISS_NUM,
36: p_pay_basis in varchar2 := FND_API.G_MISS_CHAR,
37: p_employee_id in number := FND_API.G_MISS_NUM,
30: p_attribute_value_id in number := FND_API.G_MISS_NUM,
31: p_attribute_value in varchar2 := FND_API.G_MISS_CHAR,
32: p_effective_start_date in date := FND_API.G_MISS_DATE,
33: p_effective_end_date in date := FND_API.G_MISS_DATE,
34: p_element_value_type in varchar2 := FND_API.G_MISS_CHAR,
35: p_element_value in number := FND_API.G_MISS_NUM,
36: p_pay_basis in varchar2 := FND_API.G_MISS_CHAR,
37: p_employee_id in number := FND_API.G_MISS_NUM,
38: p_primary_employee_flag in varchar2 := FND_API.G_MISS_CHAR,
31: p_attribute_value in varchar2 := FND_API.G_MISS_CHAR,
32: p_effective_start_date in date := FND_API.G_MISS_DATE,
33: p_effective_end_date in date := FND_API.G_MISS_DATE,
34: p_element_value_type in varchar2 := FND_API.G_MISS_CHAR,
35: p_element_value in number := FND_API.G_MISS_NUM,
36: p_pay_basis in varchar2 := FND_API.G_MISS_CHAR,
37: p_employee_id in number := FND_API.G_MISS_NUM,
38: p_primary_employee_flag in varchar2 := FND_API.G_MISS_CHAR,
39: p_global_default_flag in varchar2 := FND_API.G_MISS_CHAR,
32: p_effective_start_date in date := FND_API.G_MISS_DATE,
33: p_effective_end_date in date := FND_API.G_MISS_DATE,
34: p_element_value_type in varchar2 := FND_API.G_MISS_CHAR,
35: p_element_value in number := FND_API.G_MISS_NUM,
36: p_pay_basis in varchar2 := FND_API.G_MISS_CHAR,
37: p_employee_id in number := FND_API.G_MISS_NUM,
38: p_primary_employee_flag in varchar2 := FND_API.G_MISS_CHAR,
39: p_global_default_flag in varchar2 := FND_API.G_MISS_CHAR,
40: p_assignment_default_rule_id in number := FND_API.G_MISS_NUM,
33: p_effective_end_date in date := FND_API.G_MISS_DATE,
34: p_element_value_type in varchar2 := FND_API.G_MISS_CHAR,
35: p_element_value in number := FND_API.G_MISS_NUM,
36: p_pay_basis in varchar2 := FND_API.G_MISS_CHAR,
37: p_employee_id in number := FND_API.G_MISS_NUM,
38: p_primary_employee_flag in varchar2 := FND_API.G_MISS_CHAR,
39: p_global_default_flag in varchar2 := FND_API.G_MISS_CHAR,
40: p_assignment_default_rule_id in number := FND_API.G_MISS_NUM,
41: p_modify_flag in varchar2,
34: p_element_value_type in varchar2 := FND_API.G_MISS_CHAR,
35: p_element_value in number := FND_API.G_MISS_NUM,
36: p_pay_basis in varchar2 := FND_API.G_MISS_CHAR,
37: p_employee_id in number := FND_API.G_MISS_NUM,
38: p_primary_employee_flag in varchar2 := FND_API.G_MISS_CHAR,
39: p_global_default_flag in varchar2 := FND_API.G_MISS_CHAR,
40: p_assignment_default_rule_id in number := FND_API.G_MISS_NUM,
41: p_modify_flag in varchar2,
42: p_mode in varchar2
35: p_element_value in number := FND_API.G_MISS_NUM,
36: p_pay_basis in varchar2 := FND_API.G_MISS_CHAR,
37: p_employee_id in number := FND_API.G_MISS_NUM,
38: p_primary_employee_flag in varchar2 := FND_API.G_MISS_CHAR,
39: p_global_default_flag in varchar2 := FND_API.G_MISS_CHAR,
40: p_assignment_default_rule_id in number := FND_API.G_MISS_NUM,
41: p_modify_flag in varchar2,
42: p_mode in varchar2
43:
36: p_pay_basis in varchar2 := FND_API.G_MISS_CHAR,
37: p_employee_id in number := FND_API.G_MISS_NUM,
38: p_primary_employee_flag in varchar2 := FND_API.G_MISS_CHAR,
39: p_global_default_flag in varchar2 := FND_API.G_MISS_CHAR,
40: p_assignment_default_rule_id in number := FND_API.G_MISS_NUM,
41: p_modify_flag in varchar2,
42: p_mode in varchar2
43:
44: ) is
55: BEGIN
56: --
57: SAVEPOINT Update_Row ;
58: --
59: if FND_API.to_Boolean (p_init_msg_list) then
60: FND_MSG_PUB.initialize;
61: end if;
62:
63: -- Initialize API return status to success
61: end if;
62:
63: -- Initialize API return status to success
64:
65: p_return_status := FND_API.G_RET_STS_SUCCESS ;
66:
67: --
68: P_LAST_UPDATE_DATE := SYSDATE;
69: if(P_MODE = 'I') then
80: end if;
81: else
82: FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
83: FND_MSG_PUB.Add ;
84: raise FND_API.G_EXC_ERROR ;
85: end if;
86: --
87:
88: -- do the update of the record
88: -- do the update of the record
89: --
90: -- truncated the p_effective_start_date and p_effective_end_date for bug 4377166
91: update PSB_POSITION_ASSIGNMENTS set
92: pay_element_id = decode(p_pay_element_id, FND_API.G_MISS_NUM, pay_element_id, p_pay_element_id),
93: pay_element_option_id = decode(p_pay_element_option_id, FND_API.G_MISS_NUM, pay_element_option_id, p_pay_element_option_id),
94: attribute_value_id = decode(p_attribute_value_id, FND_API.G_MISS_NUM, attribute_value_id, p_attribute_value_id),
95: attribute_value = decode(p_attribute_value, FND_API.G_MISS_CHAR, attribute_value, p_attribute_value),
96: effective_start_date = decode(p_effective_start_date, FND_API.G_MISS_DATE, effective_start_date, trunc(p_effective_start_date)),
89: --
90: -- truncated the p_effective_start_date and p_effective_end_date for bug 4377166
91: update PSB_POSITION_ASSIGNMENTS set
92: pay_element_id = decode(p_pay_element_id, FND_API.G_MISS_NUM, pay_element_id, p_pay_element_id),
93: pay_element_option_id = decode(p_pay_element_option_id, FND_API.G_MISS_NUM, pay_element_option_id, p_pay_element_option_id),
94: attribute_value_id = decode(p_attribute_value_id, FND_API.G_MISS_NUM, attribute_value_id, p_attribute_value_id),
95: attribute_value = decode(p_attribute_value, FND_API.G_MISS_CHAR, attribute_value, p_attribute_value),
96: effective_start_date = decode(p_effective_start_date, FND_API.G_MISS_DATE, effective_start_date, trunc(p_effective_start_date)),
97: effective_end_date = decode(p_effective_end_date, FND_API.G_MISS_DATE, effective_end_date, trunc(p_effective_end_date)),
90: -- truncated the p_effective_start_date and p_effective_end_date for bug 4377166
91: update PSB_POSITION_ASSIGNMENTS set
92: pay_element_id = decode(p_pay_element_id, FND_API.G_MISS_NUM, pay_element_id, p_pay_element_id),
93: pay_element_option_id = decode(p_pay_element_option_id, FND_API.G_MISS_NUM, pay_element_option_id, p_pay_element_option_id),
94: attribute_value_id = decode(p_attribute_value_id, FND_API.G_MISS_NUM, attribute_value_id, p_attribute_value_id),
95: attribute_value = decode(p_attribute_value, FND_API.G_MISS_CHAR, attribute_value, p_attribute_value),
96: effective_start_date = decode(p_effective_start_date, FND_API.G_MISS_DATE, effective_start_date, trunc(p_effective_start_date)),
97: effective_end_date = decode(p_effective_end_date, FND_API.G_MISS_DATE, effective_end_date, trunc(p_effective_end_date)),
98: element_value_type = decode(p_element_value_type, FND_API.G_MISS_CHAR, element_value_type, p_element_value_type),
91: update PSB_POSITION_ASSIGNMENTS set
92: pay_element_id = decode(p_pay_element_id, FND_API.G_MISS_NUM, pay_element_id, p_pay_element_id),
93: pay_element_option_id = decode(p_pay_element_option_id, FND_API.G_MISS_NUM, pay_element_option_id, p_pay_element_option_id),
94: attribute_value_id = decode(p_attribute_value_id, FND_API.G_MISS_NUM, attribute_value_id, p_attribute_value_id),
95: attribute_value = decode(p_attribute_value, FND_API.G_MISS_CHAR, attribute_value, p_attribute_value),
96: effective_start_date = decode(p_effective_start_date, FND_API.G_MISS_DATE, effective_start_date, trunc(p_effective_start_date)),
97: effective_end_date = decode(p_effective_end_date, FND_API.G_MISS_DATE, effective_end_date, trunc(p_effective_end_date)),
98: element_value_type = decode(p_element_value_type, FND_API.G_MISS_CHAR, element_value_type, p_element_value_type),
99: element_value = decode(p_element_value, FND_API.G_MISS_NUM, element_value, p_element_value),
92: pay_element_id = decode(p_pay_element_id, FND_API.G_MISS_NUM, pay_element_id, p_pay_element_id),
93: pay_element_option_id = decode(p_pay_element_option_id, FND_API.G_MISS_NUM, pay_element_option_id, p_pay_element_option_id),
94: attribute_value_id = decode(p_attribute_value_id, FND_API.G_MISS_NUM, attribute_value_id, p_attribute_value_id),
95: attribute_value = decode(p_attribute_value, FND_API.G_MISS_CHAR, attribute_value, p_attribute_value),
96: effective_start_date = decode(p_effective_start_date, FND_API.G_MISS_DATE, effective_start_date, trunc(p_effective_start_date)),
97: effective_end_date = decode(p_effective_end_date, FND_API.G_MISS_DATE, effective_end_date, trunc(p_effective_end_date)),
98: element_value_type = decode(p_element_value_type, FND_API.G_MISS_CHAR, element_value_type, p_element_value_type),
99: element_value = decode(p_element_value, FND_API.G_MISS_NUM, element_value, p_element_value),
100: pay_basis = decode(p_pay_basis, FND_API.G_MISS_CHAR, pay_basis, p_pay_basis),
93: pay_element_option_id = decode(p_pay_element_option_id, FND_API.G_MISS_NUM, pay_element_option_id, p_pay_element_option_id),
94: attribute_value_id = decode(p_attribute_value_id, FND_API.G_MISS_NUM, attribute_value_id, p_attribute_value_id),
95: attribute_value = decode(p_attribute_value, FND_API.G_MISS_CHAR, attribute_value, p_attribute_value),
96: effective_start_date = decode(p_effective_start_date, FND_API.G_MISS_DATE, effective_start_date, trunc(p_effective_start_date)),
97: effective_end_date = decode(p_effective_end_date, FND_API.G_MISS_DATE, effective_end_date, trunc(p_effective_end_date)),
98: element_value_type = decode(p_element_value_type, FND_API.G_MISS_CHAR, element_value_type, p_element_value_type),
99: element_value = decode(p_element_value, FND_API.G_MISS_NUM, element_value, p_element_value),
100: pay_basis = decode(p_pay_basis, FND_API.G_MISS_CHAR, pay_basis, p_pay_basis),
101: employee_id = decode(p_employee_id, FND_API.G_MISS_NUM, employee_id, p_employee_id),
94: attribute_value_id = decode(p_attribute_value_id, FND_API.G_MISS_NUM, attribute_value_id, p_attribute_value_id),
95: attribute_value = decode(p_attribute_value, FND_API.G_MISS_CHAR, attribute_value, p_attribute_value),
96: effective_start_date = decode(p_effective_start_date, FND_API.G_MISS_DATE, effective_start_date, trunc(p_effective_start_date)),
97: effective_end_date = decode(p_effective_end_date, FND_API.G_MISS_DATE, effective_end_date, trunc(p_effective_end_date)),
98: element_value_type = decode(p_element_value_type, FND_API.G_MISS_CHAR, element_value_type, p_element_value_type),
99: element_value = decode(p_element_value, FND_API.G_MISS_NUM, element_value, p_element_value),
100: pay_basis = decode(p_pay_basis, FND_API.G_MISS_CHAR, pay_basis, p_pay_basis),
101: employee_id = decode(p_employee_id, FND_API.G_MISS_NUM, employee_id, p_employee_id),
102: primary_employee_flag = decode(p_primary_employee_flag,
95: attribute_value = decode(p_attribute_value, FND_API.G_MISS_CHAR, attribute_value, p_attribute_value),
96: effective_start_date = decode(p_effective_start_date, FND_API.G_MISS_DATE, effective_start_date, trunc(p_effective_start_date)),
97: effective_end_date = decode(p_effective_end_date, FND_API.G_MISS_DATE, effective_end_date, trunc(p_effective_end_date)),
98: element_value_type = decode(p_element_value_type, FND_API.G_MISS_CHAR, element_value_type, p_element_value_type),
99: element_value = decode(p_element_value, FND_API.G_MISS_NUM, element_value, p_element_value),
100: pay_basis = decode(p_pay_basis, FND_API.G_MISS_CHAR, pay_basis, p_pay_basis),
101: employee_id = decode(p_employee_id, FND_API.G_MISS_NUM, employee_id, p_employee_id),
102: primary_employee_flag = decode(p_primary_employee_flag,
103: FND_API.G_MISS_CHAR,
96: effective_start_date = decode(p_effective_start_date, FND_API.G_MISS_DATE, effective_start_date, trunc(p_effective_start_date)),
97: effective_end_date = decode(p_effective_end_date, FND_API.G_MISS_DATE, effective_end_date, trunc(p_effective_end_date)),
98: element_value_type = decode(p_element_value_type, FND_API.G_MISS_CHAR, element_value_type, p_element_value_type),
99: element_value = decode(p_element_value, FND_API.G_MISS_NUM, element_value, p_element_value),
100: pay_basis = decode(p_pay_basis, FND_API.G_MISS_CHAR, pay_basis, p_pay_basis),
101: employee_id = decode(p_employee_id, FND_API.G_MISS_NUM, employee_id, p_employee_id),
102: primary_employee_flag = decode(p_primary_employee_flag,
103: FND_API.G_MISS_CHAR,
104: primary_employee_flag, p_primary_employee_flag),
97: effective_end_date = decode(p_effective_end_date, FND_API.G_MISS_DATE, effective_end_date, trunc(p_effective_end_date)),
98: element_value_type = decode(p_element_value_type, FND_API.G_MISS_CHAR, element_value_type, p_element_value_type),
99: element_value = decode(p_element_value, FND_API.G_MISS_NUM, element_value, p_element_value),
100: pay_basis = decode(p_pay_basis, FND_API.G_MISS_CHAR, pay_basis, p_pay_basis),
101: employee_id = decode(p_employee_id, FND_API.G_MISS_NUM, employee_id, p_employee_id),
102: primary_employee_flag = decode(p_primary_employee_flag,
103: FND_API.G_MISS_CHAR,
104: primary_employee_flag, p_primary_employee_flag),
105: global_default_flag = decode(p_global_default_flag, FND_API.G_MISS_CHAR, global_default_flag, p_global_default_flag),
99: element_value = decode(p_element_value, FND_API.G_MISS_NUM, element_value, p_element_value),
100: pay_basis = decode(p_pay_basis, FND_API.G_MISS_CHAR, pay_basis, p_pay_basis),
101: employee_id = decode(p_employee_id, FND_API.G_MISS_NUM, employee_id, p_employee_id),
102: primary_employee_flag = decode(p_primary_employee_flag,
103: FND_API.G_MISS_CHAR,
104: primary_employee_flag, p_primary_employee_flag),
105: global_default_flag = decode(p_global_default_flag, FND_API.G_MISS_CHAR, global_default_flag, p_global_default_flag),
106: assignment_default_rule_id = decode(p_assignment_default_rule_id, FND_API.G_MISS_NUM, assignment_default_rule_id, p_assignment_default_rule_id),
107: modify_flag = p_modify_flag,
101: employee_id = decode(p_employee_id, FND_API.G_MISS_NUM, employee_id, p_employee_id),
102: primary_employee_flag = decode(p_primary_employee_flag,
103: FND_API.G_MISS_CHAR,
104: primary_employee_flag, p_primary_employee_flag),
105: global_default_flag = decode(p_global_default_flag, FND_API.G_MISS_CHAR, global_default_flag, p_global_default_flag),
106: assignment_default_rule_id = decode(p_assignment_default_rule_id, FND_API.G_MISS_NUM, assignment_default_rule_id, p_assignment_default_rule_id),
107: modify_flag = p_modify_flag,
108: last_update_date = p_last_update_date,
109: last_updated_by = p_last_updated_by,
102: primary_employee_flag = decode(p_primary_employee_flag,
103: FND_API.G_MISS_CHAR,
104: primary_employee_flag, p_primary_employee_flag),
105: global_default_flag = decode(p_global_default_flag, FND_API.G_MISS_CHAR, global_default_flag, p_global_default_flag),
106: assignment_default_rule_id = decode(p_assignment_default_rule_id, FND_API.G_MISS_NUM, assignment_default_rule_id, p_assignment_default_rule_id),
107: modify_flag = p_modify_flag,
108: last_update_date = p_last_update_date,
109: last_updated_by = p_last_updated_by,
110: last_update_login = p_last_update_login
111: where position_assignment_id = p_position_assignment_id;
112:
113: if (sql%notfound) then
114: -- raise no_data_found;
115: raise FND_API.G_EXC_ERROR ;
116: end if;
117:
118:
119: --
119: --
120: --
121: -- Standard check of p_commit.
122:
123: if FND_API.to_Boolean (p_commit) then
124: commit work;
125: end if;
126:
127: -- Standard call to get message count and if count is 1, get message info.
130: p_data => p_msg_data);
131: --
132: EXCEPTION
133:
134: when FND_API.G_EXC_ERROR then
135: --
136: rollback to Update_Row ;
137: p_return_status := FND_API.G_RET_STS_ERROR;
138: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
133:
134: when FND_API.G_EXC_ERROR then
135: --
136: rollback to Update_Row ;
137: p_return_status := FND_API.G_RET_STS_ERROR;
138: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
139: p_data => p_msg_data);
140: --
141: when FND_API.G_EXC_UNEXPECTED_ERROR then
137: p_return_status := FND_API.G_RET_STS_ERROR;
138: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
139: p_data => p_msg_data);
140: --
141: when FND_API.G_EXC_UNEXPECTED_ERROR then
142: --
143: rollback to Update_Row ;
144: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
145: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
140: --
141: when FND_API.G_EXC_UNEXPECTED_ERROR then
142: --
143: rollback to Update_Row ;
144: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
145: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
146: p_data => p_msg_data);
147: --
148: when OTHERS then
147: --
148: when OTHERS then
149: --
150: rollback to Update_Row ;
151: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
152: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
153: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
154: l_api_name);
155: end if;
163:
164:
165: PROCEDURE INSERT_ROW (
166: p_api_version in number,
167: p_init_msg_list in varchar2 := fnd_api.g_false,
168: p_commit in varchar2 := fnd_api.g_false,
169: p_validation_level in number := fnd_api.g_valid_level_full,
170: p_return_status OUT NOCOPY varchar2,
171: p_msg_count OUT NOCOPY number,
164:
165: PROCEDURE INSERT_ROW (
166: p_api_version in number,
167: p_init_msg_list in varchar2 := fnd_api.g_false,
168: p_commit in varchar2 := fnd_api.g_false,
169: p_validation_level in number := fnd_api.g_valid_level_full,
170: p_return_status OUT NOCOPY varchar2,
171: p_msg_count OUT NOCOPY number,
172: p_msg_data OUT NOCOPY varchar2,
165: PROCEDURE INSERT_ROW (
166: p_api_version in number,
167: p_init_msg_list in varchar2 := fnd_api.g_false,
168: p_commit in varchar2 := fnd_api.g_false,
169: p_validation_level in number := fnd_api.g_valid_level_full,
170: p_return_status OUT NOCOPY varchar2,
171: p_msg_count OUT NOCOPY number,
172: p_msg_data OUT NOCOPY varchar2,
173: p_rowid in OUT NOCOPY varchar2,
208: BEGIN
209: --
210: SAVEPOINT INSERT_ROW ;
211: --
212: if FND_API.to_Boolean (p_init_msg_list) then
213: FND_MSG_PUB.initialize;
214: end if;
215: --
216: p_return_status := FND_API.G_RET_STS_SUCCESS ;
212: if FND_API.to_Boolean (p_init_msg_list) then
213: FND_MSG_PUB.initialize;
214: end if;
215: --
216: p_return_status := FND_API.G_RET_STS_SUCCESS ;
217: --
218: P_LAST_UPDATE_DATE := SYSDATE;
219: if(P_MODE = 'I') then
220: P_LAST_UPDATED_BY := 1;
230: end if;
231: else
232: FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
233: FND_MSG_PUB.Add ;
234: raise FND_API.G_EXC_ERROR;
235: end if;
236: --
237:
238: -- assign pos assignment id
300: open c;
301: fetch c into P_ROWID;
302: if (c%notfound) then
303: close c;
304: raise FND_API.G_EXC_ERROR ;
305: --raise no_data_found;
306: end if;
307: close c;
308: --
308: --
309: --p_position_assignment_id := l_pos_assignment_id ;
310: --
311: -- Standard check of p_commit.
312: if FND_API.to_Boolean (p_commit) then
313: commit work;
314: end if;
315: -- Standard call to get message count and if count is 1, get message info.
316: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
317: p_data => p_msg_data);
318: --
319: EXCEPTION
320: --
321: when FND_API.G_EXC_ERROR then
322: --
323: rollback to INSERT_ROW ;
324: p_return_status := FND_API.G_RET_STS_ERROR;
325: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
320: --
321: when FND_API.G_EXC_ERROR then
322: --
323: rollback to INSERT_ROW ;
324: p_return_status := FND_API.G_RET_STS_ERROR;
325: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
326: p_data => p_msg_data);
327: --
328: when FND_API.G_EXC_UNEXPECTED_ERROR then
324: p_return_status := FND_API.G_RET_STS_ERROR;
325: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
326: p_data => p_msg_data);
327: --
328: when FND_API.G_EXC_UNEXPECTED_ERROR then
329: --
330: rollback to INSERT_ROW ;
331: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
332: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
327: --
328: when FND_API.G_EXC_UNEXPECTED_ERROR then
329: --
330: rollback to INSERT_ROW ;
331: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
332: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
333: p_data => p_msg_data);
334: --
335: when OTHERS then
334: --
335: when OTHERS then
336: --
337: rollback to INSERT_ROW ;
338: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
339: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
340: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
341: l_api_name);
342: END if;
348: --
349:
350: PROCEDURE LOCK_ROW (
351: p_api_version in number,
352: p_init_msg_list in varchar2 := fnd_api.g_false,
353: p_commit in varchar2 := fnd_api.g_false,
354: p_validation_level in number := fnd_api.g_valid_level_full,
355: p_return_status OUT NOCOPY varchar2,
356: p_msg_count OUT NOCOPY number,
349:
350: PROCEDURE LOCK_ROW (
351: p_api_version in number,
352: p_init_msg_list in varchar2 := fnd_api.g_false,
353: p_commit in varchar2 := fnd_api.g_false,
354: p_validation_level in number := fnd_api.g_valid_level_full,
355: p_return_status OUT NOCOPY varchar2,
356: p_msg_count OUT NOCOPY number,
357: p_msg_data OUT NOCOPY varchar2,
350: PROCEDURE LOCK_ROW (
351: p_api_version in number,
352: p_init_msg_list in varchar2 := fnd_api.g_false,
353: p_commit in varchar2 := fnd_api.g_false,
354: p_validation_level in number := fnd_api.g_valid_level_full,
355: p_return_status OUT NOCOPY varchar2,
356: p_msg_count OUT NOCOPY number,
357: p_msg_data OUT NOCOPY varchar2,
358: p_row_locked OUT NOCOPY varchar2,
412: BEGIN
413: --
414: SAVEPOINT Lock_Row ;
415: --
416: if FND_API.to_Boolean (p_init_msg_list) then
417: FND_MSG_PUB.initialize;
418: end if;
419: --
420: p_return_status := FND_API.G_RET_STS_SUCCESS ;
416: if FND_API.to_Boolean (p_init_msg_list) then
417: FND_MSG_PUB.initialize;
418: end if;
419: --
420: p_return_status := FND_API.G_RET_STS_SUCCESS ;
421: p_row_locked := FND_API.G_TRUE ;
422: --
423: open c1;
424: fetch c1 into tlinfo;
417: FND_MSG_PUB.initialize;
418: end if;
419: --
420: p_return_status := FND_API.G_RET_STS_SUCCESS ;
421: p_row_locked := FND_API.G_TRUE ;
422: --
423: open c1;
424: fetch c1 into tlinfo;
425: if (c1%notfound) then
425: if (c1%notfound) then
426: fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
427: fnd_msg_pub.add ;
428: close c1;
429: raise fnd_api.g_exc_error ;
430: end if;
431: close c1;
432: --
433: if ( (tlinfo.position_assignment_id = P_position_assignment_id)
489: null;
490: else
491: fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
492: fnd_msg_pub.add ;
493: raise fnd_api.g_exc_error ;
494: end if;
495:
496: EXCEPTION
497: when app_exception.record_lock_exception then
496: EXCEPTION
497: when app_exception.record_lock_exception then
498: --
499: rollback to LOCK_ROW ;
500: p_row_locked := FND_API.G_FALSE ;
501: p_return_status := FND_API.G_RET_STS_ERROR;
502: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
503: p_data => p_msg_data);
504: --
497: when app_exception.record_lock_exception then
498: --
499: rollback to LOCK_ROW ;
500: p_row_locked := FND_API.G_FALSE ;
501: p_return_status := FND_API.G_RET_STS_ERROR;
502: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
503: p_data => p_msg_data);
504: --
505: when FND_API.G_EXC_ERROR then
501: p_return_status := FND_API.G_RET_STS_ERROR;
502: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
503: p_data => p_msg_data);
504: --
505: when FND_API.G_EXC_ERROR then
506: --
507: rollback to LOCK_ROW ;
508: p_return_status := FND_API.G_RET_STS_ERROR;
509: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
504: --
505: when FND_API.G_EXC_ERROR then
506: --
507: rollback to LOCK_ROW ;
508: p_return_status := FND_API.G_RET_STS_ERROR;
509: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
510: p_data => p_msg_data);
511: --
512: when FND_API.G_EXC_UNEXPECTED_ERROR then
508: p_return_status := FND_API.G_RET_STS_ERROR;
509: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
510: p_data => p_msg_data);
511: --
512: when FND_API.G_EXC_UNEXPECTED_ERROR then
513: --
514: rollback to LOCK_ROW ;
515: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
516: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
511: --
512: when FND_API.G_EXC_UNEXPECTED_ERROR then
513: --
514: rollback to LOCK_ROW ;
515: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
516: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
517: p_data => p_msg_data);
518: --
519: when OTHERS then
518: --
519: when OTHERS then
520: --
521: rollback to LOCK_ROW ;
522: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
523: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
524: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
525: l_api_name);
526: END if;
532:
533: --
534: PROCEDURE DELETE_ROW (
535: p_api_version in number,
536: p_init_msg_list in varchar2 := fnd_api.g_false,
537: p_commit in varchar2 := fnd_api.g_false,
538: p_validation_level in number := fnd_api.g_valid_level_full,
539: p_return_status OUT NOCOPY varchar2,
540: p_msg_count OUT NOCOPY number,
533: --
534: PROCEDURE DELETE_ROW (
535: p_api_version in number,
536: p_init_msg_list in varchar2 := fnd_api.g_false,
537: p_commit in varchar2 := fnd_api.g_false,
538: p_validation_level in number := fnd_api.g_valid_level_full,
539: p_return_status OUT NOCOPY varchar2,
540: p_msg_count OUT NOCOPY number,
541: p_msg_data OUT NOCOPY varchar2,
534: PROCEDURE DELETE_ROW (
535: p_api_version in number,
536: p_init_msg_list in varchar2 := fnd_api.g_false,
537: p_commit in varchar2 := fnd_api.g_false,
538: p_validation_level in number := fnd_api.g_valid_level_full,
539: p_return_status OUT NOCOPY varchar2,
540: p_msg_count OUT NOCOPY number,
541: p_msg_data OUT NOCOPY varchar2,
542: p_position_assignment_id in number
552: SAVEPOINT DELETE_ROW ;
553: --
554: -- Initialize message list if p_init_msg_list is set to TRUE.
555: --
556: if FND_API.to_Boolean (p_init_msg_list) then
557: FND_MSG_PUB.initialize;
558: end if;
559: --
560: p_return_status := FND_API.G_RET_STS_SUCCESS ;
556: if FND_API.to_Boolean (p_init_msg_list) then
557: FND_MSG_PUB.initialize;
558: end if;
559: --
560: p_return_status := FND_API.G_RET_STS_SUCCESS ;
561:
562: --
563: delete from PSB_POSITION_ASSIGNMENTS
564: where position_assignment_id = p_position_assignment_id;
567: end if;
568:
569: -- Standard check of p_commit.
570: --
571: if FND_API.to_Boolean (p_commit) then
572: commit work;
573: end if;
574:
575: -- Standard call to get message count and if count is 1, get message info.
577: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
578: p_data => p_msg_data);
579: --
580: EXCEPTION
581: when FND_API.G_EXC_ERROR then
582: --
583: rollback to DELETE_ROW;
584: p_return_status := FND_API.G_RET_STS_ERROR;
585: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
580: EXCEPTION
581: when FND_API.G_EXC_ERROR then
582: --
583: rollback to DELETE_ROW;
584: p_return_status := FND_API.G_RET_STS_ERROR;
585: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
586: p_data => p_msg_data);
587: --
588: when FND_API.G_EXC_UNEXPECTED_ERROR then
584: p_return_status := FND_API.G_RET_STS_ERROR;
585: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
586: p_data => p_msg_data);
587: --
588: when FND_API.G_EXC_UNEXPECTED_ERROR then
589: --
590: rollback to DELETE_ROW;
591: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
592: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
587: --
588: when FND_API.G_EXC_UNEXPECTED_ERROR then
589: --
590: rollback to DELETE_ROW;
591: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
592: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
593: p_data => p_msg_data);
594: --
595: when OTHERS then
594: --
595: when OTHERS then
596: --
597: rollback to DELETE_ROW ;
598: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
599: if FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) then
600: FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME,
601: l_api_name);
602: end if;