[Home] [Help]
PACKAGE BODY: APPS.IGW_BUSINESS_RULE_LINES_PKG
Source
1 package body IGW_BUSINESS_RULE_LINES_PKG as
2 /* $Header: igwstrlb.pls 115.3 2002/03/28 19:14:12 pkm ship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out VARCHAR2,
5 X_RULE_ID in NUMBER,
6 X_EXPRESSION_ID in NUMBER,
7 X_EXPRESSION_SEQUENCE_NUMBER in NUMBER,
8 X_EXPRESSION_TYPE in VARCHAR2,
9 X_LBRACKETS in VARCHAR2,
10 X_LVALUE in VARCHAR2,
11 X_OPERATOR in VARCHAR2,
12 X_RVALUE in VARCHAR2,
13 X_RVALUE_ID in VARCHAR2,
14 X_RBRACKETS in VARCHAR2,
15 X_LOGICAL_OPERATOR in VARCHAR2,
16 X_MODE in VARCHAR2 default 'R'
17 ) is
18 cursor C is select ROWID from IGW_BUSINESS_RULE_LINES
19 where RULE_ID = X_RULE_ID
20 and EXPRESSION_ID = X_EXPRESSION_ID;
21 X_LAST_UPDATE_DATE DATE;
22 X_LAST_UPDATED_BY NUMBER;
23 X_LAST_UPDATE_LOGIN NUMBER;
24 begin
25 X_LAST_UPDATE_DATE := SYSDATE;
26 if(X_MODE = 'I') then
27 X_LAST_UPDATED_BY := 1;
28 X_LAST_UPDATE_LOGIN := 0;
29 elsif (X_MODE = 'R') then
30 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
31 if X_LAST_UPDATED_BY is NULL then
32 X_LAST_UPDATED_BY := -1;
33 end if;
34 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
35 if X_LAST_UPDATE_LOGIN is NULL then
36 X_LAST_UPDATE_LOGIN := -1;
37 end if;
38 else
39 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
40 app_exception.raise_exception;
41 end if;
42 insert into IGW_BUSINESS_RULE_LINES (
43 RULE_ID,
44 EXPRESSION_ID,
45 EXPRESSION_SEQUENCE_NUMBER,
46 EXPRESSION_TYPE,
47 LBRACKETS,
48 LVALUE,
49 OPERATOR,
50 RVALUE,
51 RVALUE_ID,
52 RBRACKETS,
53 LOGICAL_OPERATOR,
54 CREATION_DATE,
55 CREATED_BY,
56 LAST_UPDATE_DATE,
57 LAST_UPDATED_BY,
58 LAST_UPDATE_LOGIN
59 ) values (
60 X_RULE_ID,
61 X_EXPRESSION_ID,
62 X_EXPRESSION_SEQUENCE_NUMBER,
63 X_EXPRESSION_TYPE,
64 X_LBRACKETS,
65 X_LVALUE,
66 X_OPERATOR,
67 X_RVALUE,
68 X_RVALUE_ID,
69 X_RBRACKETS,
70 X_LOGICAL_OPERATOR,
71 X_LAST_UPDATE_DATE,
72 X_LAST_UPDATED_BY,
73 X_LAST_UPDATE_DATE,
74 X_LAST_UPDATED_BY,
75 X_LAST_UPDATE_LOGIN
76 );
77
78 open c;
79 fetch c into X_ROWID;
80 if (c%notfound) then
81 close c;
82 raise no_data_found;
83 end if;
84 close c;
85
86 end INSERT_ROW;
87
88 procedure LOCK_ROW (
89 X_ROWID in VARCHAR2,
90 X_RULE_ID in NUMBER,
91 X_EXPRESSION_ID in NUMBER,
92 X_EXPRESSION_SEQUENCE_NUMBER in NUMBER,
93 X_EXPRESSION_TYPE in VARCHAR2,
94 X_LBRACKETS in VARCHAR2,
95 X_LVALUE in VARCHAR2,
96 X_OPERATOR in VARCHAR2,
97 X_RVALUE in VARCHAR2,
98 X_RVALUE_ID in VARCHAR2,
99 X_RBRACKETS in VARCHAR2,
100 X_LOGICAL_OPERATOR in VARCHAR2
101 ) is
102 cursor c1 is select *
103 from IGW_BUSINESS_RULE_LINES
104 where ROWID = X_ROWID
105 for update of RULE_ID nowait;
106 tlinfo c1%rowtype;
107
108 begin
109 open c1;
110 fetch c1 into tlinfo;
111 if (c1%notfound) then
112 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
113 app_exception.raise_exception;
114 close c1;
115 return;
116 end if;
117 close c1;
118
119 if (
120 (tlinfo.RULE_ID = X_RULE_ID)
121 AND (tlinfo.EXPRESSION_ID = X_EXPRESSION_ID)
122 AND (tlinfo.EXPRESSION_SEQUENCE_NUMBER = X_EXPRESSION_SEQUENCE_NUMBER)
123 AND (tlinfo.EXPRESSION_TYPE = X_EXPRESSION_TYPE)
124 AND ((tlinfo.LBRACKETS = X_LBRACKETS)
125 OR ((tlinfo.LBRACKETS is null)
126 AND (X_LBRACKETS is null)))
127 AND (tlinfo.LVALUE = X_LVALUE)
128 AND (tlinfo.OPERATOR = X_OPERATOR)
129 AND (tlinfo.RVALUE = X_RVALUE)
130 AND ((tlinfo.RVALUE_ID = X_RVALUE_ID)
131 OR ((tlinfo.RVALUE_ID is null)
132 AND (X_RVALUE_ID is null)))
133 AND ((tlinfo.RBRACKETS = X_RBRACKETS)
134 OR ((tlinfo.RBRACKETS is null)
135 AND (X_RBRACKETS is null)))
136 AND ((tlinfo.LOGICAL_OPERATOR = X_LOGICAL_OPERATOR)
137 OR ((tlinfo.LOGICAL_OPERATOR is null)
138 AND (X_LOGICAL_OPERATOR is null)))
139 ) then
140 null;
141 else
142 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
143 app_exception.raise_exception;
144 end if;
145 return;
146 end LOCK_ROW;
147
148 procedure UPDATE_ROW (
149 X_ROWID in VARCHAR2,
150 X_RULE_ID in NUMBER,
151 X_EXPRESSION_ID in NUMBER,
152 X_EXPRESSION_SEQUENCE_NUMBER in NUMBER,
153 X_EXPRESSION_TYPE in VARCHAR2,
154 X_LBRACKETS in VARCHAR2,
155 X_LVALUE in VARCHAR2,
156 X_OPERATOR in VARCHAR2,
157 X_RVALUE in VARCHAR2,
158 X_RVALUE_ID in VARCHAR2,
159 X_RBRACKETS in VARCHAR2,
160 X_LOGICAL_OPERATOR in VARCHAR2,
161 X_MODE in VARCHAR2 default 'R'
162 ) is
163 X_LAST_UPDATE_DATE DATE;
164 X_LAST_UPDATED_BY NUMBER;
165 X_LAST_UPDATE_LOGIN NUMBER;
166 begin
167 X_LAST_UPDATE_DATE := SYSDATE;
168 if(X_MODE = 'I') then
169 X_LAST_UPDATED_BY := 1;
170 X_LAST_UPDATE_LOGIN := 0;
171 elsif (X_MODE = 'R') then
172 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
173 if X_LAST_UPDATED_BY is NULL then
174 X_LAST_UPDATED_BY := -1;
175 end if;
176 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
177 if X_LAST_UPDATE_LOGIN is NULL then
178 X_LAST_UPDATE_LOGIN := -1;
179 end if;
180 else
181 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
182 app_exception.raise_exception;
183 end if;
184 update IGW_BUSINESS_RULE_LINES set
185 RULE_ID = X_RULE_ID,
186 EXPRESSION_ID = X_EXPRESSION_ID,
187 EXPRESSION_SEQUENCE_NUMBER = X_EXPRESSION_SEQUENCE_NUMBER,
188 EXPRESSION_TYPE = X_EXPRESSION_TYPE,
189 LBRACKETS = X_LBRACKETS,
190 LVALUE = X_LVALUE,
191 OPERATOR = X_OPERATOR,
192 RVALUE = X_RVALUE,
193 RVALUE_ID = X_RVALUE_ID,
194 RBRACKETS = X_RBRACKETS,
195 LOGICAL_OPERATOR = X_LOGICAL_OPERATOR,
196 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
197 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
198 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
199 where ROWID = X_ROWID
200 ;
201 if (sql%notfound) then
202 raise no_data_found;
203 end if;
204 end UPDATE_ROW;
205
206 /*procedure ADD_ROW (
207 X_ROWID in out VARCHAR2,
208 X_RULE_ID in NUMBER,
209 X_EXPRESSION_ID in NUMBER,
210 X_EXPRESSION_SEQUENCE_NUMBER in NUMBER,
211 X_EXPRESSION_TYPE in VARCHAR2,
212 X_LBRACKETS in VARCHAR2,
213 X_LVALUE in VARCHAR2,
214 X_OPERATOR in VARCHAR2,
215 X_RVALUE in VARCHAR2,
216 X_RVALUE_ID in VARCHAR2,
217 X_RBRACKETS in VARCHAR2,
218 X_LOGICAL_OPERATOR in VARCHAR2,
219 X_MODE in VARCHAR2 default 'R'
220 ) is
221 cursor c1 is select rowid from IGW_BUSINESS_RULE_LINES
222 where RULE_ID = X_RULE_ID
223 and EXPRESSION_ID = X_EXPRESSION_ID
224 ;
225 dummy c1%rowtype;
226 begin
227 open c1;
228 fetch c1 into dummy;
229 if (c1%notfound) then
230 close c1;
231 INSERT_ROW (
232 X_ROWID,
233 X_RULE_ID,
234 X_EXPRESSION_ID,
235 X_EXPRESSION_SEQUENCE_NUMBER,
236 X_EXPRESSION_TYPE,
237 X_LBRACKETS,
238 X_LVALUE,
239 X_OPERATOR,
240 X_RVALUE,
241 X_RVALUE_ID,
242 X_RBRACKETS,
243 X_LOGICAL_OPERATOR,
244 X_MODE);
245 return;
246 end if;
247 close c1;
248 UPDATE_ROW (
249 X_RULE_ID,
250 X_EXPRESSION_ID,
251 X_EXPRESSION_SEQUENCE_NUMBER,
252 X_EXPRESSION_TYPE,
253 X_LBRACKETS,
254 X_LVALUE,
255 X_OPERATOR,
256 X_RVALUE,
257 X_RVALUE_ID,
258 X_RBRACKETS,
259 X_LOGICAL_OPERATOR,
260 X_MODE);
261 end ADD_ROW; */
262
263 procedure DELETE_ROW (
264 X_ROWID in VARCHAR2
265 ) is
266 begin
267 delete from IGW_BUSINESS_RULE_LINES
268 where ROWID = X_ROWID;
269 if (sql%notfound) then
270 raise no_data_found;
271 end if;
272 end DELETE_ROW;
273
274 end IGW_BUSINESS_RULE_LINES_PKG;