1: PACKAGE BODY CSC_CUST_PLANS_PKG as
2: /* $Header: csctctpb.pls 115.15 2002/12/04 16:16:28 bhroy ship $ */
3: -- Start of Comments
4: -- Package name : CSC_CUST_PLANS_PKG
5: -- Purpose : Table handler package to perform inserts, update, deletes and lock
1: PACKAGE BODY CSC_CUST_PLANS_PKG as
2: /* $Header: csctctpb.pls 115.15 2002/12/04 16:16:28 bhroy ship $ */
3: -- Start of Comments
4: -- Package name : CSC_CUST_PLANS_PKG
5: -- Purpose : Table handler package to perform inserts, update, deletes and lock
6: -- row operations on CSC_CUST_PLANS table.
7: -- History :
8: -- MM-DD-YYYY NAME MODIFICATIONS
2: /* $Header: csctctpb.pls 115.15 2002/12/04 16:16:28 bhroy ship $ */
3: -- Start of Comments
4: -- Package name : CSC_CUST_PLANS_PKG
5: -- Purpose : Table handler package to perform inserts, update, deletes and lock
6: -- row operations on CSC_CUST_PLANS table.
7: -- History :
8: -- MM-DD-YYYY NAME MODIFICATIONS
9: -- 10-28-1999 dejoseph Created.
10: -- 12-08-1999 dejoseph 'Arcs'ed in for first code freeze.
20: -- decision to drop column org_id from hz_cust_accounts.
21: -- 04-10-2000 dejoseph Added logic to insert SYSDATE when start_date_active is not
22: -- specified. When plans with NULL start_date_active are assigned
23: -- to customers, the customer-plan association's start_date_active
24: -- in CSC_CUST_PLANS will have to default to SYSDATE, which provides
25: -- a method to keep track of when this plan was assigned to customers.
26:
27:
28: -- NOTE :
28: -- NOTE :
29: -- End of Comments
30:
31:
32: G_PKG_NAME CONSTANT VARCHAR2(30) := 'CSC_CUST_PLANS_PKG';
33: G_FILE_NAME CONSTANT VARCHAR2(12) := 'csctctpb.pls';
34:
35: PROCEDURE Insert_Row(
36: px_CUST_PLAN_ID IN OUT NOCOPY NUMBER,
69: p_ATTRIBUTE_CATEGORY IN VARCHAR2,
70: X_OBJECT_VERSION_NUMBER OUT NOCOPY NUMBER)
71: IS
72: CURSOR C2 IS
73: SELECT CSC_CUST_PLANS_S.nextval
74: FROM sys.dual;
75: BEGIN
76: If (px_CUST_PLAN_ID IS NULL) OR (px_CUST_PLAN_ID = FND_API.G_MISS_NUM) then
77: OPEN C2;
78: FETCH C2 INTO px_CUST_PLAN_ID;
79: CLOSE C2;
80: End If;
81:
82: INSERT INTO CSC_CUST_PLANS(
83: CUST_PLAN_ID,
84: PLAN_ID,
85: PARTY_ID,
86: CUST_ACCOUNT_ID,
193: X_OBJECT_VERSION_NUMBER OUT NOCOPY NUMBER)
194: IS
195: BEGIN
196:
197: Update CSC_CUST_PLANS
198: SET
199: PLAN_ID = nvl(p_PLAN_ID, plan_id),
200: PARTY_ID = nvl(p_PARTY_ID, party_id),
201: CUST_ACCOUNT_ID = p_CUST_ACCOUNT_ID,
245: p_PLAN_ID IN NUMBER := NULL,
246: p_PARTY_ID IN NUMBER := NULL)
247: IS
248: BEGIN
249: DELETE FROM CSC_CUST_PLANS
250: WHERE CUST_PLAN_ID = nvl(p_CUST_PLAN_ID, CUST_PLAN_ID)
251: AND PLAN_ID = nvl(p_PLAN_ID, PLAN_ID)
252: AND PARTY_ID = nvl(p_PARTY_ID, PARTY_ID);
253:
267: p_OBJECT_VERSION_NUMBER IN NUMBER)
268: IS
269: CURSOR C IS
270: SELECT *
271: FROM CSC_CUST_PLANS
272: WHERE CUST_PLAN_ID = nvl(p_CUST_PLAN_ID, CUST_PLAN_ID)
273: AND PLAN_ID = nvl(P_PLAN_ID, PLAN_ID)
274: AND PARTY_ID = nvl(P_PARTY_ID, PARTY_ID)
275: AND nvl(CUST_ACCOUNT_ID, 0) = nvl(P_CUST_ACCOUNT_ID, nvl(CUST_ACCOUNT_ID, 0) )
289: CLOSE C;
290:
291: END Lock_Row;
292:
293: End CSC_CUST_PLANS_PKG;