DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSP_ORDERLINES_PUB

Source


1 PACKAGE BODY CSP_ORDERLINES_PUB AS
2 /* $Header: cspptmlb.pls 115.6 2003/05/02 17:32:28 phegde ship $ */
3 -- Start of Comments
4 -- Package name     : CSP_ORDERLINES_PUB
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 
10 
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSP_ORDERLINES_PUB';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'cspptmlb.pls';
13 
14 -- Start of Comments
15 -- ***************** Private Conversion Routines Values -> Ids **************
16 -- Purpose
17 --
18 -- This procedure takes a public ORDERLINES record as input. It may contain
19 -- values or ids. All values are then converted into ids and a
20 -- private ORDERLINESrecord is returned for the private
21 -- API call.
22 --
23 -- Conversions:
24 --
25 -- Notes
26 --
27 -- 1. IDs take precedence over values. If both are present for a field, ID is used,
28 --    the value based parameter is ignored and a warning message is created.
29 -- 2. This is automatically generated procedure, it converts public record type to
30 --    private record type for all attributes.
31 --    Developer must manually add conversion logic to the attributes.
32 --
33 -- End of Comments
34 PROCEDURE Convert_mol_Values_To_Ids(
35          P_mol_Rec        IN   CSP_orderlines_PUB.mol_Rec_Type,
36          x_pvt_mol_rec    OUT NOCOPY   CSP_orderlines_PVT.mol_Rec_Type
37 )
38 IS
39 -- Hint: Declare cursor and local variables
40 -- Example: CURSOR C_Get_Lookup_Code(X_Lookup_Type VARCHAR2, X_Meaning VARCHAR2) IS
41 --          SELECT lookup_code
42 --          FROM   as_lookups
43 --          WHERE  lookup_type = X_Lookup_Type and nls_upper(meaning) = nls_upper(X_Meaning);
44 l_any_errors       BOOLEAN   := FALSE;
45 BEGIN
46   -- Hint: Add logic to process value-id verification for ORDERLINES record.
47   --       Value based parameters should be converted to their equivalent ids.
48   --       Each value should resolve into one and only one id.
49   --       If this condition is not satisfied, API must report an error and assign l_any_errors to TRUE.
50   -- Example: Process Lead Source/Lead Source Code
51   -- If(p_opp_rec.lead_source_code is NOT NULL and p_opp_rec.lead_source_code <> FND_API.G_MISS_CHAR)
52   -- THEN
53   --     p_pvt_opp_rec.lead_source_code := p_opp_rec.lead_source_code;
54   --     IF(p_opp_rec.lead_source is NOT NULL and p_opp_rec.lead_source <> FND_API.G_MISS_CHAR)
55   --     THEN
56   --         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_SUCCESS)
57   --         THEN
58   --             FND_MESSAGE.Set_Name('AS','API_ATTRIBUTE_IGNORED');
59   --             FND_MESSAGE.Set_Token('COLUMN','LEAD_SOURCE',FALSE);
60   --             FND_MSG_PUB.Add;
61   --         END IF;
62   --     END IF;
63   -- ELSIF(p_opp_rec.lead_source is NOT NULL and p_opp_rec.lead_source <> FND_API.G_MISS_CHAR)
64   -- THEN
65   --     OPEN C_Get_Lookup_Code('LEAD_SOURCE', p_opp_rec.lead_source);
66   --     FETCH C_Get_Lookup_Code INTO l_val;
67   --     CLOSE C_Get_Lookup_Code;
68   --     p_pvt_opp_rec.lead_source_code := l_val;
69   --     IF(l_val IS NULL)
70   --     THEN
71   --         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
72   --         THEN
73   --             FND_MESSAGE.Set_Name('AS','API_ATTRIBUTE_CONVERSION_ERROR'
74   --             FND_MESSAGE.Set_Token('COLUMN','LEAD_SOURCE', FALSE
75   --             FND_MESSAGE.Set_Token('VALUE', p_opp_rec.lead_source, FALSE
76   --             FND_MSG_PUB.Add;
77   --         END IF;
78   --         l_any_errors := TRUE;
79   --     END IF;
80   -- ELSE
81   --     p_pvt_opp_rec.lead_source_code := NULL;
82   -- END IF;
83 
84 
85   -- Now copy the rest of the columns to the private record
86   -- Hint: We provide copy all columns to the private record.
87   --       Developer should delete those fields which are used by Value-Id conversion above
88     -- Hint: Developer should remove some of the following statements because of inconsistent column name between table and view.
89 /*
90     x_pvt_mol_rec.LINE_ID := P_mol_Rec.LINE_ID;
91     x_pvt_mol_rec.CREATED_BY := P_mol_Rec.CREATED_BY;
92     x_pvt_mol_rec.CREATION_DATE := P_mol_Rec.CREATION_DATE;
93     x_pvt_mol_rec.LAST_UPDATED_BY := P_mol_Rec.LAST_UPDATED_BY;
94     x_pvt_mol_rec.LAST_UPDATE_DATE := P_mol_Rec.LAST_UPDATE_DATE;
95     x_pvt_mol_rec.LAST_UPDATED_LOGIN := P_mol_Rec.LAST_UPDATED_LOGIN;
96     x_pvt_mol_rec.HEADER_ID := P_mol_Rec.HEADER_ID;
97     x_pvt_mol_rec.CUSTOMER_PO := P_mol_Rec.CUSTOMER_PO;
98     x_pvt_mol_rec.INCIDENT_ID := P_mol_Rec.INCIDENT_ID;
99     x_pvt_mol_rec.TASK_ID := P_mol_Rec.TASK_ID;
100     x_pvt_mol_rec.TASK_ASSIGNMENT_ID := P_mol_Rec.TASK_ASSIGNMENT_ID;
101     x_pvt_mol_rec.COMMENTS := P_mol_Rec.COMMENTS;
102     x_pvt_mol_rec.ATTRIBUTE_CATEGORY := P_mol_Rec.ATTRIBUTE_CATEGORY;
103     x_pvt_mol_rec.ATTRIBUTE1 := P_mol_Rec.ATTRIBUTE1;
104     x_pvt_mol_rec.ATTRIBUTE2 := P_mol_Rec.ATTRIBUTE2;
105     x_pvt_mol_rec.ATTRIBUTE3 := P_mol_Rec.ATTRIBUTE3;
106     x_pvt_mol_rec.ATTRIBUTE4 := P_mol_Rec.ATTRIBUTE4;
107     x_pvt_mol_rec.ATTRIBUTE5 := P_mol_Rec.ATTRIBUTE5;
108     x_pvt_mol_rec.ATTRIBUTE6 := P_mol_Rec.ATTRIBUTE6;
109     x_pvt_mol_rec.ATTRIBUTE7 := P_mol_Rec.ATTRIBUTE7;
110     x_pvt_mol_rec.ATTRIBUTE8 := P_mol_Rec.ATTRIBUTE8;
111     x_pvt_mol_rec.ATTRIBUTE9 := P_mol_Rec.ATTRIBUTE9;
112     x_pvt_mol_rec.ATTRIBUTE10 := P_mol_Rec.ATTRIBUTE10;
113     x_pvt_mol_rec.ATTRIBUTE11 := P_mol_Rec.ATTRIBUTE11;
114     x_pvt_mol_rec.ATTRIBUTE12 := P_mol_Rec.ATTRIBUTE12;
115     x_pvt_mol_rec.ATTRIBUTE13 := P_mol_Rec.ATTRIBUTE13;
116     x_pvt_mol_rec.ATTRIBUTE14 := P_mol_Rec.ATTRIBUTE14;
117     x_pvt_mol_rec.ATTRIBUTE15 := P_mol_Rec.ATTRIBUTE15;
118 */
119 
120   -- If there is an error in conversion precessing, raise an error.
121     IF l_any_errors
122     THEN
123         raise FND_API.G_EXC_ERROR;
124     END IF;
125 
126 END Convert_mol_Values_To_Ids;
127 PROCEDURE Create_orderlines(
128     P_Api_Version_Number         IN   NUMBER,
129     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
130     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
131     P_mol_Rec     IN    mol_Rec_Type  := G_MISS_mol_REC,
132   --Hint: Add detail tables as parameter lists if it's master-detail relationship.
133     X_LINE_ID     OUT NOCOPY  NUMBER,
134     X_Return_Status              OUT NOCOPY  VARCHAR2,
135     X_Msg_Count                  OUT NOCOPY  NUMBER,
136     X_Msg_Data                   OUT NOCOPY  VARCHAR2
137     )
138 
139  IS
140 l_api_name                CONSTANT VARCHAR2(30) := 'Create_orderlines';
141 l_api_version_number      CONSTANT NUMBER   := 2.0;
142 l_pvt_mol_rec    CSP_ORDERLINES_PVT.mol_Rec_Type;
143  BEGIN
144       -- Standard Start of API savepoint
145       SAVEPOINT CREATE_ORDERLINES_PUB;
146 
147       -- Standard call to check for call compatibility.
148       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
149                          	             p_api_version_number,
150                                            l_api_name,
151                                            G_PKG_NAME)
152       THEN
153           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
154       END IF;
155 
156 
157       -- Initialize message list if p_init_msg_list is set to TRUE.
158       IF FND_API.to_Boolean( p_init_msg_list )
159       THEN
160           FND_MSG_PUB.initialize;
161       END IF;
162 
163 
164       -- Debug Message
165       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Public API: ' || l_api_name || 'start');
166 
167 
168       -- Initialize API return status to SUCCESS
169       x_return_status := FND_API.G_RET_STS_SUCCESS;
170 
171       --
172       -- API body
173       --
174 
175       -- Debug Message
176       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'AS: Public API: Convert_mol_Values_To_Ids');
177 
178       -- Convert the values to ids
179       --
180       Convert_mol_Values_To_Ids (
181             p_mol_rec       =>  p_mol_rec,
182             x_pvt_mol_rec   =>  l_pvt_mol_rec
183       );
184 
185     -- Calling Private package: Create_ORDERLINES
186     -- Hint: Primary key needs to be returned
187       CSP_orderlines_PVT.Create_orderlines(
188       P_Api_Version_Number         => 2.0,
189       P_Init_Msg_List              => FND_API.G_FALSE,
190       P_Commit                     => FND_API.G_FALSE,
191       P_Validation_Level           => FND_API.G_VALID_LEVEL_FULL,
192       P_mol_Rec  =>  l_pvt_mol_Rec ,
193     -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
194       X_LINE_ID     => x_LINE_ID,
195       X_Return_Status              => x_return_status,
196       X_Msg_Count                  => x_msg_count,
197       X_Msg_Data                   => x_msg_data);
198 
199 
200 
201       -- Check return status from the above procedure call
202       IF x_return_status = FND_API.G_RET_STS_ERROR then
203           raise FND_API.G_EXC_ERROR;
204       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
205           raise FND_API.G_EXC_UNEXPECTED_ERROR;
206       END IF;
207 
208       --
209       -- End of API body.
210       --
211 
212       -- Standard check for p_commit
213       IF FND_API.to_Boolean( p_commit )
214       THEN
215           COMMIT WORK;
216       END IF;
217 
218 
219       -- Debug Message
220       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Public API: ' || l_api_name || 'end');
221 
222 
223       -- Standard call to get message count and if count is 1, get message info.
224       FND_MSG_PUB.Count_And_Get
225       (  p_count          =>   x_msg_count,
226          p_data           =>   x_msg_data
227       );
228 
229       EXCEPTION
230           WHEN FND_API.G_EXC_ERROR THEN
231               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
232                    P_API_NAME => L_API_NAME
233                   ,P_PKG_NAME => G_PKG_NAME
234                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
235                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PUB
236                   ,X_MSG_COUNT => X_MSG_COUNT
237                   ,X_MSG_DATA => X_MSG_DATA
238                   ,X_RETURN_STATUS => X_RETURN_STATUS);
239 
240           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
241               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
242                    P_API_NAME => L_API_NAME
243                   ,P_PKG_NAME => G_PKG_NAME
244                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
245                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PUB
246                   ,X_MSG_COUNT => X_MSG_COUNT
247                   ,X_MSG_DATA => X_MSG_DATA
248                   ,X_RETURN_STATUS => X_RETURN_STATUS);
249 
250           WHEN OTHERS THEN
251               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
252                    P_API_NAME => L_API_NAME
253                   ,P_PKG_NAME => G_PKG_NAME
254                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
255                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PUB
256                   ,X_MSG_COUNT => X_MSG_COUNT
257                   ,X_MSG_DATA => X_MSG_DATA
258                   ,X_RETURN_STATUS => X_RETURN_STATUS);
259 End Create_orderlines;
260 
261 
262 -- Hint: Add corresponding update detail table procedures if it's master-detail relationship.
263 PROCEDURE Update_orderlines(
264     P_Api_Version_Number         IN   NUMBER,
265     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
266     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
267     P_Identity_Salesforce_Id     IN   NUMBER       := NULL,
268     P_mol_Rec     IN    mol_Rec_Type,
269     X_Return_Status              OUT NOCOPY  VARCHAR2,
270     X_Msg_Count                  OUT NOCOPY  NUMBER,
271     X_Msg_Data                   OUT NOCOPY  VARCHAR2
272     )
273 
274  IS
275 l_api_name                CONSTANT VARCHAR2(30) := 'Update_orderlines';
276 l_api_version_number      CONSTANT NUMBER   := 2.0;
277 l_pvt_mol_rec  CSP_ORDERLINES_PVT.mol_Rec_Type;
278  BEGIN
279       -- Standard Start of API savepoint
280       SAVEPOINT UPDATE_ORDERLINES_PUB;
281 
282       -- Standard call to check for call compatibility.
283       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
284                          	             p_api_version_number,
285                                            l_api_name,
286                                            G_PKG_NAME)
287       THEN
288           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
289       END IF;
290 
291 
292       -- Initialize message list if p_init_msg_list is set to TRUE.
293       IF FND_API.to_Boolean( p_init_msg_list )
294       THEN
295           FND_MSG_PUB.initialize;
296       END IF;
297 
298 
299       -- Debug Message
300       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Public API: ' || l_api_name || 'start');
301 
302 
303       -- Initialize API return status to SUCCESS
304       x_return_status := FND_API.G_RET_STS_SUCCESS;
305 
306       --
307       -- API body
308       --
309 
310       -- Debug Message
311       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'AS: Public API: Convert_mol_Values_To_Ids');
312 
313       -- Convert the values to ids
314       --
315       Convert_mol_Values_To_Ids (
316             p_mol_rec       =>  p_mol_rec,
317             x_pvt_mol_rec   =>  l_pvt_mol_rec
318       );
319 
320     CSP_orderlines_PVT.Update_orderlines(
321     P_Api_Version_Number         => 2.0,
322     P_Init_Msg_List              => FND_API.G_FALSE,
323     P_Commit                     => p_commit,
324     P_Validation_Level           => FND_API.G_VALID_LEVEL_FULL,
325     P_Identity_Salesforce_Id     => p_identity_salesforce_id,
326     P_mol_Rec  =>  l_pvt_mol_Rec ,
327     X_Return_Status              => x_return_status,
328     X_Msg_Count                  => x_msg_count,
329     X_Msg_Data                   => x_msg_data);
330 
331 
332 
333       -- Check return status from the above procedure call
334       IF x_return_status = FND_API.G_RET_STS_ERROR then
335           raise FND_API.G_EXC_ERROR;
336       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
337           raise FND_API.G_EXC_UNEXPECTED_ERROR;
338       END IF;
339 
340       --
341       -- End of API body
342       --
343 
344       -- Standard check for p_commit
345       IF FND_API.to_Boolean( p_commit )
346       THEN
347           COMMIT WORK;
348       END IF;
349 
350 
351       -- Debug Message
352       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Public API: ' || l_api_name || 'end');
353 
354 
355       -- Standard call to get message count and if count is 1, get message info.
356       FND_MSG_PUB.Count_And_Get
357       (  p_count          =>   x_msg_count,
358          p_data           =>   x_msg_data
359       );
360 
361       EXCEPTION
362           WHEN FND_API.G_EXC_ERROR THEN
363               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
364                    P_API_NAME => L_API_NAME
365                   ,P_PKG_NAME => G_PKG_NAME
366                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
367                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PUB
368                   ,X_MSG_COUNT => X_MSG_COUNT
369                   ,X_MSG_DATA => X_MSG_DATA
370                   ,X_RETURN_STATUS => X_RETURN_STATUS);
371 
372           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
373               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
374                    P_API_NAME => L_API_NAME
375                   ,P_PKG_NAME => G_PKG_NAME
376                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
377                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PUB
378                   ,X_MSG_COUNT => X_MSG_COUNT
379                   ,X_MSG_DATA => X_MSG_DATA
380                   ,X_RETURN_STATUS => X_RETURN_STATUS);
381 
385                   ,P_PKG_NAME => G_PKG_NAME
382           WHEN OTHERS THEN
383               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
384                    P_API_NAME => L_API_NAME
386                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
387                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PUB
388                   ,X_MSG_COUNT => X_MSG_COUNT
389                   ,X_MSG_DATA => X_MSG_DATA
390                   ,X_RETURN_STATUS => X_RETURN_STATUS);
391 End Update_orderlines;
392 
393 
394 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
395 --       The Master delete procedure may not be needed depends on different business requirements.
396 PROCEDURE Delete_orderlines(
397     P_Api_Version_Number         IN   NUMBER,
398     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
399     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
400     P_identity_salesforce_id     IN   NUMBER       := NULL,
401     P_mol_Rec     IN mol_Rec_Type,
402     X_Return_Status              OUT NOCOPY  VARCHAR2,
403     X_Msg_Count                  OUT NOCOPY  NUMBER,
404     X_Msg_Data                   OUT NOCOPY  VARCHAR2
405     )
406 
407  IS
408 l_api_name                CONSTANT VARCHAR2(30) := 'Delete_orderlines';
409 l_api_version_number      CONSTANT NUMBER   := 2.0;
410 l_pvt_mol_rec  CSP_ORDERLINES_PVT.mol_Rec_Type;
411  BEGIN
412       -- Standard Start of API savepoint
413       SAVEPOINT DELETE_ORDERLINES_PUB;
414 
415       -- Standard call to check for call compatibility.
416       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
417                          	             p_api_version_number,
418                                            l_api_name,
419                                            G_PKG_NAME)
420       THEN
421           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
422       END IF;
423 
424 
425       -- Initialize message list if p_init_msg_list is set to TRUE.
426       IF FND_API.to_Boolean( p_init_msg_list )
427       THEN
428           FND_MSG_PUB.initialize;
429       END IF;
430 
431 
432       -- Debug Message
433       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Public API: ' || l_api_name || 'start');
434 
435 
436       -- Initialize API return status to SUCCESS
437       x_return_status := FND_API.G_RET_STS_SUCCESS;
438 
439       --
440       -- API body
441       --
442 
443       -- Debug Message
444       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'AS: Public API: Convert_mol_Values_To_Ids');
445 
446       -- Convert the values to ids
447       --
448       Convert_mol_Values_To_Ids (
449             p_mol_rec       =>  p_mol_rec,
450             x_pvt_mol_rec   =>  l_pvt_mol_rec
451       );
452 
453     CSP_orderlines_PVT.Delete_orderlines(
454     P_Api_Version_Number         => 2.0,
455     P_Init_Msg_List              => FND_API.G_FALSE,
456     P_Commit                     => p_commit,
457     P_Validation_Level           => FND_API.G_VALID_LEVEL_FULL,
458     P_Identity_Salesforce_Id      => p_identity_salesforce_id,
459     P_mol_Rec  => l_pvt_mol_Rec,
460     X_Return_Status              => x_return_status,
461     X_Msg_Count                  => x_msg_count,
462     X_Msg_Data                   => x_msg_data);
463 
464 
465 
466       -- Check return status from the above procedure call
467       IF x_return_status = FND_API.G_RET_STS_ERROR then
468           raise FND_API.G_EXC_ERROR;
469       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
470           raise FND_API.G_EXC_UNEXPECTED_ERROR;
471       END IF;
472 
473       --
474       -- End of API body
475       --
476 
477       -- Standard check for p_commit
478       IF FND_API.to_Boolean( p_commit )
479       THEN
480           COMMIT WORK;
481       END IF;
482 
483 
484       -- Debug Message
485       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Public API: ' || l_api_name || 'end');
486 
487 
488       -- Standard call to get message count and if count is 1, get message info.
489       FND_MSG_PUB.Count_And_Get
490       (  p_count          =>   x_msg_count,
491          p_data           =>   x_msg_data
492       );
493 
494       EXCEPTION
495           WHEN FND_API.G_EXC_ERROR THEN
496               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
497                    P_API_NAME => L_API_NAME
498                   ,P_PKG_NAME => G_PKG_NAME
499                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
500                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PUB
501                   ,X_MSG_COUNT => X_MSG_COUNT
502                   ,X_MSG_DATA => X_MSG_DATA
503                   ,X_RETURN_STATUS => X_RETURN_STATUS);
504 
505           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
506               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
507                    P_API_NAME => L_API_NAME
508                   ,P_PKG_NAME => G_PKG_NAME
509                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
510                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PUB
511                   ,X_MSG_COUNT => X_MSG_COUNT
512                   ,X_MSG_DATA => X_MSG_DATA
513                   ,X_RETURN_STATUS => X_RETURN_STATUS);
517                    P_API_NAME => L_API_NAME
514 
515           WHEN OTHERS THEN
516               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
518                   ,P_PKG_NAME => G_PKG_NAME
519                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
520                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PUB
521                   ,X_MSG_COUNT => X_MSG_COUNT
522                   ,X_MSG_DATA => X_MSG_DATA
523                   ,X_RETURN_STATUS => X_RETURN_STATUS);
524 End Delete_orderlines;
525 
526 
527 PROCEDURE Get_orderlines(
528     P_Api_Version_Number         IN   NUMBER,
529     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
530     P_identity_salesforce_id     IN   NUMBER       := NULL,
531     P_mol_Rec     IN    CSP_orderlines_PUB.mol_Rec_Type,
532   -- Hint: Add list of bind variables here
533     p_rec_requested              IN   NUMBER  := G_DEFAULT_NUM_REC_FETCH,
534     p_start_rec_prt              IN   NUMBER  := 1,
535     p_return_tot_count           IN   NUMBER  := FND_API.G_FALSE,
536   -- Hint: user defined record type
537     p_order_by_rec               IN   CSP_orderlines_PUB.mol_sort_rec_type,
538     x_return_status              OUT NOCOPY  VARCHAR2,
539     x_msg_count                  OUT NOCOPY  NUMBER,
540     x_msg_data                   OUT NOCOPY  VARCHAR2,
541     X_mol_Tbl  OUT NOCOPY  CSP_orderlines_PUB.mol_Tbl_Type,
542     x_returned_rec_count         OUT NOCOPY  NUMBER,
543     x_next_rec_ptr               OUT NOCOPY  NUMBER,
544     x_tot_rec_count              OUT NOCOPY  NUMBER
545   -- other optional parameters
546 --  x_tot_rec_amount             OUT NOCOPY  NUMBER
547     )
548 
549  IS
550 l_api_name                CONSTANT VARCHAR2(30) := 'Get_orderlines';
551 l_api_version_number      CONSTANT NUMBER   := 2.0;
552  BEGIN
553       -- Standard Start of API savepoint
554       SAVEPOINT GET_ORDERLINES_PUB;
555 
556       -- Standard call to check for call compatibility.
557       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
558                          	             p_api_version_number,
559                                            l_api_name,
560                                            G_PKG_NAME)
561       THEN
562           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
563       END IF;
564 
565 
566       -- Initialize message list if p_init_msg_list is set to TRUE.
567       IF FND_API.to_Boolean( p_init_msg_list )
568       THEN
569           FND_MSG_PUB.initialize;
570       END IF;
571 
572 
573       -- Debug Message
574       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Public API: ' || l_api_name || 'start');
575 
576 
577       -- Initialize API return status to SUCCESS
578       x_return_status := FND_API.G_RET_STS_SUCCESS;
579 
580       --
581       -- API body
582       --
583       -- Debug Message
584       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Public API: - Calling PVT.Get_ORDERLINES');
585 /*
586     CSP_orderlines_PVT.Get_orderlines(
587     P_Api_Version_Number         => 2.0,
588     P_Init_Msg_List              => FND_API.G_FALSE,
589     p_validation_level           => FND_API.G_VALID_LEVEL_FULL,
590     P_Identity_Salesforce_id     => p_identity_salesforce_id,
591     P_mol_Rec  =>  P_mol_Rec,
592     p_rec_requested              => p_rec_requested,
593     p_start_rec_prt              => p_start_rec_prt,
594     p_return_tot_count           => p_return_tot_count,
595   -- Hint: user defined record type
596     p_order_by_rec               => p_order_by_rec,
597     X_Return_Status              => x_return_status,
598     X_Msg_Count                  => x_msg_count,
599     X_Msg_Data                   => x_msg_data,
600     X_mol_Tbl  => X_mol_Tbl,
601     x_returned_rec_count         => x_returned_rec_count,
602     x_next_rec_ptr               => x_next_rec_ptr,
603     x_tot_rec_count              => x_tot_rec_count
604     -- other optional parameters
605     -- x_tot_rec_amount             => x_tot_rec_amount
606     );
607 
608 
609 
610       -- Check return status from the above procedure call
611       IF x_return_status = FND_API.G_RET_STS_ERROR then
612           raise FND_API.G_EXC_ERROR;
613       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
614           raise FND_API.G_EXC_UNEXPECTED_ERROR;
615       END IF;
616 */
617       --
618       -- End of API body
619       --
620 
621       -- Debug Message
622       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'CSP', 'Public API: ' || l_api_name || 'end');
623 
624 
625       -- Standard call to get message count and if count is 1, get message info.
626       FND_MSG_PUB.Count_And_Get
627       (  p_count          =>   x_msg_count,
628          p_data           =>   x_msg_data
629       );
630 
631       EXCEPTION
632           WHEN FND_API.G_EXC_ERROR THEN
633               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
634                    P_API_NAME => L_API_NAME
635                   ,P_PKG_NAME => G_PKG_NAME
636                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
637                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PUB
638                   ,X_MSG_COUNT => X_MSG_COUNT
639                   ,X_MSG_DATA => X_MSG_DATA
640                   ,X_RETURN_STATUS => X_RETURN_STATUS);
641 
642           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
646                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
643               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
644                    P_API_NAME => L_API_NAME
645                   ,P_PKG_NAME => G_PKG_NAME
647                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PUB
648                   ,X_MSG_COUNT => X_MSG_COUNT
649                   ,X_MSG_DATA => X_MSG_DATA
650                   ,X_RETURN_STATUS => X_RETURN_STATUS);
651 
652           WHEN OTHERS THEN
653               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
654                    P_API_NAME => L_API_NAME
655                   ,P_PKG_NAME => G_PKG_NAME
656                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
657                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PUB
658                   ,X_MSG_COUNT => X_MSG_COUNT
659                   ,X_MSG_DATA => X_MSG_DATA
660                   ,X_RETURN_STATUS => X_RETURN_STATUS);
661 End Get_orderlines;
662 
663 
664 End CSP_ORDERLINES_PUB;