DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSC_CUST_PLANS_PUB

Source


1 PACKAGE BODY CSC_CUST_PLANS_PUB as
2 /* $Header: cscpctpb.pls 115.13 2002/11/27 09:05:30 bhroy ship $ */
3 -- Start of Comments
4 -- Package name     : CSC_CUST_PLANS_PUB
5 -- Purpose          : Public package contains procedure to insert, update and
6 --                    delete records from CSC_CUST_PLANS table. This package
7 --                    calls the private API with validation level 100 (FULL).
8 -- History          :
9 -- MM-DD-YYYY    NAME          MODIFICATIONS
10 -- 10-28-1999    dejoseph      Created.
11 -- 12-08-1999    dejoseph      'Arcs'ed in for first code freeze.
12 -- 12-21-1999    dejoseph      'Arcs'ed in for second code freeze.
13 -- 01-03-2000    dejoseph      'Arcs'ed in for third code freeze. (10-JAN-2000)
14 -- 01-31-2000    dejoseph      'Arcs'ed in for fourth code freeze. (07-FEB-2000)
15 -- 02-13-2000    dejoseph      'Arcs'ed on for fifth code freeze. (21-FEB-2000)
16 -- 02-28-2000    dejoseph      'Arcs'ed on for sixth code freeze. (06-MAR-2000)
17 -- 04-10-2000    dejoseph      Removed reference to cust_account_org in lieu of TCA's
18 --                             decision to drop column org_id from hz_cust_accounts.
19 
20 -- 26-11-2002	bhroy		G_MISS_XXX defaults of API parameters removed, added WHENEVER OSERROR EXIT FAILURE ROLLBACK
21 
22 -- NOTE             :
23 -- End of Comments
24 
25 
26 G_PKG_NAME    CONSTANT VARCHAR2(30) := 'CSC_CUST_PLANS_PUB';
27 G_FILE_NAME   CONSTANT VARCHAR2(12) := 'cscpctpb.pls';
28 
29 -- Start of Comments
30 -- ***************** Private Conversion Routines Values -> Ids **************
31 -- Purpose
32 --
33 -- This procedure takes a public CUST_PLANS record as input. It may contain
34 -- values or ids. All values are then converted into ids and a
35 -- private CUST_PLANSrecord is returned for the private
36 -- API call.
37 --
38 -- Conversions:
39 --
40 -- Notes
41 --
42 -- 1. IDs take precedence over values. If both are present for a field, ID is used,
43 --    the value based parameter is ignored and a warning message is created.
44 -- 2. This is automatically generated procedure, it converts public record type to
45 --    private record type for all attributes.
46 --    Developer must manually add conversion logic to the attributes.
47 --
48 -- End of Comments
49 
50 PROCEDURE CONVERT_CSC_CUST_PLANS(
51          P_CSC_CUST_PLANS_Rec        IN   CSC_cust_plans_PUB.CSC_CUST_PLANS_Rec_Type,
52          x_pvt_CSC_CUST_PLANS_rec    OUT   NOCOPY CSC_cust_plans_PVT.CSC_CUST_PLANS_Rec_Type
53 )
54 IS
55 -- Hint: Declare cursor and local variables
56 -- Example: CURSOR C_Get_Lookup_Code(X_Lookup_Type VARCHAR2, X_Meaning VARCHAR2) IS
57 --          SELECT lookup_code
58 --          FROM   as_lookups
59 --          WHERE  lookup_type = X_Lookup_Type and nls_upper(meaning) = nls_upper(X_Meaning);
60 l_any_errors       BOOLEAN   := FALSE;
61 BEGIN
62     x_pvt_CSC_CUST_PLANS_rec.CUST_PLAN_ID := P_CSC_CUST_PLANS_Rec.CUST_PLAN_ID;
63     x_pvt_CSC_CUST_PLANS_rec.PLAN_ID := P_CSC_CUST_PLANS_Rec.PLAN_ID;
64     x_pvt_CSC_CUST_PLANS_rec.PARTY_ID := P_CSC_CUST_PLANS_Rec.PARTY_ID;
65     x_pvt_CSC_CUST_PLANS_rec.CUST_ACCOUNT_ID := P_CSC_CUST_PLANS_Rec.CUST_ACCOUNT_ID;
66     --x_pvt_CSC_CUST_PLANS_rec.CUST_ACCOUNT_ORG := P_CSC_CUST_PLANS_Rec.CUST_ACCOUNT_ORG;
67     x_pvt_CSC_CUST_PLANS_rec.START_DATE_ACTIVE := P_CSC_CUST_PLANS_Rec.START_DATE_ACTIVE;
68     x_pvt_CSC_CUST_PLANS_rec.END_DATE_ACTIVE := P_CSC_CUST_PLANS_Rec.END_DATE_ACTIVE;
69     x_pvt_CSC_CUST_PLANS_rec.MANUAL_FLAG := P_CSC_CUST_PLANS_Rec.MANUAL_FLAG;
70     x_pvt_CSC_CUST_PLANS_rec.PLAN_STATUS_CODE := P_CSC_CUST_PLANS_Rec.PLAN_STATUS_CODE;
71     x_pvt_CSC_CUST_PLANS_rec.REQUEST_ID := P_CSC_CUST_PLANS_Rec.REQUEST_ID;
72     x_pvt_CSC_CUST_PLANS_rec.PROGRAM_APPLICATION_ID := P_CSC_CUST_PLANS_Rec.PROGRAM_APPLICATION_ID;
73     x_pvt_CSC_CUST_PLANS_rec.PROGRAM_ID := P_CSC_CUST_PLANS_Rec.PROGRAM_ID;
74     x_pvt_CSC_CUST_PLANS_rec.PROGRAM_UPDATE_DATE := P_CSC_CUST_PLANS_Rec.PROGRAM_UPDATE_DATE;
75     x_pvt_CSC_CUST_PLANS_rec.LAST_UPDATE_DATE := P_CSC_CUST_PLANS_Rec.LAST_UPDATE_DATE;
76     x_pvt_CSC_CUST_PLANS_rec.CREATION_DATE := P_CSC_CUST_PLANS_Rec.CREATION_DATE;
77     x_pvt_CSC_CUST_PLANS_rec.LAST_UPDATED_BY := P_CSC_CUST_PLANS_Rec.LAST_UPDATED_BY;
78     x_pvt_CSC_CUST_PLANS_rec.CREATED_BY := P_CSC_CUST_PLANS_Rec.CREATED_BY;
79     x_pvt_CSC_CUST_PLANS_rec.LAST_UPDATE_LOGIN := P_CSC_CUST_PLANS_Rec.LAST_UPDATE_LOGIN;
80     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE1 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE1;
81     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE2 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE2;
82     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE3 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE3;
83     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE4 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE4;
84     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE5 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE5;
85     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE6 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE6;
86     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE7 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE7;
87     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE8 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE8;
88     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE9 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE9;
89     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE10 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE10;
90     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE11 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE11;
91     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE12 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE12;
92     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE13 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE13;
93     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE14 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE14;
94     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE15 := P_CSC_CUST_PLANS_Rec.ATTRIBUTE15;
95     x_pvt_CSC_CUST_PLANS_rec.ATTRIBUTE_CATEGORY := P_CSC_CUST_PLANS_Rec.ATTRIBUTE_CATEGORY;
96     x_pvt_CSC_CUST_PLANS_rec.OBJECT_VERSION_NUMBER := P_CSC_CUST_PLANS_Rec.OBJECT_VERSION_NUMBER;
97 
98   -- If there is an error in conversion precessing, raise an error.
99     IF l_any_errors
100     THEN
101         raise FND_API.G_EXC_ERROR;
102     END IF;
103 
104 END CONVERT_CSC_CUST_PLANS;
105 
106 PROCEDURE CONVERT_COLUMNS_TO_REC_TYPE(
107        P_ROW_ID                   IN     ROWID,
108        P_PLAN_ID                  IN     NUMBER,
109        P_CUST_PLAN_ID             IN     NUMBER,
110        P_PARTY_ID                 IN     NUMBER,
111        P_CUST_ACCOUNT_ID          IN     NUMBER,
112        P_PLAN_NAME                IN     VARCHAR2,
113        P_GROUP_NAME               IN     VARCHAR2,
114        P_PARTY_NUMBER             IN     VARCHAR2,
115        P_PARTY_NAME               IN     VARCHAR2,
116        P_PARTY_TYPE               IN     VARCHAR2,
117        P_ACCOUNT_NUMBER           IN     VARCHAR2,
118        P_ACCOUNT_NAME             IN     VARCHAR2,
119        P_START_DATE_ACTIVE        IN     DATE,
120        P_END_DATE_ACTIVE          IN     DATE,
121        P_CUSTOMIZED_PLAN          IN     VARCHAR2,
122        P_USE_FOR_CUST_ACCOUNT     IN     VARCHAR2,
123        P_PLAN_STATUS_CODE         IN     VARCHAR2,
124        P_PLAN_STATUS_MEANING      IN     VARCHAR2,
125        P_MANUAL_FLAG              IN     VARCHAR2,
126        P_REQUEST_ID               IN     NUMBER,
127        P_PROGRAM_APPLICATION_ID   IN     NUMBER,
128        P_PROGRAM_ID               IN     NUMBER,
129        P_PROGRAM_UPDATE_DATE      IN     DATE,
130        P_CREATION_DATE            IN     DATE,
131        P_LAST_UPDATE_DATE         IN     DATE,
132        P_CREATED_BY               IN     NUMBER,
133        P_LAST_UPDATED_BY          IN     NUMBER,
134        P_USER_NAME                IN     VARCHAR2,
135        P_LAST_UPDATE_LOGIN        IN     NUMBER,
136        P_ATTRIBUTE1               IN     VARCHAR2,
137        P_ATTRIBUTE2               IN     VARCHAR2,
138        P_ATTRIBUTE3               IN     VARCHAR2,
139        P_ATTRIBUTE4               IN     VARCHAR2,
140        P_ATTRIBUTE5               IN     VARCHAR2,
141        P_ATTRIBUTE6               IN     VARCHAR2,
142        P_ATTRIBUTE7               IN     VARCHAR2,
143        P_ATTRIBUTE8               IN     VARCHAR2,
144        P_ATTRIBUTE9               IN     VARCHAR2,
145        P_ATTRIBUTE10              IN     VARCHAR2,
146        P_ATTRIBUTE11              IN     VARCHAR2,
147        P_ATTRIBUTE12              IN     VARCHAR2,
148        P_ATTRIBUTE13              IN     VARCHAR2,
149        P_ATTRIBUTE14              IN     VARCHAR2,
150        P_ATTRIBUTE15              IN     VARCHAR2,
151        P_ATTRIBUTE_CATEGORY       IN     VARCHAR2,
152        P_OBJECT_VERSION_NUMBER    IN     NUMBER,
153        X_CSC_CUST_PLANS_REC_TYPE  OUT    NOCOPY CSC_CUST_PLANS_REC_TYPE )
154 IS
155 BEGIN
156        x_csc_cust_plans_rec_type.ROW_ID := P_ROW_ID ;
157        x_csc_cust_plans_rec_type.PLAN_ID := P_PLAN_ID ;
158        x_csc_cust_plans_rec_type.CUST_PLAN_ID := P_CUST_PLAN_ID ;
159        x_csc_cust_plans_rec_type.PARTY_ID := P_PARTY_ID ;
160        x_csc_cust_plans_rec_type.CUST_ACCOUNT_ID := P_CUST_ACCOUNT_ID ;
161        --x_csc_cust_plans_rec_type.CUST_ACCOUNT_ORG  := P_CUST_ACCOUNT_ORG  ;
162        x_csc_cust_plans_rec_type.PLAN_NAME := P_PLAN_NAME ;
163        x_csc_cust_plans_rec_type.GROUP_NAME := P_GROUP_NAME ;
164        x_csc_cust_plans_rec_type.PARTY_NUMBER := P_PARTY_NUMBER ;
165        x_csc_cust_plans_rec_type.PARTY_NAME := P_PARTY_NAME ;
166        x_csc_cust_plans_rec_type.PARTY_TYPE := P_PARTY_TYPE ;
167        x_csc_cust_plans_rec_type.ACCOUNT_NUMBER := P_ACCOUNT_NUMBER ;
168        x_csc_cust_plans_rec_type.ACCOUNT_NAME := P_ACCOUNT_NAME ;
169        --x_csc_cust_plans_rec_type.PRIORITY := P_PRIORITY ;
170        x_csc_cust_plans_rec_type.START_DATE_ACTIVE := P_START_DATE_ACTIVE ;
171        x_csc_cust_plans_rec_type.END_DATE_ACTIVE := P_END_DATE_ACTIVE ;
172        x_csc_cust_plans_rec_type.CUSTOMIZED_PLAN := P_CUSTOMIZED_PLAN ;
173        x_csc_cust_plans_rec_type.USE_FOR_CUST_ACCOUNT := P_USE_FOR_CUST_ACCOUNT ;
174        x_csc_cust_plans_rec_type.PLAN_STATUS_CODE := P_PLAN_STATUS_CODE ;
175        x_csc_cust_plans_rec_type.PLAN_STATUS_MEANING := P_PLAN_STATUS_MEANING ;
176        x_csc_cust_plans_rec_type.MANUAL_FLAG := P_MANUAL_FLAG ;
177        x_csc_cust_plans_rec_type.REQUEST_ID := P_REQUEST_ID ;
178        x_csc_cust_plans_rec_type.PROGRAM_APPLICATION_ID := P_PROGRAM_APPLICATION_ID ;
179        x_csc_cust_plans_rec_type.PROGRAM_ID := P_PROGRAM_ID ;
180        x_csc_cust_plans_rec_type.PROGRAM_UPDATE_DATE := P_PROGRAM_UPDATE_DATE ;
181        x_csc_cust_plans_rec_type.CREATION_DATE := P_CREATION_DATE ;
182        x_csc_cust_plans_rec_type.LAST_UPDATE_DATE := P_LAST_UPDATE_DATE ;
183        x_csc_cust_plans_rec_type.CREATED_BY := P_CREATED_BY ;
184        x_csc_cust_plans_rec_type.LAST_UPDATED_BY := P_LAST_UPDATED_BY ;
185        x_csc_cust_plans_rec_type.USER_NAME := P_USER_NAME ;
186        x_csc_cust_plans_rec_type.LAST_UPDATE_LOGIN := P_LAST_UPDATE_LOGIN ;
187        x_csc_cust_plans_rec_type.ATTRIBUTE1 := P_ATTRIBUTE1 ;
188        x_csc_cust_plans_rec_type.ATTRIBUTE2 := P_ATTRIBUTE2 ;
189        x_csc_cust_plans_rec_type.ATTRIBUTE3 := P_ATTRIBUTE3 ;
190        x_csc_cust_plans_rec_type.ATTRIBUTE4 := P_ATTRIBUTE4 ;
191        x_csc_cust_plans_rec_type.ATTRIBUTE5 := P_ATTRIBUTE5 ;
192        x_csc_cust_plans_rec_type.ATTRIBUTE6 := P_ATTRIBUTE6 ;
193        x_csc_cust_plans_rec_type.ATTRIBUTE7 := P_ATTRIBUTE7 ;
194        x_csc_cust_plans_rec_type.ATTRIBUTE8 := P_ATTRIBUTE8 ;
195        x_csc_cust_plans_rec_type.ATTRIBUTE9 := P_ATTRIBUTE9 ;
196        x_csc_cust_plans_rec_type.ATTRIBUTE10 := P_ATTRIBUTE10 ;
197        x_csc_cust_plans_rec_type.ATTRIBUTE11 := P_ATTRIBUTE11 ;
198        x_csc_cust_plans_rec_type.ATTRIBUTE12 := P_ATTRIBUTE12 ;
199        x_csc_cust_plans_rec_type.ATTRIBUTE13 := P_ATTRIBUTE13 ;
200        x_csc_cust_plans_rec_type.ATTRIBUTE14 := P_ATTRIBUTE14 ;
201        x_csc_cust_plans_rec_type.ATTRIBUTE15 := P_ATTRIBUTE15 ;
202        x_csc_cust_plans_rec_type.ATTRIBUTE_CATEGORY := P_ATTRIBUTE_CATEGORY ;
203        x_csc_cust_plans_rec_type.OBJECT_VERSION_NUMBER := P_OBJECT_VERSION_NUMBER ;
204 
205 END  CONVERT_COLUMNS_TO_REC_TYPE;
206 
207 /*** Overloaded proc. that accepts a detailed parameter list, converts the list
208      into a record type parameter and calls the create procedure that accepts
209      a record type IN parameter  ***/
210 
211 PROCEDURE Create_cust_plans(
212     P_Api_Version_Number         IN   NUMBER,
213     P_Init_Msg_List              IN   VARCHAR2,
214     P_Commit                     IN   VARCHAR2,
215     P_ROW_ID                     IN   ROWID,
216     P_PLAN_ID                    IN   NUMBER,
217     P_CUST_PLAN_ID               IN   NUMBER,
218     P_PARTY_ID                   IN   NUMBER,
219     P_CUST_ACCOUNT_ID            IN   NUMBER,
220     P_PLAN_NAME                  IN   VARCHAR2,
221     P_GROUP_NAME                 IN   VARCHAR2,
222     P_PARTY_NUMBER               IN   VARCHAR2,
223     P_PARTY_NAME                 IN   VARCHAR2,
224     P_PARTY_TYPE                 IN   VARCHAR2,
225     P_ACCOUNT_NUMBER             IN   VARCHAR2,
226     P_ACCOUNT_NAME               IN   VARCHAR2,
227     --P_PRIORITY                   IN   NUMBER,
228     P_START_DATE_ACTIVE          IN   DATE,
229     P_END_DATE_ACTIVE            IN   DATE,
230     P_CUSTOMIZED_PLAN            IN   VARCHAR2,
231     P_USE_FOR_CUST_ACCOUNT       IN   VARCHAR2,
232     P_PLAN_STATUS_CODE           IN   VARCHAR2,
233     P_PLAN_STATUS_MEANING        IN   VARCHAR2,
234     P_MANUAL_FLAG                IN   VARCHAR2,
235     P_REQUEST_ID                 IN   NUMBER,
236     P_PROGRAM_APPLICATION_ID     IN   NUMBER,
237     P_PROGRAM_ID                 IN   NUMBER,
238     P_PROGRAM_UPDATE_DATE        IN   DATE,
239     P_CREATION_DATE              IN   DATE,
240     P_LAST_UPDATE_DATE           IN   DATE,
241     P_CREATED_BY                 IN   NUMBER,
242     P_LAST_UPDATED_BY            IN   NUMBER,
243     P_USER_NAME                  IN   VARCHAR2,
244     P_LAST_UPDATE_LOGIN          IN   NUMBER,
245     P_ATTRIBUTE1                 IN   VARCHAR2,
246     P_ATTRIBUTE2                 IN   VARCHAR2,
247     P_ATTRIBUTE3                 IN   VARCHAR2,
248     P_ATTRIBUTE4                 IN   VARCHAR2,
249     P_ATTRIBUTE5                 IN   VARCHAR2,
250     P_ATTRIBUTE6                 IN   VARCHAR2,
251     P_ATTRIBUTE7                 IN   VARCHAR2,
252     P_ATTRIBUTE8                 IN   VARCHAR2,
253     P_ATTRIBUTE9                 IN   VARCHAR2,
254     P_ATTRIBUTE10                IN   VARCHAR2,
255     P_ATTRIBUTE11                IN   VARCHAR2,
256     P_ATTRIBUTE12                IN   VARCHAR2,
257     P_ATTRIBUTE13                IN   VARCHAR2,
258     P_ATTRIBUTE14                IN   VARCHAR2,
259     P_ATTRIBUTE15                IN   VARCHAR2,
260     P_ATTRIBUTE_CATEGORY         IN   VARCHAR2,
261     P_OBJECT_VERSION_NUMBER      IN   NUMBER,
262     X_CUST_PLAN_ID               OUT  NOCOPY NUMBER,
263     X_OBJECT_VERSION_NUMBER      OUT  NOCOPY NUMBER,
264     X_Return_Status              OUT  NOCOPY VARCHAR2,
265     X_Msg_Count                  OUT  NOCOPY NUMBER,
266     X_Msg_Data                   OUT  NOCOPY VARCHAR2
267 )
268 IS
269     l_csc_cust_plans_rec     CSC_CUST_PLANS_REC_TYPE;
270 BEGIN
271 
272    CONVERT_COLUMNS_TO_REC_TYPE(
273        P_ROW_ID                    => P_ROW_ID ,
274        P_PLAN_ID                   => P_PLAN_ID ,
275        P_CUST_PLAN_ID              => P_CUST_PLAN_ID ,
276        P_PARTY_ID                  => P_PARTY_ID ,
277        P_CUST_ACCOUNT_ID           => P_CUST_ACCOUNT_ID ,
278        --P_CUST_ACCOUNT_ORG          => P_CUST_ACCOUNT_ORG ,
279        P_PLAN_NAME                 => P_PLAN_NAME ,
280        P_GROUP_NAME                => P_GROUP_NAME ,
281        P_PARTY_NUMBER              => P_PARTY_NUMBER ,
282        P_PARTY_NAME                => P_PARTY_NAME ,
283        P_PARTY_TYPE                => P_PARTY_TYPE ,
284        P_ACCOUNT_NUMBER            => P_ACCOUNT_NUMBER ,
285        P_ACCOUNT_NAME              => P_ACCOUNT_NAME ,
286        --P_PRIORITY                  => P_PRIORITY ,
287        P_START_DATE_ACTIVE         => P_START_DATE_ACTIVE ,
288        P_END_DATE_ACTIVE           => P_END_DATE_ACTIVE ,
289        P_CUSTOMIZED_PLAN           => P_CUSTOMIZED_PLAN ,
290        P_USE_FOR_CUST_ACCOUNT      => P_USE_FOR_CUST_ACCOUNT ,
291        P_PLAN_STATUS_CODE          => P_PLAN_STATUS_CODE ,
292        P_PLAN_STATUS_MEANING       => P_PLAN_STATUS_MEANING ,
293        P_MANUAL_FLAG               => P_MANUAL_FLAG ,
294        P_REQUEST_ID                => P_REQUEST_ID ,
295        P_PROGRAM_APPLICATION_ID    => P_PROGRAM_APPLICATION_ID ,
296        P_PROGRAM_ID                => P_PROGRAM_ID ,
297        P_PROGRAM_UPDATE_DATE       => P_PROGRAM_UPDATE_DATE ,
298        P_CREATION_DATE             => P_CREATION_DATE ,
299        P_LAST_UPDATE_DATE          => P_LAST_UPDATE_DATE ,
300        P_CREATED_BY                => P_CREATED_BY ,
301        P_LAST_UPDATED_BY           => P_LAST_UPDATED_BY ,
302        P_USER_NAME                 => P_USER_NAME ,
303        P_LAST_UPDATE_LOGIN         => P_LAST_UPDATE_LOGIN ,
304        P_ATTRIBUTE1                => P_ATTRIBUTE1 ,
305        P_ATTRIBUTE2                => P_ATTRIBUTE2 ,
306        P_ATTRIBUTE3                => P_ATTRIBUTE3 ,
307        P_ATTRIBUTE4                => P_ATTRIBUTE4 ,
308        P_ATTRIBUTE5                => P_ATTRIBUTE5 ,
309        P_ATTRIBUTE6                => P_ATTRIBUTE6 ,
310        P_ATTRIBUTE7                => P_ATTRIBUTE7 ,
311        P_ATTRIBUTE8                => P_ATTRIBUTE8 ,
312        P_ATTRIBUTE9                => P_ATTRIBUTE9 ,
313        P_ATTRIBUTE10               => P_ATTRIBUTE10 ,
314        P_ATTRIBUTE11               => P_ATTRIBUTE11 ,
315        P_ATTRIBUTE12               => P_ATTRIBUTE12 ,
316        P_ATTRIBUTE13               => P_ATTRIBUTE13 ,
317        P_ATTRIBUTE14               => P_ATTRIBUTE14 ,
318        P_ATTRIBUTE15               => P_ATTRIBUTE15 ,
319        P_ATTRIBUTE_CATEGORY        => P_ATTRIBUTE_CATEGORY ,
320        P_OBJECT_VERSION_NUMBER     => P_OBJECT_VERSION_NUMBER ,
321        X_CSC_CUST_PLANS_REC_TYPE   => l_csc_cust_plans_rec );
322 
323 -- issue a call to the create_cust_plans proc. with the record type parameter
324    Create_cust_plans(
325        P_Api_Version_Number         => p_api_version_number,
326        P_Init_Msg_List              => p_init_msg_list,
327        P_Commit                     => p_commit,
328        P_CSC_CUST_PLANS_Rec         => l_csc_cust_plans_rec,
329        X_CUST_PLAN_ID               => x_cust_plan_id,
330        X_OBJECT_VERSION_NUMBER      => x_object_version_number,
331        X_Return_Status              => x_return_status,
332        X_Msg_Count                  => x_msg_count,
333        X_Msg_Data                   => x_msg_data );
334 
335 END   CREATE_CUST_PLANS;
336 
337 
338 
339 PROCEDURE Create_cust_plans(
340     P_Api_Version_Number         IN   NUMBER,
341     P_Init_Msg_List              IN   VARCHAR2,
342     P_Commit                     IN   VARCHAR2,
343     P_CSC_CUST_PLANS_Rec         IN   CSC_CUST_PLANS_Rec_Type,
344     X_CUST_PLAN_ID               OUT  NOCOPY NUMBER,
345     X_OBJECT_VERSION_NUMBER      OUT  NOCOPY NUMBER,
346     X_Return_Status              OUT  NOCOPY VARCHAR2,
347     X_Msg_Count                  OUT  NOCOPY NUMBER,
348     X_Msg_Data                   OUT  NOCOPY VARCHAR2
349     )
350 IS
351    l_api_name                  CONSTANT VARCHAR2(30) := 'Create_cust_plans';
352    l_api_version_number        CONSTANT NUMBER       := 1.0;
353    l_pvt_CSC_CUST_PLANS_rec    CSC_CUST_PLANS_PVT.CSC_CUST_PLANS_Rec_Type;
354 BEGIN
355       -- Standard Start of API savepoint
356       SAVEPOINT CREATE_CUST_PLANS_PUB;
357 
358       -- Standard call to check for call compatibility.
359       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
360                                            p_api_version_number,
361                                            l_api_name,
362                                            G_PKG_NAME)
363       THEN
364           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
365       END IF;
366 
367       -- Initialize message list if p_init_msg_list is set to TRUE.
368       IF FND_API.to_Boolean( p_init_msg_list )
369       THEN
370           FND_MSG_PUB.initialize;
371       END IF;
372 
373       -- Initialize API return status to SUCCESS
374       x_return_status := FND_API.G_RET_STS_SUCCESS;
375 
376       -- Convert the values to ids
377       --
378       CONVERT_CSC_CUST_PLANS (
379             p_CSC_CUST_PLANS_rec       =>  p_CSC_CUST_PLANS_rec,
380             x_pvt_CSC_CUST_PLANS_rec   =>  l_pvt_CSC_CUST_PLANS_rec );
381 
382     -- Calling Private package: Create_CUST_PLANS
383     -- Hint: Primary key needs to be returned
384 
385       CSC_cust_plans_PVT.Create_cust_plans(
386          P_Api_Version_Number         => 1.0,
387          P_Init_Msg_List              => FND_API.G_FALSE,
388          P_Commit                     => FND_API.G_FALSE,
389          P_Validation_Level           => FND_API.G_VALID_LEVEL_FULL,
390          P_CSC_CUST_PLANS_Rec         => l_pvt_CSC_CUST_PLANS_Rec ,
391          X_CUST_PLAN_ID               => x_CUST_PLAN_ID,
392          X_OBJECT_VERSION_NUMBER      => x_object_version_number,
393          X_Return_Status              => x_return_status,
394          X_Msg_Count                  => x_msg_count,
395          X_Msg_Data                   => x_msg_data);
396 
397       -- Check return status from the above procedure call
398       IF x_return_status = FND_API.G_RET_STS_ERROR then
399           raise FND_API.G_EXC_ERROR;
400       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
401           raise FND_API.G_EXC_UNEXPECTED_ERROR;
402       END IF;
403 
404       -- Standard check for p_commit
405       IF FND_API.to_Boolean( p_commit )
406       THEN
407           COMMIT WORK;
408       END IF;
409 
410       -- Standard call to get message count and if count is 1, get message info.
411       FND_MSG_PUB.Count_And_Get
412       (  p_count          =>   x_msg_count,
413          p_data           =>   x_msg_data  );
414 
415 EXCEPTION
416    WHEN FND_API.G_EXC_ERROR THEN
417       CSC_CORE_UTILS_PVT.HANDLE_EXCEPTIONS(
418             P_API_NAME        => L_API_NAME,
419             P_PKG_NAME        => G_PKG_NAME,
420             P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR,
421             P_PACKAGE_TYPE    => CSC_CORE_UTILS_PVT.G_PVT,
422             X_MSG_COUNT       => X_MSG_COUNT,
423             X_MSG_DATA        => X_MSG_DATA,
424             X_RETURN_STATUS   => X_RETURN_STATUS);
425       --APP_EXCEPTION.RAISE_EXCEPTION;
426 
427    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
428       CSC_CORE_UTILS_PVT.HANDLE_EXCEPTIONS(
429             P_API_NAME        => L_API_NAME,
430             P_PKG_NAME        => G_PKG_NAME,
431             P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR,
432             P_PACKAGE_TYPE    => CSC_CORE_UTILS_PVT.G_PVT,
433             X_MSG_COUNT       => X_MSG_COUNT,
434             X_MSG_DATA        => X_MSG_DATA,
435             X_RETURN_STATUS   => X_RETURN_STATUS);
436       --APP_EXCEPTION.RAISE_EXCEPTION;
437 
438    WHEN OTHERS THEN
439       CSC_CORE_UTILS_PVT.HANDLE_EXCEPTIONS(
440             P_API_NAME        => L_API_NAME,
441             P_PKG_NAME        => G_PKG_NAME,
442             P_EXCEPTION_LEVEL => CSC_CORE_UTILS_PVT.G_MSG_LVL_OTHERS,
443             P_PACKAGE_TYPE    => CSC_CORE_UTILS_PVT.G_PVT,
444             X_MSG_COUNT       => X_MSG_COUNT,
445             X_MSG_DATA        => X_MSG_DATA,
446             X_RETURN_STATUS   => X_RETURN_STATUS);
447       --APP_EXCEPTION.RAISE_EXCEPTION;
448 
449 End Create_cust_plans;
450 
451 /*** Overloaded proc. that accepts a detailed parameter list, converts the list
452      into a record type parameter and calls the create procedure that accepts
453      a record type IN parameter  ***/
454 
455 PROCEDURE Update_cust_plans(
456     P_Api_Version_Number         IN   NUMBER,
457     P_Init_Msg_List              IN   VARCHAR2,
458     P_Commit                     IN   VARCHAR2,
459     P_ROW_ID                     IN   ROWID,
460     P_PLAN_ID                    IN   NUMBER,
461     P_CUST_PLAN_ID               IN   NUMBER,
462     P_PARTY_ID                   IN   NUMBER,
463     P_CUST_ACCOUNT_ID            IN   NUMBER,
464     P_PLAN_NAME                  IN   VARCHAR2,
465     P_GROUP_NAME                 IN   VARCHAR2,
466     P_PARTY_NUMBER               IN   VARCHAR2,
467     P_PARTY_NAME                 IN   VARCHAR2,
468     P_PARTY_TYPE                 IN   VARCHAR2,
469     P_ACCOUNT_NUMBER             IN   VARCHAR2,
470     P_ACCOUNT_NAME               IN   VARCHAR2,
471     P_START_DATE_ACTIVE          IN   DATE,
472     P_END_DATE_ACTIVE            IN   DATE,
473     P_CUSTOMIZED_PLAN            IN   VARCHAR2,
474     P_USE_FOR_CUST_ACCOUNT       IN   VARCHAR2,
475     P_PLAN_STATUS_CODE           IN   VARCHAR2,
476     P_PLAN_STATUS_MEANING        IN   VARCHAR2,
477     P_MANUAL_FLAG                IN   VARCHAR2,
478     P_REQUEST_ID                 IN   NUMBER,
479     P_PROGRAM_APPLICATION_ID     IN   NUMBER,
480     P_PROGRAM_ID                 IN   NUMBER,
481     P_PROGRAM_UPDATE_DATE        IN   DATE,
482     P_CREATION_DATE              IN   DATE,
483     P_LAST_UPDATE_DATE           IN   DATE,
484     P_CREATED_BY                 IN   NUMBER,
485     P_LAST_UPDATED_BY            IN   NUMBER,
486     P_USER_NAME                  IN   VARCHAR2,
487     P_LAST_UPDATE_LOGIN          IN   NUMBER,
488     P_ATTRIBUTE1                 IN   VARCHAR2,
489     P_ATTRIBUTE2                 IN   VARCHAR2,
490     P_ATTRIBUTE3                 IN   VARCHAR2,
491     P_ATTRIBUTE4                 IN   VARCHAR2,
492     P_ATTRIBUTE5                 IN   VARCHAR2,
493     P_ATTRIBUTE6                 IN   VARCHAR2,
494     P_ATTRIBUTE7                 IN   VARCHAR2,
495     P_ATTRIBUTE8                 IN   VARCHAR2,
496     P_ATTRIBUTE9                 IN   VARCHAR2,
497     P_ATTRIBUTE10                IN   VARCHAR2,
498     P_ATTRIBUTE11                IN   VARCHAR2,
499     P_ATTRIBUTE12                IN   VARCHAR2,
500     P_ATTRIBUTE13                IN   VARCHAR2,
501     P_ATTRIBUTE14                IN   VARCHAR2,
502     P_ATTRIBUTE15                IN   VARCHAR2,
503     P_ATTRIBUTE_CATEGORY         IN   VARCHAR2,
504     P_OBJECT_VERSION_NUMBER      IN   NUMBER,
505     X_OBJECT_VERSION_NUMBER      OUT  NOCOPY NUMBER,
506     X_Return_Status              OUT  NOCOPY VARCHAR2,
507     X_Msg_Count                  OUT  NOCOPY NUMBER,
508     X_Msg_Data                   OUT  NOCOPY VARCHAR2
509 )
510 IS
511    l_csc_cust_plans_rec      CSC_CUST_PLANS_REC_TYPE;
512 BEGIN
513 
514    CONVERT_COLUMNS_TO_REC_TYPE(
515        P_ROW_ID                    => P_ROW_ID ,
516        P_PLAN_ID                   => P_PLAN_ID ,
517        P_CUST_PLAN_ID              => P_CUST_PLAN_ID ,
518        P_PARTY_ID                  => P_PARTY_ID ,
519        P_CUST_ACCOUNT_ID           => P_CUST_ACCOUNT_ID ,
520        --P_CUST_ACCOUNT_ORG          => P_CUST_ACCOUNT_ORG ,
521        P_PLAN_NAME                 => P_PLAN_NAME ,
522        P_GROUP_NAME                => P_GROUP_NAME ,
523        P_PARTY_NUMBER              => P_PARTY_NUMBER ,
524        P_PARTY_NAME                => P_PARTY_NAME ,
525        P_PARTY_TYPE                => P_PARTY_TYPE ,
526        P_ACCOUNT_NUMBER            => P_ACCOUNT_NUMBER ,
527        P_ACCOUNT_NAME              => P_ACCOUNT_NAME ,
528        --P_PRIORITY                  => P_PRIORITY ,
529        P_START_DATE_ACTIVE         => P_START_DATE_ACTIVE ,
530        P_END_DATE_ACTIVE           => P_END_DATE_ACTIVE ,
531        P_CUSTOMIZED_PLAN           => P_CUSTOMIZED_PLAN ,
532        P_USE_FOR_CUST_ACCOUNT      => P_USE_FOR_CUST_ACCOUNT ,
533        P_PLAN_STATUS_CODE          => P_PLAN_STATUS_CODE ,
534        P_PLAN_STATUS_MEANING       => P_PLAN_STATUS_MEANING ,
535        P_MANUAL_FLAG               => P_MANUAL_FLAG ,
536        P_REQUEST_ID                => P_REQUEST_ID ,
537        P_PROGRAM_APPLICATION_ID    => P_PROGRAM_APPLICATION_ID ,
538        P_PROGRAM_ID                => P_PROGRAM_ID ,
539        P_PROGRAM_UPDATE_DATE       => P_PROGRAM_UPDATE_DATE ,
540        P_CREATION_DATE             => P_CREATION_DATE ,
541        P_LAST_UPDATE_DATE          => P_LAST_UPDATE_DATE ,
542        P_CREATED_BY                => P_CREATED_BY ,
543        P_LAST_UPDATED_BY           => P_LAST_UPDATED_BY ,
544        P_USER_NAME                 => P_USER_NAME ,
545        P_LAST_UPDATE_LOGIN         => P_LAST_UPDATE_LOGIN ,
546        P_ATTRIBUTE1                => P_ATTRIBUTE1 ,
547        P_ATTRIBUTE2                => P_ATTRIBUTE2 ,
548        P_ATTRIBUTE3                => P_ATTRIBUTE3 ,
549        P_ATTRIBUTE4                => P_ATTRIBUTE4 ,
550        P_ATTRIBUTE5                => P_ATTRIBUTE5 ,
551        P_ATTRIBUTE6                => P_ATTRIBUTE6 ,
552        P_ATTRIBUTE7                => P_ATTRIBUTE7 ,
553        P_ATTRIBUTE8                => P_ATTRIBUTE8 ,
554        P_ATTRIBUTE9                => P_ATTRIBUTE9 ,
555        P_ATTRIBUTE10               => P_ATTRIBUTE10 ,
556        P_ATTRIBUTE11               => P_ATTRIBUTE11 ,
557        P_ATTRIBUTE12               => P_ATTRIBUTE12 ,
558        P_ATTRIBUTE13               => P_ATTRIBUTE13 ,
559        P_ATTRIBUTE14               => P_ATTRIBUTE14 ,
560        P_ATTRIBUTE15               => P_ATTRIBUTE15 ,
561        P_ATTRIBUTE_CATEGORY        => P_ATTRIBUTE_CATEGORY ,
562        P_OBJECT_VERSION_NUMBER     => P_OBJECT_VERSION_NUMBER ,
563        X_CSC_CUST_PLANS_REC_TYPE   => l_csc_cust_plans_rec );
564 
565 -- issue a call to the create_cust_plans proc. with the record type parameter
566    Update_cust_plans(
567        P_Api_Version_Number         => p_api_version_number,
568        P_Init_Msg_List              => p_init_msg_list,
569        P_Commit                     => p_commit,
570        P_CSC_CUST_PLANS_Rec         => l_csc_cust_plans_rec,
571        X_OBJECT_VERSION_NUMBER      => x_object_version_number,
572        X_Return_Status              => x_return_status,
573        X_Msg_Count                  => x_msg_count,
574        X_Msg_Data                   => x_msg_data);
575 
576 END  UPDATE_CUST_PLANS;   -- end of overloaded procedure;
577 
578 
579 -- Hint: Add corresponding update detail table procedures if it's master-detail relationship.
580 PROCEDURE Update_cust_plans(
581     P_Api_Version_Number         IN   NUMBER,
582     P_Init_Msg_List              IN   VARCHAR2,
583     P_Commit                     IN   VARCHAR2,
584     P_CSC_CUST_PLANS_Rec         IN   CSC_CUST_PLANS_Rec_Type,
585     X_OBJECT_VERSION_NUMBER      OUT  NOCOPY NUMBER,
586     X_Return_Status              OUT  NOCOPY VARCHAR2,
587     X_Msg_Count                  OUT  NOCOPY NUMBER,
588     X_Msg_Data                   OUT  NOCOPY VARCHAR2
589     )
590 IS
591    l_api_name                CONSTANT VARCHAR2(30) := 'Update_cust_plans';
592    l_api_version_number      CONSTANT NUMBER       := 1.0;
593    l_pvt_CSC_CUST_PLANS_rec  CSC_CUST_PLANS_PVT.CSC_CUST_PLANS_Rec_Type;
594 BEGIN
595       -- Standard Start of API savepoint
596       SAVEPOINT UPDATE_CUST_PLANS_PUB;
597 
598       -- Standard call to check for call compatibility.
599       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
600                                            p_api_version_number,
601                                            l_api_name,
602                                            G_PKG_NAME)
603       THEN
604           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
605       END IF;
606 
607       -- Initialize message list if p_init_msg_list is set to TRUE.
608       IF FND_API.to_Boolean( p_init_msg_list )
609       THEN
610           FND_MSG_PUB.initialize;
611       END IF;
612 
613       -- Initialize API return status to SUCCESS
614       x_return_status := FND_API.G_RET_STS_SUCCESS;
615 
616       -- Convert the values to ids
617       --
618       CONVERT_CSC_CUST_PLANS (
619             p_CSC_CUST_PLANS_rec       =>  p_CSC_CUST_PLANS_rec,
620             x_pvt_CSC_CUST_PLANS_rec   =>  l_pvt_CSC_CUST_PLANS_rec );
621 
622     CSC_cust_plans_PVT.Update_cust_plans(
623        P_Api_Version_Number         => 1.0,
624        P_Init_Msg_List              => FND_API.G_FALSE,
625        P_Commit                     => p_commit,
626        P_Validation_Level           => FND_API.G_VALID_LEVEL_FULL,
627        P_CSC_CUST_PLANS_Rec         => l_pvt_CSC_CUST_PLANS_Rec ,
628        X_OBJECT_VERSION_NUMBER      => x_object_version_number,
629        X_Return_Status              => x_return_status,
630        X_Msg_Count                  => x_msg_count,
631        X_Msg_Data                   => x_msg_data);
632 
633       -- Check return status from the above procedure call
634       IF x_return_status = FND_API.G_RET_STS_ERROR then
635           raise FND_API.G_EXC_ERROR;
636       elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
637           raise FND_API.G_EXC_UNEXPECTED_ERROR;
638       END IF;
639 
640       -- Standard check for p_commit
641       IF FND_API.to_Boolean( p_commit )
642       THEN
643           COMMIT WORK;
644       END IF;
645 
646       -- Standard call to get message count and if count is 1, get message info.
647       FND_MSG_PUB.Count_And_Get
648       (  p_count          =>   x_msg_count,
649          p_data           =>   x_msg_data );
650 
651 EXCEPTION
652    WHEN FND_API.G_EXC_ERROR THEN
653       CSC_CORE_UTILS_PVT.HANDLE_EXCEPTIONS(
654             P_API_NAME        => L_API_NAME,
655             P_PKG_NAME        => G_PKG_NAME,
656             P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR,
657             P_PACKAGE_TYPE    => CSC_CORE_UTILS_PVT.G_PVT,
658             X_MSG_COUNT       => X_MSG_COUNT,
659             X_MSG_DATA        => X_MSG_DATA,
660             X_RETURN_STATUS   => X_RETURN_STATUS);
661       --APP_EXCEPTION.RAISE_EXCEPTION;
662 
663    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
664       CSC_CORE_UTILS_PVT.HANDLE_EXCEPTIONS(
665             P_API_NAME        => L_API_NAME,
666             P_PKG_NAME        => G_PKG_NAME,
667             P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR,
668             P_PACKAGE_TYPE    => CSC_CORE_UTILS_PVT.G_PVT,
669             X_MSG_COUNT       => X_MSG_COUNT,
670             X_MSG_DATA        => X_MSG_DATA,
671             X_RETURN_STATUS   => X_RETURN_STATUS);
672       --APP_EXCEPTION.RAISE_EXCEPTION;
673 
674    WHEN OTHERS THEN
675       CSC_CORE_UTILS_PVT.HANDLE_EXCEPTIONS(
676             P_API_NAME        => L_API_NAME,
677             P_PKG_NAME        => G_PKG_NAME,
678             P_EXCEPTION_LEVEL => CSC_CORE_UTILS_PVT.G_MSG_LVL_OTHERS,
679             P_PACKAGE_TYPE    => CSC_CORE_UTILS_PVT.G_PVT,
680             X_MSG_COUNT       => X_MSG_COUNT,
681             X_MSG_DATA        => X_MSG_DATA,
682             X_RETURN_STATUS   => X_RETURN_STATUS);
683       --APP_EXCEPTION.RAISE_EXCEPTION;
684 
685 End Update_cust_plans;
686 
687 PROCEDURE ENABLE_PLAN (
688     P_Api_Version_Number         IN   NUMBER,
689     P_Init_Msg_List              IN   VARCHAR2,
690     P_Commit                     IN   VARCHAR2,
691     p_plan_id                    IN   NUMBER,
692     p_party_id_tbl               IN   CSC_PARTY_ID_TBL_TYPE,
693     p_plan_status_code           IN   VARCHAR2,
694     X_OBJECT_VERSION_NUMBER      OUT  NOCOPY NUMBER,
695     X_Return_Status              OUT  NOCOPY VARCHAR2,
696     X_Msg_Count                  OUT  NOCOPY NUMBER,
697     X_Msg_Data                   OUT  NOCOPY VARCHAR2
698    )
699 IS
700    l_csc_cust_plans_rec        CSC_CUST_PLANS_PVT.CSC_CUST_PLANS_REC_TYPE;
701    l_api_name                  CONSTANT VARCHAR2(30) := 'Enable_Plan';
702    l_api_version_number        CONSTANT NUMBER       := 1.0;
703 BEGIN
704       -- Standard Start of API savepoint
705       SAVEPOINT ENABLE_PLAN_PUB;
706 
707       -- Standard call to check for call compatibility.
708       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
709                                            p_api_version_number,
710                                            l_api_name,
711                                            G_PKG_NAME)
712       THEN
713           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
714       END IF;
715 
716       -- Initialize message list if p_init_msg_list is set to TRUE.
717       IF FND_API.to_Boolean( p_init_msg_list )
718       THEN
719           FND_MSG_PUB.initialize;
720       END IF;
721 
722       -- Initialize API return status to SUCCESS
723       x_return_status := FND_API.G_RET_STS_SUCCESS;
724 
725       l_csc_cust_plans_rec.plan_status_code := p_plan_status_code;
726       l_csc_cust_plans_rec.plan_id          := p_plan_id;
727       l_csc_cust_plans_rec.object_version_number := 1;
728       l_csc_cust_plans_rec.cust_plan_id     := NULL;
729       l_csc_cust_plans_rec.party_id         := NULL;
730       l_csc_cust_plans_rec.cust_account_id  := NULL;
731       --l_csc_cust_plans_rec.cust_account_org := NULL;
732 
733       csc_cust_plans_pvt.update_cust_plans(
734          P_Api_Version_Number         =>  p_api_version_number,
735          P_Init_Msg_List              =>  p_init_msg_list,
736          P_Commit                     =>  p_commit,
737 	    p_validation_level           =>  FND_API.G_VALID_LEVEL_NONE,
738          P_CSC_CUST_PLANS_Rec         =>  l_csc_cust_plans_rec,
739          X_OBJECT_VERSION_NUMBER      =>  x_object_version_number,
740          X_Return_Status              =>  x_return_status,
741          X_Msg_Count                  =>  x_msg_count,
742          X_Msg_Data                   =>  x_msg_data );
743 
744       if ( x_return_status <> FND_API.G_RET_STS_SUCCESS ) then
745 	    APP_EXCEPTION.RAISE_EXCEPTION;
746       end if;
747 
748       -- Standard check for p_commit
749       IF FND_API.to_Boolean( p_commit )
750       THEN
751           COMMIT WORK;
752       END IF;
753 
754       -- Standard call to get message count and if count is 1, get message info.
755       FND_MSG_PUB.Count_And_Get
756       (  p_count          =>   x_msg_count,
757          p_data           =>   x_msg_data );
758 
759 END ENABLE_PLAN;
760 
761 PROCEDURE DISABLE_PLAN (
762     P_Api_Version_Number         IN   NUMBER,
763     P_Init_Msg_List              IN   VARCHAR2,
764     P_Commit                     IN   VARCHAR2,
765     p_plan_id                    IN   NUMBER,
766     p_party_id_tbl               IN   CSC_PARTY_ID_TBL_TYPE,
767     p_plan_status_code           IN   VARCHAR2,
768     X_OBJECT_VERSION_NUMBER      OUT  NOCOPY NUMBER,
769     X_Return_Status              OUT  NOCOPY VARCHAR2,
770     X_Msg_Count                  OUT  NOCOPY NUMBER,
771     X_Msg_Data                   OUT  NOCOPY VARCHAR2
772    )
773 IS
774    l_csc_cust_plans_rec        CSC_CUST_PLANS_PVT.CSC_CUST_PLANS_REC_TYPE;
775    l_api_name                  CONSTANT VARCHAR2(30) := 'Disable_Plan';
776    l_api_version_number        CONSTANT NUMBER       := 1.0;
777 BEGIN
778       -- Standard Start of API savepoint
779       SAVEPOINT DISABLE_PLAN_PUB;
780 
781       -- Standard call to check for call compatibility.
782       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
783                                            p_api_version_number,
784                                            l_api_name,
785                                            G_PKG_NAME)
786       THEN
787           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
788       END IF;
789 
790       -- Initialize message list if p_init_msg_list is set to TRUE.
791       IF FND_API.to_Boolean( p_init_msg_list )
792       THEN
793           FND_MSG_PUB.initialize;
794       END IF;
795 
796       -- Initialize API return status to SUCCESS
797       x_return_status := FND_API.G_RET_STS_SUCCESS;
798 
799       l_csc_cust_plans_rec.plan_status_code := p_plan_status_code;
800       l_csc_cust_plans_rec.plan_id          := p_plan_id;
801       l_csc_cust_plans_rec.object_version_number          := 1;
802 
803       csc_cust_plans_pvt.update_cust_plans(
804          P_Api_Version_Number         =>  p_api_version_number,
805          P_Init_Msg_List              =>  p_init_msg_list,
806          P_Commit                     =>  p_commit,
807 	    p_validation_level           =>  FND_API.G_VALID_LEVEL_NONE,
808          P_CSC_CUST_PLANS_Rec         =>  l_csc_cust_plans_rec,
809          X_OBJECT_VERSION_NUMBER      =>  x_object_version_number,
810          X_Return_Status              =>  x_return_status,
811          X_Msg_Count                  =>  x_msg_count,
812          X_Msg_Data                   =>  x_msg_data );
813 
814       if ( x_return_status <> FND_API.G_RET_STS_SUCCESS ) then
815 	    APP_EXCEPTION.RAISE_EXCEPTION;
816       end if;
817 
818       -- Standard check for p_commit
819       IF FND_API.to_Boolean( p_commit )
820       THEN
821           COMMIT WORK;
822       END IF;
823 
824       -- Standard call to get message count and if count is 1, get message info.
825       FND_MSG_PUB.Count_And_Get
826       (  p_count          =>   x_msg_count,
827          p_data           =>   x_msg_data );
828 
829 END DISABLE_PLAN;
830 
831 PROCEDURE Delete_cust_plans(
832     P_Api_Version_Number         IN   NUMBER,
833     P_Init_Msg_List              IN   VARCHAR2,
834     P_Commit                     IN   VARCHAR2,
835     P_CUST_PLAN_ID               IN   NUMBER,
836     X_Return_Status              OUT  NOCOPY VARCHAR2,
837     X_Msg_Count                  OUT  NOCOPY NUMBER,
838     X_Msg_Data                   OUT  NOCOPY VARCHAR2
839     )
840 IS
841    l_api_name                CONSTANT VARCHAR2(30) := 'Delete_cust_plans';
842    l_api_version_number      CONSTANT NUMBER       := 1.0;
843    l_pvt_CSC_CUST_PLANS_rec  CSC_CUST_PLANS_PVT.CSC_CUST_PLANS_Rec_Type;
844 BEGIN
845       -- Standard Start of API savepoint
846       SAVEPOINT DELETE_CUST_PLANS_PUB;
847 
848       -- Standard call to check for call compatibility.
849       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
850                                            p_api_version_number,
851                                            l_api_name,
852                                            G_PKG_NAME)
853       THEN
854           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
855       END IF;
856 
857       -- Initialize message list if p_init_msg_list is set to TRUE.
858       IF FND_API.to_Boolean( p_init_msg_list )
859       THEN
860           FND_MSG_PUB.initialize;
861       END IF;
862 
863       -- Initialize API return status to SUCCESS
864       x_return_status := FND_API.G_RET_STS_SUCCESS;
865 
866       CSC_CUST_PLANS_PKG.Delete_Row(
867                        P_CUST_PLAN_ID       => P_CUST_PLAN_ID);
868 
869       -- Standard check for p_commit
870       IF FND_API.to_Boolean( p_commit )
871       THEN
872           COMMIT WORK;
873       END IF;
874 
875       -- Standard call to get message count and if count is 1, get message info.
876       FND_MSG_PUB.Count_And_Get
877       (  p_count          =>   x_msg_count,
878          p_data           =>   x_msg_data );
879 
880 EXCEPTION
881    WHEN FND_API.G_EXC_ERROR THEN
882       CSC_CORE_UTILS_PVT.HANDLE_EXCEPTIONS(
883             P_API_NAME        => L_API_NAME,
884             P_PKG_NAME        => G_PKG_NAME,
885             P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR,
886             P_PACKAGE_TYPE    => CSC_CORE_UTILS_PVT.G_PVT,
887             X_MSG_COUNT       => X_MSG_COUNT,
888             X_MSG_DATA        => X_MSG_DATA,
889             X_RETURN_STATUS   => X_RETURN_STATUS);
890       --APP_EXCEPTION.RAISE_EXCEPTION;
891 
892    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
893       CSC_CORE_UTILS_PVT.HANDLE_EXCEPTIONS(
894             P_API_NAME        => L_API_NAME,
895             P_PKG_NAME        => G_PKG_NAME,
896             P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR,
897             P_PACKAGE_TYPE    => CSC_CORE_UTILS_PVT.G_PVT,
898             X_MSG_COUNT       => X_MSG_COUNT,
899             X_MSG_DATA        => X_MSG_DATA,
900             X_RETURN_STATUS   => X_RETURN_STATUS);
901       --APP_EXCEPTION.RAISE_EXCEPTION;
902 
903    WHEN OTHERS THEN
904       CSC_CORE_UTILS_PVT.HANDLE_EXCEPTIONS(
905             P_API_NAME        => L_API_NAME,
906             P_PKG_NAME        => G_PKG_NAME,
907             P_EXCEPTION_LEVEL => CSC_CORE_UTILS_PVT.G_MSG_LVL_OTHERS,
908             P_PACKAGE_TYPE    => CSC_CORE_UTILS_PVT.G_PVT,
909             X_MSG_COUNT       => X_MSG_COUNT,
910             X_MSG_DATA        => X_MSG_DATA,
911             X_RETURN_STATUS   => X_RETURN_STATUS);
912       --APP_EXCEPTION.RAISE_EXCEPTION;
913 
914 End Delete_cust_plans;
915 
916 End CSC_CUST_PLANS_PUB;