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