DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKS_KTO_INT_PUB

Source


1 PACKAGE BODY OKS_KTO_INT_PUB AS
2 /* $Header: OKSPORDB.pls 120.1 2006/02/08 04:22:30 gchadha noship $ */
3 
4 
5 -------------------------------------------------------------------------------
6 --
7 -- global package structures
8 --
9 -------------------------------------------------------------------------------
10 --
11 -- global constants
12 --
13 G_EXCEPTION_HALT_VALIDATION     EXCEPTION;
14 G_UNEXPECTED_ERROR              CONSTANT VARCHAR2(200) := 'OKS_CONTRACTS_UNEXP_ERROR';
15 G_SQLCODE_TOKEN        	        CONSTANT VARCHAR2(200) := 'SQLCODE';
16 G_SQLERRM_TOKEN  		CONSTANT VARCHAR2(200) := 'SQLERRM';
17 G_PKG_NAME			CONSTANT VARCHAR2(200) := 'OKS_KTO_INT_PUB';
18 G_APP_NAME			CONSTANT VARCHAR2(3)   := OKC_API.G_APP_NAME;
19 G_FND_APP			CONSTANT VARCHAR2(200) := OKC_API.G_FND_APP;
20 G_FORM_UNABLE_TO_RESERVE_REC	CONSTANT VARCHAR2(200) := OKC_API.G_FORM_UNABLE_TO_RESERVE_REC;
21 G_API_TYPE                      VARCHAR2(30)           := '_PROCESS';
22 
23 L_LOG_ENABLED			VARCHAR2(200);
24 
25 
26 -------------------------------------------------------------------------------
27 --
28 -- APIs: K->O
29 --
30 -------------------------------------------------------------------------------
31 
32 -- Procedure:       create_order_from_k
33 -- Version:         1.0
34 -- Purpose:         Create an order from a contract.
35 --                  This API is used in a concurrent program definition
36 --                  This will be a wrapper for create_order_from_k
37 --                  procedure described above
38 
39 
40 PROCEDURE create_order_from_k(ERRBUF             OUT NOCOPY VARCHAR2
41 			      ,RETCODE           OUT NOCOPY NUMBER
42 			      ,p_contract_id     IN  okc_k_headers_b.ID%TYPE
43                               ,p_default_date    IN DATE  DEFAULT OKC_API.G_MISS_DATE
44                               ,P_Customer_id     IN NUMBER DEFAULT OKC_API.G_MISS_NUM
45                               ,P_Grp_id          IN NUMBER DEFAULT OKC_API.G_MISS_NUM
46                               ,P_org_id          IN  NUMBER DEFAULT OKC_API.G_MISS_NUM
47 			      ,P_contract_hdr_id_lo IN NUMBER DEFAULT OKC_API.G_MISS_NUM
48                               ,P_contract_hdr_id_hi IN NUMBER DEFAULT OKC_API.G_MISS_NUM
49 			      -- Bug 4915691 --
50      		              ,P_contract_line_id_lo in NUMBER DEFAULT OKC_API.G_MISS_NUM
51                               ,P_contract_line_id_hi in NUMBER DEFAULT OKC_API.G_MISS_NUM
52 			      -- Bug 4915691 --
53                               ) IS
54 
55 l_api_version           CONSTANT NUMBER := 1;
56 lx_order_id             okx_order_headers_v.id1%TYPE := NULL;
57 lx_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
58 lx_msg_count            NUMBER := 0;
59 lx_msg_data             VARCHAR2(2000);
60 l_trace_mode            VARCHAR2(1) := OKC_API.G_TRUE;
61 l_contract_id           NUMBER;
62 l_Customer_id           NUMBER;
63 l_Grp_id                NUMBER;
64 l_org_id                NUMBER;
65 l_contract_hdr_id_lo    NUMBER;
66 l_contract_hdr_id_hi    NUMBER;
67 
68 
69 
70 BEGIN
71   --
72   -- call full version of create_order_from_k
73   --
74   OKS_KTO_INT_PUB.create_order_from_k(p_api_version   => l_api_version
75                                     ,p_init_msg_list => OKC_API.G_TRUE
76                                     ,p_commit        => OKC_API.G_TRUE
77                                     ,x_return_status => lx_return_status
78                                     ,x_msg_count     => lx_msg_count
79                                     ,x_msg_data      => lx_msg_data
80                                     ,p_contract_id   => p_contract_id
81                                     ,p_default_date  => p_default_date
82                                     ,P_Customer_id   => p_Customer_id
83                                     ,P_Grp_id        => p_Grp_id
84                                     ,P_org_id        => p_org_id
85 			            ,P_contract_hdr_id_lo  => p_contract_hdr_id_lo
86                                     ,P_contract_hdr_id_hi => p_contract_hdr_id_hi
87 				    -- BUG 4915691 --
88 		                    ,P_contract_line_id_lo  => p_contract_line_id_lo
89                                     ,P_contract_line_id_hi => p_contract_line_id_hi
90 				    -- BUG 4915691 --
91                                     ,x_order_id      => lx_order_id);
92 
93   -- no need to check for errors, message stack should be set,
94   -- nothing to return to caller
95   IF lx_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
96 	IF lx_order_id IS NULL THEN
97 	   RETCODE := 2;
98 	ELSE
99 	   RETCODE := 1;
100 	END IF;
101   ELSE
102 	RETCODE:=0;
103   END IF;
104   ERRBUF:=lx_msg_data;
105 END create_order_from_k;
106 
107 --
108 -- full version of the procedure to create an order from a contract
109 --
110 
111 PROCEDURE create_order_from_k(p_api_version       IN  NUMBER   DEFAULT OKC_API.G_MISS_NUM
112                              ,p_init_msg_list     IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
113                              ,p_commit            IN  VARCHAR2 DEFAULT OKC_API.G_FALSE
114                              ,x_return_status     OUT NOCOPY VARCHAR2
115                              ,x_msg_count         OUT NOCOPY NUMBER
116                              ,x_msg_data          OUT NOCOPY VARCHAR2
117 			     ,p_contract_id       IN  okc_k_headers_b.ID%TYPE
118                              ,p_default_date      IN DATE  DEFAULT OKC_API.G_MISS_DATE
119                               ,P_Customer_id     IN NUMBER     DEFAULT  OKC_API.G_MISS_NUM
120                               ,P_Grp_id          IN NUMBER      DEFAULT OKC_API.G_MISS_NUM
121                               ,P_org_id          IN  NUMBER     DEFAULT OKC_API.G_MISS_NUM
122 			      ,P_contract_hdr_id_lo in NUMBER    DEFAULT OKC_API.G_MISS_NUM
123                               ,P_contract_hdr_id_hi in NUMBER    DEFAULT OKC_API.G_MISS_NUM
124 			       -- Bug 4915691 --
125    			      ,P_contract_line_id_lo in NUMBER    DEFAULT OKC_API.G_MISS_NUM
126                               ,P_contract_line_id_hi in NUMBER    DEFAULT OKC_API.G_MISS_NUM
127                                -- Bug 4915691 --
128                               ,x_order_id        OUT NOCOPY okx_order_headers_v.id1%TYPE
129                              ) Is
130 
131 l_api_name		    CONSTANT VARCHAR2(30) := 'CREATE_O_FROM_K';
132 l_api_version	            CONSTANT NUMBER	  := 1;
133 lx_return_status	    VARCHAR2(1)		  := OKC_API.G_RET_STS_SUCCESS;
134 lx_msg_count                NUMBER := 0;
135 lx_msg_data                 VARCHAR2(2000);
136 l_trace_mode                VARCHAR2(1);
137 
138 BEGIN
139   -- call START_ACTIVITY to create savepoint, check compatibility
140   -- and initialize message list
141   lx_return_status := OKC_API.START_ACTIVITY(
142 					p_api_name      => l_api_name,
143 					p_pkg_name      => g_pkg_name,
144 					p_init_msg_list => p_init_msg_list,
145 					l_api_version   => l_api_version,
146 					p_api_version   => p_api_version,
147 					p_api_type      => g_api_type,
148 					x_return_status => lx_return_status);
149 
150   -- check if activity started successfully
151   IF (lx_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
152      RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
153   ELSIF (lx_return_status = OKC_API.G_RET_STS_ERROR) THEN
154      RAISE OKC_API.G_EXCEPTION_ERROR;
155   END IF;
156 
157   -- call before user hooks
158   null;
159   -- call the main routine
160   OKS_OC_INT_KTO_PVT.create_order_from_k(p_api_version   => l_api_version
161                                         ,p_init_msg_list => OKC_API.G_FALSE
162                                         ,x_return_status => lx_return_status
163                                         ,x_msg_count     => lx_msg_count
164                                         ,x_msg_data      => lx_msg_data
165          		                ,p_contract_id   => p_contract_id
166                                         ,p_default_date   => p_default_date
167                                         ,P_Customer_id   => p_Customer_id
168                                         ,P_Grp_id        => p_Grp_id
169                                         ,P_org_id        => p_org_id
170 			                ,P_contract_hdr_id_lo  => p_contract_hdr_id_lo
171                                         ,P_contract_hdr_id_hi => p_contract_hdr_id_hi
172 					-- Bug 4915691 --
173 					,P_contract_line_id_lo  => p_contract_line_id_lo
174                                         ,P_contract_line_id_hi => p_contract_line_id_hi
175        				        -- Bug 4915691 --
176 				        ,x_order_id      => x_order_id
177                                         );
178 
179   -- trace mode initialization turned OFF
180   IF l_trace_mode = okc_api.g_true  OR  FND_PROFILE.VALUE('AFLOG_ENABLED') = 'Y' THEN
181 	okc_util.stop_trace;
182   END IF;
183 
184   -- check return status
185   IF lx_return_status = OKC_API.G_RET_STS_UNEXP_ERROR THEN
186     RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
187   ELSIF lx_return_status = OKC_API.G_RET_STS_ERROR THEN
188     RAISE OKC_API.G_EXCEPTION_ERROR;
189   END IF;
190 
191   -- call AFTER user hook
192   null;
193 
194   -- end activity
195   OKC_API.END_ACTIVITY(	x_msg_count		=> lx_msg_count,
196   			x_msg_data		=> lx_msg_data);
197 
198   x_return_status := lx_return_status;
199   x_msg_count     := lx_msg_count;
200   x_msg_data      := lx_msg_data;
201 
202   EXCEPTION
203     when OKC_API.G_EXCEPTION_ERROR then
204       x_return_status := OKC_API.HANDLE_EXCEPTIONS(
205 						p_api_name  => l_api_name,
206 						p_pkg_name  => g_pkg_name,
207 						p_exc_name  => 'OKC_API.G_RET_STS_ERROR',
208 						x_msg_count => x_msg_count,
209 						x_msg_data  => x_msg_data,
210 						p_api_type  => g_api_type);
211 
212     when OKC_API.G_EXCEPTION_UNEXPECTED_ERROR then
213       x_return_status := OKC_API.HANDLE_EXCEPTIONS(
214 						p_api_name  => l_api_name,
215 						p_pkg_name  => g_pkg_name,
216 						p_exc_name  => 'OKC_API.G_RET_STS_UNEXP_ERROR',
217 						x_msg_count => x_msg_count,
218 						x_msg_data  => x_msg_data,
219 						p_api_type  => g_api_type);
220 
221     when OTHERS then
222       x_return_status := OKC_API.HANDLE_EXCEPTIONS(
223 						p_api_name  => l_api_name,
224 						p_pkg_name  => g_pkg_name,
225 						p_exc_name  => 'OTHERS',
226 						x_msg_count => x_msg_count,
227 						x_msg_data  => x_msg_data,
228 						p_api_type  => g_api_type);
229 END create_order_from_k;
230 
231 
232 
233 END OKS_KTO_INT_PUB;