DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_CF_FLOW_TYPE_PAGES_PKG

Source


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