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