DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGW_BUSINESS_RULES_ALL_PKG

Source


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