DBA Data[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;