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