26: ----------------------------------------------------------------------
27:
28: PROCEDURE Update_Error(
29: p_api_version IN NUMBER
30: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
31: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
32: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
33: ,x_return_status OUT NOCOPY VARCHAR2
34: ,x_msg_count OUT NOCOPY NUMBER
27:
28: PROCEDURE Update_Error(
29: p_api_version IN NUMBER
30: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
31: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
32: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
33: ,x_return_status OUT NOCOPY VARCHAR2
34: ,x_msg_count OUT NOCOPY NUMBER
35: ,x_msg_data OUT NOCOPY VARCHAR2
28: PROCEDURE Update_Error(
29: p_api_version IN NUMBER
30: ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
31: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
32: ,p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
33: ,x_return_status OUT NOCOPY VARCHAR2
34: ,x_msg_count OUT NOCOPY NUMBER
35: ,x_msg_data OUT NOCOPY VARCHAR2
36: ,p_exe_update_rec IN dpp_error_rec_type
58:
59: -- Standard begin of API savepoint
60: SAVEPOINT Update_Error_PVT;
61: -- Standard call to check for call compatibility.
62: IF NOT FND_API.Compatible_API_Call ( l_api_version,
63: p_api_version,
64: l_api_name,
65: G_PKG_NAME)
66: THEN
63: p_api_version,
64: l_api_name,
65: G_PKG_NAME)
66: THEN
67: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
68: END IF;
69: -- Initialize message list if p_init_msg_list is set to TRUE.
70: IF FND_API.to_Boolean( p_init_msg_list )
71: THEN
66: THEN
67: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
68: END IF;
69: -- Initialize message list if p_init_msg_list is set to TRUE.
70: IF FND_API.to_Boolean( p_init_msg_list )
71: THEN
72: FND_MSG_PUB.initialize;
73: END IF;
74:
76: IF g_debug THEN
77: DPP_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
78: END IF;
79: -- Initialize API return status to sucess
80: l_return_status := FND_API.G_RET_STS_SUCCESS;
81:
82: --
83: -- API body
84: --
104: END LOOP;
105:
106: DPP_ExecutionDetails_PVT.Update_ExecutionDetails(
107: p_api_version => l_api_version
108: ,p_init_msg_list => FND_API.G_FALSE
109: ,p_commit => FND_API.G_FALSE
110: ,p_validation_level => FND_API.G_VALID_LEVEL_FULL
111: ,x_return_status => l_return_status
112: ,x_msg_count => l_msg_count
105:
106: DPP_ExecutionDetails_PVT.Update_ExecutionDetails(
107: p_api_version => l_api_version
108: ,p_init_msg_list => FND_API.G_FALSE
109: ,p_commit => FND_API.G_FALSE
110: ,p_validation_level => FND_API.G_VALID_LEVEL_FULL
111: ,x_return_status => l_return_status
112: ,x_msg_count => l_msg_count
113: ,x_msg_data => l_msg_data
106: DPP_ExecutionDetails_PVT.Update_ExecutionDetails(
107: p_api_version => l_api_version
108: ,p_init_msg_list => FND_API.G_FALSE
109: ,p_commit => FND_API.G_FALSE
110: ,p_validation_level => FND_API.G_VALID_LEVEL_FULL
111: ,x_return_status => l_return_status
112: ,x_msg_count => l_msg_count
113: ,x_msg_data => l_msg_data
114: ,p_EXE_UPDATE_rec => l_x_exe_update_rec
119:
120: x_return_status := l_return_status;
121:
122: -- Standard check for p_commit
123: IF FND_API.to_Boolean( p_commit )
124: THEN
125: COMMIT WORK;
126: END IF;
127: -- Debug Message
142:
143: --Exception Handling
144: EXCEPTION
145:
146: WHEN FND_API.G_EXC_ERROR THEN
147: ROLLBACK TO Update_Error_PVT;
148: x_return_status := FND_API.G_RET_STS_ERROR;
149: -- Standard call to get message count and if count=1, get the message
150: FND_MSG_PUB.Count_And_Get (
144: EXCEPTION
145:
146: WHEN FND_API.G_EXC_ERROR THEN
147: ROLLBACK TO Update_Error_PVT;
148: x_return_status := FND_API.G_RET_STS_ERROR;
149: -- Standard call to get message count and if count=1, get the message
150: FND_MSG_PUB.Count_And_Get (
151: p_encoded => FND_API.G_FALSE,
152: p_count => x_msg_count,
147: ROLLBACK TO Update_Error_PVT;
148: x_return_status := FND_API.G_RET_STS_ERROR;
149: -- Standard call to get message count and if count=1, get the message
150: FND_MSG_PUB.Count_And_Get (
151: p_encoded => FND_API.G_FALSE,
152: p_count => x_msg_count,
153: p_data => x_msg_data
154: );
155: IF x_msg_count > 1 THEN
157: x_msg_data := SUBSTR((x_msg_data||' '|| FND_MSG_PUB.GET(P_MSG_INDEX => I, P_ENCODED => 'F')), 1, 4000);
158: END LOOP;
159: END IF;
160:
161: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
162: ROLLBACK TO Update_Error_PVT;
163: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
164: -- Standard call to get message count and if count=1, get the message
165: FND_MSG_PUB.Count_And_Get (
159: END IF;
160:
161: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
162: ROLLBACK TO Update_Error_PVT;
163: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
164: -- Standard call to get message count and if count=1, get the message
165: FND_MSG_PUB.Count_And_Get (
166: p_encoded => FND_API.G_FALSE,
167: p_count => x_msg_count,
162: ROLLBACK TO Update_Error_PVT;
163: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
164: -- Standard call to get message count and if count=1, get the message
165: FND_MSG_PUB.Count_And_Get (
166: p_encoded => FND_API.G_FALSE,
167: p_count => x_msg_count,
168: p_data => x_msg_data
169: );
170: IF x_msg_count > 1 THEN
179: fnd_message.set_token('ROUTINE', 'DPP_ERROR_PVT.Update_Error');
180: fnd_message.set_token('ERRNO', sqlcode);
181: fnd_message.set_token('REASON', sqlerrm);
182: FND_MSG_PUB.add;
183: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
184:
185: -- Standard call to get message count and if count=1, get the message
186: FND_MSG_PUB.Count_And_Get (
187: p_encoded => FND_API.G_FALSE,
183: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
184:
185: -- Standard call to get message count and if count=1, get the message
186: FND_MSG_PUB.Count_And_Get (
187: p_encoded => FND_API.G_FALSE,
188: p_count => x_msg_count,
189: p_data => x_msg_data
190: );
191: IF x_msg_count > 1 THEN