[Home] [Help]
PACKAGE BODY: APPS.CN_MULTI_RATE_SCHEDULES_PKG
Source
1 PACKAGE BODY CN_MULTI_RATE_SCHEDULES_PKG AS
2 /* $Header: cntrschb.pls 120.2 2005/10/05 22:24:34 kjayapau ship $ */
3
4 PROCEDURE INSERT_ROW (
5 X_RATE_SCHEDULE_ID IN OUT NOCOPY CN_RATE_SCHEDULES.RATE_SCHEDULE_ID%TYPE,
6 X_NAME IN CN_RATE_SCHEDULES.NAME%TYPE,
7 X_COMMISSION_UNIT_CODE IN CN_RATE_SCHEDULES.COMMISSION_UNIT_CODE%TYPE,
8 X_NUMBER_DIM IN CN_RATE_SCHEDULES.NUMBER_DIM%TYPE,
9 --R12 MOAC Changes--Start
10 X_ORG_ID IN CN_RATE_SCHEDULES.ORG_ID%TYPE, --new
11 --R12 MOAC Changes--End
12 X_ATTRIBUTE_CATEGORY IN CN_RATE_SCHEDULES.ATTRIBUTE_CATEGORY%TYPE := NULL,
13 X_ATTRIBUTE1 IN CN_RATE_SCHEDULES.ATTRIBUTE1%TYPE := NULL,
14 X_ATTRIBUTE2 IN CN_RATE_SCHEDULES.ATTRIBUTE2%TYPE := NULL,
15 X_ATTRIBUTE3 IN CN_RATE_SCHEDULES.ATTRIBUTE3%TYPE := NULL,
16 X_ATTRIBUTE4 IN CN_RATE_SCHEDULES.ATTRIBUTE4%TYPE := NULL,
17 X_ATTRIBUTE5 IN CN_RATE_SCHEDULES.ATTRIBUTE5%TYPE := NULL,
18 X_ATTRIBUTE6 IN CN_RATE_SCHEDULES.ATTRIBUTE6%TYPE := NULL,
19 X_ATTRIBUTE7 IN CN_RATE_SCHEDULES.ATTRIBUTE7%TYPE := NULL,
20 X_ATTRIBUTE8 IN CN_RATE_SCHEDULES.ATTRIBUTE8%TYPE := NULL,
21 X_ATTRIBUTE9 IN CN_RATE_SCHEDULES.ATTRIBUTE9%TYPE := NULL,
22 X_ATTRIBUTE10 IN CN_RATE_SCHEDULES.ATTRIBUTE10%TYPE := NULL,
23 X_ATTRIBUTE11 IN CN_RATE_SCHEDULES.ATTRIBUTE11%TYPE := NULL,
24 X_ATTRIBUTE12 IN CN_RATE_SCHEDULES.ATTRIBUTE12%TYPE := NULL,
25 X_ATTRIBUTE13 IN CN_RATE_SCHEDULES.ATTRIBUTE13%TYPE := NULL,
26 X_ATTRIBUTE14 IN CN_RATE_SCHEDULES.ATTRIBUTE14%TYPE := NULL,
27 X_ATTRIBUTE15 IN CN_RATE_SCHEDULES.ATTRIBUTE15%TYPE := NULL,
28 X_CREATION_DATE IN CN_RATE_SCHEDULES.CREATION_DATE%TYPE := SYSDATE,
29 X_CREATED_BY IN CN_RATE_SCHEDULES.CREATED_BY%TYPE := FND_GLOBAL.USER_ID,
30 X_LAST_UPDATE_DATE IN CN_RATE_SCHEDULES.LAST_UPDATE_DATE%TYPE := SYSDATE,
31 X_LAST_UPDATED_BY IN CN_RATE_SCHEDULES.LAST_UPDATED_BY%TYPE := FND_GLOBAL.USER_ID,
32 X_LAST_UPDATE_LOGIN IN CN_RATE_SCHEDULES.LAST_UPDATE_LOGIN%TYPE:= FND_GLOBAL.LOGIN_ID) is
33 cursor C is select rate_schedule_id from CN_RATE_SCHEDULES
34 where RATE_SCHEDULE_ID = x_rate_schedule_id;
35
36 CURSOR id IS SELECT cn_rate_schedules_s.NEXTVAL FROM dual;
37 BEGIN
38 IF (x_rate_schedule_id IS NULL) THEN
39 OPEN id;
40 FETCH id INTO x_rate_schedule_id;
41 IF (id%notfound) THEN
42 CLOSE id;
43 RAISE no_data_found;
44 END IF;
45 CLOSE id;
46 END IF;
47
48 insert into CN_RATE_SCHEDULES (
49 RATE_SCHEDULE_ID,
50 NAME,
51 COMMISSION_UNIT_CODE,
52 NUMBER_DIM,
53 --R12 MOAC Changes--Start
54 ORG_ID,
55 --R12 MOAC Changes--End
56 ATTRIBUTE_CATEGORY,
57 ATTRIBUTE1,
58 ATTRIBUTE2,
59 ATTRIBUTE3,
60 ATTRIBUTE4,
61 ATTRIBUTE5,
62 ATTRIBUTE6,
63 ATTRIBUTE7,
64 ATTRIBUTE8,
65 ATTRIBUTE9,
66 ATTRIBUTE10,
67 ATTRIBUTE11,
68 ATTRIBUTE12,
69 ATTRIBUTE13,
70 ATTRIBUTE14,
71 ATTRIBUTE15,
72 CREATED_BY,
73 CREATION_DATE,
74 LAST_UPDATE_LOGIN,
75 LAST_UPDATE_DATE,
76 LAST_UPDATED_BY,
77 OBJECT_VERSION_NUMBER
78 ) VALUES (
79 X_RATE_SCHEDULE_ID,
80 X_NAME,
81 X_COMMISSION_UNIT_CODE,
82 X_NUMBER_DIM,
83 --R12 MOAC Changes--Start
84 X_ORG_ID,
85 --R12 MOAC Changes--End
86 X_ATTRIBUTE_CATEGORY,
87 X_ATTRIBUTE1,
88 X_ATTRIBUTE2,
89 X_ATTRIBUTE3,
90 X_ATTRIBUTE4,
91 X_ATTRIBUTE5,
92 X_ATTRIBUTE6,
93 X_ATTRIBUTE7,
94 X_ATTRIBUTE8,
95 X_ATTRIBUTE9,
96 X_ATTRIBUTE10,
97 X_ATTRIBUTE11,
98 X_ATTRIBUTE12,
99 X_ATTRIBUTE13,
100 X_ATTRIBUTE14,
101 X_ATTRIBUTE15,
102 X_CREATED_BY,
103 X_CREATION_DATE,
104 X_LAST_UPDATE_LOGIN,
105 X_LAST_UPDATE_DATE,
106 X_LAST_UPDATED_BY,
107 1);
108
109 end INSERT_ROW;
110
111 procedure LOCK_ROW (
112 X_RATE_SCHEDULE_ID IN CN_RATE_SCHEDULES.RATE_SCHEDULE_ID%TYPE,
113 X_OBJECT_VERSION_NUMBER IN CN_RATE_SCHEDULES.OBJECT_VERSION_NUMBER%TYPE) is
114
115 cursor c is
116 select object_version_number
117 from CN_RATE_SCHEDULES
118 where RATE_SCHEDULE_ID = X_RATE_SCHEDULE_ID;
119
120 tlinfo c%rowtype ;
121 BEGIN
122 open c;
123 fetch c into tlinfo;
124 if (c%notfound) then
125 close c;
126 fnd_message.set_name('CN', 'CN_RECORD_DELETED');
127 fnd_msg_pub.add;
128 raise fnd_api.g_exc_unexpected_error;
129 end if;
130 close c;
131
132 if (tlinfo.object_version_number <> x_object_version_number) then
133 fnd_message.set_name('CN', 'CN_RECORD_CHANGED');
134 fnd_msg_pub.add;
135 raise fnd_api.g_exc_unexpected_error;
136 end if;
137
138 END LOCK_ROW;
139
140 procedure UPDATE_ROW (
141 X_RATE_SCHEDULE_ID IN CN_RATE_SCHEDULES.RATE_SCHEDULE_ID%TYPE,
142 X_NAME IN CN_RATE_SCHEDULES.NAME%TYPE := CN_API.G_MISS_CHAR,
143 X_COMMISSION_UNIT_CODE IN CN_RATE_SCHEDULES.COMMISSION_UNIT_CODE%TYPE := CN_API.G_MISS_CHAR,
144 X_NUMBER_DIM IN CN_RATE_SCHEDULES.NUMBER_DIM%TYPE := CN_API.G_MISS_NUM,
145 X_ATTRIBUTE_CATEGORY IN CN_RATE_SCHEDULES.ATTRIBUTE_CATEGORY%TYPE := CN_API.G_MISS_CHAR,
146 X_ATTRIBUTE1 IN CN_RATE_SCHEDULES.ATTRIBUTE1%TYPE := CN_API.G_MISS_CHAR,
147 X_ATTRIBUTE2 IN CN_RATE_SCHEDULES.ATTRIBUTE2%TYPE := CN_API.G_MISS_CHAR,
148 X_ATTRIBUTE3 IN CN_RATE_SCHEDULES.ATTRIBUTE3%TYPE := CN_API.G_MISS_CHAR,
149 X_ATTRIBUTE4 IN CN_RATE_SCHEDULES.ATTRIBUTE4%TYPE := CN_API.G_MISS_CHAR,
150 X_ATTRIBUTE5 IN CN_RATE_SCHEDULES.ATTRIBUTE5%TYPE := CN_API.G_MISS_CHAR,
151 X_ATTRIBUTE6 IN CN_RATE_SCHEDULES.ATTRIBUTE6%TYPE := CN_API.G_MISS_CHAR,
152 X_ATTRIBUTE7 IN CN_RATE_SCHEDULES.ATTRIBUTE7%TYPE := CN_API.G_MISS_CHAR,
153 X_ATTRIBUTE8 IN CN_RATE_SCHEDULES.ATTRIBUTE8%TYPE := CN_API.G_MISS_CHAR,
154 X_ATTRIBUTE9 IN CN_RATE_SCHEDULES.ATTRIBUTE9%TYPE := CN_API.G_MISS_CHAR,
155 X_ATTRIBUTE10 IN CN_RATE_SCHEDULES.ATTRIBUTE10%TYPE := CN_API.G_MISS_CHAR,
156 X_ATTRIBUTE11 IN CN_RATE_SCHEDULES.ATTRIBUTE11%TYPE := CN_API.G_MISS_CHAR,
157 X_ATTRIBUTE12 IN CN_RATE_SCHEDULES.ATTRIBUTE12%TYPE := CN_API.G_MISS_CHAR,
158 X_ATTRIBUTE13 IN CN_RATE_SCHEDULES.ATTRIBUTE13%TYPE := CN_API.G_MISS_CHAR,
159 X_ATTRIBUTE14 IN CN_RATE_SCHEDULES.ATTRIBUTE14%TYPE := CN_API.G_MISS_CHAR,
160 X_ATTRIBUTE15 IN CN_RATE_SCHEDULES.ATTRIBUTE15%TYPE := CN_API.G_MISS_CHAR,
161 X_OBJECT_VERSION_NUMBER IN OUT NOCOPY CN_RATE_SCHEDULES.OBJECT_VERSION_NUMBER%TYPE,
162 X_LAST_UPDATE_DATE IN CN_RATE_SCHEDULES.LAST_UPDATE_DATE%TYPE := SYSDATE,
163 X_LAST_UPDATED_BY IN CN_RATE_SCHEDULES.LAST_UPDATED_BY%TYPE := FND_GLOBAL.USER_ID,
164 X_LAST_UPDATE_LOGIN IN CN_RATE_SCHEDULES.LAST_UPDATE_LOGIN%TYPE:= FND_GLOBAL.LOGIN_ID) IS
165
166 BEGIN
167
168 X_OBJECT_VERSION_NUMBER := X_OBJECT_VERSION_NUMBER + 1;
169
170 update CN_RATE_SCHEDULES set
171 NAME = Decode(X_NAME, fnd_api.g_miss_char, name, x_name),
172 COMMISSION_UNIT_CODE = Decode(X_COMMISSION_UNIT_CODE, fnd_api.g_miss_char, commission_unit_code, x_commission_unit_code),
173 NUMBER_DIM = Decode(X_NUMBER_DIM, fnd_api.g_miss_num, number_dim, x_number_dim),
174 ATTRIBUTE_CATEGORY = Decode(X_ATTRIBUTE_CATEGORY, fnd_api.g_miss_char, attribute_category, x_attribute_category),
175 ATTRIBUTE1 = Decode(X_ATTRIBUTE1, fnd_api.g_miss_char, attribute1, x_attribute1),
176 ATTRIBUTE2 = Decode(X_ATTRIBUTE2, fnd_api.g_miss_char, attribute2, x_attribute2),
177 ATTRIBUTE3 = Decode(X_ATTRIBUTE3, fnd_api.g_miss_char, attribute3, x_attribute3),
178 ATTRIBUTE4 = Decode(X_ATTRIBUTE4, fnd_api.g_miss_char, attribute4, x_attribute4),
179 ATTRIBUTE5 = Decode(X_ATTRIBUTE5, fnd_api.g_miss_char, attribute5, x_attribute5),
180 ATTRIBUTE6 = Decode(X_ATTRIBUTE6, fnd_api.g_miss_char, attribute6, x_attribute6),
181 ATTRIBUTE7 = Decode(X_ATTRIBUTE7, fnd_api.g_miss_char, attribute7, x_attribute7),
182 ATTRIBUTE8 = Decode(X_ATTRIBUTE8, fnd_api.g_miss_char, attribute8, x_attribute8),
183 ATTRIBUTE9 = Decode(X_ATTRIBUTE9, fnd_api.g_miss_char, attribute9, x_attribute9),
184 ATTRIBUTE10 = Decode(X_ATTRIBUTE10, fnd_api.g_miss_char, attribute10, x_attribute10),
185 ATTRIBUTE11 = Decode(X_ATTRIBUTE11, fnd_api.g_miss_char, attribute11, x_attribute11),
186 ATTRIBUTE12 = Decode(X_ATTRIBUTE12, fnd_api.g_miss_char, attribute12, x_attribute12),
187 ATTRIBUTE13 = Decode(X_ATTRIBUTE13, fnd_api.g_miss_char, attribute13, x_attribute13),
188 ATTRIBUTE14 = Decode(X_ATTRIBUTE14, fnd_api.g_miss_char, attribute14, x_attribute14),
189 ATTRIBUTE15 = Decode(X_ATTRIBUTE15, fnd_api.g_miss_char, attribute15, x_attribute15),
190 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
191 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
192 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
193 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER
194 where RATE_SCHEDULE_ID = x_rate_schedule_id;
195
196 if (sql%notfound) then
197 fnd_message.set_name('CN', 'CN_RECORD_DELETED');
198 fnd_msg_pub.add;
199 raise fnd_api.g_exc_unexpected_error;
200 end if;
201 end UPDATE_ROW;
202
203 procedure DELETE_ROW (
204 X_RATE_SCHEDULE_ID IN CN_RATE_SCHEDULES.RATE_SCHEDULE_ID%TYPE) IS
205 begin
206 delete from CN_RATE_SCHEDULES
207 where RATE_SCHEDULE_ID = X_RATE_SCHEDULE_ID;
208
209 if (sql%notfound) then
210 fnd_message.set_name('CN', 'CN_RECORD_DELETED');
211 fnd_msg_pub.add;
212 raise fnd_api.g_exc_unexpected_error;
213 end if;
214
215 -- delete dimension assignments
216 DELETE FROM cn_rate_sch_dims WHERE rate_schedule_id = x_rate_schedule_id;
217
218 -- delete records in cn_rate_tiers
219 DELETE FROM cn_rate_tiers WHERE rate_schedule_id = x_rate_schedule_id;
220
221
222 end DELETE_ROW;
223
224 end CN_MULTI_RATE_SCHEDULES_PKG;