[Home] [Help]
PACKAGE BODY: APPS.CS_CHARGE_CREATE_ORDER_PUB
Source
1 PACKAGE BODY CS_Charge_Create_Order_PUB as
2 /* $Header: csxpchob.pls 120.2 2005/09/29 07:09:45 pkesani noship $ */
3
4 /*********** Global Variables ********************************/
5 G_PKG_NAME CONSTANT VARCHAR2(30) := 'CS_Charge_Create_Order_PUB' ;
6
7
8 -- *******************************************************
9 -- Start of Comments
10 -- *******************************************************
11 -- API Name: Submit_Order
12 -- Type : Public
13 -- Purpose : This API is for submitting an order and a wrapper on
14 -- CS_Charge_Create_Order_PVT.Submit_Order procedure.
15 -- It is intended for use by all applications; contrast to Private API.
16 -- Pre-Req :
17 -- Parameters:
18 -- IN
19 -- p_api_version IN NUMBER Required
20 -- p_init_msg_list IN VARCHAR2 Optional
21 -- p_commit IN VARCHAR2 Optional
22 -- p_validation_level IN NUMBER Optional
23 -- p_incident_id IN NUMBER Required
24 -- p_party_id IN NUMBER Required
25 -- p_account_id IN NUMBER Optional see bug#2447927, changed p_account_id to optional param.
26 -- p_book_order_flag IN VARCHAR2 Optional
27 -- p_submit_source IN VARCHAR2 Optional
28 -- p_submit_from_system IN VARCHAR2 Optional
29 -- OUT:
30 -- x_return_status OUT NOCOPY VARCHAR2
31 -- x_msg_count OUT NOCOPY NUMBER
32 -- x_msg_data OUT NOCOPY VARCHAR2
33 -- Version : Current version 1.0
34 -- End of Comments
35 --
36 PROCEDURE Submit_Order(
37 p_api_version IN NUMBER,
38 p_init_msg_list IN VARCHAR2,
39 p_commit IN VARCHAR2,
40 p_validation_level IN NUMBER,
41 p_incident_id IN NUMBER,
42 p_party_id IN NUMBER,
43 p_account_id IN NUMBER,
44 p_book_order_flag IN VARCHAR2 := FND_API.G_MISS_CHAR,
45 p_submit_source IN VARCHAR2 := FND_API.G_MISS_CHAR,
46 p_submit_from_system IN VARCHAR2 := FND_API.G_MISS_CHAR,
47 x_return_status OUT NOCOPY VARCHAR2,
48 x_msg_count OUT NOCOPY NUMBER,
49 x_msg_data OUT NOCOPY VARCHAR2
50 )
51 IS
52 l_api_name CONSTANT VARCHAR2(30) := 'Submit_Order' ;
53 l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME || '.' || l_api_name ;
54 l_log_module CONSTANT VARCHAR2(255) := 'cs.plsql.' || l_api_name_full || '.';
55 l_api_version CONSTANT NUMBER := 1.0 ;
56
57 l_return_status VARCHAR2(1) ;
58 l_msg_count NUMBER;
59 l_msg_data VARCHAR2(2000);
60
61
62 BEGIN
63 -- Standard Start of API Savepoint
64 SAVEPOINT CS_Charge_Create_Order_PUB;
65
66 -- Standard Call to check API compatibility
67 IF NOT FND_API.Compatible_API_Call( l_api_version,
68 p_api_version,
69 l_api_name,
70 G_PKG_NAME) THEN
71 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
72 END IF;
73
74 -- Initialize message list if p_init_msg_list is set to TRUE.
75 IF FND_API.to_Boolean( p_init_msg_list ) THEN
76 FND_MSG_PUB.initialize;
77 END IF;
78
79 -- Initialize API return status to success
80 x_return_status := FND_API.G_RET_STS_SUCCESS;
81
82 ----------------------- FND Logging -----------------------------------
83 IF FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level
84 THEN
85 FND_LOG.String
86 ( FND_LOG.level_procedure , L_LOG_MODULE || 'start'
87 , 'Inside ' || L_API_NAME_FULL || ', called with parameters below:'
88 );
89 FND_LOG.String
90 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
91 , 'Start time:' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS')
92 );
93 FND_LOG.String
94 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
95 , 'p_api_version:' || p_api_version
96 );
97 FND_LOG.String
98 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
99 , 'p_init_msg_list:' || p_init_msg_list
100 );
101 FND_LOG.String
102 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
103 , 'p_commit:' || p_commit
104 );
105 FND_LOG.String
106 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
107 , 'p_validation_level:' || p_validation_level
108 );
109 FND_LOG.String
110 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
111 , 'p_incident_id:' || p_incident_id
112 );
113 FND_LOG.String
114 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
115 , 'p_party_id:' || p_party_id
116 );
117 FND_LOG.String
118 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
119 , 'p_account_id:' || p_account_id
120 );
121 FND_LOG.String
122 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
123 , 'p_book_order_flag:' || p_book_order_flag
124 );
125 FND_LOG.String
126 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
127 , 'p_submit_source:' || p_submit_source
128 );
129 FND_LOG.String
130 ( FND_LOG.level_procedure , L_LOG_MODULE || ''
131 , 'p_submit_from_system:' || p_submit_from_system
132 );
133
134 END IF;
135
136 --
137 -- API body
138 --
139 -- Local Procedure
140
141
142 IF FND_LOG.level_statement >= FND_LOG.g_current_runtime_level
143 THEN
144 FND_LOG.String
145 ( FND_LOG.level_statement, L_LOG_MODULE || 'Before call to :'
146 , 'CS_Charge_Create_Order_PVT.Submit_Order'
147 );
148 END IF;
149 -- dbms_output.put_line('Calling Charges Pvt');
150
151 CS_Charge_Create_Order_PVT.Submit_Order(
152 p_api_version => p_api_version,
153 p_init_msg_list => p_init_msg_list,
154 p_commit => p_commit,
155 p_validation_level => p_validation_level,
156 p_incident_id => p_incident_id,
157 p_party_id => p_party_id,
158 p_account_id => p_account_id,
159 p_book_order_flag => p_book_order_flag,
160 p_submit_source => p_submit_source,
161 p_submit_from_system => p_submit_from_system,
162 x_return_status => l_return_status,
163 x_msg_count => l_msg_count,
164 x_msg_data => l_msg_data
165 );
166
167 -- dbms_output.put_line('Completed Calling Charges Pvt');
168
169 IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
170 IF FND_LOG.level_statement >= FND_LOG.g_current_runtime_level
171 THEN
172 FND_LOG.String
173 ( FND_LOG.level_statement, L_LOG_MODULE || 'STS error:'
174 , 'Calling CS_Charge_Create_Order_PVT.Submit_Order failed'
175 );
176 END IF;
177 --FND_MESSAGE.Set_Name('CS','CS_CHG_PROCEDURE_FAILED');
178 --FND_MESSAGE.Set_Token('PROCEDURE','CS_Charge_Create_Order_PVT.Submit_Order');
179 --FND_MSG_PUB.Add;
180 x_msg_count := l_msg_count;
181 x_msg_data := l_msg_data;
182 RAISE FND_API.G_EXC_ERROR;
183 ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
184 IF FND_LOG.level_statement >= FND_LOG.g_current_runtime_level
185 THEN
186 FND_LOG.String
187 ( FND_LOG.level_statement, L_LOG_MODULE || 'Unexpected error:'
188 , 'Calling CS_Charge_Create_Order_PVT.Submit_Order failed'
189 );
190 END IF;
191 --FND_MESSAGE.Set_Name('CS','CS_CHG_PROCEDURE_FAILED');
192 --FND_MESSAGE.Set_Token('PROCEDURE','CS_Charge_Create_Order_PVT.Submit_Order');
193 --FND_MSG_PUB.Add;
194 x_msg_count := l_msg_count;
195 x_msg_data := l_msg_data;
196 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
197 END IF;
198
199 IF FND_LOG.level_statement >= FND_LOG.g_current_runtime_level
200 THEN
201 FND_LOG.String
202 ( FND_LOG.level_statement, L_LOG_MODULE || 'After call:'
203 , 'CS_Charge_Create_Order_PVT.Submit_Order'
204 );
205 END IF;
206
207 --
208 -- End of API body
209 --
210
211 -- Standard check of p_commit.
212 IF FND_API.To_Boolean( p_commit ) THEN
213 COMMIT WORK;
214 END IF;
215
216 IF FND_LOG.level_statement >= FND_LOG.g_current_runtime_level
217 THEN
218 FND_LOG.String
219 ( FND_LOG.level_statement, L_LOG_MODULE || 'End time:'
220 , TO_CHAR(SYSDATE, 'HH24:MI:SSSSS')
221 );
222 END IF;
223
224 -- Standard call to get message count and if count is 1, get message info.
225 FND_MSG_PUB.Count_And_Get
226 ( p_count => x_msg_count,
227 p_data => x_msg_data
228 );
229
230 EXCEPTION
231 WHEN FND_API.G_EXC_ERROR THEN
232 ROLLBACK TO CS_Charge_Create_Order_PUB;
233 x_return_status := FND_API.G_RET_STS_ERROR;
234 FND_MSG_PUB.Count_And_Get
235 ( p_count => x_msg_count,
236 p_data => x_msg_data
237 );
238 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
239 ROLLBACK TO CS_Charge_Create_Order_PUB;
240 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
241 FND_MSG_PUB.Count_And_Get
242 ( p_count => x_msg_count,
243 p_data => x_msg_data
244 );
245 WHEN OTHERS THEN
246 ROLLBACK TO CS_Charge_Create_Order_PUB;
247 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
248 IF FND_MSG_PUB.Check_Msg_Level
249 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
250 THEN
251 FND_MSG_PUB.Add_Exc_Msg
252 ( G_PKG_NAME,
253 l_api_name
254 );
255 END IF;
256 FND_MSG_PUB.Count_And_Get
257 ( p_count => x_msg_count,
258 p_data => x_msg_data
259 );
260 END Submit_Order;
261
262 End CS_Charge_Create_Order_PUB;