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