DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_FULFILLMENT_PUB

Source


1 PACKAGE BODY okl_fulfillment_pub AS
2 /* $Header: OKLPFULB.pls 115.11 2004/04/13 10:46:32 rnaik noship $ */
3 
4 
5   PROCEDURE create_fulfillment (p_api_version   IN  NUMBER,
6                                 p_init_msg_list IN  VARCHAR2,
7                                 p_agent_id      IN  NUMBER,
8                                 p_server_id     IN  NUMBER DEFAULT NULL,
9                                 p_content_id    IN  NUMBER,
10                                 p_from          IN  VARCHAR2,
11                                 p_subject       IN  VARCHAR2,
12                                 p_email         IN  VARCHAR2,
13                                 p_bind_var      IN  JTF_FM_REQUEST_GRP.G_VARCHAR_TBL_TYPE,
14                                 p_bind_val      IN  JTF_FM_REQUEST_GRP.G_VARCHAR_TBL_TYPE,
15                                 p_bind_var_type IN  JTF_FM_REQUEST_GRP.G_VARCHAR_TBL_TYPE,
16                                 p_commit        IN  VARCHAR2 DEFAULT OKL_API.G_FALSE,
17                                 x_request_id    OUT NOCOPY NUMBER,
18                                 x_return_status OUT NOCOPY VARCHAR2,
19                                 x_msg_count     OUT NOCOPY NUMBER,
20                                 x_msg_data      OUT NOCOPY VARCHAR2) IS
21 
22     l_return_status          VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
23     l_msg_count              NUMBER;
24     l_msg_data               VARCHAR2(2000);
25 
26     l_request_id             NUMBER;
27 
28 
29   BEGIN
30 
31   --  SAVEPOINT create_fulfillment;
32 
33 
34 
35 
36 
37 
38   ------------ Call to Private Process API--------------
39 
40     okl_fulfillment_pvt.create_fulfillment (p_api_version   => p_api_version,
41                                             p_init_msg_list => p_init_msg_list,
42                                             p_agent_id      => p_agent_id,
43                                             p_server_id     => p_server_id,
44                                             p_content_id    => p_content_id,
45                                             p_from          => p_from,
46                                             p_subject       => p_subject,
47                                             p_email         => p_email,
48                                             p_bind_var      => p_bind_var,
49                                             p_bind_val      => p_bind_val,
50                                             p_bind_var_type => p_bind_var_type,
51                                             p_commit        => p_commit,
52                                             x_request_id    => x_request_id,
53                                             x_return_status => l_return_status,
54                                             x_msg_count     => l_msg_count,
55                                             x_msg_data      => l_msg_data);
56 
57     IF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
58       RAISE OKL_API.G_EXCEPTION_ERROR;
59     ELSIF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
60       RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
61     END IF;
62 
63   ------------ End Call to Private Process API--------------
64 
65 
66 
67 
68 
69 
70 
71   x_return_status := l_return_status;
72 
73   EXCEPTION
74 
75     WHEN OKL_API.G_EXCEPTION_ERROR THEN
76 --      ROLLBACK TO create_fulfillment;
77       x_return_status := OKL_API.G_RET_STS_ERROR;
78       FND_MSG_PUB.count_and_get(p_count   => x_msg_count,
79                                 p_data   => x_msg_data);
80 
81     WHEN OKL_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
82  --     ROLLBACK TO create_fulfillment;
83       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
84       FND_MSG_PUB.count_and_get(p_count   => x_msg_count,
85                                 p_data    => x_msg_data);
86 
87     WHEN OTHERS THEN
88   --    ROLLBACK TO create_fulfillment;
89       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
90       FND_MSG_PUB.ADD_EXC_MSG('OKL_FULFILLMENT_PUB','create_fulfillment');
91       FND_MSG_PUB.count_and_get(p_count   => x_msg_count,
92                                 p_data    => x_msg_data);
93 
94   END create_fulfillment;
95 
96 END okl_fulfillment_pub;