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