[Home] [Help]
PACKAGE BODY: APPS.CS_CF_SOURCE_CXT_TYPES_PKG
Source
1 package body CS_CF_SOURCE_CXT_TYPES_PKG as
2 /* $Header: CSCFCTYB.pls 120.0 2005/06/01 11:06:00 appldev noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_SOURCE_CONTEXT_TYPE_ID in NUMBER,
6 X_SOURCE_CODE in VARCHAR2,
7 X_CONTEXT_TYPE in VARCHAR2,
8 X_PRIORITY in NUMBER,
9 X_SOURCE_TYPE in VARCHAR2,
10 X_PURPOSE in VARCHAR2,
11 X_OBJECT_VERSION_NUMBER in NUMBER,
12 X_CREATION_DATE in DATE,
13 X_CREATED_BY in NUMBER,
14 X_LAST_UPDATE_DATE in DATE,
15 X_LAST_UPDATED_BY in NUMBER,
16 X_LAST_UPDATE_LOGIN in NUMBER
17 ) is
18 cursor C is select ROWID from CS_CF_SOURCE_CXT_TYPES
19 where SOURCE_CONTEXT_TYPE_ID = X_SOURCE_CONTEXT_TYPE_ID
20 ;
21 begin
22 insert into CS_CF_SOURCE_CXT_TYPES (
23 SOURCE_CONTEXT_TYPE_ID,
24 SOURCE_CODE,
25 CONTEXT_TYPE,
26 PRIORITY,
27 SOURCE_TYPE,
28 PURPOSE,
29 OBJECT_VERSION_NUMBER,
30 CREATION_DATE,
31 CREATED_BY,
32 LAST_UPDATE_DATE,
33 LAST_UPDATED_BY,
34 LAST_UPDATE_LOGIN
35 ) values (
36 X_SOURCE_CONTEXT_TYPE_ID,
37 X_SOURCE_CODE,
38 X_CONTEXT_TYPE,
39 X_PRIORITY,
40 X_SOURCE_TYPE,
41 X_PURPOSE,
42 X_OBJECT_VERSION_NUMBER,
43 X_CREATION_DATE,
44 X_CREATED_BY,
45 X_LAST_UPDATE_DATE,
46 X_LAST_UPDATED_BY,
47 X_LAST_UPDATE_LOGIN
48 );
49 open c;
50 fetch c into X_ROWID;
51 if (c%notfound) then
52 close c;
53 raise no_data_found;
54 end if;
55 close c;
56
57 end INSERT_ROW;
58
59 procedure LOCK_ROW (
60 X_SOURCE_CONTEXT_TYPE_ID in NUMBER,
61 X_SOURCE_CODE in VARCHAR2,
62 X_CONTEXT_TYPE in VARCHAR2,
63 X_PRIORITY in NUMBER,
64 X_SOURCE_TYPE in VARCHAR2,
65 X_PURPOSE in VARCHAR2,
66 X_OBJECT_VERSION_NUMBER in NUMBER
67 ) is
68 cursor c is select
69 SOURCE_CODE,
70 CONTEXT_TYPE,
71 PRIORITY,
72 SOURCE_TYPE,
73 PURPOSE,
74 OBJECT_VERSION_NUMBER
75 from CS_CF_SOURCE_CXT_TYPES
76 where SOURCE_CONTEXT_TYPE_ID = X_SOURCE_CONTEXT_TYPE_ID
77 for update of SOURCE_CONTEXT_TYPE_ID nowait;
78 recinfo c%rowtype;
79
80 begin
81 open c;
82 fetch c into recinfo;
83 if (c%notfound) then
84 close c;
85 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
86 app_exception.raise_exception;
87 end if;
88 close c;
89 if ( ((recinfo.SOURCE_CODE = X_SOURCE_CODE)
90 OR ((recinfo.SOURCE_CODE is null) AND (X_SOURCE_CODE is null)))
91 AND ((recinfo.CONTEXT_TYPE = X_CONTEXT_TYPE)
92 OR ((recinfo.CONTEXT_TYPE is null) AND (X_CONTEXT_TYPE is null)))
93 AND ((recinfo.PRIORITY = X_PRIORITY)
94 OR ((recinfo.PRIORITY is null) AND (X_PRIORITY is null)))
95 AND ((recinfo.SOURCE_TYPE = X_SOURCE_TYPE)
96 OR ((recinfo.SOURCE_TYPE is null) AND (X_SOURCE_TYPE is null)))
97 AND ((recinfo.PURPOSE = X_PURPOSE)
98 OR ((recinfo.PURPOSE is null) AND (X_PURPOSE is null)))
99 AND ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
100 OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
101 ) then
102 null;
103 else
104 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
105 app_exception.raise_exception;
106 end if;
107
108 return;
109 end LOCK_ROW;
110
111 procedure UPDATE_ROW (
112 X_SOURCE_CONTEXT_TYPE_ID in NUMBER,
113 X_SOURCE_CODE in VARCHAR2,
114 X_CONTEXT_TYPE in VARCHAR2,
115 X_PRIORITY in NUMBER,
116 X_SOURCE_TYPE in VARCHAR2,
117 X_PURPOSE in VARCHAR2,
118 X_OBJECT_VERSION_NUMBER in NUMBER,
119 X_LAST_UPDATE_DATE in DATE,
120 X_LAST_UPDATED_BY in NUMBER,
121 X_LAST_UPDATE_LOGIN in NUMBER
122 ) is
123 begin
124 update CS_CF_SOURCE_CXT_TYPES set
125 SOURCE_CODE = X_SOURCE_CODE,
126 CONTEXT_TYPE = X_CONTEXT_TYPE,
127 PRIORITY = X_PRIORITY,
128 SOURCE_TYPE = X_SOURCE_TYPE,
129 PURPOSE = X_PURPOSE,
130 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
131 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
132 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
133 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
134 where SOURCE_CONTEXT_TYPE_ID = X_SOURCE_CONTEXT_TYPE_ID;
135
136 if (sql%notfound) then
137 raise no_data_found;
138 end if;
139
140 end UPDATE_ROW;
141
142 procedure DELETE_ROW (
143 X_SOURCE_CONTEXT_TYPE_ID in NUMBER
144 ) is
145 begin
146
147 delete from CS_CF_SOURCE_CXT_TYPES
148 where SOURCE_CONTEXT_TYPE_ID = X_SOURCE_CONTEXT_TYPE_ID;
149
150 if (sql%notfound) then
151 raise no_data_found;
152 end if;
153 end DELETE_ROW;
154
155 procedure LOAD_ROW (
156 X_SOURCE_CONTEXT_TYPE_ID in NUMBER,
157 X_SOURCE_CODE in VARCHAR2,
158 X_CONTEXT_TYPE in VARCHAR2,
159 X_PRIORITY in NUMBER,
160 X_SOURCE_TYPE in VARCHAR2,
161 X_PURPOSE in VARCHAR2,
162 X_OWNER in VARCHAR2,
163 X_LAST_UPDATE_DATE in DATE,
164 X_CUSTOM_MODE in VARCHAR2
165 ) IS
166
167 f_luby number ; -- entity owner in file
168 f_ludate date ; -- entity update date in file
169 db_luby number; -- entity owner in db
170 db_ludate date; -- entity update date in db
171
172 l_object_version_number number := 1;
173 l_rowid varchar2(50);
174
175 begin
176
177 f_luby := fnd_load_util.owner_id(X_OWNER);
178 f_ludate := nvl(X_LAST_UPDATE_DATE, sysdate);
179
180 select LAST_UPDATED_BY, LAST_UPDATE_DATE
181 into db_luby, db_ludate
182 from CS_CF_SOURCE_CXT_TYPES
183 where source_context_type_id = X_SOURCE_CONTEXT_TYPE_ID;
184
185 if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby, db_ludate, X_CUSTOM_MODE)) then
186 -- Update existing row
187 SELECT object_version_number, rowid
188 INTO l_object_version_number, l_rowid
189 FROM CS_CF_SOURCE_CXT_TYPES
190 WHERE source_context_type_id = X_SOURCE_CONTEXT_TYPE_ID
191 FOR UPDATE;
192
193 CS_CF_SOURCE_CXT_TYPES_PKG.Update_Row(
194 X_SOURCE_CONTEXT_TYPE_ID => X_SOURCE_CONTEXT_TYPE_ID,
195 X_SOURCE_CODE => X_SOURCE_CODE,
196 X_CONTEXT_TYPE => X_CONTEXT_TYPE,
197 X_PRIORITY => X_PRIORITY,
198 X_SOURCE_TYPE => X_SOURCE_TYPE,
199 X_PURPOSE => X_PURPOSE,
200 X_OBJECT_VERSION_NUMBER => l_object_version_number + 1,
201 X_LAST_UPDATE_DATE => f_ludate,
202 X_LAST_UPDATED_BY => f_luby,
203 X_LAST_UPDATE_LOGIN => 0);
204 end if;
205 exception
206 when no_data_found then
207 -- Record doesn't exist - insert in all cases
208 CS_CF_SOURCE_CXT_TYPES_PKG.Insert_Row(
209 X_ROWID => l_rowid,
210 X_SOURCE_CONTEXT_TYPE_ID => X_SOURCE_CONTEXT_TYPE_ID,
211 X_SOURCE_CODE => X_SOURCE_CODE,
212 X_CONTEXT_TYPE => X_CONTEXT_TYPE,
213 X_PRIORITY => X_PRIORITY,
214 X_SOURCE_TYPE => X_SOURCE_TYPE,
215 X_PURPOSE => X_PURPOSE,
216 X_OBJECT_VERSION_NUMBER => l_object_version_number,
217 X_CREATION_DATE => sysdate,
218 X_CREATED_BY => f_luby,
219 X_LAST_UPDATE_DATE => f_ludate,
220 X_LAST_UPDATED_BY => f_luby,
221 X_LAST_UPDATE_LOGIN => 0);
222 end LOAD_ROW;
223
224 end CS_CF_SOURCE_CXT_TYPES_PKG;