1 package body FND_PURPOSE_ATTRIBUTES_PKG as
2 /* $Header: fndpipab.pls 120.1 2005/07/02 03:34:53 appldev noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out nocopy VARCHAR2,
5 X_PURPOSE_ATTRIBUTE_ID in NUMBER,
6 X_PRIVACY_ATTRIBUTE_CODE in VARCHAR2,
7 X_PURPOSE_CODE in VARCHAR2,
8 X_ATTRIBUTE_DEFAULT_CODE in VARCHAR2,
9 X_OBJECT_VERSION_NUMBER in NUMBER,
10 X_CREATED_BY in NUMBER,
11 X_CREATION_DATE in DATE,
12 X_LAST_UPDATE_DATE in DATE,
13 X_LAST_UPDATED_BY in NUMBER,
14 X_LAST_UPDATE_LOGIN in NUMBER
15 ) is
16 cursor C is select ROWID from FND_PURPOSE_ATTRIBUTES
17 where PURPOSE_ATTRIBUTE_ID = X_PURPOSE_ATTRIBUTE_ID
18 ;
19 begin
20 insert into FND_PURPOSE_ATTRIBUTES (
21 PURPOSE_ATTRIBUTE_ID,
22 PRIVACY_ATTRIBUTE_CODE,
23 PURPOSE_CODE,
24 ATTRIBUTE_DEFAULT_CODE,
25 CREATED_BY,
26 CREATION_DATE,
27 LAST_UPDATED_BY,
28 LAST_UPDATE_DATE,
29 LAST_UPDATE_LOGIN,
30 OBJECT_VERSION_NUMBER
31 ) values (
32 X_PURPOSE_ATTRIBUTE_ID,
33 X_PRIVACY_ATTRIBUTE_CODE,
34 X_PURPOSE_CODE,
35 X_ATTRIBUTE_DEFAULT_CODE,
36 X_CREATED_BY,
37 X_CREATION_DATE,
38 X_LAST_UPDATED_BY,
39 X_LAST_UPDATE_DATE,
40 X_LAST_UPDATE_LOGIN,
41 X_OBJECT_VERSION_NUMBER);
42 /* from FND_LANGUAGES L
43 where L.INSTALLED_FLAG in ('I', 'B')
44 and not exists
45 (select NULL
46 from FND_PURPOSE_ATTRIBUTES T
47 where T.PURPOSE_ATTRIBUTE_ID = X_PURPOSE_ATTRIBUTE_ID);
48 */
49
50 open c;
51 fetch c into X_ROWID;
52 if (c%notfound) then
53 close c;
54 raise no_data_found;
55 end if;
56 close c;
57
58 end INSERT_ROW;
59
60 procedure LOCK_ROW (
61 X_PURPOSE_ATTRIBUTE_ID in NUMBER,
62 X_PRIVACY_ATTRIBUTE_CODE in VARCHAR2,
63 X_PURPOSE_CODE in VARCHAR2,
64 X_ATTRIBUTE_DEFAULT_CODE in VARCHAR2,
65 X_OBJECT_VERSION_NUMBER in NUMBER,
66 X_CREATED_BY in NUMBER
67 ) is
68 cursor c1 is select
69 PRIVACY_ATTRIBUTE_CODE,
70 PURPOSE_CODE,
71 ATTRIBUTE_DEFAULT_CODE,
72 OBJECT_VERSION_NUMBER,
73 CREATED_BY
74 from FND_PURPOSE_ATTRIBUTES
75 where PURPOSE_ATTRIBUTE_ID = X_PURPOSE_ATTRIBUTE_ID
76 for update of PURPOSE_ATTRIBUTE_ID nowait;
77 begin
78 for tlinfo in c1 loop
79 if ( (tlinfo.CREATED_BY = X_CREATED_BY)
80 AND (tlinfo.PRIVACY_ATTRIBUTE_CODE = X_PRIVACY_ATTRIBUTE_CODE)
81 AND (tlinfo.PURPOSE_CODE = X_PURPOSE_CODE)
82 AND (tlinfo.ATTRIBUTE_DEFAULT_CODE = X_ATTRIBUTE_DEFAULT_CODE)
83 AND (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
84 ) then
85 null;
86 else
87 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
88 app_exception.raise_exception;
89 end if;
90 end loop;
91 return;
92 end LOCK_ROW;
93
94 procedure UPDATE_ROW (
95 X_PURPOSE_ATTRIBUTE_ID in NUMBER,
96 X_PRIVACY_ATTRIBUTE_CODE in VARCHAR2,
97 X_PURPOSE_CODE in VARCHAR2,
98 X_ATTRIBUTE_DEFAULT_CODE in VARCHAR2,
99 X_OBJECT_VERSION_NUMBER in NUMBER,
100 X_LAST_UPDATE_DATE in DATE,
101 X_LAST_UPDATED_BY in NUMBER,
102 X_LAST_UPDATE_LOGIN in NUMBER
103 ) is
104 begin
105 update FND_PURPOSE_ATTRIBUTES set
106 PRIVACY_ATTRIBUTE_CODE = X_PRIVACY_ATTRIBUTE_CODE,
107 PURPOSE_CODE = X_PURPOSE_CODE,
108 ATTRIBUTE_DEFAULT_CODE = X_ATTRIBUTE_DEFAULT_CODE,
109 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
110 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
111 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
112 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
113 where PURPOSE_ATTRIBUTE_ID = X_PURPOSE_ATTRIBUTE_ID;
114
115 if (sql%notfound) then
116 raise no_data_found;
117 end if;
118 end UPDATE_ROW;
119
120 procedure DELETE_ROW (
121 X_PURPOSE_ATTRIBUTE_ID in NUMBER
122 ) is
123 begin
124 delete from FND_PURPOSE_ATTRIBUTES
125 where PURPOSE_ATTRIBUTE_ID = X_PURPOSE_ATTRIBUTE_ID;
126
127 if (sql%notfound) then
128 raise no_data_found;
129 end if;
130
131 end DELETE_ROW;
132
133 end FND_PURPOSE_ATTRIBUTES_PKG;