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