1 package body FND_PRIV_ATTR_CHILDREN_PKG as
2 /* $Header: fndpiagb.pls 115.0 2003/12/02 22:40:56 rcsingh noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out nocopy VARCHAR2,
5 X_PARENT_ATTRIBUTE_CODE in VARCHAR2,
6 X_ATTRIBUTE_CODE in VARCHAR2,
7 X_OBJECT_VERSION_NUMBER in NUMBER,
8 X_CREATED_BY in NUMBER,
9 X_CREATION_DATE in DATE,
10 X_LAST_UPDATE_DATE in DATE,
11 X_LAST_UPDATED_BY in NUMBER,
12 X_LAST_UPDATE_LOGIN in NUMBER
13 ) is
14 cursor C is select ROWID from FND_PRIVACY_ATTRIBUTE_CHILDREN
15 where PARENT_ATTRIBUTE_CODE = X_PARENT_ATTRIBUTE_CODE
16 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE
17 ;
18 begin
19 insert into FND_PRIVACY_ATTRIBUTE_CHILDREN (
20 PARENT_ATTRIBUTE_CODE,
21 ATTRIBUTE_CODE,
22 CREATED_BY,
23 CREATION_DATE,
24 LAST_UPDATED_BY,
25 LAST_UPDATE_DATE,
26 LAST_UPDATE_LOGIN,
27 OBJECT_VERSION_NUMBER
28 ) select
29 X_PARENT_ATTRIBUTE_CODE,
30 X_ATTRIBUTE_CODE,
31 X_CREATED_BY,
32 X_CREATION_DATE,
33 X_LAST_UPDATED_BY,
34 X_LAST_UPDATE_DATE,
35 X_LAST_UPDATE_LOGIN,
36 X_OBJECT_VERSION_NUMBER
37 from FND_LANGUAGES L
38 where L.INSTALLED_FLAG in ('I', 'B')
39 and not exists
40 (select NULL
41 from FND_PRIVACY_ATTRIBUTE_CHILDREN T
42 where T.PARENT_ATTRIBUTE_CODE = X_PARENT_ATTRIBUTE_CODE
43 and T.ATTRIBUTE_CODE = X_ATTRIBUTE_CODE);
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_PARENT_ATTRIBUTE_CODE in VARCHAR2,
57 X_ATTRIBUTE_CODE in VARCHAR2,
58 X_OBJECT_VERSION_NUMBER in NUMBER,
59 X_CREATED_BY in NUMBER
60 ) is
61 cursor c1 is select
62 OBJECT_VERSION_NUMBER,
63 CREATED_BY
64 from FND_PRIVACY_ATTRIBUTE_CHILDREN
65 where PARENT_ATTRIBUTE_CODE = X_PARENT_ATTRIBUTE_CODE
66 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE
67 for update of PARENT_ATTRIBUTE_CODE nowait;
68 begin
69 for tlinfo in c1 loop
70 if ( (tlinfo.CREATED_BY = X_CREATED_BY)
71 AND (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
72 ) then
73 null;
74 else
75 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
76 app_exception.raise_exception;
77 end if;
78 end loop;
79 return;
80 end LOCK_ROW;
81
82 procedure UPDATE_ROW (
83 X_PARENT_ATTRIBUTE_CODE in VARCHAR2,
84 X_ATTRIBUTE_CODE in VARCHAR2,
85 X_OBJECT_VERSION_NUMBER in NUMBER,
86 X_CREATED_BY in NUMBER,
87 X_LAST_UPDATE_DATE in DATE,
88 X_LAST_UPDATED_BY in NUMBER,
89 X_LAST_UPDATE_LOGIN in NUMBER
90 ) is
91 begin
92 update FND_PRIVACY_ATTRIBUTE_CHILDREN set
93 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
94 CREATED_BY = X_CREATED_BY,
95 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
96 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
97 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
98 where PARENT_ATTRIBUTE_CODE = X_PARENT_ATTRIBUTE_CODE
99 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE;
100
101 if (sql%notfound) then
102 raise no_data_found;
103 end if;
104 end UPDATE_ROW;
105
106 procedure DELETE_ROW (
107 X_PARENT_ATTRIBUTE_CODE in VARCHAR2,
108 X_ATTRIBUTE_CODE in VARCHAR2
109 ) is
110 begin
111 delete from FND_PRIVACY_ATTRIBUTE_CHILDREN
112 where PARENT_ATTRIBUTE_CODE = X_PARENT_ATTRIBUTE_CODE
113 and ATTRIBUTE_CODE = X_ATTRIBUTE_CODE;
114
115 if (sql%notfound) then
116 raise no_data_found;
117 end if;
118
119 end DELETE_ROW;
120
121 end FND_PRIV_ATTR_CHILDREN_PKG;