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