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