DBA Data[Home] [Help]

PACKAGE BODY: APPS.BNE_SECURITY_RULES_PKG

Source


1 package body BNE_SECURITY_RULES_PKG as
2 /* $Header: bnesecruleb.pls 120.2 2005/06/29 03:40:54 dvayro noship $ */
3 
4 procedure INSERT_ROW (
5   X_ROWID in out NOCOPY VARCHAR2,
6   X_APPLICATION_ID in NUMBER,
7   X_SECURITY_CODE in VARCHAR2,
8   X_OBJECT_VERSION_NUMBER in NUMBER,
9   X_SECURITY_TYPE in VARCHAR2,
10   X_SECURITY_VALUE in VARCHAR2,
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 BNE_SECURITY_RULES
18     where APPLICATION_ID = X_APPLICATION_ID
19     and SECURITY_CODE = X_SECURITY_CODE
20     ;
21 begin
22   insert into BNE_SECURITY_RULES (
23     APPLICATION_ID,
24     SECURITY_CODE,
25     OBJECT_VERSION_NUMBER,
26     SECURITY_TYPE,
27     SECURITY_VALUE,
28     CREATED_BY,
29     CREATION_DATE,
30     LAST_UPDATED_BY,
31     LAST_UPDATE_LOGIN,
32     LAST_UPDATE_DATE
33   ) values (
34     X_APPLICATION_ID,
35     X_SECURITY_CODE,
36     X_OBJECT_VERSION_NUMBER,
37     X_SECURITY_TYPE,
38     X_SECURITY_VALUE,
39     X_CREATED_BY,
40     X_CREATION_DATE,
41     X_LAST_UPDATED_BY,
42     X_LAST_UPDATE_LOGIN,
43     X_LAST_UPDATE_DATE
44   );
45   open c;
46   fetch c into X_ROWID;
47   if (c%notfound) then
48     close c;
49     raise no_data_found;
50   end if;
51   close c;
52 
53 end INSERT_ROW;
54 
55 procedure LOCK_ROW (
56   X_APPLICATION_ID in NUMBER,
57   X_SECURITY_CODE in VARCHAR2,
58   X_OBJECT_VERSION_NUMBER in NUMBER,
59   X_SECURITY_TYPE in VARCHAR2,
60   X_SECURITY_VALUE in VARCHAR2
61 ) is
62   cursor c1 is select
63       OBJECT_VERSION_NUMBER,
64       SECURITY_TYPE,
65       SECURITY_VALUE
66     from BNE_SECURITY_RULES
67     where APPLICATION_ID = X_APPLICATION_ID
68     and SECURITY_CODE = X_SECURITY_CODE
69     for update of APPLICATION_ID nowait;
70 begin
71   for tlinfo in c1 loop
72     if (    (tlinfo.SECURITY_TYPE = X_SECURITY_TYPE)
73         AND (tlinfo.SECURITY_VALUE = X_SECURITY_VALUE)
74         AND (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
75     ) then
76       null;
77     else
78       fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
79       app_exception.raise_exception;
80     end if;
81   end loop;
82   return;
83 end LOCK_ROW;
84 
85 procedure UPDATE_ROW (
86   X_APPLICATION_ID in NUMBER,
87   X_SECURITY_CODE in VARCHAR2,
88   X_OBJECT_VERSION_NUMBER in NUMBER,
89   X_SECURITY_TYPE in VARCHAR2,
90   X_SECURITY_VALUE in VARCHAR2,
91   X_LAST_UPDATE_DATE in DATE,
92   X_LAST_UPDATED_BY in NUMBER,
93   X_LAST_UPDATE_LOGIN in NUMBER
94 ) is
95 begin
96   update BNE_SECURITY_RULES set
97     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
98     SECURITY_TYPE = X_SECURITY_TYPE,
99     SECURITY_VALUE = X_SECURITY_VALUE,
100     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
101     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
102     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
103   where APPLICATION_ID = X_APPLICATION_ID
104   and SECURITY_CODE = X_SECURITY_CODE
105   ;
106 
107   if (sql%notfound) then
108     raise no_data_found;
109   end if;
110 end UPDATE_ROW;
111 
112 procedure DELETE_ROW (
113   X_APPLICATION_ID in NUMBER,
114   X_SECURITY_CODE in VARCHAR2
115 ) is
116 begin
117   delete from BNE_SECURITY_RULES
118   where APPLICATION_ID = X_APPLICATION_ID
119   and SECURITY_CODE = X_SECURITY_CODE;
120 
121   if (sql%notfound) then
122     raise no_data_found;
123   end if;
124 
125 end DELETE_ROW;
126 
127 procedure ADD_LANGUAGE
128 is
129 begin
130   null;
131 end ADD_LANGUAGE;
132 
133 --------------------------------------------------------------------------------
134 --  PROCEDURE:     LOAD_ROW                                                   --
135 --                                                                            --
136 --  DESCRIPTION:   Load a row into the BNE_SECURITY_RULES entity.             --
137 --                 This proc is called from the apps loader.                  --
138 --                                                                            --
139 --  SEE:     http://www-apps.us.oracle.com/atg/plans/r115/fndloadqr.txt       --
140 --                                                                            --
141 --                                                                            --
142 --  MODIFICATION HISTORY                                                      --
143 --  Date       Username  Description                                          --
144 --  7-Aug-04   DGROVES   CREATED                                              --
145 --------------------------------------------------------------------------------
146 procedure LOAD_ROW(
147   x_security_rule_asn           in VARCHAR2,
148   x_security_rule_code          in VARCHAR2,
149   x_object_version_number       in VARCHAR2,
150   x_security_type               in VARCHAR2,
151   x_security_value              in VARCHAR2,
152   x_owner                       in VARCHAR2,
153   x_last_update_date            in VARCHAR2,
154   x_custom_mode                 in VARCHAR2
155 )
156 is
157   l_app_id                      number;
158   l_row_id                      varchar2(64);
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 begin
164   -- translate values to IDs
165   l_app_id                        := BNE_LCT_TOOLS_PKG.ASN_TO_APP_ID(x_security_rule_asn);
166 
167   -- Translate owner to file_last_updated_by
168   f_luby := fnd_load_util.owner_id(x_owner);
169 
170   -- Translate char last_update_date to date
171   f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
172   begin
173     select LAST_UPDATED_BY, LAST_UPDATE_DATE
174     into db_luby, db_ludate
175     from BNE_SECURITY_RULES
176     where APPLICATION_ID = l_app_id
177     and   SECURITY_CODE  = x_security_rule_code;
178 
179     -- Test for customization and version
180     if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
181                                   db_ludate, x_custom_mode)) then
182       -- Update existing row
183       BNE_SECURITY_RULES_PKG.Update_Row(
184         X_APPLICATION_ID               => l_app_id,
185         X_SECURITY_CODE                => x_security_rule_code,
186         X_OBJECT_VERSION_NUMBER        => x_object_version_number,
187         X_SECURITY_TYPE                => x_security_type,
188         X_SECURITY_VALUE               => x_security_value,
189         X_LAST_UPDATE_DATE             => f_ludate,
190         X_LAST_UPDATED_BY              => f_luby,
191         X_LAST_UPDATE_LOGIN            => 0
192       );
193     end if;
194   exception
195     when no_data_found then
196       -- Record doesn't exist - insert in all cases
197       BNE_SECURITY_RULES_PKG.Insert_Row(
198         X_ROWID                        => l_row_id,
199         X_APPLICATION_ID               => l_app_id,
200         X_SECURITY_CODE                => x_security_rule_code,
201         X_OBJECT_VERSION_NUMBER        => x_object_version_number,
202         X_SECURITY_TYPE                => x_security_type,
203         X_SECURITY_VALUE               => x_security_value,
204         X_CREATION_DATE                => f_ludate,
205         X_CREATED_BY                   => f_luby,
206         X_LAST_UPDATE_DATE             => f_ludate,
207         X_LAST_UPDATED_BY              => f_luby,
208         X_LAST_UPDATE_LOGIN            => 0
209       );
210   end;
211 end LOAD_ROW;
212 
213 end BNE_SECURITY_RULES_PKG;