15: -- End of comments
16:
17: PROCEDURE Create_TBH
18: (p_api_version IN NUMBER, -- required
19: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
20: p_commit IN VARCHAR2 := FND_API.G_FALSE,
21: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
22: p_mgr_srp_id IN NUMBER,
23: p_name IN VARCHAR2,
16:
17: PROCEDURE Create_TBH
18: (p_api_version IN NUMBER, -- required
19: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
20: p_commit IN VARCHAR2 := FND_API.G_FALSE,
21: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
22: p_mgr_srp_id IN NUMBER,
23: p_name IN VARCHAR2,
24: p_emp_num IN VARCHAR2,
17: PROCEDURE Create_TBH
18: (p_api_version IN NUMBER, -- required
19: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
20: p_commit IN VARCHAR2 := FND_API.G_FALSE,
21: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
22: p_mgr_srp_id IN NUMBER,
23: p_name IN VARCHAR2,
24: p_emp_num IN VARCHAR2,
25: p_comp_group_id IN NUMBER,
53: -- Standard Start of API savepoint
54: SAVEPOINT Create_TBH;
55:
56: -- Standard call to check for call compatibility.
57: IF NOT FND_API.Compatible_API_Call
58: (l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
59: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
60: END IF;
61:
55:
56: -- Standard call to check for call compatibility.
57: IF NOT FND_API.Compatible_API_Call
58: (l_api_version, p_api_version, l_api_name, G_PKG_NAME) THEN
59: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
60: END IF;
61:
62: -- Initialize message list if p_init_msg_list is set to TRUE.
63: IF FND_API.to_Boolean( p_init_msg_list ) THEN
59: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
60: END IF;
61:
62: -- Initialize message list if p_init_msg_list is set to TRUE.
63: IF FND_API.to_Boolean( p_init_msg_list ) THEN
64: FND_MSG_PUB.initialize;
65: END IF;
66:
67: -- Initialize API return status to success
64: FND_MSG_PUB.initialize;
65: END IF;
66:
67: -- Initialize API return status to success
68: x_return_status := FND_API.G_RET_STS_SUCCESS;
69:
70: -- create the resource
71: -- create the salesrep
72: -- create the role, job_title, and comp group assignment
76: open mgr_info;
77: fetch mgr_info into l_mgr_sct_id;
78: if mgr_info%notfound then
79: close mgr_info;
80: RAISE FND_API.G_EXC_ERROR;
81: end if;
82: close mgr_info;
83:
84: jtf_rs_resource_pub.create_resource
94: X_MSG_COUNT => l_msg_count,
95: X_MSG_DATA => l_msg_data,
96: X_RESOURCE_ID => l_resource_id,
97: X_RESOURCE_NUMBER => l_resource_number);
98: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
99: raise FND_API.G_EXC_ERROR;
100: end if;
101:
102: jtf_rs_salesreps_pub.create_salesrep
95: X_MSG_DATA => l_msg_data,
96: X_RESOURCE_ID => l_resource_id,
97: X_RESOURCE_NUMBER => l_resource_number);
98: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
99: raise FND_API.G_EXC_ERROR;
100: end if;
101:
102: jtf_rs_salesreps_pub.create_salesrep
103: (P_API_VERSION => 1.0,
114: X_RETURN_STATUS => l_return_status,
115: X_MSG_COUNT => l_msg_count,
116: X_MSG_DATA => l_msg_data,
117: X_SALESREP_ID => l_srp_id);
118: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
119: raise FND_API.G_EXC_ERROR;
120: end if;
121:
122: x_srp_id := l_srp_id;
115: X_MSG_COUNT => l_msg_count,
116: X_MSG_DATA => l_msg_data,
117: X_SALESREP_ID => l_srp_id);
118: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
119: raise FND_API.G_EXC_ERROR;
120: end if;
121:
122: x_srp_id := l_srp_id;
123:
133: X_MSG_COUNT => l_msg_count,
134: X_MSG_DATA => l_msg_data,
135: X_GROUP_MEMBER_ID => l_group_member_id);
136:
137: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
138: -- pass on warning on msg stack that plan type couldn't be created
139: FND_MESSAGE.SET_NAME('CN', 'CN_SRP_GROUP_ERR');
140: FND_MSG_PUB.ADD;
141: RAISE FND_API.G_EXC_ERROR;
137: if l_return_status <> FND_API.G_RET_STS_SUCCESS then
138: -- pass on warning on msg stack that plan type couldn't be created
139: FND_MESSAGE.SET_NAME('CN', 'CN_SRP_GROUP_ERR');
140: FND_MSG_PUB.ADD;
141: RAISE FND_API.G_EXC_ERROR;
142: end if;
143:
144: -- Standard check of p_commit.
145: IF FND_API.To_Boolean( p_commit ) THEN
141: RAISE FND_API.G_EXC_ERROR;
142: end if;
143:
144: -- Standard check of p_commit.
145: IF FND_API.To_Boolean( p_commit ) THEN
146: COMMIT WORK;
147: END IF;
148:
149: FND_MSG_PUB.Count_And_Get
148:
149: FND_MSG_PUB.Count_And_Get
150: (p_count => x_msg_count,
151: p_data => x_msg_data,
152: p_encoded => FND_API.G_FALSE);
153: EXCEPTION
154: WHEN FND_API.G_EXC_ERROR THEN
155: ROLLBACK TO Create_TBH;
156: x_return_status := FND_API.G_RET_STS_ERROR;
150: (p_count => x_msg_count,
151: p_data => x_msg_data,
152: p_encoded => FND_API.G_FALSE);
153: EXCEPTION
154: WHEN FND_API.G_EXC_ERROR THEN
155: ROLLBACK TO Create_TBH;
156: x_return_status := FND_API.G_RET_STS_ERROR;
157: FND_MSG_PUB.Count_And_Get
158: (p_count => x_msg_count,
152: p_encoded => FND_API.G_FALSE);
153: EXCEPTION
154: WHEN FND_API.G_EXC_ERROR THEN
155: ROLLBACK TO Create_TBH;
156: x_return_status := FND_API.G_RET_STS_ERROR;
157: FND_MSG_PUB.Count_And_Get
158: (p_count => x_msg_count,
159: p_data => x_msg_data,
160: p_encoded => FND_API.G_FALSE);
156: x_return_status := FND_API.G_RET_STS_ERROR;
157: FND_MSG_PUB.Count_And_Get
158: (p_count => x_msg_count,
159: p_data => x_msg_data,
160: p_encoded => FND_API.G_FALSE);
161: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
162: ROLLBACK TO Create_TBH;
163: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
164: FND_MSG_PUB.Count_And_Get
157: FND_MSG_PUB.Count_And_Get
158: (p_count => x_msg_count,
159: p_data => x_msg_data,
160: p_encoded => FND_API.G_FALSE);
161: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
162: ROLLBACK TO Create_TBH;
163: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
164: FND_MSG_PUB.Count_And_Get
165: (p_count => x_msg_count,
159: p_data => x_msg_data,
160: p_encoded => FND_API.G_FALSE);
161: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
162: ROLLBACK TO Create_TBH;
163: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
164: FND_MSG_PUB.Count_And_Get
165: (p_count => x_msg_count,
166: p_data => x_msg_data,
167: p_encoded => FND_API.G_FALSE);
163: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
164: FND_MSG_PUB.Count_And_Get
165: (p_count => x_msg_count,
166: p_data => x_msg_data,
167: p_encoded => FND_API.G_FALSE);
168: WHEN OTHERS THEN
169: ROLLBACK TO Create_TBH;
170: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
171: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
166: p_data => x_msg_data,
167: p_encoded => FND_API.G_FALSE);
168: WHEN OTHERS THEN
169: ROLLBACK TO Create_TBH;
170: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
171: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
172: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
173: END IF;
174: FND_MSG_PUB.Count_And_Get
173: END IF;
174: FND_MSG_PUB.Count_And_Get
175: (p_count => x_msg_count,
176: p_data => x_msg_data,
177: p_encoded => FND_API.G_FALSE);
178: END Create_TBH;
179:
180: -- Given a manager's employee number, create the next sequence number
181: -- for a TBH under that manager