20:
21: PROCEDURE Create_Email_IH
22: (
23: p_api_version IN NUMBER,
24: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
25: p_commit IN VARCHAR2 := FND_API.G_FALSE,
26: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
27: p_application_id IN NUMBER,
28: p_party_id IN NUMBER,
21: PROCEDURE Create_Email_IH
22: (
23: p_api_version IN NUMBER,
24: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
25: p_commit IN VARCHAR2 := FND_API.G_FALSE,
26: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
27: p_application_id IN NUMBER,
28: p_party_id IN NUMBER,
29: p_resource_id IN NUMBER,
22: (
23: p_api_version IN NUMBER,
24: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
25: p_commit IN VARCHAR2 := FND_API.G_FALSE,
26: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
27: p_application_id IN NUMBER,
28: p_party_id IN NUMBER,
29: p_resource_id IN NUMBER,
30: p_object_id IN NUMBER,
94: -- Standard Start of API savepoint
95: SAVEPOINT CREATE_EMAIL_IH_PVT;
96:
97: -- Standard call to check for call compatibility.
98: IF NOT FND_API.Compatible_API_Call(l_api_version,
99: p_api_version,
100: l_api_name,
101: G_PKG_NAME)
102: THEN
99: p_api_version,
100: l_api_name,
101: G_PKG_NAME)
102: THEN
103: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
104: END IF;
105:
106: -- Initialize message list if p_init_msg_list is set to TRUE.
107: IF FND_API.to_Boolean(p_init_msg_list) THEN
103: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
104: END IF;
105:
106: -- Initialize message list if p_init_msg_list is set to TRUE.
107: IF FND_API.to_Boolean(p_init_msg_list) THEN
108: FND_MSG_PUB.initialize;
109: END IF;
110:
111: -- Log Debug Messages.
118: ' p_direction: ' || p_direction );
119: END IF;
120:
121: -- Initialize API return status to success
122: x_return_status := FND_API.G_RET_STS_SUCCESS;
123:
124: -- Collect required variables
125: IF (p_application_id = 694) THEN -- Proposals
126: l_action_item_id := 86; -- Proposal
130: l_action_item_id := 14; -- Quote
131: ELSIF (p_application_id = 869) THEN -- Sales for Handhelds
132: l_action_item_id := 45; -- Email
133: ELSE
134: RAISE FND_API.G_EXC_ERROR;
135: END IF;
136:
137: IF (p_direction = 'OUTBOUND') THEN
138: l_action_id := 5; -- Sent
138: l_action_id := 5; -- Sent
139: ELSIF (p_direction = 'INBOUND') THEN
140: l_action_id := 87; -- Recieved
141: ELSE
142: RAISE FND_API.G_EXC_ERROR;
143: END IF;
144:
145: IF (p_contact_points_tbl.count = 0) THEN
146: RAISE FND_API.G_EXC_ERROR;
142: RAISE FND_API.G_EXC_ERROR;
143: END IF;
144:
145: IF (p_contact_points_tbl.count = 0) THEN
146: RAISE FND_API.G_EXC_ERROR;
147: END IF;
148:
149: --
150: -- Get the value of media id from the cursor
180: --
181: JTF_IH_PUB.Create_MediaItem
182: (
183: p_api_version => 1.0,
184: p_init_msg_list => FND_API.G_FALSE,
185: p_commit => FND_API.G_FALSE,
186: p_resp_appl_id => FND_GLOBAL.resp_appl_id,
187: p_resp_id => FND_GLOBAL.resp_id,
188: p_user_id => FND_GLOBAL.user_id,
181: JTF_IH_PUB.Create_MediaItem
182: (
183: p_api_version => 1.0,
184: p_init_msg_list => FND_API.G_FALSE,
185: p_commit => FND_API.G_FALSE,
186: p_resp_appl_id => FND_GLOBAL.resp_appl_id,
187: p_resp_id => FND_GLOBAL.resp_id,
188: p_user_id => FND_GLOBAL.user_id,
189: p_login_id => FND_GLOBAL.login_id,
202: MESSAGE => 'After Calling JTF_IH_PUB.Create_MediaItem...Out Parameters: ' ||'x_return_status: ' || x_return_status ||
203: ' x_msg_count: ' || x_msg_count || ' x_msg_data: ' || x_msg_data);
204: END IF;
205:
206: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
207: RAISE FND_API.G_EXC_ERROR;
208: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
209: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
210: END IF;
203: ' x_msg_count: ' || x_msg_count || ' x_msg_data: ' || x_msg_data);
204: END IF;
205:
206: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
207: RAISE FND_API.G_EXC_ERROR;
208: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
209: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
210: END IF;
211:
204: END IF;
205:
206: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
207: RAISE FND_API.G_EXC_ERROR;
208: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
209: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
210: END IF;
211:
212: --
205:
206: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
207: RAISE FND_API.G_EXC_ERROR;
208: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
209: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
210: END IF;
211:
212: --
213: -- Initialize interaction and activity records
283:
284: JTF_IH_PUB.Create_Interaction
285: (
286: p_api_version => 1.0,
287: p_init_msg_list => FND_API.G_FALSE,
288: p_commit => FND_API.G_FALSE,
289: p_resp_appl_id => FND_GLOBAL.resp_appl_id,
290: p_resp_id => FND_GLOBAL.resp_id,
291: p_user_id => FND_GLOBAL.user_id,
284: JTF_IH_PUB.Create_Interaction
285: (
286: p_api_version => 1.0,
287: p_init_msg_list => FND_API.G_FALSE,
288: p_commit => FND_API.G_FALSE,
289: p_resp_appl_id => FND_GLOBAL.resp_appl_id,
290: p_resp_id => FND_GLOBAL.resp_id,
291: p_user_id => FND_GLOBAL.user_id,
292: p_login_id => FND_GLOBAL.login_id,
304: MESSAGE => 'After Calling JTF_IH_PUB.Create_Interaction...Out Parameters: ' ||'x_return_status: ' || x_return_status ||
305: ' x_msg_count: ' || x_msg_count || ' x_msg_data: ' || x_msg_data);
306: END IF;
307:
308: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
309: RAISE FND_API.G_EXC_ERROR;
310: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
311: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
312: END IF;
305: ' x_msg_count: ' || x_msg_count || ' x_msg_data: ' || x_msg_data);
306: END IF;
307:
308: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
309: RAISE FND_API.G_EXC_ERROR;
310: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
311: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
312: END IF;
313:
306: END IF;
307:
308: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
309: RAISE FND_API.G_EXC_ERROR;
310: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
311: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
312: END IF;
313:
314: END LOOP;
307:
308: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
309: RAISE FND_API.G_EXC_ERROR;
310: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
311: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
312: END IF;
313:
314: END LOOP;
315:
325: l_interaction_rec.contact_party_id := p_party_id;
326: JTF_IH_PUB.Create_Interaction
327: (
328: p_api_version => 1.0,
329: p_init_msg_list => FND_API.G_FALSE,
330: p_commit => FND_API.G_FALSE,
331: p_resp_appl_id => FND_GLOBAL.resp_appl_id,
332: p_resp_id => FND_GLOBAL.resp_id,
333: p_user_id => FND_GLOBAL.user_id,
326: JTF_IH_PUB.Create_Interaction
327: (
328: p_api_version => 1.0,
329: p_init_msg_list => FND_API.G_FALSE,
330: p_commit => FND_API.G_FALSE,
331: p_resp_appl_id => FND_GLOBAL.resp_appl_id,
332: p_resp_id => FND_GLOBAL.resp_id,
333: p_user_id => FND_GLOBAL.user_id,
334: p_login_id => FND_GLOBAL.login_id,
346: MESSAGE => 'After Calling JTF_IH_PUB.Create_Interaction...Out Parameters: ' ||'x_return_status: ' || x_return_status ||
347: ' x_msg_count: ' || x_msg_count || ' x_msg_data: ' || x_msg_data);
348: END IF;
349:
350: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
351: RAISE FND_API.G_EXC_ERROR;
352: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
354: END IF;
347: ' x_msg_count: ' || x_msg_count || ' x_msg_data: ' || x_msg_data);
348: END IF;
349:
350: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
351: RAISE FND_API.G_EXC_ERROR;
352: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
354: END IF;
355:
348: END IF;
349:
350: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
351: RAISE FND_API.G_EXC_ERROR;
352: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
354: END IF;
355:
356: ELSE
349:
350: IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
351: RAISE FND_API.G_EXC_ERROR;
352: ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
354: END IF;
355:
356: ELSE
357: RAISE FND_API.G_EXC_ERROR;
353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
354: END IF;
355:
356: ELSE
357: RAISE FND_API.G_EXC_ERROR;
358: END IF;
359:
360: -- Standard check of p_commit.
361: IF (FND_API.To_Boolean(p_commit)) THEN
357: RAISE FND_API.G_EXC_ERROR;
358: END IF;
359:
360: -- Standard check of p_commit.
361: IF (FND_API.To_Boolean(p_commit)) THEN
362: COMMIT WORK;
363: END IF;
364:
365: -- Standard call to get message count and if count is 1, get message info.
368: p_encoded => 'F');
369:
370: EXCEPTION
371:
372: WHEN FND_API.G_EXC_ERROR THEN
373: ROLLBACK TO CREATE_EMAIL_IH_PVT;
374: x_return_status := FND_API.G_RET_STS_ERROR;
375: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
376: p_data => x_msg_data,
370: EXCEPTION
371:
372: WHEN FND_API.G_EXC_ERROR THEN
373: ROLLBACK TO CREATE_EMAIL_IH_PVT;
374: x_return_status := FND_API.G_RET_STS_ERROR;
375: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
376: p_data => x_msg_data,
377: p_encoded => 'F');
378:
375: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
376: p_data => x_msg_data,
377: p_encoded => 'F');
378:
379: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
380: ROLLBACK TO CREATE_EMAIL_IH_PVT;
381: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
382: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
383: p_data => x_msg_data,
377: p_encoded => 'F');
378:
379: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
380: ROLLBACK TO CREATE_EMAIL_IH_PVT;
381: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
382: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
383: p_data => x_msg_data,
384: p_encoded => 'F');
385:
390: FND_MESSAGE.Set_Token('ERRNO', SQLCODE);
391: FND_MESSAGE.Set_Token('REASON', SQLERRM);
392: FND_MSG_PUB.Add;
393:
394: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
395:
396: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
397: THEN
398: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);