DBA Data[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;