DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGW_INSTITUTE_RATES_PKG

Source


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