[Home] [Help]
PACKAGE BODY: APPS.OKL_FULFILLMENT_PVT
Source
1 PACKAGE BODY OKL_FULFILLMENT_PVT AS
2 /* $Header: OKLRFULB.pls 115.9 2004/01/29 20:46:59 rvaduri noship $ */
3
4 ------------------------------------------------------------------------------
5 -- Procedure create_fulfillment
6 ------------------------------------------------------------------------------
7 PROCEDURE create_fulfillment (p_api_version IN NUMBER,
8 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
9 p_agent_id IN NUMBER,
10 p_server_id IN NUMBER,
11 p_content_id IN NUMBER,
12 p_from IN VARCHAR2,
13 p_subject IN VARCHAR2,
14 p_email IN VARCHAR2,
15 p_bind_var IN JTF_FM_REQUEST_GRP.G_VARCHAR_TBL_TYPE,
16 p_bind_val IN JTF_FM_REQUEST_GRP.G_VARCHAR_TBL_TYPE,
17 p_bind_var_type IN JTF_FM_REQUEST_GRP.G_VARCHAR_TBL_TYPE,
18 p_commit IN VARCHAR2,
19 x_request_id OUT NOCOPY NUMBER,
20 x_return_status OUT NOCOPY VARCHAR2,
21 x_msg_count OUT NOCOPY NUMBER,
22 x_msg_data OUT NOCOPY VARCHAR2) IS
23
24 l_msg_count NUMBER;
25 l_msg_data VARCHAR2(2000);
26 l_request_id NUMBER;
27 l_content_xml VARCHAR2(32767);
28 l_extended_header VARCHAR2(32767);
29 l_commit VARCHAR2(1);
30
31 BEGIN
32
33 IF (p_commit = FND_API.G_TRUE) OR (p_commit = FND_API.G_FALSE) THEN
34 l_commit := p_commit;
35 ELSE
36 l_commit := G_COMMIT;
37 END IF;
38
39 jtf_fm_request_grp.start_request (p_api_version => G_API_VERSION,
40 p_init_msg_list => P_INIT_MSG_LIST,
41 p_commit => l_commit,
42 p_validation_level => G_VALIDATION_LEVEL,
43 x_return_status => x_return_status,
44 x_msg_count => l_msg_count,
45 x_msg_data => l_msg_data,
46 x_request_id => l_request_id);
47
48 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
49 RAISE OKL_API.G_EXCEPTION_ERROR;
50 ELSIF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
51 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
52 END IF;
53
54
55 jtf_fm_request_grp.get_content_xml (p_api_version => G_API_VERSION,
56 p_init_msg_list => P_INIT_MSG_LIST,
57 p_commit => l_commit,
58 p_validation_level => G_VALIDATION_LEVEL,
59 x_return_status => x_return_status,
60 x_msg_count => l_msg_count,
61 x_msg_data => l_msg_data,
62 p_content_id => p_content_id,
63 p_content_nm => FND_API.G_MISS_CHAR,
64 p_document_type => FND_API.G_MISS_CHAR,
65 p_quantity => 1,
66 p_media_type => 'EMAIL',
67 p_printer => FND_API.G_MISS_CHAR,
68 p_email => p_email,
69 p_fax => FND_API.G_MISS_CHAR,
70 p_file_path => FND_API.G_MISS_CHAR,
71 p_user_note => FND_API.G_MISS_CHAR,
72 p_content_type => 'QUERY',
73 p_bind_var => p_bind_var,
74 p_bind_val => p_bind_val,
75 p_bind_var_type => p_bind_var_type,
76 p_request_id => l_request_id,
77 x_content_xml => l_content_xml);
78
79 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
80 RAISE OKL_API.G_EXCEPTION_ERROR;
81 ELSIF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
82 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
83 END IF;
84
85 l_extended_header :='<extended_header media_type="EMAIL">';
86 -- "FROM" (default FROM is Recipient of the Email!)
87 l_extended_header := l_extended_header||'<header_name>';
88 l_extended_header := l_extended_header||'From';
89 l_extended_header := l_extended_header||'</header_name>';
90 l_extended_header := l_extended_header||'<header_value>';
91 l_extended_header := l_extended_header||p_from;
92 l_extended_header := l_extended_header||'</header_value>';
93 l_extended_header := l_extended_header||'</extended_header>';
94
95
96 jtf_fm_request_grp.submit_request (
97 p_api_version => G_API_VERSION,
98 p_init_msg_list => P_INIT_MSG_LIST,
99 p_commit => l_commit,
100 p_validation_level => G_VALIDATION_LEVEL,
101 x_return_status => x_return_status,
102 x_msg_count => l_msg_count,
103 x_msg_data => l_msg_data,
104 p_template_id => NULL,
105 p_subject => p_subject,
106 p_party_id => FND_API.G_MISS_NUM,
107 p_party_name => FND_API.G_MISS_CHAR,
108 p_user_id => p_agent_id,
109 p_priority => jtf_fm_request_grp.G_PRIORITY_REGULAR,
110 p_source_code_id => FND_API.G_MISS_NUM,
111 p_source_code => FND_API.G_MISS_CHAR,
112 p_object_type => FND_API.G_MISS_CHAR,
113 p_object_id => FND_API.G_MISS_NUM,
114 p_order_id => FND_API.G_MISS_NUM,
115 p_doc_id => FND_API.G_MISS_NUM,
116 p_doc_ref => FND_API.G_MISS_CHAR,
117 p_server_id => p_server_id,
118 p_queue_response => FND_API.G_FALSE,
119 p_extended_header => l_extended_header,
120 p_content_xml => l_content_xml,
121 p_request_id => l_request_id);
122
123 IF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
124 RAISE OKL_API.G_EXCEPTION_ERROR;
125 ELSIF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
126 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
127 END IF;
128
129 x_request_id := l_request_id;
130
131 EXCEPTION
132 WHEN OKL_API.G_EXCEPTION_ERROR THEN
133 x_return_status := OKL_API.G_RET_STS_ERROR;
134 FND_MSG_PUB.count_and_get(p_count => x_msg_count,
135 p_data => x_msg_data);
136
137 WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
138 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
139 FND_MSG_PUB.count_and_get(p_count => x_msg_count,
140 p_data => x_msg_data);
141
142 WHEN OTHERS THEN
143 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
144 FND_MSG_PUB.ADD_EXC_MSG('OKL_FULFILLMENT_PVT','create_fulfillment');
145 FND_MSG_PUB.count_and_get(p_count => x_msg_count,
146 p_data => x_msg_data);
147
148 END create_fulfillment;
149
150 END okl_fulfillment_pvt;