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