DBA Data[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;