[Home] [Help]
PACKAGE BODY: APPS.PSP_TEMPLATE_PROJECTS_PKG
Source
1 package body PSP_TEMPLATE_PROJECTS_PKG as
2 /* $Header: PSPERPRB.pls 115.4 2002/11/18 12:40:51 lveerubh ship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_TEMPLATE_ID in NUMBER,
6 X_PROJECT_ID in NUMBER,
7 X_ATTRIBUTE1 in VARCHAR2,
8 X_MODE in VARCHAR2 default 'R'
9 ) is
10 cursor C is select ROWID from PSP_TEMPLATE_PROJECTS
11 where TEMPLATE_ID = X_TEMPLATE_ID
12 and PROJECT_ID = X_PROJECT_ID;
13 X_LAST_UPDATE_DATE DATE;
14 X_LAST_UPDATED_BY NUMBER;
15 X_LAST_UPDATE_LOGIN NUMBER;
16 begin
17 X_LAST_UPDATE_DATE := SYSDATE;
18 if(X_MODE = 'I') then
19 X_LAST_UPDATED_BY := 1;
20 X_LAST_UPDATE_LOGIN := 0;
21 elsif (X_MODE = 'R') then
22 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
23 if X_LAST_UPDATED_BY is NULL then
24 X_LAST_UPDATED_BY := -1;
25 end if;
26 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
27 if X_LAST_UPDATE_LOGIN is NULL then
28 X_LAST_UPDATE_LOGIN := -1;
29 end if;
30 else
31 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
32 app_exception.raise_exception;
33 end if;
34 insert into PSP_TEMPLATE_PROJECTS (
35 TEMPLATE_ID,
36 PROJECT_ID,
37 ATTRIBUTE1,
38 CREATION_DATE,
39 CREATED_BY,
40 LAST_UPDATE_DATE,
41 LAST_UPDATED_BY,
42 LAST_UPDATE_LOGIN
43 ) values (
44 X_TEMPLATE_ID,
45 X_PROJECT_ID,
46 X_ATTRIBUTE1,
47 X_LAST_UPDATE_DATE,
48 X_LAST_UPDATED_BY,
49 X_LAST_UPDATE_DATE,
50 X_LAST_UPDATED_BY,
51 X_LAST_UPDATE_LOGIN
52 );
53
54 open c;
55 fetch c into X_ROWID;
56 if (c%notfound) then
57 close c;
58 raise no_data_found;
59 end if;
60 close c;
61 commit;
62
63 end INSERT_ROW;
64
65 procedure LOCK_ROW (
66 X_TEMPLATE_ID in NUMBER,
67 X_PROJECT_ID in NUMBER,
68 X_ATTRIBUTE1 in VARCHAR2
69 ) is
70 cursor c1 is select
71 ATTRIBUTE1
72 from PSP_TEMPLATE_PROJECTS
73 where TEMPLATE_ID = X_TEMPLATE_ID
74 and PROJECT_ID = X_PROJECT_ID
75 for update of TEMPLATE_ID nowait;
76 tlinfo c1%rowtype;
77
78 begin
79 open c1;
80 fetch c1 into tlinfo;
81 if (c1%notfound) then
82 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
83 app_exception.raise_exception;
84 close c1;
85 return;
86 end if;
87 close c1;
88
89 if ( ((tlinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
90 OR ((tlinfo.ATTRIBUTE1 is null)
91 AND (X_ATTRIBUTE1 is null)))
92 ) then
93 null;
94 else
95 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
96 app_exception.raise_exception;
97 end if;
98 return;
99 end LOCK_ROW;
100
101 procedure UPDATE_ROW (
102 X_TEMPLATE_ID in NUMBER,
103 X_PROJECT_ID in NUMBER,
104 X_ATTRIBUTE1 in VARCHAR2,
105 X_MODE in VARCHAR2 default 'R'
106 ) is
107 X_LAST_UPDATE_DATE DATE;
108 X_LAST_UPDATED_BY NUMBER;
109 X_LAST_UPDATE_LOGIN NUMBER;
110 begin
111 X_LAST_UPDATE_DATE := SYSDATE;
112 if(X_MODE = 'I') then
113 X_LAST_UPDATED_BY := 1;
114 X_LAST_UPDATE_LOGIN := 0;
115 elsif (X_MODE = 'R') then
116 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
117 if X_LAST_UPDATED_BY is NULL then
118 X_LAST_UPDATED_BY := -1;
119 end if;
120 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
121 if X_LAST_UPDATE_LOGIN is NULL then
122 X_LAST_UPDATE_LOGIN := -1;
123 end if;
124 else
125 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
126 app_exception.raise_exception;
127 end if;
128 update PSP_TEMPLATE_PROJECTS set
129 ATTRIBUTE1 = X_ATTRIBUTE1,
130 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
131 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
132 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
133 where TEMPLATE_ID = X_TEMPLATE_ID
134 and PROJECT_ID = X_PROJECT_ID
135 ;
136 if (sql%notfound) then
137 raise no_data_found;
138 end if;
139 commit;
140 end UPDATE_ROW;
141
142 procedure ADD_ROW (
143 X_ROWID in out NOCOPY VARCHAR2,
144 X_TEMPLATE_ID in NUMBER,
145 X_PROJECT_ID in NUMBER,
146 X_ATTRIBUTE1 in VARCHAR2,
147 X_MODE in VARCHAR2 default 'R'
148 ) is
149 cursor c1 is select rowid from PSP_TEMPLATE_PROJECTS
150 where TEMPLATE_ID = X_TEMPLATE_ID
151 and PROJECT_ID = X_PROJECT_ID
152 ;
153 dummy c1%rowtype;
154 begin
155 open c1;
156 fetch c1 into dummy;
157 if (c1%notfound) then
158 close c1;
159 INSERT_ROW (
160 X_ROWID,
161 X_TEMPLATE_ID,
162 X_PROJECT_ID,
163 X_ATTRIBUTE1,
164 X_MODE);
165 return;
166 end if;
167 close c1;
168 UPDATE_ROW (
169 X_TEMPLATE_ID,
170 X_PROJECT_ID,
171 X_ATTRIBUTE1,
172 X_MODE);
173 commit;
174 end ADD_ROW;
175
176 procedure DELETE_ROW (
177 X_TEMPLATE_ID in NUMBER
178 ) is
179 begin
180 delete from PSP_TEMPLATE_PROJECTS
181 where TEMPLATE_ID = X_TEMPLATE_ID;
182 ---if (sql%notfound) then
183 ---raise no_data_found;
184 ---end if;
185 commit;
186 end DELETE_ROW;
187
188 end PSP_TEMPLATE_PROJECTS_PKG;